From ad3f4df575adc020ca673d700b3403afd2fce911 Mon Sep 17 00:00:00 2001 From: Erik Date: Mon, 7 Sep 2026 18:41:08 +0200 Subject: [PATCH] =?UTF-8?q?fix(vtank):=20slice=207=20round=20F=20item=201?= =?UTF-8?q?=20=E2=80=94=20Advanced=20Options=20bottom=20block=20gone?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Owner's second live look (2026-09-07): "The whole bottom window of advanced options should not be there." VTank's own AdvancedOptionsView is a bare list + category list + edit field + description (KB 08-ui-views.md §1) — no notice line, no extra controls. Deletes the "Editing X." notice label and the entire "MossTank Extras" section fix round B item 8/9 added below it (Checkpoint/Jump/Remove/Set Follow Target + status label/Follow Corners/Open Doors/Nav Priority/ Follow-Nav min distance stepper), shrinking the popup back to VTank's 392x300 (resizable, min = that; was 392x450). Every control removed had a real path already, so nothing is actually unreachable: - Checkpoint/Jump: `/mt addnavcheckpoint` / `/mt addnavjump` (already documented in the /vt help text). - Remove: click any row of the Route tab's own waypoint grid (DeleteRouteWaypointAt) — RemoveRouteWaypointCore and DeleteRouteWaypointAtCore are the identical removal logic, so the button duplicated a control that already exists. - Set Follow Target: re-select "Follow" in the Route tab's own nav-mode menu — SelectRouteMode already calls CaptureFollowTarget every time RouteMode.Target is (re-)selected. - Follow Corners/Open Doors/Nav Priority/Follow-Nav min distance: real VtankOptionCatalog entries (FollowAroundCorners, OpenDoors, NavPriorityBoost, NavCloseStopRange) already listed and editable in THIS SAME popup's own option list/field above, or via `/vt opt set `. No C# state or command was deleted — MossTankPanel's properties/actions (RemoveRouteWaypoint, SetFollowTarget, AddRouteCheckpoint, AddRouteJump, NavigationSettings.FollowAroundCorners/OpenDoors/Priority/ MinimumDistanceMeters) are untouched; only the redundant second UI surface for them is gone. Mutation shown to fail first: MossTankMarkupContractTests' ExpectedPopupBounds and MossTankMarkupBuildOverRealFilesTests' WideningTheRealAdvancedOptionsPopupGrowsTheOptionListWithoutOverlappingItsSibling were changed to expect 392x300 before the markup shrink — both failed with "Expected: 300 Actual: 450" against the still-450-tall file, then passed once mosstank-advanced.xml's own h/minh dropped to 300. MossTank suite 722/722 (no count change, no control removed here had a dedicated test); App markup/plugin filter 258/258. Co-Authored-By: Claude Fable 5.1 --- .../mosstank-advanced.xml | 70 +++++++++++-------- .../MossTankMarkupBuildOverRealFilesTests.cs | 5 +- .../MossTankMarkupContractTests.cs | 8 ++- 3 files changed, 51 insertions(+), 32 deletions(-) diff --git a/src/AcDream.Plugins.MossTank/mosstank-advanced.xml b/src/AcDream.Plugins.MossTank/mosstank-advanced.xml index f0ade44d..8024e7db 100644 --- a/src/AcDream.Plugins.MossTank/mosstank-advanced.xml +++ b/src/AcDream.Plugins.MossTank/mosstank-advanced.xml @@ -130,17 +130,46 @@ overwrites Width/Height to the CURRENT measured text extent on every single draw, immediately after the parent's own anchor pass runs (both happen inside the same DrawSelfAndChildren frame) — so whatever a - label's anchor computes is discarded before it is ever visible. A - genuinely working vertical anchor (e.g. "bottom", tracking the growing - window edge) was deliberately NOT used here either: with the notice - label directly below it also unanchored, a large enough resize would - walk description right into notice — the same class of risk this - round avoided for the option list. Anchoring the rest of the vertical - stack in lockstep is a real, larger redesign left for a future round; - this one stays inside "make it actually resizable without introducing - a new overlap," per the round's own stated scope. --> - + label's anchor computes is discarded before it is ever visible. + + Round F item 1 (owner's second live look, 2026-09-07: "The whole bottom + window of advanced options should not be there"): deleted the + AdvancedOptionNotice label ("Editing X.") and the ENTIRE "MossTank + Extras" section fix round B item 8/9 put below it. VTank's own + AdvancedOptionsView is list + category list + edit field + description + only (docs/research/vtank-kb/08-ui-views.md §1) — no notice line, no + extra controls — and every action the Extras section exposed already + has a real path that does not need this popup at all: + - Checkpoint/Jump -> `/mt addnavcheckpoint` / `/mt addnavjump` + (documented in the /vt help text; AddRouteCheckpointCore/ + AddRouteJumpCore were never anything but thin wrappers the button + called). + - Remove -> click any row of the Route tab's own waypoint grid + (DeleteRouteWaypointAt) — RemoveRouteWaypointCore and + DeleteRouteWaypointAtCore are the same removal logic (clamp index, + RemoveAt, reset nav, refresh, save), so the button was a pure + duplicate of a control that already exists. + - Set Follow Target -> re-select "Follow" in the Route tab's own + nav-mode menu (SelectRouteMode unconditionally calls + CaptureFollowTarget whenever RouteMode.Target is (re-)selected) — + SetFollowTarget/CaptureFollowTarget were never anything but a + manual re-invocation of the same call. + - Follow Corners / Open Doors / Nav Priority / Follow-Nav min + distance -> real VtankOptionCatalog entries (FollowAroundCorners, + OpenDoors, NavPriorityBoost, NavCloseStopRange) already listed and + editable in THIS popup's own lOptionList/field above, or via + `/vt opt set ` — the toggles/stepper below were + exact duplicates of rows already present in the retail list. + This popup no longer owns any of that state; every field/setting it + duplicated is a plain property on MossTankPanel untouched by this + round (NavigationSettings.FollowAroundCorners/OpenDoors/Priority/ + MinimumDistanceMeters, plus RemoveRouteWaypoint/SetFollowTarget/ + AddRouteCheckpoint/AddRouteJump themselves) — nothing was deleted from + the plugin, only the second, redundant UI surface for it. Panel height + shrinks 450->300 to match VTank's real 392x300 AdvancedOptionsView + footprint (minh follows); minw stays 392. --> + @@ -163,23 +192,4 @@ tooltip="Edit the selected advanced-option value and press Enter to apply." />