acdream/docs/research
Erik c7021d8645 docs(phase-m): sharpen Phase M into design spec + opcode coverage matrix
Captures Phase M (Network Stack Conformance) as a fully-formed phase
ready to be picked up later. Three deliverables:

1. Design spec at docs/superpowers/specs/2026-05-10-phase-m-network-stack-design.md
   (~700 lines, 8 sections):
   - Bar C completeness target ("wireable on demand"): every wire opcode
     a 2013 EoR retail client receives or sends gets a parser/builder +
     golden-vector test + typed event in the new layered stack.
   - Three-layer architecture: INetTransport / IReliableSession /
     IGameProtocol, with WorldSession as a thin behavior consumer.
     Concrete C# interface signatures, sub-component decomposition.
   - Worktree-branch big-bang migration on claude/phase-m-network-stack;
     weekly rebase cadence; single --no-ff merge ships the phase.
   - Per-sub-phase entry/exit gates, conformance test plan (golden vectors
     + live capture replay + live ACE smoke), 10-row risk register, scope-
     cut order if calendar compresses.
   - Cost: 256 hours / ~6.4 weeks single-developer; 4-6 weeks calendar
     with subagent parallelization on M.1 + M.6.

2. Opcode coverage matrix at docs/research/2026-05-10-phase-m-opcode-matrix.md
   (~284 rows across 5 sections):
   - Section 1: 22 transport flags (14 implemented).
   - Section 2: 12 optional-header fields (10 partial).
   - Section 3: 51 top-level GameMessages (21 implemented).
   - Section 4: 103 GameEvent sub-opcodes inside 0xF7B0 (27 parsed,
     26 wired).
   - Section 5: 96 GameAction sub-opcodes inside 0xF7B1 (24 built,
     8 with live callers).
   - Roll-up: ~34% complete by raw opcode count. Biggest single
     unblocking step is wiring the 16 dead builders in section 5
     (Phase B.4 surface — Use / UseWithTarget / Allegiance / Inventory
     / Social / Cast / Appraise).
   - Sources cited per row: holtburger (629695a), ACE, named retail
     decomp, acdream current state.
   - Produced by 4 parallel research agents (one per class). Spot-check
     pass owed before M.1 closes.

3. Roadmap update: Phase M section trimmed to summary + status + pointer
   to the spec; the previously-tracked M.0 Tier 1 quick-wins are folded
   into M.3 / M.4 / M.6 per the spec; M.1 retained as the matrix
   construction sub-lane with status note.

Why this shape: the user goal is a complete, layered, testable network
stack that can be wired in as gameplay phases need it — independent of
whether each opcode is yet hooked to game state. The matrix is the
source of truth for "done"; the spec is the architecture the matrix
implements against; the roadmap is the index that points at both.

Decisions captured during the design discussion (in case they need
revisiting):
- Bar C ("wireable on demand") chosen over Bar A (holtburger parity)
  or Bar B (named-retail completeness).
- Three layers (INetTransport / IReliableSession / IGameProtocol)
  chosen over holtburger's two-layer split.
- Big-bang on a feature branch (worktree) chosen over strangler
  pattern; preserves live-ACE testing on main throughout the phase.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-10 19:22:49 +02:00
..
2026-05-01-retail-motion-trace fix(motion): jump direction, AutoPos cadence, backward/strafe wire & anim 2026-05-02 16:11:15 +02:00
2026-05-02-remote-entity-motion docs(spec): Phase L.3 — Remote Entity Motion Conformance design 2026-05-02 18:12:18 +02:00
2026-05-03-remote-anim-cycle docs(research): investigation prompt for remote-anim-cycle bug 2026-05-03 19:59:22 +02:00
2026-05-04-l3-port feat(motion): L.3 M1 — fresh InterpolationManager port + retail spec 2026-05-05 14:56:42 +02:00
2026-05-06-locomotion-cycle-transitions docs(motion): #39 — candidate fix ineffective; refute Shift-toggle wire hypothesis 2026-05-06 07:21:42 +02:00
data docs(research): commit named retail decomp + spells.csv (foundation) 2026-04-25 17:27:19 +02:00
decompiled research: full acclient.exe decompilation — 22,225 functions, 688K lines 2026-04-12 23:25:51 +02:00
deepdives docs+feat: 13 retail-AC deep-dives (R1-R13) + C# port scaffolds + roadmap E-H 2026-04-18 10:32:44 +02:00
named-retail docs(research): canonical retail keymap + dump-keymap tool 2026-04-25 23:01:58 +02:00
retail-ui feat(ui): Phase D.2a — VitalsPanel wired into GameWindow + backend pivot 2026-04-25 00:43:46 +02:00
2026-04-12-movement-deep-dive.md docs: movement deep dive — AC2D + holtburger cross-reference 2026-04-12 21:52:12 +02:00
2026-04-21-animation-audit.md docs(research): animation-pipeline decompile audit — no real gaps 2026-04-21 21:18:45 +02:00
2026-04-21-sky-deep-audit.md fix(sky): scale keyframe Luminosity/Transparent/MaxBright from percent → fraction 2026-04-22 17:38:44 +02:00
2026-04-22-sky-lighting-decompile.md sky(phase-1): revert speculative tint, add ACDREAM_DUMP_SKY diagnostic 2026-04-23 18:06:52 +02:00
2026-04-23-daygroup-selection.md sky(phase-3c): port retail FUN_00501990 DayGroup picker (uniform LCG) 2026-04-24 08:45:34 +02:00
2026-04-23-lightning-crossfade.md sky(phase-5a): remove DayGroup-name rain hack, ship retail-only Overcast mapping 2026-04-24 11:04:36 +02:00
2026-04-23-lightning-real.md sky(phase-8): retail-faithful night sky + README refresh 2026-04-24 20:34:36 +02:00
2026-04-23-physicsscript.md sky(phase-5a): remove DayGroup-name rain hack, ship retail-only Overcast mapping 2026-04-24 11:04:36 +02:00
2026-04-23-retail-memory-probe.md sky(phase-3g): fix LCG multiplier — 360 (DaysPerYear), not 7620 2026-04-24 10:17:38 +02:00
2026-04-23-sky-dat-schema.md sky(phase-1): revert speculative tint, add ACDREAM_DUMP_SKY diagnostic 2026-04-23 18:06:52 +02:00
2026-04-23-sky-decompile-hunt-A.md sky(phase-1): revert speculative tint, add ACDREAM_DUMP_SKY diagnostic 2026-04-23 18:06:52 +02:00
2026-04-23-sky-decompile-hunt-B.md sky(phase-8): retail-faithful night sky + README refresh 2026-04-24 20:34:36 +02:00
2026-04-23-sky-decompile-hunt-C.md sky(phase-8): retail-faithful night sky + README refresh 2026-04-24 20:34:36 +02:00
2026-04-23-sky-fog.md sky(phase-5a): remove DayGroup-name rain hack, ship retail-only Overcast mapping 2026-04-24 11:04:36 +02:00
2026-04-23-sky-material-state.md docs(sky): port plan for PhysicsScript/fog/lightning/crossfade 2026-04-24 10:53:46 +02:00
2026-04-23-sky-pes-wiring.md sky(phase-5a): remove DayGroup-name rain hack, ship retail-only Overcast mapping 2026-04-24 11:04:36 +02:00
2026-04-23-sky-references-crossref.md sky(phase-1): revert speculative tint, add ACDREAM_DUMP_SKY diagnostic 2026-04-23 18:06:52 +02:00
2026-04-23-sky-retail-verbatim.md sky(phase-1): revert speculative tint, add ACDREAM_DUMP_SKY diagnostic 2026-04-23 18:06:52 +02:00
2026-04-24-lambert-brightness-split.md sky(phase-8): retail-faithful night sky + README refresh 2026-04-24 20:34:36 +02:00
2026-04-26-chorizite-pr-draft.md docs(research): sky/weather investigation handoff + diagnostic tools 2026-04-26 21:40:34 +02:00
2026-04-26-datreaderwriter-reference.md docs(research): sky/weather investigation handoff + diagnostic tools 2026-04-26 21:40:34 +02:00
2026-04-26-sky-investigation-handoff.md docs(research): sky/weather investigation handoff + diagnostic tools 2026-04-26 21:40:34 +02:00
2026-04-28-combat-animation-planner.md feat(anim): Phase L.1c select combat maneuvers 2026-04-28 11:44:17 +02:00
2026-04-28-pes-pseudocode.md feat(vfx): Phase C.1 — PES particle renderer + post-review fixes 2026-04-28 22:47:11 +02:00
2026-04-28-remote-moveto-pseudocode.md feat(anim): Phase L.1c port MoveTo path data + per-tick steer 2026-04-28 21:49:22 +02:00
2026-04-28-sky-cloud-material-trace.md feat(vfx): Phase C.1 — PES particle renderer + post-review fixes 2026-04-28 22:47:11 +02:00
2026-04-30-precipice-slide-pseudocode.md fix(physics): #32 L.2c precipice edge-slide context 2026-04-30 08:04:37 +02:00
2026-05-05-issue-42-handoff.md docs(research): expand #42 handoff prompt for fresh-session pickup 2026-05-05 18:02:58 +02:00
2026-05-06-issue-38-handoff.md docs(research): #38 handoff prompt for next-session agent 2026-05-06 17:03:43 +02:00
2026-05-06-issue-38-render-interp-pseudocode.md fix(camera): #38 render-interpolate player motion 2026-05-06 17:53:34 +02:00
2026-05-06-issue-47-close-degrade-pseudocode.md fix(rendering): #47 — walk DIDDegrade for retail close-detail meshes 2026-05-06 16:46:23 +02:00
2026-05-06-issue-47-handoff.md docs(research): #47 handoff prompt for next-session agent 2026-05-06 11:34:25 +02:00
2026-05-06-issue-48-fix-pseudocode.md fix(scenery): #48 unify scenery Z with physics-path triangle picker 2026-05-07 14:30:25 +02:00
2026-05-06-issue-48-handoff.md docs(issues): file #48 — subset of tree species hover above terrain 2026-05-06 17:18:26 +02:00
2026-05-06-issue-49-handoff.md docs(research): #49 handoff — scenery (X, Y) drift investigation 2026-05-07 14:34:55 +02:00
2026-05-08-phase-n3-handoff.md docs: roadmap N.0 shipped + realistic N.2-N.9 estimates + N.3 handoff 2026-05-08 10:49:16 +02:00
2026-05-08-phase-n4-week4-handoff.md docs(N.4): Week 4 handoff for the next agent 2026-05-08 14:54:12 +02:00
2026-05-08-phase-n5-handoff.md docs(N.5): cold-start handoff for next session 2026-05-08 18:05:36 +02:00
2026-05-09-phase-n5b-handoff.md docs(N.5b): cold-start handoff for next session 2026-05-09 07:16:10 +02:00
2026-05-10-holtburger-network-stack-study.md docs(post-A.5): capture holtburger network-stack study + Phase M.0 quick-wins 2026-05-10 17:52:26 +02:00
2026-05-10-phase-a5-handoff.md docs(A.5): cold-start handoff for the next session 2026-05-09 21:11:46 +02:00
2026-05-10-phase-m-opcode-matrix.md docs(phase-m): sharpen Phase M into design spec + opcode coverage matrix 2026-05-10 19:22:49 +02:00
2026-05-10-post-a5-polish-handoff.md docs(post-A.5): cold-start handoff for the next session 2026-05-10 10:16:10 +02:00
2026-05-10-tier1-retry-handoff.md docs(post-A.5): cold-start handoff for the Tier 1 retry session (#53) 2026-05-10 16:14:24 +02:00
acclient_animation_map.md fix(anim): implement adjust_motion — TurnLeft/SideStepLeft play backward 2026-04-13 12:17:26 +02:00
acclient_animation_pseudocode.md research: full animation pseudocode from decompiled acclient.exe 2026-04-13 12:43:44 +02:00
acclient_architecture_map.md docs: comprehensive architecture plan for acdream 2026-04-13 14:23:50 +02:00
acclient_decompiled.c research: decompile acclient.exe terrain/physics via Ghidra headless 2026-04-12 23:18:27 +02:00
acclient_function_map.md docs(research): #9 sweep acclient_function_map.md against PDB symbols 2026-04-25 17:44:07 +02:00
acclient_indoor_transitions_pseudocode.md research: indoor transition pseudocode from ACE + decompiled analysis 2026-04-13 13:56:16 +02:00
transition_pseudocode.md docs(research): collision transition system pseudocode from decompiled + ACE 2026-04-13 23:41:13 +02:00