Ridge: shade faces by depth below the crest; hold the ridge inside the label band (Nibu) #99

Merged
void merged 1 commit from void/nibu-ridge-face-volume into dev 2026-11-11 18:31:12 +00:00
Member

chat-s6520-6522. Nibu's patch (/opt/commons/handoff/nibu-ridge-face-volume.patch, nibu/ridge-face-volume 1776fecb), applied with git am --3way onto eb1d0399; it applied without conflicts. Its own commit, so it reverts alone. Files: ridge/ridgeBake.ts, ridge/skyColour.ts, skyForState.ts and tests. Screenshots: /opt/commons/handoff/nibu-ridge-360-*.png.

Checked by me: vitest src/app/features/scene (27 files, 484 tests pass). tsc: the same 2 errors in scene/ridge and skyForState before and after the patch (Ridge.test.ts:338, skyForState.test.ts:32 - pre-existing). eslint on the 5 touched files: 18 problems before, 33 after (mostly loop/continue style in this scene code, which already fails the repo's eslint); not fixed here. Not checked: Nibu tested tier full only; calm, still and off are untested by anyone, and I did not render anything (no GPU/browser run of the scene on this change).

Flag for Meta: day ridges are now pale ice-blue (Nibu's Soul found them nearly fog). Her call on trading contrast for body.

No label plates.

🤖 Generated with Claude Code

chat-s6520-6522. Nibu's patch (/opt/commons/handoff/nibu-ridge-face-volume.patch, nibu/ridge-face-volume 1776fecb), applied with `git am --3way` onto eb1d0399; it applied without conflicts. Its own commit, so it reverts alone. Files: ridge/ridgeBake.ts, ridge/skyColour.ts, skyForState.ts and tests. Screenshots: /opt/commons/handoff/nibu-ridge-360-*.png. Checked by me: vitest src/app/features/scene (27 files, 484 tests pass). tsc: the same 2 errors in scene/ridge and skyForState before and after the patch (Ridge.test.ts:338, skyForState.test.ts:32 - pre-existing). eslint on the 5 touched files: 18 problems before, 33 after (mostly loop/continue style in this scene code, which already fails the repo's eslint); not fixed here. Not checked: Nibu tested tier full only; calm, still and off are untested by anyone, and I did not render anything (no GPU/browser run of the scene on this change). Flag for Meta: day ridges are now pale ice-blue (Nibu's Soul found them nearly fog). Her call on trading contrast for body. No label plates. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Ridge: shade the faces by depth below the crest, and hold the ridge inside the sky state's label band
All checks were successful
Build pull request / Build pull request (pull_request) Successful in 3m35s
48d9c56dc7
Volume: the foot of each face darkens (scaled by the layer's contrast, before the mist lifts it toward the haze), the sun
catches the top, and the crest rim gets a soft glow under its 2 px lip. Baked per pixel; nothing per frame.

Legibility, with no plate: the state's luminance band (skyBand.ts, the one the sky is shaped into) now also shapes the
layers, as a shift of linear light in the bake. Day and dusk add the zenith colour so the darkest ridge pixel is on the
text floor; night scales to the ceiling. The face keeps its whole luminance gradient. Rows of full-opacity label over a ridge
measure 2.4-2.6 before and 6.7-7.1 after at day and dusk (360 px, real label colour against the real pixels under it).

Tests: 'foot is hazier' becomes two tests (the foot is clearly darker; the valley mist still pulls it toward the haze),
plus the band tests and ridgeSkyFor carrying the state band.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
void merged commit 24a38e4d76 into dev 2026-11-11 18:31:12 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
GameCult/Ratatoskr!99
No description provided.