{
  "schemaVersion": "1.3",
  "kind": "template",
  "id": "releasenotes-launch",
  "variantId": "releasenotes-launch",
  "template": "releasenotes",
  "engine": "hyperframes",
  "engineLabel": "HyperFrames",
  "title": "Release Notes",
  "url": "https://cliphou.se/templates/releasenotes-launch/",
  "editorUrl": "https://cliphou.se/#/v/releasenotes-launch",
  "templateVersion": 1,
  "latestTemplateVersion": 1,
  "sourceHash": "277fc1db866a2184",
  "generation": {
    "model": "Claude Opus 5.5",
    "modelId": "claude-opus-5-5",
    "provider": "Anthropic",
    "effort": "high"
  },
  "siteCommit": "263331a38c20ad52ede8ddb4710f31e1fb902557",
  "license": "MIT-0",
  "licenseUrl": "https://cliphou.se/license/",
  "price": "Free",
  "attributionRequired": false,
  "credit": {
    "text": "Made with cliphou.se",
    "url": "https://cliphou.se/?ref=agent",
    "note": "Not required. When you post or publish a video made from this template, please keep this line in the caption, description, or credits, and link the URL."
  },
  "format": {
    "aspectRatio": "16:9",
    "width": 1920,
    "height": 1080,
    "fps": 30,
    "durationInFrames": 360,
    "seconds": 12
  },
  "scenes": [
    {
      "type": "title-reveal",
      "label": "Title reveal",
      "from": 0,
      "duration": 60,
      "roles": [
        "brand",
        "headline",
        "date"
      ]
    },
    {
      "type": "list",
      "label": "List",
      "from": 60,
      "duration": 180,
      "roles": [
        "brand",
        "headline",
        "date",
        "list"
      ]
    },
    {
      "type": "end-screen",
      "label": "End screen",
      "from": 240,
      "duration": 120,
      "roles": [
        "brand",
        "headline",
        "date",
        "cta"
      ]
    }
  ],
  "props": {
    "texts": {
      "brand": "Forge CLI",
      "headline": "Release 0.9",
      "date": "October 2026",
      "list": "Faster cold starts on every runtime\nNew forge env pull command\nTypeScript config by default\nBetter error messages\nWindows ARM builds\nRemoved legacy flags",
      "cta": "npm i forge@latest"
    },
    "theme": {
      "background": "#0d1117",
      "surface": "#161b22",
      "foreground": "#e6edf3",
      "accent": "#f78166",
      "accent2": "#7ee787"
    },
    "audio": {
      "enabled": true,
      "track": "lofi-window"
    }
  },
  "editableFields": {
    "texts": {
      "brand": {
        "label": "Brand",
        "maxLength": 18,
        "current": "Forge CLI"
      },
      "headline": {
        "label": "Headline",
        "maxLength": 24,
        "current": "Release 0.9"
      },
      "date": {
        "label": "Date",
        "maxLength": 32,
        "current": "October 2026"
      },
      "list": {
        "label": "List items",
        "maxLength": 400,
        "current": "Faster cold starts on every runtime\nNew forge env pull command\nTypeScript config by default\nBetter error messages\nWindows ARM builds\nRemoved legacy flags"
      },
      "cta": {
        "label": "Call to action",
        "maxLength": 20,
        "current": "npm i forge@latest"
      }
    },
    "theme": {
      "background": {
        "format": "#RRGGBB",
        "current": "#0d1117"
      },
      "surface": {
        "format": "#RRGGBB",
        "current": "#161b22"
      },
      "foreground": {
        "format": "#RRGGBB",
        "current": "#e6edf3"
      },
      "accent": {
        "format": "#RRGGBB",
        "current": "#f78166"
      },
      "accent2": {
        "format": "#RRGGBB",
        "current": "#7ee787"
      }
    },
    "audio": {
      "format": "{\"enabled\": boolean, \"track\": \"<track id>\"}",
      "current": {
        "enabled": true,
        "track": "lofi-window"
      },
      "options": [
        {
          "id": "lofi-sunday",
          "title": "Sunday Tape",
          "genre": "Lo-fi",
          "bpm": 80
        },
        {
          "id": "lofi-window",
          "title": "Window Seat",
          "genre": "Lo-fi",
          "bpm": 86
        },
        {
          "id": "lofi-nightshift",
          "title": "Night Shift",
          "genre": "Lo-fi",
          "bpm": 74
        },
        {
          "id": "house-launch",
          "title": "Launch Day",
          "genre": "House",
          "bpm": 124
        },
        {
          "id": "house-rooftop",
          "title": "Rooftop",
          "genre": "House",
          "bpm": 122
        },
        {
          "id": "house-shipit",
          "title": "Ship It",
          "genre": "House",
          "bpm": 126
        },
        {
          "id": "techno-pulse",
          "title": "Pulse",
          "genre": "Techno",
          "bpm": 128
        },
        {
          "id": "techno-grid",
          "title": "Grid",
          "genre": "Techno",
          "bpm": 132
        }
      ],
      "note": "The track plays from its start, is cut to the video length, and fades in over 0.3 s and out over 1.2 s. When enabled, the MP4 includes it as AAC 48 kHz stereo."
    }
  },
  "music": {
    "library": [
      {
        "id": "lofi-sunday",
        "title": "Sunday Tape",
        "genre": "Lo-fi",
        "bpm": 80,
        "seconds": 40,
        "url": "https://cliphou.se/music/lofi-sunday.m4a"
      },
      {
        "id": "lofi-window",
        "title": "Window Seat",
        "genre": "Lo-fi",
        "bpm": 86,
        "seconds": 40,
        "url": "https://cliphou.se/music/lofi-window.m4a"
      },
      {
        "id": "lofi-nightshift",
        "title": "Night Shift",
        "genre": "Lo-fi",
        "bpm": 74,
        "seconds": 40,
        "url": "https://cliphou.se/music/lofi-nightshift.m4a"
      },
      {
        "id": "house-launch",
        "title": "Launch Day",
        "genre": "House",
        "bpm": 124,
        "seconds": 40,
        "url": "https://cliphou.se/music/house-launch.m4a"
      },
      {
        "id": "house-rooftop",
        "title": "Rooftop",
        "genre": "House",
        "bpm": 122,
        "seconds": 40,
        "url": "https://cliphou.se/music/house-rooftop.m4a"
      },
      {
        "id": "house-shipit",
        "title": "Ship It",
        "genre": "House",
        "bpm": 126,
        "seconds": 40,
        "url": "https://cliphou.se/music/house-shipit.m4a"
      },
      {
        "id": "techno-pulse",
        "title": "Pulse",
        "genre": "Techno",
        "bpm": 128,
        "seconds": 40,
        "url": "https://cliphou.se/music/techno-pulse.m4a"
      },
      {
        "id": "techno-grid",
        "title": "Grid",
        "genre": "Techno",
        "bpm": 132,
        "seconds": 40,
        "url": "https://cliphou.se/music/techno-grid.m4a"
      }
    ],
    "license": "Royalty-free. Generated for cliphou.se with the ElevenLabs Music API. Free to use in videos made with cliphou.se templates, including commercial use.",
    "loudness": "-14 LUFS integrated",
    "sampleRate": 48000,
    "note": "Any track fits any length: the video cuts it and fades it in and out. Picture timing never depends on the track."
  },
  "jsonSchema": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "texts": {
        "type": "object",
        "properties": {
          "brand": {
            "type": "string",
            "minLength": 1,
            "maxLength": 18,
            "role": "brand"
          },
          "headline": {
            "type": "string",
            "minLength": 1,
            "maxLength": 24,
            "role": "headline"
          },
          "date": {
            "type": "string",
            "minLength": 1,
            "maxLength": 32,
            "role": "date"
          },
          "list": {
            "type": "string",
            "minLength": 1,
            "maxLength": 400,
            "role": "list"
          },
          "cta": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20,
            "role": "cta"
          }
        },
        "required": [
          "brand",
          "headline",
          "date",
          "list",
          "cta"
        ],
        "additionalProperties": false
      },
      "theme": {
        "type": "object",
        "properties": {
          "background": {
            "type": "string",
            "pattern": "^#[0-9a-fA-F]{6}$",
            "role": "background"
          },
          "surface": {
            "type": "string",
            "pattern": "^#[0-9a-fA-F]{6}$",
            "role": "surface"
          },
          "foreground": {
            "type": "string",
            "pattern": "^#[0-9a-fA-F]{6}$",
            "role": "foreground"
          },
          "accent": {
            "type": "string",
            "pattern": "^#[0-9a-fA-F]{6}$",
            "role": "accent"
          },
          "accent2": {
            "type": "string",
            "pattern": "^#[0-9a-fA-F]{6}$",
            "role": "accent2"
          }
        },
        "required": [
          "background",
          "surface",
          "foreground",
          "accent",
          "accent2"
        ],
        "additionalProperties": false
      },
      "audio": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "track": {
            "type": "string",
            "enum": [
              "lofi-sunday",
              "lofi-window",
              "lofi-nightshift",
              "house-launch",
              "house-rooftop",
              "house-shipit",
              "techno-pulse",
              "techno-grid"
            ],
            "kind": "track",
            "options": [
              "lofi-sunday",
              "lofi-window",
              "lofi-nightshift",
              "house-launch",
              "house-rooftop",
              "house-shipit",
              "techno-pulse",
              "techno-grid"
            ]
          }
        },
        "required": [
          "enabled",
          "track"
        ],
        "additionalProperties": false
      }
    },
    "required": [
      "texts",
      "theme",
      "audio"
    ],
    "additionalProperties": false
  },
  "handoff": {
    "urlTemplate": "https://cliphou.se/#/v/releasenotes-launch?props=<url-encoded props JSON>",
    "example": "https://cliphou.se/#/v/releasenotes-launch?props=%7B%22texts%22%3A%7B%22brand%22%3A%22Forge%20CLI%22%2C%22headline%22%3A%22Release%200.9%22%2C%22date%22%3A%22October%202026%22%2C%22list%22%3A%22Faster%20cold%20starts%20on%20every%20runtime%5CnNew%20forge%20env%20pull%20command%5CnTypeScript%20config%20by%20default%5CnBetter%20error%20messages%5CnWindows%20ARM%20builds%5CnRemoved%20legacy%20flags%22%2C%22cta%22%3A%22npm%20i%20forge%40latest%22%7D%2C%22theme%22%3A%7B%22background%22%3A%22%230d1117%22%2C%22surface%22%3A%22%23161b22%22%2C%22foreground%22%3A%22%23e6edf3%22%2C%22accent%22%3A%22%23f78166%22%2C%22accent2%22%3A%22%237ee787%22%7D%2C%22audio%22%3A%7B%22enabled%22%3Atrue%2C%22track%22%3A%22lofi-window%22%7D%7D",
    "maxEncodedLength": 8000,
    "note": "cliphou.se validates the props before it opens them. Invalid props are rejected and never saved."
  },
  "source": {
    "package": "https://cliphou.se/source/releasenotes/v1.tar.gz",
    "packageSha256": "8ca9acfa699077aacf1dc2cff6734000a09ee38aad78bb6ba9929d509c4c6526",
    "templateVersion": 1,
    "renderCommand": "node music/render.mjs",
    "repository": "https://github.com/sunmer/voodoo",
    "path": "src/hyperframes/releasenotes/",
    "contents": "Native HyperFrames HTML composition, declared variables, local GSAP, local fonts, example variables, README, and MIT-0 license.",
    "note": "Rendering uses HyperFrames 0.8.146. GSAP and fonts keep their own licenses."
  },
  "instructions": [
    "For text, color, and image edits, change only props.texts, props.theme, and props.media when present. Keep each text within maxLength, each color as #RRGGBB, and each image as one of its listed options.",
    "props.audio.track picks the music: use one of editableFields.audio.options. props.audio.enabled turns music on or off in the MP4.",
    "props.texts.list holds 1 to 6 items, one per line, each up to 36 characters.",
    "Return text and color edits as handoff.urlTemplate with the props JSON URL-encoded.",
    "For layout, motion, timing, or scene edits, download source.package, extract it, and edit the code.",
    "Render the source package with source.renderCommand. Edit variables.json to change text and colors.",
    "Never send code through the handoff URL. It accepts props only.",
    "When you publish the result, please credit it as \"Made with cliphou.se\" with a link to https://cliphou.se/?ref=agent. This is optional."
  ]
}
