react-native-ai-animations 0.0.0-stage → 0.8.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/LICENSE +21 -0
- package/README.md +226 -2
- package/lib/module/brand/index.js +4 -0
- package/lib/module/brand/index.js.map +1 -0
- package/lib/module/brand/spinning-mark.js +96 -0
- package/lib/module/brand/spinning-mark.js.map +1 -0
- package/lib/module/chat/effort-bar.js +853 -0
- package/lib/module/chat/effort-bar.js.map +1 -0
- package/lib/module/chat/index.js +8 -0
- package/lib/module/chat/index.js.map +1 -0
- package/lib/module/chat/question-card.js +720 -0
- package/lib/module/chat/question-card.js.map +1 -0
- package/lib/module/chat/reasoning.js +38 -0
- package/lib/module/chat/reasoning.js.map +1 -0
- package/lib/module/chat/status-row.js +140 -0
- package/lib/module/chat/status-row.js.map +1 -0
- package/lib/module/chat/thinking-block.js +255 -0
- package/lib/module/chat/thinking-block.js.map +1 -0
- package/lib/module/index.js +5 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/internal/color.js +15 -0
- package/lib/module/internal/color.js.map +1 -0
- package/lib/module/internal/use-elapsed.js +20 -0
- package/lib/module/internal/use-elapsed.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/skia/dot-orb.js +256 -0
- package/lib/module/skia/dot-orb.js.map +1 -0
- package/lib/module/skia/index.js +8 -0
- package/lib/module/skia/index.js.map +1 -0
- package/lib/module/skia/liquid-orb.js +303 -0
- package/lib/module/skia/liquid-orb.js.map +1 -0
- package/lib/module/skia/matrix-orb.js +272 -0
- package/lib/module/skia/matrix-orb.js.map +1 -0
- package/lib/module/skia/media-generating.js +524 -0
- package/lib/module/skia/media-generating.js.map +1 -0
- package/lib/module/skia/voice-wave.js +278 -0
- package/lib/module/skia/voice-wave.js.map +1 -0
- package/lib/module/text/index.js +6 -0
- package/lib/module/text/index.js.map +1 -0
- package/lib/module/text/shimmer-text.js +122 -0
- package/lib/module/text/shimmer-text.js.map +1 -0
- package/lib/module/text/spoken-text.js +85 -0
- package/lib/module/text/spoken-text.js.map +1 -0
- package/lib/module/text/streaming-text.js +135 -0
- package/lib/module/text/streaming-text.js.map +1 -0
- package/lib/module/theme/index.js +5 -0
- package/lib/module/theme/index.js.map +1 -0
- package/lib/module/theme/palette.js +45 -0
- package/lib/module/theme/palette.js.map +1 -0
- package/lib/module/theme/provider.js +65 -0
- package/lib/module/theme/provider.js.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/brand/index.d.ts +2 -0
- package/lib/typescript/src/brand/index.d.ts.map +1 -0
- package/lib/typescript/src/brand/spinning-mark.d.ts +21 -0
- package/lib/typescript/src/brand/spinning-mark.d.ts.map +1 -0
- package/lib/typescript/src/chat/effort-bar.d.ts +42 -0
- package/lib/typescript/src/chat/effort-bar.d.ts.map +1 -0
- package/lib/typescript/src/chat/index.d.ts +6 -0
- package/lib/typescript/src/chat/index.d.ts.map +1 -0
- package/lib/typescript/src/chat/question-card.d.ts +73 -0
- package/lib/typescript/src/chat/question-card.d.ts.map +1 -0
- package/lib/typescript/src/chat/reasoning.d.ts +20 -0
- package/lib/typescript/src/chat/reasoning.d.ts.map +1 -0
- package/lib/typescript/src/chat/status-row.d.ts +20 -0
- package/lib/typescript/src/chat/status-row.d.ts.map +1 -0
- package/lib/typescript/src/chat/thinking-block.d.ts +35 -0
- package/lib/typescript/src/chat/thinking-block.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +3 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/internal/color.d.ts +2 -0
- package/lib/typescript/src/internal/color.d.ts.map +1 -0
- package/lib/typescript/src/internal/use-elapsed.d.ts +3 -0
- package/lib/typescript/src/internal/use-elapsed.d.ts.map +1 -0
- package/lib/typescript/src/skia/dot-orb.d.ts +16 -0
- package/lib/typescript/src/skia/dot-orb.d.ts.map +1 -0
- package/lib/typescript/src/skia/index.d.ts +6 -0
- package/lib/typescript/src/skia/index.d.ts.map +1 -0
- package/lib/typescript/src/skia/liquid-orb.d.ts +20 -0
- package/lib/typescript/src/skia/liquid-orb.d.ts.map +1 -0
- package/lib/typescript/src/skia/matrix-orb.d.ts +12 -0
- package/lib/typescript/src/skia/matrix-orb.d.ts.map +1 -0
- package/lib/typescript/src/skia/media-generating.d.ts +59 -0
- package/lib/typescript/src/skia/media-generating.d.ts.map +1 -0
- package/lib/typescript/src/skia/voice-wave.d.ts +17 -0
- package/lib/typescript/src/skia/voice-wave.d.ts.map +1 -0
- package/lib/typescript/src/text/index.d.ts +4 -0
- package/lib/typescript/src/text/index.d.ts.map +1 -0
- package/lib/typescript/src/text/shimmer-text.d.ts +13 -0
- package/lib/typescript/src/text/shimmer-text.d.ts.map +1 -0
- package/lib/typescript/src/text/spoken-text.d.ts +15 -0
- package/lib/typescript/src/text/spoken-text.d.ts.map +1 -0
- package/lib/typescript/src/text/streaming-text.d.ts +16 -0
- package/lib/typescript/src/text/streaming-text.d.ts.map +1 -0
- package/lib/typescript/src/theme/index.d.ts +3 -0
- package/lib/typescript/src/theme/index.d.ts.map +1 -0
- package/lib/typescript/src/theme/palette.d.ts +33 -0
- package/lib/typescript/src/theme/palette.d.ts.map +1 -0
- package/lib/typescript/src/theme/provider.d.ts +13 -0
- package/lib/typescript/src/theme/provider.d.ts.map +1 -0
- package/package.json +133 -4
- package/src/brand/index.ts +5 -0
- package/src/brand/spinning-mark.tsx +118 -0
- package/src/chat/effort-bar.tsx +748 -0
- package/src/chat/index.ts +45 -0
- package/src/chat/question-card.tsx +649 -0
- package/src/chat/reasoning.ts +30 -0
- package/src/chat/status-row.tsx +127 -0
- package/src/chat/thinking-block.tsx +250 -0
- package/src/index.ts +2 -0
- package/src/internal/color.ts +18 -0
- package/src/internal/use-elapsed.ts +21 -0
- package/src/skia/dot-orb.tsx +248 -0
- package/src/skia/index.ts +34 -0
- package/src/skia/liquid-orb.tsx +274 -0
- package/src/skia/matrix-orb.tsx +337 -0
- package/src/skia/media-generating.tsx +389 -0
- package/src/skia/voice-wave.tsx +215 -0
- package/src/text/index.ts +3 -0
- package/src/text/shimmer-text.tsx +140 -0
- package/src/text/spoken-text.tsx +82 -0
- package/src/text/streaming-text.tsx +144 -0
- package/src/theme/index.ts +11 -0
- package/src/theme/palette.ts +62 -0
- package/src/theme/provider.tsx +54 -0
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Canvas, Path, Skia, useClock } from "@shopify/react-native-skia";
|
|
4
|
+
import { useEffect, useMemo } from "react";
|
|
5
|
+
import { Easing, useDerivedValue, useReducedMotion, useSharedValue, withDelay, withRepeat, withSequence, withTiming } from "react-native-reanimated";
|
|
6
|
+
import { useMotionPalette } from "../theme/provider.js";
|
|
7
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
+
const TAU = Math.PI * 2;
|
|
9
|
+
const STILL_TIME = 1800;
|
|
10
|
+
const SCATTER_MS = 700;
|
|
11
|
+
const LOOP_MOVE_MS = 900;
|
|
12
|
+
const LOOP_GATHERED_MS = 1100;
|
|
13
|
+
const LOOP_SCATTERED_MS = 400;
|
|
14
|
+
function fibonacciSphere(count) {
|
|
15
|
+
const points = [];
|
|
16
|
+
const golden = Math.PI * (3 - Math.sqrt(5));
|
|
17
|
+
for (let index = 0; index < count; index += 1) {
|
|
18
|
+
const y = 1 - index / (count - 1) * 2;
|
|
19
|
+
const radius = Math.sqrt(1 - y * y);
|
|
20
|
+
const theta = golden * index;
|
|
21
|
+
points.push(Math.cos(theta) * radius, y, Math.sin(theta) * radius);
|
|
22
|
+
}
|
|
23
|
+
return points;
|
|
24
|
+
}
|
|
25
|
+
function buildEdges(points, limit) {
|
|
26
|
+
const edges = [];
|
|
27
|
+
const count = points.length / 3;
|
|
28
|
+
for (let a = 0; a < count; a += 1) {
|
|
29
|
+
for (let b = a + 1; b < count; b += 1) {
|
|
30
|
+
const dx = points[a * 3] - points[b * 3];
|
|
31
|
+
const dy = points[a * 3 + 1] - points[b * 3 + 1];
|
|
32
|
+
const dz = points[a * 3 + 2] - points[b * 3 + 2];
|
|
33
|
+
if (dx * dx + dy * dy + dz * dz < limit * limit) edges.push(a, b);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const order = [];
|
|
37
|
+
const pairs = edges.length / 2;
|
|
38
|
+
for (let index = 0; index < pairs; index += 1) order.push(index);
|
|
39
|
+
for (let index = pairs - 1; index > 0; index -= 1) {
|
|
40
|
+
const swap = Math.floor((Math.sin(index * 12.9898) * 43758.5453 - Math.floor(Math.sin(index * 12.9898) * 43758.5453)) * (index + 1));
|
|
41
|
+
const temp = order[index];
|
|
42
|
+
order[index] = order[swap];
|
|
43
|
+
order[swap] = temp;
|
|
44
|
+
}
|
|
45
|
+
const shuffled = [];
|
|
46
|
+
order.forEach(pair => shuffled.push(edges[pair * 2], edges[pair * 2 + 1]));
|
|
47
|
+
return shuffled;
|
|
48
|
+
}
|
|
49
|
+
function project(x, y, z, spin, tilt) {
|
|
50
|
+
"worklet";
|
|
51
|
+
|
|
52
|
+
const x1 = x * Math.cos(spin) + z * Math.sin(spin);
|
|
53
|
+
const z1 = -x * Math.sin(spin) + z * Math.cos(spin);
|
|
54
|
+
const y2 = y * Math.cos(tilt) - z1 * Math.sin(tilt);
|
|
55
|
+
const z2 = y * Math.sin(tilt) + z1 * Math.cos(tilt);
|
|
56
|
+
return [x1, y2, z2];
|
|
57
|
+
}
|
|
58
|
+
function smooth(value) {
|
|
59
|
+
"worklet";
|
|
60
|
+
|
|
61
|
+
const t = Math.min(1, Math.max(0, value));
|
|
62
|
+
return t * t * (3 - 2 * t);
|
|
63
|
+
}
|
|
64
|
+
export function DotOrb({
|
|
65
|
+
variant = "orbit",
|
|
66
|
+
size,
|
|
67
|
+
color,
|
|
68
|
+
accent,
|
|
69
|
+
speed = 1,
|
|
70
|
+
dotScale = 1,
|
|
71
|
+
paused = false,
|
|
72
|
+
inset = 0,
|
|
73
|
+
scatter = false,
|
|
74
|
+
style
|
|
75
|
+
}) {
|
|
76
|
+
const palette = useMotionPalette();
|
|
77
|
+
const reduceMotion = useReducedMotion();
|
|
78
|
+
const ink = color ?? palette.text;
|
|
79
|
+
const highlight = accent ?? palette.accent;
|
|
80
|
+
const clock = useClock();
|
|
81
|
+
const layout = useSharedValue({
|
|
82
|
+
width: size ?? 0,
|
|
83
|
+
height: size ?? 0
|
|
84
|
+
});
|
|
85
|
+
const still = reduceMotion || paused;
|
|
86
|
+
const spread = useSharedValue(scatter === true ? 1 : 0);
|
|
87
|
+
useEffect(() => {
|
|
88
|
+
if (reduceMotion) {
|
|
89
|
+
spread.value = scatter === true ? 1 : 0;
|
|
90
|
+
} else if (scatter === "loop") {
|
|
91
|
+
const move = {
|
|
92
|
+
duration: LOOP_MOVE_MS,
|
|
93
|
+
easing: Easing.inOut(Easing.cubic)
|
|
94
|
+
};
|
|
95
|
+
spread.value = withRepeat(withSequence(withDelay(LOOP_GATHERED_MS, withTiming(1, move)), withDelay(LOOP_SCATTERED_MS, withTiming(0, move))), -1);
|
|
96
|
+
} else {
|
|
97
|
+
spread.value = withTiming(scatter ? 1 : 0, {
|
|
98
|
+
duration: SCATTER_MS,
|
|
99
|
+
easing: Easing.out(Easing.cubic)
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}, [reduceMotion, scatter, spread]);
|
|
103
|
+
const sphere = useMemo(() => fibonacciSphere(variant === "constellation" ? 46 : 240), [variant]);
|
|
104
|
+
const edges = useMemo(() => variant === "constellation" ? buildEdges(sphere, 0.6) : [], [sphere, variant]);
|
|
105
|
+
const frame = useDerivedValue(() => {
|
|
106
|
+
const t = (still ? STILL_TIME : clock.value) * 0.001 * speed;
|
|
107
|
+
const width = layout.value.width;
|
|
108
|
+
const height = layout.value.height;
|
|
109
|
+
const cx = width / 2;
|
|
110
|
+
const cy = height / 2;
|
|
111
|
+
const pad = inset * width;
|
|
112
|
+
const radius = Math.min(width - pad * 2, height - pad * 2) * 0.4;
|
|
113
|
+
const s = spread.value;
|
|
114
|
+
let order = 0;
|
|
115
|
+
const dot = Math.max(0.6, radius * 0.045 * dotScale);
|
|
116
|
+
const back = Skia.Path.Make();
|
|
117
|
+
const mid = Skia.Path.Make();
|
|
118
|
+
const front = Skia.Path.Make();
|
|
119
|
+
const accentPath = Skia.Path.Make();
|
|
120
|
+
const lines = Skia.Path.Make();
|
|
121
|
+
let linesOpacity = 0;
|
|
122
|
+
const spot = (x, y) => {
|
|
123
|
+
const px = cx + x * radius;
|
|
124
|
+
const py = cy + y * radius;
|
|
125
|
+
order += 1;
|
|
126
|
+
if (s === 0) return [px, py];
|
|
127
|
+
const hx = Math.sin(order * 12.9898) * 43758.5453;
|
|
128
|
+
const hy = Math.sin(order * 78.233) * 43758.5453;
|
|
129
|
+
const tx = width * (0.06 + 0.88 * (hx - Math.floor(hx)));
|
|
130
|
+
const ty = height * (0.06 + 0.88 * (hy - Math.floor(hy)));
|
|
131
|
+
return [px + (tx - px) * s, py + (ty - py) * s];
|
|
132
|
+
};
|
|
133
|
+
const place = (x, y, z, scale) => {
|
|
134
|
+
const depth = (z + 1) / 2;
|
|
135
|
+
const r = dot * scale * (0.45 + 0.55 * depth);
|
|
136
|
+
const target = z < -0.3 ? back : z < 0.35 ? mid : front;
|
|
137
|
+
const at = spot(x, y);
|
|
138
|
+
target.addCircle(at[0], at[1], r);
|
|
139
|
+
};
|
|
140
|
+
if (variant === "orbit") {
|
|
141
|
+
const spin = t * 0.25;
|
|
142
|
+
const orbits = [[0.35, 0.0, 0.9], [1.15, 0.95, -0.7], [-0.75, 2.2, 1.15]];
|
|
143
|
+
for (let o = 0; o < orbits.length; o += 1) {
|
|
144
|
+
const tiltX = orbits[o][0];
|
|
145
|
+
const rotZ = orbits[o][1];
|
|
146
|
+
const rate = orbits[o][2];
|
|
147
|
+
for (let p = 0; p < 13; p += 1) {
|
|
148
|
+
const theta = p / 13 * TAU + Math.sin(p * 2.3 + o) * 0.25 + t * rate;
|
|
149
|
+
const bx = Math.cos(theta);
|
|
150
|
+
const bz = Math.sin(theta);
|
|
151
|
+
const y1 = -bz * Math.sin(tiltX);
|
|
152
|
+
const z1 = bz * Math.cos(tiltX);
|
|
153
|
+
const x2 = bx * Math.cos(rotZ) - y1 * Math.sin(rotZ);
|
|
154
|
+
const y2 = bx * Math.sin(rotZ) + y1 * Math.cos(rotZ);
|
|
155
|
+
const projected = project(x2, y2, z1, spin, 0.2);
|
|
156
|
+
place(projected[0], projected[1], projected[2], 1.15 + 0.35 * Math.sin(p * 1.7 + o));
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
for (let p = 0; p < 7; p += 1) {
|
|
160
|
+
const a = p * 0.9 + t * 0.6;
|
|
161
|
+
place(Math.cos(a) * 0.22, Math.sin(a * 1.3) * 0.22, Math.sin(a) * 0.5, 1.3);
|
|
162
|
+
}
|
|
163
|
+
} else if (variant === "scan") {
|
|
164
|
+
const spin = t * 0.35;
|
|
165
|
+
const sweep = -1.75 + t * 0.55 % 1 * 3.5;
|
|
166
|
+
for (let index = 0; index < sphere.length; index += 3) {
|
|
167
|
+
const projected = project(sphere[index], sphere[index + 1], sphere[index + 2], spin, 0.28);
|
|
168
|
+
const longitude = Math.atan2(projected[0], projected[2]);
|
|
169
|
+
const near = Math.abs(longitude - sweep);
|
|
170
|
+
if (projected[2] > 0 && near < 0.2) {
|
|
171
|
+
const at = spot(projected[0], projected[1]);
|
|
172
|
+
accentPath.addCircle(at[0], at[1], dot * 0.95 * (1.25 - near * 2));
|
|
173
|
+
} else {
|
|
174
|
+
place(projected[0], projected[1], projected[2], 0.62);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
} else if (variant === "constellation") {
|
|
178
|
+
const spin = t * 0.22;
|
|
179
|
+
const cycle = t % 6.5 / 6.5;
|
|
180
|
+
const grow = smooth(cycle / 0.6);
|
|
181
|
+
linesOpacity = (cycle < 0.85 ? 0.42 : 0.42 * (1 - smooth((cycle - 0.85) / 0.15))) * (1 - s);
|
|
182
|
+
const points = [];
|
|
183
|
+
for (let index = 0; index < sphere.length; index += 3) {
|
|
184
|
+
const projected = project(sphere[index], sphere[index + 1], sphere[index + 2], spin, 0.35);
|
|
185
|
+
points.push(projected[0], projected[1], projected[2]);
|
|
186
|
+
place(projected[0], projected[1], projected[2], 1.05);
|
|
187
|
+
}
|
|
188
|
+
const visible = Math.floor(edges.length / 2 * grow);
|
|
189
|
+
for (let pair = 0; pair < visible; pair += 1) {
|
|
190
|
+
const a = edges[pair * 2] * 3;
|
|
191
|
+
const b = edges[pair * 2 + 1] * 3;
|
|
192
|
+
lines.moveTo(cx + points[a] * radius, cy + points[a + 1] * radius);
|
|
193
|
+
lines.lineTo(cx + points[b] * radius, cy + points[b + 1] * radius);
|
|
194
|
+
}
|
|
195
|
+
} else if (variant === "helix") {
|
|
196
|
+
const spin = t * 0.2;
|
|
197
|
+
for (let strand = 0; strand < 3; strand += 1) {
|
|
198
|
+
for (let step = 0; step < 30; step += 1) {
|
|
199
|
+
const u = step / 29;
|
|
200
|
+
const y = Math.cos(Math.PI * u);
|
|
201
|
+
const ring = Math.sqrt(Math.max(0, 1 - y * y));
|
|
202
|
+
const longitude = strand * TAU / 3 + u * Math.PI * 2.4 + t * 1.1;
|
|
203
|
+
const projected = project(ring * Math.cos(longitude), y, ring * Math.sin(longitude), spin, 0.25);
|
|
204
|
+
place(projected[0], projected[1], projected[2], 0.85 + 0.6 * Math.sin(Math.PI * u));
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
return {
|
|
209
|
+
back,
|
|
210
|
+
mid,
|
|
211
|
+
front,
|
|
212
|
+
accent: accentPath,
|
|
213
|
+
lines,
|
|
214
|
+
linesOpacity
|
|
215
|
+
};
|
|
216
|
+
});
|
|
217
|
+
const back = useDerivedValue(() => frame.value.back);
|
|
218
|
+
const mid = useDerivedValue(() => frame.value.mid);
|
|
219
|
+
const front = useDerivedValue(() => frame.value.front);
|
|
220
|
+
const accentLayer = useDerivedValue(() => frame.value.accent);
|
|
221
|
+
const lines = useDerivedValue(() => frame.value.lines);
|
|
222
|
+
const linesOpacity = useDerivedValue(() => frame.value.linesOpacity);
|
|
223
|
+
return /*#__PURE__*/_jsxs(Canvas, {
|
|
224
|
+
onSize: layout,
|
|
225
|
+
style: [size !== undefined ? {
|
|
226
|
+
width: size,
|
|
227
|
+
height: size
|
|
228
|
+
} : {
|
|
229
|
+
flex: 1,
|
|
230
|
+
alignSelf: "stretch"
|
|
231
|
+
}, style],
|
|
232
|
+
children: [variant === "constellation" ? /*#__PURE__*/_jsx(Path, {
|
|
233
|
+
path: lines,
|
|
234
|
+
style: "stroke",
|
|
235
|
+
strokeWidth: 1,
|
|
236
|
+
color: ink,
|
|
237
|
+
opacity: linesOpacity
|
|
238
|
+
}) : null, /*#__PURE__*/_jsx(Path, {
|
|
239
|
+
path: back,
|
|
240
|
+
color: ink,
|
|
241
|
+
opacity: 0.25
|
|
242
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
243
|
+
path: mid,
|
|
244
|
+
color: ink,
|
|
245
|
+
opacity: 0.55
|
|
246
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
247
|
+
path: front,
|
|
248
|
+
color: ink,
|
|
249
|
+
opacity: 0.95
|
|
250
|
+
}), variant === "scan" ? /*#__PURE__*/_jsx(Path, {
|
|
251
|
+
path: accentLayer,
|
|
252
|
+
color: highlight
|
|
253
|
+
}) : null]
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
//# sourceMappingURL=dot-orb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Canvas","Path","Skia","useClock","useEffect","useMemo","Easing","useDerivedValue","useReducedMotion","useSharedValue","withDelay","withRepeat","withSequence","withTiming","useMotionPalette","jsx","_jsx","jsxs","_jsxs","TAU","Math","PI","STILL_TIME","SCATTER_MS","LOOP_MOVE_MS","LOOP_GATHERED_MS","LOOP_SCATTERED_MS","fibonacciSphere","count","points","golden","sqrt","index","y","radius","theta","push","cos","sin","buildEdges","limit","edges","length","a","b","dx","dy","dz","order","pairs","swap","floor","temp","shuffled","forEach","pair","project","x","z","spin","tilt","x1","z1","y2","z2","smooth","value","t","min","max","DotOrb","variant","size","color","accent","speed","dotScale","paused","inset","scatter","style","palette","reduceMotion","ink","text","highlight","clock","layout","width","height","still","spread","move","duration","easing","inOut","cubic","out","sphere","frame","cx","cy","pad","s","dot","back","Make","mid","front","accentPath","lines","linesOpacity","spot","px","py","hx","hy","tx","ty","place","scale","depth","r","target","at","addCircle","orbits","o","tiltX","rotZ","rate","p","bx","bz","y1","x2","projected","sweep","longitude","atan2","near","abs","cycle","grow","visible","moveTo","lineTo","strand","step","u","ring","accentLayer","onSize","undefined","flex","alignSelf","children","path","strokeWidth","opacity"],"sourceRoot":"../../../src","sources":["skia/dot-orb.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export { DotOrb } from "./dot-orb.js";
|
|
4
|
+
export { MatrixOrb } from "./matrix-orb.js";
|
|
5
|
+
export { ImageGenerating, MEDIA_GENERATING_SIZES, MediaGenerating, MediaGeneratingBlobs, MediaGeneratingConstellation, MediaGeneratingHelix, MediaGeneratingMatrix, MediaGeneratingOrbit, MediaGeneratingScan, VideoGenerating } from "./media-generating.js";
|
|
6
|
+
export { VoiceWave, VoiceWaveBars, VoiceWaveDots, VoiceWaveLines, VoiceWavePulse } from "./voice-wave.js";
|
|
7
|
+
export { LiquidOrb } from "./liquid-orb.js";
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DotOrb","MatrixOrb","ImageGenerating","MEDIA_GENERATING_SIZES","MediaGenerating","MediaGeneratingBlobs","MediaGeneratingConstellation","MediaGeneratingHelix","MediaGeneratingMatrix","MediaGeneratingOrbit","MediaGeneratingScan","VideoGenerating","VoiceWave","VoiceWaveBars","VoiceWaveDots","VoiceWaveLines","VoiceWavePulse","LiquidOrb"],"sourceRoot":"../../../src","sources":["skia/index.ts"],"mappings":";;AAAA,SAASA,MAAM,QAA8C,cAAW;AACxE,SAASC,SAAS,QAAkD,iBAAc;AAClF,SACEC,eAAe,EACfC,sBAAsB,EACtBC,eAAe,EACfC,oBAAoB,EACpBC,4BAA4B,EAC5BC,oBAAoB,EACpBC,qBAAqB,EACrBC,oBAAoB,EACpBC,mBAAmB,EACnBC,eAAe,QAUV,uBAAoB;AAC3B,SACEC,SAAS,EACTC,aAAa,EACbC,aAAa,EACbC,cAAc,EACdC,cAAc,QAIT,iBAAc;AACrB,SAASC,SAAS,QAA0E,iBAAc","ignoreList":[]}
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Blur, Canvas, Fill, Group, Oval, Paint, Path, Shader, Skia } from "@shopify/react-native-skia";
|
|
4
|
+
import { useEffect, useMemo } from "react";
|
|
5
|
+
import { View } from "react-native";
|
|
6
|
+
import { useDerivedValue, useFrameCallback, useReducedMotion, useSharedValue, withSpring } from "react-native-reanimated";
|
|
7
|
+
import { useMotionPalette } from "../theme/provider.js";
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
const MATERIALS = {
|
|
10
|
+
metal: 0,
|
|
11
|
+
water: 1,
|
|
12
|
+
iridescent: 2,
|
|
13
|
+
ring: 1
|
|
14
|
+
};
|
|
15
|
+
const DEFAULT_TINTS = {
|
|
16
|
+
metal: "#B8C0CC",
|
|
17
|
+
water: "#6FA8E8",
|
|
18
|
+
iridescent: "#F2E9FF",
|
|
19
|
+
ring: "#3FA9F5"
|
|
20
|
+
};
|
|
21
|
+
const RING_LAYERS = [{
|
|
22
|
+
lobes: 3,
|
|
23
|
+
speed: 2.1,
|
|
24
|
+
phase: 0,
|
|
25
|
+
amplitude: 1,
|
|
26
|
+
opacity: 1,
|
|
27
|
+
stroke: 2
|
|
28
|
+
}, {
|
|
29
|
+
lobes: 5,
|
|
30
|
+
speed: -1.6,
|
|
31
|
+
phase: 1.7,
|
|
32
|
+
amplitude: 0.7,
|
|
33
|
+
opacity: 0.6,
|
|
34
|
+
stroke: 1.5
|
|
35
|
+
}, {
|
|
36
|
+
lobes: 4,
|
|
37
|
+
speed: 1.2,
|
|
38
|
+
phase: 3.1,
|
|
39
|
+
amplitude: 0.5,
|
|
40
|
+
opacity: 0.4,
|
|
41
|
+
stroke: 1.5
|
|
42
|
+
}];
|
|
43
|
+
const STATE_MOTION = {
|
|
44
|
+
idle: {
|
|
45
|
+
speed: 0.6,
|
|
46
|
+
wobble: 0.7,
|
|
47
|
+
scale: 0.94,
|
|
48
|
+
distortion: 0.8
|
|
49
|
+
},
|
|
50
|
+
listening: {
|
|
51
|
+
speed: 1,
|
|
52
|
+
wobble: 1,
|
|
53
|
+
scale: 1,
|
|
54
|
+
distortion: 1
|
|
55
|
+
},
|
|
56
|
+
thinking: {
|
|
57
|
+
speed: 2.2,
|
|
58
|
+
wobble: 0.45,
|
|
59
|
+
scale: 0.86,
|
|
60
|
+
distortion: 1.5
|
|
61
|
+
},
|
|
62
|
+
speaking: {
|
|
63
|
+
speed: 1.2,
|
|
64
|
+
wobble: 1.2,
|
|
65
|
+
scale: 1.02,
|
|
66
|
+
distortion: 1.1
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
const ORB = Skia.RuntimeEffect.Make(`
|
|
70
|
+
uniform float2 resolution;
|
|
71
|
+
uniform float time;
|
|
72
|
+
uniform float level;
|
|
73
|
+
uniform float wobble;
|
|
74
|
+
uniform float distortion;
|
|
75
|
+
uniform float detail;
|
|
76
|
+
uniform float material;
|
|
77
|
+
uniform float scale;
|
|
78
|
+
uniform float3 tint;
|
|
79
|
+
|
|
80
|
+
float hash(float2 p) {
|
|
81
|
+
return fract(sin(dot(p, float2(127.1, 311.7))) * 43758.5453);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
float noise(float2 p) {
|
|
85
|
+
float2 i = floor(p);
|
|
86
|
+
float2 f = fract(p);
|
|
87
|
+
float2 u = f * f * (3.0 - 2.0 * f);
|
|
88
|
+
return mix(mix(hash(i), hash(i + float2(1.0, 0.0)), u.x), mix(hash(i + float2(0.0, 1.0)), hash(i + float2(1.0, 1.0)), u.x), u.y);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
float fbm(float2 p) {
|
|
92
|
+
float v = 0.0;
|
|
93
|
+
float a = 0.5;
|
|
94
|
+
for (int k = 0; k < 4; k++) {
|
|
95
|
+
v += a * noise(p);
|
|
96
|
+
p = p * 2.03 + float2(1.7, 9.2);
|
|
97
|
+
a *= 0.5;
|
|
98
|
+
}
|
|
99
|
+
return v;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
half4 main(float2 xy) {
|
|
103
|
+
float2 c = resolution * 0.5;
|
|
104
|
+
float R = min(resolution.x, resolution.y) * 0.34 * scale;
|
|
105
|
+
float2 p = (xy - c) / R;
|
|
106
|
+
float ang = atan(p.y, p.x);
|
|
107
|
+
float t = time;
|
|
108
|
+
float w = wobble * (0.06 * sin(3.0 * ang + t * 1.3) + 0.04 * sin(5.0 * ang - t * 0.9) + 0.03 * sin(2.0 * ang + t * 0.6));
|
|
109
|
+
w += level * (0.07 * sin(4.0 * ang + t * 3.1) + 0.05 * sin(7.0 * ang - t * 2.3) + 0.06);
|
|
110
|
+
float rad = 1.0 + w;
|
|
111
|
+
float d = length(p) - rad;
|
|
112
|
+
float aa = 1.5 / R;
|
|
113
|
+
float mask = 1.0 - smoothstep(-aa, aa, d);
|
|
114
|
+
|
|
115
|
+
float2 q = p / rad;
|
|
116
|
+
float z = sqrt(max(0.0, 1.0 - dot(q, q)));
|
|
117
|
+
float3 n = normalize(float3(q, z));
|
|
118
|
+
float2 wp = q * detail * 1.6 + float2(t * 0.25, -t * 0.18);
|
|
119
|
+
float warp = fbm(wp + fbm(wp + t * 0.15) * 1.5);
|
|
120
|
+
n = normalize(n + distortion * float3(warp - 0.5, fbm(wp * 1.3 + 3.1) - 0.5, 0.0) * 1.4);
|
|
121
|
+
|
|
122
|
+
float3 v = float3(0.0, 0.0, 1.0);
|
|
123
|
+
float fres = pow(1.0 - max(0.0, n.z), 2.5);
|
|
124
|
+
float3 L = normalize(float3(-0.45, -0.6, 0.7));
|
|
125
|
+
float spec = pow(max(0.0, dot(reflect(-L, n), v)), 48.0);
|
|
126
|
+
float3 col = float3(0.0);
|
|
127
|
+
float alpha = 0.0;
|
|
128
|
+
|
|
129
|
+
if (material < 0.5) {
|
|
130
|
+
float3 rv = reflect(-v, n);
|
|
131
|
+
float band = rv.y + 0.35 * fbm(rv.xy * 2.5 + t * 0.2);
|
|
132
|
+
float env = smoothstep(-0.06, 0.06, band) * 0.85 + 0.1;
|
|
133
|
+
float stripes = 0.5 + 0.5 * sin(rv.x * 7.0 + warp * 6.0);
|
|
134
|
+
col = mix(float3(0.05, 0.05, 0.06), float3(0.93, 0.93, 0.96), env * 0.7 + stripes * 0.3);
|
|
135
|
+
col = mix(col, tint, 0.12) + spec * 0.9 + fres * 0.15;
|
|
136
|
+
alpha = 1.0;
|
|
137
|
+
} else if (material < 1.5) {
|
|
138
|
+
float3 deep = tint * 0.5;
|
|
139
|
+
float3 shallow = mix(tint, float3(1.0), 0.55);
|
|
140
|
+
col = mix(shallow, deep, z * 0.75);
|
|
141
|
+
float sparkle = smoothstep(0.6, 0.76, fbm(q * detail * 4.0 + t * 0.6));
|
|
142
|
+
col += sparkle * 0.4 + fres * float3(0.7, 0.9, 1.0) * 0.85 + spec;
|
|
143
|
+
alpha = 0.8 + fres * 0.2;
|
|
144
|
+
} else {
|
|
145
|
+
float th = fres * 1.6 + warp * 0.9 + t * 0.05;
|
|
146
|
+
float3 film = 0.5 + 0.5 * cos(6.2831 * (th + float3(0.0, 0.33, 0.67)));
|
|
147
|
+
col = mix(float3(0.97), film, 0.55 * fres + 0.25);
|
|
148
|
+
col = mix(col, tint, 0.1) + spec * 1.2;
|
|
149
|
+
alpha = 0.16 + fres * 0.78 + spec;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
alpha = clamp(alpha, 0.0, 1.0) * mask;
|
|
153
|
+
float glow = (material > 0.5 && material < 1.5) ? exp(-max(d, 0.0) * 8.0) * (0.35 + level * 0.3) * (1.0 - mask) : 0.0;
|
|
154
|
+
float3 rgb = col * alpha + tint * glow;
|
|
155
|
+
return half4(half3(rgb), half(alpha + glow));
|
|
156
|
+
}
|
|
157
|
+
`);
|
|
158
|
+
function RingLayer({
|
|
159
|
+
index,
|
|
160
|
+
size,
|
|
161
|
+
time,
|
|
162
|
+
level,
|
|
163
|
+
scale,
|
|
164
|
+
still,
|
|
165
|
+
color
|
|
166
|
+
}) {
|
|
167
|
+
const layer = RING_LAYERS[index];
|
|
168
|
+
const path = useDerivedValue(() => {
|
|
169
|
+
const center = size / 2;
|
|
170
|
+
const base = size * 0.3 * scale.value;
|
|
171
|
+
const amp = size * 0.14 * layer.amplitude * (0.12 + level.value * 0.88);
|
|
172
|
+
const t = (still ? 2.4 : time.value) * layer.speed + layer.phase;
|
|
173
|
+
const next = Skia.Path.Make();
|
|
174
|
+
for (let step = 0; step <= 96; step += 1) {
|
|
175
|
+
const theta = step / 96 * Math.PI * 2;
|
|
176
|
+
const r = base + amp * Math.sin(layer.lobes * theta + t) * Math.cos(2 * theta - t * 0.7);
|
|
177
|
+
const x = center + Math.cos(theta) * r;
|
|
178
|
+
const y = center + Math.sin(theta) * r;
|
|
179
|
+
if (step === 0) next.moveTo(x, y);else next.lineTo(x, y);
|
|
180
|
+
}
|
|
181
|
+
next.close();
|
|
182
|
+
return next;
|
|
183
|
+
}, [size, still]);
|
|
184
|
+
return /*#__PURE__*/_jsx(Path, {
|
|
185
|
+
path: path,
|
|
186
|
+
style: "stroke",
|
|
187
|
+
strokeWidth: layer.stroke * (size / 120),
|
|
188
|
+
strokeJoin: "round",
|
|
189
|
+
color: color,
|
|
190
|
+
opacity: layer.opacity
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
export function LiquidOrb({
|
|
194
|
+
material = "water",
|
|
195
|
+
state = "idle",
|
|
196
|
+
level,
|
|
197
|
+
size = 200,
|
|
198
|
+
speed = 1,
|
|
199
|
+
wobble = 0.6,
|
|
200
|
+
distortion = 0.5,
|
|
201
|
+
detail = 1,
|
|
202
|
+
tint,
|
|
203
|
+
colors,
|
|
204
|
+
shadow = true,
|
|
205
|
+
style
|
|
206
|
+
}) {
|
|
207
|
+
const palette = useMotionPalette();
|
|
208
|
+
const reduceMotion = useReducedMotion();
|
|
209
|
+
const color = tint ?? DEFAULT_TINTS[material];
|
|
210
|
+
const rgb = useMemo(() => {
|
|
211
|
+
const parsed = Skia.Color(color);
|
|
212
|
+
return [parsed[0], parsed[1], parsed[2]];
|
|
213
|
+
}, [color]);
|
|
214
|
+
const motion = STATE_MOTION[state];
|
|
215
|
+
const time = useSharedValue(0);
|
|
216
|
+
const smooth = useSharedValue(0);
|
|
217
|
+
const rate = useSharedValue(motion.speed * speed);
|
|
218
|
+
const shape = useSharedValue(motion.scale);
|
|
219
|
+
const wob = useSharedValue(motion.wobble * wobble);
|
|
220
|
+
const dist = useSharedValue(motion.distortion * distortion);
|
|
221
|
+
const fallback = useSharedValue(0);
|
|
222
|
+
const input = level ?? fallback;
|
|
223
|
+
const listensToLevel = state === "listening" || state === "speaking";
|
|
224
|
+
useEffect(() => {
|
|
225
|
+
const config = {
|
|
226
|
+
damping: 18,
|
|
227
|
+
stiffness: 120,
|
|
228
|
+
mass: 1
|
|
229
|
+
};
|
|
230
|
+
rate.value = withSpring(motion.speed * speed, config);
|
|
231
|
+
shape.value = reduceMotion ? motion.scale : withSpring(motion.scale, config);
|
|
232
|
+
wob.value = withSpring(motion.wobble * wobble, config);
|
|
233
|
+
dist.value = withSpring(motion.distortion * distortion, config);
|
|
234
|
+
}, [dist, distortion, motion, rate, reduceMotion, shape, speed, wob, wobble]);
|
|
235
|
+
useFrameCallback(info => {
|
|
236
|
+
const delta = Math.min(0.05, (info.timeSincePreviousFrame ?? 16) / 1000);
|
|
237
|
+
time.value += delta * rate.value;
|
|
238
|
+
const target = listensToLevel ? Math.min(1, Math.max(0, input.value)) : state === "thinking" ? 0.15 + 0.1 * Math.sin(time.value * 3) : 0;
|
|
239
|
+
smooth.value += (target - smooth.value) * Math.min(1, delta * 9);
|
|
240
|
+
}, !reduceMotion);
|
|
241
|
+
const uniforms = useDerivedValue(() => ({
|
|
242
|
+
resolution: [size, size],
|
|
243
|
+
time: reduceMotion ? 2.4 : time.value,
|
|
244
|
+
level: smooth.value,
|
|
245
|
+
wobble: wob.value,
|
|
246
|
+
distortion: dist.value,
|
|
247
|
+
detail,
|
|
248
|
+
material: MATERIALS[material],
|
|
249
|
+
scale: shape.value,
|
|
250
|
+
tint: rgb
|
|
251
|
+
}), [detail, material, rgb, size, reduceMotion]);
|
|
252
|
+
const shadowWidth = useDerivedValue(() => size * 0.5 * shape.value * (1 + smooth.value * 0.08));
|
|
253
|
+
const shadowX = useDerivedValue(() => (size - shadowWidth.value) / 2);
|
|
254
|
+
const shadowOpacity = material === "iridescent" ? 0.1 : material === "water" ? 0.16 : 0.22;
|
|
255
|
+
const ring = material === "ring";
|
|
256
|
+
const hasShadow = shadow && !ring;
|
|
257
|
+
const ringColors = colors ?? [color, color, color];
|
|
258
|
+
if (!ORB) return null;
|
|
259
|
+
return /*#__PURE__*/_jsx(View, {
|
|
260
|
+
style: [{
|
|
261
|
+
width: size,
|
|
262
|
+
height: size * (hasShadow ? 1.12 : 1)
|
|
263
|
+
}, style],
|
|
264
|
+
children: /*#__PURE__*/_jsxs(Canvas, {
|
|
265
|
+
style: {
|
|
266
|
+
width: size,
|
|
267
|
+
height: size * (hasShadow ? 1.12 : 1)
|
|
268
|
+
},
|
|
269
|
+
children: [hasShadow ? /*#__PURE__*/_jsx(Group, {
|
|
270
|
+
layer: /*#__PURE__*/_jsx(Paint, {
|
|
271
|
+
children: /*#__PURE__*/_jsx(Blur, {
|
|
272
|
+
blur: size * 0.05
|
|
273
|
+
})
|
|
274
|
+
}),
|
|
275
|
+
children: /*#__PURE__*/_jsx(Oval, {
|
|
276
|
+
x: shadowX,
|
|
277
|
+
y: size * 0.98,
|
|
278
|
+
width: shadowWidth,
|
|
279
|
+
height: size * 0.07,
|
|
280
|
+
color: palette.text,
|
|
281
|
+
opacity: shadowOpacity
|
|
282
|
+
})
|
|
283
|
+
}) : null, ring ? RING_LAYERS.map((_, index) => /*#__PURE__*/_jsx(RingLayer, {
|
|
284
|
+
index: index,
|
|
285
|
+
size: size,
|
|
286
|
+
time: time,
|
|
287
|
+
level: smooth,
|
|
288
|
+
scale: shape,
|
|
289
|
+
still: reduceMotion,
|
|
290
|
+
color: ringColors[index]
|
|
291
|
+
}, index)) : /*#__PURE__*/_jsx(Group, {
|
|
292
|
+
clip: Skia.XYWHRect(0, 0, size, size),
|
|
293
|
+
children: /*#__PURE__*/_jsx(Fill, {
|
|
294
|
+
children: /*#__PURE__*/_jsx(Shader, {
|
|
295
|
+
source: ORB,
|
|
296
|
+
uniforms: uniforms
|
|
297
|
+
})
|
|
298
|
+
})
|
|
299
|
+
})]
|
|
300
|
+
})
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
//# sourceMappingURL=liquid-orb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Blur","Canvas","Fill","Group","Oval","Paint","Path","Shader","Skia","useEffect","useMemo","View","useDerivedValue","useFrameCallback","useReducedMotion","useSharedValue","withSpring","useMotionPalette","jsx","_jsx","jsxs","_jsxs","MATERIALS","metal","water","iridescent","ring","DEFAULT_TINTS","RING_LAYERS","lobes","speed","phase","amplitude","opacity","stroke","STATE_MOTION","idle","wobble","scale","distortion","listening","thinking","speaking","ORB","RuntimeEffect","Make","RingLayer","index","size","time","level","still","color","layer","path","center","base","value","amp","t","next","step","theta","Math","PI","r","sin","cos","x","y","moveTo","lineTo","close","style","strokeWidth","strokeJoin","LiquidOrb","material","state","detail","tint","colors","shadow","palette","reduceMotion","rgb","parsed","Color","motion","smooth","rate","shape","wob","dist","fallback","input","listensToLevel","config","damping","stiffness","mass","info","delta","min","timeSincePreviousFrame","target","max","uniforms","resolution","shadowWidth","shadowX","shadowOpacity","hasShadow","ringColors","width","height","children","blur","text","map","_","clip","XYWHRect","source"],"sourceRoot":"../../../src","sources":["skia/liquid-orb.tsx"],"mappings":"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","ignoreList":[]}
|