@pixerate/editor 0.248.0 → 0.250.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/README.md +1 -0
- package/dist/animation-editor/index.cjs +118 -114
- package/dist/animation-editor/index.js +11 -7
- package/dist/{brushstrokeRender-QLCXROJK.js → brushstrokeRender-2FHFLSEG.js} +8 -4
- package/dist/{brushstrokeRender-DTDPFBLC.cjs → brushstrokeRender-QGRXOKDA.cjs} +15 -11
- package/dist/canvas/index.cjs +71 -15
- package/dist/canvas/index.d.cts +1 -0
- package/dist/canvas/index.d.ts +1 -0
- package/dist/canvas/index.js +58 -2
- package/dist/canvas/stickers.d.cts +35 -0
- package/dist/canvas/stickers.d.ts +35 -0
- package/dist/{chunk-RXZL4NG5.js → chunk-226QDRO3.js} +1 -1
- package/dist/{chunk-SC2RZ5EF.js → chunk-2VJAVXLI.js} +2 -2
- package/dist/{chunk-OLNIPTB3.cjs → chunk-2VX55NFM.cjs} +1 -320
- package/dist/chunk-3K6HWEXZ.cjs +92 -0
- package/dist/{chunk-UOOK7HTX.js → chunk-3PPJRMIG.js} +1 -1
- package/dist/{chunk-ZFSLEOSQ.js → chunk-3TWOCSCY.js} +11 -9
- package/dist/chunk-4D6KP5BV.js +92 -0
- package/dist/chunk-4JNWA3VT.cjs +302 -0
- package/dist/{chunk-L3JFOTBQ.js → chunk-5E2Q7ZHI.js} +1 -1
- package/dist/{chunk-2ONK3ERD.cjs → chunk-75K3W4D6.cjs} +20 -20
- package/dist/{chunk-AU6MWQKZ.js → chunk-ABL7IWFZ.js} +1 -1
- package/dist/chunk-ATK6ABN3.cjs +303 -0
- package/dist/{chunk-7T7JWTVE.cjs → chunk-BOHDJJ2O.cjs} +8 -8
- package/dist/{chunk-2PBZBRP5.js → chunk-D5KGAO4Z.js} +10 -92
- package/dist/{chunk-HB4ICNNA.cjs → chunk-DPYAO5U6.cjs} +42 -42
- package/dist/{chunk-6G6ZDDDB.cjs → chunk-GT77U7QG.cjs} +303 -149
- package/dist/{chunk-PQ3H2AAN.cjs → chunk-I7NJPHWV.cjs} +122 -204
- package/dist/{chunk-42TWUPNJ.js → chunk-IRSTHLQQ.js} +1 -320
- package/dist/{chunk-GHCSC2WP.cjs → chunk-ISIO63Q5.cjs} +21 -15
- package/dist/{chunk-OFH6Q67U.js → chunk-JA57JIT5.js} +9 -3
- package/dist/{chunk-VMROIWLL.cjs → chunk-KBYB7OWB.cjs} +3 -3
- package/dist/{chunk-Q2HA52V4.js → chunk-KDLBJ6QR.js} +2 -2
- package/dist/{chunk-WVS5KQDH.cjs → chunk-M2VKFE5L.cjs} +246 -244
- package/dist/{chunk-5GLYUSNT.js → chunk-NOHJP5TK.js} +1 -1
- package/dist/{chunk-XNRBMYNB.js → chunk-NTRAVM2I.js} +1 -1
- package/dist/{chunk-VNBUDVD4.js → chunk-OTEPAQJX.js} +228 -74
- package/dist/chunk-OTTT5N3K.js +322 -0
- package/dist/{chunk-QOBCBGGI.cjs → chunk-QKXO6JPP.cjs} +14 -14
- package/dist/{chunk-NZ3O3A5C.js → chunk-SMSGP2HQ.js} +1 -1
- package/dist/chunk-SZTI6EER.js +13 -0
- package/dist/chunk-U4NUOKBT.js +303 -0
- package/dist/chunk-U67EN7GG.cjs +13 -0
- package/dist/chunk-W5M3J7PV.cjs +322 -0
- package/dist/{chunk-4P6H35HU.js → chunk-WA44NKPF.js} +2 -2
- package/dist/chunk-WKH5ZAUA.js +302 -0
- package/dist/{chunk-L6REDLNB.cjs → chunk-WPUXGDH4.cjs} +7 -7
- package/dist/{chunk-P3NIPIKS.js → chunk-WQCNC4DK.js} +1 -1
- package/dist/{chunk-IBDU6EGZ.cjs → chunk-X7WRL5ZZ.cjs} +35 -35
- package/dist/{chunk-XWTRATIM.cjs → chunk-YM6ZBTXG.cjs} +23 -23
- package/dist/{chunk-TPWB4Y6L.cjs → chunk-YW43M56C.cjs} +1 -1
- package/dist/{chunk-K5DS2JTA.cjs → chunk-Z3BRH4JK.cjs} +6 -6
- package/dist/{chunk-XNZFVYC2.cjs → chunk-ZBCT5MEA.cjs} +7 -7
- package/dist/effects/helpers.d.cts +6 -0
- package/dist/effects/helpers.d.ts +6 -0
- package/dist/effects/index.cjs +62 -60
- package/dist/effects/index.js +5 -3
- package/dist/effects/tools.d.cts +6 -0
- package/dist/effects/tools.d.ts +6 -0
- package/dist/image-editor/effects.d.cts +1 -1
- package/dist/image-editor/effects.d.ts +1 -1
- package/dist/image-editor/index.cjs +1097 -1069
- package/dist/image-editor/index.d.cts +1 -0
- package/dist/image-editor/index.d.ts +1 -0
- package/dist/image-editor/index.js +58 -30
- package/dist/image-editor/stickers.d.cts +9 -0
- package/dist/image-editor/stickers.d.ts +9 -0
- package/dist/paint/index.cjs +8 -5
- package/dist/paint/index.js +13 -10
- package/dist/paint-editor/controller.d.cts +37 -1
- package/dist/paint-editor/controller.d.ts +37 -1
- package/dist/paint-editor/index.cjs +753 -609
- package/dist/paint-editor/index.d.cts +3 -0
- package/dist/paint-editor/index.d.ts +3 -0
- package/dist/paint-editor/index.js +187 -43
- package/dist/paint-editor/sticker-art.d.cts +55 -0
- package/dist/paint-editor/sticker-art.d.ts +55 -0
- package/dist/paint-editor/stickers.d.cts +30 -17
- package/dist/paint-editor/stickers.d.ts +30 -17
- package/dist/paint-editor/stroke.d.cts +4 -0
- package/dist/paint-editor/stroke.d.ts +4 -0
- package/dist/paint-editor/ui.d.cts +10 -2
- package/dist/paint-editor/ui.d.ts +10 -2
- package/dist/raster/index.cjs +6 -4
- package/dist/raster/index.js +12 -10
- package/dist/stickers/browser.d.cts +48 -0
- package/dist/stickers/browser.d.ts +48 -0
- package/dist/stickers/combine.d.cts +10 -0
- package/dist/stickers/combine.d.ts +10 -0
- package/dist/stickers/conformance.d.cts +18 -0
- package/dist/stickers/conformance.d.ts +18 -0
- package/dist/stickers/editor.d.cts +14 -0
- package/dist/stickers/editor.d.ts +14 -0
- package/dist/stickers/errors.d.cts +6 -0
- package/dist/stickers/errors.d.ts +6 -0
- package/dist/stickers/fake.d.cts +16 -0
- package/dist/stickers/fake.d.ts +16 -0
- package/dist/stickers/helpers.d.cts +51 -0
- package/dist/stickers/helpers.d.ts +51 -0
- package/dist/stickers/index.cjs +337 -0
- package/dist/stickers/index.d.cts +16 -0
- package/dist/stickers/index.d.ts +16 -0
- package/dist/stickers/index.js +337 -0
- package/dist/stickers/stamps.d.cts +13 -0
- package/dist/stickers/stamps.d.ts +13 -0
- package/dist/stickers/tools.d.cts +81 -0
- package/dist/stickers/tools.d.ts +81 -0
- package/dist/stickers/types.d.cts +123 -0
- package/dist/stickers/types.d.ts +123 -0
- package/dist/vector/index.cjs +1018 -981
- package/dist/vector/index.d.cts +1 -0
- package/dist/vector/index.d.ts +1 -0
- package/dist/vector/index.js +44 -7
- package/dist/vector/stickers.d.cts +11 -0
- package/dist/vector/stickers.d.ts +11 -0
- package/dist/video-editor/index.cjs +344 -344
- package/dist/video-editor/index.js +4 -4
- package/package.json +11 -1
- package/skills/README.md +1 -0
- package/skills/pixerate-image-editor/SKILL.md +1 -1
- package/skills/pixerate-paint-editor/SKILL.md +8 -5
- package/skills/pixerate-stickers/SKILL.md +57 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createEffectAuthoringSession
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-ABL7IWFZ.js";
|
|
4
4
|
import {
|
|
5
5
|
VIDEO_ADJUSTMENT_SCOPES,
|
|
6
6
|
VIDEO_BLEND_MODES,
|
|
@@ -149,7 +149,7 @@ import {
|
|
|
149
149
|
videoTransitionEase,
|
|
150
150
|
videoValueAt,
|
|
151
151
|
videoWipeRect
|
|
152
|
-
} from "../chunk-
|
|
152
|
+
} from "../chunk-5E2Q7ZHI.js";
|
|
153
153
|
import {
|
|
154
154
|
namedWithSuggestion
|
|
155
155
|
} from "../chunk-EUKY4KFX.js";
|
|
@@ -159,7 +159,7 @@ import {
|
|
|
159
159
|
effectSequenceTiming,
|
|
160
160
|
effectTemplateTools,
|
|
161
161
|
fillEffectTemplate
|
|
162
|
-
} from "../chunk-
|
|
162
|
+
} from "../chunk-226QDRO3.js";
|
|
163
163
|
import "../chunk-EHLOCVWB.js";
|
|
164
164
|
import {
|
|
165
165
|
CAMERA_MOVE_MAX_MS,
|
|
@@ -171,7 +171,7 @@ import {
|
|
|
171
171
|
pathControlsOf,
|
|
172
172
|
resolveCameraMoveSpec,
|
|
173
173
|
sampleEffectCameraMove
|
|
174
|
-
} from "../chunk-
|
|
174
|
+
} from "../chunk-JA57JIT5.js";
|
|
175
175
|
import "../chunk-V2ZCJRDM.js";
|
|
176
176
|
import {
|
|
177
177
|
defineEditorDocument
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pixerate/editor",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.250.0",
|
|
4
4
|
"description": "UI-agnostic rich text and media editing core library",
|
|
5
5
|
"author": "Pixerate",
|
|
6
6
|
"license": "MIT",
|
|
@@ -334,6 +334,16 @@
|
|
|
334
334
|
"default": "./dist/effects/index.cjs"
|
|
335
335
|
}
|
|
336
336
|
},
|
|
337
|
+
"./stickers": {
|
|
338
|
+
"import": {
|
|
339
|
+
"types": "./dist/stickers/index.d.ts",
|
|
340
|
+
"default": "./dist/stickers/index.js"
|
|
341
|
+
},
|
|
342
|
+
"require": {
|
|
343
|
+
"types": "./dist/stickers/index.d.cts",
|
|
344
|
+
"default": "./dist/stickers/index.cjs"
|
|
345
|
+
}
|
|
346
|
+
},
|
|
337
347
|
"./diagram": {
|
|
338
348
|
"import": {
|
|
339
349
|
"types": "./dist/diagram/index.d.ts",
|
package/skills/README.md
CHANGED
|
@@ -29,6 +29,7 @@ model and its general practice.
|
|
|
29
29
|
| [`pixerate-effect-authoring`](pixerate-effect-authoring/SKILL.md) | Authoring shaders and procedural effects: inspecting parameters and source code, setting values and presets, keyframing animation tracks, playback timing, and previewing. |
|
|
30
30
|
| [`pixerate-color`](pixerate-color/SKILL.md) | Colour inspection, WCAG accessibility and contrast optimization, CVD simulation, palette audits, harmonies, and OKLab/OKLCH blends. |
|
|
31
31
|
| [`pixerate-typography`](pixerate-typography/SKILL.md) | Fonts and fallback stacks, font loading, modular type scales and hierarchies, fluid sizes, readability and type-aware contrast audits, text segmentation, the font picker. |
|
|
32
|
+
| [`pixerate-stickers`](pixerate-stickers/SKILL.md) | Sticker libraries: finding stickers by ref (`provider:id`), categories, tags, tintable art and licences, for the editors that spray or place them. |
|
|
32
33
|
|
|
33
34
|
## Workflow skills
|
|
34
35
|
|
|
@@ -341,7 +341,7 @@ in the source frame at the document's bit depth, colour mode and profile. Read
|
|
|
341
341
|
| `mix_colors` | Read-only. Mix 1 to 16 `colors` (`{color: #rrggbb, weight, strength?}`) like paint (Kubelka-Munk over reflectance spectra). Returns `mixed` (#rrggbb), `rgbLerp` (the plain RGB average, for comparison) and the normalised `weights`. Call it before `paint_stroke` / `fill_pixels` to pick a paint colour. |
|
|
342
342
|
| `clear_pixels` | Remove the selected pixels (alpha to 0; a transparency-locked layer or a mask gets the background colour). Returns the changed bounds. |
|
|
343
343
|
| `import_psd` | Open a PSD / PSB (`data` base64, a `data:` URL is fine) as the document, replacing the layers, crop and rotation (one undo step). Returns the new `layers` tree with ids, `layerIds`, size and `warnings` naming the affected layers. Call `inspect_psd` first when losses matter. |
|
|
344
|
-
| `apply_effect` | Run a provider filter effect on a layer as a smart filter (`target`, `effect`, `values`, `index`, `enabled`, `opacity`, `blend`); a pixel, shape or type layer becomes a smart object in the same undo step (`converted`). It keeps the layer's transparency (`preserveTransparency`, default true: the result is drawn over the layer and takes its alpha); `false` lets a shader fill transparent pixels. With a selection the filter mask is set from it (`masked`): deselect first to filter the whole layer. Returns the filter id and `preserveTransparency`. |
|
|
344
|
+
| `apply_effect` | Run a provider filter effect, or any effect that takes a picture (the layer is its picture: a sticker from `insert_sticker` into a holo-foil treatment), on a layer as a smart filter (`target`, `effect`, `values`, `index`, `enabled`, `opacity`, `blend`); a pixel, shape or type layer becomes a smart object in the same undo step (`converted`). It keeps the layer's transparency (`preserveTransparency`, default true: the result is drawn over the layer and takes its alpha); `false` lets a shader fill transparent pixels. With a selection the filter mask is set from it (`masked`): deselect first to filter the whole layer. Returns the filter id and `preserveTransparency`. |
|
|
345
345
|
| `update_effect` | Change an effect smart filter (`values` merged, `null` resets; `enabled`, `opacity`, `blend`, `preserveTransparency`, `index`) or redraw an effect layer (`effect: "generator"`, values only). Returns the filter as it is now. |
|
|
346
346
|
| `remove_effect` | Remove an effect smart filter, or (`generator`) keep an effect layer's pixels as a plain layer. |
|
|
347
347
|
| `add_effect_layer` | Add a layer drawn by a generator, overlay or title effect at the document's size and bit depth (`values`, `time`, `animate`, `name`, `aboveId` / `belowId`, `opacity`, `blend`, `clipped`). `clipped: true` clips it to the layer directly below in the same undo step, so it shows only over that layer's pixels (refused when nothing is below it in its group). An effect with its own background (`backgroundOpacity` in `describe_effect`) starts with it transparent when there are layers below. Returns the layer id and `clipped`. |
|
|
@@ -184,8 +184,9 @@ inner glow, shadows, stroke, bevel, satin and overlays, as in the image editor
|
|
|
184
184
|
- **Bristle brushes** (category `bristle`): `bristle-round`, `bristle-flat`, `dry-brush`. Every
|
|
185
185
|
bristle draws its own line: press harder to splay the tuft, tilt to flatten it; soft bristles
|
|
186
186
|
bend into curves at turns; a low `bristle.load` runs dry into broken streaks.
|
|
187
|
-
- **Sticker spray** (category `sticker`):
|
|
188
|
-
|
|
187
|
+
- **Sticker spray** (category `sticker`): stickers by ref (`editor:star`, `editor:leaf`… or any
|
|
188
|
+
from the host's library: `find_stickers`; tintable ones take the paint colour) sprayed onto an
|
|
189
|
+
**empty layer**, each staying an object:
|
|
189
190
|
`add_stickers` (exact places), `sticker_at`, `list_stickers`, `update_sticker`, `arrange_stickers`,
|
|
190
191
|
`remove_stickers`. A sticker layer takes no other paint; sprays are refused under an enabled
|
|
191
192
|
mask stencil (hide it with `update_stencil` `enabled` false, then remove unwanted stickers).
|
|
@@ -372,10 +373,12 @@ is a canvas coordinate: read [references/canvas-hosted.md](references/canvas-hos
|
|
|
372
373
|
|
|
373
374
|
| Tool | Use |
|
|
374
375
|
| --- | --- |
|
|
375
|
-
| `list_stickers` | Read a layer's stickers bottom first: id, stamp, x, y, size, rotation, color, opacity. |
|
|
376
|
-
| `add_stickers` | Place stickers exactly (`
|
|
376
|
+
| `list_stickers` | Read a layer's stickers bottom first: id, `ref` (and `stamp` for the editor's own), x, y, size, rotation, color, opacity. |
|
|
377
|
+
| `add_stickers` | Place stickers exactly (`ref` from `find_stickers`, `x`, `y`, optional `size`, `rotation`, `color`, `opacity`, `seed`) on a sticker layer or an empty layer; a provider's art loads first. Use it for deliberate placement, a sticker brush for a scatter. One undo step. Returns the new stickers with ids. |
|
|
377
378
|
| `sticker_at` | Read the top-most sticker under a point (`x`, `y`), or null. Use it to pick one sticker among many similar ones before `update_sticker`, `arrange_stickers` or `remove_stickers`. |
|
|
378
|
-
| `update_sticker` | Change one sticker by `id`: `
|
|
379
|
+
| `update_sticker` | Change one sticker by `id`: `ref`, `x`, `y`, `size`, `rotation`, `color`, `opacity`. One undo step. Returns it. |
|
|
380
|
+
| `find_stickers` | Search the sticker library (the editor's stamps unless the host plugged in its own) by words, category, tags and commercial licence, a page at a time. Returns refs (`provider:id`) for sticker brushes (`set_brush` `sticker.stamps`) and `add_stickers`, with tintable and licence. |
|
|
381
|
+
| `describe_sticker` | One sticker by `ref`: licence and attribution, colours, outline. Unknown refs are refused with the closest ones. |
|
|
379
382
|
| `arrange_stickers` | Move stickers (`ids`) to the `front` or `back` of their layer. One undo step. |
|
|
380
383
|
| `remove_stickers` | Delete stickers by `ids`, or all on the layer. One undo step. |
|
|
381
384
|
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pixerate-stickers
|
|
3
|
+
description: How to find, check and use stickers from the Pixerate sticker library through find_stickers and describe_sticker - the editor's own stamps (editor:star, editor:heart, ...) or any library a host plugged in (brand packs, uploads, third-party APIs), with refs (provider:id), categories, tags, tintable art and licences. Use when asked to add, spray, place, search for or credit stickers, or when find_stickers or describe_sticker are available.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Stickers
|
|
7
|
+
|
|
8
|
+
A sticker library is a `StickerProvider` the host plugs in (`@pixerate/editor/stickers`); with
|
|
9
|
+
none, it is the editor's own stamps (`editorStickers()`: `editor:dot`, `editor:star`,
|
|
10
|
+
`editor:heart`, `editor:leaf`, `editor:flower`, `editor:confetti`, `editor:splat`,
|
|
11
|
+
`editor:sparkle`, `editor:ring`, all MIT and tintable). Every sticker is named by a **ref**,
|
|
12
|
+
`provider:id`; the editors' sticker tools take refs.
|
|
13
|
+
|
|
14
|
+
## Working method
|
|
15
|
+
|
|
16
|
+
1. **Find.** `find_stickers` with a few words (`query`) and, when the result's `categories`
|
|
17
|
+
suggest one, a `category`. Pages are small: pass `next` as `after` for more, or narrow the
|
|
18
|
+
query. Filter with `commercial: true` for anything that will be sold or used in marketing.
|
|
19
|
+
2. **Check.** `describe_sticker` when the choice matters: its licence (and the attribution line
|
|
20
|
+
it asks for), dominant colours, variants and outline.
|
|
21
|
+
3. **Use.** Pass refs to the editor that places them: in the paint editor, a sticker brush
|
|
22
|
+
(`set_brush` `sticker.stamps`, then `paint_stroke`) sprays them and `add_stickers` places
|
|
23
|
+
them exactly. In the vector, image and canvas editors, `insert_sticker` puts one in (`x`,
|
|
24
|
+
`y` centre, `width`): vector, a group of editable paths; image, a pixel layer; canvas, a
|
|
25
|
+
shape node from its outline in one colour. A provider's art loads before it is drawn.
|
|
26
|
+
4. **Colour.** Tintable stickers (flat, single-colour art) take the paint colour or a sticker's
|
|
27
|
+
`color`; the rest keep their own colours.
|
|
28
|
+
5. **Treat it with an effect.** In the image editor, `insert_sticker` returns the layer `id`;
|
|
29
|
+
`apply_effect` with that `target` and any effect whose `describe_effect` inputs take an
|
|
30
|
+
image (`appliesHere`) uses the sticker as its picture (holo foil, cut-out). For a whole set,
|
|
31
|
+
repeat the two calls per sticker.
|
|
32
|
+
|
|
33
|
+
## Best practices
|
|
34
|
+
|
|
35
|
+
- Keep refs exactly as `find_stickers` returns them; a bare editor stamp (`star`) also works
|
|
36
|
+
and means `editor:star`.
|
|
37
|
+
- Credit stickers whose licence has an `attribution` wherever the work is published.
|
|
38
|
+
- Prefer tintable stickers when they must match a palette.
|
|
39
|
+
- Vector stickers need SVG art and canvas stickers an outline (`silhouette`); `find_stickers`
|
|
40
|
+
lists `formats`, and `describe_sticker` the outline. The image editor takes either.
|
|
41
|
+
|
|
42
|
+
## Pitfalls
|
|
43
|
+
|
|
44
|
+
- An unknown ref is refused with the closest refs: pick one of those or search again.
|
|
45
|
+
- A category that the library doesn't have is refused with the list of its categories.
|
|
46
|
+
- `limit` is 1..100; results beyond a page need `after`, not a larger limit.
|
|
47
|
+
- `color` on a sticker that is not tintable is refused; leave it out.
|
|
48
|
+
- On the canvas, multi-colour art becomes its outline in its dominant colour; for the art itself,
|
|
49
|
+
use the image editor (the vector and canvas editors take effects on stickers in a later change).
|
|
50
|
+
|
|
51
|
+
## Tool reference
|
|
52
|
+
|
|
53
|
+
| Tool | Use |
|
|
54
|
+
| --- | --- |
|
|
55
|
+
| `find_stickers` | Search or list the library: `query`, `category`, `tags`, `commercial`, `limit`, `after`. Returns `items` (each `ref`, name, category, tags, width, height, formats, tintable, licence), `total`, `next`, `categories`. Changes nothing. |
|
|
56
|
+
| `insert_sticker` | Put one sticker (`ref`) into the vector, image or canvas editor, centred at `x`, `y` (default the middle), `width` wide (default natural), tinted with `color` when tintable. One undo step. Returns the new group, layer or node `id`, the size and the licence. |
|
|
57
|
+
| `describe_sticker` | One sticker by `ref`: everything `find_stickers` returns plus `silhouette` (SVG path data), `colours` and `variants`. Unknown refs are refused with the closest ones. Changes nothing. |
|