@vibes.diy/prompts 14.1.20 → 14.1.22

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/llms/fireproof.js CHANGED
@@ -2,6 +2,7 @@ export const fireproofConfig = {
2
2
  name: "fireproof",
3
3
  label: "useFireproof",
4
4
  description: "cloud-backed document database with live sync",
5
+ initialVariant: true,
5
6
  importModule: "use-fireproof",
6
7
  importName: "useFireproof",
7
8
  };
@@ -1 +1 @@
1
- {"version":3,"file":"fireproof.js","sourceRoot":"","sources":["../../jsr/llms/fireproof.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAc;IACxC,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,cAAc;IACrB,WAAW,EAAE,+CAA+C;IAC5D,YAAY,EAAE,eAAe;IAC7B,UAAU,EAAE,cAAc;CAC3B,CAAC"}
1
+ {"version":3,"file":"fireproof.js","sourceRoot":"","sources":["../../jsr/llms/fireproof.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAc;IACxC,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,cAAc;IACrB,WAAW,EAAE,+CAA+C;IAC5D,cAAc,EAAE,IAAI;IACpB,YAAY,EAAE,eAAe;IAC7B,UAAU,EAAE,cAAc;CAC3B,CAAC"}
@@ -0,0 +1,155 @@
1
+ # ImgGen Component
2
+
3
+ Generate and edit images from a text prompt. Each generated image lands as a file ref on the doc — display reads the platform-minted URL via `_files`.
4
+
5
+ **When to use it:** reach for `<ImgGen>` when a picture adds real value — items whose identity includes an image (cards, creatures, products, covers), user-personalized art (avatars, portraits from a photo), or apps whose whole point is imagery. Most text/data apps (lists, trackers, notes, forms) need **no** images — leave the import unused rather than decorating with gratuitous pictures.
6
+
7
+ ## Basic Usage
8
+
9
+ Start with a minimal image generation component:
10
+
11
+ App.jsx
12
+
13
+ ```jsx
14
+ import React from "react";
15
+ import { useFireproof } from "use-fireproof";
16
+ import { ImgGen } from "use-vibes";
17
+
18
+ export default function App() {
19
+ return (
20
+ <div>
21
+ <h2>Image Generator</h2>
22
+ <ImgGen prompt="A sunset over mountains" />
23
+ </div>
24
+ );
25
+ }
26
+ ```
27
+
28
+ `<ImgGen>` stores generated versions in its component-owned media database, associated
29
+ with the host database name and `_id`. Read a saved image through
30
+ `useImgGen({ _id, database })` from `use-vibes`: its `document` composes current media
31
+ versions and legacy host versions. From that composed document, select
32
+ `document.versions?.[document.currentVersion ?? 0]`, then
33
+ `document._files?.[version.id]`. The returned file ref supplies both `.url` for display
34
+ and `.file()` for a transformation input, so a ref you have in hand is ready to pass
35
+ straight to `images`. Ordinary host records hold the app's own data; the image hook
36
+ supplies the associated generated output.
37
+
38
+ For example, refining a saved pottery illustration keeps its original ID and uses its
39
+ actual output as the input to a separate result ID:
40
+
41
+ ```jsx
42
+ import { ImgGen, useImgGen } from "use-vibes";
43
+
44
+ function GlazingPreview({ database }) {
45
+ const { document: original, pending, error } = useImgGen({ _id: "vessel-original", database });
46
+ const version = original?.versions?.[original.currentVersion ?? 0];
47
+ const source = version?.id ? original?._files?.[version.id] : undefined;
48
+ const sourceReady = source !== undefined;
49
+ return <section>
50
+ <ImgGen _id="vessel-original" database={database} showControls={false} />
51
+ {sourceReady ? <ImgGen _id="vessel-glazed" database={database}
52
+ prompt="Add a blue glaze while preserving this vessel's shape and composition"
53
+ images={[source]} /> : <p>{error ? error.message : pending ? "Loading saved source…" : "Source image unavailable"}</p>}
54
+ </section>;
55
+ }
56
+ ```
57
+
58
+ This is the same `_files`-shape contract documented in `fireproof.md`'s "Working with Files" section — read it first if you have not seen the platform's file/URL story.
59
+
60
+ ## Editing an Uploaded Image
61
+
62
+ Pass a `File` object via `images` to run img2img. Adding a file picker that feeds into ImgGen:
63
+
64
+ App.jsx
65
+
66
+ ```jsx
67
+ <<<<<<< SEARCH
68
+ export default function App() {
69
+ return (
70
+ <div>
71
+ <h2>Image Generator</h2>
72
+ =======
73
+ export default function App() {
74
+ const [file, setFile] = React.useState(null);
75
+
76
+ return (
77
+ <div>
78
+ <h2>Image Generator</h2>
79
+ <input type="file" accept="image/*" onChange={(e) => setFile(e.target.files[0])} />
80
+ {file && <ImgGen prompt="Make it look like a watercolor painting" images={[file]} />}
81
+ >>>>>>> REPLACE
82
+ ```
83
+
84
+ The input image is automatically resized (max 1024px) and compressed as JPEG before sending.
85
+
86
+ `images` accepts **either** a raw `File` (fresh from an `<input type="file">`) **or** a stored Fireproof file ref — anything shaped like `{ file: () => Promise<File> }` passes straight through. So if the app has already saved the upload onto a doc, feed it back directly:
87
+
88
+ ```jsx
89
+ // doc was saved earlier with: database.put({ ..., _files: { photo: file } })
90
+ <ImgGen prompt="Turn this pet into a cute cartoon character" images={[doc._files.photo]} _id={doc._id} database={database} />
91
+ ```
92
+
93
+ Do **not** invent wrappers like `images={x?.file ? something : undefined}` — pass the `_files` entry itself. If the stored ref might be absent, gate the whole `<ImgGen>` mount on it instead: `{doc._files?.photo && <ImgGen images={[doc._files.photo]} ... />}`.
94
+
95
+ **Displaying an img2img result later** (gallery, detail view, reload): render by `_id` and do NOT re-pass `images` — `<ImgGen _id={doc._id} database={database} showControls={false} />` shows the stored version. ImgGen records which input produced each version, so re-passing that SAME input (the doc's own stored source, e.g. `images={[doc._files.photo]}` on every render) — or `_id` alone — just displays the saved result and will not force a fresh, billed generation. Passing a genuinely DIFFERENT input to the same `_id` DOES generate a new version — that's a requested img2img edit, not a reload: a new upload, a different stored ref, or a PRIOR OUTPUT fed back in to refine it. To force a new version from the CURRENT input, use the regenerate control (or set `generationId`). Generate once with `images`, display forever with `_id` alone.
96
+
97
+ Do **not** set `model` for img2img: when an input image is present the platform automatically selects its image-**edit** default, which is tuned to produce edits faithful to the source. An explicit `model` override bypasses that routing — only use one when the app has a specific, stated reason.
98
+
99
+ ## Loading a Specific Doc
100
+
101
+ Load a previously generated image by `_id` — if the doc has a `prompt` but no `_files` yet, the component generates one: `<ImgGen _id="my-image-id" database={database} />`
102
+
103
+ ## Illustrations That Are Part of an Item's Identity
104
+
105
+ When an item's picture is intrinsic to what it is — a card in a deck, a creature in a bestiary, a product in a catalog, a character in a cast — render `<ImgGen>` **by default** for every such item that lacks an image, so the illustration appears as soon as the item does. Because ImgGen auto-generates when the target doc has a `prompt` but no `_files` yet, mounting it directly on the item is all it takes:
106
+
107
+ ```jsx
108
+ <ImgGen
109
+ _id={card._id}
110
+ database={database}
111
+ prompt={`Illustration of ${card.title}. ${card.description ?? ""}`}
112
+ />
113
+ ```
114
+
115
+ Do **not** hide first generation behind an "Illustrate" / "Generate image" button — a button leaves every item blank until tapped, which reads as "the app has no pictures." Reserve buttons and `showControls` for *regeneration* of an image that already exists. (For incidental or user-optional images — an avatar upload, a one-off hero graphic — an explicit action is still fine; this rule is about items whose identity includes a picture.)
116
+
117
+ ## Gallery Pattern
118
+
119
+ Keep gallery entries as app-owned records with the saved image's host `_id`. Query those
120
+ records with `useLiveQuery`, then let each `<ImgGen>` read its associated media. This also
121
+ keeps the app's title, caption and other editable fields separate from image versions:
122
+
123
+ ```jsx
124
+ function Gallery() {
125
+ const { database, useLiveQuery } = useFireproof("artwork");
126
+ const { docs } = useLiveQuery("type", { key: "artwork" });
127
+ return <div>{docs.map(doc => <figure key={doc._id}>
128
+ <ImgGen _id={doc._id} database={database} showControls={false} />
129
+ <figcaption>{doc.caption}</figcaption>
130
+ </figure>)}</div>;
131
+ }
132
+ ```
133
+
134
+ ## Caching and Versions
135
+
136
+ - Same prompt produces a deterministic `_id` (hash-based), so results are cached across reloads.
137
+ - Each image has a regenerate button that appends a new version (writes a new `_files.v<N>` entry).
138
+ - Prev / next controls navigate between stored versions.
139
+ - Set `showControls={false}` to hide regenerate and version navigation.
140
+
141
+ ## Choosing a Model
142
+
143
+ Override the model per component: `<ImgGen prompt="An astronaut riding a horse" model="openai/gpt-5-image-mini" />`
144
+
145
+ Model ids follow the `provider/model-name` form from the platform's model catalog. Unknown ids surface as an error in the component's error UI.
146
+
147
+ #### Props
148
+
149
+ - `prompt`: text prompt (required unless `_id` is provided)
150
+ - `images`: array of `File` objects **or stored `_files` refs** for img2img (uses first image; only pass while generating — display stored results via `_id`)
151
+ - `_id`: load a specific doc instead of generating
152
+ - `database`: Fireproof db name or instance (default `"ImgGen"`)
153
+ - `className`, `alt`, `style`: standard image styling
154
+ - `showControls`: toggle regenerate + version nav (default `true`)
155
+ - `model`: override the image-gen model for this component
package/llms/image-gen.js CHANGED
@@ -2,6 +2,7 @@ export const imageGenConfig = {
2
2
  name: "image-gen",
3
3
  label: "Image Generation",
4
4
  description: "Generate and edit images",
5
+ initialVariant: true,
5
6
  cues: [
6
7
  "image",
7
8
  "images",
@@ -1 +1 @@
1
- {"version":3,"file":"image-gen.js","sourceRoot":"","sources":["../../jsr/llms/image-gen.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAc;IACvC,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,kBAAkB;IACzB,WAAW,EAAE,0BAA0B;IACvC,IAAI,EAAE;QACJ,OAAO;QACP,QAAQ;QACR,KAAK;QACL,OAAO;QACP,QAAQ;QACR,SAAS;QACT,UAAU;QACV,QAAQ;QACR,cAAc;QACd,MAAM;QACN,cAAc;QACd,gBAAgB;KACjB;IACD,YAAY,EAAE,WAAW;IACzB,UAAU,EAAE,QAAQ;CACrB,CAAC"}
1
+ {"version":3,"file":"image-gen.js","sourceRoot":"","sources":["../../jsr/llms/image-gen.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAc;IACvC,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,kBAAkB;IACzB,WAAW,EAAE,0BAA0B;IACvC,cAAc,EAAE,IAAI;IACpB,IAAI,EAAE;QACJ,OAAO;QACP,QAAQ;QACR,KAAK;QACL,OAAO;QACP,QAAQ;QACR,SAAS;QACT,UAAU;QACV,QAAQ;QACR,cAAc;QACd,MAAM;QACN,cAAc;QACd,gBAAgB;KACjB;IACD,YAAY,EAAE,WAAW;IACzB,UAAU,EAAE,QAAQ;CACrB,CAAC"}
package/llms/index.d.ts CHANGED
@@ -6,6 +6,7 @@ export { imageGenConfig } from "./image-gen.js";
6
6
  export { webAudioConfig } from "./web-audio.js";
7
7
  export { d3Config } from "./d3.js";
8
8
  export { threeJsConfig } from "./three-js.js";
9
+ export { p5Config } from "./p5.js";
9
10
  export { voxelConfig } from "./voxel.js";
10
11
  export { webxrConfig } from "./webxr.js";
11
12
  export { useViewerConfig } from "./use-viewer.js";
@@ -15,4 +16,4 @@ export { accessConfig } from "./access.js";
15
16
  export { connectionsConfig } from "./connections.js";
16
17
  export { youtubeConfig } from "./youtube.js";
17
18
  export type { LlmConfig } from "./types.js";
18
- export declare const allConfigs: readonly [import("./types.js").LlmConfig, import("./types.js").LlmConfig, import("./types.js").LlmConfig, import("./types.js").LlmConfig, import("./types.js").LlmConfig, import("./types.js").LlmConfig, import("./types.js").LlmConfig, import("./types.js").LlmConfig, import("./types.js").LlmConfig, import("./types.js").LlmConfig, import("./types.js").LlmConfig, import("./types.js").LlmConfig, import("./types.js").LlmConfig, import("./types.js").LlmConfig, import("./types.js").LlmConfig, import("./types.js").LlmConfig];
19
+ export declare const allConfigs: readonly [import("./types.js").LlmConfig, import("./types.js").LlmConfig, import("./types.js").LlmConfig, import("./types.js").LlmConfig, import("./types.js").LlmConfig, import("./types.js").LlmConfig, import("./types.js").LlmConfig, import("./types.js").LlmConfig, import("./types.js").LlmConfig, import("./types.js").LlmConfig, import("./types.js").LlmConfig, import("./types.js").LlmConfig, import("./types.js").LlmConfig, import("./types.js").LlmConfig, import("./types.js").LlmConfig, import("./types.js").LlmConfig, import("./types.js").LlmConfig];
package/llms/index.js CHANGED
@@ -6,6 +6,7 @@ import { imageGenConfig } from "./image-gen.js";
6
6
  import { webAudioConfig } from "./web-audio.js";
7
7
  import { d3Config } from "./d3.js";
8
8
  import { threeJsConfig } from "./three-js.js";
9
+ import { p5Config } from "./p5.js";
9
10
  import { voxelConfig } from "./voxel.js";
10
11
  import { webxrConfig } from "./webxr.js";
11
12
  import { useViewerConfig } from "./use-viewer.js";
@@ -22,6 +23,7 @@ export { imageGenConfig } from "./image-gen.js";
22
23
  export { webAudioConfig } from "./web-audio.js";
23
24
  export { d3Config } from "./d3.js";
24
25
  export { threeJsConfig } from "./three-js.js";
26
+ export { p5Config } from "./p5.js";
25
27
  export { voxelConfig } from "./voxel.js";
26
28
  export { webxrConfig } from "./webxr.js";
27
29
  export { useViewerConfig } from "./use-viewer.js";
@@ -36,6 +38,7 @@ export const allConfigs = [
36
38
  webAudioConfig,
37
39
  d3Config,
38
40
  threeJsConfig,
41
+ p5Config,
39
42
  voxelConfig,
40
43
  fireproofConfig,
41
44
  webxrConfig,
package/llms/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../jsr/llms/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAI7C,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,YAAY;IACZ,cAAc;IACd,cAAc;IACd,QAAQ;IACR,aAAa;IACb,WAAW;IACX,eAAe;IACf,WAAW;IACX,eAAe;IACf,aAAa;IACb,gBAAgB;IAChB,aAAa;IACb,cAAc;IACd,YAAY;IACZ,iBAAiB;IACjB,aAAa;CACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../jsr/llms/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAI7C,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,YAAY;IACZ,cAAc;IACd,cAAc;IACd,QAAQ;IACR,aAAa;IACb,QAAQ;IACR,WAAW;IACX,eAAe;IACf,WAAW;IACX,eAAe;IACf,aAAa;IACb,gBAAgB;IAChB,aAAa;IACb,cAAc;IACd,YAAY;IACZ,iBAAiB;IACjB,aAAa;CACL,CAAC"}
package/llms/p5.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ import type { LlmConfig } from "./types.js";
2
+ export declare const p5Config: LlmConfig;
package/llms/p5.js ADDED
@@ -0,0 +1,28 @@
1
+ export const p5Config = {
2
+ name: "p5",
3
+ label: "p5.js",
4
+ description: "p5.js creative-coding library for 2D canvas and WEBGL sketches: generative art, flow " +
5
+ "fields, particle systems, Perlin noise, seeded deterministic sketches, kaleidoscopes, " +
6
+ "screensavers, visualisers, drawing and painting toys, plotter-style patterns, still " +
7
+ "gallery renders with noLoop, and fragment shaders. Covers instance mode in React (one " +
8
+ "useEffect, instance.remove() on cleanup), the version-pinned esm.sh import, sizing from " +
9
+ "the host element, pixelDensity, randomSeed/noiseSeed determinism, trails, and touch. " +
10
+ "p5, p5.js, processing, sketch, creative coding, generative art, canvas art, noise field",
11
+ cues: [
12
+ "p5",
13
+ "p5.js",
14
+ "processing",
15
+ "sketch",
16
+ "generative art",
17
+ "creative coding",
18
+ "flow field",
19
+ "perlin noise",
20
+ "particle field",
21
+ "kaleidoscope",
22
+ "screensaver",
23
+ ],
24
+ importModule: "https://esm.sh/p5@1.11.13",
25
+ importName: "p5",
26
+ importType: "default",
27
+ };
28
+ //# sourceMappingURL=p5.js.map
package/llms/p5.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"p5.js","sourceRoot":"","sources":["../../jsr/llms/p5.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAc;IACjC,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,OAAO;IACd,WAAW,EACT,uFAAuF;QACvF,wFAAwF;QACxF,sFAAsF;QACtF,wFAAwF;QACxF,0FAA0F;QAC1F,uFAAuF;QACvF,yFAAyF;IAC3F,IAAI,EAAE;QACJ,IAAI;QACJ,OAAO;QACP,YAAY;QACZ,QAAQ;QACR,gBAAgB;QAChB,iBAAiB;QACjB,YAAY;QACZ,cAAc;QACd,gBAAgB;QAChB,cAAc;QACd,aAAa;KACd;IAID,YAAY,EAAE,2BAA2B;IACzC,UAAU,EAAE,IAAI;IAChB,UAAU,EAAE,SAAS;CACtB,CAAC"}