name: threejs-primitive-reconstructor description: create robust, browser-runnable three.js primitive reconstructions from static low-poly, voxel, isometric, or stylized game-art reference images. use when the user asks to turn an image or prompt into a three.js/html asset, generate a primitive-only scene, debug non-rendering three.js output, or produce a reusable prompt/template for low-poly three.js reconstruction.
Three.js Primitive Reconstructor
Core workflow
Use this skill to generate a reliable single-file Three.js HTML scene from a low-poly, voxel, isometric, or stylized 3D reference image.
- Inspect the reference image visually before coding.
- Produce a short analysis inventory in the response and include the same inventory as a comment block at the top of the script.
- Generate one plain
.htmlfile, not React, JSX, iframe, orsrcDoc. - Use only primitive geometry:
BoxGeometry,CylinderGeometry,ConeGeometry,SphereGeometry,Group, andMeshStandardMaterial. - Use the import-map loading pattern from
assets/threejs-scene-template.html. - Keep objects aligned to integer or half-integer tile coordinates when reconstructing grid-based scenes.
- Add soft shadows, matte materials, and an immediate camera view where the asset is visible without user adjustment.
- When the user reports a loading or rendering error, first replace CDN/import patterns and wrappers with the robust plain HTML template in
assets/threejs-scene-template.html.
Required analysis inventory
Before the code, summarize:
- Camera and framing: projection feel, camera type, azimuth/elevation, crop/centering.
- Palette: 8-15 hex colors visible in the reference.
- Ground/podium: grid size, tile size, base thickness, grass variation, water/path positions.
- Structures: type, grid position, footprint, height, wall/roof colors, distinguishing features.
- Nature: trees, bushes, flowers, rocks, grass tufts, size variation.
- Farm/details: crops, stairs, doors, windows, fence rails, small props.
- Sky/atmosphere: sky color, fog, clouds/smoke.
- Animation: optional rotation, drifting clouds, rising smoke, water shimmer.
Coding rules
- Use one self-contained
.htmlfile. - Use an import map with
unpkg.comexactly as shown inassets/threejs-scene-template.html. - Import with
import * as THREE from 'three'andOrbitControlsfromthree/addons/controls/OrbitControls.js. - Do not use
esm.sh,cdn.jsdelivr, relative Three.js module paths, React, JSX, iframe, orsrcDoc. - Do not use external assets, textures, GLTF, OBJ, FBX, SVG, or postprocessing.
- Use
MeshStandardMaterialthroughout; defaultroughness: 1andmetalness: 0. - Set
renderer.outputColorSpace = THREE.SRGBColorSpace. - Enable
renderer.shadowMap.enabled = trueandTHREE.PCFSoftShadowMap. - Add a resize listener.
- Append
renderer.domElementdirectly todocument.body. - Keep comments sentence case.
- Keep the generated file under roughly 500 lines unless the user asks for more detail.
Reference and template files
- Read
references/reconstruction-prompt.mdwhen the user wants the reusable prompt or prompt wording. - Use
assets/threejs-scene-template.htmlas the starting point for generated HTML. - Use
scripts/write_scene_from_template.pyonly when a quick local template copy is useful; customize the copied file afterward.
Debugging non-rendering output
If a generated scene does not render:
- Remove React, JSX, iframe, and
srcDocwrappers. - Replace module imports with the import-map pattern in the template.
- Confirm the file is served through a local server, for example
python3 -m http.server 8000, then opened athttp://localhost:8000/scene.html. - Confirm
renderer.domElementis appended todocument.body. - Confirm the camera points at the asset and the object is near the origin.
- Simplify animation until a static render works.
Cottage reference shortcut
For the cropped cottage reference, reconstruct:
- A 5 by 5 floating grass tile island with a brown dirt base.
- A front-left water strip slightly below grass level.
- One warm yellow cottage centered slightly back-left.
- A bright blue hipped roof with dark blue ridge/caps.
- A tall chimney with four rising smoke puffs.
- A brown front door, cyan windows with dark frames, and exterior stone stairs on the right.
- A wooden fence around the front/right/back of the yard.
- Grass tufts, small white/yellow flowers, sky-blue background, soft shadows, and matte materials.