Skip to content

feat(core): fold a squash from a bare alignment of its spine - #270

Merged
tophcodes merged 10 commits into
mainfrom
issue-115-squash
Oct 20, 2026
Merged

tophcodes merged 10 commits into
mainfrom
issue-115-squash

Conversation

@tophcodes

Copy link
Copy Markdown
Owner

Closes #115.

Adds the verb squash, which takes one bare alignment, a line of the spine onto a line or a point (ADR 0038), and folds the squash through the fan solver (ADR 0044). The solver is split from the resolution of the items of flatten, so the squash hands it resolved rays, an anchor and a stayer. The reference pages state the verb on the language, model and kernel pages, and the tree-sitter grammar parses it.

Decisions the records left to the build, reviewed on a page of sections and crease patterns:

  • The anchor is the flap of the upper layer at the spine, the default of ADR 0040.
  • The vertex is the end of the spine that lies on no raw edge. A spine with both ends inside the paper is an error until a model needs the case (ADR 0038).
  • The target lies on the flap's side of the spine's line, and the target line carries a crease of the anchor's layer. A target point on a line without one fails with the hint to mark it.
  • The stayer is the sector of the anchor beyond the target line, away from the spine.
  • The axis is scored on each layer of the flap under an id of its own while the fan is solved, so the fan has four elements; a fan of three runs into the search for an emergent ray. Once the fan has folded, the two pieces are one crease, the one the output clause binds, and a filter by flap picks a piece.
  • squash takes no further item.

On the preliminary base squash (--h onto --ac) fails as ambiguous, and the hint offers (--h & --da onto --ac) and (--h & --bc onto --ac). The squash of one flap gives the state of flatten-squash-on-folded-base.bel with ten faces in place of its twelve: the explicit program scored its marks across the whole sheet, and the squash scores the axis from the vertex on.

The review needed drawings the renderer could not make, so the branch also carries them: --highlight on the render command line; in the section view, unnamed hinges labelled by the line that scored them and parts colored by highlighted flap; the point that names a flap drawn in the flap's color, in captions too; a lightbox for the figures of the site; and the stayer of a fan found and drawn where its sector is wider than a half-turn, which the trace and the op view got wrong before.

@tophcodes tophcodes added the kind:build An agent can start without further input label Oct 20, 2026
@tophcodes
tophcodes merged commit d8a2328 into main Oct 20, 2026
7 checks passed
@tophcodes
tophcodes deleted the issue-115-squash branch October 20, 2026 12:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind:build An agent can start without further input

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fold a squash from a bare alignment of its spine

1 participant