diff --git a/docs/research/2026-08-25-campaign-ct-test-script.md b/docs/research/2026-08-25-campaign-ct-test-script.md new file mode 100644 index 00000000..1e38407e --- /dev/null +++ b/docs/research/2026-08-25-campaign-ct-test-script.md @@ -0,0 +1,103 @@ +# Campaign CT — connected gate script (CT7, user-driven) + +**Purpose:** live verification of the character-panel parity campaign +(CT1–CT6) against ACE. Launch: the normal connected launch +(`ACDREAM_RETAIL_UI=1`, live ACE at `127.0.0.1:9000`, +`ACDREAM_PAK_PATH=\artifacts\owner-gate\acdream-v5.pak`). +Open the character panel (F9 / toolbar). Retail side-by-side comparison +is the oracle for every visual item. + +Useful ACE console helpers: title grants come from quests/admin — check +`@acecommands` for a title-grant command; `@grantxp` for levels. + +--- + +## 1. Header identity block (CT4) — Attributes AND Skills tabs + +1. **Name line**: the plain character name (rankless characters — the + allegiance rank prefix is a registered deferral, AP-109). +2. **Heritage line**: " " — e.g. + "Female Aluvian War Mage" when a display title is set; just + "Female Aluvian" when none. PASS: matches retail's composition and + spacing exactly; a title beginning with "The" shows unmangled. +3. **PK line**: "Non-Player Killer" (or "Player Killer" / "Player + Killer Lite" on a PK/PKL character) in PURE WHITE. PASS: correct + text + color on BOTH the Attributes and Skills tabs. +4. **Level number**: pale gold with outline (authored color — compare + against retail's level display side-by-side; the owner reported ours + was previously off). +5. **Luminance pair**: on a sub-200 character, NO luminance caption or + value renders. (A level ≥ 200 character with MaximumLuminance shows + "Luminance:" and " / " — verify only if such a + character is available.) +6. **Live update**: set a display title (see §2) — the heritage line + updates the moment the server confirms, with no relog and no panel + re-open. + +## 2. Titles tab (CT3) + +1. Click the **Titles** tab. PASS: the page shows "Current Display + Title:" + the current title (or "Unknown" only when the server's + title id fails to resolve — normally a real title or the authored + empty state), the "All Available Titles:" list, and the + "Set as Display Title" button. +2. **List content**: every earned title, alphabetically sorted, + readable rows. With few titles the scrollbar shows retail's + full-track thumb; with many (if available) the thumb sizes + proportionally and scrolls. +3. **Ghost rule**: with NOTHING selected the button is ghosted. Select + the title that IS the current display title — button stays ghosted. + Select a DIFFERENT title — button un-ghosts. +4. **Set round trip**: click Set as Display Title. PASS: the display + title text updates on the server's confirmation, the selection + CLEARS (row highlight goes dark — retail behavior), the button + re-ghosts, and the §1 heritage line updates live. +5. **Row selection visual**: the selected row highlights with retail's + row highlight art (full-row background swap), not a synthesized bar. + +## 3. Attribute/skill rows (CT5) + +1. **Icon alignment**: row icons sit flush left (20x20 at the row's + left edge), matching retail — the previous inset/smaller icons are + gone. Compare a few rows side-by-side against retail. +2. **Value gutter**: the numbers column ends with a visible margin + before the panel border (the scrollbar band) — retail's 7px gutter. +3. **Row height**: rows are retail-height (slightly tighter than + before); section headers (Trained/Untrained/Unusable) unchanged. +4. **Selection highlight**: clicking a row highlights with the retail + full-row art; the spellbook's selection visuals are UNCHANGED + (regression check — open the spellbook and select a spell). +5. **Raise buttons / tooltips / footer**: regression sweep — raise ×1 + and ×10 still work with correct ghosting, skill tooltips still show + formula + description wrapped correctly, the footer numbers update. + +## 4. Resize + scrollbar (CT6) + +*(Section finalized after CT6 lands — placeholder items below.)* + +1. Resize the character window vertically: it clamps at the authored + minimum; the stat list shows its scrollbar when the shortened + viewport overflows, with retail hover/press states on the bar. +2. Other windows (chat, social) still clamp at their own authored + minimums — regression check. + +## 5. Regression sweep (5 minutes) + +- Attributes/Skills tab switching unaffected; CA5 behaviors intact + (raise round trips, live run-speed update on Quickness). +- Logout/login: titles and display title persist; the header matches + PlayerDescription's values. +- Chat window: the CH-round fixes hold (input rails on focus, "Gen" + caption, button flick, no vibrating text while dragging). + +--- + +## Report back + +Per section: PASS/FAIL plus anything odd. The three answers that matter +most: +1. §2.4 — does the set-title round trip clear the selection and update + the header live? +2. §3.1/§3.2 — do icons and the value gutter now match retail + side-by-side? +3. §1.3 — is the PK line present, white, and correct on both tabs?