acdream/src/AcDream.App
Erik 212f5a12e5 perf(render) Campaign FW3.4a: one walk pass; prepare-once/draw-ranges; arena records
The FW3.4 dense-Arwic pair triggered the +/-20% stop rule (+33.5% CPU
p50, 14x frame allocation). This slice removes the three measured
costs without changing GPU command order (the referee suites assert
identical recorded call sequences):

- WalkFrameDriver: Collect (ONE walk per frame - no GPU work; leaf
  calls and flush points become a recorded event list; the driver
  absorbed the renderer collection pass and exposes the visited sets)
  + Replay (prepare the whole stream once, then replay events,
  interleaving DrawOrderedRange with leaf calls in the exact recorded
  order). RunFrame = Collect+Replay for existing callers.
- WbDrawDispatcher: SubmitOrderedStream split into PrepareOrderedStream
  (all sections + commands + merge runs uploaded once per frame) and
  DrawOrderedRange (bind-once latch; per-run pipeline + DrawIdOffset +
  DrawIndirectRangeRhi). Load-bearing correctness catch from the
  implementation round: merge runs take FORCED BREAKS at the recorded
  event marks - whole-stream merging must not fuse two segments that
  retail separates with a leaf GPU call (shell, punch); the straddle
  assert stays as a dead-code safety net.
- WalkProductionWorldData: WalkFrameStaticRecords carries an
  ArraySegment into a per-frame grow-only arena; the per-cell
  fresh-array copies (the 1.9 MB/frame alloc p50) are gone - zero
  steady-state allocation after warmup.

Suites (lead-verified): full Release build 0 warnings; hermetic
6,758/0; Walk lane 209/1; InstalledDat Walk conformance 40/1
untouched. Next: the dense-Arwic re-measure against the same-session
baseline.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-30 17:01:26 +02:00
..
Audio fix #417: world ambience kept playing at character select after the in-world logoff 2026-08-17 18:46:04 +02:00
Combat fix #436: combat no-target refusal reaches the SpewBox with retail's exact text 2026-08-24 12:53:11 +02:00
Composition feat(render) Campaign FW3.2b-2: the walk shadow probe (I5 pattern) 2026-08-30 14:47:15 +02:00
Configuration feat(launcher): stabilize prepared content updates 2026-08-25 19:17:13 +02:00
Credentials fix(launcher): close Campaign LA LA1 review findings 2026-08-14 17:00:09 +02:00
Diagnostics fix(client): restore retail interaction parity 2026-08-26 20:45:11 +02:00
Input feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
Interaction fix(client): restore retail interaction parity 2026-08-26 20:45:11 +02:00
Net fix: complete retail parity stability pass 2026-08-28 20:01:39 +02:00
Physics fix: complete retail parity stability pass 2026-08-28 20:01:39 +02:00
Platform Merge origin/main into MossTank automation work 2026-08-27 19:01:26 +02:00
Plugins feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
Rendering perf(render) Campaign FW3.4a: one walk pass; prepare-once/draw-ranges; arena records 2026-08-30 17:01:26 +02:00
Runtime feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
Settings fix: complete retail parity stability pass 2026-08-28 20:01:39 +02:00
Spells Revert "Campaign V slice V4a" - it lost world multisampling 2026-07-27 18:29:28 +02:00
Streaming feat(render) Campaign FW3.3: ShellDrawLiftZ is RETIRED - cells draw at the dat origin 2026-08-30 16:08:52 +02:00
UI fix: complete retail parity stability pass 2026-08-28 20:01:39 +02:00
Update feat(audio): Campaign A slice A5 — retail's region ambient soundscape 2026-08-08 22:53:41 +02:00
World fix: complete retail parity stability pass 2026-08-28 20:01:39 +02:00
AcDream.App.csproj feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
GlobalUsings.cs feat(runtime): share chat commands and run login sequence 2026-08-14 20:27:45 +02:00
packages.linux-x64.lock.json build: make release restore reproducible 2026-08-18 10:29:00 +02:00
packages.neutral.lock.json build: make release restore reproducible 2026-08-18 10:29:00 +02:00
packages.win-x64.lock.json build: make release restore reproducible 2026-08-18 10:29:00 +02:00
Program.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
RuntimeOptions.cs fix: complete retail parity stability pass 2026-08-28 20:01:39 +02:00