acdream/tests/AcDream.Plugins.MossTank.Tests
Erik 6be555ad47 fix(mosstank): Buffs tab is VTank's own six controls, nothing more
Owner's third live look (2026-09-07): "Screenshot shows options under
the buffing tab circled in red. Those are made up, remove them from
here." VTank's real Buffs tab (docs/research/vtank-kb/08-ui-views.md
§1 "Tab: Buffs") is exactly two labels + two 320x116 lists + two
"Add..." buttons — nothing in the middle strip. The MossTank-only
extras block that used to live there (7 category toggles, the
difficulty-margin/rebuff-under spinners, a second Force/Stop buffing
button + status, and the "N attributes, N trained skills, N buff
lines" coverage counts) is removed outright from mosstank.xml.

The underlying settings are not lost: BuffSettings' seven category
bools, SkillExcessOverDifficulty, and RebuffWhenUnderSeconds stay in
the model and its JSON side-car, and the latter two are real,
already-editable VtankOptionCatalog entries
(SpellDiffExcessThreshold-Buff / RebuffTimeRemainingSeconds) reachable
from Advanced Options. Force Buff / Cancel Force Buff stay on the
Options tab, exactly where VTank has them.

Orphaned XML-only bindings deleted from MossTankPanel.cs: the seven
*Enabled/Toggle* pairs (TrainedOnlyEnabled/ToggleTrainedOnly,
AttributesEnabled/ToggleAttributes, ProtectionsEnabled/
ToggleProtections, AurasEnabled/ToggleAuras, BanesEnabled/ToggleBanes,
RegenerationEnabled/ToggleRegeneration, OtherEnabled/ToggleOther),
DifficultyText/DifficultyUp/DifficultyDown, RebuffText/RebuffUp/
RebuffDown, BuffButtonText, and the Buff action property (StartOrStop
itself stays — still reachable from the `/mt buff` slash command,
MossTankCommands.cs). BuffStatus and Coverage stay: both are still
exercised directly by MossTankPanelTests independent of any control
reading them, and neither is listed among the settings the owner's
report says must stay in the model, since neither backs a real
BuffSettings field — they're the "force-buff status" and "coverage"
strings the report never asked to keep alive as UI, only as state.

Test changes: MossTankMarkupContractTests' old
BuffsExtrasStripIsCenteredAtThePanelsFloorAndCoverageSitsUnderTheButtonRow
(which asserted the removed strip's geometry) is replaced with
BuffsTabIsVtankOnlySixControls, asserting the Buffs group is exactly
two lists + two "Add..." buttons + two labels, with no toggle, no
slider, and none of the deleted bindings anywhere in it. Shown to fail
first against a targeted mutation (a stray toggle re-added to the
group) before the fix was restored. MossTankMarkupBuildOverRealFilesTests'
BuffsExtrasStripStaysCenteredAndNonOverlappingAtTheFloor (which proved
the same now-deleted strip stayed centered at the panel's floor) is
deleted outright; the two remaining lists' own non-overlap/
within-bounds behavior stays covered generically by
ResolvedMainPanelHasNoOverlapOrOutOfBoundsChildAtThisSize.

MossTank suite: 726 -> 726 (one Fact replaced, same count). App
markup/plugin filter: 262 -> 261 (one Fact removed, none added here).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 21:11:42 +02:00
..
Fixtures/vtank feat(vt): A1 .usd engine + A3 metaf .af engine, real VTank/metas fixtures 2026-09-06 20:52:51 +02:00
AcDream.Plugins.MossTank.Tests.csproj refactor(vtank): slice 7 fix round B item 13 — glob mosstank*.xml everywhere it's named 2026-09-07 11:53:01 +02:00
AttackSpellCatalogTests.cs fix(vt): model UseArcs as VTank's real 3-way enum, not a collapsed bool 2026-09-06 21:47:03 +02:00
AutoAttackPowerTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
BuffPlanTests.cs feat: regen buffs, wand aura, spellbook assess, indicator press flash 2026-08-20 20:38:28 +02:00
CombatControllerTests.cs feat(mosstank): buff-caster preparer and single idle-peace arbiter — wield from the Items profile, enter magic/peace mode by itself 2026-09-06 19:02:18 +02:00
CombatFailureTrackerTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
CombatItemDebuffPlannerTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
CraftingTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
DebuffSchedulerTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
DispelControllerTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
ExpressionEngineTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
FellowshipManagerTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
GrenadeCatalogTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
HostExpressionFunctionsTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
InventoryMaintenanceTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
ItemManaRechargeTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
LootingTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
MetaEngineTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
MetafSerializerTests.cs fix(vtank): slice 7 round D item 3 — VTank's full 26-recall table 2026-09-07 16:54:37 +02:00
MetaViewManagerTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
MonsterExpressionTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
MossTankMarkupContractTests.cs fix(mosstank): Buffs tab is VTank's own six controls, nothing more 2026-09-07 21:11:42 +02:00
MossTankPanelTests.cs fix(vtank): slice 7 round F item 4 — recall combo at VTank's terse-caption shape 2026-09-07 18:54:54 +02:00
MossTankProfileStoreSideCarTests.cs fix(vt): round 3 item 1 — drop-in .usd EnableLooting no longer clobbered 2026-09-07 01:03:47 +02:00
NavigationTests.cs fix(vtank): slice 7 round E item D-1 — map legacy JSON recall ordinals 2026-09-07 17:56:27 +02:00
packages.neutral.lock.json feat(plugins): MossTank — a self-buffing plugin, and the automation surface it needed 2026-08-20 16:22:28 +02:00
PetAutomationTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
ProfileGiveControllerTests.cs feat(vt): round 3 item 9 — loot cutover to real .utl (consistency with the other three) 2026-09-07 01:51:34 +02:00
VitalPlanTests.cs feat(mosstank): banes, protections and weapon auras 2026-08-20 19:49:51 +02:00
VitalRechargeTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
VtankAmmunitionDatabaseTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
VtankDamageDatabaseTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
VtankLootProfileSerializerTests.cs feat(mosstank): add VTank-style automation PoC 2026-08-27 18:57:21 +02:00
VtankLootRequirementEvaluatorTests.cs fix(vt): H test-restoration + disabled-rule refusal + double-side gate 2026-09-06 23:20:20 +02:00
VtankMetaProfileSerializerTests.cs fix(vt): H test-restoration + disabled-rule refusal + double-side gate 2026-09-06 23:20:20 +02:00
VtankNavRouteSerializerTests.cs fix(vt): A ptl/tlk carry two coordinate triples, jmp direction loss recorded 2026-09-06 22:13:48 +02:00
VtankProfileDirectoryTests.cs feat(vtank): slice 1c step 1 — two-folder metas/navs layout, no nav_ marker 2026-09-07 06:32:56 +02:00
VtankSettingsProfileSerializerTests.cs fix(vt): I widen tDouble-declared distance fields from float to double 2026-09-06 23:27:09 +02:00
VtankUsdDocumentTests.cs test(vt): round 3 item 8 — nav byte-identity coverage + s-cell strip + .ast round-trip 2026-09-07 01:38:56 +02:00