@ansh-ui/core 0.2.0 → 0.3.1
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/dist/behaviours.cjs +20 -15
- package/dist/behaviours.d.cts +2 -2
- package/dist/behaviours.d.ts +2 -2
- package/dist/behaviours.js +3 -2
- package/dist/{chunk-56NNBIAO.js → chunk-2DOA43UB.js} +1047 -18
- package/dist/chunk-2DOA43UB.js.map +1 -0
- package/dist/{chunk-7MYTSAPR.js → chunk-37GPMMMT.js} +3 -3
- package/dist/{chunk-7MYTSAPR.js.map → chunk-37GPMMMT.js.map} +1 -1
- package/dist/{chunk-23GSSIMK.cjs → chunk-4ORYTFY3.cjs} +3 -3
- package/dist/{chunk-23GSSIMK.cjs.map → chunk-4ORYTFY3.cjs.map} +1 -1
- package/dist/{chunk-MMO7KO53.cjs → chunk-FNR4B3KY.cjs} +3 -3
- package/dist/{chunk-MMO7KO53.cjs.map → chunk-FNR4B3KY.cjs.map} +1 -1
- package/dist/{chunk-BOQQHICI.js → chunk-GQH5ZHPB.js} +3 -3
- package/dist/{chunk-BOQQHICI.js.map → chunk-GQH5ZHPB.js.map} +1 -1
- package/dist/{chunk-R7UJ7MWP.cjs → chunk-OSNUN5JJ.cjs} +1070 -34
- package/dist/chunk-OSNUN5JJ.cjs.map +1 -0
- package/dist/{chunk-GHBRGMSO.cjs → chunk-PZF3YXVE.cjs} +6 -6
- package/dist/{chunk-GHBRGMSO.cjs.map → chunk-PZF3YXVE.cjs.map} +1 -1
- package/dist/{chunk-UJBXY6QC.cjs → chunk-SSAWZIO2.cjs} +150 -28
- package/dist/chunk-SSAWZIO2.cjs.map +1 -0
- package/dist/{chunk-C6XPQO2O.js → chunk-WLOGUD3G.js} +126 -5
- package/dist/{chunk-C6XPQO2O.js.map → chunk-WLOGUD3G.js.map} +1 -1
- package/dist/{chunk-KTUBCQC3.js → chunk-YHSCAGCI.js} +3 -3
- package/dist/{chunk-KTUBCQC3.js.map → chunk-YHSCAGCI.js.map} +1 -1
- package/dist/color.cjs +39 -39
- package/dist/color.d.cts +5 -4
- package/dist/color.d.ts +5 -4
- package/dist/color.js +3 -3
- package/dist/effects.cjs +53 -25
- package/dist/effects.d.cts +4 -4
- package/dist/effects.d.ts +4 -4
- package/dist/effects.js +4 -4
- package/dist/{index-CQEEPu-D.d.ts → index-DN0bQII7.d.ts} +47 -2
- package/dist/{index-DHOfsEIn.d.cts → index-DmJ3i1Tr.d.cts} +330 -4
- package/dist/{index-Dl8GCsya.d.cts → index-Dv3gw7Mb.d.cts} +47 -2
- package/dist/{index-CCdpefMp.d.ts → index-SO8zHlVo.d.ts} +330 -4
- package/dist/index.cjs +186 -154
- package/dist/index.d.cts +10 -9
- package/dist/index.d.ts +10 -9
- package/dist/index.js +9 -9
- package/dist/math.d.cts +3 -2
- package/dist/math.d.ts +3 -2
- package/dist/noise.d.cts +2 -1
- package/dist/noise.d.ts +2 -1
- package/dist/{palette-6HkVltYU.d.ts → palette-Dcomsp9R.d.cts} +2 -1
- package/dist/{palette-6HkVltYU.d.cts → palette-Dcomsp9R.d.ts} +2 -1
- package/dist/{random--4mSc5Lp.d.cts → random-YnhdaiIx.d.cts} +2 -1
- package/dist/{random--4mSc5Lp.d.ts → random-YnhdaiIx.d.ts} +2 -1
- package/dist/{reduced-motion-D0LUgZle.d.cts → reduced-motion-DaeXwgzb.d.cts} +2 -1
- package/dist/{reduced-motion-D0LUgZle.d.ts → reduced-motion-DaeXwgzb.d.ts} +2 -1
- package/package.json +1 -1
- package/dist/chunk-56NNBIAO.js.map +0 -1
- package/dist/chunk-R7UJ7MWP.cjs.map +0 -1
- package/dist/chunk-UJBXY6QC.cjs.map +0 -1
package/dist/effects.cjs
CHANGED
|
@@ -1,99 +1,127 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('./chunk-
|
|
3
|
+
var chunkOSNUN5JJ_cjs = require('./chunk-OSNUN5JJ.cjs');
|
|
4
|
+
require('./chunk-4ORYTFY3.cjs');
|
|
5
5
|
require('./chunk-DXJ63QAR.cjs');
|
|
6
|
-
require('./chunk-
|
|
7
|
-
require('./chunk-MMO7KO53.cjs');
|
|
6
|
+
require('./chunk-FNR4B3KY.cjs');
|
|
8
7
|
require('./chunk-LGA3N3YJ.cjs');
|
|
9
8
|
require('./chunk-GJRIHN76.cjs');
|
|
9
|
+
require('./chunk-FNR35HTL.cjs');
|
|
10
10
|
require('./chunk-ILKUL7GD.cjs');
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
Object.defineProperty(exports, "ParticleBuffer", {
|
|
15
15
|
enumerable: true,
|
|
16
|
-
get: function () { return
|
|
16
|
+
get: function () { return chunkOSNUN5JJ_cjs.ParticleBuffer; }
|
|
17
17
|
});
|
|
18
18
|
Object.defineProperty(exports, "SpatialGrid", {
|
|
19
19
|
enumerable: true,
|
|
20
|
-
get: function () { return
|
|
20
|
+
get: function () { return chunkOSNUN5JJ_cjs.SpatialGrid; }
|
|
21
21
|
});
|
|
22
22
|
Object.defineProperty(exports, "ageAndCull", {
|
|
23
23
|
enumerable: true,
|
|
24
|
-
get: function () { return
|
|
24
|
+
get: function () { return chunkOSNUN5JJ_cjs.ageAndCull; }
|
|
25
25
|
});
|
|
26
26
|
Object.defineProperty(exports, "animatedGradient", {
|
|
27
27
|
enumerable: true,
|
|
28
|
-
get: function () { return
|
|
28
|
+
get: function () { return chunkOSNUN5JJ_cjs.animatedGradient; }
|
|
29
29
|
});
|
|
30
30
|
Object.defineProperty(exports, "aurora", {
|
|
31
31
|
enumerable: true,
|
|
32
|
-
get: function () { return
|
|
32
|
+
get: function () { return chunkOSNUN5JJ_cjs.aurora; }
|
|
33
33
|
});
|
|
34
34
|
Object.defineProperty(exports, "blob", {
|
|
35
35
|
enumerable: true,
|
|
36
|
-
get: function () { return
|
|
36
|
+
get: function () { return chunkOSNUN5JJ_cjs.blob; }
|
|
37
37
|
});
|
|
38
38
|
Object.defineProperty(exports, "constellation", {
|
|
39
39
|
enumerable: true,
|
|
40
|
-
get: function () { return
|
|
40
|
+
get: function () { return chunkOSNUN5JJ_cjs.constellation; }
|
|
41
41
|
});
|
|
42
42
|
Object.defineProperty(exports, "defineEffect", {
|
|
43
43
|
enumerable: true,
|
|
44
|
-
get: function () { return
|
|
44
|
+
get: function () { return chunkOSNUN5JJ_cjs.defineEffect; }
|
|
45
45
|
});
|
|
46
46
|
Object.defineProperty(exports, "effects", {
|
|
47
47
|
enumerable: true,
|
|
48
|
-
get: function () { return
|
|
48
|
+
get: function () { return chunkOSNUN5JJ_cjs.effects; }
|
|
49
49
|
});
|
|
50
50
|
Object.defineProperty(exports, "fireflies", {
|
|
51
51
|
enumerable: true,
|
|
52
|
-
get: function () { return
|
|
52
|
+
get: function () { return chunkOSNUN5JJ_cjs.fireflies; }
|
|
53
|
+
});
|
|
54
|
+
Object.defineProperty(exports, "floatingGeometry", {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () { return chunkOSNUN5JJ_cjs.floatingGeometry; }
|
|
53
57
|
});
|
|
54
58
|
Object.defineProperty(exports, "integrate", {
|
|
55
59
|
enumerable: true,
|
|
56
|
-
get: function () { return
|
|
60
|
+
get: function () { return chunkOSNUN5JJ_cjs.integrate; }
|
|
61
|
+
});
|
|
62
|
+
Object.defineProperty(exports, "lightRays", {
|
|
63
|
+
enumerable: true,
|
|
64
|
+
get: function () { return chunkOSNUN5JJ_cjs.lightRays; }
|
|
57
65
|
});
|
|
58
66
|
Object.defineProperty(exports, "meshGradient", {
|
|
59
67
|
enumerable: true,
|
|
60
|
-
get: function () { return
|
|
68
|
+
get: function () { return chunkOSNUN5JJ_cjs.meshGradient; }
|
|
61
69
|
});
|
|
62
70
|
Object.defineProperty(exports, "meteors", {
|
|
63
71
|
enumerable: true,
|
|
64
|
-
get: function () { return
|
|
72
|
+
get: function () { return chunkOSNUN5JJ_cjs.meteors; }
|
|
65
73
|
});
|
|
66
74
|
Object.defineProperty(exports, "mountEffect", {
|
|
67
75
|
enumerable: true,
|
|
68
|
-
get: function () { return
|
|
76
|
+
get: function () { return chunkOSNUN5JJ_cjs.mountEffect; }
|
|
69
77
|
});
|
|
70
78
|
Object.defineProperty(exports, "noiseLayer", {
|
|
71
79
|
enumerable: true,
|
|
72
|
-
get: function () { return
|
|
80
|
+
get: function () { return chunkOSNUN5JJ_cjs.noiseLayer; }
|
|
81
|
+
});
|
|
82
|
+
Object.defineProperty(exports, "orbit", {
|
|
83
|
+
enumerable: true,
|
|
84
|
+
get: function () { return chunkOSNUN5JJ_cjs.orbit; }
|
|
73
85
|
});
|
|
74
86
|
Object.defineProperty(exports, "particleField", {
|
|
75
87
|
enumerable: true,
|
|
76
|
-
get: function () { return
|
|
88
|
+
get: function () { return chunkOSNUN5JJ_cjs.particleField; }
|
|
89
|
+
});
|
|
90
|
+
Object.defineProperty(exports, "powderExplosion", {
|
|
91
|
+
enumerable: true,
|
|
92
|
+
get: function () { return chunkOSNUN5JJ_cjs.powderExplosion; }
|
|
77
93
|
});
|
|
78
94
|
Object.defineProperty(exports, "rain", {
|
|
79
95
|
enumerable: true,
|
|
80
|
-
get: function () { return
|
|
96
|
+
get: function () { return chunkOSNUN5JJ_cjs.rain; }
|
|
97
|
+
});
|
|
98
|
+
Object.defineProperty(exports, "smoke", {
|
|
99
|
+
enumerable: true,
|
|
100
|
+
get: function () { return chunkOSNUN5JJ_cjs.smoke; }
|
|
81
101
|
});
|
|
82
102
|
Object.defineProperty(exports, "snow", {
|
|
83
103
|
enumerable: true,
|
|
84
|
-
get: function () { return
|
|
104
|
+
get: function () { return chunkOSNUN5JJ_cjs.snow; }
|
|
85
105
|
});
|
|
86
106
|
Object.defineProperty(exports, "spotlight", {
|
|
87
107
|
enumerable: true,
|
|
88
|
-
get: function () { return
|
|
108
|
+
get: function () { return chunkOSNUN5JJ_cjs.spotlight; }
|
|
109
|
+
});
|
|
110
|
+
Object.defineProperty(exports, "strangeAttractor", {
|
|
111
|
+
enumerable: true,
|
|
112
|
+
get: function () { return chunkOSNUN5JJ_cjs.strangeAttractor; }
|
|
113
|
+
});
|
|
114
|
+
Object.defineProperty(exports, "swarm", {
|
|
115
|
+
enumerable: true,
|
|
116
|
+
get: function () { return chunkOSNUN5JJ_cjs.swarm; }
|
|
89
117
|
});
|
|
90
118
|
Object.defineProperty(exports, "waves", {
|
|
91
119
|
enumerable: true,
|
|
92
|
-
get: function () { return
|
|
120
|
+
get: function () { return chunkOSNUN5JJ_cjs.waves; }
|
|
93
121
|
});
|
|
94
122
|
Object.defineProperty(exports, "wrapBounds", {
|
|
95
123
|
enumerable: true,
|
|
96
|
-
get: function () { return
|
|
124
|
+
get: function () { return chunkOSNUN5JJ_cjs.wrapBounds; }
|
|
97
125
|
});
|
|
98
126
|
//# sourceMappingURL=effects.cjs.map
|
|
99
127
|
//# sourceMappingURL=effects.cjs.map
|
package/dist/effects.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { A as AnimatedGradientOptions, a as AuroraOptions, B as BaseEffectOptions,
|
|
2
|
-
import './reduced-motion-
|
|
3
|
-
import './random
|
|
1
|
+
export { A as AnimatedGradientOptions, a as AttractorKind, b as AuroraOptions, B as BaseEffectOptions, d as BlobOptions, C as ConstellationOptions, E as EffectContext, e as EffectDefinition, f as EffectFrame, g as EffectHandle, h as EffectInstance, i as EffectName, F as FirefliesOptions, j as FloatingGeometryOptions, G as GeometryShape, L as LightRaysOptions, M as MeshGradientOptions, l as MeteorsOptions, N as NoiseLayerOptions, O as OrbitOptions, P as ParticleBuffer, m as ParticleFieldOptions, q as PowderExplosionOptions, R as RainOptions, r as SmokeOptions, s as SnowOptions, t as SpatialGrid, u as SpotlightOptions, v as StrangeAttractorOptions, y as SwarmOptions, W as WavesOptions, z as ageAndCull, D as animatedGradient, H as aurora, I as blob, J as constellation, Q as defineEffect, X as effects, Y as fireflies, Z as floatingGeometry, _ as integrate, $ as lightRays, a0 as meshGradient, a1 as meteors, a2 as mountEffect, a3 as noiseLayer, a4 as orbit, a5 as particleField, a6 as powderExplosion, a7 as rain, a9 as smoke, aa as snow, ab as spotlight, ac as strangeAttractor, ag as swarm, al as waves, am as wrapBounds } from './index-DmJ3i1Tr.cjs';
|
|
2
|
+
import './reduced-motion-DaeXwgzb.cjs';
|
|
3
|
+
import './random-YnhdaiIx.cjs';
|
|
4
4
|
import './noise.cjs';
|
|
5
|
-
import './palette-
|
|
5
|
+
import './palette-Dcomsp9R.cjs';
|
package/dist/effects.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { A as AnimatedGradientOptions, a as AuroraOptions, B as BaseEffectOptions,
|
|
2
|
-
import './reduced-motion-
|
|
3
|
-
import './random
|
|
1
|
+
export { A as AnimatedGradientOptions, a as AttractorKind, b as AuroraOptions, B as BaseEffectOptions, d as BlobOptions, C as ConstellationOptions, E as EffectContext, e as EffectDefinition, f as EffectFrame, g as EffectHandle, h as EffectInstance, i as EffectName, F as FirefliesOptions, j as FloatingGeometryOptions, G as GeometryShape, L as LightRaysOptions, M as MeshGradientOptions, l as MeteorsOptions, N as NoiseLayerOptions, O as OrbitOptions, P as ParticleBuffer, m as ParticleFieldOptions, q as PowderExplosionOptions, R as RainOptions, r as SmokeOptions, s as SnowOptions, t as SpatialGrid, u as SpotlightOptions, v as StrangeAttractorOptions, y as SwarmOptions, W as WavesOptions, z as ageAndCull, D as animatedGradient, H as aurora, I as blob, J as constellation, Q as defineEffect, X as effects, Y as fireflies, Z as floatingGeometry, _ as integrate, $ as lightRays, a0 as meshGradient, a1 as meteors, a2 as mountEffect, a3 as noiseLayer, a4 as orbit, a5 as particleField, a6 as powderExplosion, a7 as rain, a9 as smoke, aa as snow, ab as spotlight, ac as strangeAttractor, ag as swarm, al as waves, am as wrapBounds } from './index-SO8zHlVo.js';
|
|
2
|
+
import './reduced-motion-DaeXwgzb.js';
|
|
3
|
+
import './random-YnhdaiIx.js';
|
|
4
4
|
import './noise.js';
|
|
5
|
-
import './palette-
|
|
5
|
+
import './palette-Dcomsp9R.js';
|
package/dist/effects.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export { ParticleBuffer, SpatialGrid, ageAndCull, animatedGradient, aurora, blob, constellation, defineEffect, effects, fireflies, integrate, meshGradient, meteors, mountEffect, noiseLayer, particleField, rain, snow, spotlight, waves, wrapBounds } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { ParticleBuffer, SpatialGrid, ageAndCull, animatedGradient, aurora, blob, constellation, defineEffect, effects, fireflies, floatingGeometry, integrate, lightRays, meshGradient, meteors, mountEffect, noiseLayer, orbit, particleField, powderExplosion, rain, smoke, snow, spotlight, strangeAttractor, swarm, waves, wrapBounds } from './chunk-2DOA43UB.js';
|
|
2
|
+
import './chunk-YHSCAGCI.js';
|
|
3
3
|
import './chunk-FAVIEION.js';
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-BOQQHICI.js';
|
|
4
|
+
import './chunk-GQH5ZHPB.js';
|
|
6
5
|
import './chunk-QALZKHWH.js';
|
|
7
6
|
import './chunk-7MEIXWPH.js';
|
|
7
|
+
import './chunk-YFQXRC5R.js';
|
|
8
8
|
import './chunk-KU2C6GEA.js';
|
|
9
9
|
//# sourceMappingURL=effects.js.map
|
|
10
10
|
//# sourceMappingURL=effects.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { R as ReducedMotionStrategy } from './reduced-motion-
|
|
1
|
+
import { R as ReducedMotionStrategy } from './reduced-motion-DaeXwgzb.js';
|
|
2
2
|
import { E as EasingInput } from './types-B1FLLf3-.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -61,6 +61,49 @@ declare function defineBehaviour<Options extends BaseBehaviourOptions, El extend
|
|
|
61
61
|
*/
|
|
62
62
|
declare function captureStyles<K extends keyof CSSStyleDeclaration & string>(element: HTMLElement, properties: readonly K[]): () => void;
|
|
63
63
|
|
|
64
|
+
/**
|
|
65
|
+
* Text Scramble — text that resolves out of noise, character by character.
|
|
66
|
+
*
|
|
67
|
+
* **The real text is the source, never the destination.** The element's existing `textContent` is
|
|
68
|
+
* captured on setup and scrambled *from*, rather than the element starting empty and being filled
|
|
69
|
+
* in. This is the same no-JS safety property `scrollReveal` is built around: if this script fails
|
|
70
|
+
* to load, is blocked, or throws, the reader sees the finished text rather than an empty element.
|
|
71
|
+
* An implementation that types into an empty node has shipped blank headlines to a lot of sites.
|
|
72
|
+
*
|
|
73
|
+
* **Whitespace never scrambles.** Spaces and newlines are passed through untouched, so the word
|
|
74
|
+
* shape and line breaks hold still while the glyphs churn. Scrambling spaces makes the text
|
|
75
|
+
* visibly reflow on every frame, which is both uglier and far more expensive.
|
|
76
|
+
*
|
|
77
|
+
* **Glyphs change on their own clock, not per frame.** Swapping every unsettled character every
|
|
78
|
+
* frame ties the churn rate to the refresh rate — unreadably fast at 120 Hz, sluggish at 30. A
|
|
79
|
+
* separate `cycleSpeed` in changes-per-second keeps the texture identical on any display.
|
|
80
|
+
*
|
|
81
|
+
* **Settling is staggered, not simultaneous.** Each character settles at `index × stagger`, so the
|
|
82
|
+
* text resolves as a wave. Settling everything at once is just a cross-fade with extra steps.
|
|
83
|
+
*
|
|
84
|
+
* Operates on the element's text content, so it expects a text-only element — a `<span>` or
|
|
85
|
+
* heading, not a container with child elements, which would be replaced.
|
|
86
|
+
*/
|
|
87
|
+
interface TextScrambleOptions extends BaseBehaviourOptions {
|
|
88
|
+
/** Glyph pool sampled while a character is unsettled. */
|
|
89
|
+
chars?: string;
|
|
90
|
+
/** Seconds a single character churns before settling. Default `0.55`. */
|
|
91
|
+
duration?: number;
|
|
92
|
+
/** Seconds between one character settling and the next. Default `0.035`. */
|
|
93
|
+
stagger?: number;
|
|
94
|
+
/** Glyph changes per second, independent of frame rate. Default `26`. */
|
|
95
|
+
cycleSpeed?: number;
|
|
96
|
+
/** What starts it. Default `'view'`. */
|
|
97
|
+
trigger?: 'mount' | 'view' | 'hover';
|
|
98
|
+
/** Re-run on every re-entry or re-hover rather than only the first. Default `false`. */
|
|
99
|
+
repeat?: boolean;
|
|
100
|
+
/** How much of the element must be visible for the `'view'` trigger, in `[0, 1]`. Default `0.3`. */
|
|
101
|
+
threshold?: number;
|
|
102
|
+
/** Seed for the glyph choices. Default `1`. */
|
|
103
|
+
seed?: number | string;
|
|
104
|
+
}
|
|
105
|
+
declare const textScramble: BehaviourDefinition<TextScrambleOptions, HTMLElement>;
|
|
106
|
+
|
|
64
107
|
/**
|
|
65
108
|
* Ripple — a wave that expands from the point of contact.
|
|
66
109
|
*
|
|
@@ -429,7 +472,9 @@ declare const behaviours: {
|
|
|
429
472
|
readonly 'scroll-reveal': BehaviourDefinition<ScrollRevealOptions, HTMLElement>;
|
|
430
473
|
readonly parallax: BehaviourDefinition<ParallaxOptions, HTMLElement>;
|
|
431
474
|
readonly ripple: BehaviourDefinition<RippleOptions, HTMLElement>;
|
|
475
|
+
readonly 'text-scramble': BehaviourDefinition<TextScrambleOptions, HTMLElement>;
|
|
432
476
|
};
|
|
433
477
|
type BehaviourName = keyof typeof behaviours;
|
|
434
478
|
|
|
435
|
-
export {
|
|
479
|
+
export { tilt as A, behaviours as l, captureStyles as m, defineBehaviour as n, getSplitResult as o, magnetic as p, marquee as q, mountBehaviour as r, parallax as s, ripple as t, scrollReveal as u, split as v, splitText as w, stagger as x, staggerDuration as y, textScramble as z };
|
|
480
|
+
export type { BaseBehaviourOptions as B, MagneticOptions as M, ParallaxOptions as P, RippleOptions as R, StaggerOptions as S, TextScrambleOptions as T, BehaviourDefinition as a, BehaviourHandle as b, BehaviourInstance as c, BehaviourName as d, MarqueeOptions as e, ScrollRevealOptions as f, SplitTextOptions as g, SplitTextResult as h, SplitUnit as i, StaggerFrom as j, TiltOptions as k };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { U as Unsubscribe, R as ReducedMotionStrategy, a as FrameState } from './reduced-motion-
|
|
2
|
-
import { R as Rng } from './random
|
|
1
|
+
import { U as Unsubscribe, R as ReducedMotionStrategy, a as FrameState } from './reduced-motion-DaeXwgzb.cjs';
|
|
2
|
+
import { R as Rng } from './random-YnhdaiIx.cjs';
|
|
3
3
|
import { Noise } from './noise.cjs';
|
|
4
|
-
import { R as Rgb, a as ColorInput, P as PaletteName } from './palette-
|
|
4
|
+
import { R as Rgb, a as ColorInput, P as PaletteName } from './palette-Dcomsp9R.cjs';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Unified pointer tracking.
|
|
@@ -689,6 +689,138 @@ interface ConstellationOptions extends BaseEffectOptions {
|
|
|
689
689
|
}
|
|
690
690
|
declare const constellation: EffectDefinition<ConstellationOptions>;
|
|
691
691
|
|
|
692
|
+
/**
|
|
693
|
+
* Powder explosion — bursts of fine particles that decelerate hard and settle.
|
|
694
|
+
*
|
|
695
|
+
* **Drag is what makes it powder.** Fireworks and powder differ almost entirely in how fast the
|
|
696
|
+
* ejecta lose speed. With low drag, particles travel in near-straight lines and the burst reads as
|
|
697
|
+
* a firework; with drag high enough that most of the speed is gone within a few hundred
|
|
698
|
+
* milliseconds, the same particles bloom outward and then hang, which is what powder does. The
|
|
699
|
+
* default sits deliberately in the second regime.
|
|
700
|
+
*
|
|
701
|
+
* **Ejection speed is skewed, not uniform.** Sampling speed uniformly puts a hard edge on the
|
|
702
|
+
* expanding shell, because every particle reaches its maximum radius at the same moment. Squaring
|
|
703
|
+
* a uniform sample biases toward the slower end, so the burst has a dense core and a sparse
|
|
704
|
+
* fringe — the distribution real ejecta have.
|
|
705
|
+
*
|
|
706
|
+
* **Bursts arrive as a Poisson process.** Fixed intervals read as a machine. Exponential
|
|
707
|
+
* inter-arrival times give the clustering and lulls that make repeated bursts feel incidental,
|
|
708
|
+
* the same reasoning `meteors` uses.
|
|
709
|
+
*/
|
|
710
|
+
interface PowderExplosionOptions extends BaseEffectOptions {
|
|
711
|
+
/** Particles per burst. Default `70`. */
|
|
712
|
+
burstSize?: number;
|
|
713
|
+
/** Average bursts per second. Default `0.8`. */
|
|
714
|
+
burstRate?: number;
|
|
715
|
+
/** Peak ejection speed in pixels per second. Default `420`. */
|
|
716
|
+
force?: number;
|
|
717
|
+
/** Velocity retained per second, in `[0, 1)`. High values are what make it read as powder. Default `0.92`. */
|
|
718
|
+
drag?: number;
|
|
719
|
+
/** Downward acceleration in pixels per second squared. Default `90`. */
|
|
720
|
+
gravity?: number;
|
|
721
|
+
/** Particle lifetime in seconds. Default `1.9`. */
|
|
722
|
+
life?: number;
|
|
723
|
+
/** Particle radius in pixels. Default `2.6`. */
|
|
724
|
+
size?: number;
|
|
725
|
+
/** Glow radius as a multiple of `size`. Default `2.8`. */
|
|
726
|
+
glow?: number;
|
|
727
|
+
/** Burst at the pointer when it is pressed. Default `true`. */
|
|
728
|
+
burstOnPress?: boolean;
|
|
729
|
+
}
|
|
730
|
+
declare const powderExplosion: EffectDefinition<PowderExplosionOptions>;
|
|
731
|
+
|
|
732
|
+
/**
|
|
733
|
+
* Strange attractor — a chaotic map plotted as a drifting cloud of points.
|
|
734
|
+
*
|
|
735
|
+
* The classic 2D attractors (Clifford, de Jong, Svensson) are four-parameter iterated maps. Feed a
|
|
736
|
+
* point back through one repeatedly and it never repeats and never escapes; it wanders forever
|
|
737
|
+
* across a fixed, intricate shape. Plotting many such points at once draws that shape out of noise.
|
|
738
|
+
*
|
|
739
|
+
* **Many walkers, one step each — not one walker, many steps.** The textbook renderer iterates a
|
|
740
|
+
* single point thousands of times per frame and plots every position, which produces a *static*
|
|
741
|
+
* picture drawn progressively. Stepping a few thousand independent walkers once per frame instead
|
|
742
|
+
* gives the same structure while every point is genuinely in motion, which is what makes this work
|
|
743
|
+
* as a background rather than a plot.
|
|
744
|
+
*
|
|
745
|
+
* **Trails come from erasing, not from painting over.** Fading the canvas by drawing a translucent
|
|
746
|
+
* background rectangle would need to know the page's background colour, and would be wrong on any
|
|
747
|
+
* other. Compositing with `destination-out` lowers the alpha of what is already there, so trails
|
|
748
|
+
* fade to *transparent* and the effect stays composable over anything.
|
|
749
|
+
*
|
|
750
|
+
* **The parameters drift.** Held constant, the attractor is a fixed shape with points crawling
|
|
751
|
+
* over it. Moving `a`–`d` slowly on incommensurable sines makes the shape itself breathe and turn
|
|
752
|
+
* inside out, which is where almost all of the visual interest is.
|
|
753
|
+
*/
|
|
754
|
+
/** Which iterated map to plot. All four take the same `a`–`d` parameters. */
|
|
755
|
+
type AttractorKind = 'clifford' | 'dejong' | 'svensson';
|
|
756
|
+
interface StrangeAttractorOptions extends BaseEffectOptions {
|
|
757
|
+
/** Which map to iterate. Default `'clifford'`. */
|
|
758
|
+
kind?: AttractorKind;
|
|
759
|
+
/** Walkers stepped and plotted each frame. Default `2600`. */
|
|
760
|
+
count?: number;
|
|
761
|
+
/** How far the parameters wander from their seeded base. `0` freezes the shape. Default `0.12`. */
|
|
762
|
+
drift?: number;
|
|
763
|
+
/** How fast the parameters wander. Default `0.05`. */
|
|
764
|
+
driftSpeed?: number;
|
|
765
|
+
/** Plotted point radius in pixels. Default `0.9`. */
|
|
766
|
+
size?: number;
|
|
767
|
+
/** Per-point alpha, in `[0, 1]`. Low values are what let density build up. Default `0.34`. */
|
|
768
|
+
pointOpacity?: number;
|
|
769
|
+
/** How quickly trails fade, in `[0, 1]`. `0` leaves permanent trails, `1` clears each frame. Default `0.12`. */
|
|
770
|
+
fade?: number;
|
|
771
|
+
/** Fraction of the smaller canvas dimension the attractor spans. Default `0.42`. */
|
|
772
|
+
scale?: number;
|
|
773
|
+
}
|
|
774
|
+
declare const strangeAttractor: EffectDefinition<StrangeAttractorOptions>;
|
|
775
|
+
|
|
776
|
+
/**
|
|
777
|
+
* Swarm — particles bound to moving attractors, orbiting rather than collapsing.
|
|
778
|
+
*
|
|
779
|
+
* **Pure attraction does not work.** Accelerate particles straight at a point and they all arrive,
|
|
780
|
+
* overshoot, and oscillate through it — within a couple of seconds the field is a flickering line
|
|
781
|
+
* through the centre. Adding a force *perpendicular* to the pull gives each particle angular
|
|
782
|
+
* momentum, so it falls into an orbit instead of a collision. `swirl` is that tangential term, and
|
|
783
|
+
* it is the whole difference between a swarm and a drain.
|
|
784
|
+
*
|
|
785
|
+
* **The force is softened, not inverse-square.** Real gravity goes to infinity at zero distance,
|
|
786
|
+
* which in a fixed timestep means a particle that passes close to an attractor is flung out at
|
|
787
|
+
* enormous speed and never returns. Dividing by `distance + softening` bounds the force, which is
|
|
788
|
+
* the standard fix in n-body simulation and is what keeps the swarm stable indefinitely.
|
|
789
|
+
*
|
|
790
|
+
* **Attractors move on incommensurable Lissajous paths**, so the swarm never settles into a
|
|
791
|
+
* repeating figure — the same reasoning `mesh-gradient` uses for its control points.
|
|
792
|
+
*
|
|
793
|
+
* **Speed drives colour.** Each particle picks its colour from where its speed sits in the palette,
|
|
794
|
+
* so the fast inner orbits and the slow outer ones separate visually. Colouring by index instead
|
|
795
|
+
* would scatter the palette evenly and hide the structure the physics is producing.
|
|
796
|
+
*/
|
|
797
|
+
interface SwarmOptions extends BaseEffectOptions {
|
|
798
|
+
/** Particles. Default `900`. */
|
|
799
|
+
count?: number;
|
|
800
|
+
/** Moving attractors. Default `3`. */
|
|
801
|
+
attractors?: number;
|
|
802
|
+
/**
|
|
803
|
+
* Peak pull, in pixels per second squared — the acceleration a particle feels *at* an
|
|
804
|
+
* attractor. Halves at `softening` pixels away.
|
|
805
|
+
*/
|
|
806
|
+
gravity?: number;
|
|
807
|
+
/** Tangential force as a fraction of the pull. `0` collapses the swarm into the centre. Default `0.85`. */
|
|
808
|
+
swirl?: number;
|
|
809
|
+
/** Distance added to the denominator, bounding the force near an attractor. Default `70`. */
|
|
810
|
+
softening?: number;
|
|
811
|
+
/** Velocity retained per second, in `[0, 1)`. Default `0.45`. */
|
|
812
|
+
drag?: number;
|
|
813
|
+
/** How fast the attractors travel their paths. Default `0.08`. */
|
|
814
|
+
attractorSpeed?: number;
|
|
815
|
+
/** Particle radius in pixels. Default `1.4`. */
|
|
816
|
+
size?: number;
|
|
817
|
+
/** Speed, in pixels per second, treated as the top of the colour ramp. Default `320`. */
|
|
818
|
+
fastSpeed?: number;
|
|
819
|
+
/** Pull toward the pointer, as a multiple of `gravity`. `0` ignores it. Default `1.6`. */
|
|
820
|
+
pointerGravity?: number;
|
|
821
|
+
}
|
|
822
|
+
declare const swarm: EffectDefinition<SwarmOptions>;
|
|
823
|
+
|
|
692
824
|
/**
|
|
693
825
|
* Meteor Shower — streaks that fall across the canvas and fade.
|
|
694
826
|
*
|
|
@@ -802,6 +934,192 @@ interface FirefliesOptions extends BaseEffectOptions {
|
|
|
802
934
|
}
|
|
803
935
|
declare const fireflies: EffectDefinition<FirefliesOptions>;
|
|
804
936
|
|
|
937
|
+
/**
|
|
938
|
+
* Light rays — volumetric shafts fanning from a source point.
|
|
939
|
+
*
|
|
940
|
+
* Three details separate this from a starburst clip-art:
|
|
941
|
+
*
|
|
942
|
+
* **The fan is uneven.** Rays are spaced evenly and then jittered by a fixed per-ray offset drawn
|
|
943
|
+
* once from the seeded RNG. Perfectly even spacing reads as a sunburst *graphic*; real shafts are
|
|
944
|
+
* gaps between whatever is occluding the light, and occluders are not evenly spaced.
|
|
945
|
+
*
|
|
946
|
+
* **Brightness is noise-driven, not sinusoidal.** Each ray samples an fBm field at its own offset,
|
|
947
|
+
* so shafts brighten and fade independently and never fall into a visible collective rhythm — the
|
|
948
|
+
* look of light through moving foliage or drifting dust rather than a pulsing lamp.
|
|
949
|
+
*
|
|
950
|
+
* **One gradient per colour, alpha via `globalAlpha`.** The obvious implementation rebuilds a
|
|
951
|
+
* linear gradient per ray per frame because the brightness changes every frame. Baking brightness
|
|
952
|
+
* into the stops would make the cache key change constantly and defeat it entirely, so the stops
|
|
953
|
+
* are built once at full alpha and the per-ray brightness is applied with `globalAlpha` instead.
|
|
954
|
+
*/
|
|
955
|
+
interface LightRaysOptions extends BaseEffectOptions {
|
|
956
|
+
/** Number of shafts. Default `14`. */
|
|
957
|
+
count?: number;
|
|
958
|
+
/** Source X as a fraction of width. Values outside `[0, 1]` put it off-canvas. Default `0.5`. */
|
|
959
|
+
originX?: number;
|
|
960
|
+
/** Source Y as a fraction of height. Default `-0.25` — above the canvas, so shafts angle down. */
|
|
961
|
+
originY?: number;
|
|
962
|
+
/** Direction the fan points, in radians. `Math.PI / 2` is straight down. Default `1.5708`. */
|
|
963
|
+
angle?: number;
|
|
964
|
+
/** Total angular width of the fan, in radians. Default `1.5`. */
|
|
965
|
+
spread?: number;
|
|
966
|
+
/** Angular half-width of a single shaft, in radians. Default `0.045`. */
|
|
967
|
+
rayWidth?: number;
|
|
968
|
+
/** Shaft length as a multiple of the canvas diagonal. Default `1.4` — always exits the frame. */
|
|
969
|
+
length?: number;
|
|
970
|
+
/** How far along a shaft the light survives, in `[0, 1]`. Higher reaches further. Default `0.5`. */
|
|
971
|
+
falloff?: number;
|
|
972
|
+
/** Lateral edge softness, in `[0, 1]`. `0` gives hard-edged wedges. Default `0.65`. */
|
|
973
|
+
softness?: number;
|
|
974
|
+
/** Depth of the brightness variation, in `[0, 1]`. `0` is a steady fan. Default `0.55`. */
|
|
975
|
+
flicker?: number;
|
|
976
|
+
/** How fast brightness varies. Default `0.35`. */
|
|
977
|
+
flickerSpeed?: number;
|
|
978
|
+
/** Angular sway of the whole fan, in radians. Default `0.06`. */
|
|
979
|
+
sway?: number;
|
|
980
|
+
/** Sway frequency. Default `0.12`. */
|
|
981
|
+
swaySpeed?: number;
|
|
982
|
+
/** How far the source follows the pointer, in `[0, 1]`. Default `0.25`. */
|
|
983
|
+
pointerPull?: number;
|
|
984
|
+
}
|
|
985
|
+
declare const lightRays: EffectDefinition<LightRaysOptions>;
|
|
986
|
+
|
|
987
|
+
/**
|
|
988
|
+
* Smoke — a rising, dissipating plume.
|
|
989
|
+
*
|
|
990
|
+
* **Recycled, never respawned.** A continuous emitter that kills and spawns particles churns the
|
|
991
|
+
* buffer every frame and makes the live count sawtooth. Here a puff that reaches the end of its
|
|
992
|
+
* life is reset in place instead, so the count is constant, the swap-remove path is never taken,
|
|
993
|
+
* and density stays even — which is what a plume actually looks like.
|
|
994
|
+
*
|
|
995
|
+
* **Curl turbulence, not random jitter.** Lateral motion comes from a divergence-free curl field,
|
|
996
|
+
* the same reason `particle-field` uses one: raw noise has sources and sinks, so puffs pool into
|
|
997
|
+
* clumps and leave gaps. Curl preserves density, so the plume stays coherent as it climbs.
|
|
998
|
+
*
|
|
999
|
+
* **The opacity envelope is asymmetric.** A puff reaches full opacity in the first fraction of its
|
|
1000
|
+
* life and then decays slowly over the rest. Smoke becomes visible almost immediately and takes a
|
|
1001
|
+
* long time to disperse; a symmetric fade reads as a light being dimmed up and down.
|
|
1002
|
+
*
|
|
1003
|
+
* **Growth is tied to age, not to velocity.** Real smoke expands as it entrains surrounding air,
|
|
1004
|
+
* which happens on a clock rather than in proportion to how fast it is moving.
|
|
1005
|
+
*/
|
|
1006
|
+
interface SmokeOptions extends BaseEffectOptions {
|
|
1007
|
+
/** Puffs held live at full quality. Default `90`. */
|
|
1008
|
+
count?: number;
|
|
1009
|
+
/** Emitter X as a fraction of width. Default `0.5`. */
|
|
1010
|
+
sourceX?: number;
|
|
1011
|
+
/** Emitter Y as a fraction of height. Default `1.05` — just below frame, so the plume enters. */
|
|
1012
|
+
sourceY?: number;
|
|
1013
|
+
/** Horizontal spawn jitter, in pixels. Default `28`. */
|
|
1014
|
+
spread?: number;
|
|
1015
|
+
/** Buoyancy in pixels per second. Default `54`. */
|
|
1016
|
+
rise?: number;
|
|
1017
|
+
/** Strength of the curl-driven lateral swirl. Default `40`. */
|
|
1018
|
+
turbulence?: number;
|
|
1019
|
+
/** Spatial frequency of the curl field. Higher is more chaotic. Default `0.0035`. */
|
|
1020
|
+
scale?: number;
|
|
1021
|
+
/** Starting puff radius in pixels. Default `16`. */
|
|
1022
|
+
size?: number;
|
|
1023
|
+
/** How much a puff expands over its life, as a multiplier. Default `2.6`. */
|
|
1024
|
+
growth?: number;
|
|
1025
|
+
/** Puff lifetime in seconds. Default `4.5`. */
|
|
1026
|
+
life?: number;
|
|
1027
|
+
/** Velocity retained per second, in `[0, 1)`. Higher slows puffs faster. Default `0.55`. */
|
|
1028
|
+
drag?: number;
|
|
1029
|
+
/** Peak opacity of an individual puff, in `[0, 1]`. Default `0.32`. */
|
|
1030
|
+
density?: number;
|
|
1031
|
+
}
|
|
1032
|
+
declare const smoke: EffectDefinition<SmokeOptions>;
|
|
1033
|
+
|
|
1034
|
+
/**
|
|
1035
|
+
* Floating geometry — polygons drifting in depth.
|
|
1036
|
+
*
|
|
1037
|
+
* **A real perspective divide, not a linear scale.** Depth is projected as
|
|
1038
|
+
* `focal / (focal + z)` rather than lerped between a near and a far size. The difference is
|
|
1039
|
+
* visible: linear scaling spaces the depth planes evenly, so the field reads as flat cut-outs at
|
|
1040
|
+
* different sizes, while the perspective divide compresses the far planes together the way an
|
|
1041
|
+
* actual lens does.
|
|
1042
|
+
*
|
|
1043
|
+
* **Every depth cue moves together.** Size, opacity and drift speed are all derived from the same
|
|
1044
|
+
* projected scale. Depth is only convincing when the cues agree — a shape that is small but moves
|
|
1045
|
+
* as fast as a near one immediately reads as small rather than as distant.
|
|
1046
|
+
*
|
|
1047
|
+
* **Shape names resolve to side counts once, at setup.** The frame loop reads a `Uint8Array`, so
|
|
1048
|
+
* no string comparison happens per shape per frame.
|
|
1049
|
+
*/
|
|
1050
|
+
/** Shapes a field can be built from. `'circle'` is drawn as an arc rather than an n-gon. */
|
|
1051
|
+
type GeometryShape = 'triangle' | 'square' | 'pentagon' | 'hexagon' | 'circle';
|
|
1052
|
+
interface FloatingGeometryOptions extends BaseEffectOptions {
|
|
1053
|
+
/** Number of shapes. Default `18`. */
|
|
1054
|
+
count?: number;
|
|
1055
|
+
/** Which shapes to draw, sampled per instance. Default all five. */
|
|
1056
|
+
shapes?: readonly GeometryShape[];
|
|
1057
|
+
/** Base radius in pixels, before the depth projection. Default `46`. */
|
|
1058
|
+
size?: number;
|
|
1059
|
+
/** Drift speed in pixels per second at the nearest depth. Default `26`. */
|
|
1060
|
+
drift?: number;
|
|
1061
|
+
/** Rotations per second at the fastest. Default `0.06`. */
|
|
1062
|
+
spin?: number;
|
|
1063
|
+
/** Focal length for the projection. Lower exaggerates the depth. Default `1`. */
|
|
1064
|
+
perspective?: number;
|
|
1065
|
+
/** How far back the field extends. Higher means more size falloff. Default `2.6`. */
|
|
1066
|
+
depth?: number;
|
|
1067
|
+
/** Opacity of the furthest shapes relative to the nearest, in `[0, 1]`. Default `0.25`. */
|
|
1068
|
+
haze?: number;
|
|
1069
|
+
/** Fill the shapes instead of stroking them. Default `false`. */
|
|
1070
|
+
filled?: boolean;
|
|
1071
|
+
/** Stroke width in pixels at the nearest depth. Default `1.5`. */
|
|
1072
|
+
lineWidth?: number;
|
|
1073
|
+
}
|
|
1074
|
+
declare const floatingGeometry: EffectDefinition<FloatingGeometryOptions>;
|
|
1075
|
+
|
|
1076
|
+
/**
|
|
1077
|
+
* Orbit — nested rings of points circling a common centre.
|
|
1078
|
+
*
|
|
1079
|
+
* **The 3D read comes from squashing, not from a 3D engine.** Each ring is an ellipse whose
|
|
1080
|
+
* vertical radius is scaled by `tilt`, which is exactly what a circle viewed at an angle projects
|
|
1081
|
+
* to. No matrix maths is needed for a convincing result.
|
|
1082
|
+
*
|
|
1083
|
+
* **Depth is split, not sorted.** The points are drawn in two passes — the far half of every orbit
|
|
1084
|
+
* first, the near half last — with the orbit guides laid down between them. Sorting every point by
|
|
1085
|
+
* depth each frame would be correct too, but the ring geometry already says which half a point is
|
|
1086
|
+
* on (`sin(θ)` *is* the depth), so the split buys the same occlusion for none of the sort cost.
|
|
1087
|
+
*
|
|
1088
|
+
* **Near points are larger *and* brighter.** Scaling alone reads as points of different sizes on a
|
|
1089
|
+
* flat plane; brightness alone reads as a flicker. Moving both together is what makes the ring
|
|
1090
|
+
* read as tilted in space.
|
|
1091
|
+
*
|
|
1092
|
+
* **Adjacent rings counter-rotate by default.** Rings all turning the same way look like one rigid
|
|
1093
|
+
* object spinning; alternating the direction makes them read as independent shells.
|
|
1094
|
+
*/
|
|
1095
|
+
interface OrbitOptions extends BaseEffectOptions {
|
|
1096
|
+
/** Number of concentric rings. Default `3`. */
|
|
1097
|
+
rings?: number;
|
|
1098
|
+
/** Points on each ring. Default `14`. */
|
|
1099
|
+
perRing?: number;
|
|
1100
|
+
/** Outer ring radius as a fraction of the smaller canvas dimension. Default `0.42`. */
|
|
1101
|
+
radius?: number;
|
|
1102
|
+
/** Radius of the innermost ring relative to the outer, in `(0, 1]`. Default `0.45`. */
|
|
1103
|
+
innerRadius?: number;
|
|
1104
|
+
/** Vertical squash of every ring, in `(0, 1]`. `1` is head-on, lower is more tilted. Default `0.34`. */
|
|
1105
|
+
tilt?: number;
|
|
1106
|
+
/** Revolutions per second of the outer ring. Default `0.05`. */
|
|
1107
|
+
orbitSpeed?: number;
|
|
1108
|
+
/** Point radius in pixels. Default `3.2`. */
|
|
1109
|
+
size?: number;
|
|
1110
|
+
/** Glow radius as a multiple of `size`. Default `3`. */
|
|
1111
|
+
glow?: number;
|
|
1112
|
+
/** Reverse every other ring. Default `true`. */
|
|
1113
|
+
counterRotate?: boolean;
|
|
1114
|
+
/** Draw the elliptical orbit paths. Default `true`. */
|
|
1115
|
+
showOrbits?: boolean;
|
|
1116
|
+
/** Opacity of the orbit paths, in `[0, 1]`. Default `0.12`. */
|
|
1117
|
+
orbitOpacity?: number;
|
|
1118
|
+
/** Radius of the glow at the centre, in pixels. `0` omits it. Default `26`. */
|
|
1119
|
+
core?: number;
|
|
1120
|
+
}
|
|
1121
|
+
declare const orbit: EffectDefinition<OrbitOptions>;
|
|
1122
|
+
|
|
805
1123
|
/**
|
|
806
1124
|
* Waves — layered undulating bands.
|
|
807
1125
|
*
|
|
@@ -953,10 +1271,17 @@ declare const effects: {
|
|
|
953
1271
|
readonly 'animated-gradient': EffectDefinition<AnimatedGradientOptions>;
|
|
954
1272
|
readonly 'particle-field': EffectDefinition<ParticleFieldOptions>;
|
|
955
1273
|
readonly constellation: EffectDefinition<ConstellationOptions>;
|
|
1274
|
+
readonly 'powder-explosion': EffectDefinition<PowderExplosionOptions>;
|
|
1275
|
+
readonly 'strange-attractor': EffectDefinition<StrangeAttractorOptions>;
|
|
1276
|
+
readonly swarm: EffectDefinition<SwarmOptions>;
|
|
956
1277
|
readonly meteors: EffectDefinition<MeteorsOptions>;
|
|
957
1278
|
readonly rain: EffectDefinition<RainOptions>;
|
|
958
1279
|
readonly snow: EffectDefinition<SnowOptions>;
|
|
959
1280
|
readonly fireflies: EffectDefinition<FirefliesOptions>;
|
|
1281
|
+
readonly 'light-rays': EffectDefinition<LightRaysOptions>;
|
|
1282
|
+
readonly smoke: EffectDefinition<SmokeOptions>;
|
|
1283
|
+
readonly 'floating-geometry': EffectDefinition<FloatingGeometryOptions>;
|
|
1284
|
+
readonly orbit: EffectDefinition<OrbitOptions>;
|
|
960
1285
|
readonly waves: EffectDefinition<WavesOptions>;
|
|
961
1286
|
readonly blob: EffectDefinition<BlobOptions>;
|
|
962
1287
|
readonly 'noise-layer': EffectDefinition<NoiseLayerOptions>;
|
|
@@ -964,4 +1289,5 @@ declare const effects: {
|
|
|
964
1289
|
};
|
|
965
1290
|
type EffectName = keyof typeof effects;
|
|
966
1291
|
|
|
967
|
-
export {
|
|
1292
|
+
export { lightRays as $, animatedGradient as D, aurora as H, blob as I, constellation as J, createSurface as K, ParticleBuffer as P, defineEffect as Q, drawDot as T, drawGlow as V, effects as X, fireflies as Y, floatingGeometry as Z, integrate as _, meshGradient as a0, meteors as a1, mountEffect as a2, noiseLayer as a3, orbit as a4, particleField as a5, powderExplosion as a6, rain as a7, resetFilterSupport as a8, smoke as a9, snow as aa, spotlight as ab, strangeAttractor as ac, supportsCanvasFilter as ad, supportsOffscreenCanvas as ae, supportsWorkerRendering as af, swarm as ag, traceClosedSpline as ah, traceOpenSpline as ai, traceRoundRect as aj, trackPointer as ak, waves as al, wrapBounds as am, GradientCache as k, SpatialGrid as t, ageAndCull as z };
|
|
1293
|
+
export type { AnimatedGradientOptions as A, BaseEffectOptions as B, ConstellationOptions as C, EffectContext as E, FirefliesOptions as F, GeometryShape as G, LightRaysOptions as L, MeshGradientOptions as M, NoiseLayerOptions as N, OrbitOptions as O, RainOptions as R, Size as S, Unsub as U, WavesOptions as W, AttractorKind as a, AuroraOptions as b, BlendMode as c, BlobOptions as d, EffectDefinition as e, EffectFrame as f, EffectHandle as g, EffectInstance as h, EffectName as i, FloatingGeometryOptions as j, MeteorsOptions as l, ParticleFieldOptions as m, PointerOptions as n, PointerState as o, PointerTracker as p, PowderExplosionOptions as q, SmokeOptions as r, SnowOptions as s, SpotlightOptions as u, StrangeAttractorOptions as v, Surface as w, SurfaceOptions as x, SwarmOptions as y };
|