diff --git a/docs/plans/2026-08-14-launcher-campaign.md b/docs/plans/2026-08-14-launcher-campaign.md index bfdb815f..c4040ae6 100644 --- a/docs/plans/2026-08-14-launcher-campaign.md +++ b/docs/plans/2026-08-14-launcher-campaign.md @@ -756,7 +756,22 @@ optional Path.IsPathFullyQualified hardening on the crash reporter's --data-dir fallback. Launcher 67/67, Launcher.Core 317/317. The §A–I connected script remains the open user gate. -## Gate round 2 — 2026-08-15 (first live launcher→client flow) +## Gate round 2 — 2026-08-15 (first live launcher→client flow) — char-select matrix USER-PASSED + +**USER-PASSED 2026-08-15 (end of round):** the character-select visual/ +interaction matrix — stretched-canvas look with bilinear filtering, +aligned widgets, left-justified roster, World box reading the live server +name ("sawato"), and the centered exit confirmation — all accepted on the +live launcher→client flow. Round-2 commits after the round-1 batch: +`6e1c0967` (session-config launches force the retail UI), `9ce72925` +(PFID_CUSTOM_RAW_JPEG decode + resolution guards), `73041d70` +(whole-canvas AD-98 scale + inverse input), `308f40a3` (linear-twin +bilinear stretch), `ef96c554` (exit confirmation + authored justify + +world name, AD-99), `2e6d69dd` (#400), `0a7dc7d6` (durable world-name +read + canvas-centered dialogs). Remaining before shipment: the formal +§A–I script rows (probe ×2, headless+plugins+login commands, delete/ +restore, A→B update swap, row I Linux), and the final-HEAD preflight +re-run. Two real defects, both root-caused and fixed: