Commit Graph
16 Commits
Author SHA1 Message Date
OlivierandClaude Fable 5.1 61ef4a892d feat(tools): irregular strata and angular boulder blocks
Strata gain a dip, a slow seeded warp that bends and notches the beds, and
a per-bed thickness and hardness jitter with ordered boundaries, so walls
never invert. BoulderField gains an angularity parameter: elongated
super-ellipse slabs with flat tops, sharp shoulders, random heading and
tilt, footprint area preserved. Both sites are re-baked with the new
settings; the coral heads stay rounded.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 23:31:11 +02:00
OlivierandClaude Fable 5.1 f22a5e69aa feat(sites): strata on the Banc du Vigilant drop-off and multi-scale seabed relief
Strata now take a world rectangle, so the 4 m ledges cover the whole break
and talus south of z = 118 m without touching la Saignée or the landmarks.
Roughness gains octave and fractal-type parameters; a SlopeRoughness
modifier roughens rock faces only. Both sites are re-baked with hummocks
from 250 m down to 5 m. The secondary item, the first debris piece and one
safe-route waypoint move a few metres to keep their contracts.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 22:50:21 +02:00
OlivierandClaude Fable 5.1 d91e6bd02f fix(tools): canyons impose a floor material through rock outcrops; tighten showcase contracts
Review findings: the mesa forced rock onto the canyon bed, two runners
declared the wrong TEST_COUNT, and the escarpment check could pass on the
slope alone. Canyon gains floor_material, the showcase is re-baked with sand
beds, the contract measures the step across the crest band, counts distinct
ledges, and probes the crevasse against the open plateau. Degenerate recipe
parameters now fail an assert.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 22:00:24 +02:00
OlivierandClaude Fable 5.1 26f29ce14f feat(tools): Strata modifier quantises steep walls into ledges
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 21:39:30 +02:00
OlivierandClaude Fable 5.1 6dd2e86f91 feat(tools): Outcrop and BoulderField primitives with forced rock material
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 21:38:32 +02:00
OlivierandClaude Fable 5.1 aae9bcd301 feat(tools): polyline Canyon and Escarpment primitives with outline noise
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 21:37:17 +02:00
OlivierandClaude Fable 5.1 520a62863b feat(tools): modifier phase and per-primitive material hook in the site baker
The bake order is now primitive sum, modifiers (with the local gradient),
floor clamp, slope material, primitive materials, material patches. A
regression test checks the Banc du Vigilant still bakes byte for byte.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 21:35:42 +02:00
OlivierandClaude Opus 5.5 ce3b75989e perf(sites): build terrain tiles from bulk field blocks
Building the 64 tiles of the Banc du Vigilant cost about 1.9 s through
per-vertex cell_world_position/normal_at_cell calls, leaving the 3 s
load budget with too little headroom (2.1-2.9 s measured, one 4.8 s
outlier). TerrainHeightField now returns positions and normals of a
cell block in one call, with normal_at_cell sharing the same formula;
the tile build drops to about 0.5 s.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 20:55:35 +02:00
OlivierandClaude Opus 5.5 682e1f18e5 perf(sites): validate the site once and hand collision the field array
DiveSite.configure() builds the height field once (TerrainHeightField
validates the data) instead of running the definition validation and
then the field construction again; the composition root relies on the
error returned by configure(). The collision shape takes the field's
row-major elevations directly instead of copying 263k cells one by one.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 20:52:04 +02:00
OlivierandClaude Sonnet 5.5 8ab1289d10 feat(tools): declarative site terrain baker and calibration recipe
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-06 20:01:36 +02:00
OlivierandClaude Haiku 4.5 084b663d63 feat(sites): playable bounds rule with typed status
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-10-06 19:55:19 +02:00
OlivierandClaude Haiku 4.5 506f6dd0c8 feat(sites): typed dive site definition with placements and routes
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-10-06 19:52:24 +02:00
OlivierandClaude Haiku 4.5 1c1f0b87da feat(sites): typed terrain data and height field sampler
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-10-06 19:45:21 +02:00
OlivierandClaude Haiku 4.5 fdbfd773e2 feat(sonar): add SAND terrain material
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-10-06 19:40:10 +02:00
chindit 7613daee84 Add production bathymetric sonar slice 2026-10-02 15:52:11 +02:00
chindit a18e82eb44 Implement production vertical slice foundation 2026-10-02 15:27:48 +02:00