feat(fold): taco-taco and taco-tortilla validity checks #62

Merged
toph merged 1 commit from feat/taco-checks into main 2026-07-04 19:19:10 +00:00
Owner

For #47.

Implements the two crease non-crossing guards deferred from #28 (design §8), now that per-edge left/right adjacency (#26/#40) and neighbors/crease_piece_on_face (#43) are available.

  • taco-tortilla — a folded taco a|b whose crease line crosses the interior of a third face c must not have c stacked between a and b.
  • taco-taco — two distinct creases that coincide on the table and hinge disjoint face pairs {a,b}/{c,d} must not interleave in the stack (exactly one of c,d between a,b is a crossing).

Both bottom out in the exact Geom/Num sign layer (segment/interior clip, collinear-overlap test) and are gated on genuinely folded, overlapping tacos — so boundary-coincident creases route to taco-taco, not taco-tortilla. Errors name the offending faces/creases. Grounded in [hullzakharevich2023, §2.1].

Guards only: no current .bel can reach them — the surface language emits only simple folds, which are always flat-foldable — so the tests construct the violating states directly. A tripping .bel needs the pocket-tuck op, tracked separately.

For #47. Implements the two crease non-crossing guards deferred from #28 (design §8), now that per-edge `left`/`right` adjacency (#26/#40) and `neighbors`/`crease_piece_on_face` (#43) are available. - **taco-tortilla** — a folded taco `a|b` whose crease line crosses the interior of a third face `c` must not have `c` stacked between `a` and `b`. - **taco-taco** — two distinct creases that coincide on the table and hinge disjoint face pairs `{a,b}`/`{c,d}` must not interleave in the stack (exactly one of `c,d` between `a,b` is a crossing). Both bottom out in the exact `Geom`/`Num` sign layer (segment/interior clip, collinear-overlap test) and are gated on genuinely folded, overlapping tacos — so boundary-coincident creases route to taco-taco, not taco-tortilla. Errors name the offending faces/creases. Grounded in [hullzakharevich2023, §2.1]. Guards only: no current `.bel` can reach them — the surface language emits only simple folds, which are always flat-foldable — so the tests construct the violating states directly. A tripping `.bel` needs the pocket-tuck op, tracked separately.
Implement the two crease non-crossing guards deferred from #28 (design §8),
now that per-edge left/right adjacency (#26/#40) and neighbours/crease pieces
(#43) are in place.

- taco-tortilla: a folded taco a|b whose crease line passes through the
  interior of a third face c must not have c stacked between a and b.
- taco-taco: two distinct creases that coincide on the table and hinge
  disjoint face pairs {a,b}/{c,d} must not interleave in the stack (exactly
  one of c,d between a,b is a crossing).

Both bottom out in the exact Geom/Num sign layer (segment/interior clip,
collinear-overlap test) and are gated on genuinely folded, overlapping tacos
so boundary-coincident creases are correctly routed to taco-taco, not
taco-tortilla. Errors name the offending faces/creases, per the design's
error surface. Grounded in [hullzakharevich2023, §2.1].

Guards only — no current .bel can reach them (the surface language produces
only simple folds, which are always flat-foldable); tests construct the
violating states directly.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ddz8BCeftyzAVR8wBbUUN3
toph merged commit 9f3cbb36c5 into main 2026-07-04 19:19:09 +00:00
toph deleted branch feat/taco-checks 2026-07-04 19:19:10 +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!62
No description provided.