diff --git a/docs/research/2026-08-16-campaign-cc-gate-round1-findings.md b/docs/research/2026-08-16-campaign-cc-gate-round1-findings.md new file mode 100644 index 00000000..18a3184f --- /dev/null +++ b/docs/research/2026-08-16-campaign-cc-gate-round1-findings.md @@ -0,0 +1,82 @@ +# Campaign CC connected gate — round 1 findings (2026-08-16) + +User ran the six-page chargen flow live (build `1.0.2-cc.e`, RDP session, +windowed). Screenshots: retail Heritage, acdream Heritage, retail +Profession. The user's side-by-side retail reports are AXIOMS +(`feedback_retail_oracle_no_whack_a_mole`). Pre-page findings #405 (fixed +`344d88bf`), #406 (open), #407 (fixed `e601a496`) are recorded in +ISSUES.md; this doc is the six-page batch. + +## Functional (blocking or behavior-dead) + +- **GF-1 Heritage selection dead/unmarked.** Clicking a heritage row does + not light its radio dot (retail: orange lit dot on the selected row — + screenshot 1). Unclear whether the click dispatches at all (the + description text that would confirm is itself broken, GF-2). ALSO: the + open-roll's own rolled heritage shows NO lit dot on entry — every dot + dark in the acdream screenshot. +- **GF-5 Skills page empty.** Nothing renders except the screen-description + textbox — no skill rows, no credits display. (CC5's residual round wired + `TemplateResolver` into the SKILLS page too — yet live rows are absent.) +- **GF-9 Appearance color swatches do nothing observable.** Clicking a + color produces no visible change (model recolor absent). Could be a dead + dispatch or could be working-but-invisible (AP-216 authored-art swatches + + a recolor that fails); investigate, don't guess. +- **GF-11a Town description text does not change** when switching towns. +- **GF-13 Summary shows "-Non-admin or Non-envoy" below the name** — an + acdream-only text leak; retail's summary list has no such rows. +- **GF-15 Summary name entry DEAD + Finish unpressable.** Cannot type into + the name field at all; Finish cannot be pressed. Also the field is not + prefilled with retail's `[ Name` placeholder. This blocks the entire + create flow — the gate cannot proceed past Summary. + +## Presentation families (retail parity) + +- **GF-2 Description textboxes broken everywhere.** acdream renders the + raw string with LITERAL `\n` escapes, one truncated line, no wrap, no + scroll, no frame. Retail: framed scrollable textbox, multi-paragraph, + colored section headers (green "Trained Starting Skills:" etc.), + scrollbar + arrows (screenshot 1 right panel). +- **GF-3 Profession template description textbox missing** (retail bottom- + left panel, "LIFE CASTERS are experts…" — screenshot 3). +- **GF-4 Profession labels missing:** "Attribute Credits" caption + value, + per-attribute name labels (Strength…Self), Health/Stamina/Mana labels + + values. Sliders and template selection themselves WORK. +- **GF-6 Appearance spin captions are numbers,** not part names + ("Hair Style", "Eyes", …). Known rows AP-215/AP-218 — the gate promotes + them to must-port. +- **GF-7 Preview backdrop black** on Appearance (and Summary, GF-14); + retail's chargen 3D view shows a scenic backdrop. (The Heritage-page + preview area shows terrain in BOTH clients — establish from the decomp + what actually renders behind the model per page/view.) +- **GF-8 Appearance Face/Clothes sub-tab selection unmarked** (AP-222 + family, promoted by the gate). +- **GF-10 Zoom buttons show identical art** whichever is pushed. +- **GF-11b Town selected marker does not turn white** (button highlights, + but retail's selected-town graphic swaps to white). +- **GF-11c Town names misaligned on the map** vs retail. +- **GF-12 Missing authored gold frames** around boxes on every page + (Skills/Appearance/Town/Summary called out explicitly). +- **GF-14 Summary paperdoll backdrop black** (same family as GF-7); + Summary textbox wrapper + scrollbar missing (GF-2 family). +- **GF-16 Hover tooltips missing on all pages** (retail pops tooltips). + +## Suspected shared roots (to be CONFIRMED by the investigation, not assumed) + +1. Missing frames/labels/statics across every page (GF-3, GF-4 labels, + GF-12) — one importer/mount-level gap OR retail writes them at runtime; + decide per element from the authored DAT + decomp. +2. Rich text (escape decoding, wrap, scroll, frame) — one text-widget gap + feeding GF-2/GF-3/GF-11a/GF-14. +3. Selection state media (GF-1 dot, GF-8 sub-tabs, GF-11b white marker, + GF-10 zoom art) — the AP-222 measured mechanism (state media authored + vs applied) across widget kinds. +4. Preview backdrop (GF-7/GF-14) — what gmCG3DView clears/draws. +5. Input routing on Summary (GF-15) — focus/typing path on the stacked + chargen screen. + +## Process + +Root-cause investigation FIRST (report-only, static + live-DAT probe +tests, NO client launches while the user's client may be running), then +batched fix rounds per family with Opus review, one republish per batch.