docs: reconcile project state and refresh README
Some checks failed
Headless portability / portable-headless (ubuntu-latest) (push) Has been cancelled
Headless portability / portable-headless (windows-latest) (push) Has been cancelled
Headless portability / linux-graphical (push) Has been cancelled

This commit is contained in:
Erik 2026-07-27 12:53:31 +02:00
parent 97a095d628
commit f6275f4501
12 changed files with 432 additions and 295 deletions

View file

@ -4,48 +4,48 @@ This page is the entry point for project documentation. It distinguishes
current sources of truth from implementation history so an old plan or issue
banner cannot silently override the current program state.
## Current snapshot — 2026-07-26
## Current snapshot — 2026-07-27
- **Milestone state:** M3, “Cast a spell,” landed 2026-07-21. M4, “Live in the
world,” is active.
- **M4 gameplay program (paused while the authorized performance program
executes):** the pre-M4 world-interaction completion program
in
[`plans/2026-07-23-world-interaction-completion.md`](plans/2026-07-23-world-interaction-completion.md).
The eight-slice `GameWindow` decomposition and its connected visual matrix
are complete.
- **Current active engineering program:** Slices AI and J0J5 of
[`plans/2026-07-24-modern-runtime-architecture.md`](plans/2026-07-24-modern-runtime-architecture.md)
are complete. Production uses prepared world/collision packages, typed
residence, retained render-scene/delta submission, bounded frame owners, and
flat-authoritative collision without parsed-graph production residency.
Runtime owns canonical session/transport, entity/object lifetime, J4
gameplay state, selection/interaction transactions, and combat/magic intent.
App materialized projections and retained widgets borrow exact Runtime
identity and action owners. Runtime also owns the sole per-session physics,
collision, body/host, remote/projectile simulation, and cell-commit graph.
J5 closed at `cdee7a4b` with one combined simulation ledger, a
Runtime-only movement/use/combat/cast/projectile host, 8,596 complete
Release tests / 5 skips, and exact-binary lifecycle plus nine-stop gates.
J6 world/portal/environment and projection-handshake ownership is active in
[`plans/2026-07-25-modern-runtime-slice-j.md`](plans/2026-07-25-modern-runtime-slice-j.md).
- **Completed gates:** R6 locomotion/collision/projectile/teleport/radar and
the final two-client portal-out/materialization observer comparison (`#218`).
- **Separate visual verification:** the shared-alpha lifestone/particle result
in `#225`; its connected resource-lifetime and performance routes pass.
- **Carried behavior debt:** `#153` (far teleport onto an unstreamed edge),
`#116` (two narrowed slide-response cases), and divergence rows TS-50/TS-51.
- **Active engineering track:** Slice J's presentation-independent runtime,
composition root, shared generation reset, and no-window closeout are
complete. Build the approved Linux/headless multi-session host in Slice K.
K0 is complete and K1 is active. K0's exact rollback is
`git revert aada8a37c1e933f9f0a3f41dc4f05615b01023bc`.
- **Divergence audit:** 178 active rows — IA 17, AD 37, AP 85, TS 34,
and UN 5 — plus the retained retired TS-37 history note.
- **Latest automated baseline:** Release build succeeds; 8,708 tests pass and
five are intentionally skipped. The exact J8 lifecycle/reconnect and
canonical nine-stop gates match embedded binary/source commit, converge
every backlog, and complete with graceful zero-code exits and zero failures.
- **M4 gameplay program:** resume the pre-M4
[world-interaction completion program](plans/2026-07-23-world-interaction-completion.md).
Favorite-spell overflow, status Use/Assess, and the complete assessment
surface are user-accepted. Equipped-child picking and vendor
browse/transactions remain Slices 46.
- **Structural/runtime state:** all eight `GameWindow` decomposition slices,
Modern Runtime Slices AJ, and the connected visual/lifecycle gates are
complete. `GameWindow` is a 1,622-line composition/callback shell.
`AcDream.Runtime.GameRuntime` owns canonical session, entity/object,
gameplay, movement, physics, projectile, environment, and portal state;
graphical and no-window hosts borrow the same owner graph.
- **Headless state:** Slice K is complete. `AcDream.Headless` is a
presentation-free Windows/Linux host with deterministic commands/events,
shared immutable content, multi-session isolation, reconnect, resource
telemetry, and 1/5/10/30-session gates. The final two-account native-Linux
soak completed ten minutes, logged out through ACE, and converged every
ownership ledger.
- **Linux graphical state:** Slice L0 and the L1 implementation checkpoint are
complete at `66f114b2` and `11501d52`. Native Windows passes the active
modern-GL/audio/window smoke. WSLg X11/Wayland correctly reject their
missing `GL_ARB_bindless_texture`. Physical-Linux validation and L2L6 are
explicitly deferred; resume at the supported AMD/NVIDIA L1 gate.
- **Completed gameplay gates:** R6 locomotion/collision/projectile/teleport/
radar, two-client portal-out/materialization, indoor prepared collision,
loot ordering, local/remote ground drops, and selection-marker lifetime.
- **Separate visual verification:** issue `#225`, the shared-alpha
lifestone/particle result; its connected resource-lifetime and performance
routes pass.
- **Carried behaviour debt:** issue `#153` (far teleport onto an unstreamed
edge), `#116` (narrowed slide response), `#235` (capped/RDP jump cadence),
and the active temporary-stopgap rows in the divergence register.
- **Divergence audit:** 189 active rows — IA 18, AD 38, AP 91, TS 38, and
UN 4 — plus retained struck/retired historical rows such as TS-37.
- **Latest automated baseline:** the Release build succeeds with the 17
test-project warnings tracked by issue `#228`; 8,826 tests pass and five are
intentionally skipped. App passes 3,763 / 3 skips. The L1 Windows supported
smoke and WSLg X11/Wayland negative-capability reports all end with zero
window/GL/input/audio ownership.
## Sources of truth