Build deterministic, editable, free-viewpoint Three.js worlds from text or structured briefs. Use for cinematic 3D terrain, semantic regions, procedural biomes, explicit landmarks, environmental scattering, camera fly-throughs, world diagnostics, or requests for a real 3D environment rather than generated 2D footage. Integrates OpenMontage's threejs_world tool with HyperFrames; do not use for a single isolated 3D object or a flat parallax scene.
75
92%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
For production meshes and Blender assembly, also read 3d-asset-generation.
Three.js remains the semantic interactive/blockout renderer; Blender is the
production renderer when the brief calls for dense reference-grade scenery.
The production handoff must include target dimensions for imported assets, semantic scatter exclusion zones, terrain-following water/path geometry, landmark visibility policy, camera clearance, and global/regional/walk review frames. These are world-spec contracts, not manual Blender cleanup notes.
Create a persistent scene graph, not a sequence of unrelated 2D shots. Preserve the user's explicit constraints, infer missing construction details separately, establish the global terrain first, and refine selected regions without disturbing the world-wide spatial contract.
blockout: procedural primitives, vertex colors, semantic/layout validation, fast iteration. Never call this production-quality, reference-grade, or visually equivalent to WorldClaw.production: licensed local GLTF/GLB catalogs, a minimum eight-model palette across four semantic categories, three PBR terrain layers, asset provenance, walk-level repetition review, and no primitive landmark fallback.For a hero video or any reference showing populated textured environments, use production. If its catalog/material/provider requirements cannot be met, stop at preflight or the asset gate. Do not render a blockout as the final deliverable.
world_spec or calling threejs_world.hyperframes-core, hyperframes-animation, and hyperframes-animation/adapters/three.md before editing the emitted workspace.threejs-loaders, threejs-materials, threejs-textures, threejs-lighting, and threejs-postprocessing for production-tier work.animation pipeline for design-led, explanatory, abstract, or music-led world films.cinematic pipeline for trailer-like mood, dramatic reveals, or source-plus-world edits.Record two lists before planning:
explicit_constraints: only facts the user supplied.inferred_details: scale, region coverage, terrain operators, densities, palette refinements, and camera details added to make the world executable.Never smuggle an inferred landmark, biome, or story beat into the explicit list.
Author one shared world_spec containing:
Prefer 3-7 regions. Each region must contribute a distinct silhouette, surface read, or functional role.
For production, first call threejs_asset_catalog to install rights-safe catalogs under projects/<id>/assets/3d/catalogs/<catalog-id>/. Record source, license, archive hash, model inventory, and every selected model in the asset manifest. Then call threejs_world with quality_tier: "production" and the installed catalog paths.
from tools.graphics.threejs_world import ThreeJSWorld
result = ThreeJSWorld().execute({
"operation": "build",
"world_spec": world_spec,
"output_path": "projects/<id>/hyperframes",
"duration_seconds": 60,
"render_mode": "cinematic",
"quality_tier": "production",
"asset_catalog_paths": ["projects/<id>/assets/3d/catalogs/kenney-nature-kit"],
})Treat world.json, world-spec.js, world-runtime.js, and world-report.json as editable assets. Do not flatten them into a video until the assets gate is approved.
Build a second pass with render_mode: "semantic" or "wireframe" when spatial problems are hard to see in the cinematic material pass. Inspect snapshots from global, regional, and walk-level viewpoints.
Maintain an issue queue with stable subjects:
Fix only the affected region or object when possible. Preserve the seed, region IDs, camera times, and unrelated parameters.
Run at most three render-guided refinement rounds:
check gate and snapshot representative times;Stop when no substantial issue remains or the iteration budget is reached. Report residual limitations rather than disguising them with overlays.
For browser-native delivery, set render_runtime: "hyperframes" and composition_mode: "atelier"; video_compose must preserve the authored workspace. For reference-grade video, render a Blender PNG sequence with resume: true, then set render_runtime: "ffmpeg" for packaging. Preserve the world spec and .blend as the editable source of truth.
check and post-render review pass before delivery. Use the legacy validate or inspect operations only when supporting an older runtime.threejs-* skills. They are the subsystem references used when extending this runtime.08e2151
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.