acdream/tests/AcDream.Core.Tests/Spells
Erik 81a9d85a1d
Some checks are pending
Headless portability / portable-headless (ubuntu-latest) (push) Waiting to run
Headless portability / portable-headless (windows-latest) (push) Waiting to run
Headless portability / linux-graphical (push) Waiting to run
Headless portability / linux-vulkan (push) Waiting to run
fix(ui): spell-bar drag-reorder works — the per-frame rebuild was destroying the dragged cell (#354)
Everything already existed — the drag payloads, the favorite wire pair
(0x1E3 add-at-position / 0x1E4 remove, byte-confirmed against retail's
Event_AddSpellFavorite @0x006A0F70 and ACE), the insert-shift state
ops. The bug: lifting a favorite fires SpellbookChanged, the next
per-frame Tick rebuilt the bar, the rebuild flushed and recreated
every cell, and UiRoot's subtree-removal safety net canceled the
in-flight drag whose source had just been destroyed — one frame after
every lift, before any drop could land.

The rebuild now defers for the duration of the drag gesture, and the
drop ports retail's own -1-if-lifted-before-target index adjustment
(SpellCastSubMenu::AddFavorite @0x004C7060) so final positions are
byte-identical: insert-shift, not swap; drag-out still deletes (the
lift's removal stands on a missed drop, retail's shape). The
real-pointer-pipeline test fails against the pre-fix code with the
exact cancellation and passes after; a discriminator pins that
physical-item drop handlers reject the spell payload.

AP-172 files the one presentation divergence (mid-drag reflow happens
on release, not continuously) — renumbered from the agent's AP-171
draft, which collided with the same-day double-click row. #354 filed
and closed.

Clean-room complete solution: 11,541 passed / 4 skipped / 0 failed.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-08-08 18:28:47 +02:00
..
EnchantmentMathTests.cs merge: #267 vitae character-panel display (attributes vitae-immune per retail; skill dual parentheticals) 2026-07-30 18:14:48 +02:00
EnchantmentRegistryProjectionTests.cs feat: port retail magic lifecycle and retained spell UI 2026-07-15 10:55:22 +02:00
RetailSpellFormulaTests.cs fix(spells): load complete retail DAT catalog 2026-07-15 21:17:13 +02:00
SpellbookTests.cs fix(ui): spell-bar drag-reorder works — the per-frame rebuild was destroying the dragged cell (#354) 2026-08-08 18:28:47 +02:00
SpellComponentRequirementServiceTests.cs feat(headless): share immutable gameplay content 2026-07-27 09:00:48 +02:00
SpellTableTests.cs fix(spells): load complete retail DAT catalog 2026-07-15 21:17:13 +02:00