Commit graph

  • 485e44d163 fix(render): R-A2b — cull back portal like retail (InitCell side test), kill the indoor flap cycle Erik 2026-06-09 13:06:57 +02:00
  • 89a2032c8e diag(render): [pv-trace] sidechk — pin back-portal traversal (B1 bypass vs B2 side-test) for R-A2b Erik 2026-06-09 12:46:14 +02:00
  • 7b8a490da9 docs(render): R-A2b plan — back-portal side-cull (Option B), verify-first B1/B2 pin Erik 2026-06-09 10:25:28 +02:00
  • 3fd71a123c docs(render): R-A2b spec — revive bounded-propagation, churn confirmed at flap-time Erik 2026-06-09 09:48:53 +02:00
  • 8f879bd7d9 docs(render): calibrated indoor-flap handoff — MEASURED vs HYPOTHESIS vs OPEN Erik 2026-06-09 08:16:51 +02:00
  • 8c78f1f07a docs(render): plan status — R-A4 ruled out by measurement; remaining work is R-A2b (indoor-flood edge-on robustness) Erik 2026-06-09 08:10:06 +02:00
  • c7069cf0b6 diag(camera): add F6 in/out eye to [flap-sweep] probe Erik 2026-06-09 08:09:10 +02:00
  • 3c178b28e6 diag(cdb): flap-cam-measure.cdb — retail eye-hover + CameraManager smoothing capture Erik 2026-06-08 23:14:54 +02:00
  • 2ec189c106 fix(render): R-A2 seam fix — flood null-BuildingId cells instead of dropping them Erik 2026-06-08 19:08:14 +02:00
  • c62663d7cb feat(render): R-A2 — per-building floods (the flap fix) Erik 2026-06-08 18:44:43 +02:00
  • 7fe98098f5 refactor(render): R-A1 — canonicalize outdoor-root detection on IsOutdoorNode Erik 2026-06-08 18:25:58 +02:00
  • 6996e5645c docs(render): mark bounded-propagation plan + spec SUPERSEDED (churn refuted by measurement) Erik 2026-06-08 16:20:24 +02:00
  • fe87e9794a docs(render): FLAP settled by live-retail measurement — full retail port DECIDED (Option A) + exhaustive handoff Erik 2026-06-08 16:19:34 +02:00
  • 9b1857ac52 Revert "fix(camera): rest-snap render position — kills the indoor doorway standing-still flicker" Erik 2026-06-08 15:08:25 +02:00
  • cd974b29bc fix(camera): rest-snap render position — kills the indoor doorway standing-still flicker Erik 2026-06-08 14:59:59 +02:00
  • b3a9884dff diag(render): launch-flap-churn.ps1 — Phase 1 portal-churn pin capture script Erik 2026-06-08 12:56:44 +02:00
  • a866c510e3 test(render): deterministic re-pop anchor for the bounded-propagation pin Erik 2026-06-08 12:52:46 +02:00
  • e6fe4c611a diag(render): [portal-churn] probe — per-Build re-enqueue + reciprocal pre/post Erik 2026-06-08 12:51:48 +02:00
  • 687040ba52 feat(render-diag): add ACDREAM_PROBE_PORTAL_CHURN flag for the bounded-propagation pin Erik 2026-06-08 12:49:17 +02:00
  • a3dadbf664 docs(render): implementation plan — portal-flood bounded-propagation (instrument+pin, then fix) Erik 2026-06-08 12:38:02 +02:00
  • ab6ed905f1 docs(render): correct flap spec — enqueue-once REFUTED, bounded-propagation port Erik 2026-06-08 12:33:06 +02:00
  • 6c3a96b26e diag(render): flap re-diagnosed as portal-flood re-clip DRIFT; physics + camera REFUTED Erik 2026-06-08 11:21:46 +02:00
  • d6aa526dd3 diag(render/physics): flap root-caused to physics rest µm-jitter; refute prior diagnoses Erik 2026-06-08 09:16:12 +02:00
  • d0b65c4170 docs(render): re-scope flap fix to retail enqueue-once traversal port (not an overlap band-aid) Erik 2026-06-08 08:51:51 +02:00
  • d9d69394bb docs(render): spec — portal-flood membership stability (indoor flap root-cause fix) Erik 2026-06-08 08:23:34 +02:00
  • 5c6e53b0a4 docs: add verify-first kickoff prompt to the render-residuals handoff (treat the diagnosis as a suspect statement) Erik 2026-06-07 22:12:38 +02:00
  • ef2186147d docs: cutover flip shipped — see-through + oscillation DIAGNOSED (evidence-based handoff) Erik 2026-06-07 21:49:00 +02:00
  • 774cb22713 Revert "fix(render): outdoor look-in draws interior cells only through real doorway apertures (no see-through walls)" Erik 2026-06-07 21:16:11 +02:00
  • 0030dacaaa fix(render): outdoor look-in draws interior cells only through real doorway apertures (no see-through walls) Erik 2026-06-07 21:08:43 +02:00
  • 88caa0dc8b fix(render): outdoor-root skips the full-screen depth clear (cellar/buildings no longer draw over the world) Erik 2026-06-07 20:18:33 +02:00
  • 445e861163 feat(render): Phase 3 (Step B) — single render path rooted at the viewer cell (cutover flip) Erik 2026-06-07 19:06:27 +02:00
  • 5379f6ecd3 feat(render): Phase 3 (Step A) — outdoor-root seeds full-screen OutsideView Erik 2026-06-07 19:06:13 +02:00
  • 9bc0db9351 docs: handoff — render unification CUTOVER FLIP (canonical pickup) Erik 2026-06-07 18:42:04 +02:00
  • 7b3091c44d docs: plan progress — Task 2 done; cutover flip de-risked + precisely specified Erik 2026-06-07 18:36:20 +02:00
  • d01fe30ac0 feat(render): Phase 3 (Task 2) — build the outdoor node each frame (additive, unconsumed) Erik 2026-06-07 18:35:25 +02:00
  • 1e9485532f docs: plan progress — Tasks 1+3 done (outdoor node + outdoor-root flood validated) Erik 2026-06-07 18:26:09 +02:00
  • c5b4f77fe4 test(render): Phase 2 — Build floods from the outdoor node into buildings (+cycle guard) Erik 2026-06-07 18:23:28 +02:00
  • 2a2cc97d28 feat(render): Phase 1 — OutdoorCellNode.Build (outdoor world as a flood node) Erik 2026-06-07 18:16:55 +02:00
  • 06666b75a1 docs: plan — render unification (outdoor-as-a-cell), 4-phase TDD Erik 2026-06-07 18:12:58 +02:00
  • bb64a674fc docs: spec — render unification (outdoor-as-a-cell, single DrawInside path) Erik 2026-06-07 18:07:33 +02:00
  • 1405dd8e90 feat(render): indoor render WORKS — terminating portal flood + every-cell seal + look-in FPS Erik 2026-06-07 10:14:43 +02:00
  • bff1955066 feat(render): IndoorDrawPlan.ShellPass — every visible cell, no drawable filter (R1) Erik 2026-06-06 21:59:26 +02:00
  • 2ec8f41200 docs: implementation plan + pickup handoff — verbatim retail DrawCells port Erik 2026-06-06 21:44:19 +02:00
  • eb7b1fa67c docs: spec — verbatim retail indoor render port (DrawInside/DrawCells) Erik 2026-06-06 21:28:27 +02:00
  • 8116d101bc docs: SHELL-SEALING / wrong-flood-root handoff (cellar floor + interior walls grey) Erik 2026-06-05 17:04:52 +02:00
  • 2b7f5a16c6 fix(render): branch inside/outside on is_player_outside, not the camera cell (PARTIAL) Erik 2026-06-05 17:02:09 +02:00
  • d2212cfaea fix(render): Part 1 — camera boom convergence snap (kills the at-rest viewer-cell flicker trigger) Erik 2026-06-05 15:56:04 +02:00
  • 9601ef39c3 docs: indoor flicker/void root cause (decomp + live cdb) + 3-part fix plan handoff Erik 2026-06-05 15:31:17 +02:00
  • 9f95252d20 fix(render): flood the neighbour when the eye stands in an interior portal Erik 2026-06-05 15:27:39 +02:00
  • 5f596f2d25 fix(render): clip portal projection against frustum side planes (clip-space) Erik 2026-06-05 15:27:24 +02:00
  • 02837ad5dc docs(A): wrap Render Residual A — handoff + roadmap for the core inside render Erik 2026-06-05 11:49:31 +02:00
  • 9e70031bc6 feat(A): wire SweepEye to the verbatim update_viewer (start-cell + fallbacks) Erik 2026-06-05 11:10:32 +02:00
  • 5177b54bbe feat(A): port find_visible_child_cell + AdjustPosition (Render Residual A primitives) Erik 2026-06-05 10:56:16 +02:00
  • 0ffc3f5be9 docs(A): spec — verbatim SmartBox::update_viewer completion (Render Residual A) Erik 2026-06-05 10:44:04 +02:00
  • 2c7948a9f1 docs: handoff + kickoff for Render Residual A (camera collision verbatim port) Erik 2026-06-05 09:46:52 +02:00
  • 41db027f34 docs(p2): record cellar-lip wedge visual-gate PASS (cellar smooth, door blocks, step-up climbs) Erik 2026-06-05 09:24:54 +02:00
  • 9fdf6a5d01 chore(p2): strip cellar-lip dispatch-trace probes after visual confirmation Erik 2026-06-05 09:24:20 +02:00
  • cc4590f9e5 fix(p2): cellar-lip wedge — check_other_cells must use the LIVE sphere position Erik 2026-06-05 09:15:19 +02:00
  • bc1be26907 test(p2): faithful cellar-lip wedge reproduction + investigation apparatus (no fix yet) Erik 2026-06-05 08:30:36 +02:00
  • 57435e912b docs(p2): fresh-session kickoff prompt — principled P1 membership fix (user-approved) Erik 2026-06-04 11:43:11 +02:00
  • 664101f08f docs(p2): re-diagnose cellar wedge — cell-resolver ping-pong, not step-up Erik 2026-06-04 11:39:21 +02:00
  • 5ad897b0a5 docs(p2): cellar corner-wedge pinned to step-up-onto-floor (retail cdb) + trace apparatus Erik 2026-06-04 11:27:44 +02:00
  • 0935a315bf fix(p2): port retail slide_sphere for head near-miss (cellar wall-slide) Erik 2026-06-04 10:28:59 +02:00
  • f984e92e37 docs(p2): correct the handoff — B1 was the Path 5 near-miss gate, not the climb Erik 2026-06-04 09:35:14 +02:00
  • abbd7615ee fix(p2): Path 5 near-miss = retail num_sphere>1 gate (fixes B1 step-up wedge) Erik 2026-06-04 09:32:55 +02:00
  • 82045805fd docs(p2): session wrap — P1 done, P2 (Path 5 step-up) localized; handoff + plan/CLAUDE.md update Erik 2026-06-04 08:52:56 +02:00
  • f0d37d8955 docs(p1): visual-gate result — membership confirmed live; flap+void are render residuals Erik 2026-06-03 21:30:02 +02:00
  • 9017107960 fix(p1): membership already matches retail — the 0/11 was a cdb capture artifact Erik 2026-06-03 18:54:27 +02:00
  • db94cb1c90 docs(p1): canonical pickup handoff — swept curr_cell advance is the fix Erik 2026-06-03 16:00:49 +02:00
  • 0442eadcec test(p1): production-path membership conformance — divergence CONFIRMED (0/11), not a probe artifact Erik 2026-06-03 15:56:52 +02:00
  • 46a86d282e docs(p0): CORRECTION — retail pick is center-only point_in_cell; the bare-FindCellList divergence is a probe artifact Erik 2026-06-03 15:25:45 +02:00
  • 81ea3aa41a docs(p0): P1 design nuances — acdream already has FindTransitCellsSphere; test the production ResolveWithTransition path Erik 2026-06-03 15:09:46 +02:00
  • bb4dead0ae test(p0): retail-trace golden captured — membership criterion divergence pinned (P0 GATE MET) Erik 2026-06-03 15:04:51 +02:00
  • 1662da8731 test(p0): threshold-trace golden wiring + PVS scaffold + P1-entry checklist Erik 2026-06-03 14:29:30 +02:00
  • b35e491f12 test(p0): retail find_cell_list trace parser + cdb value-capture tooling Erik 2026-06-03 14:26:24 +02:00
  • ec78beb843 test(p0): find_cell_list golden conformance — unambiguous interior picks Erik 2026-06-03 14:21:44 +02:00
  • a90f34368f test(p0): dat-backed conformance loader + characterized cottage-doorway topology Erik 2026-06-03 14:20:17 +02:00
  • a859116d5f docs(spatial): master plan — VERBATIM port of the retail spatial pipeline (no hybrids) Erik 2026-06-03 13:57:25 +02:00
  • 0cc561c4d0 fix(render): doorway void — portal near-clip was near-dependent (eye-clip instead) Erik 2026-06-03 13:42:46 +02:00
  • 1e9a9cab8c feat(render): V1 — render keys on the viewer cell+eye; lighting stays on the player Erik 2026-06-03 12:40:10 +02:00
  • d03fe84845 feat(render): RetailChaseCamera.ViewerCellId — the swept viewer cell (retail viewer_cell) Erik 2026-06-03 12:34:07 +02:00
  • 832001d289 refactor(render): SweepEye returns (Eye, ViewerCellId) — surface the swept viewer cell Erik 2026-06-03 12:32:45 +02:00
  • b7375c6563 docs(render): V1 implementation plan — single-viewpoint un-split (TDD) Erik 2026-06-03 12:29:27 +02:00
  • b3fe54a5f4 docs(render): spec — single-viewpoint render (retail viewer, no split) Erik 2026-06-03 12:24:42 +02:00
  • a1b49f9b24 docs: wrap session — doorway flap FIXED (membership + blue-hole); A/B/C render residuals next Erik 2026-06-03 11:09:57 +02:00
  • 79fb6e7c23 fix(render): doorway blue-hole — render root clobbered by NPCs (CurrCell per-entity write) Erik 2026-06-03 10:12:38 +02:00
  • e5457f9552 fix(physics): Stage 1 — collide-then-pick (remove pre-pick fork) — the flap engine Erik 2026-06-03 09:36:19 +02:00
  • 22a184ca68 fix(physics): Stage 1 — verbatim ordered-CELLARRAY membership pick (the R1 flap) Erik 2026-06-03 09:00:12 +02:00
  • bc56545634 refactor(physics): Stage 1 — widen cell-candidate helpers to ICollection<uint> Erik 2026-06-03 08:56:07 +02:00
  • b44dd147bc feat(physics): Stage 1 — CellArray ordered/deduped cell collection (retail CELLARRAY) Erik 2026-06-03 08:54:45 +02:00
  • 1438d73a43 docs(physics): handoff reframe — membership is STATE not recomputation (user analysis) Erik 2026-06-03 08:20:55 +02:00
  • 298b3b92b8 docs(physics): handoff — verbatim find_cell_list port (the R1 membership flap fix) Erik 2026-06-02 22:24:22 +02:00
  • 5ca2f448d4 fix(physics): R1 membership — current-cell-first hysteresis in find_cell_list pick Erik 2026-06-02 21:51:25 +02:00
  • 58822fed96 fix(render): R1 — repurpose the ParentCellId==null cell-gate bypass (#78) Erik 2026-06-02 20:10:26 +02:00
  • c4fd71149a feat(render): R1 — binary render decision, indoor = per-cell DrawInside only Erik 2026-06-02 20:01:53 +02:00
  • 4b75c68ea3 feat(render): R1 — InteriorRenderer per-cell DrawInside loop (retail PView::DrawCells) Erik 2026-06-02 19:54:42 +02:00
  • cf85ea4e17 feat(render): R1 — InteriorEntityPartition (3-bucket per-cell entity split) Erik 2026-06-02 19:53:42 +02:00
  • ce7404b92b docs(render): R1 implementation plan — per-cell DrawInside (TDD) Erik 2026-06-02 19:45:50 +02:00
  • 7aca79f8eb docs(render): Phase R0 — lock the render-redesign design spec (brainstorm outcome) Erik 2026-06-02 19:18:59 +02:00
  • 21bf97ed35 docs(render): REOPEN the render half — full retail-faithful redesign dossier (handoff + huge plan + 3 research docs) Erik 2026-06-02 18:28:01 +02:00