scottstts/threejs-awesome-graphics-agent-skills

threejs-procedural-architecture

Build authored procedural buildings and architectural kits in Three.js.

View source
Original skill document

Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.

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

text
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.

from this repository

More skills

All skills
scottstts
Community

threejs-atmosphere-aerial-perspective

Implement physically motivated sky and aerial-perspective systems in Three.js. Use for planetary atmospheres, ground-to-space transitions, Rayleigh/Mie scattering, precomputed LUTs, depth-based transmittance and inscattering, sun/moon discs, and atmosphere-aware lighting.

installs
2
GitHub stars
911
Updated
Oct 15
scottstts
Community

threejs-bloom

Implement production bloom in advanced Three.js scenes. Use for HDR signal ordering, bloom-node controls, dual selective bloom with guaranteed material restoration, scene-relative emissive hierarchy, and effect-isolation diagnostics.

installs
2
GitHub stars
911
Updated
Oct 15
scottstts
Community

threejs-camera-direction

Direct advanced Three.js camera systems. Use for scale-aware chase rigs, thrust lag, side/orbit cameras, body-relative up vectors, quaternion handoffs, authored cinematic framing, floating origins, pointer-look controls, camera collision constraints, projection ownership, and lifecycle restoration.

installs
2
GitHub stars
911
Updated
Oct 15
scottstts
Community

threejs-exposure-color-grading

Build a measured exposure and grading path in Three.js. Use for a 64x36 encoded luminance meter, asynchronous readback, weighted log-average exposure, asymmetric adaptation, single tone-map ownership, and a generated 32-cube post-tone-map LUT.

installs
2
GitHub stars
911
Updated
Oct 15