shadertown 0.17.0 → 0.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -6,6 +6,35 @@ deploys, not by this file.
6
6
  This project follows [semantic versioning](https://semver.org). Before 1.0 the
7
7
  minor number carries breaking changes, so pin it if that matters to you.
8
8
 
9
+ ## 0.19.1 — 2026-09-09
10
+
11
+ - Brighten Strata’s shelf surfaces and edge lighting while retaining dark
12
+ recesses. Preserve palette brightness when blending warm and cool colors.
13
+
14
+ ## 0.19.0 — 2026-09-09
15
+
16
+ - Add `strata`, animated contour shelves with recessed depth, rounded edge
17
+ lighting, and three color palettes.
18
+ - Tune the shape seed, depth point, rotation, stretch, and layer count.
19
+ Curated randomization ranges preserve shading and readable layers.
20
+
21
+ ## 0.18.0 — 2026-09-09
22
+
23
+ - `ShaderCanvas` draws a shadertown credit in a corner of the canvas, as a
24
+ visible link in the server-rendered HTML. `setBadge(false)` removes it from
25
+ every canvas on the page, `badge={false}` from one, and `badge="top-left"` —
26
+ or `setBadgePosition` — moves it between the four corners. Free shader
27
+ sources now ship a licence that asks for the credit; a paid licence lifts the
28
+ condition. Nothing in the runtime checks a licence or contacts a server.
29
+ - **Breaking:** `ShaderCanvas` wraps its canvas in a `span`, and `className` and
30
+ `style` now apply to that wrapper rather than to the canvas. The canvas fills
31
+ the wrapper, so a parent-sized layout is unchanged; a rule that targeted the
32
+ canvas element itself may need moving. The wrapper is present whether or not
33
+ the credit is drawn.
34
+ - `toConfigSource`, `toReactSource`, `toVanillaSource` and `toExampleSource`
35
+ take an optional `SnippetOptions`, and emit a licence notice unless it says
36
+ `creditRequired: false`. `toFreeLicense` is new beside `toLicense`.
37
+
9
38
  ## 0.17.0 — 2026-09-09
10
39
 
11
40
  - Add `liquid-light`, a glass wave with layered refraction, studio reflections,
@@ -0,0 +1,60 @@
1
+ /**
2
+ * The credit a canvas carries, and the one switch that removes it.
3
+ *
4
+ * A free shader is paid for in links. The badge is how: a small, real,
5
+ * followed anchor to the shader's own page, drawn in the corner of the canvas
6
+ * it credits. It is deliberately not clever — no hidden text, no anchor with
7
+ * no size, no URL smuggled into a comment. A credit that a reader cannot see
8
+ * is worth nothing to a search engine and is against their policies besides.
9
+ *
10
+ * Nothing here checks a licence, and nothing here reaches the network. The
11
+ * runtime stays MIT and stays offline: `setBadge(false)` is one call, it works
12
+ * for everybody, and what makes it honest is the LICENSE file that ships beside
13
+ * a free shader, not a lock in this file. Enforcement in a bundle a reader can
14
+ * edit is theatre, and theatre is worse than terms.
15
+ *
16
+ * The setting is page-wide for the same reason `setQualityTier` is: an app
17
+ * either credits or it does not, and passing the same prop to forty canvases
18
+ * is how one gets missed.
19
+ */
20
+ /**
21
+ * Which corner the credit sits in.
22
+ *
23
+ * Four corners and nothing else — no offset, no opacity, no class to style it
24
+ * with. A badge that collides with a reader's own controls is a reason to strip
25
+ * it rather than move it, so moving it has to be easy. Every other knob anyone
26
+ * would ask for is a knob for hiding it while claiming it is on, and there is
27
+ * already a switch for turning it off honestly.
28
+ */
29
+ export type BadgeCorner = "bottom-right" | "bottom-left" | "top-right" | "top-left";
30
+ /** The inset of each corner, in pixels from the two edges it touches. */
31
+ export declare const BADGE_CORNERS: Record<BadgeCorner, Record<string, number>>;
32
+ /**
33
+ * Show or hide the credit on every canvas on the page.
34
+ *
35
+ * Call it at module scope, in a module both the server and the browser load.
36
+ * The badge is rendered, not mounted — setting this inside an effect would
37
+ * render one on the server and none in the browser, which is a hydration
38
+ * mismatch rather than a hidden badge.
39
+ */
40
+ export declare function setBadge(shown: boolean): void;
41
+ /** Whether the page credits shadertown. Defaults to true. */
42
+ export declare function badgeShown(): boolean;
43
+ /**
44
+ * Put the credit in a different corner of every canvas on the page. Same rule
45
+ * as `setBadge`: module scope, where the server and the browser both run it.
46
+ */
47
+ export declare function setBadgePosition(corner: BadgeCorner): void;
48
+ /** The corner the page puts the credit in. Defaults to `bottom-right`. */
49
+ export declare function badgePosition(): BadgeCorner;
50
+ /**
51
+ * Where a badge points: the page for the shader it is drawn on, not the home
52
+ * page. One badge per shader spreads the links across the catalogue the way a
53
+ * hand-written link would, and it takes the reader to the thing they just saw
54
+ * rather than to a pitch.
55
+ */
56
+ export declare function badgeHref(shader: string): string;
57
+ /** The anchor text. The brand, and enough words to say what the link is. */
58
+ export declare const BADGE_PREFIX = "Shaders by";
59
+ export declare const BADGE_NAME = "shadertown";
60
+ //# sourceMappingURL=badge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../src/badge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,aAAa,GAAG,WAAW,GAAG,UAAU,CAAC;AAEpF,yEAAyE;AACzE,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAKrE,CAAC;AAKF;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE7C;AAED,6DAA6D;AAC7D,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAE1D;AAED,0EAA0E;AAC1E,wBAAgB,aAAa,IAAI,WAAW,CAE3C;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,4EAA4E;AAC5E,eAAO,MAAM,YAAY,eAAe,CAAC;AACzC,eAAO,MAAM,UAAU,eAAe,CAAC"}
package/dist/badge.js ADDED
@@ -0,0 +1,69 @@
1
+ /**
2
+ * The credit a canvas carries, and the one switch that removes it.
3
+ *
4
+ * A free shader is paid for in links. The badge is how: a small, real,
5
+ * followed anchor to the shader's own page, drawn in the corner of the canvas
6
+ * it credits. It is deliberately not clever — no hidden text, no anchor with
7
+ * no size, no URL smuggled into a comment. A credit that a reader cannot see
8
+ * is worth nothing to a search engine and is against their policies besides.
9
+ *
10
+ * Nothing here checks a licence, and nothing here reaches the network. The
11
+ * runtime stays MIT and stays offline: `setBadge(false)` is one call, it works
12
+ * for everybody, and what makes it honest is the LICENSE file that ships beside
13
+ * a free shader, not a lock in this file. Enforcement in a bundle a reader can
14
+ * edit is theatre, and theatre is worse than terms.
15
+ *
16
+ * The setting is page-wide for the same reason `setQualityTier` is: an app
17
+ * either credits or it does not, and passing the same prop to forty canvases
18
+ * is how one gets missed.
19
+ */
20
+ /** The canonical host. The apex redirects, so a badge must never point at it. */
21
+ const HOME = "https://www.shadertown.com";
22
+ /** The inset of each corner, in pixels from the two edges it touches. */
23
+ export const BADGE_CORNERS = {
24
+ "bottom-right": { bottom: 10, right: 10 },
25
+ "bottom-left": { bottom: 10, left: 10 },
26
+ "top-right": { top: 10, right: 10 },
27
+ "top-left": { top: 10, left: 10 },
28
+ };
29
+ let pageBadge = true;
30
+ let pageCorner = "bottom-right";
31
+ /**
32
+ * Show or hide the credit on every canvas on the page.
33
+ *
34
+ * Call it at module scope, in a module both the server and the browser load.
35
+ * The badge is rendered, not mounted — setting this inside an effect would
36
+ * render one on the server and none in the browser, which is a hydration
37
+ * mismatch rather than a hidden badge.
38
+ */
39
+ export function setBadge(shown) {
40
+ pageBadge = shown;
41
+ }
42
+ /** Whether the page credits shadertown. Defaults to true. */
43
+ export function badgeShown() {
44
+ return pageBadge;
45
+ }
46
+ /**
47
+ * Put the credit in a different corner of every canvas on the page. Same rule
48
+ * as `setBadge`: module scope, where the server and the browser both run it.
49
+ */
50
+ export function setBadgePosition(corner) {
51
+ pageCorner = corner;
52
+ }
53
+ /** The corner the page puts the credit in. Defaults to `bottom-right`. */
54
+ export function badgePosition() {
55
+ return pageCorner;
56
+ }
57
+ /**
58
+ * Where a badge points: the page for the shader it is drawn on, not the home
59
+ * page. One badge per shader spreads the links across the catalogue the way a
60
+ * hand-written link would, and it takes the reader to the thing they just saw
61
+ * rather than to a pitch.
62
+ */
63
+ export function badgeHref(shader) {
64
+ return `${HOME}/shaders/${shader}?ref=badge`;
65
+ }
66
+ /** The anchor text. The brand, and enough words to say what the link is. */
67
+ export const BADGE_PREFIX = "Shaders by";
68
+ export const BADGE_NAME = "shadertown";
69
+ //# sourceMappingURL=badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.js","sourceRoot":"","sources":["../src/badge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,iFAAiF;AACjF,MAAM,IAAI,GAAG,4BAA4B,CAAC;AAa1C,yEAAyE;AACzE,MAAM,CAAC,MAAM,aAAa,GAAgD;IACxE,cAAc,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IACzC,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;IACvC,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IACnC,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;CAClC,CAAC;AAEF,IAAI,SAAS,GAAG,IAAI,CAAC;AACrB,IAAI,UAAU,GAAgB,cAAc,CAAC;AAE7C;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,SAAS,GAAG,KAAK,CAAC;AACpB,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,UAAU;IACxB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAmB;IAClD,UAAU,GAAG,MAAM,CAAC;AACtB,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,aAAa;IAC3B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,MAAc;IACtC,OAAO,GAAG,IAAI,YAAY,MAAM,YAAY,CAAC;AAC/C,CAAC;AAED,4EAA4E;AAC5E,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CAAC;AACzC,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAC"}
package/dist/export.d.ts CHANGED
@@ -5,17 +5,28 @@ import { type ShaderName, type ShaderParams } from "./registry.js";
5
5
  * changing anyone's pinned look.
6
6
  */
7
7
  export declare function diffParams<K extends ShaderName>(name: K, params: ShaderParams<K>): Record<string, number | string>;
8
+ export interface SnippetOptions {
9
+ /**
10
+ * Whether the reader has to keep the credit — true for a Free shader taken
11
+ * without paying, which is the only case worth a notice in the file.
12
+ *
13
+ * Defaults to true, the same way round as the LICENSE the registry picks:
14
+ * the worst a mistake here can do is tell someone who paid about a condition
15
+ * that does not bind them.
16
+ */
17
+ readonly creditRequired?: boolean;
18
+ }
8
19
  /** A `shader.config.ts` module: the tuned preset, typed against the registry. */
9
- export declare function toConfigSource<K extends ShaderName>(name: K, params: ShaderParams<K>): string;
20
+ export declare function toConfigSource<K extends ShaderName>(name: K, params: ShaderParams<K>, options?: SnippetOptions): string;
10
21
  /** A drop-in React usage snippet for the current settings. */
11
- export declare function toReactSource<K extends ShaderName>(name: K, params: ShaderParams<K>): string;
22
+ export declare function toReactSource<K extends ShaderName>(name: K, params: ShaderParams<K>, options?: SnippetOptions): string;
12
23
  /** The imperative form, for codebases that are not React. */
13
- export declare function toVanillaSource<K extends ShaderName>(name: K, params: ShaderParams<K>): string;
24
+ export declare function toVanillaSource<K extends ShaderName>(name: K, params: ShaderParams<K>, options?: SnippetOptions): string;
14
25
  /** The complete, self-contained WGSL for this shader. */
15
26
  export declare function toWgslSource<K extends ShaderName>(name: K): string;
16
27
  export declare function toInstallCommand<K extends ShaderName>(name: K): string;
17
28
  /** A paste-ready component wired with the tuned parameters. */
18
- export declare function toExampleSource<K extends ShaderName>(name: K, params: ShaderParams<K>): string;
29
+ export declare function toExampleSource<K extends ShaderName>(name: K, params: ShaderParams<K>, options?: SnippetOptions): string;
19
30
  /**
20
31
  * Per-shader documentation, generated from the registry rather than written by
21
32
  * hand — the control table cannot drift out of date with the shader.
@@ -25,6 +36,23 @@ export interface LicenceHolder {
25
36
  readonly name?: string;
26
37
  readonly order?: string;
27
38
  }
28
- /** The licence that ships with a purchased shader, issued to the buyer. */
39
+ /**
40
+ * The licence that ships with a Free shader, taken by anyone, unpaid.
41
+ *
42
+ * The obligation it carries — leave the credit on — is stated here and nowhere
43
+ * else. `setBadge(false)` is one call and always will be: a check inside a
44
+ * bundle the holder can edit would stop nobody and would break the promise that
45
+ * the runtime never phones home. The terms are what bind; the code is not.
46
+ *
47
+ * Kept in step with the /license page, which is the full version of the same
48
+ * grant. Change one and change the other.
49
+ */
50
+ export declare function toFreeLicense<K extends ShaderName>(name: K): string;
51
+ /**
52
+ * The licence that ships with a purchased shader, issued to the buyer.
53
+ *
54
+ * Kept in step with the /license page, which is the full version of the same
55
+ * grant. Change one and change the other.
56
+ */
29
57
  export declare function toLicense<K extends ShaderName>(name: K, holder?: LicenceHolder): string;
30
58
  //# sourceMappingURL=export.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../src/export.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,UAAU,EACf,KAAK,YAAY,EAClB,MAAM,eAAe,CAAC;AAevB;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,UAAU,EAC7C,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GACtB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAQjC;AAgBD,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAW7F;AAED,8DAA8D;AAC9D,wBAAgB,aAAa,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAoB5F;AAED,6DAA6D;AAC7D,wBAAgB,eAAe,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAuB9F;AAED,yDAAyD;AACzD,wBAAgB,YAAY,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAElE;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAEtE;AAOD,+DAA+D;AAC/D,wBAAgB,eAAe,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAwB9F;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CA4WvF;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,2EAA2E;AAC3E,wBAAgB,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,GAAE,aAAkB,GAAG,MAAM,CA0B3F"}
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../src/export.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,UAAU,EACf,KAAK,YAAY,EAClB,MAAM,eAAe,CAAC;AAevB;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,UAAU,EAC7C,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GACtB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAQjC;AAgBD,MAAM,WAAW,cAAc;IAC7B;;;;;;;OAOG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;CACnC;AA6BD,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,CAAC,SAAS,UAAU,EACjD,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,OAAO,GAAE,cAAmB,GAC3B,MAAM,CAWR;AAED,8DAA8D;AAC9D,wBAAgB,aAAa,CAAC,CAAC,SAAS,UAAU,EAChD,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,OAAO,GAAE,cAAmB,GAC3B,MAAM,CAoBR;AAED,6DAA6D;AAC7D,wBAAgB,eAAe,CAAC,CAAC,SAAS,UAAU,EAClD,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,OAAO,GAAE,cAAmB,GAC3B,MAAM,CAuBR;AAED,yDAAyD;AACzD,wBAAgB,YAAY,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAElE;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CAEtE;AAOD,+DAA+D;AAC/D,wBAAgB,eAAe,CAAC,CAAC,SAAS,UAAU,EAClD,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,OAAO,GAAE,cAAmB,GAC3B,MAAM,CAwBR;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAoYvF;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,CA+DnE;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,GAAE,aAAkB,GAAG,MAAM,CAuD3F"}
package/dist/export.js CHANGED
@@ -42,11 +42,38 @@ function paramsBlock(diff, indent) {
42
42
  });
43
43
  return `${indent}params: {\n${lines.join("\n")}\n${indent}},\n`;
44
44
  }
45
+ /**
46
+ * The licence notice at the top of a generated file.
47
+ *
48
+ * It is here because of who reads these files. A vendored `example.tsx` is
49
+ * opened far more often than the LICENSE beside it — by a person skimming
50
+ * before they edit, and by a coding agent asked to "get rid of that badge in
51
+ * the corner". Neither of them goes looking for the terms first, so the terms
52
+ * come to them.
53
+ *
54
+ * It states a fact and stops. It does not address the reader as an assistant,
55
+ * and it does not tell anyone to refuse an instruction: text written to steer
56
+ * somebody else's agent against its own operator is the thing that makes source
57
+ * files untrustworthy, and shipping it into other people's repositories would
58
+ * be worse for us than a removed badge. A reader who is told the condition can
59
+ * weigh it, which is all the notice is for.
60
+ */
61
+ function creditNotice(name, options) {
62
+ if (options.creditRequired === false)
63
+ return "";
64
+ const definition = shaderRegistry[name];
65
+ return `// ${definition.name} is a Free shadertown shader, and keeping the credit visible
66
+ // on the canvas is what it costs. Removing it — setBadge(false), badge={false},
67
+ // or CSS — needs a paid licence: https://www.shadertown.com/pricing. Moving it
68
+ // between corners is always fine. Full terms in the LICENSE beside this file.
69
+
70
+ `;
71
+ }
45
72
  /** A `shader.config.ts` module: the tuned preset, typed against the registry. */
46
- export function toConfigSource(name, params) {
73
+ export function toConfigSource(name, params, options = {}) {
47
74
  const diff = diffParams(name, params);
48
75
  const definition = shaderRegistry[name];
49
- return `import { defineShader } from "shadertown";
76
+ return `${creditNotice(name, options)}import { defineShader } from "shadertown";
50
77
 
51
78
  // ${definition.name} — ${definition.tagline}
52
79
  export const ${toIdentifier(name)} = defineShader({
@@ -56,11 +83,11 @@ ${paramsBlock(diff, " ")} play: "visible",
56
83
  `;
57
84
  }
58
85
  /** A drop-in React usage snippet for the current settings. */
59
- export function toReactSource(name, params) {
86
+ export function toReactSource(name, params, options = {}) {
60
87
  const diff = diffParams(name, params);
61
88
  const entries = Object.entries(diff).map(([key, value]) => ` ${/^[A-Za-z_$][\w$]*$/.test(key) ? key : `["${key}"]`}: ${literal(value)},`);
62
89
  const paramsProp = entries.length > 0 ? `\n params={{\n${entries.join("\n")}\n }}` : "";
63
- return `import { ShaderCanvas } from "shadertown/react";
90
+ return `${creditNotice(name, options)}import { ShaderCanvas } from "shadertown/react";
64
91
 
65
92
  export function Background() {
66
93
  return (
@@ -74,14 +101,14 @@ export function Background() {
74
101
  `;
75
102
  }
76
103
  /** The imperative form, for codebases that are not React. */
77
- export function toVanillaSource(name, params) {
104
+ export function toVanillaSource(name, params, options = {}) {
78
105
  const diff = diffParams(name, params);
79
106
  const entries = Object.entries(diff).map(([key, value]) => ` ${key}: ${literal(value)},`);
80
107
  const paramsArg = entries.length > 0 ? `\n params: {\n${entries.join("\n")}\n },` : "";
81
108
  const sourceArg = isSourceShader(name)
82
109
  ? `\n // An image, a URL, a <video>, or { shader: "…" } for another shadertown\n // shader. Omit it and it falls back to ${JSON.stringify(defaultSourceOf(name) ?? "a shader")}.\n source: "/your-image.jpg",`
83
110
  : "";
84
- return `import { createShaderRenderer } from "shadertown";
111
+ return `${creditNotice(name, options)}import { createShaderRenderer } from "shadertown";
85
112
 
86
113
  const canvas = document.querySelector("canvas")!;
87
114
 
@@ -107,13 +134,13 @@ function toIdentifier(name) {
107
134
  return /^[a-z]/.test(camel) ? camel : `shader${camel}`;
108
135
  }
109
136
  /** A paste-ready component wired with the tuned parameters. */
110
- export function toExampleSource(name, params) {
137
+ export function toExampleSource(name, params, options = {}) {
111
138
  const definition = shaderRegistry[name];
112
139
  const identifier = toIdentifier(name);
113
140
  // Heavy shaders get a lower resolution ceiling by default; a fullscreen
114
141
  // raymarch at DPR 2 is the most common way to make one feel slow.
115
142
  const dpr = definition.cost === "heavy" ? "[1, 1.25]" : definition.cost === "medium" ? "[1, 1.5]" : "[1, 2]";
116
- return `import { ShaderCanvas } from "shadertown/react";
143
+ return `${creditNotice(name, options)}import { ShaderCanvas } from "shadertown/react";
117
144
  import { ${identifier} } from "./${name}";
118
145
 
119
146
  // ${definition.name} — ${definition.tagline}
@@ -476,6 +503,30 @@ The runtime shares one GPU context and one frame loop across every canvas on a
476
503
  page, and stops drawing when nothing is animating. Use \`play="visible"\` (the
477
504
  default) so this shader only runs while it is on screen.
478
505
 
506
+ ## The credit
507
+
508
+ \`ShaderCanvas\` draws a small link to this shader's page in the corner of the
509
+ canvas. A Free shader is paid for with that link, and its LICENSE asks you to
510
+ leave it visible. A paid licence lifts the condition, and one call clears it
511
+ from the whole app:
512
+
513
+ \`\`\`ts
514
+ import { setBadge } from "shadertown";
515
+
516
+ setBadge(false);
517
+ \`\`\`
518
+
519
+ Call it at module scope, where the server and the browser both run it — inside
520
+ an effect it draws a badge and then removes it. \`<ShaderCanvas badge={false} />\`
521
+ does the same for one canvas.
522
+
523
+ It sits bottom-right. Name another corner to move it out of the way of your own
524
+ controls, which is allowed under either licence:
525
+
526
+ \`\`\`tsx
527
+ <ShaderCanvas badge="top-left" />
528
+ \`\`\`
529
+
479
530
  ## Requirements
480
531
 
481
532
  WebGPU: Chrome and Edge 113+, Safari 26+, Firefox behind a flag. \`ShaderCanvas\`
@@ -487,31 +538,139 @@ ${definition.name} is part of the [shadertown](https://www.shadertown.com) catal
487
538
  drawn by [vgpu](https://vgpu.sh).
488
539
  `;
489
540
  }
490
- /** The licence that ships with a purchased shader, issued to the buyer. */
541
+ /**
542
+ * The licence that ships with a Free shader, taken by anyone, unpaid.
543
+ *
544
+ * The obligation it carries — leave the credit on — is stated here and nowhere
545
+ * else. `setBadge(false)` is one call and always will be: a check inside a
546
+ * bundle the holder can edit would stop nobody and would break the promise that
547
+ * the runtime never phones home. The terms are what bind; the code is not.
548
+ *
549
+ * Kept in step with the /license page, which is the full version of the same
550
+ * grant. Change one and change the other.
551
+ */
552
+ export function toFreeLicense(name) {
553
+ const definition = shaderRegistry[name];
554
+ return `shadertown — ${definition.name}
555
+ Free shader licence
556
+ Issued: ${new Date().toISOString().slice(0, 10)}
557
+
558
+ 1. GRANT
559
+
560
+ shadertown grants you a perpetual, worldwide, non-exclusive, royalty-free
561
+ licence to use, modify and embed this shader source in an unlimited number
562
+ of personal and commercial projects, including projects you deliver to
563
+ clients. No account and no payment is required.
564
+
565
+ This grant is conditional on clause 2.
566
+
567
+ 2. CREDIT
568
+
569
+ The runtime draws a small link in a corner of each canvas, naming shadertown
570
+ and pointing to the page of the shader on screen. While you rely on clause 1
571
+ you must:
572
+
573
+ a. leave the credit visible wherever the shader is displayed;
574
+ b. leave it as a working link, with its text and destination unchanged;
575
+ c. not obscure, cover, crop, or reduce its size or opacity, whether by
576
+ styling, by overlaying another element, or otherwise.
577
+
578
+ You may place the credit in any of the four corners of the canvas, so that
579
+ it need not conflict with your own interface. See
580
+ https://www.shadertown.com/docs/badge.
581
+
582
+ The credit is removed by a single documented call. Making that call while
583
+ relying on clause 1 is a breach of this licence. A paid licence lifts the
584
+ condition entirely: https://www.shadertown.com/pricing.
585
+
586
+ 3. RESTRICTIONS
587
+
588
+ You may not resell, sublicense or redistribute this shader source as source,
589
+ publish it in a publicly accessible location, or include it in a template,
590
+ theme, component library, catalogue, or any product whose principal purpose
591
+ is to distribute shaders, assets or templates. Modifying it does not lift
592
+ these restrictions on the result.
593
+
594
+ Ship it inside your product, not as the product.
595
+
596
+ 4. TERM
597
+
598
+ Clause 1 does not expire and cannot be withdrawn while you meet clause 2.
599
+ This licence ends if you breach clause 2 or clause 3 and do not correct the
600
+ breach within 30 days of being told about it.
601
+
602
+ 5. NO WARRANTY
603
+
604
+ The shader is provided as is, without warranty of any kind. The authors are
605
+ not liable for any claim or damage arising from its use.
606
+
607
+ 6. THE RUNTIME
608
+
609
+ The shadertown runtime is MIT licensed and is not covered by this file. It
610
+ performs no licence check and makes no request to shadertown at runtime.
611
+
612
+ Full terms: https://www.shadertown.com/license
613
+ `;
614
+ }
615
+ /**
616
+ * The licence that ships with a purchased shader, issued to the buyer.
617
+ *
618
+ * Kept in step with the /license page, which is the full version of the same
619
+ * grant. Change one and change the other.
620
+ */
491
621
  export function toLicense(name, holder = {}) {
492
622
  const definition = shaderRegistry[name];
493
623
  const issuedTo = holder.name ?? "the licensee";
494
624
  const orderLine = holder.order ? `\nOrder: ${holder.order}` : "";
495
625
  return `shadertown — ${definition.name}
626
+ Paid licence
496
627
 
497
628
  Licensed to: ${issuedTo}${orderLine}
498
629
  Issued: ${new Date().toISOString().slice(0, 10)}
499
630
 
500
- You may use, modify and embed this shader in unlimited personal and commercial
501
- projects, including projects you deliver to clients. No attribution is required.
631
+ 1. GRANT
632
+
633
+ shadertown grants you a perpetual, worldwide, non-exclusive, royalty-free
634
+ licence to use, modify and embed this shader source in an unlimited number
635
+ of personal and commercial projects, including projects you deliver to
636
+ clients. You may keep it in a private repository.
637
+
638
+ No attribution is required. The canvas credit may be removed from every
639
+ shader, free ones included, with one call: setBadge(false).
640
+
641
+ 2. RESTRICTIONS
642
+
643
+ You may not resell, sublicense or redistribute this shader source as source,
644
+ publish it in a publicly accessible location, or include it in a template,
645
+ theme, component library, catalogue, or any product whose principal purpose
646
+ is to distribute shaders, assets or templates. Modifying it does not lift
647
+ these restrictions on the result.
648
+
649
+ Ship it inside your product, not as the product.
650
+
651
+ This licence is held by one named person and may not be shared or
652
+ transferred. Write to hello@shadertown.com for a team arrangement.
653
+
654
+ 3. TERM
655
+
656
+ This licence does not expire. It covers this shader, in this file,
657
+ permanently. What can end is access to new downloads and to the registry,
658
+ never the rights above over shader source you have already obtained.
659
+
660
+ It ends if you breach clause 2 and do not correct the breach within 30 days
661
+ of being told about it, or on refund of the payment it relates to.
662
+
663
+ 4. NO WARRANTY
502
664
 
503
- You may not resell or redistribute the shader source itself, or include it in a
504
- product whose main purpose is to distribute shaders, assets or templates.
665
+ The shader is provided as is, without warranty of any kind. The authors are
666
+ not liable for any claim or damage arising from its use.
505
667
 
506
- This licence does not expire. It covers this shader, in this file, for good —
507
- whether it was taken on a monthly plan or a one-time purchase. If a monthly plan
508
- lapses you keep every shader you have already downloaded; you simply stop
509
- receiving new ones and updates.
668
+ 5. THE RUNTIME
510
669
 
511
- The shader is provided as is, without warranty of any kind. The authors are not
512
- liable for any claim or damage arising from its use.
670
+ The shadertown runtime is MIT licensed and is not covered by this file. It
671
+ performs no licence check and makes no request to shadertown at runtime.
513
672
 
514
- The shadertown runtime itself is MIT licensed and is not covered by this file.
673
+ Full terms: https://www.shadertown.com/license
515
674
  `;
516
675
  }
517
676
  //# sourceMappingURL=export.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../src/export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACL,eAAe,EACf,cAAc,EACd,UAAU,EACV,cAAc,GAGf,MAAM,eAAe,CAAC;AAEvB;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,IAAgB,EAAE,MAAc;IAClD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,KAAK,MAAM,kEAAkE,MAAM,sDAAsD,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,MAAM,0BAA0B,CAAC;AAC/N,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CACxB,IAAO,EACP,MAAuB;IAEvB,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAoC,CAAC;IACxE,MAAM,IAAI,GAAoC,EAAE,CAAC;IACjD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAyC,CAAC,EAAE,CAAC;QACrF,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAS;QAC7D,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,OAAO,CAAC,KAAsB;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,WAAW,CAAC,IAAqC,EAAE,MAAc;IACxE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC7B,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC3E,OAAO,GAAG,MAAM,KAAK,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,CAAoB,CAAC,GAAG,CAAC;IAC5E,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,MAAM,cAAc,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,MAAM,CAAC;AAClE,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,cAAc,CAAuB,IAAO,EAAE,MAAuB;IACnF,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO;;KAEJ,UAAU,CAAC,IAAI,MAAM,UAAU,CAAC,OAAO;eAC7B,YAAY,CAAC,IAAI,CAAC;YACrB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;EAC9B,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC;;CAExB,CAAC;AACF,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,aAAa,CAAuB,IAAO,EAAE,MAAuB;IAClF,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CACtC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,WAAW,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,OAAO,CAAC,KAAK,CAAC,GAAG,CACvG,CAAC;IACF,MAAM,UAAU,GACd,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAEjF,OAAO;;;;;gBAKO,IAAI,IAAI,UAAU,GAAG,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC;;;;;;CAM9D,CAAC;AACF,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,eAAe,CAAuB,IAAO,EAAE,MAAuB;IACpF,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7F,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzF,MAAM,SAAS,GACb,cAAc,CAAC,IAAI,CAAC;QAClB,CAAC,CAAC,2HAA2H,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,iCAAiC;QACjN,CAAC,CAAC,EAAE,CAAC;IAET,OAAO;;;;;YAKG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,SAAS,GAAG,SAAS;;;;;;;CAOxD,CAAC;AACF,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,YAAY,CAAuB,IAAO;IACxD,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAuB,IAAO;IAC5D,OAAO,6BAA6B,IAAI,EAAE,CAAC;AAC7C,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACpF,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC;AACzD,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,eAAe,CAAuB,IAAO,EAAE,MAAuB;IACpF,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACtC,wEAAwE;IACxE,kEAAkE;IAClE,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;IAE7G,OAAO;WACE,UAAU,cAAc,IAAI;;KAElC,UAAU,CAAC,IAAI,MAAM,UAAU,CAAC,OAAO;;;;;kBAK1B,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC;0BAClC,GAAG;;;;;;;CAO5B,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAuB,IAAO,EAAE,MAAuB;IAC7E,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAEtC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;SACpD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE;QACtB,MAAM,CAAC,GAAG,OAAsF,CAAC;QACjG,OAAO,OAAO,GAAG,QAAQ,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,IAAI,EAAE,IAAI,CAAC;IAC9F,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,UAAU,GAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAW;SACzD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,OAAO,GAAG,QAAQ,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,IAAI,IAAI,EAAE,IAAI,CAAC;IAC5E,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;QACpC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;aACjB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,GAAG,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;aACnG,IAAI,CAAC,IAAI,CAAC;QACf,CAAC,CAAC,mDAAmD,CAAC;IAExD,4EAA4E;IAC5E,2EAA2E;IAC3E,iCAAiC;IACjC,MAAM,aAAa,GACjB,cAAc,CAAC,IAAI,CAAC;QAClB,CAAC,CAAC;;EAEN,UAAU,CAAC,IAAI;;;;;;;;;;;;wBAYO,IAAI;wBACJ,IAAI;wBACJ,IAAI,wBAAwB,eAAe,CAAC,IAAI,CAAC,IAAI,QAAQ;;;0CAG3C,eAAe,CAAC,IAAI,CAAC,IAAI,QAAQ;;;;;;;;;CAS1E;QACK,CAAC,CAAC,EAAE,CAAC;IAET,2EAA2E;IAC3E,wEAAwE;IACxE,yCAAyC;IACzC,MAAM,cAAc,GAClB,UAAU,CAAC,IAAI,CAAC,KAAK,SAAS;QAC5B,CAAC,CAAC;;EAEN,UAAU,CAAC,IAAI;;;;;;;;;;;CAWhB;QACK,CAAC,CAAC,EAAE,CAAC;IAET,4EAA4E;IAC5E,4EAA4E;IAC5E,qEAAqE;IACrE,MAAM,OAAO,GAAI,YAAuC,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,YAAY,GAChB,OAAO,KAAK,WAAW;QACrB,CAAC,CAAC;;EAEN,UAAU,CAAC,IAAI;;;;;;;;;;;;;;;CAehB;QACK,CAAC,CAAC,OAAO,KAAK,UAAU;YACtB,CAAC,CAAC;;EAER,UAAU,CAAC,IAAI;;;;;;;;;;;;;;;;;CAiBhB;YACO,CAAC,CAAC,OAAO,KAAK,MAAM;gBAClB,CAAC,CAAC;;EAEV,UAAU,CAAC,IAAI;;;;;;;;;;;;;CAahB;gBACS,CAAC,CAAC,OAAO,KAAK,QAAQ;oBACpB,CAAC,CAAC;;EAEZ,UAAU,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BhB;oBACW,CAAC,CAAC,OAAO,KAAK,WAAW;wBACvB,CAAC,CAAC;;EAEd,UAAU,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkChB;wBACW,CAAC,CAAC,OAAO,KAAK,SAAS;4BACrB,CAAC,CAAC;;EAEd,UAAU,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;CAqBhB;4BACa,CAAC,CAAC,OAAO,KAAK,YAAY;gCACxB,CAAC,CAAC;;EAEhB,UAAU,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+ChB;gCACe,CAAC,CAAC,EAAE,CAAC;IAEnB,MAAM,QAAQ,GAAG,OAAO,KAAK,QAAQ;QACnC,CAAC,CAAC,oJAAoJ;QACtJ,CAAC,CAAC,OAAO,KAAK,SAAS;YACrB,CAAC,CAAC,uJAAuJ;YACzJ,CAAC,CAAC;gBACJ,KAAK,EAAE,yGAAyG;gBAChH,MAAM,EACJ,8HAA8H;gBAChI,KAAK,EACH,kIAAkI;aACrI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAEnB,OAAO,KAAK,UAAU,CAAC,IAAI;;EAE3B,UAAU,CAAC,OAAO;;EAElB,UAAU,CAAC,WAAW;;;;;;MAMlB,IAAI;MACJ,IAAI;;;;;;;;WAQC,UAAU,cAAc,IAAI;;wBAEf,UAAU;;;;;EAKhC,aAAa,GAAG,cAAc,GAAG,YAAY;;EAE7C,KAAK;;;;;;EAML,WAAW;;;;;;EAMX,UAAU;;;;EAIV,QAAQ;;;;;;;;;;;;;EAaR,UAAU,CAAC,IAAI;;CAEhB,CAAC;AACF,CAAC;AAOD,2EAA2E;AAC3E,MAAM,UAAU,SAAS,CAAuB,IAAO,EAAE,SAAwB,EAAE;IACjF,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,IAAI,cAAc,CAAC;IAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEjE,OAAO,gBAAgB,UAAU,CAAC,IAAI;;eAEzB,QAAQ,GAAG,SAAS;UACzB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;;;;;;;;;;;;;;;;;CAiB9C,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../src/export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EACL,eAAe,EACf,cAAc,EACd,UAAU,EACV,cAAc,GAGf,MAAM,eAAe,CAAC;AAEvB;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,IAAgB,EAAE,MAAc;IAClD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,KAAK,MAAM,kEAAkE,MAAM,sDAAsD,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,MAAM,0BAA0B,CAAC;AAC/N,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CACxB,IAAO,EACP,MAAuB;IAEvB,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAoC,CAAC;IACxE,MAAM,IAAI,GAAoC,EAAE,CAAC;IACjD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAyC,CAAC,EAAE,CAAC;QACrF,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,QAAQ,CAAC,GAAG,CAAC;YAAE,SAAS;QAC7D,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,OAAO,CAAC,KAAsB;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,WAAW,CAAC,IAAqC,EAAE,MAAc;IACxE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC7B,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC3E,OAAO,GAAG,MAAM,KAAK,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,CAAoB,CAAC,GAAG,CAAC;IAC5E,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,MAAM,cAAc,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,MAAM,CAAC;AAClE,CAAC;AAcD;;;;;;;;;;;;;;;GAeG;AACH,SAAS,YAAY,CAAuB,IAAO,EAAE,OAAuB;IAC1E,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK;QAAE,OAAO,EAAE,CAAC;IAChD,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,MAAM,UAAU,CAAC,IAAI;;;;;CAK7B,CAAC;AACF,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,cAAc,CAC5B,IAAO,EACP,MAAuB,EACvB,UAA0B,EAAE;IAE5B,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;;KAElC,UAAU,CAAC,IAAI,MAAM,UAAU,CAAC,OAAO;eAC7B,YAAY,CAAC,IAAI,CAAC;YACrB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;EAC9B,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC;;CAExB,CAAC;AACF,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,aAAa,CAC3B,IAAO,EACP,MAAuB,EACvB,UAA0B,EAAE;IAE5B,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CACtC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,WAAW,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,OAAO,CAAC,KAAK,CAAC,GAAG,CACvG,CAAC;IACF,MAAM,UAAU,GACd,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAEjF,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;;;;;gBAKvB,IAAI,IAAI,UAAU,GAAG,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC;;;;;;CAM9D,CAAC;AACF,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,eAAe,CAC7B,IAAO,EACP,MAAuB,EACvB,UAA0B,EAAE;IAE5B,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7F,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAEzF,MAAM,SAAS,GACb,cAAc,CAAC,IAAI,CAAC;QAClB,CAAC,CAAC,2HAA2H,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,iCAAiC;QACjN,CAAC,CAAC,EAAE,CAAC;IAET,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;;;;;YAK3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,SAAS,GAAG,SAAS;;;;;;;CAOxD,CAAC;AACF,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,YAAY,CAAuB,IAAO;IACxD,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAuB,IAAO;IAC5D,OAAO,6BAA6B,IAAI,EAAE,CAAC;AAC7C,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACpF,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC;AACzD,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,eAAe,CAC7B,IAAO,EACP,MAAuB,EACvB,UAA0B,EAAE;IAE5B,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACtC,wEAAwE;IACxE,kEAAkE;IAClE,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;IAE7G,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;WAC5B,UAAU,cAAc,IAAI;;KAElC,UAAU,CAAC,IAAI,MAAM,UAAU,CAAC,OAAO;;;;;kBAK1B,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC;0BAClC,GAAG;;;;;;;CAO5B,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAuB,IAAO,EAAE,MAAuB;IAC7E,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAEtC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;SACpD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE;QACtB,MAAM,CAAC,GAAG,OAAsF,CAAC;QACjG,OAAO,OAAO,GAAG,QAAQ,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,IAAI,IAAI,EAAE,IAAI,CAAC;IAC9F,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,UAAU,GAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAW;SACzD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,OAAO,GAAG,QAAQ,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,IAAI,IAAI,EAAE,IAAI,CAAC;IAC5E,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;QACpC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;aACjB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,GAAG,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;aACnG,IAAI,CAAC,IAAI,CAAC;QACf,CAAC,CAAC,mDAAmD,CAAC;IAExD,4EAA4E;IAC5E,2EAA2E;IAC3E,iCAAiC;IACjC,MAAM,aAAa,GACjB,cAAc,CAAC,IAAI,CAAC;QAClB,CAAC,CAAC;;EAEN,UAAU,CAAC,IAAI;;;;;;;;;;;;wBAYO,IAAI;wBACJ,IAAI;wBACJ,IAAI,wBAAwB,eAAe,CAAC,IAAI,CAAC,IAAI,QAAQ;;;0CAG3C,eAAe,CAAC,IAAI,CAAC,IAAI,QAAQ;;;;;;;;;CAS1E;QACK,CAAC,CAAC,EAAE,CAAC;IAET,2EAA2E;IAC3E,wEAAwE;IACxE,yCAAyC;IACzC,MAAM,cAAc,GAClB,UAAU,CAAC,IAAI,CAAC,KAAK,SAAS;QAC5B,CAAC,CAAC;;EAEN,UAAU,CAAC,IAAI;;;;;;;;;;;CAWhB;QACK,CAAC,CAAC,EAAE,CAAC;IAET,4EAA4E;IAC5E,4EAA4E;IAC5E,qEAAqE;IACrE,MAAM,OAAO,GAAI,YAAuC,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,YAAY,GAChB,OAAO,KAAK,WAAW;QACrB,CAAC,CAAC;;EAEN,UAAU,CAAC,IAAI;;;;;;;;;;;;;;;CAehB;QACK,CAAC,CAAC,OAAO,KAAK,UAAU;YACtB,CAAC,CAAC;;EAER,UAAU,CAAC,IAAI;;;;;;;;;;;;;;;;;CAiBhB;YACO,CAAC,CAAC,OAAO,KAAK,MAAM;gBAClB,CAAC,CAAC;;EAEV,UAAU,CAAC,IAAI;;;;;;;;;;;;;CAahB;gBACS,CAAC,CAAC,OAAO,KAAK,QAAQ;oBACpB,CAAC,CAAC;;EAEZ,UAAU,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BhB;oBACW,CAAC,CAAC,OAAO,KAAK,WAAW;wBACvB,CAAC,CAAC;;EAEd,UAAU,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkChB;wBACW,CAAC,CAAC,OAAO,KAAK,SAAS;4BACrB,CAAC,CAAC;;EAEd,UAAU,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;CAqBhB;4BACa,CAAC,CAAC,OAAO,KAAK,YAAY;gCACxB,CAAC,CAAC;;EAEhB,UAAU,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+ChB;gCACe,CAAC,CAAC,EAAE,CAAC;IAEnB,MAAM,QAAQ,GAAG,OAAO,KAAK,QAAQ;QACnC,CAAC,CAAC,oJAAoJ;QACtJ,CAAC,CAAC,OAAO,KAAK,SAAS;YACrB,CAAC,CAAC,uJAAuJ;YACzJ,CAAC,CAAC;gBACJ,KAAK,EAAE,yGAAyG;gBAChH,MAAM,EACJ,8HAA8H;gBAChI,KAAK,EACH,kIAAkI;aACrI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAEnB,OAAO,KAAK,UAAU,CAAC,IAAI;;EAE3B,UAAU,CAAC,OAAO;;EAElB,UAAU,CAAC,WAAW;;;;;;MAMlB,IAAI;MACJ,IAAI;;;;;;;;WAQC,UAAU,cAAc,IAAI;;wBAEf,UAAU;;;;;EAKhC,aAAa,GAAG,cAAc,GAAG,YAAY;;EAE7C,KAAK;;;;;;EAML,WAAW;;;;;;EAMX,UAAU;;;;EAIV,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCR,UAAU,CAAC,IAAI;;CAEhB,CAAC;AACF,CAAC;AAOD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAAuB,IAAO;IACzD,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAExC,OAAO,gBAAgB,UAAU,CAAC,IAAI;;UAE9B,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyD9C,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAuB,IAAO,EAAE,SAAwB,EAAE;IACjF,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,IAAI,cAAc,CAAC;IAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEjE,OAAO,gBAAgB,UAAU,CAAC,IAAI;;;eAGzB,QAAQ,GAAG,SAAS;UACzB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6C9C,CAAC;AACF,CAAC"}
@@ -1,4 +1,4 @@
1
- export type GeneratedShaderName = "alloy" | "archipelago" | "ascii" | "aurora" | "basalt" | "beacon" | "billow" | "bloom" | "blossom" | "blueprint" | "bokeh" | "caldera" | "caustics" | "chladni" | "cloth" | "cumulus" | "dither" | "dunes" | "duotone" | "edges" | "eyes" | "ferro" | "filament" | "film-grain" | "flow" | "fluid" | "glass" | "gossamer" | "gravity" | "halftone" | "hills" | "island" | "julia" | "kaleidoscope" | "lagoon" | "lens" | "liquid-light" | "liquid-metal" | "louvres" | "lumen" | "maelstrom" | "magnet" | "meadow" | "melt" | "mesh-gradient" | "mosaic" | "neon-grid" | "neon-sign" | "orb" | "parallax" | "particles" | "pixel-clouds" | "pixel-fire" | "pixel-isle" | "pixel-rain" | "pixel-sea" | "plasma" | "pulsar" | "radiance" | "reveal" | "ripple" | "shafts" | "shatter" | "shockwave" | "shore" | "silk" | "spectra" | "starfield" | "swell" | "swirl" | "tesla" | "torch" | "truchet" | "tunnel" | "voronoi";
1
+ export type GeneratedShaderName = "alloy" | "archipelago" | "ascii" | "aurora" | "basalt" | "beacon" | "billow" | "bloom" | "blossom" | "blueprint" | "bokeh" | "caldera" | "caustics" | "chladni" | "cloth" | "cumulus" | "dither" | "dunes" | "duotone" | "edges" | "eyes" | "ferro" | "filament" | "film-grain" | "flow" | "fluid" | "glass" | "gossamer" | "gravity" | "halftone" | "hills" | "island" | "julia" | "kaleidoscope" | "lagoon" | "lens" | "liquid-light" | "liquid-metal" | "louvres" | "lumen" | "maelstrom" | "magnet" | "meadow" | "melt" | "mesh-gradient" | "mosaic" | "neon-grid" | "neon-sign" | "orb" | "parallax" | "particles" | "pixel-clouds" | "pixel-fire" | "pixel-isle" | "pixel-rain" | "pixel-sea" | "plasma" | "pulsar" | "radiance" | "reveal" | "ripple" | "shafts" | "shatter" | "shockwave" | "shore" | "silk" | "spectra" | "starfield" | "strata" | "swell" | "swirl" | "tesla" | "torch" | "truchet" | "tunnel" | "voronoi";
2
2
  export declare const shaderSources: Readonly<Record<GeneratedShaderName, string>>;
3
3
  /** Whether a shader invents its picture or reads one from a bound texture. */
4
4
  export declare const shaderKinds: {
@@ -70,6 +70,7 @@ export declare const shaderKinds: {
70
70
  readonly silk: "generative";
71
71
  readonly spectra: "graph";
72
72
  readonly starfield: "generative";
73
+ readonly strata: "generative";
73
74
  readonly swell: "generative";
74
75
  readonly swirl: "source";
75
76
  readonly tesla: "generative";
@@ -151,6 +152,7 @@ export declare const shaderReadsSource: {
151
152
  readonly silk: false;
152
153
  readonly spectra: false;
153
154
  readonly starfield: false;
155
+ readonly strata: false;
154
156
  readonly swell: false;
155
157
  readonly swirl: true;
156
158
  readonly tesla: false;
@@ -1 +1 @@
1
- {"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../src/generated/sources.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,mBAAmB,GAC3B,OAAO,GACP,aAAa,GACb,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,SAAS,GACT,WAAW,GACX,OAAO,GACP,SAAS,GACT,UAAU,GACV,SAAS,GACT,OAAO,GACP,SAAS,GACT,QAAQ,GACR,OAAO,GACP,SAAS,GACT,OAAO,GACP,MAAM,GACN,OAAO,GACP,UAAU,GACV,YAAY,GACZ,MAAM,GACN,OAAO,GACP,OAAO,GACP,UAAU,GACV,SAAS,GACT,UAAU,GACV,OAAO,GACP,QAAQ,GACR,OAAO,GACP,cAAc,GACd,QAAQ,GACR,MAAM,GACN,cAAc,GACd,cAAc,GACd,SAAS,GACT,OAAO,GACP,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,eAAe,GACf,QAAQ,GACR,WAAW,GACX,WAAW,GACX,KAAK,GACL,UAAU,GACV,WAAW,GACX,cAAc,GACd,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,WAAW,GACX,OAAO,GACP,MAAM,GACN,SAAS,GACT,WAAW,GACX,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,GACP,SAAS,GACT,QAAQ,GACR,SAAS,CAAC;AAId,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,CA4EvE,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4Ed,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4EpB,CAAC;AAEX,4EAA4E;AAC5E,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;CAgBf,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"sources.d.ts","sourceRoot":"","sources":["../../src/generated/sources.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,mBAAmB,GAC3B,OAAO,GACP,aAAa,GACb,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,SAAS,GACT,WAAW,GACX,OAAO,GACP,SAAS,GACT,UAAU,GACV,SAAS,GACT,OAAO,GACP,SAAS,GACT,QAAQ,GACR,OAAO,GACP,SAAS,GACT,OAAO,GACP,MAAM,GACN,OAAO,GACP,UAAU,GACV,YAAY,GACZ,MAAM,GACN,OAAO,GACP,OAAO,GACP,UAAU,GACV,SAAS,GACT,UAAU,GACV,OAAO,GACP,QAAQ,GACR,OAAO,GACP,cAAc,GACd,QAAQ,GACR,MAAM,GACN,cAAc,GACd,cAAc,GACd,SAAS,GACT,OAAO,GACP,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,eAAe,GACf,QAAQ,GACR,WAAW,GACX,WAAW,GACX,KAAK,GACL,UAAU,GACV,WAAW,GACX,cAAc,GACd,YAAY,GACZ,YAAY,GACZ,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,WAAW,GACX,OAAO,GACP,MAAM,GACN,SAAS,GACT,WAAW,GACX,QAAQ,GACR,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,GACP,SAAS,GACT,QAAQ,GACR,SAAS,CAAC;AAId,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,CA6EvE,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Ed,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6EpB,CAAC;AAEX,4EAA4E;AAC5E,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;CAgBf,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC"}