threejs-exposure-color-grading
About threejs-exposure-color-grading
A Three.js skill for managing exposure, tone mapping, color grading, and output conversion as separate stages. It helps creators tune color from measured HDR signals and avoid compensating operations that obscure the pipeline.
Key features
- 01Ordered HDR color pipeline
- 02Luminance metering and adapted exposure
- 03Tone mapping and creative grading
- 043D LUT workflow
- 05Output conversion checks
Use cases
- 01Setting exposure from scene luminance
- 02Applying a documented 3D LUT
- 03Diagnosing duplicate tone mapping or sRGB conversion
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ scottstts/ threejs-awesome-graphics-agent-skills --skill threejs-exposure-color-gradingAfter installing, type/threejs-exposure-color-gradingin Claude Code to confirm it loaded.
Bundled filesagents/openai.yamlreferences/scene-referred-color-pipeline.md
Details
From the project READMEExposure and Color Grading
Treat exposure, tone mapping, grading, and output conversion as distinct stages. Tune them from measured HDR signal, not by stacking compensating color operations.
Order
HDR scene
→ luminance meter
→ adapted exposure
→ tone map
→ creative grade / 3D LUT
→ final output conversion
Read references/scene-referred-color-pipeline.md for the exact 64x36 meter, encoded readback, adaptation constants, 32-cube LUT, and signal-ownership ambiguities.
Failure conditions
- tone mapping occurs in both materials and post;
- exposure is used to repair physically inconsistent light ratios;
- meter weighting and scene framing are not inspected;
- adaptation speed is the same toward light and dark;
- LUT input/output spaces are undocumented;
- sRGB encoding happens twice;
- a display-domain LUT is moved before tone mapping without being rebuilt.
Routing boundary
Use $threejs-bloom for HDR glow contribution and
$threejs-image-pipeline when this color path must share ownership with AO,
atmosphere, or effect-local render targets.