The convex_hull_trick scene, step 0 → 1. An \annotate spawn
grows the target primitive's bounding box; downstream arrays snap down +52 px with no
transition. Three treatments are compared side-by-side: the current pipeline, Approach A
alone, and the recommended A + B hybrid.
The set_min_arrow_above guard at _html_stitcher.py:163
silently evaluates to False for Array and DPTable.
y_cursor is re-accumulated every frame; the downstream translate jumps
with no transition.
Max-bbox pre-scan in the stitcher walks every frame, annotates each primitive, reads
bounding_box(), emits reserved_offsets into
_emit_frame_svg. Downstream primitives sit at their final y from step 0.
A preserves layout; B adds a 220 ms group-translate tween and a 280 ms
stroke-dasharray draw for the arrow. If Δy = 0 the tween is a no-op. Gated by
_canAnim; reduced-motion snaps.