@pixerate/flair 0.1.1 → 0.3.0
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 +21 -0
- package/README.md +65 -14
- package/dist/catalog/index.d.ts +5 -4
- package/dist/catalog/index.js +12 -4
- package/dist/{chunk-JWZCPMFG.js → chunk-D7NLHC7K.js} +117 -674
- package/dist/chunk-D7NLHC7K.js.map +1 -0
- package/dist/{chunk-3FAUZOGL.js → chunk-FIJOMGPG.js} +2 -2
- package/dist/{chunk-UQQNZSYL.js → chunk-GTIAOYOK.js} +211 -7
- package/dist/chunk-GTIAOYOK.js.map +1 -0
- package/dist/{chunk-MWVTQFV5.js → chunk-IWKM5FJK.js} +410 -59
- package/dist/chunk-IWKM5FJK.js.map +1 -0
- package/dist/{chunk-HKXOHRCD.js → chunk-VA74HBPK.js} +2 -2
- package/dist/chunk-WAMA45G3.js +998 -0
- package/dist/chunk-WAMA45G3.js.map +1 -0
- package/dist/{chunk-J55UBNAT.js → chunk-WC3VADZC.js} +42 -36
- package/dist/chunk-WC3VADZC.js.map +1 -0
- package/dist/cli.js +12 -11
- package/dist/cli.js.map +1 -1
- package/dist/{controls-DdXMbovi.d.ts → controls-Syr6drzO.d.ts} +4 -3
- package/dist/editor/index.d.ts +101 -49
- package/dist/editor/index.js +198 -99
- package/dist/editor/index.js.map +1 -1
- package/dist/{export-FEBPEEO7.js → export-DH2HMACO.js} +4 -3
- package/dist/index.d.ts +193 -17
- package/dist/index.js +69 -33
- package/dist/index.js.map +1 -1
- package/dist/node.d.ts +1 -1
- package/dist/node.js +2 -2
- package/dist/recorder-KEX3U35D.js +10 -0
- package/dist/{renderer-Oyynz-fs.d.ts → renderer-mzvhKzKa.d.ts} +1 -1
- package/dist/types-CsFUZZIv.d.ts +102 -0
- package/package.json +3 -3
- package/dist/chunk-36DTNSHU.js +0 -160
- package/dist/chunk-36DTNSHU.js.map +0 -1
- package/dist/chunk-J55UBNAT.js.map +0 -1
- package/dist/chunk-JWZCPMFG.js.map +0 -1
- package/dist/chunk-MWVTQFV5.js.map +0 -1
- package/dist/chunk-UQQNZSYL.js.map +0 -1
- package/dist/recorder-WJTWMEQN.js +0 -10
- package/dist/types-CkKkavvB.d.ts +0 -71
- /package/dist/{chunk-3FAUZOGL.js.map → chunk-FIJOMGPG.js.map} +0 -0
- /package/dist/{chunk-HKXOHRCD.js.map → chunk-VA74HBPK.js.map} +0 -0
- /package/dist/{export-FEBPEEO7.js.map → export-DH2HMACO.js.map} +0 -0
- /package/dist/{recorder-WJTWMEQN.js.map → recorder-KEX3U35D.js.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# @pixerate/flair
|
|
2
2
|
|
|
3
|
+
## 0.3.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 10f02b2: The 3D camera now reaches layout checks, motion blur direction and the exporters. `checkShot` judges framing, edges, text size and the title on screen, through the camera's angle (`screenBox`). A pan's motion blur streaks along its direction (`View.blurAngle`, `cameraBlur` for an SVG blur, `moveBlur`), and the standalone player draws it that way. `cameraTrack` and `cameraSamples` lay the camera out on a timeline, and the exporters use them: Lottie gets a camera rig (in 3D with an AE camera when angled), Apple Motion a keyframed camera group, FCP7 XML a keyframed Distort corner pin with Motion Blur, and EDL a `* CAMERA:` note.
|
|
8
|
+
- 10f02b2: Scene cameras can turn in 3D and blur while they move. A shot's `camera` takes `tilt`, `turn` and `roll` (degrees), `perspective` and `motionBlur` alongside its framing, or on their own to change the angle in place, and angles carry over until a shot changes them. `playScene` passes views with the angle and a speed-based `blur`. New helpers: `cameraTransform` and `cameraFilter` (CSS for a board layer), `projectPoint`, `motionBlur`, `shotView`. `validateScene` checks the new fields, and the standalone scene player now plays camera moves (framing, angle and blur) and moves through shots when playing.
|
|
9
|
+
- 10f02b2: Add two catalog effects: `flow-network`, an animated SVG node graph whose links draw on before a glowing critical path races through it to a pulsing hub (its label is a text control), and `light-ribbons`, a shader of thin iridescent light strands weaving across a dark frame.
|
|
10
|
+
- 10f02b2: Add two catalog effects: `neon-circuit`, a shader of glowing neon traces routed up a circuit board with pulses running along them, and `drip-text`, an animated SVG title that pops in and oozes drips from its letters.
|
|
11
|
+
- 10f02b2: Vector effects declare their controls in their picture: the first `{{name: type …}}` placeholder (`float`, `int`, `bool`, `color` or `text`, with `@control`'s attributes) declares a control, and `vectorControls` reads them, the way `parseControls` reads a shader's. Adds a `text` control type (shown as a text field in the parameters panel), so a picture's words can be changed; text is escaped when filled in. `drip-text` now takes any word, with its drips following it. Every catalog vector effect declares its controls inline, and a vector effect's `controls` list is now optional (still read, for effects written before). `renderVectorEffect` drops comments from the markup and falls back to defaults for values a control cannot take.
|
|
12
|
+
|
|
13
|
+
## 0.2.0
|
|
14
|
+
|
|
15
|
+
### Minor Changes
|
|
16
|
+
|
|
17
|
+
- 6fb310a: Build the effect editor on `@pixerate/editor` 0.29's new subpaths (now the minimum version of the optional peer):
|
|
18
|
+
|
|
19
|
+
- Keyframes use `@pixerate/editor/animation`'s easing engine and track types. Flair's own copy is gone; its exports remain as aliases.
|
|
20
|
+
- Agent tools are typed by `@pixerate/editor/tools`. A new `createEffectToolRegistry(editor)` serves them through its `ToolRegistry`, with argument checking.
|
|
21
|
+
- New `parameterSchemaFor(controls)` and `bindEffectParameters(editor)` drive `@pixerate/editor/parameters`, including the React and Svelte `ParametersPanel`s, with every change and keyframe toggle going through the effect editor.
|
|
22
|
+
- New `EffectEditor.setTrack` and its `keyframe.setTrack` command replace a control's keyframes in one step.
|
|
23
|
+
|
|
3
24
|
## 0.1.1
|
|
4
25
|
|
|
5
26
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -19,20 +19,20 @@ Flair gives products a library of good-looking, configurable visual effects (her
|
|
|
19
19
|
|
|
20
20
|
### Core Capabilities
|
|
21
21
|
|
|
22
|
-
- 🎨 **Effect catalog (`@pixerate/flair/catalog`)**:
|
|
22
|
+
- 🎨 **Effect catalog (`@pixerate/flair/catalog`)**: 63 effects, each with controls and presets. There are 46 WebGL2 shaders (gradients, organic textures, patterns, light, space, retro, image effects, transitions) and 17 animated SVG effects (loaders, status icons, titles, charts, counters, node graphs). [Browse them live](https://pixerate.github.io/flair/).
|
|
23
23
|
- ⚡ **Shader engine**:
|
|
24
24
|
- Shadertoy-style GLSL ES 3.00 fragment shaders, with controls declared in the source (`// @control`), including image inputs.
|
|
25
25
|
- Compile errors come back with line numbers that match the source.
|
|
26
26
|
- Live previews (`ShaderRenderer`) and many animated thumbnails on one context (`ThumbnailPool`).
|
|
27
27
|
- Frames at exact times (`ShaderFrames`), looping GIFs, and standalone HTML pages.
|
|
28
|
-
- ✒️ **Vector motion (`@pixerate/flair/vector`)**: animated SVG described as data. It covers attribute tweens, draw-on strokes, motion along paths, counters and view zooms. Every frame is a pure function of time (`svgFrame`), and `SvgPlayer` plays it.
|
|
28
|
+
- ✒️ **Vector motion (`@pixerate/flair/vector`)**: animated SVG described as data. Catalog vector effects declare their controls in the picture (`{{name: type …}}`), text included. It covers attribute tweens, draw-on strokes, motion along paths, counters and view zooms. Every frame is a pure function of time (`svgFrame`), and `SvgPlayer` plays it.
|
|
29
29
|
- 🎛️ **Effect editor (`@pixerate/flair/editor`)**:
|
|
30
30
|
- A headless editor for an effect's source, values, keyframes, presets and timeline.
|
|
31
31
|
- Built on [`@pixerate/editor`](https://github.com/Pixerate/editor)'s undo history and command registry, with no UI framework assumed.
|
|
32
32
|
- 🤖 **Agent-native, bring your own model**:
|
|
33
33
|
- Every editing action is a command, and the commands are exposed as MCP-shaped tools.
|
|
34
34
|
- Ships instructions for the model. The host supplies the model, keys and agent loop.
|
|
35
|
-
- 🎬 **Directing and interchange**: multi-shot scenes with camera moves, procedural effects, validation and fast headless simulation. Also blend modes, Oklab colour and grading, retiming, timecode, and export to Lottie, Apple Motion, FCP7 XML and CMX 3600 EDL.
|
|
35
|
+
- 🎬 **Directing and interchange**: multi-shot scenes with camera moves (3D tilt and motion blur included), procedural effects, validation and fast headless simulation. Also blend modes, Oklab colour and grading, retiming, timecode, and export to Lottie, Apple Motion, FCP7 XML and CMX 3600 EDL.
|
|
36
36
|
|
|
37
37
|
---
|
|
38
38
|
|
|
@@ -41,9 +41,9 @@ Flair gives products a library of good-looking, configurable visual effects (her
|
|
|
41
41
|
| Import | What it provides | Runtime dependencies |
|
|
42
42
|
| :--- | :--- | :--- |
|
|
43
43
|
| `@pixerate/flair` | Shader engine, vector motion, time and easing, colour, blending, transitions, scenes, interchange exporters | None (browser-safe) |
|
|
44
|
-
| `@pixerate/flair/catalog` | `EFFECTS`, `getEffect`, `findEffects`, `effectDefaults`, `renderVectorEffect`, GLSL helpers, sample images | None |
|
|
44
|
+
| `@pixerate/flair/catalog` | `EFFECTS`, `getEffect`, `findEffects`, `effectDefaults`, `renderVectorEffect`, `vectorControls`, GLSL helpers, sample images | None |
|
|
45
45
|
| `@pixerate/flair/vector` | `SvgMotion`, `svgFrame`, `svgView`, `SvgPlayer`, `svgMotionIssues` | None |
|
|
46
|
-
| `@pixerate/flair/editor` | `EffectEditor`, effect documents, keyframe tracks, renderer bindings, agent tools and instructions | `@pixerate/editor` (optional peer) |
|
|
46
|
+
| `@pixerate/flair/editor` | `EffectEditor`, effect documents, keyframe tracks, renderer bindings, parameter-panel binding, agent tools and instructions | `@pixerate/editor` ≥ 0.29 (optional peer; only its dependency-free `/history`, `/commands`, `/tools`, `/animation` and `/parameters` subpaths) |
|
|
47
47
|
| `@pixerate/flair/node` | `exportMotionGraphic`: renders a shader to GIF/MP4 through headless Chrome and ffmpeg | Node.js |
|
|
48
48
|
|
|
49
49
|
The `flair` CLI inspects shaders, writes standalone pages and directs scenes (see [CLI](#-cli)).
|
|
@@ -55,7 +55,7 @@ The `flair` CLI inspects shaders, writes standalone pages and directs scenes (se
|
|
|
55
55
|
```mermaid
|
|
56
56
|
graph TD
|
|
57
57
|
subgraph Effects["Effects (no dependencies)"]
|
|
58
|
-
Catalog["catalog:
|
|
58
|
+
Catalog["catalog: 63 effects + presets"]
|
|
59
59
|
Shader["shader engine: controls, compile, render, GIF, HTML"]
|
|
60
60
|
Vector["vector motion: SvgMotion, SvgPlayer"]
|
|
61
61
|
Time["time: clocks, easing, keyframes, noise"]
|
|
@@ -90,6 +90,8 @@ Flair stays free of LLM SDKs and UI frameworks. Your app owns the interface and
|
|
|
90
90
|
npm install @pixerate/flair
|
|
91
91
|
# For the editor:
|
|
92
92
|
npm install @pixerate/flair @pixerate/editor
|
|
93
|
+
# For the ready-made React (or Svelte) controls panel:
|
|
94
|
+
npm install @pixerate/editor-react
|
|
93
95
|
```
|
|
94
96
|
|
|
95
97
|
### 1. Drop in a catalog effect
|
|
@@ -117,6 +119,15 @@ if (spinner.kind === "vector") {
|
|
|
117
119
|
|
|
118
120
|
Find effects with `findEffects({ text: "glow", category: "light", kind: "shader" })`. Each effect has an `id`, `name`, `description`, `category`, `tags` and optional `presets`. Image effects default to built-in sample pictures, so they look right before you set `uImage` to your own URL.
|
|
119
121
|
|
|
122
|
+
A vector effect declares its controls in its picture, the way a shader declares its uniforms: the first `{{name: type …}}` declares a control (`float`, `int`, `bool`, `color` or `text`, with `@control`'s attributes; quote values with spaces in single quotes), and every `{{name}}` is filled with its value. Declarations can sit in an XML comment, which is dropped when the picture is filled in, and text is escaped, so any words are safe:
|
|
123
|
+
|
|
124
|
+
```ts
|
|
125
|
+
const title = { motion: { svg: `<svg viewBox="0 0 200 60"><!-- {{title: text default='Hello' label='Title'}} {{ink: color default=#6366F1}} --><text x="10" y="40" fill="{{ink}}">{{title}}</text></svg>` } };
|
|
126
|
+
vectorControls(title.motion); // [{ name: "title", type: "text", default: "Hello", … }, { name: "ink", type: "vec3", color: true, … }]
|
|
127
|
+
renderVectorEffect(title, { title: "Fish & chips" }); // …<text …>Fish & chips</text>…
|
|
128
|
+
renderVectorEffect(getEffect("drip-text")!, { word: "UNSTOPPABLE" }); // drips follow the word
|
|
129
|
+
```
|
|
130
|
+
|
|
120
131
|
### 2. Write your own shader
|
|
121
132
|
|
|
122
133
|
```glsl
|
|
@@ -163,12 +174,24 @@ editor.commands.execute("values.randomize");
|
|
|
163
174
|
window.addEventListener("keydown", (e) => editor.commands.handleKeyDown(e)); // Space plays/pauses
|
|
164
175
|
```
|
|
165
176
|
|
|
166
|
-
`getState()` returns the same object until something changes, so React's `useSyncExternalStore` works as is. Documents are plain JSON (`EffectDocument`)
|
|
177
|
+
`getState()` returns the same object until something changes, so React's `useSyncExternalStore` works as is. Documents are plain JSON (`EffectDocument`). Keyframe tracks use `@pixerate/editor/animation`'s track shape and easing engine.
|
|
178
|
+
|
|
179
|
+
For a ready-made controls panel, bind the effect to `@pixerate/editor`'s parameters editor. Every field, image pick and keyframe diamond goes through the effect editor and its undo history:
|
|
180
|
+
|
|
181
|
+
```tsx
|
|
182
|
+
import { bindEffectParameters } from "@pixerate/flair/editor";
|
|
183
|
+
import { ParametersPanel } from "@pixerate/editor-react/parameters"; // or @pixerate/editor-svelte/parameters
|
|
184
|
+
|
|
185
|
+
const { controller, dispose } = bindEffectParameters(editor);
|
|
186
|
+
<ParametersPanel controller={controller} showToolbar={false} showPresets={false} showKeyframes />;
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
`parameterSchemaFor(controls)` gives you the schema alone, for a UI of your own.
|
|
167
190
|
|
|
168
191
|
### 4. Let an agent drive it
|
|
169
192
|
|
|
170
193
|
```ts
|
|
171
|
-
import { createEffectToolProvider, toolDefinitions, callTool, EFFECT_AGENT_INSTRUCTIONS } from "@pixerate/flair/editor";
|
|
194
|
+
import { createEffectToolProvider, createEffectToolRegistry, toolDefinitions, callTool, EFFECT_AGENT_INSTRUCTIONS } from "@pixerate/flair/editor";
|
|
172
195
|
|
|
173
196
|
const tools = createEffectToolProvider(editor, {
|
|
174
197
|
capture: () => renderer.capture({ type: "image/png" }), // adds a `view_effect` tool so the model can look
|
|
@@ -177,7 +200,8 @@ const tools = createEffectToolProvider(editor, {
|
|
|
177
200
|
// Give your model EFFECT_AGENT_INSTRUCTIONS and toolDefinitions(tools), then for each tool call:
|
|
178
201
|
const result = await callTool(tools, call.name, call.input); // MCP tools/call result
|
|
179
202
|
|
|
180
|
-
// Or
|
|
203
|
+
// Or serve them through @pixerate/editor/tools' ToolRegistry (MCP tools/list and tools/call):
|
|
204
|
+
const registry = createEffectToolRegistry(editor); // registry.listTools(), registry.callTool(name, args)
|
|
181
205
|
```
|
|
182
206
|
|
|
183
207
|
The tools are `list_commands`, `run_command` and `run_commands`, plus `view_effect` when you can capture the preview. The commands they run:
|
|
@@ -185,26 +209,53 @@ The tools are `list_commands`, `run_command` and `run_commands`, plus `view_effe
|
|
|
185
209
|
- **Inspect and start:** `effect.describe`, `catalog.search`, `effect.load`.
|
|
186
210
|
- **Edit the effect:** `effect.setSource`.
|
|
187
211
|
- **Values and presets:** `values.set`, `values.reset`, `values.randomize`, `preset.apply` and `preset.save`.
|
|
188
|
-
- **Keyframes:** `keyframe.set`, `keyframe.remove`, `keyframe.setEasing` and `keyframe.clear`.
|
|
189
|
-
- **Timeline:** `timeline.setTiming`, `timeline.play` and `timeline.seek`.
|
|
212
|
+
- **Keyframes:** `keyframe.set`, `keyframe.setTrack`, `keyframe.remove`, `keyframe.setEasing` and `keyframe.clear`.
|
|
213
|
+
- **Timeline:** `timeline.setTiming`, `timeline.play`, `timeline.pause` and `timeline.seek`.
|
|
190
214
|
- **History:** `history.undo` and `history.redo`.
|
|
191
215
|
|
|
192
216
|
Every change is one undo step, and refusals come back as messages the model can act on.
|
|
193
217
|
|
|
194
218
|
---
|
|
195
219
|
|
|
220
|
+
## 🎬 Camera moves
|
|
221
|
+
|
|
222
|
+
A shot's `camera` frames a box (`{ x, y, width, height }`) or elements (`{ frame: ["card"] }`), and can turn in 3D and blur while it moves, like the product-video swoop onto a tilted screen:
|
|
223
|
+
|
|
224
|
+
```json
|
|
225
|
+
{ "camera": { "frame": ["dashboard"], "tilt": 35, "turn": -15, "motionBlur": 1.5 } }
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
- `tilt` leans the board back (top away, like a desk seen from above), `turn` swings it round its vertical axis (left side nearer when positive), `roll` rolls it clockwise. Tilt and turn go up to ±75°.
|
|
229
|
+
- `perspective` is the lens distance as a multiple of the stage width (1.2 by default). Lower values look more dramatic.
|
|
230
|
+
- `motionBlur` (0 to 3, with 1 as natural) blurs the move in proportion to its speed, so the blur peaks mid-move and clears when the camera settles. A pan streaks along its direction (`View.blurAngle`), while a zoom or turn blurs in every direction.
|
|
231
|
+
- Angles carry over to later shots until a shot changes them. `{ "camera": { "tilt": 0, "turn": 0 } }` flattens the board in place.
|
|
232
|
+
|
|
233
|
+
`playScene` hands boards views with these fields (`View.tilt`, `View.blur`, `View.blurAngle`, …). For renderers:
|
|
234
|
+
- `cameraTransform(view, stage, width)` gives the CSS `transform` for a board layer.
|
|
235
|
+
- `cameraBlur(...)` gives the `stdDeviation` for an SVG `feGaussianBlur` that streaks, and `cameraFilter(...)` gives a CSS `blur()`.
|
|
236
|
+
- `projectPoint` gives where a scene point lands on screen.
|
|
237
|
+
- `cameraTrack` and `cameraSamples` lay the camera out on a timeline.
|
|
238
|
+
|
|
239
|
+
The standalone player (`flair scene html`) plays all of it. Layout checks (framing, edges, text size, the title) are judged on screen, where the angle puts each element.
|
|
240
|
+
|
|
241
|
+
The exporters carry the camera too:
|
|
242
|
+
- **Lottie:** a "Camera" null layer that the element layers hang off. When the camera is angled, it is a 3D layer with an AE camera (lottie-web draws it with its `html` renderer).
|
|
243
|
+
- **Apple Motion:** a keyframed "Camera" group around the shots.
|
|
244
|
+
- **FCP7 XML:** a keyframed Distort corner pin on each shot's clip, plus Motion Blur.
|
|
245
|
+
- **EDL:** a `* CAMERA:` note, since CMX 3600 has no transforms.
|
|
246
|
+
|
|
196
247
|
## 🎨 The catalog
|
|
197
248
|
|
|
198
249
|
| Category | Effects |
|
|
199
250
|
| :--- | :--- |
|
|
200
251
|
| gradient | mesh gradient, aurora, gradient flow, conic sweep, silk |
|
|
201
252
|
| organic | liquid marble, smoke, lava lamp, plasma, caustics, flames, blob morph |
|
|
202
|
-
| pattern | dot wave, Truchet flow, hex pulse, living cells, moiré rings, kaleidoscope, stripes |
|
|
203
|
-
| light / space | bokeh, god rays, sparkles, neon ripple, warp starfield, nebula, event horizon |
|
|
253
|
+
| pattern | dot wave, Truchet flow, hex pulse, living cells, moiré rings, kaleidoscope, stripes, neon circuit |
|
|
254
|
+
| light / space | bokeh, god rays, sparkles, neon ripple, light ribbons, warp starfield, nebula, event horizon |
|
|
204
255
|
| retro | synthwave, digital rain, dithered gradient, TV static |
|
|
205
256
|
| image | ripple, glitch, duotone, halftone, pixel reveal, CRT screen, film look |
|
|
206
257
|
| transition | wipe, iris, block dissolve, grid wipe, glass wipe, twister, light leak, cross zoom |
|
|
207
|
-
| loader / icon / data | spinner, bouncing dots, pulse ping, equalizer, progress ring, bar chart, line chart, stat counter, route, success check, error cross, heartbeat, signature, confetti |
|
|
258
|
+
| loader / icon / data | spinner, bouncing dots, pulse ping, equalizer, progress ring, bar chart, line chart, stat counter, route, success check, error cross, heartbeat, signature, confetti, drip text, flow network |
|
|
208
259
|
|
|
209
260
|
Every shader is self-contained and compiles on WebGL2. Open [`#check`](https://pixerate.github.io/flair/#check) on the demo to compile the catalog on your own GPU.
|
|
210
261
|
|
package/dist/catalog/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as ControlDef, C as ControlValue } from '../controls-
|
|
2
|
-
import { E as EffectDefinition, a as EffectCategory, S as ShaderEffect } from '../types-
|
|
3
|
-
export { b as EFFECT_CATEGORIES, c as EffectPreset, V as
|
|
1
|
+
import { a as ControlDef, C as ControlValue } from '../controls-Syr6drzO.js';
|
|
2
|
+
import { E as EffectDefinition, a as EffectCategory, S as ShaderEffect } from '../types-CsFUZZIv.js';
|
|
3
|
+
export { b as EFFECT_CATEGORIES, c as EffectPreset, V as VECTOR_CONTROL_TYPES, d as VectorControl, e as VectorEffect, f as colorControl, n as numberControl, r as renderVectorEffect, v as vectorControlDef, g as vectorControlIssues, h as vectorControls, i as vectorEffectControls } from '../types-CsFUZZIv.js';
|
|
4
4
|
import '../motion-D0TVv2CF.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -42,7 +42,8 @@ declare function glsl(...parts: string[]): string;
|
|
|
42
42
|
*
|
|
43
43
|
* - Browsing: `EFFECTS`, `getEffect`, `findEffects`, `EFFECT_CATEGORIES`.
|
|
44
44
|
* - Controls: `effectControls`, `effectDefaults`.
|
|
45
|
-
* - Vector effects:
|
|
45
|
+
* - Vector effects: their pictures declare their controls (`vectorControls`),
|
|
46
|
+
* and `renderVectorEffect` fills them in.
|
|
46
47
|
*
|
|
47
48
|
* @packageDocumentation
|
|
48
49
|
*/
|
package/dist/catalog/index.js
CHANGED
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
ROTATE,
|
|
10
10
|
SAMPLE_IMAGES,
|
|
11
11
|
SHADER_EFFECTS,
|
|
12
|
+
VECTOR_CONTROL_TYPES,
|
|
12
13
|
colorControl,
|
|
13
14
|
effectControls,
|
|
14
15
|
effectDefaults,
|
|
@@ -18,10 +19,13 @@ import {
|
|
|
18
19
|
numberControl,
|
|
19
20
|
renderVectorEffect,
|
|
20
21
|
svgDataUrl,
|
|
21
|
-
vectorControlDef
|
|
22
|
-
|
|
22
|
+
vectorControlDef,
|
|
23
|
+
vectorControlIssues,
|
|
24
|
+
vectorControls,
|
|
25
|
+
vectorEffectControls
|
|
26
|
+
} from "../chunk-IWKM5FJK.js";
|
|
23
27
|
import "../chunk-EHDJ3CPJ.js";
|
|
24
|
-
import "../chunk-
|
|
28
|
+
import "../chunk-WC3VADZC.js";
|
|
25
29
|
export {
|
|
26
30
|
EFFECTS,
|
|
27
31
|
EFFECT_CATEGORIES,
|
|
@@ -33,6 +37,7 @@ export {
|
|
|
33
37
|
ROTATE,
|
|
34
38
|
SAMPLE_IMAGES,
|
|
35
39
|
SHADER_EFFECTS,
|
|
40
|
+
VECTOR_CONTROL_TYPES,
|
|
36
41
|
colorControl,
|
|
37
42
|
effectControls,
|
|
38
43
|
effectDefaults,
|
|
@@ -42,6 +47,9 @@ export {
|
|
|
42
47
|
numberControl,
|
|
43
48
|
renderVectorEffect,
|
|
44
49
|
svgDataUrl,
|
|
45
|
-
vectorControlDef
|
|
50
|
+
vectorControlDef,
|
|
51
|
+
vectorControlIssues,
|
|
52
|
+
vectorControls,
|
|
53
|
+
vectorEffectControls
|
|
46
54
|
};
|
|
47
55
|
//# sourceMappingURL=index.js.map
|