acdream/tests/AcDream.App.Tests/UI/Layout
Erik ac2ca8f965 feat(ui): port retail spellbook interactions
Resolve the authored spell shortcut row prototype so the spellbook presents the retail icon, name, separator, selected overlay, and scrollbar geometry. Port exact school and level filters, stable display ordering, selection exposure, and learned-spell drags into the open favorite bar.

Route deletion through the shared retail confirmation dialog and send CM_Magic::Event_RemoveSpell only after an affirmative answer, leaving the inbound server notice authoritative for list state.

Co-Authored-By: Codex <noreply@openai.com>
2026-07-15 16:26:30 +02:00
..
fixtures fix(ui): restore retail spell tabs and spellbook 2026-07-15 15:54:11 +02:00
CharacterControllerTests.cs fix(studio): Character pilot — CREATE m_pMainText (it's a runtime element, not static) 2026-06-25 19:01:09 +02:00
CharacterLayoutImportProbe.cs feat(ui): D.2b item interaction + retail cursors + live character sheet 2026-07-03 09:18:43 +02:00
CharacterSheetProviderTests.cs fix(ui): port live experience quality updates (#217) 2026-07-13 20:43:48 +02:00
CharacterStatControllerTests.cs fix(ui): port live experience quality updates (#217) 2026-07-13 20:43:48 +02:00
ChatLayoutConformanceTests.cs feat(ui): persist retained window layouts 2026-07-10 23:17:29 +02:00
ChatLayoutFixtureGenerator.cs test(D.2b): chat golden fixture + resolved-Type conformance (widget-generalization Task 1) 2026-06-16 16:55:51 +02:00
ChatWindowControllerTests.cs feat(chat): route retail lifestone commands 2026-07-13 11:43:19 +02:00
CombatLayoutConformanceTests.cs fix(combat): preserve authored meter child geometry 2026-07-12 21:57:53 +02:00
CombatUiControllerTests.cs feat: port retail magic lifecycle and retained spell UI 2026-07-15 10:55:22 +02:00
DatWidgetFactoryFontResolveTests.cs feat(ui): importer Fix C — per-element dat FontDid resolver (studio path); character level uses its retail font 2026-06-26 10:30:13 +02:00
DatWidgetFactoryTests.cs fix(ui): restore retail spell tabs and spellbook 2026-07-15 15:54:11 +02:00
EffectsIndicatorControllerTests.cs feat: port retail magic lifecycle and retained spell UI 2026-07-15 10:55:22 +02:00
EffectsUiControllerTests.cs feat: port retail magic lifecycle and retained spell UI 2026-07-15 10:55:22 +02:00
ElementReaderTests.cs feat(ui): D.2b item interaction + retail cursors + live character sheet 2026-07-03 09:18:43 +02:00
FixtureLoader.cs fix(ui): restore retail spell tabs and spellbook 2026-07-15 15:54:11 +02:00
InventoryControllerTests.cs feat(net): port retail physics spawn and event timestamps 2026-07-14 00:22:17 +02:00
InventoryFrameImportProbe.cs feat(ui): centralize retail selection state 2026-07-11 00:51:20 +02:00
ItemListCellTemplateTests.cs fix(ui): D.2b empty-slot art — container cells use inner slot bg, not the selected-container triangle 2026-06-22 12:45:36 +02:00
JumpPowerbarControllerTests.cs feat(ui): port retail jump power bar 2026-07-13 10:22:12 +02:00
JumpPowerbarLayoutConformanceTests.cs feat(ui): port retail jump power bar 2026-07-13 10:22:12 +02:00
LayoutConformanceTests.cs feat(ui): port retained widget foundations 2026-07-10 17:55:41 +02:00
LayoutImporterTests.cs fix(ui): restore retail spell tabs and spellbook 2026-07-15 15:54:11 +02:00
PaperdollClickMapTests.cs fix(ui): port exact paperdoll body selection 2026-07-11 11:56:26 +02:00
PaperdollControllerTests.cs fix(gameplay): reconcile wield ownership and target facing 2026-07-15 08:19:23 +02:00
PaperdollSlotBackgroundTests.cs fix(paperdoll): port quest-gated Aetheria slots 2026-07-13 09:55:20 +02:00
PaperdollToggleTests.cs feat(D.2b): Slice 2 — paperdoll armor/non-armor partition + Slots toggle state 2026-06-23 08:57:50 +02:00
RadarControllerTests.cs feat(ui): port retail radar and compass 2026-07-10 16:14:37 +02:00
RadarLayoutConformanceTests.cs feat(ui): port retail radar and compass 2026-07-10 16:14:37 +02:00
RadarLayoutFixtureGenerator.cs feat(ui): port retail radar and compass 2026-07-10 16:14:37 +02:00
RadarSnapshotProviderTests.cs fix(ui): restore radar, retail wield switching, and protection meshes 2026-07-14 20:52:45 +02:00
RetailDialogFactoryTests.cs feat(ui): port retail dialog factory lifecycle 2026-07-13 16:30:05 +02:00
RetailFixtureConformanceTests.cs fix(ui): complete live targeted healing flow 2026-07-11 07:58:59 +02:00
RetailFpsControllerTests.cs fix #213: complete suicide and framerate presentation 2026-07-13 15:50:47 +02:00
RetailLayoutFixtureGenerator.cs fix(ui): restore retail spell tabs and spellbook 2026-07-15 15:54:11 +02:00
RetailPanelUiControllerTests.cs feat: port retail magic lifecycle and retained spell UI 2026-07-15 10:55:22 +02:00
RetailWindowFrameTests.cs fix(ui): complete retail inventory scroll polish 2026-07-11 10:56:33 +02:00
SelectedObjectControllerTests.cs fix(combat): synchronize auto-target presentation 2026-07-12 20:26:00 +02:00
SpellbookRowStyleTests.cs feat(ui): port retail spellbook interactions 2026-07-15 16:26:30 +02:00
SpellbookWindowControllerTests.cs feat(ui): port retail spellbook interactions 2026-07-15 16:26:30 +02:00
SpellcastingUiControllerTests.cs feat(ui): port retail spellbook interactions 2026-07-15 16:26:30 +02:00
ToolbarControllerTests.cs fix(gameplay): reconcile wield ownership and target facing 2026-07-15 08:19:23 +02:00
ToolbarInputControllerTests.cs feat(ui): complete retail quick-slot input 2026-07-11 08:59:49 +02:00
UiDatElementTests.cs feat(ui): port retained widget foundations 2026-07-10 17:55:41 +02:00
UiPropertyBagTests.cs fix(combat): restore retail power bar layers 2026-07-12 21:14:14 +02:00
UiViewportFactoryTests.cs feat(D.2b): Slice 2 — UiViewport widget (dat Type 0xD) + IUiViewportRenderer seam 2026-06-23 09:03:42 +02:00
VitalsBindingTests.cs feat(ui): port retained widget foundations 2026-07-10 17:55:41 +02:00