Commit Graph
22 Commits
Author SHA1 Message Date
OlivierandClaude Fable 5.1 029e2b99bd feat(world): world-space marine snow around the viewer
Quality Gate / Quality Gate (pull_request) Failing after 3m10s
A GPUParticles3D emitter in the dive site re-centres on the active camera
every frame and restarts after a jump, so flakes keep their own slow sink
and drift while the submarine moves through them. Soft additive billboard
discs dimmed by the water column and faded over their life replace the
sphere volume that was attached to the submarine and turned with it.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 09:25:02 +02:00
OlivierandClaude Fable 5.1 48e054557c feat(world): volumetric coral heads on patch reefs
Quality Gate / Quality Gate (pull_request) Failing after 3m18s
Three procedural coral head meshes (boulder, brain-ridged, lobed domes on
a flat base, vertex-shaded crevices) are scattered on gentle rock between
12 and 40 m, clustered by noise, one MultiMesh per tile and variant, with
an opaque shader under the shared water column. The coral assertions
run on the Banc du Vigilant, whose patch reef lies in the lit band.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 08:22:09 +02:00
OlivierandClaude Fable 5.1 0f9918224a feat(world): seabed flora and encrusting growth on rock
Quality Gate / Quality Gate (pull_request) Failing after 2m58s
SeabedFloraActor scatters seagrass tufts on flat sand in the lit band and
sea fans on rock between 15 and 60 m, deterministically from the site id,
one MultiMesh per tile and kind, with procedural alpha-cut meshes and
textures (SeabedFloraAssets), vertex sway and wrapped lighting, no
collision and no sonar presence. Placement reads the field arrays
directly and runs on the worker thread pool. The seabed shader grows
turf algae on sunlit rock, coralline crusts in patches and encrusting
sponges in the shade, fading out between 40 and 75 m. The water-column
optics move to a shared shader include.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 00:44:10 +02:00
OlivierandClaude Fable 5.1 122f3f5800 feat(world): render steep tiles on a smooth bicubic surface, sampled in parallel
Tiles holding a slope over 35 degrees are meshed at two vertices per cell
on a clamped Catmull-Rom surface that passes through every grid node, so
cliffs and ledges lose the facets of the heightfield grid while the
collision stays on the grid. The domain field exposes the smooth
elevation and a separable, per-phase-weighted block sampler with linear
edge extrapolation and a one-cell margin for continuous normals; the actor
samples tiles on the worker thread pool and builds meshes afterwards.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 00:09:42 +02:00
OlivierandClaude Fable 5.1 d7e50f8879 feat(world): depth-coloured water column fog and de-tiled sand ripples
A FogVolume covering the site carries a fog shader whose scattering albedo
follows the same spectral transmittance as the seabed and whose density
grows below the reference depth, so haze darkens and turns indigo with
depth around every object; the global volumetric density moves into the
volume and the far depth fog only covers what lies beyond 128 m. Sand
ripples are bent by a slow domain warp, blended with a larger ripple
scale and faded out between 40 and 60 m, which hides the 3.2 m tiling.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 23:44:04 +02:00
OlivierandClaude Fable 5.1 17f58912c1 feat(world): triplanar seabed shader with procedural normal maps and detail shading
Rock is normal-mapped triplanar in world space at two scales, sand carries an
oriented ripple normal map on the xz plane, and a grain map drives detail
occlusion, albedo mottling and roughness. The three maps are seamless,
seeded, mipmapped textures built synchronously by SeabedDetailTextures, so
no asset is needed and builds are deterministic. The mesh has no tangents:
perturbed normals are computed in world space and written to NORMAL.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 23:05:33 +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 caa74b3ee1 test(sites): geometric contract and integration checks for the terrain showcase
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 21:47:51 +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 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
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