{
  "surface": "/tide/today",
  "description": "Defaults that /tide will fall back to right now for a visitor with no saved preferences and no URL hash. Palette rotates by hour. Scene rotates by hour. Soundscape rotates by day-of-year so the same day always sounds the same.",
  "serverTimeIso": "2026-04-30T00:52:45.572Z",
  "serverHourLocal": 17,
  "dayOfYear": 119,
  "timezone": "America/Los_Angeles",
  "today": {
    "palette": "coral",
    "scene": "bounce",
    "soundscape": "granular"
  },
  "derivation": {
    "palette": {
      "rule": "hour-of-day → /tide.json clockDefault.ranges",
      "ranges": [
        {
          "from": 0,
          "to": 5,
          "id": "abyss"
        },
        {
          "from": 5,
          "to": 8,
          "id": "daybreak"
        },
        {
          "from": 8,
          "to": 11,
          "id": "crystal"
        },
        {
          "from": 11,
          "to": 14,
          "id": "lagoon"
        },
        {
          "from": 14,
          "to": 17,
          "id": "kelp"
        },
        {
          "from": 17,
          "to": 20,
          "id": "coral"
        },
        {
          "from": 20,
          "to": 22,
          "id": "storm"
        },
        {
          "from": 22,
          "to": 24,
          "id": "nighttide"
        }
      ],
      "chosen": "coral"
    },
    "scene": {
      "rule": "hour-of-day → 6 buckets (mystify/waves/starfield/bounce/waves/pipes)",
      "ranges": [
        {
          "from": 0,
          "to": 6,
          "id": "mystify"
        },
        {
          "from": 6,
          "to": 10,
          "id": "waves"
        },
        {
          "from": 10,
          "to": 14,
          "id": "starfield"
        },
        {
          "from": 14,
          "to": 18,
          "id": "bounce"
        },
        {
          "from": 18,
          "to": 21,
          "id": "waves"
        },
        {
          "from": 21,
          "to": 24,
          "id": "pipes"
        }
      ],
      "chosen": "bounce"
    },
    "soundscape": {
      "rule": "dayOfYear % 4 → drift/chimes/bubbles/granular",
      "index": 3,
      "sequence": [
        "drift",
        "chimes",
        "bubbles",
        "granular"
      ],
      "chosen": "granular"
    }
  },
  "open": "https://pointcast.xyz/tide#coral/bounce",
  "note": "These are defaults. Returning visitors keep their last palette + scene + soundscape via localStorage. URL hash overrides everything.",
  "related": {
    "/tide": "the room",
    "/tide.json": "full catalog (palettes, scenes, soundscapes)",
    "/tide/moments": "saved moments viewer"
  }
}