← back to pin list

Brick 24: common-line cutting — the shared-edge web design, engine + Nest-tab disclosure block

kerfmaster pin list · The interface — recorded intent (build later)

recordStates what the code does today. Auditable against the code — this is the only type that can go stale.

Content last changed 2026-09-06 — computed from the item itself, not typed.

Built 2026-09-01 (Aristide 'go'). The pin common-line-cutting recorded: 'how our safety-order rules map onto a shared-edge web is design work not yet done.' common_line.py does that design and records it in its own docstring:

Eligibility is honest and strict (v1): the part's two extremes on the shared axis must each be ONE straight edge spanning the full extent, so translated edges coincide exactly. eligible() names the failing extreme in honest words; a circle, or nav209's lobed outline, refuses honestly. Every plan re-audits its own arithmetic (perimeter closure, sequence order, margins) with separate checks and raises on any miss.

The trade, in numbers (the show-the-trade ruling): per-sheet capacity common-line vs normal (gap zero packs more), total cut length (each shared edge cut once, not twice), and pierces stated honestly EQUAL — each shared edge pierces once, replacing exactly one part's outer pierce; 'connect holes to reduce piercing' is the ruled pierce lever, a later brick.

Server: GET/POST /api/jobs/<id>/commonline over the reviewed part (spacing from resolve_spacing, ran + ruled + source recorded); refusals are plain 400 in the engine's words, nothing persisted (the nestseq pattern); commonline.json persists; a re-plan in Part review or a geometry change DROPS it (the stale rule). UI: the ruled DEFAULT-DISCLOSURE block on the Nest tab — a chevron section, OPEN for a shop whose profile answered common-line yes, collapsed otherwise, never removed; axis / sequence / qty controls; the trade rendered in numbers; honest notes.

Proven: test_common_line.py 24 engine controls + app/verify_commonline.js 11 live checks over the public URL (scratch sketch fixture; nav209 untouched and honestly ineligible); all 14 suites green; shop.json restored unconfigured after the verify.

Honest limits: POSTING the shared-edge web is the next brick (emit knows only closed per-part boundaries today) — this brick plans and records; the canvas keeps drawing the normal nest until then; eligibility is the strict straight-full-span form (no partial-edge sharing, no connect-holes); perimeter tabs PARKED 2026-09-06 (Jordan: 'We need to ask others in the industry about this, being that we don't use common-line cutting.') — stays open pending industry input, not a shop ruling.