react-native-smooth-clip-view 0.2.4 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.md +62 -25
  2. package/android/CMakeLists.txt +0 -1
  3. package/android/src/main/cpp/SmoothClipAndroid.h +5 -0
  4. package/android/src/main/cpp/SmoothClipBindings.cpp +28 -8
  5. package/android/src/main/cpp/SmoothClipRegistry.cpp +198 -189
  6. package/android/src/main/java/com/smoothclipview/ClipGeometryNormalizer.kt +61 -11
  7. package/android/src/main/java/com/smoothclipview/SmoothClipBindings.kt +20 -0
  8. package/android/src/main/java/com/smoothclipview/SmoothClipModule.kt +1 -0
  9. package/android/src/main/java/com/smoothclipview/SmoothClipView.kt +105 -34
  10. package/cpp/SmoothClipAnimationCurve.h +468 -0
  11. package/cpp/SmoothClipAnimationId.h +32 -0
  12. package/cpp/SmoothClipRegistry.h +11 -1
  13. package/cpp/SmoothClipVelocityTracker.h +32 -15
  14. package/ios/SmoothClipRegistry.mm +246 -97
  15. package/ios/SmoothClipTurboModule.cpp +4 -2
  16. package/ios/SmoothClipTurboModule.h +2 -1
  17. package/ios/SmoothClipView.mm +73 -16
  18. package/lib/module/NativeSmoothClipModule.js.map +1 -1
  19. package/lib/module/drivers.android.js +3 -1
  20. package/lib/module/drivers.android.js.map +1 -1
  21. package/lib/module/drivers.ios.js +3 -391
  22. package/lib/module/drivers.ios.js.map +1 -1
  23. package/lib/module/drivers.native.js +470 -0
  24. package/lib/module/drivers.native.js.map +1 -0
  25. package/lib/typescript/src/NativeSmoothClipModule.d.ts +1 -1
  26. package/lib/typescript/src/NativeSmoothClipModule.d.ts.map +1 -1
  27. package/lib/typescript/src/driverTypes.d.ts +6 -3
  28. package/lib/typescript/src/driverTypes.d.ts.map +1 -1
  29. package/lib/typescript/src/drivers.android.d.ts +2 -2
  30. package/lib/typescript/src/drivers.android.d.ts.map +1 -1
  31. package/lib/typescript/src/drivers.ios.d.ts +2 -4
  32. package/lib/typescript/src/drivers.ios.d.ts.map +1 -1
  33. package/lib/typescript/src/drivers.native.d.ts +5 -0
  34. package/lib/typescript/src/drivers.native.d.ts.map +1 -0
  35. package/package.json +1 -1
  36. package/src/NativeSmoothClipModule.ts +2 -1
  37. package/src/driverTypes.ts +6 -3
  38. package/src/drivers.android.ts +4 -2
  39. package/src/drivers.ios.ts +4 -687
  40. package/src/drivers.native.ts +805 -0
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","useSharedValue","isRNRuntime","scheduleOnRN","scheduleOnUI","NativeSmoothClipModule","allocateDriverId","attachDriverState","createDriverState","detachDriverState","getDriverState","setDriverState","completeNativeAnimation","synchronizeNativeCompletion","clipPresentationEquals","createClipPresentation","isFiniteClipPresentation","createReactRequest","rejectDriverRequests","resolveReactRequest","INTERACTIVE","NATIVE","setPresentationHostFunction","setClipPresentation","beginInteractionHostFunction","beginInteraction","animateTimingHostFunction","animateTiming","animateSpringHostFunction","animateSpring","animateKeyframesHostFunction","animateKeyframes","rejectAnimationHostFunction","rejectAnimation","cancelAnimationHostFunction","cancelAnimation","destroyDriverHostFunction","destroyDriver","resolver","globalThis","__smoothClipPinnedResolver","reduceMotionCode","value","animationIsFinite","target","animation","from","undefined","type","Number","isFinite","duration","controlPoints","every","mass","stiffness","damping","initialVelocity","frames","length","previousOffset","frame","offset","presentation","presentationFromNative","values","fallback","clip","x","y","width","height","radius","contentTranslateX","contentTranslateY","flattenedKeyframes","push","uiOnly","Error","useSmoothClipDriver","initialValue","options","initialPresentation","ownership","suppressDeliveries","activeAnimationId","scalarsStale","callbackRef","onAnimationComplete","driverRef","current","driverId","reduceMotion","seedPresentation","next","beginOnUI","setOnUI","setScalarsOnUI","animateOnUI","scalarsWereStale","hasInteractiveStart","start","startClip","targetClip","animationId","x1","y1","x2","y2","Math","max","inheritVelocity","cancelOnUI","behavior","driver","kind","ui","set","setScalars","animateTo","cancel","react","requestId","promise","result","currentDriver","state","subscription","onClipAnimationComplete","finished","source","listenerId","nativeDriverId","owner","suppressed","active","stale","setter","last","deliver","addListener","remove","destroy","removeListener"],"sourceRoot":"../../src","sources":["drivers.ios.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useSmoothClipDriver"],"sourceRoot":"../../src","sources":["drivers.ios.ts"],"mappings":";;AAAA;AACA;AACA,SAASA,mBAAmB,QAAQ,qBAAkB","ignoreList":[]}
@@ -0,0 +1,470 @@
1
+ "use strict";
2
+
3
+ // The shared NATIVE driver: iOS and Android both execute this file, via the
4
+ // one-line re-exports in drivers.ios.ts / drivers.android.ts that Metro's
5
+ // platform resolution picks up from index.ts's `./drivers` import. Only the
6
+ // `./smoothClipNative` import below is platform-split. drivers.ts (no
7
+ // suffix) is the web/Reanimated fallback, not this driver's sibling.
8
+ import { useEffect, useRef } from 'react';
9
+ import { useSharedValue } from 'react-native-reanimated';
10
+ import { isRNRuntime, scheduleOnRN, scheduleOnUI } from 'react-native-worklets';
11
+ import NativeSmoothClipModule from './smoothClipNative';
12
+ import { allocateDriverId, attachDriverState, createDriverState, detachDriverState, getDriverState, setDriverState } from "./driverState.js";
13
+ import { completeNativeAnimation, synchronizeNativeCompletion } from "./nativeCompletion.js";
14
+ import { clipPresentationEquals, createClipPresentation, isFiniteClipPresentation } from "./geometry.js";
15
+ import { createReactRequest, rejectDriverRequests, resolveReactRequest } from "./reactRequests.js";
16
+ const INTERACTIVE = 0;
17
+ const NATIVE = 1;
18
+ const setPresentationHostFunction = NativeSmoothClipModule.setClipPresentation;
19
+ const beginInteractionHostFunction = NativeSmoothClipModule.beginInteraction;
20
+
21
+ // The animate* host functions take one argument beyond the TurboModule spec:
22
+ // the Reanimated-rule start stamp in milliseconds (see animateOnUI). Android's
23
+ // JSI bindings read it as an optional trailing argument; the iOS TurboModule
24
+ // reads its declared parameters positionally and ignores extras, so the
25
+ // codegen spec stays untouched and both platforms take the same call. A
26
+ // narrower function is assignable to the widened type, so no cast is needed.
27
+
28
+ const animateTimingHostFunction = NativeSmoothClipModule.animateTiming;
29
+ const animateSpringHostFunction = NativeSmoothClipModule.animateSpring;
30
+ const animateKeyframesHostFunction = NativeSmoothClipModule.animateKeyframes;
31
+ const rejectAnimationHostFunction = NativeSmoothClipModule.rejectAnimation;
32
+ const cancelAnimationHostFunction = NativeSmoothClipModule.cancelAnimation;
33
+ const destroyDriverHostFunction = NativeSmoothClipModule.destroyDriver;
34
+
35
+ // Workaround for react-native-worklets 0.10: the RN-side serialization cache
36
+ // hands out one remote-function registry id per function forever, but the
37
+ // registry entry is deleted as soon as any transient UI-side proxy of that
38
+ // function is garbage collected. A later scheduleOnRN for the same function
39
+ // then reads `undefined` from the registry and aborts in Value::getObject.
40
+ // Pinning one UI-side reference for the app lifetime keeps the proxy — and
41
+ // with it the registry entry — alive. Remove once worklets decouples registry
42
+ // cleanup from proxy lifetime.
43
+ scheduleOnUI(resolver => {
44
+ 'worklet';
45
+
46
+ globalThis.__smoothClipPinnedResolver = resolver;
47
+ }, resolveReactRequest);
48
+ function reduceMotionCode(value) {
49
+ switch (value) {
50
+ case 'always':
51
+ return 1;
52
+ case 'never':
53
+ return 2;
54
+ default:
55
+ return 0;
56
+ }
57
+ }
58
+ function animationIsFinite(target, animation) {
59
+ 'worklet';
60
+
61
+ if (animation.from !== undefined && !isFiniteClipPresentation(animation.from)) {
62
+ // Silently dropping an invalid explicit start would re-open the exact
63
+ // stale-start handoff `from` exists to close — reject the whole call.
64
+ return false;
65
+ }
66
+ if (animation.type === 'timing') {
67
+ return Number.isFinite(animation.duration) && animation.controlPoints.every(Number.isFinite);
68
+ }
69
+ if (animation.type === 'spring') {
70
+ return [animation.mass ?? 1, animation.stiffness ?? 100, animation.damping ?? 10, animation.initialVelocity === 'inherit' ? 0 : animation.initialVelocity ?? 0].every(Number.isFinite);
71
+ }
72
+ if (!Number.isFinite(animation.duration) || animation.frames.length < 2) {
73
+ return false;
74
+ }
75
+ let previousOffset = -1;
76
+ for (const frame of animation.frames) {
77
+ if (!Number.isFinite(frame.offset) || frame.offset < 0 || frame.offset > 1 || frame.offset <= previousOffset || !isFiniteClipPresentation(frame.presentation)) {
78
+ return false;
79
+ }
80
+ previousOffset = frame.offset;
81
+ }
82
+ return animation.frames[0]?.offset === 0 && previousOffset === 1 && clipPresentationEquals(animation.frames[animation.frames.length - 1]?.presentation ?? null, target);
83
+ }
84
+ function presentationFromNative(values, fallback, offset = 0) {
85
+ 'worklet';
86
+
87
+ if (values.length < offset + 7) return fallback;
88
+ const presentation = {
89
+ clip: {
90
+ x: values[offset],
91
+ y: values[offset + 1],
92
+ width: values[offset + 2],
93
+ height: values[offset + 3],
94
+ radius: values[offset + 4]
95
+ },
96
+ contentTranslateX: values[offset + 5],
97
+ contentTranslateY: values[offset + 6]
98
+ };
99
+ return isFiniteClipPresentation(presentation) ? presentation : fallback;
100
+ }
101
+ function flattenedKeyframes(animation) {
102
+ 'worklet';
103
+
104
+ const values = [];
105
+ for (const frame of animation.frames) {
106
+ const {
107
+ clip,
108
+ contentTranslateX,
109
+ contentTranslateY
110
+ } = frame.presentation;
111
+ values.push(frame.offset, clip.x, clip.y, clip.width, clip.height, clip.radius, contentTranslateX, contentTranslateY);
112
+ }
113
+ return values;
114
+ }
115
+ function uiOnly() {
116
+ 'worklet';
117
+
118
+ throw new Error('[SmoothClipView] driver.ui methods must run on the UI runtime. Use driver.react from React code.');
119
+ }
120
+ export function useSmoothClipDriver(initialValue, options = {}) {
121
+ const initialPresentation = 'clip' in initialValue ? initialValue : createClipPresentation(initialValue);
122
+ const presentation = useSharedValue(initialPresentation);
123
+ const ownership = useSharedValue(INTERACTIVE);
124
+ const suppressDeliveries = useSharedValue(0);
125
+ const activeAnimationId = useSharedValue(0);
126
+ // Non-zero after a setScalars hot write: driver.presentation is then stale,
127
+ // so animateTo must start from the native registry's latest value instead
128
+ // of snapping back to the stale SharedValue.
129
+ const scalarsStale = useSharedValue(0);
130
+ // Non-zero between the effect cleanup's native teardown and the next effect
131
+ // run. Native cannot tell "this driver was never seeded" from "this driver
132
+ // was destroyed and erased" — both are a missing registry entry — so the
133
+ // animation entry points would happily create a fresh state for a call that
134
+ // arrives after the hook is gone, leaving a latch that no view starts and no
135
+ // destroy cancels. Only the UI side knows the difference, so it is decided
136
+ // here.
137
+ const disposed = useSharedValue(0);
138
+ const callbackRef = useRef(options.onAnimationComplete);
139
+ const driverRef = useRef(null);
140
+ callbackRef.current = options.onAnimationComplete;
141
+ if (driverRef.current === null) {
142
+ const driverId = allocateDriverId();
143
+ const reduceMotion = reduceMotionCode(options.reduceMotion ?? 'system');
144
+ const seedPresentation = next => {
145
+ 'worklet';
146
+
147
+ if (clipPresentationEquals(presentation.value, next)) return;
148
+ suppressDeliveries.value += 1;
149
+ presentation.value = next;
150
+ // The listener runs synchronously inside that assignment, so the credit
151
+ // is either spent by now or was never spendable. deliver() returns before
152
+ // the decrement whenever the value dedupes against `last` — which happens
153
+ // exactly when native already holds it, e.g. freezing a latch back to the
154
+ // value it started from. An unspent credit would then swallow the next
155
+ // real declarative write and leave native a geometry behind for good.
156
+ if (suppressDeliveries.value > 0) suppressDeliveries.value -= 1;
157
+ };
158
+ const beginOnUI = () => {
159
+ 'worklet';
160
+
161
+ if (disposed.value !== 0) return presentation.value;
162
+ const current = presentationFromNative(beginInteractionHostFunction(driverId), presentation.value);
163
+ activeAnimationId.value = 0;
164
+ ownership.value = INTERACTIVE;
165
+ scalarsStale.value = 0;
166
+ seedPresentation(current);
167
+ return current;
168
+ };
169
+ const setOnUI = next => {
170
+ 'worklet';
171
+
172
+ if (disposed.value !== 0 || !isFiniteClipPresentation(next)) return;
173
+ activeAnimationId.value = 0;
174
+ ownership.value = INTERACTIVE;
175
+ scalarsStale.value = 0;
176
+ const {
177
+ clip,
178
+ contentTranslateX,
179
+ contentTranslateY
180
+ } = next;
181
+ setPresentationHostFunction(driverId, clip.x, clip.y, clip.width, clip.height, clip.radius, contentTranslateX, contentTranslateY, true, false);
182
+ seedPresentation(next);
183
+ };
184
+ const setScalarsOnUI = (x, y, width, height, radius, contentTranslateX, contentTranslateY, overridePendingAnimation = false) => {
185
+ 'worklet';
186
+
187
+ if (disposed.value !== 0 || !Number.isFinite(x) || !Number.isFinite(y) || !Number.isFinite(width) || !Number.isFinite(height) || !Number.isFinite(radius) || !Number.isFinite(contentTranslateX) || !Number.isFinite(contentTranslateY)) {
188
+ return;
189
+ }
190
+ if (activeAnimationId.value !== 0) activeAnimationId.value = 0;
191
+ if (ownership.value !== INTERACTIVE) ownership.value = INTERACTIVE;
192
+ if (scalarsStale.value === 0) scalarsStale.value = 1;
193
+ setPresentationHostFunction(driverId, x, y, width, height, radius, contentTranslateX, contentTranslateY, true, overridePendingAnimation);
194
+ };
195
+ const animateOnUI = (target, animation) => {
196
+ 'worklet';
197
+
198
+ if (!isFiniteClipPresentation(target) || !animationIsFinite(target, animation)) {
199
+ return rejectAnimationHostFunction(driverId);
200
+ }
201
+ // Past the hook's cleanup the native entry is gone for good, and an
202
+ // interactive start here would recreate it as a latch nothing can ever
203
+ // start or cancel. Reject before any side effect — not via
204
+ // rejectAnimation, which would mint an id and a completion for a driver
205
+ // whose JS state is already detached. This is the "unsupported dispatch"
206
+ // arm of the documented 0 contract.
207
+ if (disposed.value !== 0) return 0;
208
+ const from = animation.from;
209
+ if (from !== undefined) {
210
+ // Fused hot write: exactly setScalars(from…) issued immediately
211
+ // before the handoff, so native's latest value — the animation
212
+ // start below — is the caller's explicit presentation. Also
213
+ // re-grabs from a running animation, which the implicit
214
+ // interactive-start path would silently skip.
215
+ setScalarsOnUI(from.clip.x, from.clip.y, from.clip.width, from.clip.height, from.clip.radius, from.contentTranslateX, from.contentTranslateY, true);
216
+ }
217
+
218
+ // After a setScalars hot write the SharedValue no longer matches what
219
+ // is on screen; passing it as the start would snap the animation back.
220
+ // Without an interactive start, native resolves the start from its own
221
+ // latest value instead.
222
+ const scalarsWereStale = scalarsStale.value !== 0;
223
+ const hasInteractiveStart = ownership.value === INTERACTIVE && !scalarsWereStale;
224
+ const start = presentation.value;
225
+ ownership.value = NATIVE;
226
+ presentation.value = target;
227
+ scalarsStale.value = 0;
228
+ const startClip = start.clip;
229
+ const targetClip = target.clip;
230
+ // Reanimated stamps a parallel animation's t0 on this same runtime as
231
+ // `__frameTimestamp || _getAnimationTimestamp()` (valueSetter.ts).
232
+ // Capturing the identical value here and handing it to the integrator
233
+ // keeps clip and content phase-locked in every branch — including a
234
+ // start issued from CALLBACK_INPUT (batched gesture moves), where the
235
+ // dispatching frame's stamp is EARLIER than the call: the native min()
236
+ // anchor alone would adopt that frame stamp while Reanimated, outside
237
+ // its rAF flush where __frameTimestamp is cleared, keeps the wall
238
+ // clock — a lead lasting the whole animation. NaN when the globals are
239
+ // absent (tests, non-worklets runtimes): native then falls back to its
240
+ // own clock plus the min() anchor, the pre-stamp behavior.
241
+ const workletGlobal = globalThis;
242
+ const startedAtMs = workletGlobal.__frameTimestamp || (typeof workletGlobal._getAnimationTimestamp === 'function' ? workletGlobal._getAnimationTimestamp() : Number.NaN);
243
+ let animationId;
244
+ if (animation.type === 'timing') {
245
+ const [x1, y1, x2, y2] = animation.controlPoints;
246
+ animationId = animateTimingHostFunction(driverId, hasInteractiveStart, startClip.x, startClip.y, startClip.width, startClip.height, startClip.radius, start.contentTranslateX, start.contentTranslateY, targetClip.x, targetClip.y, targetClip.width, targetClip.height, targetClip.radius, target.contentTranslateX, target.contentTranslateY, Math.max(0, animation.duration), x1, y1, x2, y2, reduceMotion, startedAtMs);
247
+ } else if (animation.type === 'spring') {
248
+ const inheritVelocity = animation.initialVelocity === undefined || animation.initialVelocity === 'inherit';
249
+ animationId = animateSpringHostFunction(driverId, hasInteractiveStart, startClip.x, startClip.y, startClip.width, startClip.height, startClip.radius, start.contentTranslateX, start.contentTranslateY, targetClip.x, targetClip.y, targetClip.width, targetClip.height, targetClip.radius, target.contentTranslateX, target.contentTranslateY, Math.max(0.0001, animation.mass ?? 1), Math.max(0.0001, animation.stiffness ?? 100), Math.max(0, animation.damping ?? 10), inheritVelocity ? 0 : animation.initialVelocity, inheritVelocity, reduceMotion, startedAtMs);
250
+ } else {
251
+ animationId = animateKeyframesHostFunction(driverId, hasInteractiveStart, startClip.x, startClip.y, startClip.width, startClip.height, startClip.radius, start.contentTranslateX, start.contentTranslateY, targetClip.x, targetClip.y, targetClip.width, targetClip.height, targetClip.radius, target.contentTranslateX, target.contentTranslateY, Math.max(0, animation.duration), flattenedKeyframes(animation), reduceMotion, startedAtMs);
252
+ }
253
+ if (animationId === 0) {
254
+ // The 0 sentinel: off-main, invalid-id, or otherwise unsupported
255
+ // dispatch. A missing driver is accepted when this call carries the
256
+ // authoritative interactive start above; a start-less missing-state
257
+ // request remains unsupported rather than inventing zero geometry.
258
+ // Validation failures never get here (they reject before any side
259
+ // effect with a fresh id and one finished:false completion).
260
+ ownership.value = INTERACTIVE;
261
+ presentation.value = start;
262
+ if (scalarsWereStale) scalarsStale.value = 1;
263
+ activeAnimationId.value = 0;
264
+ return rejectAnimationHostFunction(driverId);
265
+ }
266
+ activeAnimationId.value = animationId;
267
+ return animationId;
268
+ };
269
+ const cancelOnUI = (animationId = 0, behavior = 'current') => {
270
+ 'worklet';
271
+
272
+ // Past the hook's cleanup the native entry is gone; the call would fail
273
+ // defined (handled=false) but it is the last driver.ui path that still
274
+ // crosses into native after the tombstone. Guard it like the rest.
275
+ if (disposed.value !== 0) return presentation.value;
276
+ const values = cancelAnimationHostFunction(driverId, animationId, behavior === 'target' ? 1 : 0);
277
+ if (values.length < 8 || values[0] !== 1) return presentation.value;
278
+ const current = presentationFromNative(values, presentation.value, 1);
279
+ activeAnimationId.value = 0;
280
+ ownership.value = INTERACTIVE;
281
+ scalarsStale.value = 0;
282
+ seedPresentation(current);
283
+ return current;
284
+ };
285
+ const driver = {
286
+ kind: 'hybrid',
287
+ presentation,
288
+ ui: {
289
+ beginInteraction() {
290
+ 'worklet';
291
+
292
+ if (isRNRuntime()) return uiOnly();
293
+ return beginOnUI();
294
+ },
295
+ set(next) {
296
+ 'worklet';
297
+
298
+ if (isRNRuntime()) return uiOnly();
299
+ setOnUI(next);
300
+ },
301
+ setScalars(x, y, width, height, radius, contentTranslateX, contentTranslateY) {
302
+ 'worklet';
303
+
304
+ if (isRNRuntime()) return uiOnly();
305
+ setScalarsOnUI(x, y, width, height, radius, contentTranslateX, contentTranslateY);
306
+ },
307
+ animateTo(target, animation) {
308
+ 'worklet';
309
+
310
+ if (isRNRuntime()) return uiOnly();
311
+ return animateOnUI(target, animation);
312
+ },
313
+ cancel(animationId = 0, behavior = 'current') {
314
+ 'worklet';
315
+
316
+ if (isRNRuntime()) return uiOnly();
317
+ return cancelOnUI(animationId, behavior);
318
+ }
319
+ },
320
+ react: {
321
+ beginInteraction() {
322
+ const {
323
+ requestId,
324
+ promise
325
+ } = createReactRequest(driverId);
326
+ scheduleOnUI(() => {
327
+ 'worklet';
328
+
329
+ const result = beginOnUI();
330
+ scheduleOnRN(resolveReactRequest, driverId, requestId, result);
331
+ });
332
+ return promise;
333
+ },
334
+ set(next) {
335
+ const {
336
+ requestId,
337
+ promise
338
+ } = createReactRequest(driverId);
339
+ scheduleOnUI(() => {
340
+ 'worklet';
341
+
342
+ setOnUI(next);
343
+ scheduleOnRN(resolveReactRequest, driverId, requestId, undefined);
344
+ });
345
+ return promise;
346
+ },
347
+ animateTo(target, animation) {
348
+ const {
349
+ requestId,
350
+ promise
351
+ } = createReactRequest(driverId, true);
352
+ scheduleOnUI(() => {
353
+ 'worklet';
354
+
355
+ const result = animateOnUI(target, animation);
356
+ scheduleOnRN(resolveReactRequest, driverId, requestId, result, true);
357
+ });
358
+ return promise;
359
+ },
360
+ cancel(animationId = 0, behavior = 'current') {
361
+ const {
362
+ requestId,
363
+ promise
364
+ } = createReactRequest(driverId, true);
365
+ scheduleOnUI(() => {
366
+ 'worklet';
367
+
368
+ const result = cancelOnUI(animationId, behavior);
369
+ scheduleOnRN(resolveReactRequest, driverId, requestId, result, true);
370
+ });
371
+ return promise;
372
+ }
373
+ }
374
+ };
375
+ setDriverState(driver, createDriverState(driverId, initialPresentation, presentation, callbackRef, activeAnimationId, ownership));
376
+ driverRef.current = driver;
377
+ }
378
+ const driver = driverRef.current;
379
+ useEffect(() => {
380
+ const currentDriver = driverRef.current;
381
+ if (!currentDriver) return undefined;
382
+ const state = getDriverState(currentDriver);
383
+ const {
384
+ driverId
385
+ } = state;
386
+ // Re-attach on every effect run: StrictMode/<Activity> replay the effect
387
+ // after its cleanup detached this state and destroyed the native driver.
388
+ // The authoritative seed below recreates the native entry in that case.
389
+ attachDriverState(state);
390
+ const subscription = NativeSmoothClipModule.onClipAnimationComplete(result => {
391
+ if (result.driverId !== driverId) return;
392
+ synchronizeNativeCompletion(activeAnimationId, ownership, result.animationId, result.finished);
393
+ completeNativeAnimation(driverId, result.animationId, result.finished);
394
+ });
395
+ scheduleOnUI((source, listenerId, nativeDriverId, owner, suppressed, active, stale, gone, setter) => {
396
+ 'worklet';
397
+
398
+ // First, before the listener or the seed: this effect run owns the
399
+ // driver again, so a StrictMode/<Activity> replay must clear the
400
+ // previous cleanup's tombstone or every later write would be rejected.
401
+ gone.value = 0;
402
+ let last = null;
403
+ const deliver = next => {
404
+ if (!isFiniteClipPresentation(next) || clipPresentationEquals(last, next)) {
405
+ return;
406
+ }
407
+ // Record `last` only for values native has actually observed:
408
+ // deliveries dropped during native ownership must stay eligible
409
+ // for re-delivery once interactive ownership returns.
410
+ if (owner.value !== INTERACTIVE) return;
411
+ if (suppressed.value > 0) {
412
+ suppressed.value -= 1;
413
+ last = next;
414
+ return;
415
+ }
416
+ last = next;
417
+ if (stale.value !== 0) stale.value = 0;
418
+ const {
419
+ clip,
420
+ contentTranslateX,
421
+ contentTranslateY
422
+ } = next;
423
+ setter(nativeDriverId, clip.x, clip.y, clip.width, clip.height, clip.radius, contentTranslateX, contentTranslateY, false, false);
424
+ };
425
+ source.addListener(listenerId, deliver);
426
+ // Authoritative take-ownership seed. Creates the native entry before
427
+ // any view mounts on the ordinary path, and revives a driver destroyed
428
+ // by an effect-replay cleanup (StrictMode/<Activity>) on later runs.
429
+ // An animation worklet can win the scheduling race and create a latch
430
+ // first; Native ownership then marks that intent as newer, so this
431
+ // passive seed must not clear its active id or replay the target value.
432
+ const current = source.value;
433
+ if (owner.value === INTERACTIVE && isFiniteClipPresentation(current)) {
434
+ active.value = 0;
435
+ owner.value = INTERACTIVE;
436
+ stale.value = 0;
437
+ last = current;
438
+ setter(nativeDriverId, current.clip.x, current.clip.y, current.clip.width, current.clip.height, current.clip.radius, current.contentTranslateX, current.contentTranslateY, true, false);
439
+ }
440
+ }, presentation, driverId, driverId, ownership, suppressDeliveries, activeAnimationId, scalarsStale, disposed, setPresentationHostFunction);
441
+ return () => {
442
+ subscription.remove();
443
+ rejectDriverRequests(driverId);
444
+ detachDriverState(state);
445
+ scheduleOnUI((source, listenerId, nativeDriverId, owner, active, stale, suppressed, gone, destroy) => {
446
+ 'worklet';
447
+
448
+ source.removeListener(listenerId);
449
+ destroy(nativeDriverId);
450
+ // StrictMode replays the effect with these same SharedValues. Reset
451
+ // the UI-side tombstone only after native teardown so the next setup
452
+ // can seed or animate without inheriting stale Native ownership.
453
+ active.value = 0;
454
+ owner.value = INTERACTIVE;
455
+ stale.value = 0;
456
+ // Defensive: seedPresentation now reclaims its own unspent credit at
457
+ // the point of issue, so this should already be 0. Kept because the
458
+ // failure mode — one declarative write silently dropped for the rest
459
+ // of the next hook's life — is invisible until someone reports a
460
+ // stale clip rect.
461
+ suppressed.value = 0;
462
+ // Last: the native entry is now erased, so until the next effect run
463
+ // clears this, any call that would recreate it is rejected instead.
464
+ gone.value = 1;
465
+ }, presentation, driverId, driverId, ownership, activeAnimationId, scalarsStale, suppressDeliveries, disposed, destroyDriverHostFunction);
466
+ };
467
+ }, [activeAnimationId, disposed, ownership, presentation, scalarsStale, suppressDeliveries]);
468
+ return driver;
469
+ }
470
+ //# sourceMappingURL=drivers.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useRef","useSharedValue","isRNRuntime","scheduleOnRN","scheduleOnUI","NativeSmoothClipModule","allocateDriverId","attachDriverState","createDriverState","detachDriverState","getDriverState","setDriverState","completeNativeAnimation","synchronizeNativeCompletion","clipPresentationEquals","createClipPresentation","isFiniteClipPresentation","createReactRequest","rejectDriverRequests","resolveReactRequest","INTERACTIVE","NATIVE","setPresentationHostFunction","setClipPresentation","beginInteractionHostFunction","beginInteraction","animateTimingHostFunction","animateTiming","animateSpringHostFunction","animateSpring","animateKeyframesHostFunction","animateKeyframes","rejectAnimationHostFunction","rejectAnimation","cancelAnimationHostFunction","cancelAnimation","destroyDriverHostFunction","destroyDriver","resolver","globalThis","__smoothClipPinnedResolver","reduceMotionCode","value","animationIsFinite","target","animation","from","undefined","type","Number","isFinite","duration","controlPoints","every","mass","stiffness","damping","initialVelocity","frames","length","previousOffset","frame","offset","presentation","presentationFromNative","values","fallback","clip","x","y","width","height","radius","contentTranslateX","contentTranslateY","flattenedKeyframes","push","uiOnly","Error","useSmoothClipDriver","initialValue","options","initialPresentation","ownership","suppressDeliveries","activeAnimationId","scalarsStale","disposed","callbackRef","onAnimationComplete","driverRef","current","driverId","reduceMotion","seedPresentation","next","beginOnUI","setOnUI","setScalarsOnUI","overridePendingAnimation","animateOnUI","scalarsWereStale","hasInteractiveStart","start","startClip","targetClip","workletGlobal","startedAtMs","__frameTimestamp","_getAnimationTimestamp","NaN","animationId","x1","y1","x2","y2","Math","max","inheritVelocity","cancelOnUI","behavior","driver","kind","ui","set","setScalars","animateTo","cancel","react","requestId","promise","result","currentDriver","state","subscription","onClipAnimationComplete","finished","source","listenerId","nativeDriverId","owner","suppressed","active","stale","gone","setter","last","deliver","addListener","remove","destroy","removeListener"],"sourceRoot":"../../src","sources":["drivers.native.ts"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,7 @@ export interface Spec extends TurboModule {
5
5
  animationId: CodegenTypes.Int32;
6
6
  finished: boolean;
7
7
  }>>;
8
- setClipPresentation(driverId: CodegenTypes.Double, x: CodegenTypes.Double, y: CodegenTypes.Double, width: CodegenTypes.Double, height: CodegenTypes.Double, radius: CodegenTypes.Double, contentTranslateX: CodegenTypes.Double, contentTranslateY: CodegenTypes.Double, takeOwnership: boolean): void;
8
+ setClipPresentation(driverId: CodegenTypes.Double, x: CodegenTypes.Double, y: CodegenTypes.Double, width: CodegenTypes.Double, height: CodegenTypes.Double, radius: CodegenTypes.Double, contentTranslateX: CodegenTypes.Double, contentTranslateY: CodegenTypes.Double, takeOwnership: boolean, overridePendingAnimation: boolean): void;
9
9
  beginInteraction(driverId: CodegenTypes.Double): ReadonlyArray<CodegenTypes.Double>;
10
10
  animateTiming(driverId: CodegenTypes.Double, hasInteractiveStart: boolean, startX: CodegenTypes.Double, startY: CodegenTypes.Double, startWidth: CodegenTypes.Double, startHeight: CodegenTypes.Double, startRadius: CodegenTypes.Double, startContentTranslateX: CodegenTypes.Double, startContentTranslateY: CodegenTypes.Double, x: CodegenTypes.Double, y: CodegenTypes.Double, width: CodegenTypes.Double, height: CodegenTypes.Double, radius: CodegenTypes.Double, contentTranslateX: CodegenTypes.Double, contentTranslateY: CodegenTypes.Double, durationMs: CodegenTypes.Double, controlPoint1X: CodegenTypes.Double, controlPoint1Y: CodegenTypes.Double, controlPoint2X: CodegenTypes.Double, controlPoint2Y: CodegenTypes.Double, reduceMotion: CodegenTypes.Int32): CodegenTypes.Int32;
11
11
  animateSpring(driverId: CodegenTypes.Double, hasInteractiveStart: boolean, startX: CodegenTypes.Double, startY: CodegenTypes.Double, startWidth: CodegenTypes.Double, startHeight: CodegenTypes.Double, startRadius: CodegenTypes.Double, startContentTranslateX: CodegenTypes.Double, startContentTranslateY: CodegenTypes.Double, x: CodegenTypes.Double, y: CodegenTypes.Double, width: CodegenTypes.Double, height: CodegenTypes.Double, radius: CodegenTypes.Double, contentTranslateX: CodegenTypes.Double, contentTranslateY: CodegenTypes.Double, mass: CodegenTypes.Double, stiffness: CodegenTypes.Double, damping: CodegenTypes.Double, initialVelocity: CodegenTypes.Double, inheritVelocity: boolean, reduceMotion: CodegenTypes.Int32): CodegenTypes.Int32;
@@ -1 +1 @@
1
- {"version":3,"file":"NativeSmoothClipModule.d.ts","sourceRoot":"","sources":["../../../src/NativeSmoothClipModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NativeSmoothClipModule.d.ts","sourceRoot":"","sources":["../../../src/NativeSmoothClipModule.ts"],"names":[],"mappings":"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"}
@@ -11,9 +11,12 @@ type ClipAnimationBase = Readonly<{
11
11
  * reached native — a gated per-frame reaction may not have flushed it.
12
12
  * Also re-grabs from a running animation (which an implicit interactive
13
13
  * start would silently skip). Non-finite `from` rejects the whole call.
14
- * `driver.presentation.value` is not written from `from` (it stays stale
15
- * until success sets it to the target). Against a held pending-animation
16
- * latch the seed is dropped by design — latch intent wins.
14
+ * On the native drivers `driver.presentation.value` is not written from
15
+ * `from` (it stays stale until success sets it to the target); the web
16
+ * fallback does write it — its presentation SharedValue is the render
17
+ * channel itself. Against a held pending-animation latch, explicit `from`
18
+ * is newer intent: the fused write cancels that latch once unfinished,
19
+ * applies `from`, and starts the replacement from that native value.
17
20
  *
18
21
  * Keyframes interpolate absolutely, so pass `frames[0].presentation` —
19
22
  * the seed renders it before the first animation frame, making the
@@ -1 +1 @@
1
- {"version":3,"file":"driverTypes.d.ts","sourceRoot":"","sources":["../../../src/driverTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driverTypes.d.ts","sourceRoot":"","sources":["../../../src/driverTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAY,CAAC;AAEzD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE7D,8CAA8C;AAC9C,KAAK,iBAAiB,GAAG,QAAQ,CAAC;IAChC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,IAAI,CAAC,EAAE,sBAAsB,CAAC;CAC/B,CAAC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GACjD,QAAQ,CAAC;IACP,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1D,CAAC,CAAC;AAEL,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GACjD,QAAQ,CAAC;IACP,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC,CAAC,CAAC;AAEL,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,GACpD,QAAQ,CAAC;IACP,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,QAAQ,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,sBAAsB,CAAC;KACtC,CAAC,EAAE,CAAC;CACN,CAAC,CAAC;AAEL,MAAM,MAAM,mBAAmB,GAC7B,mBAAmB,GAAG,mBAAmB,GAAG,sBAAsB,CAAC;AAErE,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC7C,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;CAC7D,CAAC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,QAAQ,CAAC;IAC1C,gBAAgB,IAAI,sBAAsB,CAAC;IAC3C,GAAG,CAAC,YAAY,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAChD;;;;;;;;;;;OAWG;IACH,UAAU,CACR,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,MAAM,EACzB,iBAAiB,EAAE,MAAM,GACxB,IAAI,CAAC;IACR,SAAS,CACP,YAAY,EAAE,sBAAsB,EACpC,SAAS,EAAE,mBAAmB,GAC7B,MAAM,CAAC;IACV,MAAM,CACJ,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,SAAS,GAAG,QAAQ,GAC9B,sBAAsB,CAAC;CAC3B,CAAC,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC7C,gBAAgB,IAAI,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACpD,GAAG,CAAC,YAAY,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,SAAS,CACP,YAAY,EAAE,sBAAsB,EACpC,SAAS,EAAE,mBAAmB,GAC7B,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,MAAM,CACJ,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,SAAS,GAAG,QAAQ,GAC9B,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACpC,CAAC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC;IACtC,IAAI,EAAE,QAAQ,CAAC;IACf,YAAY,EAAE,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAClD,EAAE,EAAE,oBAAoB,CAAC;IACzB,KAAK,EAAE,uBAAuB,CAAC;CAChC,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
- export { useSmoothClipDriver } from './drivers.ios.js';
2
- export type { KeyframedClipAnimation, SpringClipAnimation, TimingClipAnimation, } from './drivers.ios.js';
1
+ export { useSmoothClipDriver } from './drivers.native.js';
2
+ export type { KeyframedClipAnimation, SpringClipAnimation, TimingClipAnimation, } from './drivers.native.js';
3
3
  //# sourceMappingURL=drivers.android.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"drivers.android.d.ts","sourceRoot":"","sources":["../../../src/drivers.android.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAe,CAAC;AACpD,YAAY,EACV,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,kBAAe,CAAC"}
1
+ {"version":3,"file":"drivers.android.d.ts","sourceRoot":"","sources":["../../../src/drivers.android.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAkB,CAAC;AACvD,YAAY,EACV,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAkB,CAAC"}
@@ -1,5 +1,3 @@
1
- import type { KeyframedClipAnimation, SmoothClipDriver, SmoothClipDriverOptions, SpringClipAnimation, TimingClipAnimation } from './driverTypes.js';
2
- import { type ClipGeometry, type SmoothClipPresentation } from './geometry.js';
3
- export declare function useSmoothClipDriver(initialValue: ClipGeometry | SmoothClipPresentation, options?: SmoothClipDriverOptions): SmoothClipDriver;
4
- export type { KeyframedClipAnimation, SpringClipAnimation, TimingClipAnimation, };
1
+ export { useSmoothClipDriver } from './drivers.native.js';
2
+ export type { KeyframedClipAnimation, SpringClipAnimation, TimingClipAnimation, } from './drivers.native.js';
5
3
  //# sourceMappingURL=drivers.ios.d.ts.map