Commit Graph
27 Commits
Author SHA1 Message Date
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 30cc2f635f test(sites): load the Banc du Vigilant and check tiles on a non-square grid
The site terrain integration now also configures zone 1 (3 s budget,
seabed under the hull, trench at the groove entrance, reference scan
from the spawn). The actor test uses an 81 x 65 grid with an
off-diagonal bump, checks tile vertices against their field cells and
samples the collision between vertices.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 20:55:35 +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 Opus 5.5 be16d2ee07 fix(content): lay the Vigilant hull along la Saignee within the distance budget
The target hull now lies along the groove axis (yaw derived from the
groove constants), set back 22 m from the groove end so both hull ends
rest on the flat groove floor. The mooring, spawn and first route
waypoints move to z = -210 and the decoy yacht to (-30, -150) so no
wreck is farther than 320 m from the mooring and no two wrecks are
farther than 260 m apart (spec 4.1). The spawn faces south toward the
site. Four contract assertions pin the budget, the spawn heading and
the hull orientation.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 20:49:28 +02:00
OlivierandClaude Sonnet 5.5 e00c97091b feat(sites): dive on the Banc du Vigilant by default
Zone 1 becomes the default dive site; the foundation suite still selects the
calibration site explicitly. Documents the site suites, the site content
workflow and the authored heightfield terrain (ADR 0012), and aligns the zone 1
brief with the baked data (storage format, route lengths, 6 m ridge and
pinnacles).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-06 20:25:19 +02:00
OlivierandClaude Sonnet 5.5 a1493434e4 feat(content): bake the Banc du Vigilant site and its contract tests
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-06 20:21:29 +02:00
OlivierandClaude Sonnet 5.5 51634820bd feat(composition): dive world assembled from a selected site definition
The calibration site spawn sat 16 m from the south bounds edge, inside the
40 m warning margin. The vehicle_test recipe now extends the terrain and
playable bounds 42 m to the south so the spawn is inside the zone.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-06 20:16:45 +02:00
OlivierandClaude Sonnet 5.5 bbf1dc9990 fix(world): wind terrain triangles clockwise so the seabed is a front face
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-06 20:09:46 +02:00
OlivierandClaude Sonnet 5.5 b1d32f7d81 feat(world): generic dive site scene fed by a baked site definition
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-06 20:08:07 +02:00
OlivierandClaude Sonnet 5.5 0e590f2bc7 feat(world): tiled heightfield terrain actor with per-cell sonar materials
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-06 20:04:13 +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 b6f6b53a70 Render bathymetric sonar surface 2026-10-06 07:59:50 +02:00
chindit fdebbafeae Build validated industrial submarine cockpit 2026-10-04 10:39:56 +02:00
chindit dffe790926 Reframe cockpit around industrial reference 2026-10-04 09:50:41 +02:00
chindit c2b3ac42a3 Refine cockpit porthole and indicators 2026-10-04 09:30:12 +02:00
chindit 53288b48c8 Integrate gauges into cockpit dashboard 2026-10-03 09:40:36 +02:00
chindit 0b79bf9b82 Add realistic cockpit surface textures 2026-10-03 09:30:56 +02:00
chindit 5455ae7928 Improve production cockpit realism 2026-10-03 09:17:27 +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
chindit c38e09a663 Validate POC A and POC B foundations 2026-08-07 13:31:21 +02:00