2.6 KiB
Modern Runtime headless continuation
Current checkpoint
Slice J is closed. Slice K0-K3 are closed; K4 is active.
K3's production closeout commit is 3f340125. Its automated predecessors are
12b500d3, 9569dadb, and b6547ff3.
The Windows visible-terminal host and native Linux/WSL host both connected to
local ACE without loading presentation assemblies. Linux completed the
Aerlinthe/Caul/Rynthid/lifestone route, accepted external teleallto
destinations, remained visible to a retail observer, turned and ran smoothly,
and shut down through ACE-confirmed graceful logout. The user accepted the
observer movement gate on 2026-07-27.
Important connected correction
RuntimeLiveEntitySessionController passes the exact accepted
PositionTimestampDisposition to the direct world projection.
- Normal
Applyechoes update canonical state but do not reset the local headless movement controller. ForcePositionusesBlipPosition, preserves active movement semantics, and sends an immediate autonomous-position acknowledgement.- A real teleport performs one full synchronization from
PrepareDestination.
Do not reintroduce full local-player synchronization for every accepted Position packet; it stops movement and causes retail observers to see repeated run/snap-back rubberbanding.
Collision [snap] output is high volume and must remain behind the explicit
PhysicsEngine.DiagnosticLog sink.
Automation seam
Graphical automation and headless policies use IGameRuntimeView,
IGameRuntimeCommands, IRuntimeEventSource, and the same
RuntimeLocalPlayerFrameController/outbound serializers. The route and
observer policies are diagnostic consumers, not a second bot world or
movement implementation.
The user requires optional direct single-session CLI launch with
-user/-password or the long-form aliases. Multi-session configuration
continues to use credential providers.
Next work
Execute K4 from docs/plans/2026-07-26-modern-runtime-slice-k.md:
- capture reproducible 1/5/10-session warm resource baselines;
- derive and commit numeric per-session/process ceilings;
- build the 30-session connected stress configuration and workload;
- run the two-hour Linux soak with recurring movement, use, combat/cast, chat, portal, cancellation, and reconnect;
- prove stable final-hour plateaus and exact teardown convergence;
- close Slice K, then start Slice L Linux graphical/platform work.
Final K3 automated counts: Runtime 412, Headless 47, App 3,722 / 3 skips, complete Release 8,764 / 5 skips.
K3 connected-closeout rollback:
git revert 3f3401257c83bdd9f557eb577ba08cf2e5ec9a06