Replace the hand-authored chat block (UiNineSlicePanel + inline UiChatView + local BuildRetailChatLines/RetailChatColor statics) with ChatWindowController.Bind(LayoutDesc 0x21000006) — the same LayoutImporter path as the vitals window. The controller places UiChatView (transcript) + UiChatInput (text entry, on-submit) + UiChatScrollbar + UiChannelMenu inside the dat-authored chrome. The dead local statics are deleted. Wired to _commandBus (same LiveCommandBus as the ImGui ChatPanel) so type+Enter dispatches SendChatCmd server-ward. Transcript keyboard set from _uiHost.Keyboard (set by WireKeyboard above the chat block) for Ctrl+C/Ctrl+A. Divergence register: added AD-28 (two-widget split vs UIElement_Text), AP-38 (no in-element word-wrap), AP-39 (per-line colour vs per-glyph runs), AP-40 (no opacity fade / shared vitalsDatFont), TS-30 (tab buttons no-op), TS-31 (no squelch); updated IA-15 to cover both vitals + chat importer paths. Build: 0 errors/warnings. Tests: 392 passed, 1 skipped (expected). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| architecture | ||
| audit | ||
| plans | ||
| research | ||
| superpowers | ||
| bugs.md | ||
| ISSUES.md | ||