plan(O): Phase O — DatPath Unification — filed + active (pre-empts M1.5)
Phase O extracts the WB pieces we actually use (mesh pipeline, texture decode, GL state, scenery, terrain blending, EnvCell/portal decode — roughly 3-5K LOC) into src/AcDream.Core/Rendering/Wb/, swaps their dat dependency from DefaultDatReaderWriter to our DatCollection, and drops the WorldBuilder.Shared + Chorizite.OpenGLSDLBackend project references. WB stays in references/ as a read reference, not as a project dependency. MIT attribution in NOTICE.md. Tagline: ONE thing touches the DATs. Discipline: verbatim copy first, no "improvements" while extracting. Refactors land in follow-up phases. Out of scope: re-porting from retail decomp; perf optimization; API cleanup. User direction 2026-05-21: pre-empts M1.5. M1.5 paused at its 2026-05-20 baseline; A6/A7 don't touch dat infrastructure so no rework needed when it resumes. Files: - docs/superpowers/specs/2026-05-21-phase-o-dat-path-unification-design.md (new, full spec) - docs/plans/2026-04-11-roadmap.md (Phase O block inserted before M1.5; M1.5 marked PAUSED) - CLAUDE.md (Currently-working-toward line updated; M1.5 block marked paused) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
f02bd1fb4d
commit
0d85fe1f10
3 changed files with 322 additions and 15 deletions
42
CLAUDE.md
42
CLAUDE.md
|
|
@ -698,20 +698,34 @@ inn door, click NPC, pick up item. Freeze list active — M1's phases
|
|||
are off-limits until M7 polish. Writeup at top of M1 block in
|
||||
`docs/plans/2026-05-12-milestones.md`.
|
||||
|
||||
**Currently working toward: M1.5 — "Indoor world feels right."** Opened
|
||||
2026-05-20 after continued indoor testing surfaced a deep family of
|
||||
physics + lighting bugs that span buildings AND dungeons. Demo
|
||||
scenario: enter the Holtburg Sewer through the in-town portal,
|
||||
navigate through (walls block, stairs work, items block, lighting
|
||||
reads correctly), exit back to town. Phases to ship: A6 (Indoor
|
||||
physics fidelity, cdb-driven) + A7 (Indoor lighting fidelity,
|
||||
RenderDoc + retail-decomp driven). Issues in scope: #80, #81, #83,
|
||||
#88, #90 (workaround removal), L-indoor, L-spotlight, stairs,
|
||||
2nd-floor, cellar, and the `TryFindIndoorWalkablePlane` synthesis
|
||||
removal. Estimated 3–5 weeks calendar work. **M2 ("Kill a drudge")
|
||||
is deferred until M1.5 lands** — drudges live in dungeons and the
|
||||
M2 demo target requires solid indoor navigation. Full M1.5 writeup
|
||||
at the corresponding block in `docs/plans/2026-05-12-milestones.md`.
|
||||
**Currently working toward: Phase O — DatPath Unification** (active as
|
||||
of 2026-05-21, by user direction — pre-empts M1.5). Tagline: "ONE
|
||||
thing touches the DATs." We currently run two dat readers in process
|
||||
(our `DatCollection` + WorldBuilder's `DefaultDatReaderWriter`); this
|
||||
phase extracts the WB pieces we actually use into
|
||||
`src/AcDream.Core/Rendering/Wb/`, swaps their dat dependency to our
|
||||
`DatCollection`, and drops the `WorldBuilder.Shared` +
|
||||
`Chorizite.OpenGLSDLBackend` project references. WB stays in
|
||||
`references/` as a read-reference, not as a project dependency.
|
||||
Verbatim copy first, no "improvements" while extracting. Spec:
|
||||
[`docs/superpowers/specs/2026-05-21-phase-o-dat-path-unification-design.md`](docs/superpowers/specs/2026-05-21-phase-o-dat-path-unification-design.md).
|
||||
Estimated 7-8 working days, ships as one merge window.
|
||||
|
||||
**M1.5 — PAUSED for Phase O.** Indoor walking work is held at the
|
||||
2026-05-20 baseline (described below) and resumes once Phase O lands.
|
||||
M1.5's Phase A6/A7 don't touch dat infrastructure, so no rework will
|
||||
be needed. Demo scenario: enter the Holtburg Sewer through the
|
||||
in-town portal, navigate through (walls block, stairs work, items
|
||||
block, lighting reads correctly), exit back to town. Phases to ship
|
||||
after Phase O: A6 (Indoor physics fidelity, cdb-driven) + A7 (Indoor
|
||||
lighting fidelity, RenderDoc + retail-decomp driven). Issues in
|
||||
scope: #80, #81, #83, #88, #90 (workaround removal), L-indoor,
|
||||
L-spotlight, stairs, 2nd-floor, cellar, and the
|
||||
`TryFindIndoorWalkablePlane` synthesis removal. **M2 ("Kill a
|
||||
drudge") is deferred until M1.5 lands** — drudges live in dungeons
|
||||
and the M2 demo target requires solid indoor navigation. Full M1.5
|
||||
writeup at the corresponding block in
|
||||
`docs/plans/2026-05-12-milestones.md`.
|
||||
|
||||
**Today's pre-M1.5 baseline (2026-05-20).** Five surgical fixes
|
||||
shipped to close the user-reported "logged in inside the inn, ran
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue