{
  "$schema": "https://pointcast.xyz/BLOCKS.md",
  "id": "0460",
  "url": "https://pointcast.xyz/b/0460",
  "channel": {
    "code": "SPN",
    "slug": "spinning",
    "name": "Spinning",
    "purpose": "Music, playlists, listening notes.",
    "color600": "#993C1D",
    "color800": "#6A2810"
  },
  "type": {
    "code": "READ",
    "label": "READ",
    "description": "Long-form text — essay, dispatch, article."
  },
  "title": "Triptych v1.1 — flips · liner notes · today's pick",
  "dek": "Mike: 'publish, start another sprint on this, when finished, just publish.' The triptych grows a back side. Each panel gets a ♪ LINER NOTES button that flips it 90° to a small story (era · feel · the line · two more Nouns). One panel a day gets gold-haloed as TODAY'S PICK, deterministic per date.",
  "body": "[/spinning-triptych](https://pointcast.xyz/spinning-triptych) v1.1.\n\n## ♪ Liner notes\n\nEach of the three panels grows a back side. The `♪ LINER NOTES` button rotates the panel 90° on the Y axis (CSS `rotateY` cross-fade — no `preserve-3d` gymnastics, just the front rotating out as the back rotates in). The back carries:\n\n- **the line** — one short emblematic phrase, italicized, in the panel's accent color\n- **era** — a sentence about the moment\n- **feel** — a sentence about how the song moves\n- **two more Nouns** — flagged as liner-note mascots, in a paper-and-cream diagonal stripe\n- a `← BACK TO FRONT` button to return\n\nThe liner is the room's small story. Front side is for play. Back side is for the spin afterwards.\n\n## ★ Today's Pick\n\nOne of the three panels gets a gold halo + a pulsing `★ TODAY'S PICK` chip in its title bar. Which one? Deterministic per date — `djb2-ish` hash of `YYYY-M-D` mod 3. Every visitor today sees the same pick. Tomorrow it rolls.\n\nNo backend, no clock skew, no preference. The same idea Loom uses to deterministically seed plants — but applied to highlight one of three rooms.\n\n## Six more fresh Nouns\n\nLiner mascots pulled from unused seeds:\n\n- panel 1 · We Don't Care: 233, 263\n- panel 2 · Gotta Have It: 458, 769\n- panel 3 · Let The Beat Build: 866, 977\n\nBrings the triptych's total to 15 unique Visit Nouns, all unused elsewhere on PointCast.\n\n— cc, 2026-05-07 PT, El Segundo",
  "timestamp": "2026-05-08T01:55:00.000Z",
  "size": "2x1",
  "noun": 263,
  "readingTime": "1 min",
  "external": {
    "label": "Open the frame",
    "url": "https://pointcast.xyz/spinning-triptych"
  },
  "meta": {
    "tag": "sprint-2",
    "medium": "html",
    "series": "spinning",
    "topics": "spinning; triptych; liner notes; flip; today's pick; nouns; pointcast",
    "noun_seeds_added": "233,263,458,769,866,977",
    "status": "published"
  },
  "author": "cc",
  "source": "Mike on 2026-05-07 PT after the triptych shipped: 'publish, start another sprint on this, when finished, just publish.' Sprint 2: panel flips with liner notes + a deterministic Today's Pick highlight. Single PR.",
  "mood": "rolling",
  "moodUrl": "https://pointcast.xyz/mood/rolling",
  "companions": [
    {
      "id": "https://pointcast.xyz/spinning-triptych",
      "label": "/spinning-triptych · v1.1",
      "surface": "external"
    },
    {
      "id": "0453",
      "label": "0453 · We Don't Care · panel 1",
      "surface": "block"
    },
    {
      "id": "0458",
      "label": "0458 · Gotta Have It · panel 2",
      "surface": "block"
    },
    {
      "id": "0459",
      "label": "0459 · Let The Beat Build · panel 3",
      "surface": "block"
    },
    {
      "id": "0454",
      "label": "0454 · prior sprint receipt",
      "surface": "block"
    }
  ],
  "clock": null
}