@pixerate/flair 0.29.0 → 0.30.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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # @pixerate/flair
2
2
 
3
+ ## 0.30.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 94bac1b: Broadcast graphics and annotations: two new catalog categories of animated SVG effects in a 16:9, title-safe frame. `broadcast` has a lower third, a stacked lower third with a logo, a title card, a logo reveal, a logo sting, an end card, a countdown, a subscribe button, a news ticker, a scoreboard and a chapter marker; `annotation` has a hand-drawn circle and arrow, a callout, a bracket note, a scribble-out, step badges, a focus box, a product-demo cursor and a tooltip tour, all transparent to lay over video or screenshots. Each animates in, holds for its `hold` control and animates out, and takes a logo as SVG path data where it has one.
8
+
3
9
  ## 0.29.0
4
10
 
5
11
  ### Minor Changes
package/README.md CHANGED
@@ -524,9 +524,15 @@ frames.render(t, { audio: track.at(t), scroll: [0.5, 0.5, 0, 0] });
524
524
  | distortion | twirl, pinch & bulge, fisheye, mirror tiles, wave warp, ribbed glass, shower glass, datamosh, polar warp, texture displace |
525
525
  | audio | spectrum bars, circular spectrum, waveform line, bass pulse, audio particles, audio plasma, vinyl |
526
526
  | scroll | scroll reveal, parallax layers, scroll progress glow, scroll velocity blur, scroll zoom, scroll draw, scroll counter, scroll steps |
527
+ | broadcast | lower third, stacked lower third, title card, logo reveal, logo sting, end card, countdown, subscribe button, news ticker, scoreboard, chapter marker |
528
+ | annotation | hand circle, hand arrow, callout, bracket note, scribble out, step badges, focus box, fake cursor, tooltip tour |
527
529
  | transition | liquid morph, displacement, luma fade, particle swap, ink bleed, pixel dissolve, comic panels, wipe, iris, block dissolve, grid wipe, glass wipe, twister, light leak, cross zoom, whip pan |
528
530
  | loader / icon / data | spinner, bouncing dots, pulse ping, equalizer, progress ring, bar chart, line chart, stat counter, route, timeline track, success check, error cross, heartbeat, signature, confetti, flow network, upload card |
529
531
 
532
+ #### Broadcast graphics and annotations
533
+
534
+ The `broadcast` and `annotation` effects are animated SVGs in a 1920 × 1080 (16:9) frame, with their text inside the title-safe area. Each animates in, holds for its `hold` control (seconds) and animates out, ending as it started, so it loops; the news ticker is a seamless crawl instead. Lower thirds, the ticker, the score bug, the chapter marker, the subscribe button and every annotation draw on a transparent frame, to lay over video or a screenshot (`flair render lower-third --text "Ada Lovelace" --alpha -o lt.webm`); annotations are placed with position controls in percent of the frame. Every label is a text control, fitted to its length. Logos (`lower-third-stacked`, `logo-reveal`, `logo-sting`) take SVG path data in their `logo` control (`--path "M…"`), scaled to fit their slot and recoloured by the effect, so they draw on, shine and export as animated SVG like the rest; anything that is not path data draws a stand-in mark.
535
+
530
536
  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. [`#bench`](https://pixerate.github.io/flair/#bench) times every shader per frame on your GPU (`#bench?size=720&only=aurora,fur` for a size or a few effects; keep the tab in front, since a hidden tab or other drawing inflates every number).
531
537
 
532
538
  ---
@@ -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-wh28fXW4.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-wh28fXW4.js';
3
+ import { a as VideoUse, E as EffectDefinition, b as EffectCategory, S as ShaderEffect } from '../types-DuGVdJbt.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-DuGVdJbt.js';
5
5
 
6
6
  /**
7
7
  * What an effect takes and how it answers the pointer, worked out from the
@@ -30,7 +30,7 @@ import {
30
30
  vectorControlIssues,
31
31
  vectorControls,
32
32
  vectorEffectControls
33
- } from "../chunk-6GFOLHCT.js";
33
+ } from "../chunk-UIODYJ6B.js";
34
34
  import "../chunk-EHDJ3CPJ.js";
35
35
  import "../chunk-VYOMXE6I.js";
36
36
  import "../chunk-ORAFCHX3.js";
@@ -15,7 +15,7 @@ import {
15
15
  } from "./chunk-AUH3PEFW.js";
16
16
  import {
17
17
  subjectValues
18
- } from "./chunk-KZYZX3V5.js";
18
+ } from "./chunk-MAYKC3RF.js";
19
19
  import {
20
20
  wrapSource
21
21
  } from "./chunk-HDYBY3PQ.js";
@@ -28,7 +28,7 @@ import {
28
28
  effectInputs,
29
29
  getEffect,
30
30
  renderVectorEffect
31
- } from "./chunk-6GFOLHCT.js";
31
+ } from "./chunk-UIODYJ6B.js";
32
32
  import {
33
33
  checkControlValue,
34
34
  parseColor
@@ -411,4 +411,4 @@ export {
411
411
  effectQueryFromFlags,
412
412
  describeEffect
413
413
  };
414
- //# sourceMappingURL=chunk-MBKNTXQX.js.map
414
+ //# sourceMappingURL=chunk-HSYDTVTD.js.map
@@ -12,7 +12,7 @@ import {
12
12
  getEffect,
13
13
  renderVectorEffect,
14
14
  textImage
15
- } from "./chunk-6GFOLHCT.js";
15
+ } from "./chunk-UIODYJ6B.js";
16
16
  import {
17
17
  parseColor
18
18
  } from "./chunk-VYOMXE6I.js";
@@ -1126,4 +1126,4 @@ export {
1126
1126
  subjectValues,
1127
1127
  mountEffect
1128
1128
  };
1129
- //# sourceMappingURL=chunk-KZYZX3V5.js.map
1129
+ //# sourceMappingURL=chunk-MAYKC3RF.js.map