utv_stack_frame_stack#

t3toolbox.backend.utv_operations.utv_stack_frame_stack(paired_tree)#
def utv_stack_frame_stack(
        paired_tree,  # array-like tree (shape C) of (frame_data, variations_data) pairs
):  # -> (frame_data [stack C], variations_data [stack K + C])

Stack a C-shaped tree of (frame_data, variations_data) pairs over the frame stack C.

The frame stack is placed innermost (the variation stack becomes K + C), matching the base-inner convention. Frames of DIFFERENT ranks stack into one batch (varying-C – the per-element masks just ride along); the shared requirement is only matching padded dims and tangent stack K. Takes exactly the layout utv_unstack_frame_stack() produces (its inverse).