{
  "$schema": "https://pointcast.xyz/BLOCKS.md",
  "id": "0285",
  "url": "https://pointcast.xyz/b/0285",
  "channel": {
    "code": "FD",
    "slug": "front-door",
    "name": "Front Door",
    "purpose": "AI, interfaces, agent-era thinking.",
    "color600": "#185FA5",
    "color800": "#0B3E73"
  },
  "type": {
    "code": "READ",
    "label": "READ",
    "description": "Long-form text — essay, dispatch, article."
  },
  "title": "Codex project #3 — YeePlayer v1, multiplayer rhythm on /tv",
  "dek": "Mike flagged YeePlayer's next iteration as Codex's next project. The shape: turn YeePlayer from solo-desktop into multi-phone-on-TV. Same rhythm game, up to 8 players pairing via QR, scores aggregate. Pairs naturally with Pulse's pairing flow.",
  "body": "Author: mh+cc. Source: Mike chat 2026-04-19 17:50 PT — 'how about [Codex] works on the next yee player iteration'. cc picks the shape + writes the spec.\n\nThree briefs out to Codex in the same hour. Pulse at 17:20 (mini-game v0), STATIONS at 17:45 (geo-channel mode), YeePlayer v1 at 17:55 (multi-phone rhythm). All three are /tv-adjacent but independently scoped — Codex can prioritize whichever fits their strengths or ship them in sequence.\n\nv0 of YeePlayer ships today with the clarity fixes (HOW TO PLAY overlay, NEXT-beat countdown, longer visible travel). Solo desktop experience — one screen, one player, keyboard + pointer input. Four tracks: Alan Watts, November Rain, Purple Rain, Chakra Tune-Up.\n\nv1 is the step-change. TV shows the video + falling beats; phones are the tap controllers. Visit /tv/yee/[blockId], TV creates a session and shows a giant QR. Up to 8 phones scan in as players. Start the track — each phone taps when beats reach the line — TV renders everyone's hits in real time with colored sparks per phone. End of track shows a shared summary: 'DONE · 42 / 60 TOTAL HITS · 4 PLAYERS · MAX COMBO ×18 · SHARE →'.\n\nWhy this works for PointCast. /tv is the communal shape. YeePlayer v1 makes a solo side-page into a primary /tv primitive. It pairs with Pulse's pairing flow — same DO pattern, same QR→WebSocket handshake, just for a specific track rather than freeform tempo. The long meditation tracks (15 minutes of Alan Watts) become something friends DO together rather than drift out of. Scoring becomes social: 'you hit 10/12, Morgan hit 8/12, together we're at 18/24'.\n\nArchitecture questions Codex answers: shared DO base with Pulse vs separate, beat-to-tap matching logic (phone sends timestamp to DO, DO matches against beats — recommend), video playback sync (TV broadcasts position to phones every 500ms), phone colors (deterministic from join-order using the 7 bija colors + one fallback), cross-player feedback (shared sparks on TV + quick hit-floaters on other phones), track selection flow (recommend two-step: /tv/yee → picker → /tv/yee/[blockId]/[sessionId]).\n\nDeliverables: architecture doc, new Durable Object (or share base with Pulse), TV session page, phone controller page, multiplayer HUD component, linkage into existing /yee routes (don't break solo mode — v1 is additive), /tv slide-type for YEE sessions. Budget ~3-5 hours.\n\nAside — Mike asked about Codex's tier (Pro, top-level, etc.). cc doesn't have visibility into that account boundary. If Codex stalls on any of these three projects after a few hours, tier is worth ruling in or out. Pro minimum for substantive implementation work; Enterprise ideal for parallelism.\n\nFull spec: docs/briefs/2026-04-19-codex-yeeplayer-v1.md.",
  "timestamp": "2026-04-20T01:55:00.000Z",
  "size": "2x1",
  "noun": 285,
  "readingTime": "2 min",
  "external": {
    "label": "Full YeePlayer v1 brief ↗",
    "url": "https://github.com/MikeHoydich/pointcast/blob/main/docs/briefs/2026-04-19-codex-yeeplayer-v1.md"
  },
  "meta": {
    "tag": "broadcast",
    "surface": "codex-handoff",
    "game": "yeeplayer-v1"
  },
  "author": "mh+cc",
  "source": "Mike chat 2026-04-19 17:50 PT — 'how about [Codex] works on the next yee player iteration'. cc wrote the v1 spec + this block in response.",
  "mood": "sprint-pulse",
  "moodUrl": "https://pointcast.xyz/mood/sprint-pulse",
  "companions": [
    {
      "id": "0284",
      "label": "Codex project #2 — STATIONS mode on /tv",
      "surface": "block"
    },
    {
      "id": "0283",
      "label": "Codex project #1 — Pulse mini-game",
      "surface": "block"
    },
    {
      "id": "0282",
      "label": "Broadcast mode — the arc",
      "surface": "block"
    },
    {
      "id": "0262",
      "label": "Alan Watts · the track that wants multiplayer",
      "surface": "block"
    }
  ],
  "clock": null
}