3.9 KiB
title, date, tags, permalink
| title | date | tags | permalink | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Demo-Readiness Polish Pass — redesign closeout review + full four-area polish | 2026-07-04 |
|
gamevault/07-sessions/2026/2026-07-04-demo-polish-pass |
Demo-Readiness Polish Pass (/dots-dev, ultracode)
Operator brief: "overall complete polish pass, ready for a game demo" → intake locked: hands-off public demo, standalone Windows co-op build, finish-the-redesign baseline, all four polish areas. Full decisions + finding table: DR-044_Expedition_Redesign_Shipped_Demo_Polish.
How it went
- Ground fan-out (
wf_d3f1890a-8ca, 3 read-only agents) — headline: the 07-02 log said "steps 1–11" butRun Re-Doalready contained 12a/12b/13/14. Only the post-impl review + doc bookend were missing. - Baseline verify — 452/452 EditMode + clean netcode Play boot (born-correct Staging on both worlds).
- Post-impl adversarial review (
wf_38ef58c2-8bd, 3 lenses → per-finding critics, 15 agents, 0 failures) — 7 confirmed / 3 refuted. All 7 fixed same-session + pinned (RunRosterRegressionTests,TerminalCampaignRollTests); the two contradictory critic verdicts on the respawn stray line were adjudicated by reading the code (artifact confirmed, deleted). - Stability slice — ConnectionWatchdog/SessionEnd/menu-reason plumbing; mode-aware outcome banner; terminal-save roll-forward; save-before-restart.
- UI slice — READY panel, drawn route map (Painter2D DAG + client path trace), onboarding re-author (the dead at-base Mine step was a first-run soft-lock), How-to-Play rewrite, DOWNED countdown.
- Feel/audio slice — 4-layer phase-locked procedural music, Fabricator can-die parity, core-hit alarm, landing grace, slash-arc reach fold (local+remote), Warrior cone VFX, boss bar+roar, rarity borders, depth dots, outcome flourish, shop pips, core-crystal tint system.
- Sweep — build scenes → MainMenu+Game only;
com.unity.ai.assistantremoved; corrupt whitespace-onlySimulation/Meta.meta(committed in Run Re-Do; surfaced on the package re-resolve) deleted → regenerated.
Validation
456/456 EditMode · repeated Play smokes (launch conscription sampled tick-by-tick; wipe-abort self-validated;
zero exceptions) · L3 screenshots: staging READY panel + meta shop, route map with lit path + depth dots,
rarity boon modal. The route-map/boon states were forced via the disable-the-driver idiom
(ResolveSystemStateRef(handle).Enabled = false on RunDirectorSystem, then write RunInfo server-side).
Gotchas worth remembering
- A session log can lag the commit — ground the working tree, not the log's "Remaining" section.
- Two critics can contradict each other (one refuted, one confirmed the same stray line) — adjudicate at the source before acting.
- A committed
.metacan be whitespace-corrupt and stay latent until a package re-resolve forces a full reimport ("GUID cannot be extracted"); Unity's own advice applies — delete it, let it regenerate (folder GUIDs are unreferenced; script GUIDs live in their own metas). CombatFeedbackSystemalready owns theAbilityCooldownfire-edge latch (muzzle flash) — a second consumer needs its OWN latch field or it never sees the edge (CS0102 caught the collision).- The idle-player death→respawn→wipe-abort arc is the system working, not a bug — but it exposed the missing landing grace.
Operator-side next steps
Standalone build (ProjectM/Build/Windows Player) + 2-instance smoke: -mhost / -mjoin 127.0.0.1, then kill
the host and expect [ConnectionWatchdog] CONNECTION LOST… in the joiner log (that line also proves the join
connected); a dead-IP join should log the 12 s timeout. Onboarding fun-gate via Settings → Force Each Launch.
Explicitly deferred to operator art curation: HudTheme structure icons, projectile/pickup placeholder meshes.