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,272 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Canvas, Fill, Shader, Skia } from "@shopify/react-native-skia";
|
|
4
|
+
import { useEffect, useMemo } from "react";
|
|
5
|
+
import { PixelRatio, StyleSheet } from "react-native";
|
|
6
|
+
import { useDerivedValue, useFrameCallback, useReducedMotion, useSharedValue } from "react-native-reanimated";
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
const STATES = ["idle", "listening", "thinking"];
|
|
9
|
+
const STATE_SCALE = [0.88, 1, 0.92];
|
|
10
|
+
const STIFFNESS = 180;
|
|
11
|
+
const DAMPING = 26;
|
|
12
|
+
const ATTACK = 0.22;
|
|
13
|
+
const RELEASE = 0.08;
|
|
14
|
+
const BLEND = 0.16;
|
|
15
|
+
const FRAME_RATE = 60;
|
|
16
|
+
const MAX_DELTA = 0.05;
|
|
17
|
+
const MIN_DOTS = 3;
|
|
18
|
+
const DEFAULT_DOTS = 11;
|
|
19
|
+
const DEFAULT_SIZE = 240;
|
|
20
|
+
const DEFAULT_COLOR = "#FFFFFF";
|
|
21
|
+
const ORB_SPAN = 0.74;
|
|
22
|
+
const ORB_DOT = 0.6;
|
|
23
|
+
const ORB_BLOOM = 1.7;
|
|
24
|
+
const ORB_CUTOFF = 1.12;
|
|
25
|
+
const ORB_REACH = 1;
|
|
26
|
+
const COVER_DOT = 0.42;
|
|
27
|
+
const COVER_BLOOM = 0.55;
|
|
28
|
+
const COVER_CUTOFF = 2.0;
|
|
29
|
+
const COVER_MARGIN = 0.85;
|
|
30
|
+
const COVER_REACH = 0.7;
|
|
31
|
+
const MATRIX_ORB = Skia.RuntimeEffect.Make(`
|
|
32
|
+
uniform float2 resolution;
|
|
33
|
+
uniform float2 counts;
|
|
34
|
+
uniform float spacing;
|
|
35
|
+
uniform float dotScale;
|
|
36
|
+
uniform float bloom;
|
|
37
|
+
uniform float cutoff;
|
|
38
|
+
uniform float reach;
|
|
39
|
+
uniform float time;
|
|
40
|
+
uniform float amplitude;
|
|
41
|
+
uniform float scale;
|
|
42
|
+
uniform float3 weights;
|
|
43
|
+
uniform float feather;
|
|
44
|
+
uniform float4 tint;
|
|
45
|
+
|
|
46
|
+
float orbiter(float2 n, float radius, float speed, float phase, float spread) {
|
|
47
|
+
float angle = time * speed + phase;
|
|
48
|
+
float2 delta = n - float2(cos(angle), sin(angle)) * radius;
|
|
49
|
+
return exp(-dot(delta, delta) / (spread * spread));
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
float idleIntensity(float d) {
|
|
53
|
+
return 0.62 + 0.12 * sin(time * 1.05 - d * 2.4);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
float listeningIntensity(float d) {
|
|
57
|
+
float ripple = 0.5 + 0.5 * sin(d * 4.2 - time * 3.0);
|
|
58
|
+
return 0.32 + amplitude * (0.34 + 0.38 * ripple);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
float thinkingIntensity(float2 n) {
|
|
62
|
+
float heat = orbiter(n, 0.62, 2.2, 0.0, 0.42)
|
|
63
|
+
+ orbiter(n, 0.4, -1.7, 2.1, 0.36)
|
|
64
|
+
+ orbiter(n, 0.8, 1.15, 4.0, 0.34);
|
|
65
|
+
return 0.26 + 0.8 * min(1.0, heat);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
half4 main(float2 xy) {
|
|
69
|
+
float2 span = (counts - 1.0) * 0.5;
|
|
70
|
+
float maxRadius = spacing * dotScale;
|
|
71
|
+
float2 center = resolution * 0.5;
|
|
72
|
+
float stride = spacing * scale;
|
|
73
|
+
float2 origin = floor((xy - center) / stride + span + 0.5);
|
|
74
|
+
|
|
75
|
+
float cover = 0.0;
|
|
76
|
+
|
|
77
|
+
for (int iy = 0; iy < 3; iy++) {
|
|
78
|
+
for (int ix = 0; ix < 3; ix++) {
|
|
79
|
+
float2 cell = origin + float2(float(ix) - 1.0, float(iy) - 1.0);
|
|
80
|
+
float2 edge = min(cell, counts - 1.0 - cell);
|
|
81
|
+
|
|
82
|
+
if (min(edge.x, edge.y) >= 0.0) {
|
|
83
|
+
float2 n = (cell - span) / span;
|
|
84
|
+
float d = length(n);
|
|
85
|
+
|
|
86
|
+
if (d <= cutoff) {
|
|
87
|
+
float blended = weights.x * idleIntensity(d)
|
|
88
|
+
+ weights.y * listeningIntensity(d)
|
|
89
|
+
+ weights.z * thinkingIntensity(n / reach);
|
|
90
|
+
float intensity = clamp(blended, 0.0, 1.0);
|
|
91
|
+
float radius = maxRadius * exp(-d * d * bloom) * intensity * scale;
|
|
92
|
+
|
|
93
|
+
if (radius >= feather) {
|
|
94
|
+
float dist = length(xy - (center + (cell - span) * stride));
|
|
95
|
+
cover = max(
|
|
96
|
+
cover,
|
|
97
|
+
1.0 - smoothstep(radius - feather, radius + feather, dist)
|
|
98
|
+
);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
float alpha = cover * tint.a;
|
|
106
|
+
return half4(half3(tint.rgb) * half(alpha), half(alpha));
|
|
107
|
+
}
|
|
108
|
+
`);
|
|
109
|
+
function stateIndex(state) {
|
|
110
|
+
return Math.max(STATES.indexOf(state), 0);
|
|
111
|
+
}
|
|
112
|
+
function oneHot(index) {
|
|
113
|
+
return STATES.map((_, position) => position === index ? 1 : 0);
|
|
114
|
+
}
|
|
115
|
+
function envelope(time) {
|
|
116
|
+
"worklet";
|
|
117
|
+
|
|
118
|
+
const slow = 0.5 + 0.5 * Math.sin(time * 0.62 + 0.4);
|
|
119
|
+
const fast = 0.5 + 0.5 * Math.sin(time * 1.9 + 1.1);
|
|
120
|
+
return 0.22 + 0.78 * (0.45 + 0.55 * slow) * fast;
|
|
121
|
+
}
|
|
122
|
+
function levelAt(level, time) {
|
|
123
|
+
"worklet";
|
|
124
|
+
|
|
125
|
+
if (level === undefined || !Number.isFinite(level)) {
|
|
126
|
+
return envelope(time);
|
|
127
|
+
}
|
|
128
|
+
return Math.min(1, Math.max(0, level));
|
|
129
|
+
}
|
|
130
|
+
function orbField(size, dots) {
|
|
131
|
+
"worklet";
|
|
132
|
+
|
|
133
|
+
return {
|
|
134
|
+
counts: [dots, dots],
|
|
135
|
+
spacing: size * ORB_SPAN / (dots - 1),
|
|
136
|
+
dotScale: ORB_DOT,
|
|
137
|
+
bloom: ORB_BLOOM,
|
|
138
|
+
cutoff: ORB_CUTOFF,
|
|
139
|
+
reach: ORB_REACH
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
function coverField(width, height, dots) {
|
|
143
|
+
"worklet";
|
|
144
|
+
|
|
145
|
+
const spacing = Math.min(width, height) / (dots - 1);
|
|
146
|
+
const across = Math.ceil(width / (spacing * COVER_MARGIN)) + 1;
|
|
147
|
+
const down = Math.ceil(height / (spacing * COVER_MARGIN)) + 1;
|
|
148
|
+
return {
|
|
149
|
+
counts: [Math.max(across, MIN_DOTS), Math.max(down, MIN_DOTS)],
|
|
150
|
+
spacing,
|
|
151
|
+
dotScale: COVER_DOT,
|
|
152
|
+
bloom: COVER_BLOOM,
|
|
153
|
+
cutoff: COVER_CUTOFF,
|
|
154
|
+
reach: COVER_REACH
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
export function MatrixOrb({
|
|
158
|
+
state = "idle",
|
|
159
|
+
level,
|
|
160
|
+
size = DEFAULT_SIZE,
|
|
161
|
+
cover = false,
|
|
162
|
+
color = DEFAULT_COLOR,
|
|
163
|
+
stateColors,
|
|
164
|
+
dots = DEFAULT_DOTS
|
|
165
|
+
}) {
|
|
166
|
+
const reduceMotion = useReducedMotion();
|
|
167
|
+
const grid = Math.max(MIN_DOTS, Math.round(dots));
|
|
168
|
+
const feather = 0.5 / PixelRatio.get();
|
|
169
|
+
const tints = useMemo(() => STATES.map(name => Array.from(Skia.Color(stateColors?.[name] ?? color))), [color, stateColors]);
|
|
170
|
+
const layout = useSharedValue(cover ? {
|
|
171
|
+
width: 0,
|
|
172
|
+
height: 0
|
|
173
|
+
} : {
|
|
174
|
+
width: size,
|
|
175
|
+
height: size
|
|
176
|
+
});
|
|
177
|
+
const target = useSharedValue(stateIndex(state));
|
|
178
|
+
const requested = useSharedValue(level);
|
|
179
|
+
const motion = useSharedValue({
|
|
180
|
+
stamp: 0,
|
|
181
|
+
time: 0,
|
|
182
|
+
amplitude: 0,
|
|
183
|
+
scale: STATE_SCALE[stateIndex(state)],
|
|
184
|
+
velocity: 0,
|
|
185
|
+
weights: oneHot(stateIndex(state))
|
|
186
|
+
});
|
|
187
|
+
useEffect(() => {
|
|
188
|
+
const index = stateIndex(state);
|
|
189
|
+
target.value = index;
|
|
190
|
+
requested.value = level;
|
|
191
|
+
if (reduceMotion) {
|
|
192
|
+
motion.value = {
|
|
193
|
+
stamp: 0,
|
|
194
|
+
time: 0,
|
|
195
|
+
amplitude: levelAt(level, 0),
|
|
196
|
+
scale: STATE_SCALE[index],
|
|
197
|
+
velocity: 0,
|
|
198
|
+
weights: oneHot(index)
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
}, [level, motion, reduceMotion, requested, state, target]);
|
|
202
|
+
useFrameCallback(info => {
|
|
203
|
+
const current = target.value;
|
|
204
|
+
const previous = motion.value;
|
|
205
|
+
const elapsed = previous.stamp === 0 ? 0 : info.timestamp - previous.stamp;
|
|
206
|
+
const delta = Math.min(elapsed / 1000, MAX_DELTA);
|
|
207
|
+
if (delta <= 0) {
|
|
208
|
+
motion.value = {
|
|
209
|
+
...previous,
|
|
210
|
+
stamp: info.timestamp
|
|
211
|
+
};
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
const time = previous.time + delta;
|
|
215
|
+
const desired = levelAt(requested.value, time);
|
|
216
|
+
const rate = desired > previous.amplitude ? ATTACK : RELEASE;
|
|
217
|
+
const amplitude = previous.amplitude + (desired - previous.amplitude) * (1 - Math.pow(1 - rate, delta * FRAME_RATE));
|
|
218
|
+
const step = 1 - Math.pow(1 - BLEND, delta * FRAME_RATE);
|
|
219
|
+
const weights = previous.weights.map((weight, index) => weight + ((index === current ? 1 : 0) - weight) * step);
|
|
220
|
+
const velocity = previous.velocity + (-STIFFNESS * (previous.scale - STATE_SCALE[current]) - DAMPING * previous.velocity) * delta;
|
|
221
|
+
motion.value = {
|
|
222
|
+
stamp: info.timestamp,
|
|
223
|
+
time,
|
|
224
|
+
amplitude,
|
|
225
|
+
scale: previous.scale + velocity * delta,
|
|
226
|
+
velocity,
|
|
227
|
+
weights
|
|
228
|
+
};
|
|
229
|
+
}, !reduceMotion);
|
|
230
|
+
const uniforms = useDerivedValue(() => {
|
|
231
|
+
const width = Math.max(layout.value.width, 1);
|
|
232
|
+
const height = Math.max(layout.value.height, 1);
|
|
233
|
+
const field = cover ? coverField(width, height, grid) : orbField(Math.min(width, height), grid);
|
|
234
|
+
return {
|
|
235
|
+
resolution: [width, height],
|
|
236
|
+
counts: field.counts,
|
|
237
|
+
spacing: field.spacing,
|
|
238
|
+
dotScale: field.dotScale,
|
|
239
|
+
bloom: field.bloom,
|
|
240
|
+
cutoff: field.cutoff,
|
|
241
|
+
reach: field.reach,
|
|
242
|
+
time: motion.value.time,
|
|
243
|
+
amplitude: motion.value.amplitude,
|
|
244
|
+
scale: motion.value.scale,
|
|
245
|
+
weights: motion.value.weights,
|
|
246
|
+
feather,
|
|
247
|
+
tint: [0, 1, 2, 3].map(channel => tints.reduce((sum, value, index) => sum + value[channel] * (motion.value.weights[index] ?? 0), 0) / Math.max(motion.value.weights.reduce((sum, weight) => sum + weight, 0), 0.0001))
|
|
248
|
+
};
|
|
249
|
+
});
|
|
250
|
+
if (!MATRIX_ORB) {
|
|
251
|
+
return null;
|
|
252
|
+
}
|
|
253
|
+
return /*#__PURE__*/_jsx(Canvas, {
|
|
254
|
+
onSize: layout,
|
|
255
|
+
style: cover ? styles.cover : {
|
|
256
|
+
width: size,
|
|
257
|
+
height: size
|
|
258
|
+
},
|
|
259
|
+
children: /*#__PURE__*/_jsx(Fill, {
|
|
260
|
+
children: /*#__PURE__*/_jsx(Shader, {
|
|
261
|
+
source: MATRIX_ORB,
|
|
262
|
+
uniforms: uniforms
|
|
263
|
+
})
|
|
264
|
+
})
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
const styles = StyleSheet.create({
|
|
268
|
+
cover: {
|
|
269
|
+
flex: 1
|
|
270
|
+
}
|
|
271
|
+
});
|
|
272
|
+
//# sourceMappingURL=matrix-orb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Canvas","Fill","Shader","Skia","useEffect","useMemo","PixelRatio","StyleSheet","useDerivedValue","useFrameCallback","useReducedMotion","useSharedValue","jsx","_jsx","STATES","STATE_SCALE","STIFFNESS","DAMPING","ATTACK","RELEASE","BLEND","FRAME_RATE","MAX_DELTA","MIN_DOTS","DEFAULT_DOTS","DEFAULT_SIZE","DEFAULT_COLOR","ORB_SPAN","ORB_DOT","ORB_BLOOM","ORB_CUTOFF","ORB_REACH","COVER_DOT","COVER_BLOOM","COVER_CUTOFF","COVER_MARGIN","COVER_REACH","MATRIX_ORB","RuntimeEffect","Make","stateIndex","state","Math","max","indexOf","oneHot","index","map","_","position","envelope","time","slow","sin","fast","levelAt","level","undefined","Number","isFinite","min","orbField","size","dots","counts","spacing","dotScale","bloom","cutoff","reach","coverField","width","height","across","ceil","down","MatrixOrb","cover","color","stateColors","reduceMotion","grid","round","feather","get","tints","name","Array","from","Color","layout","target","requested","motion","stamp","amplitude","scale","velocity","weights","value","info","current","previous","elapsed","timestamp","delta","desired","rate","pow","step","weight","uniforms","field","resolution","tint","channel","reduce","sum","onSize","style","styles","children","source","create","flex"],"sourceRoot":"../../../src","sources":["skia/matrix-orb.tsx"],"mappings":"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","ignoreList":[]}
|