Sea: paint the ORIGINAL's own seabed, not a synthetic gradient - #15
Merged
Conversation
…pansion) - js-yaml >=4.3.0 (high: vulnerable range >=4.0.0 <4.3.0) — only one version in the tree (4.2.0), pulled in by @eslint/eslintrc; resolves to 4.3.0, same major line. - brace-expansion >=5.0.7 (high: vulnerable range >=3.0.0 <5.0.7), scoped as "minimatch@10>brace-expansion" — the tree carries TWO incompatible major lines: 1.1.15 (bare-function export) under minimatch@3.1.5 via eslint's own config-array/eslintrc chain, and 5.0.6 (named exports) under minimatch@10.2.5 via @typescript-eslint/typescript-estree. Only the 5.x line is in the advisory's vulnerable range, so the override is qualified to that parent to avoid forcing a major bump onto minimatch@3.1.5 (which would break it the way an unscoped bump broke minimatch@3.x/ @babel/core/istanbul on a sibling repo). Resolves to 5.0.8; the 1.1.15 instance is untouched and out of the alert's range. Full gate green with the new resolutions (1,245 tests, lint, build). `pnpm audit` confirms both js-yaml and the 5.x brace-expansion finding are gone; the untouched 1.x brace-expansion instance and a pre-existing postcss advisory in packages/client are unrelated to these two alerts and were left alone. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ries Follow-up to the js-yaml / brace-expansion@5 overrides in this branch. - minimatch@3>brace-expansion -> ^1.1.16 clears GHSA-3jxr-9vmj-r5cp. Scoped to the 1.x line so minimatch@3's bare-function usage keeps working; a blanket brace-expansion override would break it (and @babel/core and istanbul), which is exactly how the equivalent bump failed on a sibling repo. - postcss -> ^8.5.18 clears the sourceMappingURL path-traversal advisory reaching packages/client via vite. Remaining after this: GHSA-mh99-v99m-4gvg still matches brace-expansion 1.1.16 under eslint>minimatch@3. It is unfixable — the advisory covers everything <= 5.0.7 and upstream patched only the 5.x line, so no patched 1.x exists — and it is dev-only. 'pnpm audit --prod' reports no known vulnerabilities, so nothing vulnerable ships. Verified on a clean 'pnpm install --frozen-lockfile': build, lint, and the full workspace suite all pass. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Owner: "maybe you can fix the center now too" — the contested middle rendered as one flat blue field. Root cause: the sea was painted by a SYNTHETIC formula (waterDepth01: shallow near the north/south edges, deep in between, 28 latitude slabs), so every cell at the same y got the same colour. The real per-cell seabed WAS being extracted into terrain.json's `depth` (deep/shallow/pink from the map's own minimap colours) but the compiler never read it — dead data that never reached the client. The original's middle is a braid of shoals and channels; ours was a gradient. - core: WaterMask gains a packed render-only `depth` band per cell (0=land,1=deep,2=shallow,3=pink), decoded from terrain.json's existing RLE; absent/short data degrades to zeros. The SIM IGNORES it — sailability stays `cells` alone, so determinism is untouched (the serializability guard now pins it alongside `cells`). - client: the static sea layer lays the true bands over the base grade, run-length merged and clipped to the viewport, inside the existing cached layer (rebuilt only on the sea signature). New pure `seabedBandTint` + 4 unit tests. 1,249 tests green; lint clean. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Owner-reported: the map center reads as a featureless blue field. The sea was painted by a synthetic latitude gradient, while the real per-cell seabed (already extracted into
terrain.json'sdepth) was never read by the compiler — dead data that never reached the client. Now the compiled mask carries the bands and the client paints the true shoals and channels. Render-only: sailability and determinism untouched.Test plan
depth)🤖 Generated with Claude Code