@pixerate/flair 0.32.0 → 0.34.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.
Files changed (39) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +3 -3
  3. package/dist/catalog/index.d.ts +4 -2
  4. package/dist/catalog/index.js +6 -2
  5. package/dist/{chunk-VLJPCY54.js → chunk-2O3RMSOE.js} +3 -3
  6. package/dist/{chunk-RS2S2K5C.js → chunk-IHUNCBMF.js} +1083 -33
  7. package/dist/chunk-IHUNCBMF.js.map +1 -0
  8. package/dist/{chunk-DA4UUSDO.js → chunk-JETRHCP3.js} +9 -277
  9. package/dist/chunk-JETRHCP3.js.map +1 -0
  10. package/dist/{chunk-AUH3PEFW.js → chunk-MOLJPWME.js} +5 -3
  11. package/dist/{chunk-AUH3PEFW.js.map → chunk-MOLJPWME.js.map} +1 -1
  12. package/dist/{chunk-X3C2VFTM.js → chunk-N5HXMQOK.js} +7 -7
  13. package/dist/{chunk-3NPBCKKO.js → chunk-UU4PHRVF.js} +6 -6
  14. package/dist/{chunk-ORAFCHX3.js → chunk-VKIDRHBG.js} +278 -2
  15. package/dist/chunk-VKIDRHBG.js.map +1 -0
  16. package/dist/cli.js +2 -2
  17. package/dist/editor/index.d.ts +1 -1
  18. package/dist/editor/index.js +13 -5
  19. package/dist/editor/index.js.map +1 -1
  20. package/dist/{effect-GGT2BUW2.js → effect-6VQS2CA5.js} +8 -8
  21. package/dist/embed/index.d.ts +1 -1
  22. package/dist/embed/index.js +4 -4
  23. package/dist/index.js +19 -19
  24. package/dist/node.d.ts +1 -1
  25. package/dist/node.js +7 -7
  26. package/dist/react/index.d.ts +1 -1
  27. package/dist/react/index.js +5 -5
  28. package/dist/svelte/index.d.ts +1 -1
  29. package/dist/svelte/index.js +5 -5
  30. package/dist/{types-c8cnPzuE.d.ts → types-B4Wjzde0.d.ts} +10 -1
  31. package/dist/vector/index.js +14 -14
  32. package/package.json +1 -1
  33. package/dist/chunk-DA4UUSDO.js.map +0 -1
  34. package/dist/chunk-ORAFCHX3.js.map +0 -1
  35. package/dist/chunk-RS2S2K5C.js.map +0 -1
  36. /package/dist/{chunk-VLJPCY54.js.map → chunk-2O3RMSOE.js.map} +0 -0
  37. /package/dist/{chunk-X3C2VFTM.js.map → chunk-N5HXMQOK.js.map} +0 -0
  38. /package/dist/{chunk-3NPBCKKO.js.map → chunk-UU4PHRVF.js.map} +0 -0
  39. /package/dist/{effect-GGT2BUW2.js.map → effect-6VQS2CA5.js.map} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @pixerate/flair
2
2
 
3
+ ## 0.34.0
4
+
5
+ ### Minor Changes
6
+
7
+ - a3be887: Catalog: `EFFECT_CATEGORY_GROUPS` sorts the 40 categories into 8 groups (Backgrounds, Light, Pictures, Particles & FX, Type & titles, Inputs, Interface, Transitions). `categoryGroup(category)` gives a category's group, and `findEffects({ group })` and the `catalog.search` command filter by group. The demo gallery browses by group, then by category. Editor documents for vector effects now get the effect's own length (its motion plus `hold`) as their timeline instead of a fixed 5 s.
8
+
9
+ ## 0.33.0
10
+
11
+ ### Minor Changes
12
+
13
+ - 8a5a3b0: Data and icon effects (vector, so they render crisp and export to animated SVG and recordings).
14
+
15
+ - **data**: `donut-chart`, `pie-chart`, `gauge`, `bar-race`, `sparkline`, `leaderboard`, `area-chart` and `kpi-tile`. Lists come in through text controls of comma-separated values with a matching labels control (`values: "42,28,18,12"`, `labels: "Direct,Social,Search,Email"`); stacked series and race rows are separated by semicolons (`series: "12,18,15;8,10,14"`, `rows: "Lumen:12,28,41;Pixel:30,36,48"`). Any text is safe: unreadable numbers count as nothing, units and currency signs are ignored, and the defaults come back when nothing is readable. Long labels are cut short with an ellipsis.
16
+ - **icon**: `weather-icons` (sun, partly cloudy, cloudy, rain, thunder, snow or wind, picked by `kind`), `notification-bell`, `animated-arrows` (nudge, chevrons, refresh or external link), `emoji-reactions` (hover), `bookmark-star` (a five-star rating filling on hover; `like-button` already covers the heart burst), `trash-delete` (click, replays), `lock-unlock` (click toggle) and `wifi-signal`.
17
+
3
18
  ## 0.32.0
4
19
 
5
20
  ### Minor Changes
package/README.md CHANGED
@@ -19,7 +19,7 @@ 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`)**: 310 effects, each with controls and presets. There are 221 WebGL2 shaders (gradients, organic textures and growth, patterns, light, lighting that relights pictures, space, retro and pixel art, image treatments, transparent overlays, text fills, image morphs, pointer interactions, pyrotechnics, time warps, melting, electricity, splatters, bubbles, stickers, pointer trails, particles, debris, impacts, comic looks, atmosphere, glows, shadows, distortions, web UI flourishes and backgrounds, transitions) and 89 animated SVG effects (loaders and progress bars, status icons, a logo marquee, a number ticker, animated titles, shape morphs, UI micro-interactions, pixel sprites, stickers, cartoon effects, glowing and lifting UI, a lamp switch, charts, counters, node graphs). [Browse them live](https://pixerate.github.io/flair/).
22
+ - 🎨 **Effect catalog (`@pixerate/flair/catalog`)**: 401 effects, each with controls and presets, in 40 categories browsed in 8 groups. There are 264 WebGL2 shaders (gradients, organic textures and growth, patterns, light, lighting that relights pictures, space, 3D objects and globes, weather, water, atmosphere, retro and pixel art, image treatments, transparent overlays, text fills, image morphs, pointer interactions, sound- and scroll-driven effects, pyrotechnics, time warps, melting, electricity, splatters, bubbles, stickers, pointer trails, particles, debris, impacts, comic looks, glows, shadows, distortions, web UI flourishes and backgrounds, transitions) and 137 animated SVG effects (loaders and progress bars, status and animated icons, a logo marquee, a number ticker, animated titles, broadcast graphics and lower thirds, scroll-driven drawing, counters and steps, annotations and product-demo callouts, shape morphs, UI micro-interactions, pixel sprites, stickers, cartoon effects, glowing and lifting UI, a lamp switch, charts, counters, node graphs and other data viz). [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.
@@ -61,7 +61,7 @@ The `flair` CLI inspects shaders, writes standalone pages and directs scenes (se
61
61
  ```mermaid
62
62
  graph TD
63
63
  subgraph Effects["Effects (no dependencies)"]
64
- Catalog["catalog: 310 effects + presets"]
64
+ Catalog["catalog: 401 effects + presets"]
65
65
  Shader["shader engine: controls, compile, render, GIF, HTML"]
66
66
  Vector["vector motion: SvgMotion, SvgPlayer"]
67
67
  Time["time: clocks, easing, keyframes, noise"]
@@ -151,7 +151,7 @@ Object.assign(host.style, { display: "inline-block", height: "0.72em", aspectRat
151
151
  new SvgPlayer(host, motion, { loop: false });
152
152
  ```
153
153
 
154
- 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.
154
+ Find effects with `findEffects({ text: "glow", category: "light", kind: "shader" })`, or by a group of related categories with `findEffects({ group: "Backgrounds" })` (`EFFECT_CATEGORY_GROUPS` lists them, and `categoryGroup(category)` gives a category's group). 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.
155
155
 
156
156
  #### What an effect takes
157
157
 
@@ -1,7 +1,7 @@
1
1
  import { a as ControlDef, C as ControlValue } from '../controls-Ec6P0Vpy.js';
2
2
  import { a as SvgTrigger } from '../svg-DaKRPA9v.js';
3
- import { a as VideoUse, E as EffectDefinition, b as EffectCategory, S as ShaderEffect } from '../types-c8cnPzuE.js';
4
- export { C as CURRENT_COLOR, c as EFFECT_CATEGORIES, d as EffectPreset, e as VECTOR_CONTROL_TYPES, f as VIDEO_USES, g as VectorControl, V as VectorEffect, h as colorControl, i as isCurrentColor, n as numberControl, r as renderVectorEffect, v as vectorControlDef, j as vectorControlIssues, k as vectorControls, l as vectorEffectControls } from '../types-c8cnPzuE.js';
3
+ import { a as VideoUse, E as EffectDefinition, b as EffectCategory, S as ShaderEffect } from '../types-B4Wjzde0.js';
4
+ export { C as CURRENT_COLOR, c as EFFECT_CATEGORIES, d as EFFECT_CATEGORY_GROUPS, e as EffectCategoryGroup, f as EffectPreset, g as VECTOR_CONTROL_TYPES, h as VIDEO_USES, i as VectorControl, V as VectorEffect, j as categoryGroup, k as colorControl, l as isCurrentColor, n as numberControl, r as renderVectorEffect, v as vectorControlDef, m as vectorControlIssues, o as vectorControls, p as vectorEffectControls } from '../types-B4Wjzde0.js';
5
5
 
6
6
  /**
7
7
  * What an effect takes and how it answers the pointer, worked out from the
@@ -173,6 +173,8 @@ interface EffectQuery {
173
173
  /** Words to look for in the name, description, tags and id (all must match). */
174
174
  text?: string;
175
175
  category?: EffectCategory;
176
+ /** Effects in any category of the group with this name (`EFFECT_CATEGORY_GROUPS`, any case). */
177
+ group?: string;
176
178
  kind?: EffectDefinition["kind"];
177
179
  /** Effects with every one of these tags. */
178
180
  tags?: readonly string[];
@@ -2,6 +2,7 @@ import {
2
2
  CURRENT_COLOR,
3
3
  EFFECTS,
4
4
  EFFECT_CATEGORIES,
5
+ EFFECT_CATEGORY_GROUPS,
5
6
  EFFECT_INPUTS,
6
7
  EFFECT_INTERACTIONS,
7
8
  FBM,
@@ -14,6 +15,7 @@ import {
14
15
  SHADER_EFFECTS,
15
16
  VECTOR_CONTROL_TYPES,
16
17
  VIDEO_USES,
18
+ categoryGroup,
17
19
  colorControl,
18
20
  effectControls,
19
21
  effectDefaults,
@@ -30,14 +32,15 @@ import {
30
32
  vectorControlIssues,
31
33
  vectorControls,
32
34
  vectorEffectControls
33
- } from "../chunk-RS2S2K5C.js";
35
+ } from "../chunk-IHUNCBMF.js";
34
36
  import "../chunk-EHDJ3CPJ.js";
35
37
  import "../chunk-VYOMXE6I.js";
36
- import "../chunk-ORAFCHX3.js";
38
+ import "../chunk-VKIDRHBG.js";
37
39
  export {
38
40
  CURRENT_COLOR,
39
41
  EFFECTS,
40
42
  EFFECT_CATEGORIES,
43
+ EFFECT_CATEGORY_GROUPS,
41
44
  EFFECT_INPUTS,
42
45
  EFFECT_INTERACTIONS,
43
46
  FBM,
@@ -50,6 +53,7 @@ export {
50
53
  SHADER_EFFECTS,
51
54
  VECTOR_CONTROL_TYPES,
52
55
  VIDEO_USES,
56
+ categoryGroup,
53
57
  colorControl,
54
58
  effectControls,
55
59
  effectDefaults,
@@ -12,7 +12,7 @@ import {
12
12
  getEffect,
13
13
  renderVectorEffect,
14
14
  textImage
15
- } from "./chunk-RS2S2K5C.js";
15
+ } from "./chunk-IHUNCBMF.js";
16
16
  import {
17
17
  parseColor
18
18
  } from "./chunk-VYOMXE6I.js";
@@ -20,7 +20,7 @@ import {
20
20
  SvgPlayer,
21
21
  svgDuration,
22
22
  svgView
23
- } from "./chunk-DA4UUSDO.js";
23
+ } from "./chunk-JETRHCP3.js";
24
24
 
25
25
  // src/export/mp4mux.ts
26
26
  var AAC_RATES = [96e3, 88200, 64e3, 48e3, 44100, 32e3, 24e3, 22050, 16e3, 12e3, 11025, 8e3, 7350];
@@ -1126,4 +1126,4 @@ export {
1126
1126
  subjectValues,
1127
1127
  mountEffect
1128
1128
  };
1129
- //# sourceMappingURL=chunk-VLJPCY54.js.map
1129
+ //# sourceMappingURL=chunk-2O3RMSOE.js.map