[{"data":1,"prerenderedAt":5},["ShallowReactive",2],{"readme:opk-pm\u002FGradientEmbed":3},{"html":4},"\u003Ch1>GradientEmbed\u003C\u002Fh1>\n\u003Cp>Embeddable WebGL gradient renderer with a typed configuration and JSON schema.\u003C\u002Fp>\n\u003Ch2>Installation\u003C\u002Fh2>\n\u003Cpre>\u003Ccode class=\"language-bash\">bun add @opk\u002Fgradient-embed\n# or\nopk add @opk\u002Fgradient-embed\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Quick start (Vite \u002F ESM)\u003C\u002Fh2>\n\u003Cpre>\u003Ccode class=\"language-ts\">import {\n  createGradientEmbed,\n  defaultGradientEmbedConfig,\n} from '@opk\u002Fgradient-embed'\n\nconst embed = createGradientEmbed({\n  canvas: 'gradient-canvas',\n  dpr: 1,\n  config: {\n    ...defaultGradientEmbedConfig,\n    movementMode: 2,\n    gradientColors: ['#ff0080', '#00d4ff'],\n  },\n})\n\n\u002F\u002F Optional updates\nembed.updateConfig({ hue: 120, contrast: 1.1 })\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cpre>\u003Ccode class=\"language-html\">&lt;canvas id=\"gradient-canvas\" style=\"width: 800px; height: 450px;\"&gt;&lt;\u002Fcanvas&gt;\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Plain HTML (no bundler)\u003C\u002Fh2>\n\u003Cpre>\u003Ccode class=\"language-html\">&lt;canvas id=\"gradient\"&gt;&lt;\u002Fcanvas&gt;\n&lt;script type=\"module\"&gt;\n  import { createGradientEmbed } from 'https:\u002F\u002Funpkg.com\u002F@opk\u002Fgradient-embed@1\u002Fdist\u002Findex.js'\n\n  createGradientEmbed({\n    canvas: 'gradient',\n    config: { gradientColors: ['#0ff', '#f0f'] },\n  })\n&lt;\u002Fscript&gt;\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Configuration schema\u003C\u002Fh2>\n\u003Cpre>\u003Ccode class=\"language-ts\">import { gradientEmbedConfigSchema } from '@opk\u002Fgradient-embed'\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Ccode>gradientColors\u003C\u002Fcode> expects \u003Ccode>#RRGGBB\u003C\u002Fcode> strings. Set \u003Ccode>loopDuration\u003C\u002Fcode> (seconds) to loop the animation; use \u003Ccode>0\u003C\u002Fcode> for no loop.\u003C\u002Fp>\n\u003Cp>Performance tip: if the canvas is large, set \u003Ccode>dpr: 1\u003C\u002Fcode> (or lower) to avoid per-frame readback overhead.\u003C\u002Fp>\n\u003Ch2>API\u003C\u002Fh2>\n\u003Cp>\u003Ccode>createGradientEmbed(options)\u003C\u002Fcode> returns a \u003Ccode>GradientEmbed\u003C\u002Fcode> instance with:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>start()\u003C\u002Fcode> \u002F \u003Ccode>stop()\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>setPaused(boolean)\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>updateConfig(partialConfig)\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>resize(width?, height?)\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>destroy()\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n",1787323193646]