Skip to content

Chip companion: art rebuild, +19 poses, +11 wired surfaces#62

Merged
KevinBigham merged 11 commits into
mainfrom
codex/chip-full-wire
May 7, 2026
Merged

Chip companion: art rebuild, +19 poses, +11 wired surfaces#62
KevinBigham merged 11 commits into
mainfrom
codex/chip-full-wire

Conversation

@KevinBigham
Copy link
Copy Markdown
Owner

Summary

  • Replaces every Chip portrait with a unified procedural retro-broadcast cartoon style (single rig, consistent character across all 36 poses).
  • Expands the pose atlas from 17 → 36 poses (full-body 600×732 + inline 600×600 in lockstep).
  • Wires 11 previously-generic Chip surfaces to specific semantic poses, plus adds a Chip cameo to the achievement-unlock toast that didn't exist before.

What changed

Art

  • All 17 original PNGs regenerated; 19 new poses added: rallying, calling-play, on-phone, head-in-hands, reviewing-tablet, pointing-at-tape, time-out, whistle-blow, coaching-crouch, coffee-sip, fist-bump, note-taking, laughing, skeptical, proud, facepalm, frustrated, tired, football-in-hand.
  • Single rig in scripts/generate-chip-v3-art.cjs (357 → 588 lines). No second pipeline.
  • File sizes dropped substantially vs prior pass (e.g. chip-coach.png 557KB → 61KB).

Layout

  • Cold-open CONTINUE BRIEFING button moved into Chip's column so the host stays anchored next to the action.

Wiring (eventBridge / route registry / direct features)

  • High-stakes events: TD → rallying, cap-overrun → head-in-hands, trade rumor → on-phone, HOF retirement → head-in-hands, decision-locked-in → fist-bump.
  • New route-beat coverage for /training-camp, /trade-deadline, /expansion-draft (none of which had Chip beats before).
  • Route-beat upgrades for inbox / staff / cap-lab / scouting / draft / trades / standings / news / records / settings.
  • Halftime modal: time-out / calling-play / coaching-crouch instead of generic point-left/right.
  • Game-recap reactions: blowout wins → rallying/proud, close wins → fist-bump, choke losses → facepalm/head-in-hands.
  • Press conference: skeptical for high ambition, coffee-sip for low-key, fist-bump when locked in.
  • Achievement unlock toast: brand new Chip + dialogue-bubble cameo with proud pose.

What was deferred (intentionally)

  • gameComplete / seasonEnd dialogue: needs a broader catalog, not one-off lines. Documented in audit.
  • Era transition + trophy room: kept on existing direct treatments.

Audit + evidence

  • .codex/MFD/chip-coverage-audit-20260507.md — 24-surface inventory with current state + recommendation per surface.
  • .codex/MFD/evidence/chip-full-wire-20260507-061123/ — 28 screenshots across 9 surfaces × 3 viewports (desktop/tablet/mobile), plus pose-contact-sheet.png showing all 36 poses at once and chip-art-metrics.json with DOM measurements.

Safety

  • Save schema, SAVE_VERSION, deterministic engine behavior, RNG, and deploy surfaces unchanged.
  • Three commits (audit / poses / wire) sit cleanly on top of v3 art (6340bbd).

Test plan

  • Open /MFD/ and complete the cold-open — CONTINUE BRIEFING is in Chip's column.
  • Visit /training-camp, /trade-deadline, /expansion-draft — Chip beat appears with the right pose.
  • Trigger halftime / recap / press in a game — Chip's reaction reads situation-specific, not generic.
  • Unlock an achievement — Chip cameo appears in the toast.
  • pnpm -r typecheck && pnpm -r test && pnpm -r build (Codex passed locally; web typecheck independently re-confirmed).

🤖 Generated with Claude Code

KevinBigham added 11 commits May 5, 2026 17:52
Preserves the recovered onboarding, guidance, route-coaching, mobile hardening, and release metadata work before the release-candidate lock-in pass continues. Save schema, engine behavior, and deploy surfaces remain untouched.
Locks in the recovered Chip public-release work with save/load runtime evidence, later-season route guidance, and release audit docs so Kevin can review the candidate without relying on stale verification.

Keeps SAVE_VERSION 35 and save schema unchanged.
Capture the late-season ship-prep evidence, Kevin playtest path, and a focused clipboard fallback so the public candidate has a reviewable release handoff without changing save schema, deploy state, or sim determinism.
Keeps the public candidate honest by closing the last release-decision P1s: invalid imports now stay player-facing and save-safe, and Kevin has a concrete ship/no-ship package for final playtest.

Documents the verified Week 9 deadline state, flagged preview requirements, deploy checklist, and remaining post-release risks without changing save schema, SAVE_VERSION, or deterministic sim behavior.
Bring real Chip character art (17 PNGs) into the design system as the visible Chip layer while keeping the legacy SVG hidden as a test/animation contract, so existing pose, reduced-motion, and Chip data contracts continue to hold. CHIP_POSE_ART maps every existing pose to a PNG so dialogue, route coaching, and dock surfaces inherit the art without per-surface code changes.

Adds app-shell.css plus landmark data attributes (data-mfd-app-shell, -main-content, -brand-lockup, -nav-group, -nav-actions) so the top nav, grouped scan area, action cluster, and main content can be polished from CSS without rewriting App.tsx. Main content gets a 1580px cap with safe-area-aware mobile padding; the nav-group grid stays scannable at narrower widths.

ChipDock layout polish from the same source patch is intentionally deferred — it conflicted with release-candidate hardening already on this branch and reconciling those competing border/shadow/label choices belongs in a focused follow-up. Dock keeps its release-candidate-verified version.

Save schema, SAVE_VERSION, deterministic engine behavior, and deploy surfaces remain untouched.
Use square inline crops for sm/md Chip art while keeping lg on the full-body PNGs, restoring the 96x96 inline footprint that cold-open surfaces were built around. The mobile dock grid now reserves the lg portrait column so expanded Chip art does not overlap controls or dialogue content.

Adds a focused Playwright visual gate that builds the flagged preview, walks Start Dynasty and Launch Demo Scenario at desktop/tablet/mobile viewports, and stores screenshot/metrics evidence under .codex/MFD/evidence/chip-art-shell-polish-v2-20260506-170852.

save schema, `SAVE_VERSION`, deterministic engine behavior, and deploy surfaces remain untouched
Moves the cold-open primary action into Chip's companion controls when the Chip host is visible, leaving the existing footer action as the fallback for non-Chip or skipped companion states. SKIP remains in its existing ChipHost and SetupColdOpen locations.

Adds a v3 Playwright proof that fails when the primary action sits outside Chip's column and captures desktop, tablet, and mobile cold-open evidence.

save schema, `SAVE_VERSION`, deterministic engine behavior, and deploy surfaces remain untouched
Replaces the v2 mixed-render Chip assets with a single procedural retro-broadcast rig rendered to the existing PNG paths. The muted khaki/navy palette keeps Chip subordinate to the gold/cyan callouts, while full-body and inline variants now derive from the same source so each pose reads as the same person.

Adds the v3 visual evidence sweep and contact sheet for cold-open Chip/NEXT placement, setup talk pose, dock collapsed/expanded, and all 17 full/inline pose pairs. The generator uses Playwright as a transient render tool; no runtime dependency or resolver contract changes.

save schema, `SAVE_VERSION`, deterministic engine behavior, and deploy surfaces remain untouched
Documents the current Chip coverage across onboarding, dock, route coaching, game-day modals, weekly dialogue, direct feature surfaces, and missing route-level moments so the pose expansion can stay scoped.

This keeps the clean recovery clone as the working repo and leaves the messy MFD checkout untouched.

save schema, `SAVE_VERSION`, deterministic engine behavior, and deploy surfaces remain untouched
Adds a focused v3 procedural pose batch for game-day intensity, front-office admin, reactions, and film-room context while preserving the existing 17 assets by default in the generator.

The design-system atlas, art resolver, legacy hidden SVG pose-layer map, and tests are updated together so there are no orphan pose names or orphan PNG files.

save schema, `SAVE_VERSION`, deterministic engine behavior, and deploy surfaces remain untouched
Routes the expanded Chip pose atlas into weekly guidance, high-stakes pose events, route coaching, halftime, postgame recap, press conference, and achievement unlock feedback.

Adds narrow route-beat coverage for training camp, trade deadline, and expansion draft without touching the engine event spine or save/import/export behavior.

save schema, `SAVE_VERSION`, deterministic engine behavior, and deploy surfaces remain untouched
@KevinBigham KevinBigham merged commit 5cd83ac into main May 7, 2026
2 checks passed
@KevinBigham KevinBigham deleted the codex/chip-full-wire branch May 7, 2026 12:11
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6b09bc166f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/web/src/app/App.tsx
<FranchiseSetupWizard onStageAdvance={onStageAdvance} />
<FranchiseSetupWizard
companionPrimaryActionActive={setupCompanionVisible}
onCompanionActionChange={(action) => setSetupCompanionAction(action)}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Stabilize the companion action callback

When the cold-open companion is visible, FranchiseSetupWizard stores a ReactNode in the parent from an effect that depends on onCompanionActionChange; this inline function is recreated every App render, so the child effect cleans up with setSetupCompanionAction(null) and then sets a new action, triggering another parent render and repeating. This can put first-time setup into a render/effect loop as soon as the Chip-hosted primary action appears; pass a useCallback-stable handler (or avoid using the callback identity as an effect dependency) so publishing the companion action does not retrigger itself.

Useful? React with 👍 / 👎.

KevinBigham added a commit that referenced this pull request May 7, 2026
- Promote Play Now link to a prominent header callout
- Add Meet Chip section with 5-pose portrait strip (rallying, calling-play, on-phone, proud, head-in-hands)
- Add Chip companion to feature list under What It Is
- Document the procedural rig and how to regenerate the atlas
- Fix stale `cd MFD/mfd` contributor path (correct path is `cd MFD`)
- CHANGELOG: log post-launch polish — Chip companion rebuild (PR #62) and the Sprint 46 series

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
@KevinBigham KevinBigham restored the codex/chip-full-wire branch May 8, 2026 15:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant