Terrain cinematographer round — local-contrast de-light, material classes, tone shoulder#103
Conversation
…oulder Art-direction round 2 (operator): "the renderer is exposing renderer artifacts rather than data artifacts — the renderer should become a terrain cinematographer rather than just a terrain renderer." Four findings, four fixes (decode + shader only; assets untouched): 1. WHITE PATCHES (diagnosed, not guessed): 0.85% of the source imagery is near-white, concentrated on the high North Rim — REAL snow/cloud patches baked into the ESRI capture, pushed toward paper-white by the WB stretch + warm key. Fix: a soft HIGHLIGHT SHOULDER (knee at 0.82 — nothing diffuse renders pure white) + a SNOW material class (high-albedo, cool light response, whisper of sheen — snow is not painted orange by the morning key). They now read as geology/weather. 2. PALETTE BLUR: the flat de-light divided by the pixel's OWN luma, flattening local contrast into mud. Replaced with decode-side LOCAL-CONTRAST albedo extraction: divide by the NEIGHBOURHOOD's luma (separable box blur, radius 6 cells, running-sum O(nV)) — the satellite's large-scale baked lighting normalizes away while the local strata contrast SURVIVES. Crisp sandstone layers. 3. SATELLITE NOON -> MUSEUM MORNING: sun lowered (el 0.38->0.30), key warmed (1.22,1.04,0.80), shadow floor deepened (0.42,0.30,0.23 umber), fill weakened. 4. MATERIAL SEPARATION (BRDF, not colour): per-vertex classes from albedo + KIND — rock rough matte · vegetation slightly subsurface (wider diffuse wrap = light bleeding through canopy) · snow high-albedo cool + soft sheen · water the ONLY hard specular (glints added post-shoulder so the sparkle stays hot). Verified headless (643k proxy): plateau drainage + wall strata crisp where previously muddy, North Rim whites read as snow among trees, golden morning cast, forest deep and soft, river segments blue-green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012jEwwaT5JZ5x8qWvcnaMYC
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_53cf6e6f-3f3b-48b8-9caa-4a10a8d0d233) |
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe photo-skin terrain path now applies local-contrast de-lighting during decoding. The SKIN shader adds luminance/chroma separation, snow and vegetation masks, revised museum lighting, and updated river, glint, and specular responses. ChangesPhoto-Skin Rendering
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant SkinPhoto
participant decodeGrid
participant SKINShader
participant RiverLighting
SkinPhoto->>decodeGrid: decode ver-9 photo colors
decodeGrid->>decodeGrid: blur luminance grid and rescale RGB
decodeGrid->>SKINShader: provide processed aColor
SKINShader->>SKINShader: classify snow and vegetation
SKINShader->>RiverLighting: apply channel, bank, and wetness response
RiverLighting->>SKINShader: add glints and specular effects
Possibly related PRs
Suggested reviewers: Poem
✨ Finishing Touches📝 Generate docstrings
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
ESLint install failed. For unrecoverable errors, disable the tool in CodeRabbit configuration. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Rescues the commit stranded when #102 merged (pushed to the branch after the merge). One commit,
cockpit/src/GeoHelix.tsxonly — decode + shader, no asset rebake (the same relight applies to canyon, havel, and iceland-grid automatically).The operator's polish round: "the renderer is exposing renderer artifacts rather than data artifacts … the renderer should become a terrain cinematographer." Four findings, four fixes:
Verified headless on the 643k proxy: snow patches read luminous-but-material, strata crisper, forest softer than rock, plateau still dry, river meanders + glints intact.
npx tsc --noEmit✓ ·npm run build✓.🤖 Generated with Claude Code
Generated by Claude Code
Summary by CodeRabbit