Repository navigation
Conversation
…s (37 R3 phase 1) - src/lib/arch/archGeometry.js (three only): Wall (length/height/thickness, doors and windows as openings on half-metre centres with a pier kept), Door (frame + leaves with hinge/swing/angle/panes/sill), Window (frame, ledge, sash with cols x rows panes, fixed or casement), Staircase (straight / L / U / spiral, steps/rise/run, solid or open treads) - registered as GEOMETRY_PARAMS build specs (the 21-C1 Terrain precedent): the existing geometry message, history kind and userData.geometryParams carry them - cleanParams is the wire boundary: every param clamped, ints rounded, unknown choices and keys dropped (a 10^6-step staircase from a peer builds the 40-step one) - ParamSpec gains `show` (the Inspector hides rows that do not apply) - vitest archGeometry (37): plain group-free soups, determinism, frames on the 1 m grid, openings are real holes, swing directions, and in real rapier a ball rolls through a wall doorway (a wall without one stops it) and the walker climbs the stair on its trimesh with the app's autostep (a block of the same height stops it) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ehaviour runtime (37 R3 phase 2-3, WIP: not yet e2e-verified) - createGeometry builds Wall/Door/Window/Staircase from fromArgs params; collider hints - Add menu Architecture group (12 variants); placement rounds to the 1 m grid - Inspector hides rows whose show() is false; edits store cleaned params - arch/archParts.js: door leaves / window sashes rebuilt idempotently per scene poke, registered via animatedImports.registerProceduralBehavior; late joiners get door state on the getanim reply; object list hides part children Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…st run pending) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…reen (39) - geoParams depended only on the Inspector's own edit tick, so a peer's edit or an undo left the rows (and which rows show) on the old params - arch-primitives: connection premise, polling waits, GPU args for the third page Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Roadmap 37 R3 (P1, release 1.27): parametric architecture primitives.
What
src/lib/arch/archGeometry.js(three only):buildspecs inGEOMETRY_PARAMS(the 21-C1 Terrain precedent). The existinggeometrymessage, the'geometry'history kind anduserData.geometryParamscarry them; there is no new wire type.cleanParamsclamps every param at the wire boundary.fromArgsmaps/createnumbers to variants.ParamSpec.showhides rows that don't apply. Geometry rows now follow external edits (a peer's edit or an undo); they used to stay stale.arch/archParts.jsrebuilds leaves and sashes idempotently on every scene poke, so restores, duplicates and syncs never double them. Registration goes throughanimatedImports.registerProceduralBehavior, which has no file bytes. The open/shut state replicates via the existingbehaviormessage, and late joiners get it on thegetanimreply.Proof
archGeometry37/37, including real-rapier checks, each with a counterfactual:arch-primitives39/39 (two peers + a late joiner, self-hosted signaling). Counterfactuals:lanes-30/after-37/37-arch/(dark + light).Owed on device
Quest: door click/proximity feel, walking the stairs. A VR radial "Build" ring is not added (Add menu only).
🤖 Generated with Claude Code