utv_unstack_frame_stack ======================= .. py:function:: t3toolbox.backend.utv_operations.utv_unstack_frame_stack(frame_data, variations_data) .. code-block:: python def utv_unstack_frame_stack( frame_data, # frame .data, supercore stack = C variations_data, # variations .data, supercore stack = K + C ): # -> array-like tree (shape C) of (frame_data, variations_data) pairs Peel the frame stack ``C`` off both the frame and the variations, returning a ``C``-shaped tree whose leaves are ``(frame_data, variations_data)`` pairs -- one single-base-point tangent per leaf. Each frame-``.data`` leaf has stack ``()`` (a single frame); each variations-``.data`` leaf has stack ``K``. The frame stack is the *inner* part of the ``K + C`` variation stack, so it is peeled from the interior axes ``1+|K| .. 1+|K|+|C|`` of the variation supercores; the frame's whole stack is ``C``. The leaves are paired for you (a plain :py:func:`stacking.tree_zip` would recurse into the data tuples). Inverse of :py:func:`utv_stack_frame_stack`.