feat(fold2svg): --exploded layer view + current-verb legend #12

Merged
toph merged 2 commits from v0.11-exploded into main 2026-06-30 06:15:57 +00:00
Owner

Render slice #1 — make the folded layer stack visible, and fix stale labels. Tooling only (tools/fold2svg.mjs + README); no core/.bel change.

  • --exploded — a new flag (implies --folded) that draws the foldedForm frame with each layer nudged by a small offset, so the otherwise-coincident flat layers separate and you can see the stack (e.g. fold-quarter.bel shows four offset squares).
  • Legend wording — relabelled to the current verbs: axiom 2 · fold toaxiom 2 · map onto, axiom 5 · bisectaxiom 5 · map onto.
  • README — documents --exploded, and fixes a stale fold-corner.bel reference (that example was replaced by complex-fold.bel in #10) to fold-quarter.bel.

Assumptions made at forks (no input requested):

  • --exploded is a separate flag, not a change to --folded. --folded keeps rendering the geometrically-exact overlapping silhouette; --exploded is the "spread the layers" view. This preserves both rather than overloading --folded.
  • Layer = face index. The offset uses each face's position in faces_vertices as its stacking order. Beloch emits faces bottom→top, so this is correct for our output; a general FOLD with arbitrary face order + only faceOrders would need the order derived from faceOrders instead (not done — out of scope for our own tool).
  • Offset = 9px up-and-right per layer — an arbitrary constant tuned for legibility at the current canvas size; not configurable.
  • Exploded view skips per-vertex dots and corner/crease-name labels — a material point appears on several layers at once there, so labelling it once is misleading; the exploded view is about the stack shape, not point identity.
  • Both axiom 2 and axiom 5 now read map onto in the legend (the surface verb is the same map … onto …; the axiom number disambiguates). Kept the distinct colours.
Render slice #1 — make the folded layer stack visible, and fix stale labels. Tooling only (`tools/fold2svg.mjs` + README); no core/`.bel` change. - **`--exploded`** — a new flag (implies `--folded`) that draws the `foldedForm` frame with each layer nudged by a small offset, so the otherwise-coincident flat layers separate and you can see the stack (e.g. `fold-quarter.bel` shows four offset squares). - **Legend wording** — relabelled to the current verbs: `axiom 2 · fold to` → `axiom 2 · map onto`, `axiom 5 · bisect` → `axiom 5 · map onto`. - **README** — documents `--exploded`, and fixes a stale `fold-corner.bel` reference (that example was replaced by `complex-fold.bel` in #10) to `fold-quarter.bel`. **Assumptions made at forks (no input requested):** - **`--exploded` is a separate flag, not a change to `--folded`.** `--folded` keeps rendering the geometrically-exact overlapping silhouette; `--exploded` is the "spread the layers" view. This preserves both rather than overloading `--folded`. - **Layer = face index.** The offset uses each face's position in `faces_vertices` as its stacking order. Beloch emits faces bottom→top, so this is correct for our output; a general FOLD with arbitrary face order + only `faceOrders` would need the order derived from `faceOrders` instead (not done — out of scope for our own tool). - **Offset = 9px up-and-right per layer** — an arbitrary constant tuned for legibility at the current canvas size; not configurable. - **Exploded view skips per-vertex dots and corner/crease-name labels** — a material point appears on several layers at once there, so labelling it once is misleading; the exploded view is about the stack shape, not point identity. - **Both `axiom 2` and `axiom 5` now read `map onto`** in the legend (the surface verb is the same `map … onto …`; the axiom number disambiguates). Kept the distinct colours.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Author
Owner

fold-quarter.bel--folded (exact overlapping silhouette) vs --exploded (layers offset, joined at the fold hinges by translucent green gussets so the 4-layer stack reads as one accordion):

--folded --exploded
`fold-quarter.bel` — `--folded` (exact overlapping silhouette) vs `--exploded` (layers offset, joined at the fold hinges by translucent green gussets so the 4-layer stack reads as one accordion): | `--folded` | `--exploded` | |---|---| | ![](https://git.toph.so/attachments/66c7d0e4-b390-47b9-a866-b7698180c027) | ![](https://git.toph.so/attachments/5070c4c5-0424-4234-9995-2bb805097d1a) |
A crease shared by two layers is one physical hinge; draw a translucent
crease-coloured gusset between its two offset copies so the exploded stack reads
as one folded strip (accordion) rather than loose sheets. Paper-boundary edges
(not hinges) stay open.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
toph merged commit 5651b223e4 into main 2026-06-30 06:15:57 +00:00
Sign in to join this conversation.
No reviewers
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!12
No description provided.