Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.
Three.js AAA Graphics Builder
Own the production graphics pass: turn basic screenshots into authored, high-density, performance-aware visuals.
References
| File | Read it when |
|---|---|
references/visual-scorecard.md | scoring visuals or making any premium/AAA/showcase claim |
references/authoring-recipes.md | building hero, obstacle, reward, world-kit, or prop models; changing lighting, tone mapping, shadows, fog, post, or graphics architecture |
references/technical-art.md | render budgets, material kits, VFX systems, instancing/LOD, imported asset cleanup, anything that could affect browser performance |
references/shader-cookbook.md | custom shaders, onBeforeCompile, skies, or post-processing; use recipes as tested starting points and verify them against the project's Three.js version |
For a broad "still looks basic" or premium pass, read all four before implementing. A narrow graphics edit loads only its relevant references and checks; the requested style and scope override recipe defaults.
Core rule
Glow does not make primitives look AAA. Build authored forms first, then materials, then lighting, then effects — in that order.
Workflow
- Capture or inspect active-play screenshots on the target viewports when a playable scene exists.
- For an existing game, score the affected views and pick the weakest surfaces. For a new game, establish art direction, camera scale, material roles, and the hero target first; do not invent a before screenshot.
- Add the graphics architecture the game is missing: material library, procedural textures and decals, model factories, world prop kit, VFX system, render pipeline, diagnostics.
- Choose a source per high-value surface: procedural Three.js, a
threejs-image-generatorreference or texture, athreejs-3d-generatormodel, or an image-to-3D hybrid chain. Run the credential probe when external generation is in scope.
Inspect the concept/model before dependent generation or rigging. Finish one representative playable scene with actual assets and feedback before expanding the content kit.
- Upgrade every weak visible surface, not only the hero: hazards, rewards, ground and track, foreground props, background layers, telegraphs, material variation, state VFX.
- Add lighting, tone mapping, and render polish once authored forms exist.
- Add event-driven VFX tied to gameplay state.
- Re-score against the calibration anchors, citing the inspector's measured metrics. Keep going until every premium category is at least 2, or name the exact blocker.
Asset sourcing
When external generation is in scope, run threejs-game-director/scripts/probe_asset_credentials.sh before assuming anything about keys. No probe or paid submission is needed for explicitly procedural art.
With keys set, generated assets belong on the hero surfaces — player, character, creature, boss, vehicle, ship, building, weapon, signature prop, hero environment piece — and on high-value 2D: skies, backgrounds, texture and trim references, decals, faction marks, icons, GUI and title art, image-to-3D inputs. Respect explicit procedural-only art or external-generation restrictions. Procedural Three.js handles repeated props, kits, collision proxies, VFX geometry, and instanced volume.
Use the director's references/asset-recovery.md: recover transient failures and accepted tasks before fallback. Missing keys, exhausted credits, or exhausted bounded recovery permit a local replacement with the remaining quality gap reported. A single timeout is not evidence that generation is unavailable.
For animated assets inspect motion as well as silhouettes: locomotion, blend transitions, foot contacts, hit timing, and secondary motion in real gameplay. A focused independent critique may identify defects after a substantial pass; the lead remains responsible for the final score and integration.
Report
Score before and after with one line of evidence per category, the surfaces you upgraded, files changed, screenshots, renderer diagnostics against the budget table, generated asset paths and task IDs, and what is still weak. Include imported-asset diagnostics (scale, bounds, collision proxy, clips) when generated 3D was used.

