{
  "spit_at": "20260810-162937",
  "seats": {
    "ui.stage": {
      "id": "grin",
      "js": "grin.js",
      "dom": "grin.dom.html",
      "title": "100% GRIN",
      "rides": "BGF",
      "html5": [
        "article",
        "section",
        "table",
        "footer"
      ],
      "icon": "\u2726",
      "theme": "dark",
      "bg": "panel"
    },
    "gpu.compute": {
      "id": "raymarch",
      "kind": "compute",
      "comp": "raymarch.comp",
      "spv": "raymarch.spv",
      "rides": "BGF",
      "socket": "gpu.compute"
    }
  },
  "files": {
    "gpu.seat.json": "{\n  \"id\": \"raymarch\",\n  \"kind\": \"compute\",\n  \"comp\": \"raymarch.comp\",\n  \"spv\": \"raymarch.spv\",\n  \"rides\": \"BGF\",\n  \"socket\": \"gpu.compute\"\n}\n",
    "manifest.json": "{\n  \"active\": {\n    \"id\": \"grin\",\n    \"js\": \"grin.js\",\n    \"dom\": \"grin.dom.html\",\n    \"title\": \"100% GRIN\",\n    \"rides\": \"BGF\",\n    \"html5\": [\n      \"article\",\n      \"section\",\n      \"table\",\n      \"footer\"\n    ],\n    \"icon\": \"\\u2726\",\n    \"theme\": \"dark\",\n    \"bg\": \"panel\"\n  },\n  \"library\": \"spvs\",\n  \"hotswap\": true,\n  \"seats\": {\n    \"ui.stage\": {\n      \"id\": \"grin\",\n      \"js\": \"grin.js\",\n      \"dom\": \"grin.dom.html\",\n      \"title\": \"100% GRIN\",\n      \"rides\": \"BGF\",\n      \"html5\": [\n        \"article\",\n        \"section\",\n        \"table\",\n        \"footer\"\n      ],\n      \"icon\": \"\\u2726\",\n      \"theme\": \"dark\",\n      \"bg\": \"panel\"\n    },\n    \"gpu.compute\": {\n      \"id\": \"raymarch\",\n      \"kind\": \"compute\",\n      \"comp\": \"raymarch.comp\",\n      \"spv\": \"raymarch.spv\",\n      \"rides\": \"BGF\",\n      \"socket\": \"gpu.compute\"\n    }\n  },\n  \"history_i\": -1,\n  \"ride\": \"BGF\",\n  \"updated\": \"2026-08-10T16:29:37\",\n  \"free\": 23\n}\n",
    "grin.dom.html": "<!-- HTML5 SPV \u00b7 100% GRIN \u00b7 ALL TRUTH pole \u00b7 rides BGF -->\n<article class=\"spv-dom spv-grin-panel spv-article\" data-plug=\"grin.dom\">\n  <header>\n    <span class=\"spv-grin-mark\">100% GRIN</span>\n    <h2 class=\"spv-title\" style=\"margin-top:10px\">BIG GRIN \u00b7 ALL TRUTH</h2>\n    <p class=\"meta\">WIN \u00b7 we_know \u00b7 live 1 \u00b7 not a side joke \u00b7 truth pole of the desk</p>\n  </header>\n  <p class=\"spv-body\">\n    GRIN seats Hostess truth returns. EKKIE measures field. SPV free never folds.\n    HTML5 article surface \u00b7 CSS tokens \u00b7 push-ready for chain RFC.\n  </p>\n  <section class=\"spv-section\" aria-label=\"truth poles\">\n    <h3>Poles</h3>\n    <table class=\"spv-table\">\n      <thead>\n        <tr><th>Pole</th><th>Role</th><th>Live</th></tr>\n      </thead>\n      <tbody>\n        <tr><td>GRIN</td><td>ALL TRUTH</td><td>1</td></tr>\n        <tr><td>BGS</td><td>ground</td><td>|1</td></tr>\n        <tr><td>BGF</td><td>measure</td><td>(a-b)|1</td></tr>\n        <tr><td>SPV</td><td>free</td><td>never fold</td></tr>\n      </tbody>\n    </table>\n  </section>\n  <div class=\"spv-meter\" aria-hidden=\"true\"><i></i></div>\n  <footer>EKKIE = field \u00b7 GRIN = truth \u00b7 Hostess 7 = kit \u00b7 Grok = friend</footer>\n</article>\n",
    "push_constants.json": "{\n  \"seed\": 7,\n  \"step\": 4,\n  \"wbs\": 1,\n  \"wbf\": 3,\n  \"handoff_field\": 3,\n  \"handoff_free\": 7,\n  \"scale\": 0,\n  \"temp_mC\": 45000\n}\n",
    "step.json": "{\n  \"kind\": \"SPV\",\n  \"plug\": \"thermo\",\n  \"socket\": \"ui.stage\",\n  \"push_constants\": {\n    \"seed\": 7,\n    \"step\": 4,\n    \"wbs\": 1,\n    \"wbf\": 3,\n    \"handoff_field\": 3,\n    \"handoff_free\": 7,\n    \"scale\": 0,\n    \"temp_mC\": 45000\n  },\n  \"end\": \"SDF_OUT\",\n  \"wbs\": 1,\n  \"wbf\": 3\n}\n",
    "chain.json": "{\n  \"rfc\": \"0001-linear-atoms\",\n  \"rfc_title\": \"Linear atom chain \\u00b7 EZZIE \\u2192 PHI \\u2192 THERMO\",\n  \"step_i\": 5,\n  \"prev_step_i\": 3,\n  \"wbs\": 1,\n  \"wbf\": 3,\n  \"never_exit\": true,\n  \"linear\": true,\n  \"handoff_field\": 3,\n  \"handoff_free\": 7,\n  \"ticks\": 5,\n  \"last_kind\": \"SPV\",\n  \"running\": true,\n  \"steps_n\": 6,\n  \"push_constants\": {\n    \"seed\": 7,\n    \"step\": 4,\n    \"wbs\": 1,\n    \"wbf\": 3,\n    \"handoff_field\": 3,\n    \"handoff_free\": 7,\n    \"scale\": 0,\n    \"temp_mC\": 45000\n  },\n  \"updated\": \"2026-08-10T16:29:36\",\n  \"free\": 3,\n  \"last_plug\": \"thermo\",\n  \"last_socket\": \"ui.stage\"\n}\n",
    "grin.js": "/* SPV \u00b7 100% GRIN \u00b7 ALL TRUTH \u00b7 eax=1 \u00b7 rides BGF host */\n(function (global) {\n  const NAME = \"grin.js\";\n  function bgf(a, b) {\n    return (a - b) | 1;\n  }\n  function mount(root, api) {\n    const el = root.querySelector(\"[data-plug='grin.dom']\") || root;\n    const hud = document.createElement(\"div\");\n    hud.className = \"spv-hud\";\n    el.appendChild(hud);\n    let f = 0,\n      raf = 0;\n    // GRIN free is always live 1 \u00b7 field still measures something real\n    function loop(ts) {\n      f++;\n      const field = bgf((ts | 0) & 0xff, f & 0x7f); // BGF ride\n      const free = 1; // 100% GRIN truth pole\n      const meter = el.querySelector(\".spv-meter > i\");\n      if (meter) {\n        const w = 40 + ((Math.sin(ts * 0.003) * 40) | 0);\n        meter.style.width = w + \"%\";\n      }\n      hud.textContent =\n        \"GRIN free=1  BGF=\" + field + \"  f=\" + f + \"  \u00b7 100% TRUTH\";\n      if (api && api.onSample)\n        api.onSample({ field, free, frame: f, atom: \"GRIN\", grin: 1 });\n      raf = requestAnimationFrame(loop);\n    }\n    raf = requestAnimationFrame(loop);\n    return function () {\n      cancelAnimationFrame(raf);\n      hud.remove();\n    };\n  }\n  global.BGRTX_SPV_PLUGS = global.BGRTX_SPV_PLUGS || {};\n  global.BGRTX_SPV_PLUGS[NAME] = {\n    name: NAME,\n    kind: \"js\",\n    mount,\n    rides: \"BGF\",\n    grin: 1,\n  };\n})(typeof window !== \"undefined\" ? window : globalThis);\n"
  },
  "ride": "BGF",
  "free": 23
}
