Add the Axiom Relay straight-wall group (10 models) and a loose-run axiom-wall-kit - #4
reposlayer wants to merge 5 commits into
Conversation
Ten of the twenty-four briefs under docs/assets/reusable/architecture/walls had no model source. This adds ten: the three run lengths, the four opening and service variants, an obtuse turn, a faceted arc, and a cast boundary wall. Nine of the ten are cut from buildWallSection, the same function the prefab shells use, so their thickness, datum heights, cassette rhythm, skirt, and stepped opening frames cannot drift away from the shells they butt against. A wall family that re-authored any of that would produce pieces that look like the shells and do not line up with them. axiom-wall-kit therefore adds only what a loose run needs and a shell does not: a footing to stand on, end returns closing the cassettes, a coping, and the shared capture rig, which reuses the modular kit's existing lighting exactly so a loose wall can be compared to the shell it joins. low-concrete-wall deliberately does not use the cassette system. A boundary wall is cast in bays against formwork; building it from framed composite panels would put a 1.1 m tall building facade in a car park. Modules: wall-2-m, wall-4-m, wall-8-m, wall-with-door, wall-with-window, wall-with-vent, wall-with-inset-panel, angled-wall, curved-wall, low-concrete-wall. typecheck, build, and the 49 existing tests pass; the registry builds 179 items from 174 models. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Adds the new Axiom Relay straight-wall module family by introducing an axiom-wall-kit support prototype (shared wall authoring + capture rig + loose-run-only parts) and a set of wall modules built mostly via the existing buildWallSection author in axiom-modular-kit.
Changes:
- Register the new
axiom-wall-kitsupport item in the scifi-kit build pipeline. - Add the straight-wall module set (run lengths + door/window/vent/inset variants + angled, curved, and low concrete boundary wall).
- Introduce
axiom-wall-kitshared helpers for loose-run footing/end returns/coping plus shared preview rig and wall model wrapper.
Reviewed changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| registries/scifi-kit/src/build.ts | Adds axiom-wall-kit to support-item build list. |
| assets/prototypes/axiom-wall-kit/index.ts | New wall-kit model/preview infrastructure built around buildWallSection and shared capture rig. |
| assets/prototypes/axiom-wall-kit/straight.ts | Implements loose-run-specific geometry helpers (footing, end returns, coping, straightRun). |
| assets/prototypes/wall-2-m/model.ts | Adds a 2m straight run wall module using the wall kit helpers. |
| assets/prototypes/wall-4-m/model.ts | Adds a 4m straight run wall module using the wall kit helpers. |
| assets/prototypes/wall-8-m/model.ts | Adds an 8m straight run wall module using the wall kit helpers. |
| assets/prototypes/wall-with-door/model.ts | Adds a door-bay wall module using buildWallSection door opening spec. |
| assets/prototypes/wall-with-window/model.ts | Adds a window-bay wall module using buildWallSection window opening spec. |
| assets/prototypes/wall-with-vent/model.ts | Adds a vent wall variant by reusing window opening + adding louvre/blades/mesh details. |
| assets/prototypes/wall-with-inset-panel/model.ts | Adds a service niche variant on a solid bay with additional inset detailing. |
| assets/prototypes/angled-wall/model.ts | Adds an obtuse-corner module composed of two legs plus a shared vertex post. |
| assets/prototypes/curved-wall/model.ts | Adds a faceted quarter-arc module composed of multiple chord segments. |
| assets/prototypes/low-concrete-wall/model.ts | Adds a non-cassette cast boundary wall module (custom geometry). |
| .changeset/architecture-walls-wave.md | Patch changeset entry describing the new wall group and approach. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Review feedback on the straight-wall wave. Both are readability fixes; the triangle counts of both models are unchanged. curved-wall had an if/else whose two branches were identical - a leftover from an earlier edit that made it look as though the arc's last facet were a special case when it is not. Replaced with a single unconditional call, and the comment now states the actual rule: a post at every facet's trailing end gives one per joint plus one closing the far end, and facet zero adds the one that opens the near end. angled-wall's ANGLE held the deflection from straight (45 degrees) while the docstring described the interior corner (135 degrees). Both figures were right and the name was the problem, since the two are complements and it would be easy to "correct" one into the other later. Renamed to TURN, with the relationship to the dimensioned interior angle written down. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
# Conflicts: # registries/scifi-kit/src/build.ts
|
Conflict with Full explanation and a note on merge order in #5. 🤖 Posted by Claude Code |
Every batch appends its kit to one hardcoded array in this file, so two batches in flight always collide on that single line even though their kits have nothing to do with each other. That is what put four of these PRs into conflict the moment the interiors batch landed, and it would do it again for every batch after them. A prototype directory with no model.ts is a shared kit rather than a model, which the directory walk here already has to determine in order to collect the models. Registering those directly removes the hand-maintained list, so a batch that adds a kit no longer touches this file at all and there is nothing left to conflict on. Both lists are sorted, so the output stays deterministic. The registry builds the same items as before; only their order within the lib tier changes, since discovery is alphabetical where the list was chronological.
|
Updated: Details in #5. 🤖 Posted by Claude Code |
Absence of model.ts marks a shared kit, but it is equally true of a directory that is simply empty - one left behind by an abandoned model. Registering that published a support item with zero files, which the schema accepts and an install would silently resolve to nothing. Discovery now requires at least one TypeScript source, which is what actually distinguishes a kit from a leftover. Identical to the change on the other batch branches, so they still merge cleanly in any order.
PreviewsEvery model in this PR, rendered so you don't have to check out the branch and run the renderer. Individual previews (1024×1024)
Same deterministic rig for every model in the wave — that is what a contact sheet is for, since the defect that matters at pack scale is whether the props read as one catalogue rather than as individually plausible objects. Images live on the 🤖 Posted by Claude Code |











What this is
Ten of the twenty-four briefs under
docs/assets/reusable/architecture/walls/have no model source. This adds ten of them: the three run lengths, the four opening and service variants, an obtuse turn, a faceted arc, and a cast boundary wall.The approach
Unlike the doors and windows groups, the wall system already exists —
buildWallSectioninaxiom-modular-kitis the canonical Axiom wall author, and it is what the prefab shells are cut from. So nine of these ten modules are that function called with a length and at most one opening. They inherit the kit's thickness, datum heights, cassette rhythm, skirt, and stepped opening frames, which means a level builder can swapwall-with-doorfor a solid bay and the elevation still lines up.The new
assets/prototypes/axiom-wall-kit/support item therefore owns almost nothing. It adds only what a loose run needs and a shell does not:Modules
wall-2-mwall-4-mwall-8-mwall-with-doorwall-with-windowwall-with-ventwall-with-inset-panelangled-wallcurved-walllow-concrete-wallThe one deliberate departure
low-concrete-walldoes not usebuildWallSection. The kit wall is a framed composite panel system — shop-made cassettes clipped into a structural frame. A boundary wall is cast concrete: poured in bays against formwork, with a construction joint per bay, a formwork arris, and a splayed foundation. Building it from cassettes would give a 1.1 m tall version of a building facade standing in a car park. The two share the grid, the palette, and the joint pitch; they do not share a construction. Flagging it explicitly in case you'd rather it were forced into the cassette system for consistency.Verification
bun run vibe:model preview.bun run typecheck,bun run build, andbun test(49 pass, 0 fail) all pass.bun run build:registriesadds 10 models and 1 support item to the registry — 190 items from 184 models against the currentmain. Stated as a delta rather than a fixed pair, because the absolute count moves every time one of these batches lands.Note for review
This is the third of three architecture batches cut independently from
main(doors, windows, walls). All three touch the onebuildSupportItemlist inregistries/scifi-kit/src/build.ts, so whichever land after the first will want a trivial merge on that list.🤖 Generated with Claude Code