acdream/src/AcDream.UI.Abstractions
Erik 5b54387b8e fix(chat): round 4 — no user-visible meta text, real /help groups, indicator buttons toggle
Item 3 (#364): every honesty marker is now gone from user-visible /help
text. AllegianceOverview/HouseOverview's "[IMPLEMENTED]" tags and trailing
"Subcommands NOT marked..." sentences, and Day/Log/Render/Motd's appended
"NOT YET IMPLEMENTED in acdream" tails, are removed; the underlying retail
text is corrected/completed against the pseudo-C's own pristine
consolidated data dumps (Log and Motd had been silently truncated; Render
was entirely acdream-authored and is replaced with the real retail usage
string). The three PARTIAL /help group topics (channels/chatting/commands)
are now COMPLETE verbatim listings: HelpStupidChannelHack's three
"vtable slot" operands, previously believed undecodable, are the same
pooled/mislabeled-data artifact this campaign has hit before (AP-113's
precedent) — reading the function's own disassembly for the push imm32
preceding each constructor call resolves all three directly. messagetypes
is now a real ported construction (IsLegalChannel's 14-id whitelist +
LogTextTypeToString's name table + the exact join/wrap format) instead of
an acdream summary. Register row AP-184 retired.

Item 5: the main window's 1/2/3/4 indicator buttons now toggle their
floating chat window on click, per the user's retail memory overruling
the earlier decomp-only reading. UIElement_Button::HandleButtonClick has
its own generic click-driven action dispatch (property 0x12) reaching the
same DoVisibilityToggleAction the Alt+1..4 keybinds use; the button
fixture confirms this half is genuinely armed, but the floating-window
fixture authors no matching listener-registration property, so the
generic mechanism has no proven target in the data on hand. Per
CLAUDE.md, the user's retail memory is the axiom regardless:
ChatWindowController.BindIndicatorClicks wires each indicator's click
through the same ToggleFloatingChatWindow chokepoint the keybinds use,
as explicit user-directed retail behavior. SetIndicatorOpen stays the
sole writer of the Selected mirror so the visual stays consistent
through the click round trip.

Full reconciliation in docs/research/2026-08-09-chat-retail-window-shell.md
§1.4. Campaign plan gets the round-4 findings section; items 1+2
(text-style) are under parallel research, item 4 passed, item 6 deferred
to the settings track.

Suite: 12,579 passed / 4 skipped / 0 failed (Release, complete solution),
up from baseline 12,553/4/0 — net +26 tests, zero regressions.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-10 18:46:34 +02:00
..
Input fix(input): #358 — RetailDefaults() never carried the Ctrl+M mute binding over from AcdreamCurrentDefaults() 2026-08-10 14:48:44 +02:00
Panels fix(chat): round 4 — no user-visible meta text, real /help groups, indicator buttons toggle 2026-08-10 18:46:34 +02:00
Settings feat(A.5 T22.5): QualityPreset schema + tests (commit 1/2) 2026-05-10 08:37:17 +02:00
AcDream.UI.Abstractions.csproj feat(input): #21 Phase K.1a - input architecture skeleton (parallel to existing handlers) 2026-04-25 23:17:41 +02:00
ChannelResolver.cs feat(chat): Campaign CH slice CH3 — side-channel membership, wire, and echo parity 2026-08-09 19:39:44 +02:00
ChatChannelKind.cs feat(chat): Campaign CH slice CH3 — side-channel membership, wire, and echo parity 2026-08-09 19:39:44 +02:00
ClientCommandId.cs fix(chat): CH4 review fixes — allegiance ownership guard, house-abandon confirmation 2026-08-09 21:59:35 +02:00
ExecuteClientCommandCmd.cs feat(chat): route retail lifestone commands 2026-07-13 11:43:19 +02:00
ICommandBus.cs feat(ui): AcDream.UI.Abstractions layer — IPanel / IPanelRenderer / VitalsVM 2026-04-25 00:24:11 +02:00
IPanel.cs feat(ui): AcDream.UI.Abstractions layer — IPanel / IPanelRenderer / VitalsVM 2026-04-25 00:24:11 +02:00
IPanelHost.cs feat(ui): AcDream.UI.Abstractions layer — IPanel / IPanelRenderer / VitalsVM 2026-04-25 00:24:11 +02:00
IPanelRenderer.cs feat(ui): chat Copy mode — select + Ctrl+C any text in the chat tail 2026-04-26 21:45:39 +02:00
LiveCommandBus.cs refactor(net): own live session routing 2026-07-21 11:17:09 +02:00
NullCommandBus.cs feat(ui): AcDream.UI.Abstractions layer — IPanel / IPanelRenderer / VitalsVM 2026-04-25 00:24:11 +02:00
PanelContext.cs feat(ui): AcDream.UI.Abstractions layer — IPanel / IPanelRenderer / VitalsVM 2026-04-25 00:24:11 +02:00
SendChatCmd.cs feat(ui+net): #16 LiveCommandBus + WorldSession.Send{Talk,Tell,Channel} + SendChatCmd wiring 2026-04-25 19:27:22 +02:00
SendRawChannelCmd.cs feat(chat): Campaign CH slice CH4 — command registry completion 2026-08-09 21:10:17 +02:00
SendServerCommandCmd.cs feat(chat): route retail lifestone commands 2026-07-13 11:43:19 +02:00