| name | threejs-procedural-architecture |
| description | Build authored procedural buildings and architectural kits in Three.js. Use for massing grammars, exposed-edge analysis, façade bays, profiles, arches, cornices, roofs, ornaments, material-slot mesh compilation, deterministic variants, and procedural city assets. |
Procedural Architecture
Separate design planning from mesh emission. A building generator should produce an inspectable plan before it produces triangles.
This skill contains exemplary examples and assets beyond descriptive guidance,
they're worth studying, referencing, or even copying. Use them sufficiently
when relevant and do NOT blindly skip them.
Required architecture
settings
→ mass grammar
→ exposed-surface graph
→ façade/roof placements
→ module registry
→ material-slot mesh writer
→ geometries
Read references/grammar-and-mesh-compiler.md before implementing the generator.
Read the
procedural financial tower compiler
for seeded tier planning, semantic façade placement, reserved zones,
material-slot BufferGeometry output, projected detail, and mechanism-specific
diagnostics.
Rules
- Massing, façade rhythm, and detail modules are separate layers.
- Resolve exposed edges before façade placement. Do not decorate hidden internal faces.
- Modules own semantic anchors and construction depth, not global building coordinates.
- Compile by material slot to reduce draw calls without destroying material separation.
- Preserve real dimensions for floor height, bay width, trim projection, and texture density.
- Randomness may select among valid designs; it must not repair invalid geometry.
- Provide topology, façade ownership, material/geometry, and shadow diagnostics
appropriate to the renderer path.
Acceptance
The generated building must survive:
- silhouette-only view;
- flat untextured material;
- grazing light;
- close inspection of corners and roof transitions;
- seed variation without broken bays, overlapping ownership, or floating ornament;
- triangle and module-count reporting.
Routing boundary
Use $threejs-procedural-geometry for a reusable profile, sweep, ring, or mesh
writer without a building grammar. This skill owns massing, façade semantics,
architectural modules, and building-plan compilation.