docs(ui): align architecture with retained runtime
This commit is contained in:
parent
00ab4a2a64
commit
f98050854d
6 changed files with 109 additions and 70 deletions
24
CLAUDE.md
24
CLAUDE.md
|
|
@ -76,19 +76,17 @@ and `~/.claude/projects/.../memory/` (the latter is browsable in
|
|||
Obsidian via the `claude-memory/` junction in the repo root; see
|
||||
`memory/reference_obsidian_vault.md`).
|
||||
|
||||
**UI strategy:** three-layer split — swappable backend (ImGui.NET +
|
||||
`Silk.NET.OpenGL.Extensions.ImGui` for Phase D.2a, custom retail-look
|
||||
toolkit for D.2b later) / stable `AcDream.UI.Abstractions` layer
|
||||
(ViewModels + Commands + `IPanel` / `IPanelRenderer`) / unchanged game
|
||||
state. **As of Phase I, ImGui hosts every dev/debug panel** — Vitals,
|
||||
Chat, Debug. The previous custom-StbTrueTypeSharp `DebugOverlay` was
|
||||
deleted in I.2; `TextRenderer` + `BitmapFont` are kept alive
|
||||
specifically for the future world-space HUD (D.6 — damage floaters,
|
||||
name plates) where ImGui can't reach into the 3D scene. D.2b remains
|
||||
the long-term retail-look path (panels reskinned one at a time using
|
||||
dat assets); ImGui persists forever as the `ACDREAM_DEVTOOLS=1`
|
||||
overlay. **All plugin-facing UI targets `AcDream.UI.Abstractions` —
|
||||
never import a backend namespace from a panel.** Full design:
|
||||
**UI strategy:** two coexisting presentation stacks over shared state,
|
||||
ViewModels, events, and commands. ImGui.NET +
|
||||
`Silk.NET.OpenGL.Extensions.ImGui` is the permanent
|
||||
`ACDREAM_DEVTOOLS=1` developer stack using `IPanel`/`IPanelRenderer`.
|
||||
Retail gameplay UI is the independent retained `UiHost`/`UiRoot` tree in
|
||||
`AcDream.App/UI`, imported from LayoutDesc/DAT assets and bound by focused
|
||||
controllers. The stable cross-stack seam is ViewModels/commands, not a backend
|
||||
swap. `TextRenderer` + `BitmapFont` also serve D.6 world-space HUD elements
|
||||
where ImGui cannot reach the 3D scene. Plugin gameplay UI uses the BCL-only
|
||||
`AcDream.Plugin.Abstractions.IUiRegistry.AddMarkupPanel` contract; plugins
|
||||
never import App or ImGui namespaces. Full design:
|
||||
[`docs/plans/2026-04-24-ui-framework.md`](docs/plans/2026-04-24-ui-framework.md).
|
||||
Memory cribs: `memory/project_chat_pipeline.md` (chat pipeline as of
|
||||
Phase I), `memory/project_input_pipeline.md` (input pipeline as of
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue