# 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?