Skip to content

fix(strata): PRD 618 complete the forest before revealing it - #510

Draft
jonit-dev wants to merge 55 commits into
developfrom
feat/prd618-complete-world
Draft

jonit-dev wants to merge 55 commits into
developfrom
feat/prd618-complete-world

Conversation

@jonit-dev

@jonit-dev jonit-dev commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Keep the loading cover up until the initial world and render pipelines are ready. The current licensed overview comparison still shows missing distant trees. This PR is a draft while the remaining visual and performance criteria are investigated.

  • Verified: 5/10 PRD boxes. Six headed NVIDIA browser runs measured median readiness of 12,558.5 ms → 8,977.5 ms (ratio 0.715). The browser and desktop reveal scenarios each passed 10/10: pipelineCensusAvailable=true, post-reveal pipelinesCreated=0.
  • Open: AC-5 reveal-to-+3 s visual comparison was NEUTRAL on both pairs. AC-7’s fresh licensed overview judge returned REGRESSION on both pairs (missing trees behind the lake and on the right hillside); river was NEUTRAL. Four labelled overview images and judge context.
  • Still needed: reliable terminal-distance evidence and final steady-state performance qualification. The earlier full-source gate at 7967 with 10,727 tests passed is historical evidence, not proof for the current final candidate.

The PR remains draft: CI has no checks, so no green CI result or full acceptance is claimed.

@jonit-dev jonit-dev added the prd:0% PRD implementation has no verified phase yet label Oct 15, 2026
@jonit-dev jonit-dev changed the title fix(strata): complete the forest before revealing it fix(strata): PRD 618 complete the forest before revealing it Oct 15, 2026
@jonit-dev

Copy link
Copy Markdown
Contributor Author

Startup BEFORE/AFTER screenshots — two headed NVIDIA WebGPU runs per arm. Baseline source 88b988cd7; local startup candidate 3ccb616b6 (implementation push pending final local checks). These are procedural fallback frames; they do not qualify the licensed far-tree criteria.

Fresh read-only visual judge: NEUTRAL — AC-5 not passed. Both BEFORE and AFTER appear stable between reveal and +3 s; the judge found no visible improvement. AC-5 remains open. The zero late-shadow counters alone are not a visual verdict.

Run / frame BEFORE AFTER
1 / reveal BEFORE 1 reveal AFTER 1 reveal
1 / reveal-plus-3s BEFORE 1 reveal-plus-3s AFTER 1 reveal-plus-3s
2 / reveal BEFORE 2 reveal AFTER 2 reveal
2 / reveal-plus-3s BEFORE 2 reveal-plus-3s AFTER 2 reveal-plus-3s

Controlled timing, three alternating runs per arm on the same preview-server setup and GPU: median 10,831.4 → 11,572.7 ms (+6.844%), within the PRD’s 1.25× bound. All three startup-candidate reveal scenarios pass with zero late view publications, shadow invalidations, and pending impostor bakes. Final foliage integration must repeat these checks.

@jonit-dev jonit-dev added prd:25% PRD phase 1 verified and removed prd:0% PRD implementation has no verified phase yet labels Oct 15, 2026
@jonit-dev

jonit-dev commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor Author

Leaf clipping fix is pushed in aa545be (current PR head 5d3817a).

Fresh read-only visual judge: IMPROVEMENT in both runs. BEFORE has straight clipped card edges; AFTER preserves complete needle tips and internal transparency holes.

Run BEFORE AFTER
1 BEFORE leaf clipping run 1 AFTER leaf clipping run 1
2 BEFORE leaf clipping run 2 AFTER leaf clipping run 2

Scope: actual procedural crown material and atlas, same close-up pose. The generator now fits complete needle strokes inside each tile instead of clipping them at its boundary. Fine tips remain jagged and dense bands remain flat-looking. All four formal captures verified NVIDIA/Turing with fallback=false and produced byte-identical images to these judged pairs; this visual verdict does not pass startup AC-5 or licensed-foliage AC-7.

@jonit-dev

Copy link
Copy Markdown
Contributor Author

Pushed 085d01e: native staging no longer places its manifest in the web root; stopping a game cancels startup timers instead of reporting a delayed false failure. Focused regression checks, 93 startup/game tests, full typecheck and lint pass.

The leaf BEFORE/AFTER comparison and IMPROVEMENT verdict remain the current visual proof.

Not ready to merge: the full terrain run exposed WebGPU vertex-input overflow in the new dither path, in both view and shadow pipelines. That engine regression is being fixed. Startup AC-5 still fails; licensed-foliage acceptance and final paired startup timing remain open.

@jonit-dev

Copy link
Copy Markdown
Contributor Author

Current captures are below. They do not yet prove the promised visual improvement. A fresh read-only judge rated both matched timepoints and the overall comparison NEUTRAL; AC5/7 remain open.

BEFORE and AFTER at reveal and three seconds later

These are headed Intel gen-12lp WebGPU captures at 1280×720, with procedural fallback assets and CPU profiling enabled. Original pixels are preserved below the labels. There is one run per arm; this is diagnostic evidence, not the required repeated visual or unprofiled startup qualification.

The CPU profiles show reflector-inclusive sampled time falling from 2,812 ms to 14 ms. This is a measured CPU improvement, not a visual verdict. The subsequent native forest reveal scenario now passes with no diagnostics and 10 observations over 3.1 seconds; its separate native command-buffer discard fix is local and has not yet been pushed. Licensed-foliage visual acceptance and the final startup ratio remain open.

@jonit-dev

Copy link
Copy Markdown
Contributor Author

Native reveal proof from local source f0c4693ae: two runs, 8/8 assertions each, ready in 29.53 / 29.27 seconds. All three late-work counters are zero; both runs report zero console errors, network errors and runtime diagnostics.

Time Native run 1 Native run 2
Reveal Run 1 reveal Run 2 reveal
+3 seconds Run 1 plus 3 seconds Run 2 plus 3 seconds

Fresh read-only judge: NEUTRAL in each run and overall for native temporal stability. Same scene and camera, no added or missing terrain/tree/prop masses, no major shadow or exposure change; small foliage motion remains.

These captures use procedural fallback assets. Licensed far-tree visual improvement, browser timing and pipeline census remain pending. PRD progress is 3/10; the PR stays draft. Original screenshot bytes are preserved on prd-618-screenshots at 7e0adc536222447994606cdb299e3216e33240db.

@jonit-dev

Copy link
Copy Markdown
Contributor Author

Latest visual proof: not ready to merge. PRD progress is 5/10 verified locally.

Matched licensed-asset comparison: all 67 models, both cooks at 1024 texture size, same overview pose at 1600×900, headed NVIDIA/Turing WebGPU, two runs per arm. BEFORE source 88b988cd70d5db7266eb0281e5f74bd0e030b3e7; AFTER source 7967fe079eb4fbce1f79a40813bb989c770804b0.

Fresh read-only visual judge: REGRESSION on both overview pairs. AFTER loses tree coverage behind the lake and on the right hillside. River pairs were NEUTRAL. These screenshots demonstrate the outstanding failure; they do not establish successful visual completion. The separate first-uncovered/+3s licensed video frames were NEUTRAL, so AC5 remains open too.

Run 1: BEFORE / AFTER

BEFORE run 1

AFTER run 1

Run 2: BEFORE / AFTER

BEFORE run 2

AFTER run 2

Current work: isolate streaming, terminal LOD selection and impostor drawing before changing the implementation. No merge queue submission until the remaining acceptance criteria pass.

@jonit-dev

Copy link
Copy Markdown
Contributor Author

Current proof: native passes; visual acceptance still fails. PRD remains 5/10 verified and the PR stays draft.

The corrected native project root passes the licensed reveal + overview scenario: 12/12 assertions, 1,147 frames, zero console/network/runtime diagnostics, NVIDIA/Turing RTX 2080. The earlier texture errors came from the test fixture’s project root; no native engine fix is claimed.

Matched visual comparison: two headed Intel gen-12lp runs per arm, 1600×900, all 67 licensed models with matching 1024 cooks. BEFORE is source 88b988cd; AFTER is the recorded dirty-worktree snapshot based on a3b20b0f (runtime diff 4a9aa3c8…), with the scaled spruce terminal gate and baked-alpha raymarch correction.

Fresh read-only judge: REGRESSION on overview in both runs; river NEUTRAL. AFTER has missing foreground coverage at 4s and conspicuous tree fill by 19s. BEFORE remains stable. At run 1 overview, AFTER admission backlog is 53→0 and impostor draws 1,046→2,247; loads and bake queues are already zero. Investigation is now on the CPU admission path (gpuScene: false), not GPU selection.

Run 1

Time after overview BEFORE AFTER
4 s BEFORE run 1 4 s AFTER run 1 4 s
19 s BEFORE run 1 19 s AFTER run 1 19 s

Run 2

Time after overview BEFORE AFTER
4 s BEFORE run 2 4 s AFTER run 2 4 s
19 s BEFORE run 2 19 s AFTER run 2 19 s

All 16 labeled overview/river captures. No visual completion, final performance result, or green CI claim is made.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

prd:25% PRD phase 1 verified

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant