acdream/tests/AcDream.Plugins.MossTank.Tests
Erik 6ef6eb7514 fix(vtank): slice 7 round F item 4 — recall combo at VTank's terse-caption shape
Resemblance re-check: "the recall combo's full spell names overflow the
120 px box on most of the 27 entries — VTank's cmbRecallType uses terse
captions ('Primary', 'LS Sending', 'PtOIA', 'Fac. Hub'...): show those,
keep the full name in the waypoint and .af." Round E's D-2 had widened
the combo 120->300 to fit RecallDisplayName's full spell names; this
reverts the widening and shows VTank's own cmbRecallType captions
instead, restoring the box to VTank's real 120 width.

Added RouteWaypoint.RecallShortCaption(RouteRecallKind) — VTank's 27
terse cmbRecallType strings transcribed from docs/research/vtank-kb/
08-ui-views.md §1 (this worktree has no refs/vtank/ checkout to read
mainView.xml directly; the KB doc is its own faithful transcription of
that exact file, duplicate quirk included). The UI file's own caption
list carries a genuine VTank authoring duplicate — "Fac. Hub" then
"FacHub" again four slots later — that pushes every later caption one
position past the 26 real castable recalls it captions; removing that
duplicate restores an exact 1:1, in-order match onto RouteRecallKind's
26 real spells (confirmed by meaning, not just position — "Candeth" for
Return to the Keep is Candeth Keep, the literal destination; the three
"Soc. *" captions are the Society stronghold recalls). Marketplace was
never a cmbRecallType option (VTank's one slash-only recall) and keeps
its own literal caption since this combo still lists it.

RouteRecallNames/SelectedRouteRecall/SelectRouteRecall now read/parse
RecallShortCaption instead of RecallDisplayName — this is the ONLY
thing that changed. AddRouteRecallCore/RecallLabel still write the full
name (RecallDisplayName) onto the waypoint, the Route grid row, and the
.af file, completely untouched by this commit.

27 captions used, in RouteRecallKind order: Primary, Secondary, LS,
LS Sending, Portal, Aphus, Sanctuary, Caul, GW, Aerlinthe, Mt. Lethe,
Ulgrim's, Bur, PtOIA, Graveyard, Colosseum, Fac. Hub, Gear K. Camp,
Neftet, Candeth, Rynthid, VR Rocks, VR Tree, Soc. CH, Soc. RB, Soc. EW,
Marketplace.

Mutation shown to fail first: RouteRecallComboShowsVtanksTerseCaptionsButTheWaypointKeepsTheFullName
replaces RouteRecallComboShowsVtankNamesNotEnumIdentifiers with the new
expected terse-caption list. Verified by temporarily reverting
RouteRecallNames/SelectedRouteRecall back to RecallDisplayName (a
targeted mutation, then reverted) — the test failed with "Expected:
[Primary, Secondary, LS, ...] Actual: [Primary Portal Recall, Secondary
Portal Recall, Lifestone Recall, ...]" — then passed once
RecallShortCaption was restored.

MossTank suite 724/724 (one test replaced, net count unchanged); App
markup/plugin filter 258/258 (unaffected — no App-side markup change).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-07 18:54:54 +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(vtank): slice 7 round F item 3 — Items tab is VTank only 2026-09-07 18:46:58 +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