diff --git a/docs/plans/2026-09-06-campaign-vt-vt2-gap-audit.md b/docs/plans/2026-09-06-campaign-vt-vt2-gap-audit.md index d66ce409..d18fa5eb 100644 --- a/docs/plans/2026-09-06-campaign-vt-vt2-gap-audit.md +++ b/docs/plans/2026-09-06-campaign-vt-vt2-gap-audit.md @@ -35,7 +35,7 @@ accepts: T = tests only, O = owner connected/visual gate. | 4 | **Buffs and vitals** | Per-tick plan re-evaluation (mid-pass tier cascade); profile-item → default enchant rows on Add; helper pool incl. non-fellow tracked players (decide); worn-item charge ORDER only (oldest-queued vs lowest-%, Low — the pool is global on both sides); keep the RandomHelper improvement (decide, document). (04 §5) | 2 | M | O (buff pass) | | 5 | **Looting** | `EarlyMatch`/`NeedsID` identify-avoidance; rare-first corpse selection; ownership-denial chat listener (10 s skip); corpse age clock from first sighting; explicit re-close. (05 §4) | 1 | M | O (loot field) | | 6 | **Navigation** | Creep band + `FaceHeading` snap-turn inside 1/160 with the forced-Magic case; OpenVendor fire-and-forget vs wait (decide, document as a divergence if kept); lockpick strategy (decide); recall stationary gate; Portal2/UseNPC candidate filter; chat-color gate on UseNPC. (06 §6) | 2 | M | O (route) | -| 7 | **UI transcription** | Monsters/Items/Consumables/Buffs/Route/Meta tabs rebuilt as VTank's grids on the multi-column list; window geometry from `mainView.xml`; Advanced Options and Loot Editor stay in-panel by decision. (08 §1,§5) | 1c | M | O (visual) | +| 7 | **UI transcription** | Monsters/Items/Consumables/Buffs/Route/Meta tabs rebuilt as VTank's grids on the multi-column list; window geometry from `mainView.xml`; Advanced Options and Loot Editor stay in-panel by decision. (08 §1,§5) | 1c | M | O (visual) | ← PULLED FORWARD to run right after slice 1 (owner: "looks basically the same" is the visible win); plan `2026-09-07-campaign-vt-slice7-tabs.md` | 8 | **Meta and expressions** | Doc 07's five semantic gaps: `CreateView` markup translation (VTank's two-tag Button/Layout dialect → our panel markup; 6-view cap), nested `All` actions must run every child (no short-circuit), case-sensitive monster-name regex, the `;` operator decision (retail returns the FIRST operand, UtilityBelt/MossTank the last — owner decides, document as a divergence either way), watchdog ring pre-fill with the far sentinel; plus the per-state-entry firing rule, the two "seconds in state" clocks, and the call/return stack semantics of 07 §2. Unregistered retail condition id 27 stays unregistered. | 1b (`.af`) | M | T + O (a live meta run) | | ~~9~~ | ~~**Plugin interop API**~~ | **DROPPED by the owner 2026-09-06: no interop.** All plugins are rewritten for acdream against its own API; no VTank export surface, no Decal-shaped relay. (09 §5 is historical context.) | — | — | — | diff --git a/docs/plans/2026-09-07-campaign-vt-slice7-tabs.md b/docs/plans/2026-09-07-campaign-vt-slice7-tabs.md new file mode 100644 index 00000000..22a269af --- /dev/null +++ b/docs/plans/2026-09-07-campaign-vt-slice7-tabs.md @@ -0,0 +1,93 @@ +# Campaign VT — slice 7: the nine tabs, looking like VTank's + +Date: 2026-09-07 +Status: PLANNED — implementation starts once slice 1c (the `metas/`/`navs/` +folder follow-up) has merged; it shares `mosstank.xml` and `MossTankPanel.cs`. +Owner's bar (2026-09-06): "I don't care if the UI is constructed the same +way, just as long as it looks basically the same" — visual resemblance and +the same player-facing interactions, judged side by side with a running +VTank. Never VVS internals. Pulled forward from the VT2 order because it +only depends on slice 1's column markup and gives the owner the visible +result early. Owner gate: VISUAL (the first stop point of the campaign). + +## Oracle +`docs/research/vtank-kb/08-ui-views.md` §0 (856×210, nine tabs, icon +`0x060029AB`), §1 (every control of every tab with `L,T,W,H`, text and the +bound setting), §5 (what `mosstank.xml` does today), plus VTank's own layout +file `C:\Users\erikn\source\repos\acdream\refs\vtank\uTank2.ViewXML.mainView.xml` +(read-only, the geometry truth). Behavior per cell click: KB 08 §2/§3 and +`refs/vtank/decompiled/uTank2/PluginCore.cs:7904-8089` (Monsters cell +handlers), `:8529-8562` (Items), `:2219-2247` (Meta), `:3576-3599` (Route), +`:7323-7355` (Buffs), `:7683-7776` (Consumables). Markup reference: +`docs/plugin-ui-markup.md` (columns, `width="*"`, text `onclick`). + +## Scope + +S7.1 **Window.** `mosstank.xml` becomes 856×210 content (VTank's proportions; +our chrome adds its own title bar), nine tabs in VTank's order and widths, +each tab's content area 856×(210−tab strip). The Advanced Options page and +the Loot Editor page stay in-panel (decision, KB 08 §5) but move to VTank's +own popup geometry as separate groups (392×300 and 268×300) opened from the +same checkboxes VTank uses (`cShowAdvanced`, `cShowLootEditor`). + +S7.2 **Options / Profiles / Vitals** transcribed control-for-control from KB +08 §1 at VTank's `L,T,W,H` and captions (our labels/fields/toggles/buttons/ +sliders; the nine Vitals sliders read 0–100 with the "NN%" readout labels — +add optional `min`/`max` literal attributes to `` so the plugin +binds the percent directly, KB 08 §3 gap). Profiles: the four rows +(Macro Settings / Auto-Navigation / Looting / Meta) with their combo, +CopyTo/New, Clear, Mine-only and Show-Editor controls; the combos list the +real files from slice 1's stores. Add optional `scroll="true"` on `` +(one column, scrollbar) for the 27-entry recall list and long profile lists. + +S7.3 **Monsters** — one 23-column list on ``: 14 check (F B G I Y V +A R S WC FC Cp DC Cs, 16 px each with the header letters as `