docs(roadmap): record Linux headless bot direction
Capture the deferred configurable-LOD, Linux graphical host, true headless runtime, and multi-session automation direction without changing the active M3 sequence. Reconcile the previous blanket cross-platform exclusion while keeping native macOS graphics uncommitted. Co-authored-by: OpenAI Codex <codex@openai.com>
This commit is contained in:
parent
b95bb3e21c
commit
0f996db747
1 changed files with 37 additions and 1 deletions
|
|
@ -1348,6 +1348,42 @@ hitch and follows.
|
|||
|
||||
---
|
||||
|
||||
### Track LH — Linux and headless automation (future; user-directed 2026-07-19)
|
||||
|
||||
> **PARKED / FUTURE — not part of active M3.** Preserve this direction for
|
||||
> deliberate architectural work after the current gameplay and UI milestones:
|
||||
> a graphical Linux client, configurable retail-rooted distance LOD, and a true
|
||||
> Linux headless host capable of running roughly 30 automated clients with
|
||||
> minimal CPU and memory use.
|
||||
|
||||
The governing architectural rule is that a game session must not be a hidden
|
||||
`GameWindow`. Authentication, networking, world state, movement, inventory,
|
||||
combat, magic, chat, and gameplay commands/events become an instance-scoped,
|
||||
presentation-independent runtime. The graphical client and bot host consume
|
||||
that same runtime through explicit interfaces; they do not maintain separate
|
||||
gameplay implementations.
|
||||
|
||||
| Phase | What | Future completion gate |
|
||||
|---|---|---|
|
||||
| LH0 | Extract the instance-scoped session/game runtime from presentation ownership | One session runs with renderer, UI, and audio either attached or absent; no static cross-session gameplay state |
|
||||
| LH1 | Configurable graphical distance LOD, rooted in retail `GfxObjDegradeInfo` / viewer-distance behavior | Retail/DAT-authored degradation is the fidelity baseline; users may configure detail bias or maximum-detail policy without reducing the streaming/view horizon. Integrate with MP2/MP3 ownership rather than creating a competing LOD system |
|
||||
| LH2 | Linux graphical host and packaging | Portable frame pacing, paths, native dependencies, input, and audio; startup validates the mandatory modern-OpenGL extensions and supported driver matrix |
|
||||
| LH3 | True Linux headless host | No window, X11/Wayland display, OpenGL context, textures, meshes, particles, audio, or gameplay UI; retain only protocol/game state and the collision/nearby semantic data required for navigation and decisions |
|
||||
| LH4 | Multi-session bot host, targeting approximately 30 concurrent clients in one process | Sessions isolate credentials, GUID maps, clocks, queues, plugins/behaviors, and teardown while sharing only immutable/read-only DAT and collision content caches; one-session-per-process remains a diagnostic/isolation option |
|
||||
| LH5 | Bot automation surface | Actions cover movement, targeting, use, combat, casting, looting, chat, and commands; events cover object/session/portal, inventory, damage, and target lifecycle; deterministic scheduling and server-safe rate limiting are testable |
|
||||
|
||||
Track acceptance requires 30 connected Linux headless sessions with no GPU or
|
||||
display-server dependency, bounded per-session CPU/memory growth, clean
|
||||
connect/disconnect/reconnect teardown, credential-safe diagnostics, and parity
|
||||
tests proving that GUI and headless hosts drive the same gameplay runtime. LOD
|
||||
has no role in headless mode because no scene is rendered.
|
||||
|
||||
Native macOS graphical support is not committed by this track. The current
|
||||
mandatory renderer requires modern OpenGL capabilities beyond Apple's native
|
||||
OpenGL ceiling; revisit macOS only if a supported graphics backend is chosen.
|
||||
|
||||
---
|
||||
|
||||
## Cross-cutting work tracked in parallel
|
||||
|
||||
- **Test coverage.** Each phase lands with unit + integration tests in `tests/`. Current count: 98 Core + 96 Core.Net = 194. Keep the ratio as new phases land.
|
||||
|
|
@ -1361,7 +1397,7 @@ hitch and follows.
|
|||
- **Server emulation** — we use ACE for server, never reimplement.
|
||||
- **Account creation** — direct user to ACE tooling.
|
||||
- **Anti-cheat / GM tools / live-ops** — irrelevant for personal use.
|
||||
- **Cross-platform support** — Windows-only; the dat path assumptions depend on retail Windows install layout. Silk.NET is cross-platform but we don't promise.
|
||||
- **Native macOS graphical support** — not promised; Track LH covers future Linux graphical and headless hosts, while macOS needs a renderer backend compatible with Apple's platform limits.
|
||||
- **Custom game content** — this is a client for existing AC data, not a toolchain.
|
||||
|
||||
---
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue