feat(fold): emit a folded-form frame per step for interpolation #42

Open
opened 2026-07-03 07:58:52 +00:00 by toph · 0 comments
Owner

Currently fold_emit.ml emits exactly one foldedForm frame — the final state. Each beloch:edges entry already carries a step and span, so the crease pattern can be revealed incrementally, but there is no intermediate folded geometry: nothing records where the faces sit after step 1, step 2, ….

We want a foldedForm frame per step panel (§5a.6), each tagged with its step id, so a consumer can walk the sequence and interpolate between successive folded states — the animation / scrubbing driver for the planned VSCode live preview with cursor sync.

Per-face isometries are the natural carrier here, so this overlaps with #31 (exact coords + per-face isometries in beloch:*). Sequencing the two matters — a per-step frame is cheap to add once each frame can express its faces' isometries, and interpolation is only meaningful between exact frames.

Stages:

  • Emit one foldedForm frame per step (its flat end state), tagged with the step id
  • Carry per-face isometries so intermediate frames are exact, not just final table coords (with / after #31)
  • Document the multi-frame layout in the spec (§7 FOLD mapping)
Currently `fold_emit.ml` emits exactly one `foldedForm` frame — the final state. Each `beloch:edges` entry already carries a `step` and `span`, so the *crease pattern* can be revealed incrementally, but there is no intermediate *folded* geometry: nothing records where the faces sit after step 1, step 2, …. We want a `foldedForm` frame per `step` panel (§5a.6), each tagged with its step id, so a consumer can walk the sequence and interpolate between successive folded states — the animation / scrubbing driver for the planned VSCode live preview with cursor sync. Per-face isometries are the natural carrier here, so this overlaps with #31 (exact coords + per-face isometries in `beloch:*`). Sequencing the two matters — a per-step frame is cheap to add once each frame can express its faces' isometries, and interpolation is only meaningful between exact frames. ### Stages: - [ ] Emit one `foldedForm` frame per `step` (its flat end state), tagged with the step id - [ ] Carry per-face isometries so intermediate frames are exact, not just final table coords (with / after #31) - [ ] Document the multi-frame layout in the spec (§7 FOLD mapping)
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
toph/beloch#42
No description provided.