One cross-section, placed by every frame, or one for each frame. Cross-sections that differ need as many loops with as many corners each, as a moved or scaled copy has.
Where each section stands, at least two: sixteen numbers in column-major order that place the cross-section's XY plane, with 0, 0, 0, 1 as the bottom row.
Cross-sections and the frames that place them for
crossSection.operations.loft, which joins them in order into a solid.