@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/access.md +83 -4
- package/llms/backend.md +27 -0
- package/llms/callai.initial.md +121 -0
- package/llms/callai.js +1 -0
- package/llms/callai.js.map +1 -1
- package/llms/debugging.md +114 -0
- package/llms/fireproof.initial.md +697 -0
- package/llms/fireproof.js +1 -0
- package/llms/fireproof.js.map +1 -1
- package/llms/image-gen.initial.md +155 -0
- package/llms/image-gen.js +1 -0
- package/llms/image-gen.js.map +1 -1
- package/llms/index.d.ts +2 -1
- package/llms/index.js +3 -0
- package/llms/index.js.map +1 -1
- package/llms/p5.d.ts +2 -0
- package/llms/p5.js +28 -0
- package/llms/p5.js.map +1 -0
- package/llms/p5.md +714 -0
- package/llms/types.d.ts +1 -0
- package/llms/use-vibe.initial.md +58 -0
- package/llms/use-vibe.js +1 -0
- package/llms/use-vibe.js.map +1 -1
- package/llms/use-viewer.initial.md +303 -0
- package/llms/use-viewer.js +1 -0
- package/llms/use-viewer.js.map +1 -1
- package/llms/use-viewer.md +20 -0
- package/package.json +4 -4
- package/prompts.js +4 -3
- package/prompts.js.map +1 -1
- package/system-prompt-initial-oneshot.md +3 -1
- package/system-prompt-initial.md +3 -1
- package/system-prompt.md +3 -1
package/llms/fireproof.js
CHANGED
package/llms/fireproof.js.map
CHANGED
|
@@ -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
package/llms/image-gen.js.map
CHANGED
|
@@ -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
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"}
|