acdream/docs/research
Erik b52967def3 fix(physics): AP-156 — flood the BSP sphere where the geometry is, not at the part origin
The AP-152 retail review (docs/research/2026-08-06-ap152-review-retail.md)
FAILED `4abd1b5e` and is right. `ShadowObjectRegistry.BuildFloodSpheres` took
each physics-BSP part's ROOT BOUNDING SPHERE RADIUS
(FlatCollisionAssetBuilder.cs:393 -> LiveEntityCollisionBuilder.cs:137) and
centred it on the PART ORIGIN (ShadowShapeBuilder.cs:194), discarding the root
sphere's own Origin.

Re-measured independently against the installed client_portal.dat, reproducing
the reviewer's numbers exactly: 376 of 973 physics-BSP parts have
|origin| > radius/2, worst 20.762 m on a 27.708 m sphere (gfx 0x010036DD,
Setup 0x0200129A). Over the 172 Setups AP-152 moved onto that path the emitted
flood FAILED TO CONTAIN the object's own BSP sphere for 170 of them (73
CylSphere-bearing, 97 Sphere-bearing), worst shortfall 9.911 m on Setup
0x02000255 — whose one part's sphere sits 9.911 m above the part origin — and
for 43 the post-AP-152 flood was strictly SMALLER than the pre-AP-152 one.
Indoor flooding is 3-D (CellTransit.cs:601 routes every id & 0xFFFF >= 0x0100
candidate through FindTransitCellsSphere), so a tall prop or door slab was
absent from EnvCells it physically occupies and therefore never a broadphase
candidate there (TransitionTypes.cs:3763 iterates only entries already in the
cell). That is the #98 / #168 class AP-152 exists to remove.

Retail, re-disassembled from the PDB-paired binary (check_exe_pdb.py MATCH,
CodeView GUID 9e847e2f-777c-4bd9-886c-22256bb87f32), every address resolved
back through named-retail/symbols.json:

  CGfxObj::physics_sphere is [gfxobj+0x74] (physics_bsp is [+0x78], as
  CPartArray::CacheHasPhysicsBSP @0x00518110 reads at 0x00518127), and
  acclient pseudo-C 0x00534b5b assigns it BSPTREE::GetSphere(physics_bsp).

  BSPTREE::GetSphere @0x005397e0
    8b01        mov eax,[ecx]     ; BSPTREE::root_node
    83c004      add eax,4         ; past BSPNODE::vfptr -> CSphere sphere
  So retail's per-part flood sphere IS the BSP root bounding sphere,
  ORIGIN INCLUDED (acclient.h: BSPNODE { vfptr; CSphere sphere; ... },
  CSphere { Vector3 center; float radius; } -> radius at +0xc).

  CPhysicsObj::find_bbox_cell_list @0x00510fc0 adds the object's own cell and
  then walks the PART ARRAY: 0x00511012 call 0x518160
  (CPartArray::calc_cross_cells_static), which dispatches [edx+0x7c] with
  (num_parts, parts, cellarray). Its EnvCell body,
  CEnvCell::find_transit_cells @0x0052cae0:
    0x0052cb31  mov edx,[eax+0x20]   ; CPhysicsPart::gfxobj (CGfxObj**)
    0x0052cb36  mov esi,[ecx+0x74]   ; physics_sphere (else +0x90 drawing)
    0x0052cb4c  add eax,0x30         ; CPhysicsPart::pos
    0x0052cb5a  call Position::localtolocal   ; transform the sphere CENTRE
    0x0052cb65  fadd [esi+0xc]       ; only NOW the radius
  Retail transforms the centre through the part's own Position before it ever
  touches the radius. Carrying the radius alone is not an approximation of
  that; it is a different sphere.

Changes:

* `ShadowShape` gains `BoundsCenter` — the bounding sphere's centre in the
  shape's own local frame, scaled like LocalPosition and Radius. Zero for
  Cylinder/Sphere shapes, whose LocalPosition already IS their centre.

* `ShadowShapeBuilder.FromSetup` gains a `physicsBspBounds` resolver that
  supplies radius AND centre from ONE call, replacing the placeholder radius
  plus a downstream substitution. `LiveEntityCollisionBuilder` now holds a
  single `Func<uint, FlatCollisionSphere?>` and derives its dispatch predicate
  from it, so the gate and the geometry cannot disagree and the radius cannot
  be taken while the origin is dropped. That split is what produced this bug;
  it no longer exists.

* `FromLandblockBspParts` carries the centre too. A landblock-baked part array
  is the same CPartArray walk, so stair runs, fences and rock clusters had the
  identical defect. Both storage forms (flat BSP and the graph fallback) are
  covered.

* `BuildFloodSpheres` places each sphere at
  partWorldPos + rotate(BoundsCenter, partWorldRot), composed exactly as the
  ShadowEntry rows are.

* The 10-sphere clamp now applies to the CYLSPHERE branch only. Retail's clamp
  is inside CObjCell::find_cell_list @0x0052b9f0
  (0x0052ba21 cmp eax,0xa / 0x0052ba28 mov ebp,0xa); the BSP walk has none and
  the sorting-sphere overload @0x0052b990 takes one sphere. 7 installed Setups
  carry more than 10 physics-BSP parts (max 49, Setup 0x02001A91) and their
  tail parts were dropped from the flood entirely. Without this the new
  containment assertion would have covered shapes production never floods
  from.

Register. AP-155 was two divergences with different code paths, populations
and gates under one id; it is NARROWED to its static-publication half and its
flood half is split out as AP-156 WITH ITS DIRECTION CORRECTED. AP-155(b)
recorded the approximation as over-inclusive — "floods MORE cells rather than
fewer, the safe direction for membership" — and that false direction was the
stated reason the residual was safe to defer. It was under-inclusive for 170
of 172. AP-156 records the correction, this fix, and the one genuine residual:
acdream's sphere-vs-portal traversal where retail walks each part's sphere
against the cell's own portal planes. AP-155(b)'s "acdream approximates
retail's bounding BOX" was wrong too — find_bbox_cell_list forms no box.
AP-157 filed for the review's F4: retail's third branch floods from ONE
CPartArray::GetSortingSphere @0x00518b00 ([partArray+0x54]+0x70 =
CSetup::sorting_sphere; 4,154 of 5,935 installed Setups carry a non-zero one)
where acdream floods from every Sphere shape, and acdream's cylinder flood
ignores CylHeight. Deliberately NOT bundled here: different branch, disjoint
population, different live gate. Active AP rows 107 -> 109, literal count.

Tests. Both flood tests the review named substituted a CONCENTRIC Radius = 14f
at LocalPosition = Zero — the one configuration in which the defect cannot
appear. Every fixture is now off-centre by default, and
`FromSetup_CylSphereAndBspSetup_FloodsTheBspFootprint` drives the production
`physicsBspBounds` seam instead of hand-substituting. Five new facts: the
flood centres on BoundsCenter not the part origin; it rotates BoundsCenter by
the part rotation; it caps cylspheres at ten but never the BSP parts; the
landblock path carries the scaled centre in both storage forms; and an
installed-DAT containment sweep asserting every emitted BSP flood sphere
contains that part's real bounding sphere at entity scale 1.75, behind four
external controls — 973 parts, 376 off-centre, 172 affected, and 170
would-fail-if-the-origin-were-discarded, the last of which fails if the
population ever stops exercising the field.

Nine sabotages, each reverted and re-verified:
  A drop BoundsCenter from the flood       -> 3 Core
  B rotate by entity rot, not part rot     -> 1 Core (the rotation fact only)
  C FromSetup discards the origin          -> 1 Core + 2 App + 1 Content
     (the shipped defect, now caught in three projects)
  D drop entScale on BoundsCenter          -> 2 App + 1 Content
  E landblock flat branch drops the centre -> 1 Core
  F landblock graph branch drops it        -> 1 Core
  G drop partScale on the landblock centre -> 1 Core
  H re-apply the 10-cap to every branch    -> 1 Core
  I remove the cylsphere cap               -> 1 Core
AP-152's own two sabotages re-run against this tree: the step-0 gate disabled
still reddens exactly its five facts with Headless 89/89 green, and
cylinder-first flooding still reddens exactly one.

Clean Release build after deleting all 44 bin/obj: 0 errors, 21 pre-existing
warnings. Complete suite 11,208 passed / 4 skipped / 0 failed, +5 on the
11,203 baseline at 4abd1b5e — Core 4264 -> 4268, Content 126 -> 127, App
unchanged (one rename, not an addition). No new skips.

NOT yet gated live. This moves shadow-cell membership for real objects, in
both directions, and the connected session must look for both: props and doors
that START blocking from a neighbouring cell (the 73 CylSphere+BSP Setups),
AND ones that STOP blocking (the 99 Sphere+BSP Setups can shrink; 43 shrink
below their pre-4abd1b5e size, which is the regression this fixes). Tall
indoor props and door slabs — the ones whose sphere sits metres above the part
origin — are where the change is largest.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-06 15:52:04 +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(physics): port retail complete object frame pipeline 2026-07-20 09:10:31 +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
2026-05-21-a6-captures feat(phys): A6.P3 slice 5 — [place-fail] probe + sharpened #98 diagnosis 2026-05-22 20:02:15 +02:00
2026-05-23-a6-captures research(phys): A6.P3 #98 — [step-walk-adjust] capture + findings 2026-05-23 16:25:04 +02:00
2026-06-11-holistic-map fix(portal): synchronize destination presentation state 2026-07-16 21:17:13 +02:00
2026-07-02-inbound-motion-maps docs(L.2g): inbound motion deviation map + campaign registration 2026-07-02 15:20:46 +02:00
2026-07-02-r1-csequence feat(physics): port retail complete object frame pipeline 2026-07-20 09:10:31 +02:00
2026-07-02-r2-motiontable fix(motion): restore retail object manager order 2026-07-19 21:40:14 +02:00
2026-07-02-r3-motioninterp docs(R3-W6a): local-player cutover map — re-anchored edit list + edge table + risk decisions 2026-07-03 09:06:42 +02:00
2026-07-03-r4-moveto feat(R4-V5): LOCAL PLAYER cutover - B.6 auto-walk DELETED; P1 autonomous gate ported; TS-36 bound (closes M1-local, M9, M10, M17; retires TS-36, AD-26; re-anchors AD-27, AP-23) 2026-07-03 13:24:22 +02:00
2026-07-03-r5-managers docs: R5 arc close-out — V5 facade shipped, arc DONE; M1.5 critical path next 2026-07-05 11:12:37 +02:00
2026-08-02-collision-throughput-handoff docs: hand off placement campaign finish 2026-08-03 12:54:47 +02:00
2026-08-03-c4-handoff docs: next-agent handoff prompt for C4 routes 2-7 2026-08-03 14:43:56 +02:00
data fix(spells): load complete retail DAT catalog 2026-07-15 21:17:13 +02:00
decompiled research: full acclient.exe decompilation — 22,225 functions, 688K lines 2026-04-12 23:25:51 +02:00
deepdives fix(net): sign-extend retail capacity bytes 2026-07-23 18:25:17 +02:00
named-retail docs(research): canonical retail keymap + dump-keymap tool 2026-04-25 23:01:58 +02:00
retail-ui docs(ui): pin retained widget retail oracles 2026-07-10 17:55:28 +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 refactor(runtime): own world environment state 2026-07-26 16:45:04 +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 research(vfx): pin retail projectile and effect oracle 2026-07-13 22:40:42 +02:00
2026-04-23-retail-memory-probe.md refactor(world): own live environment state 2026-07-22 10:54:33 +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 research(vfx): pin retail projectile and effect oracle 2026-07-13 22:40:42 +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 fix(net): honor retail graceful logout handshake 2026-07-20 23:31:23 +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-mutation-audit.md fix #203: preserve animation on appearance updates 2026-07-11 00:25:29 +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
2026-05-12-l2a-shipped-l2d-handoff.md docs(phys L.2a): handoff + next-session prompt + CLAUDE.md / plan-of-record updates 2026-05-12 18:15:16 +02:00
2026-05-12-l2d-next-session-prompt.md docs(phys L.2a): handoff + next-session prompt + CLAUDE.md / plan-of-record updates 2026-05-12 18:15:16 +02:00
2026-05-12-l2g-slice1-shipped-handoff.md docs(phys L.2g): slice 1 shipped handoff + B.4 gap discovery + plan-of-record 2026-05-12 23:17:05 +02:00
2026-05-13-b4b-shipped-handoff.md docs(B.4b): final-review polish — file #59 #60 follow-ups + handoff correction 2026-05-13 19:43:38 +02:00
2026-05-13-b4c-shipped-handoff.md docs(B.4c): correct handoff fabrications surfaced by final review 2026-05-14 08:03:45 +02:00
2026-05-13-b5-pickup-handoff.md docs(B.5): fresh-session handoff for BuildPickUp + ground-item interaction 2026-05-14 14:35:52 +02:00
2026-05-13-l2d-slice1-shipped-handoff.md docs(phys L.2d): slice 1 + 1.5 shipped handoff + 3rd plan-of-record reframe 2026-05-12 19:46:45 +02:00
2026-05-14-b5-shipped-handoff.md docs(B.5): ship handoff + roadmap/CLAUDE update + file #63 #64 2026-05-14 16:23:20 +02:00
2026-05-15-b6-b7-shipped-handoff.md docs(B.6+B.7): ship handoff — 36 commits, faithfulness audit, workaround retirement plan 2026-05-15 18:29:53 +02:00
2026-05-16-issue77-autowalk-handoff.md docs(research): handoff for issue #77 — close-range auto-walk + pickup overshoot 2026-05-18 08:38:31 +02:00
2026-05-16-session-handoff.md docs: rewrite handoff — M2 redirected from "kill a drudge" to indoor walkability 2026-05-16 21:01:30 +02:00
2026-05-19-cluster-a-shipped-handoff.md docs(phase): Cluster A — partial ship + handoff 2026-05-19 16:12:24 +02:00
2026-05-19-contactplane-retention-pickup-prompt.md docs(handoff): ContactPlane retention investigation pickup prompt 2026-05-20 07:06:11 +02:00
2026-05-19-indoor-cell-rendering-cause.md feat(wb): ConsoleErrorLogger + cause report — H1 swallowed-exception confirmed 2026-05-19 13:00:18 +02:00
2026-05-19-indoor-cell-rendering-probe-capture.md docs(research): Phase 1 indoor probe capture — H1 confirmed 2026-05-19 12:03:25 +02:00
2026-05-19-indoor-cell-rendering-verification.md docs(research): Phase 2 verification — floor renders, fix landed 2026-05-19 13:12:53 +02:00
2026-05-19-indoor-followup-handoff.md docs: file #87 — retire WB fork band-aid via geom-only API 2026-05-19 14:31:14 +02:00
2026-05-19-indoor-followup-prompt.md docs(handoff): indoor follow-up brief + fresh-session kickoff prompt 2026-05-19 13:36:18 +02:00
2026-05-19-indoor-walkable-plane-bsp-port-shipped-handoff.md docs: indoor walkable-plane BSP port partial-ship handoff 2026-05-20 07:03:14 +02:00
2026-05-19-indoor-walking-phase2-pickup-prompt.md docs(handoff): retarget pickup prompt — indoor/collision/physics/dungeons only 2026-05-19 19:52:17 +02:00
2026-05-19-indoor-walking-phase2-shipped-handoff.md docs(phase): Indoor walking Phase 2 — Portal-based cell tracking shipped 2026-05-19 19:31:22 +02:00
2026-05-20-indoor-walking-bug-a-handoff.md docs(handoff): indoor walking Bug A wrong-scope handoff 2026-05-20 09:38:13 +02:00
2026-05-20-m15-kickoff-handoff.md docs(handoff): M1.5 kickoff — pickup prompt + workaround inventory 2026-05-21 11:12:46 +02:00
2026-05-20-phase-a4-shipped-cell-pingpong-finding.md docs(roadmap): A4 shipped + #90 cell-tracking ping-pong filed 2026-05-20 20:10:29 +02:00
2026-05-21-a6-cdb-capture-findings.md ship(phys): A6.P3 slice 1 — Indoor ContactPlane retention COMPLETE 2026-05-22 10:11:44 +02:00
2026-05-21-a6-p1-partial-ship-handoff.md docs(handoff): A6.P1 partial-ship — infra DONE, captures 1/9 2026-05-21 20:05:17 +02:00
2026-05-21-a6-p3-slice1-retail-mech-b-research.md fix(research): A6.P3 slice 1 T1 — citation corrections + LKCP re-latch note 2026-05-22 08:20:24 +02:00
2026-05-21-collision-fixes-shipped-handoff.md docs(handoff): update pickup prompt to point at main + fresh worktree 2026-05-20 15:05:07 +02:00
2026-05-21-indoor-walking-doorway-investigation-prompt.md docs(handoff): pickup prompt for indoor walking doorway investigation 2026-05-20 09:55:47 +02:00
2026-05-21-open-items-pickup-prompt.md docs(milestones): promote indoor work to M1.5 — primary focus 2026-05-21 10:32:24 +02:00
2026-05-21-phase-o-t1-prompt.md docs(O-T1): session handoff prompt for Phase O Task 1 (WB usage audit) 2026-05-21 14:01:06 +02:00
2026-05-21-phase-o-t1-wb-audit.md docs(O): O-T1 audit shipped + Phase O spec amended 2026-05-21 14:35:38 +02:00
2026-05-21-walk-miss-capture-findings.md docs(physics): spec + plan + findings for ISSUES #83 walk-miss probe spike 2026-05-20 11:00:11 +02:00
2026-05-22-a6-p3-handoff.md docs(handoff): A6.P3 2026-05-22 EOS handoff + pickup prompt for #98 fix 2026-05-22 13:32:02 +02:00
2026-05-22-a6-p3-slice5-handoff.md feat(phys): A6.P3 slice 5 — [place-fail] probe + sharpened #98 diagnosis 2026-05-22 20:02:15 +02:00
2026-05-23-a6-p3-issue98-comparison-harness-findings.md docs: A6.P3 #98 resolution + A6.P4 design + #99/#100 filed 2026-05-24 07:23:49 +02:00
2026-05-23-a6-p3-issue98-handoff.md docs(handoff): A6.P3 issue #98 — slice 6 failed; pivot to terrain-mesh 2026-05-23 08:56:43 +02:00
2026-05-23-a6-p3-issue98-harness-handoff.md docs(handoff): A6.P3 #98 — full-session handoff doc + CLAUDE.md/ISSUES.md updates 2026-05-23 19:09:00 +02:00
2026-05-23-a6-p3-issue98-replay-comparison.md docs(phys): A6.P3 #98 Step 5 — replay vs retail divergence comparison 2026-05-23 15:57:12 +02:00
2026-05-23-a6-stepwalkadjust-findings.md research(phys): A6.P3 #98 — [step-walk-adjust] capture + findings 2026-05-23 16:25:04 +02:00
2026-05-24-a6-p4-pickup-handoff.md docs(handoff): A6.P4 pickup handoff — full session-resume artifact 2026-05-24 07:32:58 +02:00
2026-05-24-door-bug-apparatus-shipped-findings.md feat(net): port retail physics spawn and event timestamps 2026-07-14 00:22:17 +02:00
2026-05-24-door-collision-session-end-handoff.md docs(handoff): door collision session end — honest accounting 2026-05-24 20:52:53 +02:00
2026-05-24-door-collision-session-handoff.md docs(handoff): door collision per-part BSP session handoff (2026-05-24) 2026-05-24 18:16:02 +02:00
2026-05-24-door-collision-task7-shipped-but-bug-remains.md diag(phys): [bsp-test] probe + grounded apparatus test + handoff 2026-05-24 19:22:45 +02:00
2026-05-24-door-dat-inspection-findings.md test(phys): door setup + GfxObj dat-inspection — Hypothesis A falsified 2026-05-24 18:34:41 +02:00
2026-05-25-a6-door-cyl-investigation-handoff.md docs(handoff): A6.P7 door-cyl + slab interaction — retail investigation needed 2026-05-25 14:54:59 +02:00
2026-05-25-a6-door-cyl-retail-dispatch-investigation.md fix(phys): A6.P7 — retail-binary cyl-vs-BSP dispatch (HAS_PHYSICS_BSP_PS gate) 2026-05-25 16:35:32 +02:00
2026-05-25-door-bug-cdb-retail-trace-findings.md docs(handoff): add second door-bug symptom (over-penetration before block) 2026-05-25 10:45:41 +02:00
2026-05-25-door-bug-inside-out-geometry-gap.md test(phys): A6.P4 door — corner-slide hypothesis falsified, bug is state-related 2026-05-25 08:37:31 +02:00
2026-05-25-door-bug-partial-fix-shipped.md fix(test): correct geometric pin test for door slab Z math 2026-05-25 08:14:49 +02:00
2026-05-25-issue-78-visibility-culling-investigation.md feat(render): Phase A8 — indoor visibility + streaming fixes batch 2026-05-29 10:14:50 +02:00
2026-05-25-issue-100-shipped-and-culling-handoff.md docs: #100 ship + indoor-cell culling investigation handoff 2026-05-25 22:17:51 +02:00
2026-05-25-issue-100-terrain-cutout-handoff.md docs: #100 ship + indoor-cell culling investigation handoff 2026-05-25 22:17:51 +02:00
2026-05-25-stairs-cyl-investigation-handoff.md docs: issue #101 — broken stairs cyl phantom (post-A6.P7 finding) 2026-05-25 19:03:58 +02:00
2026-05-26-a8-buildings-data-shape.md docs(research): Phase A8 RR2 — BuildingInfo data shape + interior-portal walk 2026-05-27 11:01:39 +02:00
2026-05-26-a8-entity-taxonomy.md feat(render): Phase A8 — indoor visibility + streaming fixes batch 2026-05-29 10:14:50 +02:00
2026-05-26-a8-r3.5-restructure-handoff.md docs(handoff): Phase A8 R3.5 paused for restructure — fresh-session handoff 2026-05-26 20:52:46 +02:00
2026-05-26-a8-revert-handoff.md docs: Phase A8 REVERT handoff — full session story + pickup prompt 2026-05-26 09:42:53 +02:00
2026-05-26-a8-rr0-falsification-findings.md docs(research): Phase A8 RR0 — Issues A + C caused by R3, NOT pre-existing 2026-05-27 08:33:32 +02:00
2026-05-26-a8-wb-full-port-rr1-shipped-handoff.md docs(handoff): Phase A8 RR1 shipped — pickup prompt for RR2 spike 2026-05-27 10:46:32 +02:00
2026-05-27-a8-rr7-reverted-wb-port-handoff.md docs(research): A8 RR7 reverted — full WB-port handoff for next session 2026-05-27 14:10:33 +02:00
2026-05-28-a8-cellar-flap-handoff.md feat(render): Phase A8 — indoor visibility + streaming fixes batch 2026-05-29 10:14:50 +02:00
2026-05-28-a8-cellar-flap-option2-handoff.md feat(render): Phase A8 — indoor visibility + streaming fixes batch 2026-05-29 10:14:50 +02:00
2026-05-28-a8-cellar-flap-root-cause.md feat(render): Phase A8 — indoor visibility + streaming fixes batch 2026-05-29 10:14:50 +02:00
2026-05-28-a8-env-cell-renderer-audit-findings.md fix(render): Phase A8 — pool aliasing in EnvCellRenderer (visual chaos root cause) 2026-05-27 19:08:49 +02:00
2026-05-28-a8-session-2-shipped-and-handoff.md docs: Phase A8 — session 2 handoff (pool fix shipped + 4 partial fixes + residuals) 2026-05-27 20:32:22 +02:00
2026-05-28-a8-wb-port-shipped-but-broken-handoff.md feat(render): Phase A8 — kill-switch ACDREAM_A8_INDOOR_BRANCH (default OFF) 2026-05-27 16:26:40 +02:00
2026-05-29-a8f-camera-collision-handoff.md docs(render): Phase A8.F — correct camera handoff; retail DOES collide the camera 2026-05-29 17:51:44 +02:00
2026-05-29-a8f-visual-gate-failure-handoff.md docs: Phase A8.F visual-gate failure handoff + issue #103 2026-05-29 14:43:24 +02:00
2026-05-30-phase-u4-shipped-and-flap-handoff.md docs(render): Phase U.4 shipped (indoor rendering verified) + flap handoff 2026-05-31 09:16:35 +02:00
2026-05-30-unified-render-pipeline-decision-and-handoff.md docs: abandon two-pipe render approach; scope Phase U (unified retail-faithful pipeline) 2026-05-30 11:35:41 +02:00
2026-05-31-camera-collision-indoor-diagnosis.md diag(render): camera-collision indoor non-engagement — RED test + diagnosis 2026-05-31 18:02:37 +02:00
2026-05-31-render-architecture-reset-handoff.md docs(render): ARCHITECTURE RESET — indoor render is a 3-gate patchwork; handoff + unified-PView target 2026-05-31 21:35:55 +02:00
2026-05-31-u4c-flap-characterization.md research(render): Phase U.4c — CONVERGED root cause (eye-rooted grace-stale root) 2026-05-31 14:32:19 +02:00
2026-05-31-u4c-flap-fixed-and-residuals-handoff.md docs(render): Phase U.4c — flap fixed + residuals handoff (checkpoint) 2026-05-31 17:01:23 +02:00
2026-05-31-u4c-initcell-pseudocode.md research(render): Phase U.4c — DISPROVE the side-test fix (PortalSide port is a no-op) 2026-05-31 10:32:52 +02:00
2026-06-01-render-reset-session2-handoff.md docs(render): session-2 handoff — stencil attempt reverted, evidence-first pickup prompt 2026-06-01 13:51:22 +02:00
2026-06-02-acdream-render-pipeline-inventory-and-failures.md docs(render): REOPEN the render half — full retail-faithful redesign dossier (handoff + huge plan + 3 research docs) 2026-06-02 18:28:01 +02:00
2026-06-02-membership-verbatim-port-handoff.md docs(physics): handoff reframe — membership is STATE not recomputation (user analysis) 2026-06-03 08:20:55 +02:00
2026-06-02-phase-w-membership-fixed-render-handoff.md docs(render): Phase W session-2 handoff — membership FIXED + render rewrite (Stage 3 done) 2026-06-02 15:39:41 +02:00
2026-06-02-phase-w-w2a-shipped-baseline-handoff.md docs(render): Phase W — W2a shipped+verified + baseline handoff 2026-06-02 10:55:21 +02:00
2026-06-02-render-cell-membership-evidence.md docs(render): Unified Cell Graph pivot — evidence model + Stage 1 spec 2026-06-02 08:27:00 +02:00
2026-06-02-render-pipeline-redesign-handoff.md docs(render): REOPEN the render half — full retail-faithful redesign dossier (handoff + huge plan + 3 research docs) 2026-06-02 18:28:01 +02:00
2026-06-02-render-reference-crosscheck.md docs(render): REOPEN the render half — full retail-faithful redesign dossier (handoff + huge plan + 3 research docs) 2026-06-02 18:28:01 +02:00
2026-06-02-retail-cell-render-research-prompt.md docs(render): Phase W (rev) — 4-model research + transition-membership/PView design 2026-06-02 13:58:51 +02:00
2026-06-02-retail-cell-render-study-codex.md docs(render): Phase W (rev) — 4-model research + transition-membership/PView design 2026-06-02 13:58:51 +02:00
2026-06-02-retail-cell-render-study-opus48-a.md docs(render): Phase W (rev) — 4-model research + transition-membership/PView design 2026-06-02 13:58:51 +02:00
2026-06-02-retail-cell-render-study-opus48-b.md docs(render): Phase W (rev) — 4-model research + transition-membership/PView design 2026-06-02 13:58:51 +02:00
2026-06-02-retail-cell-render-study-sonnet46.md docs(render): Phase W (rev) — 4-model research + transition-membership/PView design 2026-06-02 13:58:51 +02:00
2026-06-02-retail-render-pipeline-full-reference.md docs(render): REOPEN the render half — full retail-faithful redesign dossier (handoff + huge plan + 3 research docs) 2026-06-02 18:28:01 +02:00
2026-06-03-cell-membership-ordered-cellarray-pseudocode.md feat(physics): Stage 1 — CellArray ordered/deduped cell collection (retail CELLARRAY) 2026-06-03 08:54:45 +02:00
2026-06-03-membership-and-bluehole-shipped-handoff.md docs: wrap session — doorway flap FIXED (membership + blue-hole); A/B/C render residuals next 2026-06-03 11:09:57 +02:00
2026-06-03-p0-conformance-apparatus-notes.md fix(p1): membership already matches retail — the 0/11 was a cdb capture artifact 2026-06-03 18:54:27 +02:00
2026-06-03-p1-membership-swept-advance-handoff.md fix(p1): membership already matches retail — the 0/11 was a cdb capture artifact 2026-06-03 18:54:27 +02:00
2026-06-03-p1-visual-gate-render-residuals.md docs(p1): visual-gate result — membership confirmed live; flap+void are render residuals 2026-06-03 21:30:02 +02:00
2026-06-03-p2-door-stepup-handoff.md docs(p2): correct the handoff — B1 was the Path 5 near-miss gate, not the climb 2026-06-04 09:35:14 +02:00
2026-06-04-p2-cellar-corner-stepup-handoff.md test(p2): faithful cellar-lip wedge reproduction + investigation apparatus (no fix yet) 2026-06-05 08:30:36 +02:00
2026-06-04-p2-cellar-lip-flatfloor-cp-handoff.md docs(p2): record cellar-lip wedge visual-gate PASS (cellar smooth, door blocks, step-up climbs) 2026-06-05 09:24:54 +02:00
2026-06-05-camera-collision-residual-a-handoff.md docs: handoff + kickoff for Render Residual A (camera collision verbatim port) 2026-06-05 09:46:52 +02:00
2026-06-05-render-residual-a-shipped-core-inside-render-handoff.md docs(A): wrap Render Residual A — handoff + roadmap for the core inside render 2026-06-05 11:49:31 +02:00
2026-06-05-retail-pview-indoor-render-pseudocode.md feat(render): indoor render WORKS — terminating portal flood + every-cell seal + look-in FPS 2026-06-07 10:14:43 +02:00
2026-06-05-shell-sealing-cellar-floor-handoff.md docs: SHELL-SEALING / wrong-flood-root handoff (cellar floor + interior walls grey) 2026-06-05 17:04:52 +02:00
2026-06-05-viewer-cell-flicker-rootcause-and-fix-plan-handoff.md docs: indoor flicker/void root cause (decomp + live cdb) + 3-part fix plan handoff 2026-06-05 15:31:17 +02:00
2026-06-06-indoor-render-hang-rootcause.md feat(render): indoor render WORKS — terminating portal flood + every-cell seal + look-in FPS 2026-06-07 10:14:43 +02:00
2026-06-06-retail-pview-renderer-replacement-attempts-handoff.md feat(render): indoor render WORKS — terminating portal flood + every-cell seal + look-in FPS 2026-06-07 10:14:43 +02:00
2026-06-06-verbatim-drawcells-port-pickup-handoff.md docs: implementation plan + pickup handoff — verbatim retail DrawCells port 2026-06-06 21:44:19 +02:00
2026-06-07-cutover-flip-render-residuals-diagnosis-handoff.md docs: add verify-first kickoff prompt to the render-residuals handoff (treat the diagnosis as a suspect statement) 2026-06-07 22:12:38 +02:00
2026-06-07-indoor-render-session-handoff.md feat(render): indoor render WORKS — terminating portal flood + every-cell seal + look-in FPS 2026-06-07 10:14:43 +02:00
2026-06-07-render-unification-cutover-flip-handoff.md docs: handoff — render unification CUTOVER FLIP (canonical pickup) 2026-06-07 18:42:04 +02:00
2026-06-08-flap-physics-diagnosis-REFUTED-its-render-membership.md diag(render): flap re-diagnosed as portal-flood re-clip DRIFT; physics + camera REFUTED 2026-06-08 11:21:46 +02:00
2026-06-08-flap-rootcause-physics-rest-handoff.md diag(render/physics): flap root-caused to physics rest µm-jitter; refute prior diagnoses 2026-06-08 09:16:12 +02:00
2026-06-08-full-retail-render-port-OPTION-A-handoff.md docs(render): FLAP settled by live-retail measurement — full retail port DECIDED (Option A) + exhaustive handoff 2026-06-08 16:19:34 +02:00
2026-06-08-indoor-flap-edgeon-vs-camera-position-handoff.md docs(render): calibrated indoor-flap handoff — MEASURED vs HYPOTHESIS vs OPEN 2026-06-09 08:16:51 +02:00
2026-06-09-105-capture-analysis-membership-landblock-pin.md docs: #106 CLOSED — gate-4 verification + running-artifact attribution correction 2026-06-10 06:59:24 +02:00
2026-06-09-dat-reader-thread-safety-investigation.md docs: dat-reader investigation handoff + file #105 (white walls, tripwired) 2026-06-09 21:29:06 +02:00
2026-06-09-flap-outdoor-fullworld-building-flood-merge-handoff.md docs: §4 outdoor full-world flap — onset pinned to building-flood merge (handoff) 2026-06-10 08:19:54 +02:00
2026-06-09-landdefs-outside-cells-pseudocode.md fix(phys): #106 — outdoor membership crosses landblock boundaries (LandDefs global-lcoord port) 2026-06-09 23:10:59 +02:00
2026-06-09-r-a2b-shipped-flap-residual-and-texture-redherring-handoff.md docs(render): R-A2b shipped + flap residual (sec 4) + texture red-herring handoff 2026-06-09 18:44:33 +02:00
2026-06-10-105-110-CLOSED-staged-texture-flush-drop.md docs: #105 x #110 CLOSED - staged-texture-flush drop close-out (evidence chain + lesson); handoff marked historical 2026-06-10 12:17:09 +02:00
2026-06-10-105-110-white-textures-nearplane-handoff.md docs: #105 x #110 CLOSED - staged-texture-flush drop close-out (evidence chain + lesson); handoff marked historical 2026-06-10 12:17:09 +02:00
2026-06-10-corner-seal-refuted-openings-edgeon-handoff.md docs: SS2b corner-seal refuted (openings, not walls) - SS4 converges on edge-on clip collapse; next = retail clip oracle 2026-06-10 10:01:04 +02:00
2026-06-10-flap-outdoor-fullworld-CLOSED-depthmask-leak.md docs: §4 outdoor full-world flap CLOSED — depth-mask leak close-out (evidence chain + fix + verification) 2026-06-10 09:22:02 +02:00
2026-06-10-issue113-phantom-stairs-misplaced-cell-handoff.md docs: #113 pickup handoff - phantom-stairs/misplaced-cell attribution plan + #112 residual rider + tonight's shipped-state table 2026-06-10 15:28:44 +02:00
2026-06-11-building-render-acdream-vs-retail-comparison.md BR-1: RESOLVED as already-equivalent - premise falsified by pre-check, equivalence pinned, #113 attribution corrected 2026-06-11 06:25:31 +02:00
2026-06-11-building-render-holistic-port-handoff.md docs: holistic building-render port charter + next-session prompt (the 2026-06-11 mandate) 2026-06-10 21:50:23 +02:00
2026-06-11-polyclipfinish-w0-clip-pseudocode.md knife-edge port: polyClipFinish W=0 eye-plane clip + degenerate-view propagation; EyeInsidePortalOpening rescue DELETED 2026-06-11 21:44:23 +02:00
2026-06-11-t6-br7-shipped-t5-gate-post-t5-handoff.md docs: session handoff - T6/BR-7 shipped + T5 verdict + post-T5 state, with the next-session prompt 2026-06-11 16:17:41 +02:00
2026-06-11-tower-stairs-fundamental-handoff.md docs: tower-stairs fundamental handoff - the broken-state log kills all mesh-absence theories 2026-06-11 20:46:35 +02:00
2026-06-12-doorway-artifacts-129-130-handoff.md handoff: doorway artifacts #130/#129 + #113 re-check + UN-2 desk work (queue, leads, apparatus, pickup prompt) 2026-06-12 12:51:32 +02:00
2026-06-12-night-session-handoff-108-residual-next.md handoff: add the M1.5 dungeon-demo exit gate to the next-session work order 2026-06-12 21:21:51 +02:00
2026-06-13-dungeon-g3-handoff.md handoff: M1.5 dungeon support (G.3) grounded — design research + the terrain-less-premise refutation 2026-06-13 14:53:27 +02:00
2026-06-15-chat-window-redrive-handoff.md docs(D.2b): chat-window re-drive session handoff (Plan 2 chat piece) 2026-06-15 19:07:05 +02:00
2026-06-15-layoutdesc-format.md fix(combat): restore retail power bar layers 2026-07-12 21:14:14 +02:00
2026-06-16-action-bar-inventory-equipment-handoff.md docs(D.5): action bar / inventory / paperdoll research drop 2026-06-16 21:04:57 +02:00
2026-06-16-action-bar-toolbar-deep-dive.md feat(ui): preserve exact retail shortcut records 2026-07-11 09:17:33 +02:00
2026-06-16-equipment-paperdoll-deep-dive.md docs(D.5): action bar / inventory / paperdoll research drop 2026-06-16 21:04:57 +02:00
2026-06-16-inventory-deep-dive.md feat(ui): complete retail item drop branches 2026-07-11 09:46:32 +02:00
2026-06-16-ui-item-slot-icon-dragdrop-spine-deep-dive.md feat(items): port retail shared cooldown overlays 2026-07-23 10:41:16 +02:00
2026-06-16-ui-panels-synthesis.md docs(D.5): action bar / inventory / paperdoll research drop 2026-06-16 21:04:57 +02:00
2026-06-17-stateful-icon-RESOLVED.md docs(D.5.2): stateful item-icon spec + RESOLVED research 2026-06-17 18:12:45 +02:00
2026-06-17-stateful-icon-system-handoff.md fix #212: preserve shortcut tint in physical combat 2026-07-13 11:21:12 +02:00
2026-06-18-d53-bar-finish-and-inventory-handoff.md feat(ui): port retail selected-item mana 2026-07-11 11:16:21 +02:00
2026-06-18-item-object-model-handoff.md docs(D.5): sub-phase ledger + item-model cold-start prompt 2026-06-18 10:41:08 +02:00
2026-06-18-lighting-a7-fixABC-shipped-fixD-handoff.md docs(lighting): A7 Fix D investigation RESOLVED + implementation spec (#140) 2026-06-18 17:08:27 +02:00
2026-06-19-lighting-a7-fixD-round2-torch-reach-CHECKPOINT.md merge: bring main (UN-7, #140 filing, D.2b UI rows) into A7 Fix D round-2 branch 2026-06-20 09:29:53 +02:00
2026-06-20-indoor-lighting-done-next-portal-reuse-handoff.md docs: file #145 (portals work once/session) + session handoff (next: #145 then #144) 2026-06-20 18:31:47 +02:00
2026-06-20-indoor-lighting-regime-handoff.md docs(lighting): indoor lighting regime handoff — file #142 (windowed-interior regime) + #143 (portal dynamic light) 2026-06-20 12:17:59 +02:00
2026-06-20-indoor-torch-lantern-lighting-investigation.md fix(lighting): indoor interiors now lit — landblock-key bug + viewer light + weenie fixtures 2026-06-20 15:51:55 +02:00
2026-06-20-window-manager-inventory-handoff.md docs(handoff): window manager → inventory window → paperdoll (next D.2b arc) 2026-06-20 20:38:41 +02:00
2026-06-21-138-entity-redelivery-handoff.md docs(research): #138 handoff — RESOLVED banner + correct the re-hydrate source (not ClientObjectTable) 2026-06-21 08:09:36 +02:00
2026-06-21-145-cell-relative-physics-frame-handoff.md docs(#145): verified root cause + decision to port cell-relative physics frame (Option B) + handoff 2026-06-21 09:47:01 +02:00
2026-06-21-d2b-bcontroller-shipped-next-handoff.md docs(handoff): D.2b B-Controller shipped + visually confirmed; B-Wire next 2026-06-21 18:08:05 +02:00
2026-06-21-d2b-bgrid-shipped-bcontroller-next-handoff.md docs(handoff): D.2b A+B-Grid shipped, #145 fixed, B-Controller next 2026-06-21 07:52:40 +02:00
2026-06-21-d2b-inventory-finish-handoff.md docs(D.2b): inventory finish Stage 1 — handoff + divergence rows + ISSUES 2026-06-21 21:31:24 +02:00
2026-06-21-teleport-foundation-handoff.md docs(teleport): foundation-investigation handoff for a fresh-look session 2026-06-22 10:00:23 +02:00
2026-06-21-teleport-issues-handoff.md docs: handoff — fold in retail teleport-anim (TAS) flow + acdream gap analysis for the teleport-flow feature 2026-06-21 18:24:08 +02:00
2026-06-22-container-switching-handoff.md docs(D.2b): container-switching handoff + flag stale M1.5 banner 2026-06-22 13:17:55 +02:00
2026-06-22-paperdoll-handoff.md docs(D.2b): reconcile paperdoll docs to the corrected model (Slice 1 shipped) 2026-06-23 00:09:52 +02:00
2026-06-23-dense-town-fps-attribution-report.md docs(perf): dense-town FPS — final outcome (75->165) + ISSUES record 2026-06-24 00:13:32 +02:00
2026-06-23-dense-town-fps-deepdive-handoff.md docs: handoff — dense-town FPS deep-dive (push past 75fps) 2026-06-23 18:23:53 +02:00
2026-06-23-fps-distance-degrade-handoff.md docs: handoff — dense-town FPS = missing distance-degrade (port next) 2026-06-23 10:05:21 +02:00
2026-06-23-paperdoll-slice2-handoff.md docs(D.2b): Slice 2 handoff — paperdoll 3D doll viewport + the Slots toggle 2026-06-23 07:56:54 +02:00
2026-06-24-collision-inclusion-audit.md docs(physics): collision-inclusion audit + unified verbatim-collision design 2026-06-24 18:43:13 +02:00
2026-06-24-collision-object-detection-vs-retail-deepdive-handoff.md docs(research): handoff — collision-object-detection vs retail deep-dive ("1 fix for all collision") 2026-06-24 16:34:13 +02:00
2026-06-24-obstruction-ethereal-pseudocode.md fix(physics): Task 3 follow-up — obstruction_ethereal consume for Cylinder+Sphere shapes 2026-06-24 19:30:59 +02:00
2026-06-24-sphere-intersects-pseudocode.md feat(physics): Task 2 — true sphere collision primitive (CSphere::intersects_sphere) 2026-06-24 19:08:53 +02:00
2026-06-24-teleport-out-issues-handoff.md docs: handoff — two teleport-OUT issues (no-collision-after-death, char-missing) 2026-06-24 07:57:16 +02:00
2026-06-25-character-window-faithful-spec.md fix(ui): match retail vitae and character info 2026-07-17 12:06:14 +02:00
2026-06-25-retail-ui-layout-dump.json feat(studio): dump LayoutSource — preview any retail window from the UI dump 2026-06-25 16:25:23 +02:00
2026-06-25-studio-dump-panel-sweep.md docs(studio): dump-panel render sweep — all 26 windows verified 2026-06-25 16:50:39 +02:00
2026-06-26-ace-vs-2013-motion-command-gap.md docs(L.2b/L.1b): movement wire-parity slice design + 2026-06-26 audits 2026-06-30 21:34:33 +02:00
2026-06-26-character-window-retail-reference.md docs: add 2026-06-26 character window retail reference screenshot notes 2026-06-26 10:32:47 +02:00
2026-06-26-mockup-stage-handoff.md Merge claude/hopeful-maxwell-214a12 — D.2b UI Studio + faithful importer + Character window 2026-06-26 12:33:51 +02:00
2026-06-26-movement-animation-retail-parity-audit.md docs(L.2b/L.1b): movement wire-parity slice design + 2026-06-26 audits 2026-06-30 21:34:33 +02:00
2026-07-01-d6-motion-interp-pseudocode.md feat(D6.2b): send retail-faithful raw forward_speed=1.0 on the wire 2026-07-02 10:36:46 +02:00
2026-07-02-inbound-motion-deviation-map.md feat(L.2g-S5): delete player pace-inference layer; close #39 (DEV-2) 2026-07-02 16:10:28 +02:00
2026-07-02-inbound-motion-verbatim-port-handoff.md docs: handoff for inbound animation+position verbatim retail port 2026-07-02 13:49:01 +02:00
2026-07-02-s2-inbound-funnel-pseudocode.md docs(L.2g-S2): verbatim inbound-funnel pseudocode + observer cdb trace script 2026-07-02 18:33:23 +02:00
2026-07-02-ui-architecture-review.md docs: UI architecture review report + follow-up issues #159-#165 2026-07-03 09:18:52 +02:00
2026-07-03-phase-r-session-handoff.md docs: file #160-#163 (remote run-pace, landing pose retest, glide adjudication, temp-diag strip) + handoff postscript 2 2026-07-03 15:14:57 +02:00
2026-07-03-r4-verify-session-handoff.md docs: R2-R4 visual pass PASSED (user-verified) - file #165 wall-swallow + #166 slope-landing sled; next entry R5 2026-07-03 17:59:45 +02:00
2026-07-03-r5-entry-handoff.md docs: R5 entry handoff - fresh session enters here (R2-R4 arc closed, function inventory + verification items + lessons) 2026-07-03 18:12:33 +02:00
2026-07-03-session-handoff.md docs: session handoff (R5-V1/V2 + #168/#169 fixes) + roadmap; entry for next session 2026-07-04 08:51:54 +02:00
2026-07-04-170-creature-run-handoff.md fix(#170): armed moveto always ticks UseTime — the SERVERVEL branch starved the chase 2026-07-04 21:59:59 +02:00
2026-07-04-170-pickup-prompt.md docs(#170): session handoff + pickup prompt for the "sustain the run" residual 2026-07-04 20:31:40 +02:00
2026-07-04-171-pickup-prompt.md docs(#171): file the group-melee interpenetration issue + R5-V3 handoff/pickup 2026-07-04 22:38:58 +02:00
2026-07-04-171-sticky-melee-handoff.md docs(#171): file the group-melee interpenetration issue + R5-V3 handoff/pickup 2026-07-04 22:38:58 +02:00
2026-07-04-r5v5-facade-pickup-prompt.md docs: R5 arc close-out — V5 facade shipped, arc DONE; M1.5 critical path next 2026-07-05 11:12:37 +02:00
2026-07-05-ccylsphere-collision-family-pseudocode.md fix #172: port the retail CCylSphere collision family (platform step-up) 2026-07-05 14:52:28 +02:00
2026-07-05-m15-dungeon-pickup-prompt.md docs: M1.5 dungeon-track pickup prompt for the next session 2026-07-05 14:02:35 +02:00
2026-07-05-mp0-baseline.md docs(pipeline): MP0 baseline captured - gate PASSED, alloc-triage amendment 2026-07-05 19:42:36 +02:00
2026-07-06-137-closeout-render-pair-pickup.md docs: session handoff — #137 corridor arc closed, #176/#177 render pair pickup 2026-07-05 20:13:19 +02:00
2026-07-06-137-corridor-phantom-pickup-prompt.md fix #137 (corridor phantom resolved): slide_sphere opposing branch returns Collided; the 'wall' was synthetic 2026-07-05 18:27:40 +02:00
2026-07-06-137-sliding-normal-lifecycle-audit.md fix #137 (corridor phantom resolved): slide_sphere opposing branch returns Collided; the 'wall' was synthetic 2026-07-05 18:27:40 +02:00
2026-07-06-176-177-handoff-A7-lighting.md docs: #176/#177 handoff — root-caused, folded into A7 dungeon lighting 2026-07-05 23:16:17 +02:00
2026-07-06-176-177-render-pair-investigation.md fix #176 #177: the camera-capped light snapshot evicted visible cells' torches — per-cell lighting popped at seams 2026-07-05 21:55:43 +02:00
2026-07-06-176-seam-floor-zfight-handoff.md fix #176: light pool tracked the camera via flood scoping - collect residents, anchor at player 2026-07-06 15:12:31 +02:00
2026-07-06-177-stairs-pickup-handoff.md docs(#177): mark stairs pickup-handoff SUPERSEDED (flood theory disproven) 2026-07-07 10:10:53 +02:00
2026-07-06-180-camera-sweep-strobe-handoff.md docs(#180): camera-sweep strobe handoff - evidence, retail anchors, autonomous visual-loop recipe, companion prompt 2026-07-06 16:29:57 +02:00
2026-07-06-a7-per-cell-lighting-pseudocode.md diag #176/#181: artifact CHARACTERIZED - static ~10x-hot magenta wash zebra-striping wall geometry; root = weenie lamps on the dynamic light curve (A7 fix #2); retail static curve Ghidra-verified (calc_point_light 0x0059c8b0) 2026-07-06 22:43:43 +02:00
2026-07-06-adjust-to-plane-pseudocode.md fix #180 (root): retail adjust_to_plane - PathClipped stops now resolve to the contact point, not a step boundary 2026-07-06 17:20:46 +02:00
2026-07-06-camera-sought-position-pseudocode.md fix #180: port retail's stateful camera sought-position - the sweep target converges onto the wall contact 2026-07-06 16:49:01 +02:00
2026-07-06-viewer-step-subdivision-pseudocode.md port #181: retail viewer step subdivision (calc_num_steps 0x0050a0b0) - radius-anchored steps + remainder final step + viewer-exempt small-offset abort 2026-07-06 22:30:37 +02:00
2026-07-07-184-slice2-unify-extract-handoff.md docs(#184): CLOSE — Slice 2 gate passed (players walk through, monsters collide) 2026-07-08 06:40:29 +02:00
2026-07-07-csphere-collision-family-pseudocode.md fix #182: port CSphere collision family — retail-faithful crowd wiggle (retires TS-45) 2026-07-07 11:25:56 +02:00
2026-07-07-remote-creature-deoverlap-handoff.md docs: remote-creature de-overlap — design spec + fresh-session handoff 2026-07-07 20:29:06 +02:00
2026-07-08-185-outdoor-stairs-phantom-handoff.md docs(#185): handoff for the outdoor-stairs phantom fix (synthetic sliding-normal, #137/TS-4 family) 2026-07-08 07:35:11 +02:00
2026-07-08-186-connector-grey-flap-handoff.md docs(#186): close — render InsideSide from dat PortalSide bit (fix 8257b9ba); retail trace overturned PICK + FLOOD-epsilon hypotheses 2026-07-08 15:07:46 +02:00
2026-07-09-a7-townnet-ambient-verdict-lightcap-handoff.md docs(A7): Town Network "too dark" root-caused — ambient RULED OUT (live cdb 0.2 white == retail), cause is the 463>128 light cap 2026-07-09 10:18:05 +02:00
2026-07-10-detail-texturing.md docs(research): retail Environment Detail Textures = overlay blend, decomp-verified 2026-07-17 21:31:48 +02:00
2026-07-10-retail-panel-behavior-pseudocode.md fix(ui): port exact paperdoll body selection 2026-07-11 11:56:26 +02:00
2026-07-10-retail-radar-pseudocode.md feat(ui): port retail radar and compass 2026-07-10 16:14:37 +02:00
2026-07-10-retail-toolbar-interaction-pseudocode.md feat(ui): drive toolbar use state from selection 2026-07-23 08:07:47 +02:00
2026-07-10-retained-widget-foundations-pseudocode.md docs(ui): pin retained widget retail oracles 2026-07-10 17:55:28 +02:00
2026-07-11-combat-default-and-parent-event-pseudocode.md refactor(input): own gameplay action routing 2026-07-22 12:43:05 +02:00
2026-07-11-combat-live-gate-corrections-pseudocode.md fix(combat): match retail live attack feedback 2026-07-11 21:10:01 +02:00
2026-07-11-combat-target-camera-pseudocode.md fix(combat): match retail live attack feedback 2026-07-11 21:10:01 +02:00
2026-07-11-local-combat-motion-pseudocode.md fix(combat): apply server attack motions locally 2026-07-11 13:34:55 +02:00
2026-07-11-retail-combat-bar-pseudocode.md fix #208: keep combat bar hidden in peace mode 2026-07-12 22:30:55 +02:00
2026-07-11-retail-inventory-scroll-pseudocode.md fix(ui): complete retail inventory scroll polish 2026-07-11 10:56:33 +02:00
2026-07-11-retail-selected-health-policy-pseudocode.md fix(ui): port exact selected health policy 2026-07-11 11:42:04 +02:00
2026-07-11-retail-toolbar-ammo-pseudocode.md feat(ui): port retail toolbar ammo count 2026-07-11 12:29:51 +02:00
2026-07-12-death-and-auto-target-pseudocode.md fix(combat): synchronize auto-target presentation 2026-07-12 20:26:00 +02:00
2026-07-12-login-placement-and-repeat-cancel-pseudocode.md fix(combat): escape occupied login positions 2026-07-12 22:20:17 +02:00
2026-07-12-retail-weapon-switch-pseudocode.md fix(items): preserve wand stance and corpse use order 2026-07-17 19:32:01 +02:00
2026-07-13-envcell-landblock-transaction.md fix(streaming): commit EnvCell landblocks atomically (#214) 2026-07-13 18:45:24 +02:00
2026-07-13-retail-client-command-families-pseudocode.md fix #213: complete suicide and framerate presentation 2026-07-13 15:50:47 +02:00
2026-07-13-retail-client-command-routing-pseudocode.md feat(chat): route retail lifestone commands 2026-07-13 11:43:19 +02:00
2026-07-13-retail-dialog-factory-pseudocode.md feat(ui): port retail dialog factory lifecycle 2026-07-13 16:30:05 +02:00
2026-07-13-retail-experience-update-pseudocode.md fix(ui): port live experience quality updates (#217) 2026-07-13 20:43:48 +02:00
2026-07-13-retail-give-item-pseudocode.md feat(inventory): port retail item giving (#216) 2026-07-13 20:28:48 +02:00
2026-07-13-retail-item-drag-visuals-pseudocode.md fix(ui): select items before drag mesh 2026-07-13 09:28:28 +02:00
2026-07-13-retail-jump-powerbar-pseudocode.md feat(ui): port retail jump power bar 2026-07-13 10:22:12 +02:00
2026-07-13-retail-paperdoll-slot-backgrounds-pseudocode.md docs(ui): record Aetheria slot visual gate 2026-07-13 10:00:46 +02:00
2026-07-13-retail-projectile-vfx-pseudocode.md refactor(world): extract live appearance and parenting 2026-07-21 18:10:07 +02:00
2026-07-13-retail-skill-training-confirmation-pseudocode.md fix(ui): restore retail skill training confirmation 2026-07-13 17:57:29 +02:00
2026-07-13-retail-terrain-texture-tiling-pseudocode.md fix(rendering): restore retail terrain texture tiling 2026-07-13 21:04:22 +02:00
2026-07-13-same-dungeon-respawn-landblock-identity-pseudocode.md fix(teleport): preserve dungeon cell identity on respawn (#215) 2026-07-13 20:08:21 +02:00
2026-07-14-wield-ownership-and-target-facing-pseudocode.md fix(gameplay): reconcile wield ownership and target facing 2026-07-15 08:19:23 +02:00
2026-07-15-retail-magic-ui-and-casting-pseudocode.md fix(ui): keep spell components in authored foreground 2026-07-24 08:08:29 +02:00
2026-07-15-retail-portal-space-pseudocode.md docs(runtime): close exact world host ownership 2026-07-26 18:41:24 +02:00
2026-07-15-retail-spell-catalog-pseudocode.md fix(spells): load complete retail DAT catalog 2026-07-15 21:17:13 +02:00
2026-07-16-portal-completion-pseudocode.md fix(physics): C4 route 3 — portal placement authority (local player) 2026-08-05 03:57:37 +02:00
2026-07-17-combat-movement-outbound-style-pseudocode.md fix(runtime): align portal and movement presentation 2026-07-17 08:48:27 +02:00
2026-07-17-local-player-root-motion-start-pseudocode.md fix(runtime): align portal and movement presentation 2026-07-17 08:48:27 +02:00
2026-07-17-remote-root-motion-reconciliation-pseudocode.md fix(runtime): align portal and movement presentation 2026-07-17 08:48:27 +02:00
2026-07-17-retail-external-container-looting-pseudocode.md fix(items): use retail cylinder range for loot windows 2026-07-17 20:32:34 +02:00
2026-07-17-retail-indicator-bar-pseudocode.md fix(ui): complete retail indicator detail panels 2026-07-17 11:36:43 +02:00
2026-07-17-retail-particle-visibility-pseudocode.md config(vfx): default to extended particle range 2026-07-17 15:32:57 +02:00
2026-07-17-retail-shared-main-panel-pseudocode.md fix(ui): complete retail indicator detail panels 2026-07-17 11:36:43 +02:00
2026-07-17-retail-vitae-character-info-pseudocode.md fix(ui): restore effect detail scrolling 2026-07-17 13:28:18 +02:00
2026-07-17-retail-window-control-cursor-pseudocode.md fix(ui): port retail window control feedback 2026-07-17 09:40:08 +02:00
2026-07-17-retail-world-selection-pseudocode.md fix(ui): select retained items on mouse down 2026-07-24 06:17:31 +02:00
2026-07-18-retail-object-liveness-and-mesh-reclamation-pseudocode.md fix(streaming): preserve portal destination ownership 2026-07-25 08:35:12 +02:00
2026-07-18-retail-shared-alpha-list-pseudocode.md perf(rendering): preserve alpha order with bindless particles 2026-07-18 08:32:21 +02:00
2026-07-18-retail-texture-resource-lifetime-pseudocode.md fix(rendering): bound portal resource lifetime 2026-07-18 21:35:16 +02:00
2026-07-19-r6-complete-root-frame-pseudocode.md fix(animation): retain trailing PartArray poses 2026-07-21 09:41:15 +02:00
2026-07-19-r6-update-object-order-pseudocode.md docs(architecture): plan GameWindow update-frame extraction 2026-07-22 00:06:55 +02:00
2026-07-20-connected-r6-soak.md test(runtime): add unattended connected R6 soak 2026-07-20 12:12:08 +02:00
2026-07-20-retail-graceful-logout-pseudocode.md fix(net): honor retail graceful logout handshake 2026-07-20 23:31:23 +02:00
2026-07-21-retail-live-session-lifecycle-pseudocode.md fix(net): conform character entry and session shutdown 2026-07-21 10:33:03 +02:00
2026-07-23-retail-appraisal-ui-pseudocode.md fix(ui): preserve retail item titles and spacing 2026-07-24 05:21:01 +02:00
2026-07-23-retail-item-cooldown-pseudocode.md feat(items): port retail shared cooldown overlays 2026-07-23 10:41:16 +02:00
2026-07-23-retail-item-use-and-autowear-pseudocode.md fix(world): restore portal and distant use lifecycles 2026-07-25 09:59:25 +02:00
2026-07-23-retail-spellbar-overflow-pseudocode.md fix(ui): match retail spell bar controls 2026-07-23 07:49:09 +02:00
2026-07-23-retail-use-busy-ownership-pseudocode.md fix(world): restore portal and distant use lifecycles 2026-07-25 09:59:25 +02:00
2026-07-24-arch-render-scene-dependency.md feat(rendering): contain incremental render scene 2026-07-24 21:42:42 +02:00
2026-07-24-audit-review-remediation-handoff.md docs(handoff): correct worktree-cleanup status (three orphaned dirs remain file-locked) 2026-07-24 12:19:24 +02:00
2026-07-24-performance-capture-playbook.md perf(diag): complete trustworthy Slice A capture tooling 2026-07-24 12:46:51 +02:00
2026-07-24-performance-reference-configuration.json perf(diag): complete trustworthy Slice A capture tooling 2026-07-24 12:46:51 +02:00
2026-07-24-performance-reference-configuration.md perf(diag): complete trustworthy Slice A capture tooling 2026-07-24 12:46:51 +02:00
2026-07-24-retail-streaming-retirement-pseudocode.md fix(streaming): preserve portal destination ownership 2026-07-25 08:35:12 +02:00
2026-07-24-runtime-performance-audit-checkpoints.csv docs(perf): preserve runtime benchmark evidence 2026-07-24 10:09:03 +02:00
2026-07-24-runtime-performance-audit-summary.json docs(perf): preserve runtime benchmark evidence 2026-07-24 10:09:03 +02:00
2026-07-24-runtime-performance-audit.md docs(perf): audit errata + plan governance/contract amendments (2026-07-24 review) 2026-07-24 11:38:20 +02:00
2026-07-24-slice-a-physical-local-baselines.json docs(perf): commit physical Slice A baselines 2026-07-24 14:41:50 +02:00
2026-07-24-slice-a-physical-local-baselines.md docs(perf): commit physical Slice A baselines 2026-07-24 14:41:50 +02:00
2026-07-24-slice-a-rdp-baselines.json docs(perf): commit physical Slice A baselines 2026-07-24 14:41:50 +02:00
2026-07-24-slice-a-rdp-baselines.md docs(perf): commit physical Slice A baselines 2026-07-24 14:41:50 +02:00
2026-07-24-slice-b-full-bake-report.json docs(perf): close Slice B with full-bake evidence 2026-07-24 14:10:50 +02:00
2026-07-24-slice-b-full-bake-report.md docs(perf): close Slice B with full-bake evidence 2026-07-24 14:10:50 +02:00
2026-07-24-slice-c-prepared-asset-cutover-report.json perf(content): close prepared asset cutover 2026-07-24 15:49:24 +02:00
2026-07-24-slice-c-prepared-asset-cutover-report.md perf(content): close prepared asset cutover 2026-07-24 15:49:24 +02:00
2026-07-24-slice-d-unified-residency-report.md docs(render): close unified residency slice 2026-07-24 17:06:17 +02:00
2026-07-24-slice-e-cost-budgeted-streaming-report.md docs(runtime): close cost-budgeted streaming slice 2026-07-24 20:52:20 +02:00
2026-07-24-slice-f5-render-scene-shadow-gate.md docs(rendering): close slice F shadow gate 2026-07-24 23:52:07 +02:00
2026-07-25-portal-regression-closeout.md fix(world): restore portal and distant use lifecycles 2026-07-25 09:59:25 +02:00
2026-07-25-slice-g1-scene-query-candidate-gate.md docs(rendering): close packed dispatcher gate 2026-07-25 02:41:21 +02:00
2026-07-25-slice-g2-packed-dispatcher-gate.md docs(rendering): close packed dispatcher gate 2026-07-25 02:41:21 +02:00
2026-07-25-slice-g3-retained-classification-gate.md docs(rendering): close retained classification gate 2026-07-25 03:37:37 +02:00
2026-07-25-slice-g4-production-cutover-automated-gate.md docs(rendering): record G4 automated gate 2026-07-25 05:01:27 +02:00
2026-07-25-slice-g5-production-profile.md docs(rendering): close retained-scene G5 2026-07-25 13:55:38 +02:00
2026-07-25-slice-h-a1-ui-text-cache.md perf(ui): retain shaped report text 2026-07-25 05:11:12 +02:00
2026-07-25-slice-h-a2-cooldown-scope.md perf(ui): scope cooldown heartbeat to visible items 2026-07-25 05:12:58 +02:00
2026-07-25-slice-h-a3-attached-pose-reconcile.md perf(rendering): reconcile only changed attachments 2026-07-25 05:18:33 +02:00
2026-07-25-slice-h-a4-frame-scratch.md perf(rendering): retain synchronous frame scratch 2026-07-25 05:28:30 +02:00
2026-07-25-slice-h-b-light-top-k-pseudocode.md perf(lighting): bound global light selection 2026-07-25 05:40:32 +02:00
2026-07-25-slice-h-b-light-top-k-report.md perf(lighting): bound global light selection 2026-07-25 05:40:32 +02:00
2026-07-25-slice-h-c1-pooled-receive-owner.md perf(net): own one pooled async receive 2026-07-25 05:50:18 +02:00
2026-07-25-slice-h-c2-borrowed-packet-decode.md perf(net): borrow inbound packet storage 2026-07-25 05:58:55 +02:00
2026-07-25-slice-h-c3-direct-outbound-framing.md perf(net): frame recurring sends in place 2026-07-25 06:02:52 +02:00
2026-07-25-slice-h-closeout.md docs(performance): close modern runtime slice H 2026-07-25 06:15:13 +02:00
2026-07-25-slice-i-collision-layout-oracle.md docs(physics): pin Slice I collision oracle 2026-07-25 06:27:09 +02:00
2026-07-25-slice-i1-transition-scratch.md perf(physics): reuse reset-complete transition scratch 2026-07-25 14:37:02 +02:00
2026-07-25-slice-i2-flat-collision-schema.md feat(physics): define deterministic flat collision assets 2026-07-25 14:52:47 +02:00
2026-07-25-slice-i3-prepared-collision-package.md feat(content): bake and read flat collision assets 2026-07-25 15:22:08 +02:00
2026-07-25-slice-i4-flat-bsp-differential.md feat(physics): add differential flat BSP traversal 2026-07-25 15:47:58 +02:00
2026-07-25-slice-i5-dual-collision-shadow.md feat(streaming): shadow-publish flat collision assets 2026-07-25 16:38:54 +02:00
2026-07-25-slice-i6-flat-production-cutover.md docs(runtime): record J0 and physical I6 evidence 2026-07-25 17:37:21 +02:00
2026-07-25-slice-i7-closeout.md docs(physics): close Slice I evidence and roadmap 2026-07-25 18:44:43 +02:00
2026-07-25-slice-j1-runtime-contract-closeout.md docs(runtime): pin J2 session lifetime migration 2026-07-25 19:18:58 +02:00
2026-07-25-slice-j2-session-lifetime-closeout.md docs(runtime): close J2 session lifetime gate 2026-07-25 19:46:47 +02:00
2026-07-25-slice-j3-2-canonical-entity-directory-closeout.md docs(runtime): close J3.2 canonical identity gate 2026-07-25 20:14:29 +02:00
2026-07-25-slice-j3-3-complete-j3-4-handoff.md docs(runtime): close J3.3 and hand off J3.4 2026-07-25 22:29:34 +02:00
2026-07-25-slice-j3-3-exact-projection-store.md docs(runtime): close J3.3 and hand off J3.4 2026-07-25 22:29:34 +02:00
2026-07-25-slice-j3-entity-ownership-inventory.md docs(runtime): close J3.2 canonical identity gate 2026-07-25 20:14:29 +02:00
2026-07-26-prepared-indoor-transit-regression.md fix(physics): traverse prepared indoor portal topology 2026-07-27 00:02:44 +02:00
2026-07-26-retail-hardwareless-particle-emitter-diagnostics.md fix(vfx): classify hardwareless particle emitters once 2026-07-27 00:03:44 +02:00
2026-07-26-retail-inventory-placement-and-world-drop-pseudocode.md fix(interaction): restore retail loot placement and world-drop projection 2026-07-27 00:03:15 +02:00
2026-07-26-slice-j3-4-canonical-object-lifetime.md docs(runtime): close J3.4 and plan J3.5 2026-07-26 06:09:28 +02:00
2026-07-26-slice-j3-5-canonical-delta-stream.md docs(runtime): close J3.5 and plan J3.6 2026-07-26 06:54:47 +02:00
2026-07-26-slice-j3-6-lifetime-closeout.md docs(runtime): close canonical entity object lifetime 2026-07-26 07:35:42 +02:00
2026-07-26-slice-j4-1-communication-state.md docs(runtime): close communication ownership 2026-07-26 07:59:02 +02:00
2026-07-26-slice-j4-2-inventory-state.md docs(runtime): close inventory state ownership 2026-07-26 08:29:06 +02:00
2026-07-26-slice-j4-3-character-state.md docs(runtime): close magic and player ownership 2026-07-26 08:46:12 +02:00
2026-07-26-slice-j4-4-character-projections.md docs(runtime): close character projections 2026-07-26 09:21:26 +02:00
2026-07-26-slice-j4-5-gameplay-state-closeout.md docs(runtime): close gameplay-state ownership 2026-07-26 10:17:39 +02:00
2026-07-26-slice-j4-5-retail-local-command-order.md refactor(runtime): close canonical gameplay ownership 2026-07-26 09:48:51 +02:00
2026-07-26-slice-j5-1-canonical-action-state.md docs(runtime): close canonical action ownership 2026-07-26 10:54:12 +02:00
2026-07-26-slice-j5-2-interaction-transactions.md docs(runtime): close interaction transaction ownership 2026-07-26 11:22:07 +02:00
2026-07-26-slice-j5-3-combat-magic-intent.md docs(runtime): close combat and magic intent 2026-07-26 12:09:19 +02:00
2026-07-26-slice-j5-4-local-movement-ownership.md docs(runtime): close local movement ownership 2026-07-26 12:53:41 +02:00
2026-07-26-slice-j5-5-physics-remote-ownership.md docs(runtime): close per-session physics ownership 2026-07-26 13:59:06 +02:00
2026-07-26-slice-j5-6-projectile-ownership.md docs(runtime): close projectile ownership 2026-07-26 15:27:50 +02:00
2026-07-26-slice-j5-7-simulation-ownership-closeout.md docs(runtime): close simulation ownership 2026-07-26 16:29:28 +02:00
2026-07-26-slice-j5-owner-and-retail-order-inventory.md docs(runtime): plan simulation ownership 2026-07-26 10:25:46 +02:00
2026-07-26-slice-j6-1-environment-ownership.md docs(runtime): record world environment ownership 2026-07-26 16:52:54 +02:00
2026-07-26-slice-j6-2-reveal-ownership.md docs(runtime): record reveal ownership gate 2026-07-26 17:27:15 +02:00
2026-07-26-slice-j6-3-teleport-correlation.md docs(runtime): record teleport correlation gate 2026-07-26 18:04:50 +02:00
2026-07-26-slice-j6-4-host-acknowledgement.md docs(runtime): close exact world host ownership 2026-07-26 18:41:24 +02:00
2026-07-26-slice-j7-game-runtime-root-cutover.md docs(runtime): close the accepted J7 visual gate 2026-07-27 00:12:26 +02:00
2026-07-27-slice-j8-no-window-closeout.md docs(runtime): close Slice J and activate Slice K 2026-07-27 01:01:41 +02:00
2026-07-27-slice-k0-portability-boundary.md docs(headless): close K0 and activate K1 2026-07-27 07:05:45 +02:00
2026-07-27-slice-k1-single-session-headless.md docs: close modern runtime slice K1 2026-07-27 07:39:56 +02:00
2026-07-27-slice-k2-deterministic-bot-parity.md docs(headless): close modern runtime slice K2 2026-07-27 08:26:23 +02:00
2026-07-27-slice-k3-shared-content-isolation-checkpoint.md docs(headless): close K3 connected gates 2026-07-27 10:28:53 +02:00
2026-07-27-slice-k4-resource-telemetry-checkpoint.md docs(headless): close modern runtime slice K 2026-07-27 11:31:19 +02:00
2026-07-27-slice-l0-platform-services.md docs(linux): close Slice L0 2026-07-27 12:00:10 +02:00
2026-07-27-slice-l1-graphical-capability-checkpoint.md docs(linux): park Slice L at L1 checkpoint 2026-07-27 12:35:47 +02:00
2026-07-29-enum-verification-campaign.md feat(core): adopt retail's SoundType catalog; retire AC2D 2026-07-29 07:38:56 +02:00
2026-07-29-remote-and-world-specials-pseudocode.md docs(physics): #165 diagnostic pass - rule out (a)/(b), stop at (c) 2026-07-30 10:01:11 +02:00
2026-07-29-vtank-plugin-automation-requirements.md docs: VTank requirements research - the plugin-automation milestone model 2026-07-29 16:29:49 +02:00
2026-07-29-wire-stack-audit.md docs(net): the wire-stack audit, all three hundred forty-nine opcodes 2026-07-29 02:05:12 +02:00
2026-07-30-265-capture-bisect.md docs: #265/#166 - ledger updates and capture-bisect as-fixed addendum 2026-07-30 19:28:28 +02:00
2026-07-30-animation-parity-audit.md docs(research): animation parity audit - 103/103 methods accounted, 7/7 flows parity, 5 ranked gaps 2026-07-30 14:46:31 +02:00
2026-07-30-constraint-leash-constants.md fix(physics): P5 commit 3 - retire TS-35, close #167 (ConstraintManager leash) 2026-07-30 12:12:29 +02:00
2026-07-30-landing-bounce-family.md fix(physics): #265 landing-bounce family - retail check_contact seed + velocity-free landing commit 2026-07-30 20:12:06 +02:00
2026-07-30-movement-parity-audit.md docs(research): movement parity audit - catch-up cap 4x gap (HIGH), autorun divergences, AP-30 stale 2026-07-30 14:54:32 +02:00
2026-07-30-response-layer-edge-family-pseudocode.md test(physics): harden TS-4 production chronology 2026-07-31 14:08:51 +02:00
2026-07-30-stat-coupled-movement-pseudocode.md fix(movement): invalidate burden on enchantment changes 2026-07-31 10:16:27 +02:00
2026-07-30-ts4-116-oracle-plan.md fix(physics): #116 shape-1 — Path-6 head-sphere direct Collided return 2026-07-30 12:36:26 +02:00
2026-07-31-269-slope-stop-capture.md fix(physics): port retail slope landing stop 2026-07-31 09:10:53 +02:00
2026-07-31-271-stair-side-slide-capture.md fix(physics): port retail stair edge backprobe 2026-07-31 09:26:28 +02:00
2026-07-31-atomic-collision-generation.md fix(physics): make collision activation starvation-free 2026-07-31 18:34:46 +02:00
2026-07-31-canonical-set-position.md feat(runtime): own SetPosition collision reports 2026-08-01 00:15:11 +02:00
2026-07-31-cell-availability-semantics.md fix(physics): validate retail cell containment roots 2026-07-31 14:48:26 +02:00
2026-07-31-issue273-tight-gap-support.md fix(physics): enforce retail step-down support radius (#273) 2026-07-31 12:10:03 +02:00
2026-07-31-remaining-physics-campaign-handoff.md feat(runtime): own SetPosition collision reports 2026-08-01 00:15:11 +02:00
2026-07-31-runtime-set-position-collision-reporting-handoff.md feat(runtime): prepare authored SetPosition movers 2026-08-01 09:16:09 +02:00
2026-07-31-runtime-set-position-collision-reporting.md feat(runtime): own SetPosition collision reports 2026-08-01 00:15:11 +02:00
2026-08-01-runtime-initial-create-residence-handoff.md docs(physics): hand off initial placement admission 2026-08-01 21:03:51 +02:00
2026-08-01-runtime-initial-placement-admission-handoff.md docs(physics): hand off placement continuation executor 2026-08-02 03:52:30 +02:00
2026-08-01-runtime-local-player-physics-publication.md feat(runtime): commit dormant SetPosition activation 2026-08-01 14:25:02 +02:00
2026-08-01-runtime-set-position-authored-mover-preparation.md feat(runtime): prepare authored SetPosition movers 2026-08-01 09:16:09 +02:00
2026-08-02-c3c-cutover-closeout.md docs(physics): record cutover slice C3c completion + closeout 2026-08-02 18:12:57 +02:00
2026-08-02-canonical-body-writer-map.md docs(physics): C1 satisfied by the existing publication mechanism 2026-08-02 05:33:29 +02:00
2026-08-02-cutover-route-inventory.md docs(physics): plan the placement production cutover 2026-08-02 04:10:38 +02:00
2026-08-02-runtime-continuation-executor-handoff.md docs(physics): hand off placement continuation executor 2026-08-02 03:52:30 +02:00
2026-08-02-set-description-float-gates.md docs(physics): record cutover slice C3b completion 2026-08-02 10:21:05 +02:00
2026-08-03-c4-route-2-contract.md docs: pin the C4 route 2 (ForcePosition) contract 2026-08-03 14:41:27 +02:00
2026-08-03-c4-route-2-implementation-plan.md feat(physics): C4 route 2 — ForcePosition through the canonical placement 2026-08-03 18:46:36 +02:00
2026-08-03-c4-route-2-review-findings.md feat(physics): C4 route 2 — ForcePosition through the canonical placement 2026-08-03 18:46:36 +02:00
2026-08-03-c4-route-2-visual-gate.md docs: C4 route 2 connected gate — the real @pklite recipe 2026-08-03 19:08:08 +02:00
2026-08-03-c4-route-4-scoping.md docs: C4 route 4 scoping — the stated budget failed, stop and re-plan 2026-08-03 19:46:01 +02:00
2026-08-03-c4-route-4a-contract.md feat(physics): C4 route 4a — remote steady-state Position through the seam 2026-08-04 00:19:05 +02:00
2026-08-03-c4-route-4a-review-findings.md feat(physics): C4 route 4a — remote steady-state Position through the seam 2026-08-04 00:19:05 +02:00
2026-08-03-session-handoff.md docs: close #297-#299 with SHAs; session handoff 2026-08-03 21:30:17 +02:00
2026-08-04-bug-a-h3-scheduler-diagnosis.md fix(physics): remote bodies slide on steep faces instead of freezing (#32) 2026-08-04 10:21:16 +02:00
2026-08-04-bug-b-remote-slide-diagnosis.md fix(physics): remote bodies slide on steep faces instead of freezing (#32) 2026-08-04 10:21:16 +02:00
2026-08-04-c4-route-3-architecture-review-round2.md fix(physics): C4 route 3 — portal placement authority (local player) 2026-08-05 03:57:37 +02:00
2026-08-04-c4-route-3-architecture-review.md fix(physics): C4 route 3 — portal placement authority (local player) 2026-08-05 03:57:37 +02:00
2026-08-04-c4-route-3-contract.md docs: pin the C4 route 3 contract (portal producer adapter) 2026-08-04 22:24:41 +02:00
2026-08-04-c4-route-3-retail-review-round2.md fix(physics): C4 route 3 — portal placement authority (local player) 2026-08-05 03:57:37 +02:00
2026-08-04-c4-route-3-retail-review.md fix(physics): C4 route 3 — portal placement authority (local player) 2026-08-05 03:57:37 +02:00
2026-08-04-c4-route-3-scoping.md research: settle retail parent-cell propagation and scope C4 route 3 2026-08-04 21:23:56 +02:00
2026-08-04-c4-route-4b-1-contract.md docs: pin the C4 route 4b-1 contract (remote placement infrastructure) 2026-08-04 01:11:42 +02:00
2026-08-04-c4-route-4b-1-review-findings.md feat(physics): C4 route 4b-1 — remote placement infrastructure (dormant) 2026-08-04 04:08:19 +02:00
2026-08-04-c4-route-4b-2-contract.md docs: pin the C4 route 4b-2 contract (remote far-snap) 2026-08-04 04:09:15 +02:00
2026-08-04-c4-route-4b-2-delta-review-findings.md feat(physics): C4 route 4b-2 — remote far snap through the canonical placement 2026-08-04 07:55:56 +02:00
2026-08-04-c4-route-4b-2-review-findings.md feat(physics): C4 route 4b-2 — remote far snap through the canonical placement 2026-08-04 07:55:56 +02:00
2026-08-04-c4-route-4b-2-round3-correction.md feat(physics): C4 route 4b-2 — remote far snap through the canonical placement 2026-08-04 07:55:56 +02:00
2026-08-04-c4-route-4b-2-round4-correction.md feat(physics): C4 route 4b-2 — remote far snap through the canonical placement 2026-08-04 07:55:56 +02:00
2026-08-04-c4-route-4b-3-architecture-review-round2.md docs: C4 route 4b-3 contract and both dual-review rounds 2026-08-04 16:00:26 +02:00
2026-08-04-c4-route-4b-3-architecture-review.md docs: C4 route 4b-3 contract and both dual-review rounds 2026-08-04 16:00:26 +02:00
2026-08-04-c4-route-4b-3-contract.md fix(physics): C4 route 7 — child cell propagation moves from a render tick into Runtime 2026-08-04 23:53:05 +02:00
2026-08-04-c4-route-4b-3-retail-review-round2.md docs: C4 route 4b-3 contract and both dual-review rounds 2026-08-04 16:00:26 +02:00
2026-08-04-c4-route-4b-3-retail-review.md docs: C4 route 4b-3 contract and both dual-review rounds 2026-08-04 16:00:26 +02:00
2026-08-04-c4-route-4b-scoping-and-split.md docs: C4 route 4b scoping — split three ways, and two corrections 2026-08-04 00:51:32 +02:00
2026-08-04-c4-route-5-architecture-review-round2.md fix(physics): C4 route 5 — projectile authoritative placement (#276 partial) 2026-08-04 21:03:41 +02:00
2026-08-04-c4-route-5-architecture-review-round3.md fix(physics): C4 route 5 — projectile authoritative placement (#276 partial) 2026-08-04 21:03:41 +02:00
2026-08-04-c4-route-5-architecture-review.md fix(physics): C4 route 5 — projectile authoritative placement (#276 partial) 2026-08-04 21:03:41 +02:00
2026-08-04-c4-route-5-contract.md fix(physics): C4 route 5 — projectile authoritative placement (#276 partial) 2026-08-04 21:03:41 +02:00
2026-08-04-c4-route-5-retail-review-round2.md fix(physics): C4 route 5 — projectile authoritative placement (#276 partial) 2026-08-04 21:03:41 +02:00
2026-08-04-c4-route-5-retail-review-round3.md fix(physics): C4 route 5 — projectile authoritative placement (#276 partial) 2026-08-04 21:03:41 +02:00
2026-08-04-c4-route-5-retail-review.md fix(physics): C4 route 5 — projectile authoritative placement (#276 partial) 2026-08-04 21:03:41 +02:00
2026-08-04-c4-route-5-scoping.md docs: scope C4 route 5 (projectile authoritative placement) 2026-08-04 04:26:30 +02:00
2026-08-04-c4-route-6-contract.md test(physics): C4 route 6 — drops/split-recovery closure, zero production lines 2026-08-04 16:45:57 +02:00
2026-08-04-c4-route-7-architecture-review-round2.md fix(physics): C4 route 7 — child cell propagation moves from a render tick into Runtime 2026-08-04 23:53:05 +02:00
2026-08-04-c4-route-7-architecture-review.md fix(physics): C4 route 7 — child cell propagation moves from a render tick into Runtime 2026-08-04 23:53:05 +02:00
2026-08-04-c4-route-7-contract.md fix(physics): bind a parented child to the parent's live incarnation (#319) 2026-08-05 11:56:31 +02:00
2026-08-04-c4-route-7-retail-review-round2.md fix(physics): C4 route 7 — child cell propagation moves from a render tick into Runtime 2026-08-04 23:53:05 +02:00
2026-08-04-c4-route-7-retail-review.md fix(physics): C4 route 7 — child cell propagation moves from a render tick into Runtime 2026-08-04 23:53:05 +02:00
2026-08-04-c4-routes-6-7-scoping.md docs: scope C4 routes 6 and 7 — route 6 needs zero production lines 2026-08-04 04:27:13 +02:00
2026-08-04-invisible-recalled-remote-diagnosis.md fix(physics): restore presentation when a park is cancelled (#312) 2026-08-04 11:21:45 +02:00
2026-08-04-onposition-collapse-contract.md refactor(physics): collapse OnPosition's dual player/NPC remote tail into one 2026-08-04 18:07:54 +02:00
2026-08-04-remote-landing-investigation.md diag(physics): remote landing-edge probe; record the two live jump defects 2026-08-04 01:10:03 +02:00
2026-08-04-retail-child-cell-ownership.md research: settle retail child-cell ownership (unblocks C4 route 7) 2026-08-04 04:34:01 +02:00
2026-08-04-retail-parent-cell-propagation.md research: settle retail parent-cell propagation and scope C4 route 3 2026-08-04 21:23:56 +02:00
2026-08-04-session-handoff-c4-remaining.md docs: C4 handoff for routes 4b-3, 5, 6, 7, 3 2026-08-04 12:00:15 +02:00
2026-08-05-280-contract.md fix(streaming): make a demoted landblock render-ready like a published one (#280 D-1) 2026-08-06 07:27:28 +02:00
2026-08-05-316-investigation.md docs: #316 investigation — verdict COSMETIC, resolved without a live gate 2026-08-06 06:25:27 +02:00
2026-08-05-317-velocity-chain-audit.md docs: #317 velocity-chain audit — verdict NO RETAIL BASIS (report-only) 2026-08-06 06:29:13 +02:00
2026-08-05-c4-closeout-handoff.md fix(runtime): close the C5b re-review findings — Gate A narrowing filed, no-window payload gate, bisect hazard recorded 2026-08-05 23:10:24 +02:00
2026-08-05-c5-scoping.md research: scope C5 — the deletion is smaller than the plan implies, and half the rows are blocked on a behaviour change 2026-08-05 09:26:11 +02:00
2026-08-05-c5a-architecture-review-round2.md fix(physics): route local-player shadow presentation through SyncPose (#318, AP-145) 2026-08-05 14:09:11 +02:00
2026-08-05-c5a-architecture-review.md fix(physics): route local-player shadow presentation through SyncPose (#318, AP-145) 2026-08-05 14:09:11 +02:00
2026-08-05-c5a-contract.md fix(physics): route local-player shadow presentation through SyncPose (#318, AP-145) 2026-08-05 14:09:11 +02:00
2026-08-05-c5b-contract.md fix(runtime): close the C5b re-review findings — Gate A narrowing filed, no-window payload gate, bisect hazard recorded 2026-08-05 23:10:24 +02:00
2026-08-05-issue-319-architecture-review-round2.md fix(physics): bind a parented child to the parent's live incarnation (#319) 2026-08-05 11:56:31 +02:00
2026-08-05-issue-319-architecture-review.md fix(physics): bind a parented child to the parent's live incarnation (#319) 2026-08-05 11:56:31 +02:00
2026-08-05-issue-319-contract.md fix(physics): bind a parented child to the parent's live incarnation (#319) 2026-08-05 11:56:31 +02:00
2026-08-05-issue-319-retail-review-round2.md fix(physics): bind a parented child to the parent's live incarnation (#319) 2026-08-05 11:56:31 +02:00
2026-08-05-issue-319-retail-review.md fix(physics): bind a parented child to the parent's live incarnation (#319) 2026-08-05 11:56:31 +02:00
2026-08-05-local-player-child-propagation.md research: file #319 — player-parented children never get a canonical cell, and route 7's gate cannot see it 2026-08-05 09:59:35 +02:00
2026-08-06-276-remainder-scoping.md docs: #276 remainder scoping — the outdoor half is already correct; EnvCell is the real gap 2026-08-06 06:33:53 +02:00
2026-08-06-280-d1-fix-review.md fix(test): cover the atlas-tier seam the D-1 fix depends on; correct AP-150's citation 2026-08-06 07:54:03 +02:00
2026-08-06-280-review-architecture.md fix(streaming): make a demoted landblock render-ready like a published one (#280 D-1) 2026-08-06 07:27:28 +02:00
2026-08-06-280-review-retail.md fix(streaming): make a demoted landblock render-ready like a published one (#280 D-1) 2026-08-06 07:27:28 +02:00
2026-08-06-ad10-contract.md refactor(physics): delete the redundant pre-sweep slope projection (AD-10 retired) 2026-08-06 09:35:22 +02:00
2026-08-06-ad10-review-architecture.md docs: close the AD-10 review findings — AD-65's magnitude was half the truth 2026-08-06 10:08:53 +02:00
2026-08-06-ad10-review-retail.md docs: close the AD-10 review findings — AD-65's magnitude was half the truth 2026-08-06 10:08:53 +02:00
2026-08-06-ap22-contract.md fix(physics): delete the invented Setup-radius collision cylinder (AP-22) 2026-08-06 08:27:26 +02:00
2026-08-06-ap22-review-architecture.md fix(test): evaluate BOTH deleted guards; correct AP-22's overstated coverage claim 2026-08-06 08:54:31 +02:00
2026-08-06-ap22-review-retail.md fix(test): evaluate BOTH deleted guards; correct AP-22's overstated coverage claim 2026-08-06 08:54:31 +02:00
2026-08-06-ap152-contract.md fix(physics): AP-152 — dispatch collision shapes BSP-first, at emission and at the cell flood 2026-08-06 14:51:36 +02:00
2026-08-06-ap152-review-architecture.md fix(physics): AP-156 — flood the BSP sphere where the geometry is, not at the part origin 2026-08-06 15:52:04 +02:00
2026-08-06-ap152-review-retail.md fix(physics): AP-156 — flood the BSP sphere where the geometry is, not at the part origin 2026-08-06 15:52:04 +02:00
2026-08-06-c5c-closeout-handoff.md docs: close the placement cutover ledger — #280 user-passed, remaining gates NOT RUN 2026-08-06 11:05:49 +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 fix(phys): #106 — outdoor membership crosses landblock boundaries (LandDefs global-lcoord port) 2026-06-09 23:10:59 +02:00
skill_formula_calculate_pseudocode.md refactor(net): own live session composition 2026-07-22 10:36:06 +02:00
transition_pseudocode.md docs(research): collision transition system pseudocode from decompiled + ACE 2026-04-13 23:41:13 +02:00