2026-06-28 · the actual Bonkahe SunshineClouds2 ExampleScene rendered on the real GPU (Godot 4.6, Vulkan) vs our three.js port, from the same world camera (pos 8262,30000,−10000, pitch −37.6°), top-down. This is the "match the right target" check before we change anything.
Godot's scene has aggressive depth-fog (end=40000). Natural guess: that's what hides the far glare. So we rendered Godot with fog and with fog disabled (--nofog ablation, real engine). Drag — they're identical.
Measured: full blown 5.5% · darks(p5) 110 · range 141 vs nofog 5.4% · 110 · 141 — fog changes nothing at this vantage. Fog hypothesis refuted. (Proving our own guess wrong is the point — the CD asked for exactly this break-it process.)
Drag between Godot and our port, same camera. Godot's lit tops are if anything brighter than ours (they even clip) — but it never reads as "glaring" because every crevice goes deep blue-grey. Our port is milky: same tops, but the shadows stay pale.
| full-frame value structure | darks (p5) | value range | local contrast | blown |
|---|---|---|---|---|
| Godot (the target) | 110 | 141 | 6.3 | 5.5% |
| our port (current) | 136 | 104 | 4.2 | 0.0% |
The whole difference is value depth: Godot's shadows reach 26 levels deeper and it holds ~35% more range. Same scene, same FILMIC tonemap, same sun — Godot just isn't milky. The "glaring white" was never the brightness; it's the missing darks.
sk16) does NOT darken the crevices (darks p5 136→135) — because the ambient light sets a floor the shadows can't sink below. Lowering the ambient (amb×0.6) is what deepens them (p5 136→107), straight toward Godot.
| port setting | darks (p5) | range | local contrast |
|---|---|---|---|
| current | 136 | 104 | 4.2 |
| + sk16 only | 135 | 103 | 5.0 (darks unchanged!) |
| + ambient ×0.6 | 107 | 131 | 5.1 |
| + sk16 & ambient ×0.6 | 106 | 130 | 6.0 ≈ Godot |
Our port with ambient ×0.6 + sk16 vs the current milky look. Same bright tops, but the crevices now carry Godot-deep darks → real dimensional form.


Method: real Godot via study-godot-sunshine/_cap.gd (+ --nofog ablation) · port matched via qa/tools/_godot-match-cap.mjs · cd-twin/tools/features.py (value structure) · this page. The fog hypothesis was rendered and refuted; the CD's eye is the verdict — this is a pre-screen.