Skip to content

feat: the carve morph — the card glides out of the Terraform box into the chant box (#230 M2b) - #285

Merged
lex00 merged 2 commits into
mainfrom
feat/carve-morph
Aug 10, 2026
Merged

feat: the carve morph — the card glides out of the Terraform box into the chant box (#230 M2b)#285
lex00 merged 2 commits into
mainfrom
feat/carve-morph

Conversation

@lex00

@lex00 lex00 commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

The second beat of #254's next-beats queue, built on the estate frame (#283) and pinhole 0.3.4 (pinhole#112, MorphView.groups).

  • renderCarveMorph(tfIr, appIr, carved, …): composes the estate frame twice — Terraform owns it / chant owns it. The carved card keeps its TF address in both views (identity continuity is the whole trick), so pinhole's FLIP glides it out of its band and into the chant box while the band panels and both member boxes morph around it. composeCarveEstate extracted from renderCarveEstate so one composition serves both the static SVG and the morph views.
  • GET /carve/morph?select=<address> — a page, not an API, same posture as /lanes. Read-only (it renders a hypothetical from the report), refuses an unranked select (400) and a server with no demo project behind it (404, with the remedy).
  • The Done step gains ▶ watch it move (new tab), and its deferred-work confession drops the SLIDE half — only the Floci --live tier remains deferred.
  • pinhole bumped ^0.3.4.
  • Morph badges stay pinhole's neutral fill (feat: paint component status from the resource rollup (#98) #107); the after view marks ownership in the node's attrs (carved → chant) for the inspector.

Smoke: generated from the committed example-carve estate — bucket glides (770,338) → (1405,470) into the app — chant box, all six boxes present in both views.

🤖 Generated with Claude Code

https://claude.ai/code/session_01UXwApfRA4Pvoou5Ajj8qHV

lex00 and others added 2 commits August 10, 2026 10:11
… the chant box (#230 M2b)

pinhole 0.3.4's MorphView.groups carries the estate frame's boxes into the
morph artifact. renderCarveMorph composes the frame twice — Terraform owns it /
chant owns it — with the carved card keeping its TF address in both views, so
the FLIP moves the card while the band panels and member boxes resize around
it. Served at GET /carve/morph?select=<ranked address>; the Done step links it
and the SLIDE half of its deferred-work confession retires.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UXwApfRA4Pvoou5Ajj8qHV
…--live stays deferred

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UXwApfRA4Pvoou5Ajj8qHV
@lex00
lex00 merged commit 0cb4a8d into main Aug 10, 2026
1 check passed
@lex00
lex00 deleted the feat/carve-morph branch August 10, 2026 16:16
lex00 added a commit that referenced this pull request Aug 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant