islaApocalypse-v2/Tools/Scripts
beezm 8e55326a84 Phase 2a: continuous grade — smooth the upper staircase, preserve the lowlands
rev 3 of the curve redesign. The developer's verdict on the 01 baseline was that the
LOWLANDS ARE GOOD; the fault is the terracing above them. So this adds a second curve
mode that preserves the low plain bit-for-bit and replaces everything above the flood
line with one smooth monotone climb.

Core/ContinuousCurve — piecewise, and the pieces have different loyalties:
- at/below sea: identity, as ever.
- above sea to K2: DELEGATES to HeightCurve's own toe+red branches. Not "equivalent" —
  the same code path, so the same floats. Oracle (d) holds it to that.
- above the ceiling: a Fritsch-Carlson (PCHIP) monotone spline to the 420 m cap,
  C1-joined to the red band's exit slope. Monotone by construction for any ordered
  control points, which retires the 24-corner sweep; a 10k strict-increase sample runs
  per seed anyway, because "cannot fail" is worth a millisecond.
- Build() REFUSES rather than degrades: a ceiling near the old bench, a drama that folds
  the summit under its own onset, control-point secants that are not strictly increasing
  (the no-magnet rule, enforced rather than hoped for).

Only BENCH_*/PLATEAU_* are dropped. SEA/ORANGE_CEIL/RED_CEIL survive because they are
the storm-ladder FLOOD TIERS and they live inside the preserved lowland; PEAK_CAP and
the per-seed spikeMax normalization survive as the summit.

Shelf detail is forced off in continuous mode: the flat benches it de-slabbed no longer
exist, and painting noise on the climb now would pre-judge what erosion should carve.

Oracle, all hard checks passing:
- (a1) curve off is bit-identical to Phase 1's dump.
- (a2) staircase mode is bit-identical to TASK 01's dump — the control is provably the
  control, not a re-derivation. (CurveBaselineTool is pinned to Staircase so the config
  default moving to Continuous cannot drift it.)
- (d) lowlands bit-identical to the staircase over 3.6M cells, every continuous variant,
  both seeds. The lifted_WRONG bookend fails it on 1.6M cells, as intended.
- (f) sea identity per CELL, not per count, including 67M cells at 8192.

The finding, measured and recorded in the batch scratch: the massif SHRANK. Land above
100 m goes 14.9% -> 4.8%, above 220 m 4.5% -> 0.6%. A feather sweep to the practical
floor recovers ~1.3 points, so this is structural, not a tuning miss: the staircase's
highland area was an artifact of the bench and plateau acting as magnets, and a curve
with no magnets preserves the raw distribution's bottom-heavy shape. "No terraces" and
"the same land up high" are not both available from curve work alone.

Exploration batch, not convergence. A tuning pass follows once a direction is picked.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DCWNaDZPfTiAy3meGNGgqt
2026-08-20 03:41:27 -04:00
..
CurveBaselineTool.cs Phase 2a: continuous grade — smooth the upper staircase, preserve the lowlands 2026-08-20 03:41:27 -04:00
CurveBaselineTool.cs.uid Phase 2a: the faithful redistribution curve, re-measured against v2's own output 2026-08-20 01:38:10 -04:00
CurveContinuousTool.cs Phase 2a: continuous grade — smooth the upper staircase, preserve the lowlands 2026-08-20 03:41:27 -04:00
CurveContinuousTool.cs.uid Phase 2a: continuous grade — smooth the upper staircase, preserve the lowlands 2026-08-20 03:41:27 -04:00
GrayscaleRenderer.cs Phase 1 review: raw grayscale, the wide gradient as hero, fixed batch naming 2026-08-19 22:55:53 -04:00
GrayscaleRenderer.cs.uid Phase 1 review: raw grayscale, the wide gradient as hero, fixed batch naming 2026-08-19 22:55:53 -04:00
HeightField.cs Phase 1: shaded relief and the Hispaniola palette — the grin gate 2026-08-19 21:58:44 -04:00
HeightField.cs.uid Phase 1: shaded relief and the Hispaniola palette — the grin gate 2026-08-19 21:58:44 -04:00
Hillshade.cs Phase 1: shaded relief and the Hispaniola palette — the grin gate 2026-08-19 21:58:44 -04:00
Hillshade.cs.uid Phase 1: shaded relief and the Hispaniola palette — the grin gate 2026-08-19 21:58:44 -04:00
HistogramRenderer.cs Phase 2a: the faithful redistribution curve, re-measured against v2's own output 2026-08-20 01:38:10 -04:00
HistogramRenderer.cs.uid Phase 2a: the faithful redistribution curve, re-measured against v2's own output 2026-08-20 01:38:10 -04:00
IslandFalloff.cs Phase 1: port the crown-jewel noise and pass-1, and render the island 2026-08-19 21:27:20 -04:00
IslandFalloff.cs.uid Phase 1: port the crown-jewel noise and pass-1, and render the island 2026-08-19 21:27:20 -04:00
LandHistogram.cs Phase 2a: the faithful redistribution curve, re-measured against v2's own output 2026-08-20 01:38:10 -04:00
LandHistogram.cs.uid Phase 2a: the faithful redistribution curve, re-measured against v2's own output 2026-08-20 01:38:10 -04:00
LegendRenderer.cs Phase 1 review: raw grayscale, the wide gradient as hero, fixed batch naming 2026-08-19 22:55:53 -04:00
LegendRenderer.cs.uid Phase 1 review: raw grayscale, the wide gradient as hero, fixed batch naming 2026-08-19 22:55:53 -04:00
LookConfig.cs Phase 1 review: raw grayscale, the wide gradient as hero, fixed batch naming 2026-08-19 22:55:53 -04:00
LookConfig.cs.uid Phase 1: shaded relief and the Hispaniola palette — the grin gate 2026-08-19 21:58:44 -04:00
NoiseDefaultsProbe.cs Phase 1: port the crown-jewel noise and pass-1, and render the island 2026-08-19 21:27:20 -04:00
NoiseDefaultsProbe.cs.uid Phase 1: port the crown-jewel noise and pass-1, and render the island 2026-08-19 21:27:20 -04:00
Pass1Result.cs Phase 1: port the crown-jewel noise and pass-1, and render the island 2026-08-19 21:27:20 -04:00
Pass1Result.cs.uid Phase 1: port the crown-jewel noise and pass-1, and render the island 2026-08-19 21:27:20 -04:00
Pass2Result.cs Phase 2a: continuous grade — smooth the upper staircase, preserve the lowlands 2026-08-20 03:41:27 -04:00
Pass2Result.cs.uid Phase 2a: the faithful redistribution curve, re-measured against v2's own output 2026-08-20 01:38:10 -04:00
ReliefPalette.cs Phase 2a: continuous grade — smooth the upper staircase, preserve the lowlands 2026-08-20 03:41:27 -04:00
ReliefPalette.cs.uid Phase 1: shaded relief and the Hispaniola palette — the grin gate 2026-08-19 21:58:44 -04:00
ReliefRenderer.cs Phase 1 review: raw grayscale, the wide gradient as hero, fixed batch naming 2026-08-19 22:55:53 -04:00
ReliefRenderer.cs.uid Phase 1: shaded relief and the Hispaniola palette — the grin gate 2026-08-19 21:58:44 -04:00
ReliefRenderTool.cs Fix the ISLA_SOURCE default the batch rename broke 2026-08-19 23:38:10 -04:00
ReliefRenderTool.cs.uid Phase 1: shaded relief and the Hispaniola palette — the grin gate 2026-08-19 21:58:44 -04:00
ReviewBatchTool.cs Fix the ISLA_SOURCE default the batch rename broke 2026-08-19 23:38:10 -04:00
ReviewBatchTool.cs.uid Phase 1 review: raw grayscale, the wide gradient as hero, fixed batch naming 2026-08-19 22:55:53 -04:00
Shaping.cs Phase 2a: continuous grade — smooth the upper staircase, preserve the lowlands 2026-08-20 03:41:27 -04:00
Shaping.cs.uid Phase 2a: the faithful redistribution curve, re-measured against v2's own output 2026-08-20 01:38:10 -04:00
ShapingOracle.cs Phase 2a: continuous grade — smooth the upper staircase, preserve the lowlands 2026-08-20 03:41:27 -04:00
ShapingOracle.cs.uid Phase 2a: the faithful redistribution curve, re-measured against v2's own output 2026-08-20 01:38:10 -04:00
TerrainGenConfig.cs Phase 2a: continuous grade — smooth the upper staircase, preserve the lowlands 2026-08-20 03:41:27 -04:00
TerrainGenConfig.cs.uid Phase 1: port the crown-jewel noise and pass-1, and render the island 2026-08-19 21:27:20 -04:00
TerrainGenTool.cs Phase 1 review: raw grayscale, the wide gradient as hero, fixed batch naming 2026-08-19 22:55:53 -04:00
TerrainGenTool.cs.uid Phase 1: port the crown-jewel noise and pass-1, and render the island 2026-08-19 21:27:20 -04:00
TerrainNoise.cs Phase 2a: the faithful redistribution curve, re-measured against v2's own output 2026-08-20 01:38:10 -04:00
TerrainNoise.cs.uid Phase 1: port the crown-jewel noise and pass-1, and render the island 2026-08-19 21:27:20 -04:00
TinyFont.cs Phase 1 review: raw grayscale, the wide gradient as hero, fixed batch naming 2026-08-19 22:55:53 -04:00
TinyFont.cs.uid Phase 1 review: raw grayscale, the wide gradient as hero, fixed batch naming 2026-08-19 22:55:53 -04:00
Topography.cs Phase 1: port the crown-jewel noise and pass-1, and render the island 2026-08-19 21:27:20 -04:00
Topography.cs.uid Phase 1: port the crown-jewel noise and pass-1, and render the island 2026-08-19 21:27:20 -04:00
UserDirProbe.cs Phase 0: clean project skeleton for the v2 rewrite 2026-08-19 20:21:12 -04:00
UserDirProbe.cs.uid Phase 0: clean project skeleton for the v2 rewrite 2026-08-19 20:21:12 -04:00