react-native-smooth-clip-view 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +132 -388
- package/android/build.gradle +3 -3
- package/android/proguard-rules.pro +2 -2
- package/android/src/main/cpp/SmoothClipAndroid.h +9 -12
- package/android/src/main/cpp/SmoothClipBindings.cpp +300 -704
- package/android/src/main/cpp/SmoothClipRegistry.cpp +348 -594
- package/android/src/main/java/com/smoothclipview/ClipGeometryNormalizer.kt +36 -227
- package/android/src/main/java/com/smoothclipview/SmoothClipBindings.kt +16 -19
- package/android/src/main/java/com/smoothclipview/SmoothClipModule.kt +36 -294
- package/android/src/main/java/com/smoothclipview/SmoothClipView.kt +344 -488
- package/android/src/main/java/com/smoothclipview/SmoothClipViewManager.kt +75 -77
- package/cpp/SmoothClipAnimationCurve.h +237 -346
- package/cpp/SmoothClipRegistry.h +24 -52
- package/cpp/SmoothClipSharedGeometry.h +64 -94
- package/cpp/SmoothClipVelocityTracker.h +5 -5
- package/ios/SmoothClipGeometry.h +23 -34
- package/ios/SmoothClipRegistry.mm +206 -711
- package/ios/SmoothClipTurboModule.cpp +217 -715
- package/ios/SmoothClipTurboModule.h +54 -297
- package/ios/SmoothClipView.mm +599 -505
- package/ios/SmoothClipViewRegistry.h +2 -7
- package/lib/module/NativeSmoothClipModule.js.map +1 -1
- package/lib/module/SmoothClipView.ios.js +84 -17
- package/lib/module/SmoothClipView.ios.js.map +1 -1
- package/lib/module/SmoothClipView.js +1 -1
- package/lib/module/SmoothClipView.js.map +1 -1
- package/lib/module/SmoothClipViewNativeComponent.ts +20 -26
- package/lib/module/capabilities.native.js +1 -19
- package/lib/module/capabilities.native.js.map +1 -1
- package/lib/module/capabilityTypes.js +0 -9
- package/lib/module/capabilityTypes.js.map +1 -1
- package/lib/module/controllerInternals.js +28 -0
- package/lib/module/controllerInternals.js.map +1 -0
- package/lib/module/controllerLifecycle.js +9 -0
- package/lib/module/controllerLifecycle.js.map +1 -0
- package/lib/module/controllerTypes.js +4 -0
- package/lib/module/controllerTypes.js.map +1 -0
- package/lib/module/controllers.android.js +4 -0
- package/lib/module/controllers.android.js.map +1 -0
- package/lib/module/controllers.ios.js +4 -0
- package/lib/module/controllers.ios.js.map +1 -0
- package/lib/module/controllers.js +4 -0
- package/lib/module/controllers.js.map +1 -0
- package/lib/module/controllers.native.js +89 -0
- package/lib/module/controllers.native.js.map +1 -0
- package/lib/module/geometry.js +71 -51
- package/lib/module/geometry.js.map +1 -1
- package/lib/module/groupTypes.js +4 -0
- package/lib/module/{groupDriverTypes.js.map → groupTypes.js.map} +1 -1
- package/lib/module/groups.android.js +4 -0
- package/lib/module/groups.android.js.map +1 -0
- package/lib/module/groups.ios.js +4 -0
- package/lib/module/groups.ios.js.map +1 -0
- package/lib/module/groups.js +4 -0
- package/lib/module/groups.js.map +1 -0
- package/lib/module/groups.native.js +399 -0
- package/lib/module/groups.native.js.map +1 -0
- package/lib/module/ids.js +8 -0
- package/lib/module/ids.js.map +1 -0
- package/lib/module/index.js +3 -3
- package/lib/module/index.js.map +1 -1
- package/lib/module/nativeCompletion.js +37 -16
- package/lib/module/nativeCompletion.js.map +1 -1
- package/lib/module/presentationCodec.js +81 -0
- package/lib/module/presentationCodec.js.map +1 -0
- package/lib/typescript/src/NativeSmoothClipModule.d.ts +14 -23
- package/lib/typescript/src/NativeSmoothClipModule.d.ts.map +1 -1
- package/lib/typescript/src/SmoothClipView.d.ts +1 -1
- package/lib/typescript/src/SmoothClipView.d.ts.map +1 -1
- package/lib/typescript/src/SmoothClipView.ios.d.ts +18 -14
- package/lib/typescript/src/SmoothClipView.ios.d.ts.map +1 -1
- package/lib/typescript/src/SmoothClipViewNativeComponent.d.ts +10 -5
- package/lib/typescript/src/SmoothClipViewNativeComponent.d.ts.map +1 -1
- package/lib/typescript/src/capabilities.native.d.ts +1 -1
- package/lib/typescript/src/capabilities.native.d.ts.map +1 -1
- package/lib/typescript/src/capabilityTypes.d.ts +0 -6
- package/lib/typescript/src/capabilityTypes.d.ts.map +1 -1
- package/lib/typescript/src/controllerInternals.d.ts +14 -0
- package/lib/typescript/src/controllerInternals.d.ts.map +1 -0
- package/lib/typescript/src/controllerLifecycle.d.ts +3 -0
- package/lib/typescript/src/controllerLifecycle.d.ts.map +1 -0
- package/lib/typescript/src/controllerTypes.d.ts +62 -0
- package/lib/typescript/src/controllerTypes.d.ts.map +1 -0
- package/lib/typescript/src/controllers.android.d.ts +2 -0
- package/lib/typescript/src/controllers.android.d.ts.map +1 -0
- package/lib/typescript/src/controllers.d.ts +2 -0
- package/lib/typescript/src/controllers.d.ts.map +1 -0
- package/lib/typescript/src/controllers.ios.d.ts +2 -0
- package/lib/typescript/src/controllers.ios.d.ts.map +1 -0
- package/lib/typescript/src/controllers.native.d.ts +3 -0
- package/lib/typescript/src/controllers.native.d.ts.map +1 -0
- package/lib/typescript/src/geometry.d.ts +22 -12
- package/lib/typescript/src/geometry.d.ts.map +1 -1
- package/lib/typescript/src/groupTypes.d.ts +31 -0
- package/lib/typescript/src/groupTypes.d.ts.map +1 -0
- package/lib/typescript/src/groups.android.d.ts +2 -0
- package/lib/typescript/src/groups.android.d.ts.map +1 -0
- package/lib/typescript/src/groups.d.ts +2 -0
- package/lib/typescript/src/groups.d.ts.map +1 -0
- package/lib/typescript/src/groups.ios.d.ts +2 -0
- package/lib/typescript/src/groups.ios.d.ts.map +1 -0
- package/lib/typescript/src/groups.native.d.ts +3 -0
- package/lib/typescript/src/groups.native.d.ts.map +1 -0
- package/lib/typescript/src/ids.d.ts +2 -0
- package/lib/typescript/src/ids.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +6 -6
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/nativeCompletion.d.ts +16 -6
- package/lib/typescript/src/nativeCompletion.d.ts.map +1 -1
- package/lib/typescript/src/presentationCodec.d.ts +10 -0
- package/lib/typescript/src/presentationCodec.d.ts.map +1 -0
- package/package.json +8 -3
- package/src/NativeSmoothClipModule.ts +41 -292
- package/src/SmoothClipView.ios.tsx +130 -23
- package/src/SmoothClipView.tsx +5 -1
- package/src/SmoothClipViewNativeComponent.ts +20 -26
- package/src/capabilities.native.ts +2 -52
- package/src/capabilityTypes.ts +0 -14
- package/src/controllerInternals.ts +52 -0
- package/src/controllerLifecycle.ts +6 -0
- package/src/controllerTypes.ts +87 -0
- package/src/controllers.android.ts +1 -0
- package/src/controllers.ios.ts +1 -0
- package/src/controllers.native.ts +104 -0
- package/src/controllers.ts +1 -0
- package/src/geometry.ts +118 -74
- package/src/groupTypes.ts +53 -0
- package/src/groups.android.ts +1 -0
- package/src/groups.ios.ts +1 -0
- package/src/groups.native.ts +604 -0
- package/src/groups.ts +1 -0
- package/src/ids.ts +6 -0
- package/src/index.ts +20 -28
- package/src/nativeCompletion.ts +67 -32
- package/src/presentationCodec.ts +134 -0
- package/lib/module/driverState.js +0 -82
- package/lib/module/driverState.js.map +0 -1
- package/lib/module/driverTypes.js +0 -4
- package/lib/module/driverTypes.js.map +0 -1
- package/lib/module/drivers.android.js +0 -6
- package/lib/module/drivers.android.js.map +0 -1
- package/lib/module/drivers.ios.js +0 -6
- package/lib/module/drivers.ios.js.map +0 -1
- package/lib/module/drivers.js +0 -4
- package/lib/module/drivers.js.map +0 -1
- package/lib/module/drivers.native.js +0 -756
- package/lib/module/drivers.native.js.map +0 -1
- package/lib/module/groupDriverTypes.js +0 -4
- package/lib/module/groupDrivers.android.js +0 -4
- package/lib/module/groupDrivers.android.js.map +0 -1
- package/lib/module/groupDrivers.ios.js +0 -4
- package/lib/module/groupDrivers.ios.js.map +0 -1
- package/lib/module/groupDrivers.js +0 -4
- package/lib/module/groupDrivers.js.map +0 -1
- package/lib/module/groupDrivers.native.js +0 -799
- package/lib/module/groupDrivers.native.js.map +0 -1
- package/lib/module/presentationProtocol.js +0 -15
- package/lib/module/presentationProtocol.js.map +0 -1
- package/lib/module/reactRequests.js +0 -56
- package/lib/module/reactRequests.js.map +0 -1
- package/lib/typescript/src/driverState.d.ts +0 -26
- package/lib/typescript/src/driverState.d.ts.map +0 -1
- package/lib/typescript/src/driverTypes.d.ts +0 -121
- package/lib/typescript/src/driverTypes.d.ts.map +0 -1
- package/lib/typescript/src/drivers.android.d.ts +0 -3
- package/lib/typescript/src/drivers.android.d.ts.map +0 -1
- package/lib/typescript/src/drivers.d.ts +0 -3
- package/lib/typescript/src/drivers.d.ts.map +0 -1
- package/lib/typescript/src/drivers.ios.d.ts +0 -3
- package/lib/typescript/src/drivers.ios.d.ts.map +0 -1
- package/lib/typescript/src/drivers.native.d.ts +0 -5
- package/lib/typescript/src/drivers.native.d.ts.map +0 -1
- package/lib/typescript/src/groupDriverTypes.d.ts +0 -66
- package/lib/typescript/src/groupDriverTypes.d.ts.map +0 -1
- package/lib/typescript/src/groupDrivers.android.d.ts +0 -2
- package/lib/typescript/src/groupDrivers.android.d.ts.map +0 -1
- package/lib/typescript/src/groupDrivers.d.ts +0 -2
- package/lib/typescript/src/groupDrivers.d.ts.map +0 -1
- package/lib/typescript/src/groupDrivers.ios.d.ts +0 -2
- package/lib/typescript/src/groupDrivers.ios.d.ts.map +0 -1
- package/lib/typescript/src/groupDrivers.native.d.ts +0 -4
- package/lib/typescript/src/groupDrivers.native.d.ts.map +0 -1
- package/lib/typescript/src/presentationProtocol.d.ts +0 -4
- package/lib/typescript/src/presentationProtocol.d.ts.map +0 -1
- package/lib/typescript/src/reactRequests.d.ts +0 -9
- package/lib/typescript/src/reactRequests.d.ts.map +0 -1
- package/src/driverState.ts +0 -118
- package/src/driverTypes.ts +0 -171
- package/src/drivers.android.ts +0 -8
- package/src/drivers.ios.ts +0 -8
- package/src/drivers.native.ts +0 -1599
- package/src/drivers.ts +0 -6
- package/src/groupDriverTypes.ts +0 -117
- package/src/groupDrivers.android.ts +0 -1
- package/src/groupDrivers.ios.ts +0 -1
- package/src/groupDrivers.native.ts +0 -1189
- package/src/groupDrivers.ts +0 -1
- package/src/presentationProtocol.ts +0 -28
- package/src/reactRequests.ts +0 -76
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useRef","Platform","useSharedValue","isRNRuntime","scheduleOnRN","scheduleOnUI","NativeSmoothClipModule","getSmoothClipCapabilities","allocateDriverId","canonicalizeClipPresentation","clipPresentationEquals","INTERACTIVE","NATIVE","PRESENTATION_STRIDE","SNAPSHOT_STRIDE","MOTION_ENTRY_STRIDE","NEEDS_START_STAMP","OS","GROUPS_SUPPORTED","groups","nativeGroups","beginGroupInteractionV2HostFunction","beginGroupInteractionV2","snapshotGroupV2HostFunction","snapshotGroupV2","setClipPresentationBatchV2HostFunction","setClipPresentationBatchV2","animateTimingGroupV2HostFunction","animateTimingGroupV2","animateSpringGroupV2HostFunction","animateSpringGroupV2","animateKeyframesGroupV2HostFunction","animateKeyframesGroupV2","cancelAnimationGroupV2HostFunction","cancelAnimationGroupV2","nativeGroupDriverStates","Map","deliverNativeGroupCompletion","controllerId","groupId","finished","state","get","result","completionDeferrals","deferredCompletions","push","callbackRef","current","deferNativeGroupCompletions","releaseNativeGroupCompletions","deferred","splice","runtimeGroupRecords","runtime","globalThis","__smoothClipGroupRecords","fail","message","Error","uiOnly","curveCode","presentation","clip","curve","appendPresentation","values","contentTranslateX","contentTranslateY","contentScale","x","y","width","height","topLeftRadius","topRightRadius","bottomRightRadius","bottomLeftRadius","presentationFromValues","offset","length","radius","validateDrivers","drivers","seen","driver","handle","__smoothClipHandle","kind","undefined","Number","isSafeInteger","driverId","disposed","value","key","String","requireNativeGroups","parseSnapshots","snapshots","unavailable","index","readyCode","ready","applyInteractiveSnapshots","snapshot","ownership","activeAnimationId","suspensionPolicyCode","reduceMotionCode","animationStartTimestamp","NaN","__frameTimestamp","_getAnimationTimestamp","animationIsFinite","animation","suspensionPolicy","type","Array","isArray","controlPoints","x1","y1","x2","y2","isFinite","duration","every","initialVelocity","mass","stiffness","damping","springScaleIsProvablyPositive","starts","targets","changesScale","snapshotsForMotionStarts","validDrivers","entries","missingFrom","some","entry","from","sampled","map","explicit","registerNativeGroup","records","target","synchronizeGroupCompletionOnUI","driverIds","record","pendingGroupRequests","requestIdsByController","nextGroupRequestId","createGroupRequest","teardownResolution","deferCompletions","requestId","resolveRequest","rejectRequest","promise","Promise","resolve","reject","set","teardownValue","releasesCompletions","ids","Set","add","settleGroupRequest","succeeded","request","delete","size","queueMicrotask","rejectGroupRequests","detachNativeGroupDriverState","queueNativeTeardownCompletion","finalizeNativeGroupDriverTeardown","effectGeneration","errorMessage","error","useSmoothClipGroupDriver","options","onAnimationComplete","stateRef","groupRef","reduceMotion","beginOnUI","valid","parsed","snapshotOnUI","setBatchOnUI","canonical","animateOnUI","native","start","frames","previousOffset","frame","inheritVelocity","isInteger","cancelOnUI","behavior","group","ui","beginInteraction","snapshotCurrent","setBatch","animateTo","cancel","react","controllerIds","controllerIdFor","subscription","onClipGroupAnimationComplete","remove","ownerId","generation","gone","Object","keys","WeakMap","existing","id"],"sourceRoot":"../../src","sources":["groupDrivers.native.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
export function isV1CompatiblePresentation(presentation) {
|
|
4
|
-
const {
|
|
5
|
-
clip
|
|
6
|
-
} = presentation;
|
|
7
|
-
return clip.curve === 'circular' && clip.topLeftRadius === clip.radius && clip.topRightRadius === clip.radius && clip.bottomRightRadius === clip.radius && clip.bottomLeftRadius === clip.radius && presentation.contentScale === 1;
|
|
8
|
-
}
|
|
9
|
-
export function assertInitialPresentationProtocol(presentation, protocolVersion) {
|
|
10
|
-
if (protocolVersion === 2 || isV1CompatiblePresentation(presentation)) {
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
throw new Error('[SmoothClipView] The initial presentation requires native presentation protocol V2, but the installed native library only supports V1. Rebuild the native app or select an explicit streaming fallback.');
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=presentationProtocol.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["isV1CompatiblePresentation","presentation","clip","curve","topLeftRadius","radius","topRightRadius","bottomRightRadius","bottomLeftRadius","contentScale","assertInitialPresentationProtocol","protocolVersion","Error"],"sourceRoot":"../../src","sources":["presentationProtocol.ts"],"mappings":";;AAEA,OAAO,SAASA,0BAA0BA,CACxCC,YAA6C,EACpC;EACT,MAAM;IAAEC;EAAK,CAAC,GAAGD,YAAY;EAC7B,OACEC,IAAI,CAACC,KAAK,KAAK,UAAU,IACzBD,IAAI,CAACE,aAAa,KAAKF,IAAI,CAACG,MAAM,IAClCH,IAAI,CAACI,cAAc,KAAKJ,IAAI,CAACG,MAAM,IACnCH,IAAI,CAACK,iBAAiB,KAAKL,IAAI,CAACG,MAAM,IACtCH,IAAI,CAACM,gBAAgB,KAAKN,IAAI,CAACG,MAAM,IACrCJ,YAAY,CAACQ,YAAY,KAAK,CAAC;AAEnC;AAEA,OAAO,SAASC,iCAAiCA,CAC/CT,YAA6C,EAC7CU,eAAsB,EAChB;EACN,IAAIA,eAAe,KAAK,CAAC,IAAIX,0BAA0B,CAACC,YAAY,CAAC,EAAE;IACrE;EACF;EAEA,MAAM,IAAIW,KAAK,CACb,yMACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { deferDriverCompletions, releaseDriverCompletions } from "./driverState.js";
|
|
4
|
-
const requests = new Map();
|
|
5
|
-
const requestsByDriver = new Map();
|
|
6
|
-
let nextRequestId = 0;
|
|
7
|
-
export function createReactRequest(driverId, deferCompletions = false, teardownResolution) {
|
|
8
|
-
nextRequestId = nextRequestId % 0x7ffffffe + 1;
|
|
9
|
-
const requestId = nextRequestId;
|
|
10
|
-
let resolveRequest;
|
|
11
|
-
let rejectRequest;
|
|
12
|
-
const promise = new Promise((resolve, reject) => {
|
|
13
|
-
resolveRequest = resolve;
|
|
14
|
-
rejectRequest = reject;
|
|
15
|
-
});
|
|
16
|
-
requests.set(requestId, {
|
|
17
|
-
resolve: resolveRequest,
|
|
18
|
-
reject: rejectRequest,
|
|
19
|
-
teardownResolution
|
|
20
|
-
});
|
|
21
|
-
const driverRequests = requestsByDriver.get(driverId) ?? new Set();
|
|
22
|
-
driverRequests.add(requestId);
|
|
23
|
-
requestsByDriver.set(driverId, driverRequests);
|
|
24
|
-
if (deferCompletions) deferDriverCompletions(driverId);
|
|
25
|
-
return {
|
|
26
|
-
requestId,
|
|
27
|
-
promise
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
export function resolveReactRequest(driverId, requestId, value, releaseCompletions = false) {
|
|
31
|
-
const request = requests.get(requestId);
|
|
32
|
-
requests.delete(requestId);
|
|
33
|
-
const driverRequests = requestsByDriver.get(driverId);
|
|
34
|
-
driverRequests?.delete(requestId);
|
|
35
|
-
if (driverRequests?.size === 0) requestsByDriver.delete(driverId);
|
|
36
|
-
request?.resolve(value);
|
|
37
|
-
if (releaseCompletions) {
|
|
38
|
-
queueMicrotask(() => releaseDriverCompletions(driverId));
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
export function rejectDriverRequests(driverId) {
|
|
42
|
-
const driverRequests = requestsByDriver.get(driverId);
|
|
43
|
-
if (!driverRequests) return;
|
|
44
|
-
for (const requestId of driverRequests) {
|
|
45
|
-
const request = requests.get(requestId);
|
|
46
|
-
requests.delete(requestId);
|
|
47
|
-
if (!request) continue;
|
|
48
|
-
if (request.teardownResolution) {
|
|
49
|
-
request.resolve(request.teardownResolution.value);
|
|
50
|
-
} else {
|
|
51
|
-
request.reject(new Error('[SmoothClipView] Driver was destroyed.'));
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
requestsByDriver.delete(driverId);
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=reactRequests.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["deferDriverCompletions","releaseDriverCompletions","requests","Map","requestsByDriver","nextRequestId","createReactRequest","driverId","deferCompletions","teardownResolution","requestId","resolveRequest","rejectRequest","promise","Promise","resolve","reject","set","driverRequests","get","Set","add","resolveReactRequest","value","releaseCompletions","request","delete","size","queueMicrotask","rejectDriverRequests","Error"],"sourceRoot":"../../src","sources":["reactRequests.ts"],"mappings":";;AAAA,SACEA,sBAAsB,EACtBC,wBAAwB,QACnB,kBAAe;AAYtB,MAAMC,QAAQ,GAAG,IAAIC,GAAG,CAAyB,CAAC;AAClD,MAAMC,gBAAgB,GAAG,IAAID,GAAG,CAAsB,CAAC;AACvD,IAAIE,aAAa,GAAG,CAAC;AAErB,OAAO,SAASC,kBAAkBA,CAChCC,QAAgB,EAChBC,gBAAgB,GAAG,KAAK,EACxBC,kBAAuC,EACK;EAC5CJ,aAAa,GAAIA,aAAa,GAAG,UAAU,GAAI,CAAC;EAChD,MAAMK,SAAS,GAAGL,aAAa;EAC/B,IAAIM,cAAmC;EACvC,IAAIC,aAAsC;EAC1C,MAAMC,OAAO,GAAG,IAAIC,OAAO,CAAI,CAACC,OAAO,EAAEC,MAAM,KAAK;IAClDL,cAAc,GAAGI,OAAO;IACxBH,aAAa,GAAGI,MAAM;EACxB,CAAC,CAAC;EACFd,QAAQ,CAACe,GAAG,CAACP,SAAS,EAAE;IACtBK,OAAO,EAAEJ,cAA0C;IACnDK,MAAM,EAAEJ,aAAa;IACrBH;EACF,CAAC,CAAC;EACF,MAAMS,cAAc,GAAGd,gBAAgB,CAACe,GAAG,CAACZ,QAAQ,CAAC,IAAI,IAAIa,GAAG,CAAS,CAAC;EAC1EF,cAAc,CAACG,GAAG,CAACX,SAAS,CAAC;EAC7BN,gBAAgB,CAACa,GAAG,CAACV,QAAQ,EAAEW,cAAc,CAAC;EAC9C,IAAIV,gBAAgB,EAAER,sBAAsB,CAACO,QAAQ,CAAC;EACtD,OAAO;IAAEG,SAAS;IAAEG;EAAQ,CAAC;AAC/B;AAEA,OAAO,SAASS,mBAAmBA,CACjCf,QAAgB,EAChBG,SAAiB,EACjBa,KAAc,EACdC,kBAAkB,GAAG,KAAK,EACpB;EACN,MAAMC,OAAO,GAAGvB,QAAQ,CAACiB,GAAG,CAACT,SAAS,CAAC;EACvCR,QAAQ,CAACwB,MAAM,CAAChB,SAAS,CAAC;EAC1B,MAAMQ,cAAc,GAAGd,gBAAgB,CAACe,GAAG,CAACZ,QAAQ,CAAC;EACrDW,cAAc,EAAEQ,MAAM,CAAChB,SAAS,CAAC;EACjC,IAAIQ,cAAc,EAAES,IAAI,KAAK,CAAC,EAAEvB,gBAAgB,CAACsB,MAAM,CAACnB,QAAQ,CAAC;EACjEkB,OAAO,EAAEV,OAAO,CAACQ,KAAK,CAAC;EACvB,IAAIC,kBAAkB,EAAE;IACtBI,cAAc,CAAC,MAAM3B,wBAAwB,CAACM,QAAQ,CAAC,CAAC;EAC1D;AACF;AAEA,OAAO,SAASsB,oBAAoBA,CAACtB,QAAgB,EAAQ;EAC3D,MAAMW,cAAc,GAAGd,gBAAgB,CAACe,GAAG,CAACZ,QAAQ,CAAC;EACrD,IAAI,CAACW,cAAc,EAAE;EACrB,KAAK,MAAMR,SAAS,IAAIQ,cAAc,EAAE;IACtC,MAAMO,OAAO,GAAGvB,QAAQ,CAACiB,GAAG,CAACT,SAAS,CAAC;IACvCR,QAAQ,CAACwB,MAAM,CAAChB,SAAS,CAAC;IAC1B,IAAI,CAACe,OAAO,EAAE;IACd,IAAIA,OAAO,CAAChB,kBAAkB,EAAE;MAC9BgB,OAAO,CAACV,OAAO,CAACU,OAAO,CAAChB,kBAAkB,CAACc,KAAK,CAAC;IACnD,CAAC,MAAM;MACLE,OAAO,CAACT,MAAM,CAAC,IAAIc,KAAK,CAAC,wCAAwC,CAAC,CAAC;IACrE;EACF;EACA1B,gBAAgB,CAACsB,MAAM,CAACnB,QAAQ,CAAC;AACnC","ignoreList":[]}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { SharedValue } from 'react-native-reanimated';
|
|
2
|
-
import type { ClipAnimationResult, SmoothClipDriver } from './driverTypes.js';
|
|
3
|
-
import type { SmoothClipPresentation } from './geometry.js';
|
|
4
|
-
export type DriverState = {
|
|
5
|
-
driverId: number;
|
|
6
|
-
initialPresentation: SmoothClipPresentation;
|
|
7
|
-
source: SharedValue<SmoothClipPresentation>;
|
|
8
|
-
activeAnimationId?: SharedValue<number>;
|
|
9
|
-
ownership?: SharedValue<number>;
|
|
10
|
-
ready?: SharedValue<number>;
|
|
11
|
-
onAnimationComplete: {
|
|
12
|
-
current: ((result: ClipAnimationResult) => void) | undefined;
|
|
13
|
-
};
|
|
14
|
-
completionDeferrals: number;
|
|
15
|
-
deferredCompletions: ClipAnimationResult[];
|
|
16
|
-
};
|
|
17
|
-
export declare function allocateDriverId(): number;
|
|
18
|
-
export declare function setDriverState(driver: SmoothClipDriver, state: DriverState): void;
|
|
19
|
-
export declare function attachDriverState(state: DriverState): void;
|
|
20
|
-
export declare function detachDriverState(state: DriverState): void;
|
|
21
|
-
export declare function createDriverState(driverId: number, initialPresentation: SmoothClipPresentation, source: SharedValue<SmoothClipPresentation>, onAnimationComplete: DriverState['onAnimationComplete'], activeAnimationId?: SharedValue<number>, ownership?: SharedValue<number>): DriverState;
|
|
22
|
-
export declare function deliverDriverCompletion(driverId: number, animationId: number, finished: boolean): void;
|
|
23
|
-
export declare function deferDriverCompletions(driverId: number): void;
|
|
24
|
-
export declare function releaseDriverCompletions(driverId: number): void;
|
|
25
|
-
export declare function getDriverState(driver: SmoothClipDriver): DriverState;
|
|
26
|
-
//# sourceMappingURL=driverState.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"driverState.d.ts","sourceRoot":"","sources":["../../../src/driverState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,kBAAe,CAAC;AAC3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAY,CAAC;AAEzD,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,sBAAsB,CAAC;IAC5C,MAAM,EAAE,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAC5C,iBAAiB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,mBAAmB,EAAE;QACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;KAC9D,CAAC;IACF,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,mBAAmB,EAAE,CAAC;CAC5C,CAAC;AAMF,wBAAgB,gBAAgB,IAAI,MAAM,CAIzC;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,WAAW,GACjB,IAAI,CAIN;AAKD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAE1D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAY1D;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,mBAAmB,EAAE,sBAAsB,EAC3C,MAAM,EAAE,WAAW,CAAC,sBAAsB,CAAC,EAC3C,mBAAmB,EAAE,WAAW,CAAC,qBAAqB,CAAC,EACvD,iBAAiB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EACvC,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAC9B,WAAW,CAWb;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,OAAO,GAChB,IAAI,CASN;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAG7D;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAS/D;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,WAAW,CAQpE"}
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import type { SharedValue } from 'react-native-reanimated';
|
|
2
|
-
import type { CanonicalSmoothClipPresentation, SmoothClipPresentation } from './geometry.js';
|
|
3
|
-
export type ClipReduceMotion = 'system' | 'always' | 'never';
|
|
4
|
-
/** Options shared by every animation kind. */
|
|
5
|
-
type ClipAnimationBase = Readonly<{
|
|
6
|
-
/**
|
|
7
|
-
* Explicit start: fuses a `setScalars(from…)` take-ownership hot write
|
|
8
|
-
* immediately before the animation, so native starts from exactly this
|
|
9
|
-
* presentation instead of its last delivered value. Use at a gesture
|
|
10
|
-
* release when the freshest sample (e.g. the UP event's position) never
|
|
11
|
-
* reached native — a gated per-frame reaction may not have flushed it.
|
|
12
|
-
* Also re-grabs from a running animation (which an implicit interactive
|
|
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, explicit `from` is newer intent: the fused write cancels that latch
|
|
17
|
-
* once unfinished, applies `from`, and starts the replacement from that
|
|
18
|
-
* native value.
|
|
19
|
-
*
|
|
20
|
-
* Keyframes interpolate absolutely, so pass `frames[0].presentation` —
|
|
21
|
-
* the seed renders it before the first animation frame, making the
|
|
22
|
-
* handoff continuous.
|
|
23
|
-
*
|
|
24
|
-
* iOS note: keyframes start exactly at `from` (frame 0 travels in-band);
|
|
25
|
-
* timing/spring sample their Core Animation from-value off the
|
|
26
|
-
* presentation layer — the last committed frame, at most one frame behind
|
|
27
|
-
* `from` — identical to the two-call pattern this option desugars to.
|
|
28
|
-
*/
|
|
29
|
-
from?: SmoothClipPresentation;
|
|
30
|
-
}>;
|
|
31
|
-
export type TimingClipAnimation = ClipAnimationBase & Readonly<{
|
|
32
|
-
type: 'timing';
|
|
33
|
-
duration: number;
|
|
34
|
-
controlPoints: readonly [number, number, number, number];
|
|
35
|
-
}>;
|
|
36
|
-
export type SpringClipAnimation = ClipAnimationBase & Readonly<{
|
|
37
|
-
type: 'spring';
|
|
38
|
-
mass?: number;
|
|
39
|
-
stiffness?: number;
|
|
40
|
-
damping?: number;
|
|
41
|
-
initialVelocity?: number | 'inherit';
|
|
42
|
-
}>;
|
|
43
|
-
export type KeyframedClipAnimation = ClipAnimationBase & Readonly<{
|
|
44
|
-
type: 'keyframes';
|
|
45
|
-
duration: number;
|
|
46
|
-
frames: readonly Readonly<{
|
|
47
|
-
offset: number;
|
|
48
|
-
presentation: SmoothClipPresentation;
|
|
49
|
-
}>[];
|
|
50
|
-
}>;
|
|
51
|
-
export type SmoothClipAnimation = TimingClipAnimation | SpringClipAnimation | KeyframedClipAnimation;
|
|
52
|
-
export type ClipAnimationResult = Readonly<{
|
|
53
|
-
animationId: number;
|
|
54
|
-
finished: boolean;
|
|
55
|
-
}>;
|
|
56
|
-
export type SmoothClipDriverOptions = Readonly<{
|
|
57
|
-
reduceMotion?: ClipReduceMotion;
|
|
58
|
-
onAnimationComplete?: (result: ClipAnimationResult) => void;
|
|
59
|
-
/**
|
|
60
|
-
* Android only; captured at driver creation. Records two-sample velocity
|
|
61
|
-
* history on `setScalars` hot writes so a spring `initialVelocity: 'inherit'`
|
|
62
|
-
* can project its launch speed from the live drag. Off by default: the
|
|
63
|
-
* recording (a clock read plus channel copies) rides the per-frame
|
|
64
|
-
* `setScalars` hot path, and drivers that never hand off into an inherit
|
|
65
|
-
* spring should not pay it. Without this flag, `'inherit'` inherits 0 after
|
|
66
|
-
* a `setScalars` drag on Android (each skipped write also invalidates older
|
|
67
|
-
* samples, so stale pre-drag motion never leaks in). `set()`, the fused
|
|
68
|
-
* `animateTo` `from` seed, and the declarative `presentation.value` channel
|
|
69
|
-
* always record regardless of the flag. iOS always records; the flag is a
|
|
70
|
-
* no-op there.
|
|
71
|
-
*/
|
|
72
|
-
velocityTracking?: boolean;
|
|
73
|
-
}>;
|
|
74
|
-
export type SmoothClipUIControls = Readonly<{
|
|
75
|
-
beginInteraction(): CanonicalSmoothClipPresentation;
|
|
76
|
-
set(presentation: SmoothClipPresentation): void;
|
|
77
|
-
/**
|
|
78
|
-
* Per-frame hot path: writes geometry straight to native without touching
|
|
79
|
-
* `driver.presentation`. Skips SharedValue bookkeeping (dirty marking, RN
|
|
80
|
-
* mirror sync, listener dispatch) for high-frequency streams such as
|
|
81
|
-
* gestures. `driver.presentation.value` is stale after hot writes by design;
|
|
82
|
-
* `beginInteraction()` remains the source of truth for visible geometry.
|
|
83
|
-
* Do not interleave with `presentation.value` writes on the same driver —
|
|
84
|
-
* the listener's duplicate suppression may skip a later equal value.
|
|
85
|
-
* To hand off into an animation from a fresher value than the last hot
|
|
86
|
-
* write, pass the geometry as `animation.from` to `animateTo` — it fuses
|
|
87
|
-
* this call and the handoff into one.
|
|
88
|
-
*/
|
|
89
|
-
setScalars(x: number, y: number, width: number, height: number, radius: number, contentTranslateX: number, contentTranslateY: number): void;
|
|
90
|
-
/**
|
|
91
|
-
* V2 per-frame hot path. Curve code is 0 for circular and 1 for continuous;
|
|
92
|
-
* invalid codes reject the complete write.
|
|
93
|
-
*/
|
|
94
|
-
setPresentationScalars(x: number, y: number, width: number, height: number, topLeftRadius: number, topRightRadius: number, bottomRightRadius: number, bottomLeftRadius: number, curveCode: number, contentTranslateX: number, contentTranslateY: number, contentScale: number): void;
|
|
95
|
-
animateTo(presentation: SmoothClipPresentation, animation: SmoothClipAnimation): number;
|
|
96
|
-
cancel(animationId?: number, behavior?: 'current' | 'target'): CanonicalSmoothClipPresentation;
|
|
97
|
-
}>;
|
|
98
|
-
export type SmoothClipReactControls = Readonly<{
|
|
99
|
-
beginInteraction(): Promise<CanonicalSmoothClipPresentation>;
|
|
100
|
-
set(presentation: SmoothClipPresentation): Promise<void>;
|
|
101
|
-
animateTo(presentation: SmoothClipPresentation, animation: SmoothClipAnimation): Promise<number>;
|
|
102
|
-
cancel(animationId?: number, behavior?: 'current' | 'target'): Promise<CanonicalSmoothClipPresentation>;
|
|
103
|
-
}>;
|
|
104
|
-
/** @internal Worklet-serializable driver identity used by atomic groups. */
|
|
105
|
-
export type SmoothClipDriverHandle = Readonly<{
|
|
106
|
-
driverId: number;
|
|
107
|
-
presentation: SharedValue<SmoothClipPresentation>;
|
|
108
|
-
ownership: SharedValue<number>;
|
|
109
|
-
activeAnimationId: SharedValue<number>;
|
|
110
|
-
disposed: SharedValue<number>;
|
|
111
|
-
}>;
|
|
112
|
-
export type SmoothClipDriver = Readonly<{
|
|
113
|
-
kind: 'hybrid';
|
|
114
|
-
presentation: SharedValue<SmoothClipPresentation>;
|
|
115
|
-
ui: SmoothClipUIControls;
|
|
116
|
-
react: SmoothClipReactControls;
|
|
117
|
-
/** @internal Do not read or mutate directly. */
|
|
118
|
-
__smoothClipHandle?: SmoothClipDriverHandle;
|
|
119
|
-
}>;
|
|
120
|
-
export {};
|
|
121
|
-
//# sourceMappingURL=driverTypes.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"driverTypes.d.ts","sourceRoot":"","sources":["../../../src/driverTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"drivers.d.ts","sourceRoot":"","sources":["../../../src/drivers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAkB,CAAC;AACvD,YAAY,EACV,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAkB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"drivers.ios.d.ts","sourceRoot":"","sources":["../../../src/drivers.ios.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 +0,0 @@
|
|
|
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, };
|
|
5
|
-
//# sourceMappingURL=drivers.native.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"drivers.native.d.ts","sourceRoot":"","sources":["../../../src/drivers.native.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAEV,sBAAsB,EAEtB,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,kBAAe,CAAC;AAavB,OAAO,EAML,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC5B,MAAM,eAAY,CAAC;AAyWpB,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,YAAY,GAAG,sBAAsB,EACnD,OAAO,GAAE,uBAA4B,GACpC,gBAAgB,CAqqClB;AAED,YAAY,EACV,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,GACpB,CAAC"}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import type { ClipReduceMotion, SmoothClipDriver, SpringClipAnimation, TimingClipAnimation } from './driverTypes.js';
|
|
2
|
-
import type { CanonicalSmoothClipPresentation, SmoothClipPresentation } from './geometry.js';
|
|
3
|
-
export type SmoothClipGroupAnimationResult = Readonly<{
|
|
4
|
-
groupId: number;
|
|
5
|
-
finished: boolean;
|
|
6
|
-
}>;
|
|
7
|
-
export type SmoothClipGroupSnapshot = Readonly<{
|
|
8
|
-
driver: SmoothClipDriver;
|
|
9
|
-
presentation: CanonicalSmoothClipPresentation;
|
|
10
|
-
ready: boolean;
|
|
11
|
-
}>;
|
|
12
|
-
export type SmoothClipBatchEntry = Readonly<{
|
|
13
|
-
driver: SmoothClipDriver;
|
|
14
|
-
presentation: SmoothClipPresentation;
|
|
15
|
-
}>;
|
|
16
|
-
export type SmoothClipGroupMotionEntry = Readonly<{
|
|
17
|
-
driver: SmoothClipDriver;
|
|
18
|
-
target: SmoothClipPresentation;
|
|
19
|
-
from?: SmoothClipPresentation;
|
|
20
|
-
}>;
|
|
21
|
-
export type SmoothClipGroupKeyframeEntry = SmoothClipGroupMotionEntry & Readonly<{
|
|
22
|
-
frames: readonly Readonly<{
|
|
23
|
-
offset: number;
|
|
24
|
-
presentation: SmoothClipPresentation;
|
|
25
|
-
}>[];
|
|
26
|
-
}>;
|
|
27
|
-
export type SmoothClipGroupSuspensionPolicy = 'pause' | 'finish';
|
|
28
|
-
export type SmoothClipGroupCancelBehavior = 'freeze' | 'finish';
|
|
29
|
-
type SmoothClipGroupAnimationBase = Readonly<{
|
|
30
|
-
suspensionPolicy?: SmoothClipGroupSuspensionPolicy;
|
|
31
|
-
}>;
|
|
32
|
-
export type SmoothClipGroupTimingAnimation = Omit<TimingClipAnimation, 'from'> & SmoothClipGroupAnimationBase;
|
|
33
|
-
export type SmoothClipGroupSpringAnimation = Omit<SpringClipAnimation, 'from'> & SmoothClipGroupAnimationBase;
|
|
34
|
-
export type SmoothClipGroupKeyframeAnimation = Readonly<{
|
|
35
|
-
type: 'keyframes';
|
|
36
|
-
duration: number;
|
|
37
|
-
suspensionPolicy?: SmoothClipGroupSuspensionPolicy;
|
|
38
|
-
}>;
|
|
39
|
-
export type SmoothClipGroupMotionAnimation = SmoothClipGroupTimingAnimation | SmoothClipGroupSpringAnimation;
|
|
40
|
-
export type SmoothClipGroupDriverOptions = Readonly<{
|
|
41
|
-
reduceMotion?: ClipReduceMotion;
|
|
42
|
-
onAnimationComplete?: (result: SmoothClipGroupAnimationResult) => void;
|
|
43
|
-
}>;
|
|
44
|
-
export interface SmoothClipGroupUIControls {
|
|
45
|
-
beginInteraction(drivers: readonly SmoothClipDriver[]): readonly SmoothClipGroupSnapshot[];
|
|
46
|
-
snapshotCurrent(drivers: readonly SmoothClipDriver[]): readonly SmoothClipGroupSnapshot[];
|
|
47
|
-
setBatch(entries: readonly SmoothClipBatchEntry[]): void;
|
|
48
|
-
animateTo(entries: readonly SmoothClipGroupMotionEntry[], animation: SmoothClipGroupMotionAnimation): number;
|
|
49
|
-
animateTo(entries: readonly SmoothClipGroupKeyframeEntry[], animation: SmoothClipGroupKeyframeAnimation): number;
|
|
50
|
-
cancel(groupId: number, behavior?: SmoothClipGroupCancelBehavior): readonly SmoothClipGroupSnapshot[];
|
|
51
|
-
}
|
|
52
|
-
export interface SmoothClipGroupReactControls {
|
|
53
|
-
beginInteraction(drivers: readonly SmoothClipDriver[]): Promise<readonly SmoothClipGroupSnapshot[]>;
|
|
54
|
-
snapshotCurrent(drivers: readonly SmoothClipDriver[]): Promise<readonly SmoothClipGroupSnapshot[]>;
|
|
55
|
-
setBatch(entries: readonly SmoothClipBatchEntry[]): Promise<void>;
|
|
56
|
-
animateTo(entries: readonly SmoothClipGroupMotionEntry[], animation: SmoothClipGroupMotionAnimation): Promise<number>;
|
|
57
|
-
animateTo(entries: readonly SmoothClipGroupKeyframeEntry[], animation: SmoothClipGroupKeyframeAnimation): Promise<number>;
|
|
58
|
-
cancel(groupId: number, behavior?: SmoothClipGroupCancelBehavior): Promise<readonly SmoothClipGroupSnapshot[]>;
|
|
59
|
-
}
|
|
60
|
-
export type SmoothClipGroupDriver = Readonly<{
|
|
61
|
-
kind: 'group';
|
|
62
|
-
ui: SmoothClipGroupUIControls;
|
|
63
|
-
react: SmoothClipGroupReactControls;
|
|
64
|
-
}>;
|
|
65
|
-
export {};
|
|
66
|
-
//# sourceMappingURL=groupDriverTypes.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"groupDriverTypes.d.ts","sourceRoot":"","sources":["../../../src/groupDriverTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"groupDrivers.android.d.ts","sourceRoot":"","sources":["../../../src/groupDrivers.android.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAAuB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"groupDrivers.d.ts","sourceRoot":"","sources":["../../../src/groupDrivers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAAuB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"groupDrivers.ios.d.ts","sourceRoot":"","sources":["../../../src/groupDrivers.ios.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAAuB,CAAC"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { SmoothClipGroupAnimationResult, SmoothClipGroupDriver, SmoothClipGroupDriverOptions } from './groupDriverTypes.js';
|
|
2
|
-
export declare function useSmoothClipGroupDriver(options?: SmoothClipGroupDriverOptions): SmoothClipGroupDriver;
|
|
3
|
-
export type { SmoothClipGroupAnimationResult };
|
|
4
|
-
//# sourceMappingURL=groupDrivers.native.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"groupDrivers.native.d.ts","sourceRoot":"","sources":["../../../src/groupDrivers.native.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAEV,8BAA8B,EAE9B,qBAAqB,EACrB,4BAA4B,EAM7B,MAAM,uBAAoB,CAAC;AAomB5B,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,4BAAiC,GACzC,qBAAqB,CA2hBvB;AAgBD,YAAY,EAAE,8BAA8B,EAAE,CAAC"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { CanonicalSmoothClipPresentation } from './geometry.js';
|
|
2
|
-
export declare function isV1CompatiblePresentation(presentation: CanonicalSmoothClipPresentation): boolean;
|
|
3
|
-
export declare function assertInitialPresentationProtocol(presentation: CanonicalSmoothClipPresentation, protocolVersion: 1 | 2): void;
|
|
4
|
-
//# sourceMappingURL=presentationProtocol.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"presentationProtocol.d.ts","sourceRoot":"","sources":["../../../src/presentationProtocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,eAAY,CAAC;AAElE,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,+BAA+B,GAC5C,OAAO,CAUT;AAED,wBAAgB,iCAAiC,CAC/C,YAAY,EAAE,+BAA+B,EAC7C,eAAe,EAAE,CAAC,GAAG,CAAC,GACrB,IAAI,CAQN"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export declare function createReactRequest<T>(driverId: number, deferCompletions?: boolean, teardownResolution?: {
|
|
2
|
-
value: unknown;
|
|
3
|
-
}): {
|
|
4
|
-
requestId: number;
|
|
5
|
-
promise: Promise<T>;
|
|
6
|
-
};
|
|
7
|
-
export declare function resolveReactRequest(driverId: number, requestId: number, value: unknown, releaseCompletions?: boolean): void;
|
|
8
|
-
export declare function rejectDriverRequests(driverId: number): void;
|
|
9
|
-
//# sourceMappingURL=reactRequests.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reactRequests.d.ts","sourceRoot":"","sources":["../../../src/reactRequests.ts"],"names":[],"mappings":"AAmBA,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,QAAQ,EAAE,MAAM,EAChB,gBAAgB,UAAQ,EACxB,kBAAkB,CAAC,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GACtC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CAAE,CAmB5C;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,OAAO,EACd,kBAAkB,UAAQ,GACzB,IAAI,CAUN;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAc3D"}
|
package/src/driverState.ts
DELETED
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import type { SharedValue } from 'react-native-reanimated';
|
|
2
|
-
import type { ClipAnimationResult, SmoothClipDriver } from './driverTypes';
|
|
3
|
-
import type { SmoothClipPresentation } from './geometry';
|
|
4
|
-
|
|
5
|
-
export type DriverState = {
|
|
6
|
-
driverId: number;
|
|
7
|
-
initialPresentation: SmoothClipPresentation;
|
|
8
|
-
source: SharedValue<SmoothClipPresentation>;
|
|
9
|
-
activeAnimationId?: SharedValue<number>;
|
|
10
|
-
ownership?: SharedValue<number>;
|
|
11
|
-
ready?: SharedValue<number>;
|
|
12
|
-
onAnimationComplete: {
|
|
13
|
-
current: ((result: ClipAnimationResult) => void) | undefined;
|
|
14
|
-
};
|
|
15
|
-
completionDeferrals: number;
|
|
16
|
-
deferredCompletions: ClipAnimationResult[];
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
const states = new WeakMap<SmoothClipDriver, DriverState>();
|
|
20
|
-
const statesById = new Map<number, DriverState>();
|
|
21
|
-
let nextDriverId = Date.now() * 1024;
|
|
22
|
-
|
|
23
|
-
export function allocateDriverId(): number {
|
|
24
|
-
nextDriverId += 1;
|
|
25
|
-
if (!Number.isSafeInteger(nextDriverId)) nextDriverId = 1;
|
|
26
|
-
return nextDriverId;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export function setDriverState(
|
|
30
|
-
driver: SmoothClipDriver,
|
|
31
|
-
state: DriverState
|
|
32
|
-
): void {
|
|
33
|
-
// WeakMap-only: safe to call from render (discarded renders leave nothing
|
|
34
|
-
// reachable) and survives effect replays so getDriverState keeps working.
|
|
35
|
-
states.set(driver, state);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// The strong by-id index is attached in the driver hook's effect and detached
|
|
39
|
-
// in its cleanup, so discarded renders never leak entries and StrictMode /
|
|
40
|
-
// <Activity> effect replays can re-attach the same state.
|
|
41
|
-
export function attachDriverState(state: DriverState): void {
|
|
42
|
-
statesById.set(state.driverId, state);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export function detachDriverState(state: DriverState): void {
|
|
46
|
-
if (statesById.get(state.driverId) === state) {
|
|
47
|
-
statesById.delete(state.driverId);
|
|
48
|
-
}
|
|
49
|
-
// Requests pending at teardown were settled by rejectDriverRequests, but
|
|
50
|
-
// their completion deferrals can no longer be released: the late-scheduled
|
|
51
|
-
// resolver's releaseDriverCompletions no-ops against a detached state. An
|
|
52
|
-
// effect replay reattaches THIS same object, so a stale positive count
|
|
53
|
-
// would queue every future completion forever. The deferrals died with
|
|
54
|
-
// their requests — reset them.
|
|
55
|
-
state.completionDeferrals = 0;
|
|
56
|
-
state.deferredCompletions.length = 0;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export function createDriverState(
|
|
60
|
-
driverId: number,
|
|
61
|
-
initialPresentation: SmoothClipPresentation,
|
|
62
|
-
source: SharedValue<SmoothClipPresentation>,
|
|
63
|
-
onAnimationComplete: DriverState['onAnimationComplete'],
|
|
64
|
-
activeAnimationId?: SharedValue<number>,
|
|
65
|
-
ownership?: SharedValue<number>
|
|
66
|
-
): DriverState {
|
|
67
|
-
return {
|
|
68
|
-
driverId,
|
|
69
|
-
initialPresentation,
|
|
70
|
-
source,
|
|
71
|
-
activeAnimationId,
|
|
72
|
-
ownership,
|
|
73
|
-
onAnimationComplete,
|
|
74
|
-
completionDeferrals: 0,
|
|
75
|
-
deferredCompletions: [],
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
export function deliverDriverCompletion(
|
|
80
|
-
driverId: number,
|
|
81
|
-
animationId: number,
|
|
82
|
-
finished: boolean
|
|
83
|
-
): void {
|
|
84
|
-
const state = statesById.get(driverId);
|
|
85
|
-
if (!state) return;
|
|
86
|
-
const result = { animationId, finished };
|
|
87
|
-
if (state.completionDeferrals > 0) {
|
|
88
|
-
state.deferredCompletions.push(result);
|
|
89
|
-
return;
|
|
90
|
-
}
|
|
91
|
-
state.onAnimationComplete.current?.(result);
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
export function deferDriverCompletions(driverId: number): void {
|
|
95
|
-
const state = statesById.get(driverId);
|
|
96
|
-
if (state) state.completionDeferrals += 1;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
export function releaseDriverCompletions(driverId: number): void {
|
|
100
|
-
const state = statesById.get(driverId);
|
|
101
|
-
if (!state || state.completionDeferrals === 0) return;
|
|
102
|
-
state.completionDeferrals -= 1;
|
|
103
|
-
if (state.completionDeferrals !== 0) return;
|
|
104
|
-
const deferred = state.deferredCompletions.splice(0);
|
|
105
|
-
for (const result of deferred) {
|
|
106
|
-
state.onAnimationComplete.current?.(result);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
export function getDriverState(driver: SmoothClipDriver): DriverState {
|
|
111
|
-
const state = states.get(driver);
|
|
112
|
-
if (!state) {
|
|
113
|
-
throw new Error(
|
|
114
|
-
'[SmoothClipView] Drivers must be created by useSmoothClipDriver.'
|
|
115
|
-
);
|
|
116
|
-
}
|
|
117
|
-
return state;
|
|
118
|
-
}
|