acdream/tests/AcDream.App.Tests/Rendering/Walk
Erik e65644cb33 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>
2026-08-30 12:31:31 +02:00
..
LandWalkOrderTests.cs feat(render) Campaign FW1: port the retail landscape draw-order machinery 2026-08-30 09:35:26 +02:00
OrderedDrawStreamTests.cs feat(render) Campaign FW2: OrderedDrawStream + walk-order submitter 2026-08-30 12:31:31 +02:00
OrderPreservingSubmitterTests.cs feat(render) Campaign FW2: OrderedDrawStream + walk-order submitter 2026-08-30 12:31:31 +02:00
RetailFrameWalkTests.cs feat(render) Campaign FW1: the degrade-level BSP gate kills the wrong punches 2026-08-30 10:51:05 +02:00
WalkBuildingJoinDiagnosticTests.cs feat(render) Campaign FW1: look-in adjudication - the GetVisible load gate 2026-08-30 10:43:27 +02:00
WalkBuildingPortalTests.cs feat(render) Campaign FW1: NINE of ten fixtures conformant - the degrade arm 2026-08-30 11:34:45 +02:00
WalkCopyViewTests.cs feat(render) Campaign FW1: port the view machinery (xformStart, polyClipFinish, copy_view) 2026-08-30 09:50:03 +02:00
WalkLandscapeDatBuilder.cs feat(render) Campaign FW1: SIX OF TEN FIXTURES FULLY CONFORMANT 2026-08-30 11:07:29 +02:00
WalkLookInGateSweepTests.cs feat(render) Campaign FW1: SIX OF TEN FIXTURES FULLY CONFORMANT 2026-08-30 11:07:29 +02:00
WalkOracleTrace.cs test(render) Campaign FW1: pose-aware oracle trace parser 2026-08-30 10:19:45 +02:00
WalkOracleTraceTests.cs test(render) Campaign FW0: walk-oracle replay helper + fixture goldens 2026-08-30 09:14:55 +02:00
WalkPortalGateDumpTests.cs feat(render) Campaign FW1: doorway-still conformant - deg_mul is dynamic 2026-08-30 11:49:27 +02:00
WalkPViewFloodTests.cs feat(render) Campaign FW1: port the PView interior flood 2026-08-30 09:58:28 +02:00
WalkScreenClipTests.cs feat(render) Campaign FW1: port the view machinery (xformStart, polyClipFinish, copy_view) 2026-08-30 09:50:03 +02:00
WalkTraceConformanceTests.cs feat(render) Campaign FW1: doorway-still conformant - deg_mul is dynamic 2026-08-30 11:49:27 +02:00
WalkTraceReplay.cs feat(render) Campaign FW1: street fixture retail-exact except flood depth 2026-08-30 11:02:16 +02:00
WalkVisibilityMathTests.cs feat(render) Campaign FW1: flood decomp appendix + the visibility math port 2026-08-30 09:44:49 +02:00
WalkWorldDatAdapter.cs feat(render) Campaign FW1: SIX OF TEN FIXTURES FULLY CONFORMANT 2026-08-30 11:07:29 +02:00
WalkWorldDatAdapterTests.cs feat(render) Campaign FW1: the landscape replay world + first outdoor diff 2026-08-30 10:36:09 +02:00