docs(vt): slice 7 plan — the nine tabs at VTank's geometry on the column markup; pulled forward after slice 1
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
aafa66c821
commit
074762dd36
2 changed files with 94 additions and 1 deletions
|
|
@ -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.) | — | — | — |
|
||||
|
||||
|
|
|
|||
93
docs/plans/2026-09-07-campaign-vt-slice7-tabs.md
Normal file
93
docs/plans/2026-09-07-campaign-vt-slice7-tabs.md
Normal file
|
|
@ -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 `<slider>` 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 `<menu>`
|
||||
(one column, scrollbar) for the 27-entry recall list and long profile lists.
|
||||
|
||||
S7.3 **Monsters** — one 23-column list on `<column>`: 14 check (F B G I Y V
|
||||
A R S WC FC Cp DC Cs, 16 px each with the header letters as `<label>`s
|
||||
above and the tooltips), 7 text (Name 120, P 20, Dmg type 56, Ex. Vuln 56,
|
||||
Weapon 80, Offhand 80, PetDmg 56) with VTank's per-cell clicks (Name click
|
||||
deletes the monster; P cycles −1→0…4; Dmg type / Ex. Vuln / Weapon /
|
||||
Offhand / PetDmg cycle their value lists exactly as `PluginCore.cs:7948-8089`),
|
||||
2 icon (move up / move down, DAT ids `0x060028FC`/`0x060028FD`), plus the
|
||||
Add / Add Sel row. Bound to the existing `CombatSettings.Rules` model
|
||||
(`MyMonsters` parse is slice 3 / TS-86).
|
||||
|
||||
S7.4 **Items / Consumables / Buffs** — the five lists at VTank's geometry
|
||||
(Items: name 320 + hands 80, click name deletes, click hands cycles;
|
||||
Consumables: name list + the excluded-scarab list with the component icon
|
||||
column; Buffs: extra buffs + blacklisted families; every "Add..." opens the
|
||||
same in-panel picker shape as `SelfBuffChoiceView`, 268×236, search field
|
||||
filtering a single-column list).
|
||||
|
||||
S7.5 **Route** — the waypoint list (text 330 + count 30, click deletes), the
|
||||
nested bottom row (nav-type and insert-mode menus, the three image buttons
|
||||
with DAT ids `0x060028FD`/`0x060028FC`/`0x060011F7` and their tooltips), and
|
||||
the eight Add buttons with their fields (pause seconds default "5", chat
|
||||
default "/ls", the 27-entry recall menu).
|
||||
|
||||
S7.6 **Meta** — the six-column rules grid (delete / up / down icons, State
|
||||
150, Condition `*`, Action `*`; any text-cell click opens the rule editor
|
||||
as today), Create, "Current State:" bold label and the state menu.
|
||||
|
||||
S7.7 **Gate script** `docs/research/2026-09-07-campaign-vt-slice7-test-script.md`:
|
||||
one row per tab — what to open in VTank, what to open in acdream, what
|
||||
must look the same (arrangement, density, captions, list shapes) and the
|
||||
one interaction to try per tab (toggle a monster flag, cycle a priority,
|
||||
add a waypoint, delete an item). Launch line and the profile-dir setup
|
||||
(`ACDREAM_VTANK_PROFILE_DIR` on a COPY of the VirindiTank folder).
|
||||
|
||||
## Out of scope
|
||||
Any behavior under the tabs (slices 2–6, 8); pixel-matching VVS
|
||||
(padding constants, hit-test mechanics); the `MyMonsters` parse.
|
||||
|
||||
## Process
|
||||
One Sonnet implementer per sub-slice group in one worktree (S7.1+S7.2, then
|
||||
S7.3, then S7.4–S7.6, then S7.7), each with build + `dotnet test
|
||||
tests/AcDream.App.Tests --filter Markup` + `tests/AcDream.Plugins.MossTank.Tests`
|
||||
green and the markup contract test updated; every new pin shown to fail;
|
||||
UI-probe screenshots (`ACDREAM_UI_PROBE_SCRIPT`) of every tab attached to the
|
||||
closeout so the owner can pre-screen before the live gate. Two Opus lenses
|
||||
(architecture; resemblance against `mainView.xml` — the reviewer judges
|
||||
arrangement/density/captions, NOT VVS mechanics), fix round, narrow
|
||||
re-review, merge to the campaign branch, then the owner's visual gate.
|
||||
|
||||
## Ledger
|
||||
- 2026-09-07 planned.
|
||||
Loading…
Add table
Add a link
Reference in a new issue