Repository navigation
Conversation
PRD-592. Bound LOD simplify workers, reuse accessor metadata and buffers, cook only LOD0 for terrain chunks and batch unique writes. Quiet host, 8 alternating runs: 2.760 s -> 2.401 s mean (13.0%), 22/22 files SHA-256 identical. The 30% AC-5 target is not met and stays open.
…rated stale The previous commit's hook rewrote the capability manifest, reference and API surface from a stale view and dropped cookTerrainWorld, applyTerrainSurface and the terrain ./kit and ./starter exports. Regenerating in this worktree reproduces the earlier files; capabilities:check passes with 452 entries.
…odule loads PRD-592. Load the ogg, bvh and xatlas modules only when a pass needs them (bakeStaticLightmap becomes async; its callers are internal), start the LOD workers earlier and size the pool to the targets, and reuse the cook's world package in bakeKit instead of building it twice. Eight alternating runs on a quiet host against the pre-speedup baseline: mean 1.975 s -> 1.381 s (30.1%), median 29.6%. 22/22 output files SHA-256 identical. AC-5 stays unticked until a longer confirmation run.
14 alternating pairs on a quiet host against the pre-speedup baseline 8a228dd: mean 1.809 s -> 1.256 s (30.5%), median 30.6%, 22/22 files SHA-256 identical.
…snow caps Game-layer appearance fix for two defects a fresh visual judge ranked on the tundra player frame. The right-side dark wedge was a terrain/horizon normal discontinuity and an abrupt transport-mask cutoff, not a shadow: terrain.ts now fades both. Tundra rocks gain slope-aware snow treatment and kept dark detail under ACES (propMaterials.ts, biomes.ts). Two regression tests failed first. Judge verdict on two same-pose runs: IMPROVEMENT, about 4.0 -> 4.8 out of 10; known remaining: hard white caps, jagged far horizon on the right, dark patch.
Contributor
Author
70068c7 added the two build-file predecessors to the Three patch pin but the generate-three-patch spec still asserted 31 pairs. The pin is the source of truth, so the three length assertions now say 33. Also records in PRD-585 that the forest destroyed-texture errors did not reproduce in five attempts.
…tiling A fresh visual judge ranked the repeating brown worm blotches on the coastal overview beach as the clearest ground defect. The cause was the noise-fragmented wrack band drawn at any distance; it now fades out between 60 and 120 m (terrain.ts, game appearance, 4 lines). Judge on two same-pose runs: IMPROVEMENT, 4.5 -> 5.0 of 10, hillside and desert unchanged (pixel difference at the noise floor), waterline dashes kept. Larger ripple, strata and snow-drift candidates were dropped: invisible at the judged resolution.
Contributor
Author
… and shore The coastal ocean showed a hard diagonal navy/teal seam and a rectangular shallow zone in the overview. A square bounds mask switched the seabed depth to 28 m across 4 m (ocean.ts:202 and the mirrored starter sea.ts). Depth now comes from the corrected heightfield with a smooth edge, the colour ramp uses the measured 4.1 m seabed range from turquoise to deep blue, the shore turns translucent over 0 to 2.5 m, and a sparse two-scale foam fades by pixel footprint. Fresh judge on two same-pose runs, three-way against the first attempt: IMPROVEMENT over before, better than attempt one, about 5.0 -> 6.6 of 10. Known remaining: murky open sea, almost absent foam band, no seabed detail. No new texture fetches; GPU pair 21.3 -> 20.7 ms (informational).
Contributor
Author
…e local readiness code PRD-591 AC-2. The preview's spawnReadinessSnapshot and helpers (loading.ts) and prop streaming's readinessAt and ready flag are deleted; game.ts waits on whenSpawnReady for nearby prop cells and on prewarm for drawing. Net -116 lines. A premature gate failed the new regression first. Forest web run is 41 of 44 before and after; only the three known perf budgets fail.
…r texture Owner feedback: the procedural beach stones were faceted flat-shaded egg blobs in flat olive. cover.ts now builds smooth indexed stones (about 500 triangles) with three noise octaves, two softened chisel cuts, seeded stretch and five variants, buried below the terrain so no skirt shows. Coastal and desert stones bind the tracked CC0 Poly Haven rock_boulder_dry set (512 px diffuse, normal and ARM, triplanar at 1.4 m, roughness from ARM.G, clamped AO); a cheap ambient fill lifts undersides; the grass contact band is off on coastal and tundra stones; desert stones take a warm tan tint; distant albedo is capped. Tundra snow caps and the committed cluster density (612 riverrock placements) are kept. New rocks.spec.ts and prop-surfaces.spec.ts cases failed against broken generators first. Fresh judge, three-way against the first attempt: IMPROVEMENT, coastal stones 3 -> 6, tundra 3.5 -> 5.5; known remaining: a lit rim at the coastal stone base (sun shadow, not geometry) and angular chisel faces.
Contributor
Author
The rim came from the sun shadow's receiver-plane filter bias (virtual-shadow.ts receiver-plane term), which is footprint wide and detaches low-relief contacts. For the coastal sun only, sky.ts now derives normalBias from one fine shadow texel and turns receiverPlaneBias off. Probes one at a time: bias 0, normal bias 0 and 0.07, radius 0 (acne) and a 4096 map did not remove it; receiver-plane off removed the broad band. Fresh judge on two same-pose runs: IMPROVEMENT in the coastal close-up (12-20 px band gone, a 2-3 px pale edge remains). Other worlds keep their fixed 0.035 bias and default receiver-plane bias: forest and tundra frames had no ground-level contact views and alpine and desert were not judged, so a broader change would be unproven. outdoor-shadows.spec.ts pins both sides.
Contributor
Author
… longer scatters PRD-591 AC-3. scatterProps and paintCanopy ran inside enter (355 ms of a 764 ms forest enter). scripts/bake.mjs now runs them and writes a Float32 placement table per world (gitignored like the other baked world files, regenerated by pnpm bake); enter loads it. Placement lists, order, counts and canopy arrays are SHA-256 identical to HEAD in all five worlds. enterMs 764 -> 35 ms, asserted under 50 ms in terrain.playtest.json. afterFirstFrameTaskMs and timeToReadyMs do not improve (largest tasks are now buildProps and the terrain mesh build). Native desktop lane not run; the staging script now includes the tables.
…cenario The committed enterMs <= 50 ms assertion reads the end-of-run value. In the full test:terrain:web run, coastal enter takes 218 ms (first visit) and 137 ms (return); forest 39, tundra 33, alpine 20, desert 20. The earlier tick rested on forest-scoped runs.
Coastal enter took 218 ms (first visit) and 137 ms (return) in the full showcase run because createWaterMesh ran inside enter. load() now prepares the ocean and water mesh and enter attaches them. The full scenario now has enterMs 10-45 ms in all six visits, so the PRD-591 AC-3 assertion passes; AC-3 is re-ticked with the evidence.
…n for the published archive
This branch has not been deployed
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.















Strata terrain hardening across the 12 original PRDs. 5/12 PRDs complete (587, 588, 589, 590, 592); 50/62 phase boxes, 110/132 combined phase and acceptance boxes, repository bucket
prd:75%. Every remaining criterion stays in scope; this is still a draft.The branch integrates current
developthrough159d1ca78. All six conflicts are resolved; regenerated canonical Three patches preserve morph pipeline sharing and bounded compressed uploads. Stale private-camera references from the automatic merge are corrected. Independent merge review: APPROVE.Verified locally:
3062b90cd7f84e6ff14f6a96de64ad406eeba30c55c95cc045b6219edf71f5b0. A clean extracted package downloaded all 18 entries without checkout assets or a URL override. Fresh-cache forest kit scaffold/build/typecheck/playtest PASS, 819 frames on NVIDIA/Turing. Independent release audit: 50 tests pass, package 616,539 bytes with no kit assets; APPROVE. PRD-589 is archived complete.Coastal stone contact: a four-line game-material change uses front-face shadow casting for both procedural and imported coastal stones. Two exact-pose headed NVIDIA before/after pairs were independently judged IMPROVEMENT / IMPROVEMENT, overall IMPROVEMENT: the thin pale contour disappears while stone texture and contact shadow remain. The captured procedural path is proven; imported assets were not visually exercised.
Remaining work includes layered forest material and consumer visuals; generated forest browser/native walk budgets; actual CI Strata/editor/consumer qualification; preview ground plumbing and five-world visual judgment; complete upload runtime proof; shadow/velocity/LUT comparison; and preview/machinefall walks. Individual PRD checkboxes remain authoritative in the batch.
Accepted procedural ground vegetation
Narrow curved grass blades, meadow/fescue/sedge variation, fern growth variation and joined wind seams are integrated. Independent review of two calibrated NVIDIA/Turing BEFORE/AFTER repeats grades meadow-close and foreground IMPROVEMENT in both pairs and overall; triangle counts, texture bytes and draw structure stay unchanged. Parent integration: 55 focused tests, example TypeScript and scoped Biome pass. Remaining stiff V-shaped tufts mean this is an improvement, not full photorealism acceptance. Optional local-asset 404s still fail capture diagnostics; cooked-kit/native/full-runtime acceptance remains open.
Pair 1: BEFORE meadow-close, AFTER meadow-close, BEFORE meadow-foreground, AFTER meadow-foreground.
Pair 2: BEFORE meadow-close, AFTER meadow-close, BEFORE meadow-foreground, AFTER meadow-foreground.
Tree repair remains separate: both overview repeats regress from sparse crown volume. PRD591 now has explicit texture paths (selected web and desktop 300-frame case pass), real five-world splat export/staging, and game sampling/material callbacks retaining core ordered blending (36 loader tests and core build pass). Callback runtime, actual preview migration, measured bands and five-world look acceptance are still open. Overall original PRD tally remains 5/12; full CI and the three failing runtime budgets are not green.