|
Some checks are pending
Headless portability / portable-headless (ubuntu-latest) (push) Waiting to run
Headless portability / portable-headless (windows-latest) (push) Waiting to run
Headless portability / linux-graphical (push) Waiting to run
Headless portability / linux-vulkan (push) Waiting to run
The vendor window is retail's own: LayoutDesc 0x21000012, root 0x100000B7, found by enumerating all 101 layouts for the one containing both known tab controls and clinched by the root's Type 0x10000017 — the literal UIElement::RegisterElementClass id for gmVendorUI (pc:202075). Discovery evidence and the D0 read live in the research doc's new §B.4. D0 corrected two assumptions: retail's category "tabs" are a UiMenu DROPDOWN fed by a hardcoded 18-row ordered category table (ported bit-for-bit against our ItemType enum; list always scoped to exactly one category, first-present wins, selection preserved across refresh per retail's clamp), and the layout authors THREE tabs — Items (browse, this slice), Buying and Selling (staged-transaction review, Slice 6) — decision 4's "browse/Buy tab" names the Items tab retail's mode-2 OpenTab opens. The non-default tabs render and switch pages but stay inert, fenced in comments. VendorUiController mounts Items: category dropdown, icon-cell item row with the retained scrollbar, per-unit retail pricing via VendorPricing.SellPrice (the vendor-stock path VendorProfile:: VendorSellPrice feeds), name/cost on selection. The panel is a pure projection of VendorState — opens on populate, closes on clear; the close button's VendorState.Close() is its only permitted mutation. Nothing on the wire. AP-110 narrowed (vendor leaves the absent-panels list); AP-161 files the precise Slice-6 remainder (Buying/Selling unwired, Buy/Add buttons, InqAcceptability). Twelve controller tests on a real-dat fixture. Clean-room complete solution: 11,323 passed / 4 skipped / 0 failed. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| character_2100002E.json | ||
| character_info_2100006E_10000183.json | ||
| chat_21000006.json | ||
| combat_21000073.json | ||
| component_category_21000033_10000466.json | ||
| component_row_21000033_10000467.json | ||
| dialogs_2100003C.json | ||
| effects_negative_2100001B.json | ||
| effects_positive_2100001B.json | ||
| effects_row_2100001B_10000128.json | ||
| examine_2100006B_100005F2.json | ||
| examine_component_2100006B_1000032E.json | ||
| examine_row_2100006B_10000166.json | ||
| indicators_21000071.json | ||
| inventory_21000023.json | ||
| link_status_2100001D.json | ||
| mini_game_2100001E.json | ||
| paperdoll_21000024.json | ||
| powerbar_21000072.json | ||
| radar_21000074.json | ||
| smartbox_fps_2100000F.json | ||
| spellbook_21000034.json | ||
| toolbar_21000016.json | ||
| vendor_21000012_100000B7.json | ||
| vitae_21000020.json | ||
| vitals_2100006C.json | ||