acdream/tests/AcDream.App.Tests/Rendering/Walk
Erik 03f63686cc feat(render) Campaign FW3.2b-1: the walk frame driver
WalkFrameDriver executes one full static-content frame from the walk's
turns so GPU command-buffer order equals retail's walk order. One rule
does the interleaving: the accumulated OrderedDrawStream flushes
through SubmitOrderedStream immediately before EVERY non-stream draw
(sky, terrain slice, cell shell, punch fan, alpha barrier).

Turn script, all decomp-cited and two of them corrected in review:
- Interior flood: per cell IN FLOOD ORDER, shell first then contents
  (PView::DrawCells @0x005a4840: DrawEnvCell @0x005a4abe precedes
  DrawObjCellForDummies @0x005a4b0d).
- Landscape: sky once, terrain per active slice, then blocks
  far-to-near; per cell the building turn precedes the cell's outdoor
  statics (DrawSortCell @0x0059f140).
- Building (DrawBuilding @0x0059f2a0): the BLD probe event stays at
  entry, but the ENTIRE body - alpha barrier, portal passes, shell -
  sits inside retail's gfxobj[deg_level]!=0 gate @0x0059f2d3, and the
  order is FlushAlphaList @0x0059f30b -> the two-pass punch/look-in
  walk -> THEN the shell draw @0x0059f345. The driver review caught
  both the missing gate and a shell-before-punch inversion; fixed
  with the addresses cited.

Walk seam: three additive default-implemented IWalkEventSink hooks
(OnLandscapeCellTurn / OnBuildingTurn / OnBuildingShellTurn /
OnPunchGeometry) - every existing sink and all FW1 conformance
fixtures unchanged. WalkLandBlock gains LandblockId for the cell-id
encoding. Leaf draws go through IWalkFrameLeafRenderer so FW3.2b-2
wires the real renderers and the referee suite runs on fakes +
RecordingGpuDevice.

Flagged for FW3.2b-2/FW4 adjudication (documented in code):
FlushFartherThan(building distance) vs retail flush-all
FlushAlphaList(0f); terrain-before-statics within the landscape turn.

Suites: full Release build 0 warnings; Walk lane 200/1 skip;
InstalledDat Walk conformance 40/1 untouched; hermetic 6,752/0.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-30 14:23:17 +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
WalkBuildingRegistryTests.cs feat(render) Campaign FW3.1: production walk world data behind the seam 2026-08-30 13:19:22 +02:00
WalkCopyViewTests.cs feat(render) Campaign FW1: port the view machinery (xformStart, polyClipFinish, copy_view) 2026-08-30 09:50:03 +02:00
WalkFrameDriverTests.cs feat(render) Campaign FW3.2b-1: the walk frame driver 2026-08-30 14:23:17 +02:00
WalkLandscapeAssemblerTests.cs feat(render) Campaign FW3.1: production walk world data behind the seam 2026-08-30 13:19:22 +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
WalkProductionFrameContextTests.cs feat(render) Campaign FW3.1: production walk world data behind the seam 2026-08-30 13:19:22 +02:00
WalkProductionWorldConformanceTests.cs feat(render) Campaign FW3.1: production walk world data behind the seam 2026-08-30 13:19:22 +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
WalkStaticStreamPopulatorTests.cs feat(render) Campaign FW3.2a: the walk-to-draw population layer 2026-08-30 13:52:23 +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