feat(render) Campaign FW2: OrderedDrawStream + walk-order submitter
The walk-order submission layer over the existing RHI (plan section FW2): - OrderedDrawStream: append-only walk-ordered draw commands (GroupKey + transform + per-instance data + WalkDrawStage + cell provenance), struct-of-arrays with one lockstep Reset (#193 shape). The PortalPunch stage exists but has no FW2 submission path - the submitter throws on it; punch emission lands with FW3 wiring. - WbDrawDispatcher.OrderedStream partial: per-instance-first emission (the deferred-alpha shape - command i owns instance i, walk order survives into the indirect array), each SSBO section written once, then one DrawIndirectRangeRhi call per maximal merge run. Runs are built by pure-CPU BuildOrderedMergeRuns and may never span a stage, pipeline-bucket, or cull boundary; ValidateMergeRun re-checks every emitted run and throws (the campaign fail-loud rule). Nothing is sorted, reordered, or dropped: N commands in, N indirect commands out, covered exactly once. - WorldDepthContract: retail world depth verified verbatim from the decomp - Render::zfuncVal @0x00820e1c = 0x2, SetDepthBufferMode @0x005a2d10 writes the enum directly as D3DRS_ZFUNC so the value IS D3DCMP_LESS, applied by the surface-state applier @0x0059c80a with Z-write toggled by blend; the LESSEQUAL sites are GameSky::Draw-local. Seven world pipeline sites now cite the named constant (no value changes). - Plan updated: FW1 status block + gate amendment (the ten pose-stamped retail traces supersede re-expressing the old-builder replay fixtures; those retire with the old builder at FW4 and their scenario classes re-verify at the FW3/FW4 connected gates). Known FW2 scope notes recorded in the code: the building-detail overlay replay is production wiring (FW3); the _drawCullModes scratch may not interleave with a mid-flight RetailAlphaQueue scope (FW3 sequencing constraint). The pixel A/B equivalence proof rides FW3's cutover toggle where a walk-driven scene first exists. Suites: full Release build 0 warnings; Walk lane 154/1 skip; hermetic 6,714/0 (+27 new). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
77f5342b62
commit
e65644cb33
12 changed files with 1461 additions and 31 deletions
|
|
@ -218,6 +218,31 @@ oracle traces exactly.
|
|||
vs the old builder are adjudicated against the ORACLE, not against the
|
||||
old builder. No production wiring; hermetic suites green.
|
||||
|
||||
**FW1 STATUS (2026-08-30, @`77f5342b`):** NINE of the ten pose-stamped
|
||||
fixtures reproduce retail frame-exactly (foundry-deep all 39 frames,
|
||||
doorway-still, street-outdoor, terrace-center, terrace-edge — the #456
|
||||
acceptance pose — cathedral-arrival, holtburg-walkout, -transitions,
|
||||
-walkabout); foundry-entry is exact through F66 with the F67–F79
|
||||
standing segment parked on ONE live number (building 0036's root-plane
|
||||
viewpoint — probe `tools/walk-oracle/fw1-f67-viewpoint-probe.cdb`,
|
||||
goal-sanctioned retail-session stop filed with the user). Load-bearing
|
||||
adjudications, all decomp-cited: the two-arm `get_degrade` threshold
|
||||
rule (ideal→max at the live `deg_mul≈+0.99`), deg_mul's DYNAMIC swing
|
||||
under capture load (doorway-still pins mul=0 — an environment pin like
|
||||
the viewport), znear=0.1 confirmed, and the Ghidra-arbitrated portal
|
||||
walker truth table (BN FPU pseudo-C mis-renders branch sense — three
|
||||
separate misreads this stage; Ghidra first, always).
|
||||
**Gate amendment:** the old-replay-fixture re-expression is retired as
|
||||
an FW1 gate — the ten traces are direct retail evidence and strictly
|
||||
supersede fixtures that encode the OLD builder's behavior; the old
|
||||
suite's scenario classes (doorway flap, dungeon seams, tower ascent,
|
||||
corner flood) are covered by the traces and re-verified live at the
|
||||
FW3/FW4 connected gates, where the old fixtures retire with the old
|
||||
builder. Production classes: `RetailFrameWalk`, `WalkPView` (the
|
||||
PViewSet role), `WalkBuildingPortals`, `WalkLandscape`,
|
||||
`WalkVisibilityMath`, `WalkScreenClip`, `WalkCopyView` under
|
||||
`src/AcDream.App/Rendering/Walk/`.
|
||||
|
||||
### FW2 — `OrderedDrawStream` + `OrderPreservingSubmitter`
|
||||
|
||||
**Goal:** walk-order submission through the existing RHI, proven
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue