react-native-smooth-clip-view 0.2.5 → 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.
- package/README.md +49 -21
- package/android/CMakeLists.txt +0 -1
- package/android/src/main/cpp/SmoothClipAndroid.h +5 -0
- package/android/src/main/cpp/SmoothClipBindings.cpp +28 -8
- package/android/src/main/cpp/SmoothClipRegistry.cpp +192 -191
- package/android/src/main/java/com/smoothclipview/ClipGeometryNormalizer.kt +61 -11
- package/android/src/main/java/com/smoothclipview/SmoothClipBindings.kt +20 -0
- package/android/src/main/java/com/smoothclipview/SmoothClipModule.kt +1 -0
- package/android/src/main/java/com/smoothclipview/SmoothClipView.kt +105 -34
- package/cpp/SmoothClipAnimationCurve.h +468 -0
- package/cpp/SmoothClipAnimationId.h +32 -0
- package/cpp/SmoothClipRegistry.h +11 -1
- package/cpp/SmoothClipVelocityTracker.h +27 -5
- package/ios/SmoothClipRegistry.mm +246 -97
- package/ios/SmoothClipTurboModule.cpp +4 -2
- package/ios/SmoothClipTurboModule.h +2 -1
- package/ios/SmoothClipView.mm +73 -16
- package/lib/module/NativeSmoothClipModule.js.map +1 -1
- package/lib/module/drivers.native.js +98 -29
- package/lib/module/drivers.native.js.map +1 -1
- package/lib/typescript/src/NativeSmoothClipModule.d.ts +1 -1
- package/lib/typescript/src/NativeSmoothClipModule.d.ts.map +1 -1
- package/lib/typescript/src/driverTypes.d.ts +3 -2
- package/lib/typescript/src/driverTypes.d.ts.map +1 -1
- package/lib/typescript/src/drivers.native.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/NativeSmoothClipModule.ts +2 -1
- package/src/driverTypes.ts +3 -2
- package/src/drivers.native.ts +132 -25
package/ios/SmoothClipView.mm
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
#import "SmoothClipGeometry.h"
|
|
4
4
|
#import "SmoothClipViewRegistry.h"
|
|
5
5
|
|
|
6
|
+
#include "SmoothClipAnimationCurve.h"
|
|
6
7
|
#include "SmoothClipVelocityTracker.h"
|
|
7
8
|
|
|
8
9
|
#import <QuartzCore/QuartzCore.h>
|
|
@@ -332,11 +333,18 @@ static std::array<double, 7> SmoothClipVelocityChannels(
|
|
|
332
333
|
}
|
|
333
334
|
|
|
334
335
|
- (void)smoothClipApplyPresentation:(smoothclip::Presentation)presentation {
|
|
336
|
+
[self smoothClipApplyPresentation:presentation recordVelocitySample:YES];
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
- (void)smoothClipApplyPresentation:(smoothclip::Presentation)presentation
|
|
340
|
+
recordVelocitySample:(BOOL)recordVelocitySample {
|
|
335
341
|
_animationPaused = NO;
|
|
336
342
|
[self stopLayerAnimationWithoutCallback];
|
|
337
343
|
[self storeRequestedPresentation:presentation];
|
|
338
344
|
[self applyRequestedClip];
|
|
339
|
-
|
|
345
|
+
// Skipped for writes that are not interactive motion (a latched
|
|
346
|
+
// cancel-to-target): they must not enter the 'inherit' history.
|
|
347
|
+
if (recordVelocitySample && _hasLayout) {
|
|
340
348
|
[self recordInteractiveRect:_normalizedClip
|
|
341
349
|
radius:_normalizedRadius
|
|
342
350
|
contentTranslation:_normalizedContentTranslation];
|
|
@@ -380,6 +388,15 @@ static std::array<double, 7> SmoothClipVelocityChannels(
|
|
|
380
388
|
return _pendingAnimationInstall;
|
|
381
389
|
}
|
|
382
390
|
|
|
391
|
+
- (double)smoothClipSpringContinuationVelocity {
|
|
392
|
+
if (_activeAnimationId == 0 || _activeAnimationKind != 2 ||
|
|
393
|
+
_pendingAnimationInstall) {
|
|
394
|
+
return 0;
|
|
395
|
+
}
|
|
396
|
+
const double elapsed = MAX(0, CACurrentMediaTime() - _animationStartedAt);
|
|
397
|
+
return smoothclip::springContinuationVelocity(_springAnimation, elapsed);
|
|
398
|
+
}
|
|
399
|
+
|
|
383
400
|
- (smoothclip::Presentation)smoothClipFreezePresentation {
|
|
384
401
|
const smoothclip::Presentation visible =
|
|
385
402
|
[self smoothClipCurrentPresentation];
|
|
@@ -623,13 +640,13 @@ static std::array<double, 7> SmoothClipVelocityChannels(
|
|
|
623
640
|
forKey:@"smoothClip.content"];
|
|
624
641
|
}
|
|
625
642
|
|
|
626
|
-
- (
|
|
643
|
+
- (BOOL)startAnimationToRequestedGeometryWithDuration:(CFTimeInterval)duration {
|
|
627
644
|
if (![self smoothClipCanDisplay]) {
|
|
628
645
|
_pendingAnimationInstall = YES;
|
|
629
|
-
return;
|
|
646
|
+
return NO;
|
|
630
647
|
}
|
|
631
648
|
SmoothNormalizedClipGeometry target;
|
|
632
|
-
if (![self normalizedRequestedGeometry:&target]) return;
|
|
649
|
+
if (![self normalizedRequestedGeometry:&target]) return NO;
|
|
633
650
|
const smoothclip::Presentation current = [self smoothClipCurrentPresentation];
|
|
634
651
|
[self installAnimationFromRect:CGRectMake(
|
|
635
652
|
current.clip.x,
|
|
@@ -644,20 +661,21 @@ static std::array<double, 7> SmoothClipVelocityChannels(
|
|
|
644
661
|
toRadius:target.radius
|
|
645
662
|
toContentTranslation:_requestedContentTranslation
|
|
646
663
|
duration:duration];
|
|
664
|
+
return YES;
|
|
647
665
|
}
|
|
648
666
|
|
|
649
|
-
- (
|
|
667
|
+
- (BOOL)smoothClipAnimateTiming:(smoothclip::Presentation)presentation
|
|
650
668
|
animation:(smoothclip::TimingAnimation)animation
|
|
651
669
|
animationId:(int32_t)animationId {
|
|
652
670
|
[self storeRequestedPresentation:presentation];
|
|
653
671
|
_timingAnimation = animation;
|
|
654
672
|
_activeAnimationKind = 1;
|
|
655
673
|
_activeAnimationId = animationId;
|
|
656
|
-
[self startAnimationToRequestedGeometryWithDuration:
|
|
657
|
-
|
|
674
|
+
return [self startAnimationToRequestedGeometryWithDuration:
|
|
675
|
+
MAX(0, animation.durationMs) / 1000.0];
|
|
658
676
|
}
|
|
659
677
|
|
|
660
|
-
- (
|
|
678
|
+
- (BOOL)smoothClipAnimateSpring:(smoothclip::Presentation)presentation
|
|
661
679
|
animation:(smoothclip::SpringAnimation)animation
|
|
662
680
|
animationId:(int32_t)animationId {
|
|
663
681
|
[self storeRequestedPresentation:presentation];
|
|
@@ -675,7 +693,7 @@ static std::array<double, 7> SmoothClipVelocityChannels(
|
|
|
675
693
|
}
|
|
676
694
|
_activeAnimationKind = 2;
|
|
677
695
|
_activeAnimationId = animationId;
|
|
678
|
-
[self startAnimationToRequestedGeometryWithDuration:0];
|
|
696
|
+
return [self startAnimationToRequestedGeometryWithDuration:0];
|
|
679
697
|
}
|
|
680
698
|
|
|
681
699
|
- (CAKeyframeAnimation *)keyframeAnimationForKeyPath:(NSString *)keyPath
|
|
@@ -689,17 +707,17 @@ static std::array<double, 7> SmoothClipVelocityChannels(
|
|
|
689
707
|
return animation;
|
|
690
708
|
}
|
|
691
709
|
|
|
692
|
-
- (
|
|
710
|
+
- (BOOL)smoothClipAnimateKeyframes:(smoothclip::Presentation)presentation
|
|
693
711
|
keyframes:(const std::vector<smoothclip::Keyframe> &)keyframes
|
|
694
712
|
durationMs:(double)durationMs
|
|
695
713
|
animationId:(int32_t)animationId {
|
|
696
|
-
if (keyframes.size() < 2) return;
|
|
714
|
+
if (keyframes.size() < 2) return NO;
|
|
697
715
|
[self storeRequestedPresentation:presentation];
|
|
698
716
|
_activeAnimationKind = 3;
|
|
699
717
|
_activeAnimationId = animationId;
|
|
700
718
|
if (![self smoothClipCanDisplay]) {
|
|
701
719
|
_pendingAnimationInstall = YES;
|
|
702
|
-
return;
|
|
720
|
+
return NO;
|
|
703
721
|
}
|
|
704
722
|
[self stopLayerAnimationWithoutCallback];
|
|
705
723
|
_activeAnimationKind = 3;
|
|
@@ -726,7 +744,7 @@ static std::array<double, 7> SmoothClipVelocityChannels(
|
|
|
726
744
|
frame.presentation.clip.height,
|
|
727
745
|
frame.presentation.clip.radius,
|
|
728
746
|
hostSize,
|
|
729
|
-
&normalized)) return;
|
|
747
|
+
&normalized)) return NO;
|
|
730
748
|
[times addObject:@(frame.offset)];
|
|
731
749
|
[boundsValues addObject:[NSValue valueWithCGRect:normalized.rect]];
|
|
732
750
|
[positionValues addObject:[NSValue valueWithCGPoint:CGPointMake(
|
|
@@ -737,7 +755,7 @@ static std::array<double, 7> SmoothClipVelocityChannels(
|
|
|
737
755
|
}
|
|
738
756
|
|
|
739
757
|
SmoothNormalizedClipGeometry target;
|
|
740
|
-
if (![self normalizedRequestedGeometry:&target]) return;
|
|
758
|
+
if (![self normalizedRequestedGeometry:&target]) return NO;
|
|
741
759
|
[self writeLayerRect:target.rect radius:target.radius];
|
|
742
760
|
[self writeContentTranslation:_requestedContentTranslation];
|
|
743
761
|
[self setClipContainerHidden:NO];
|
|
@@ -776,6 +794,7 @@ static std::array<double, 7> SmoothClipVelocityChannels(
|
|
|
776
794
|
[_clipContainer.layer addAnimation:group forKey:@"smoothClip.geometry"];
|
|
777
795
|
[_contentContainer.layer addAnimation:contentGroup
|
|
778
796
|
forKey:@"smoothClip.content"];
|
|
797
|
+
return YES;
|
|
779
798
|
}
|
|
780
799
|
|
|
781
800
|
- (void)smoothClipCancelAnimationUsingTarget:(BOOL)useTarget {
|
|
@@ -809,6 +828,10 @@ static std::array<double, 7> SmoothClipVelocityChannels(
|
|
|
809
828
|
|
|
810
829
|
- (void)applicationWillResignActive {
|
|
811
830
|
if (_activeAnimationId == 0 || _animationPaused) return;
|
|
831
|
+
const double springContinuationVelocity =
|
|
832
|
+
_activeAnimationKind == 2
|
|
833
|
+
? [self smoothClipSpringContinuationVelocity]
|
|
834
|
+
: 0;
|
|
812
835
|
const smoothclip::Presentation visible =
|
|
813
836
|
[self smoothClipCurrentPresentation];
|
|
814
837
|
_pausedRect = CGRectMake(
|
|
@@ -822,6 +845,16 @@ static std::array<double, 7> SmoothClipVelocityChannels(
|
|
|
822
845
|
visible.contentTranslateY);
|
|
823
846
|
_pausedRemaining = MAX(
|
|
824
847
|
0, _animationDuration - (CACurrentMediaTime() - _animationStartedAt));
|
|
848
|
+
if (_activeAnimationKind == 1 && _animationDuration > 0) {
|
|
849
|
+
const double progress = smoothclip::clamp01(
|
|
850
|
+
1 - _pausedRemaining / _animationDuration);
|
|
851
|
+
_timingAnimation =
|
|
852
|
+
smoothclip::timingRemainder(_timingAnimation, progress).animation;
|
|
853
|
+
_pausedRemaining = _timingAnimation.durationMs / 1000.0;
|
|
854
|
+
} else if (_activeAnimationKind == 2) {
|
|
855
|
+
_springAnimation.initialVelocity = springContinuationVelocity;
|
|
856
|
+
_springAnimation.inheritVelocity = false;
|
|
857
|
+
}
|
|
825
858
|
const int32_t animationId = _activeAnimationId;
|
|
826
859
|
const NSInteger animationKind = _activeAnimationKind;
|
|
827
860
|
[self stopLayerAnimationWithoutCallback];
|
|
@@ -944,10 +977,14 @@ static std::array<double, 7> SmoothClipVelocityChannels(
|
|
|
944
977
|
const CGPoint visibleContentTranslation = CGPointMake(
|
|
945
978
|
visible.contentTranslateX,
|
|
946
979
|
visible.contentTranslateY);
|
|
947
|
-
|
|
980
|
+
CFTimeInterval remaining = wasAnimating
|
|
948
981
|
? MAX(0, _animationDuration -
|
|
949
982
|
(CACurrentMediaTime() - _animationStartedAt))
|
|
950
983
|
: 0;
|
|
984
|
+
const double springContinuationVelocity =
|
|
985
|
+
wasAnimating && !_animationPaused && _activeAnimationKind == 2
|
|
986
|
+
? [self smoothClipSpringContinuationVelocity]
|
|
987
|
+
: 0;
|
|
951
988
|
|
|
952
989
|
[super updateLayoutMetrics:layoutMetrics oldLayoutMetrics:oldLayoutMetrics];
|
|
953
990
|
_hasLayout = YES;
|
|
@@ -980,7 +1017,16 @@ static std::array<double, 7> SmoothClipVelocityChannels(
|
|
|
980
1017
|
[self stopLayerAnimationWithoutCallback];
|
|
981
1018
|
_activeAnimationId = animationId;
|
|
982
1019
|
_activeAnimationKind = animationKind;
|
|
983
|
-
if (_activeAnimationKind ==
|
|
1020
|
+
if (_activeAnimationKind == 1 && _animationDuration > 0) {
|
|
1021
|
+
const double progress = smoothclip::clamp01(
|
|
1022
|
+
1 - remaining / _animationDuration);
|
|
1023
|
+
_timingAnimation =
|
|
1024
|
+
smoothclip::timingRemainder(_timingAnimation, progress).animation;
|
|
1025
|
+
remaining = _timingAnimation.durationMs / 1000.0;
|
|
1026
|
+
} else if (_activeAnimationKind == 2) {
|
|
1027
|
+
_springAnimation.initialVelocity = springContinuationVelocity;
|
|
1028
|
+
_springAnimation.inheritVelocity = false;
|
|
1029
|
+
} else if (_activeAnimationKind == 3) {
|
|
984
1030
|
_activeAnimationKind = 1;
|
|
985
1031
|
_timingAnimation = {remaining * 1000.0, 0, 0, 1, 1, 2};
|
|
986
1032
|
}
|
|
@@ -1006,6 +1052,17 @@ static std::array<double, 7> SmoothClipVelocityChannels(
|
|
|
1006
1052
|
} else {
|
|
1007
1053
|
[self applyRequestedClip];
|
|
1008
1054
|
}
|
|
1055
|
+
// First layout is the other moment this view can become displayable: when
|
|
1056
|
+
// the window attach ran first, didMoveToWindow saw _hasLayout == NO and did
|
|
1057
|
+
// nothing, and nothing else tells the registry. Android notifies from both
|
|
1058
|
+
// triggers (setViewHostGeometryAndroid and viewBecameDisplayableAndroid);
|
|
1059
|
+
// without this a held latch — including one re-latched by unregisterView
|
|
1060
|
+
// when the last displayable host left — would never start on iOS. Costs one
|
|
1061
|
+
// registry lookup per layout; viewBecameDisplayable returns immediately when
|
|
1062
|
+
// there is no animation to resume.
|
|
1063
|
+
if (_driverId != 0 && [self smoothClipCanDisplay]) {
|
|
1064
|
+
smoothclip::viewBecameDisplayable(_driverId, self);
|
|
1065
|
+
}
|
|
1009
1066
|
}
|
|
1010
1067
|
|
|
1011
1068
|
- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeSmoothClipModule.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeSmoothClipModule.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AAuGlD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,wBAAwB,CAAC","ignoreList":[]}
|
|
@@ -17,6 +17,14 @@ const INTERACTIVE = 0;
|
|
|
17
17
|
const NATIVE = 1;
|
|
18
18
|
const setPresentationHostFunction = NativeSmoothClipModule.setClipPresentation;
|
|
19
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
|
+
|
|
20
28
|
const animateTimingHostFunction = NativeSmoothClipModule.animateTiming;
|
|
21
29
|
const animateSpringHostFunction = NativeSmoothClipModule.animateSpring;
|
|
22
30
|
const animateKeyframesHostFunction = NativeSmoothClipModule.animateKeyframes;
|
|
@@ -119,6 +127,14 @@ export function useSmoothClipDriver(initialValue, options = {}) {
|
|
|
119
127
|
// so animateTo must start from the native registry's latest value instead
|
|
120
128
|
// of snapping back to the stale SharedValue.
|
|
121
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);
|
|
122
138
|
const callbackRef = useRef(options.onAnimationComplete);
|
|
123
139
|
const driverRef = useRef(null);
|
|
124
140
|
callbackRef.current = options.onAnimationComplete;
|
|
@@ -128,14 +144,21 @@ export function useSmoothClipDriver(initialValue, options = {}) {
|
|
|
128
144
|
const seedPresentation = next => {
|
|
129
145
|
'worklet';
|
|
130
146
|
|
|
131
|
-
if (
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
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;
|
|
135
157
|
};
|
|
136
158
|
const beginOnUI = () => {
|
|
137
159
|
'worklet';
|
|
138
160
|
|
|
161
|
+
if (disposed.value !== 0) return presentation.value;
|
|
139
162
|
const current = presentationFromNative(beginInteractionHostFunction(driverId), presentation.value);
|
|
140
163
|
activeAnimationId.value = 0;
|
|
141
164
|
ownership.value = INTERACTIVE;
|
|
@@ -146,7 +169,7 @@ export function useSmoothClipDriver(initialValue, options = {}) {
|
|
|
146
169
|
const setOnUI = next => {
|
|
147
170
|
'worklet';
|
|
148
171
|
|
|
149
|
-
if (!isFiniteClipPresentation(next)) return;
|
|
172
|
+
if (disposed.value !== 0 || !isFiniteClipPresentation(next)) return;
|
|
150
173
|
activeAnimationId.value = 0;
|
|
151
174
|
ownership.value = INTERACTIVE;
|
|
152
175
|
scalarsStale.value = 0;
|
|
@@ -155,19 +178,19 @@ export function useSmoothClipDriver(initialValue, options = {}) {
|
|
|
155
178
|
contentTranslateX,
|
|
156
179
|
contentTranslateY
|
|
157
180
|
} = next;
|
|
158
|
-
setPresentationHostFunction(driverId, clip.x, clip.y, clip.width, clip.height, clip.radius, contentTranslateX, contentTranslateY, true);
|
|
181
|
+
setPresentationHostFunction(driverId, clip.x, clip.y, clip.width, clip.height, clip.radius, contentTranslateX, contentTranslateY, true, false);
|
|
159
182
|
seedPresentation(next);
|
|
160
183
|
};
|
|
161
|
-
const setScalarsOnUI = (x, y, width, height, radius, contentTranslateX, contentTranslateY) => {
|
|
184
|
+
const setScalarsOnUI = (x, y, width, height, radius, contentTranslateX, contentTranslateY, overridePendingAnimation = false) => {
|
|
162
185
|
'worklet';
|
|
163
186
|
|
|
164
|
-
if (!Number.isFinite(x) || !Number.isFinite(y) || !Number.isFinite(width) || !Number.isFinite(height) || !Number.isFinite(radius) || !Number.isFinite(contentTranslateX) || !Number.isFinite(contentTranslateY)) {
|
|
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)) {
|
|
165
188
|
return;
|
|
166
189
|
}
|
|
167
190
|
if (activeAnimationId.value !== 0) activeAnimationId.value = 0;
|
|
168
191
|
if (ownership.value !== INTERACTIVE) ownership.value = INTERACTIVE;
|
|
169
192
|
if (scalarsStale.value === 0) scalarsStale.value = 1;
|
|
170
|
-
setPresentationHostFunction(driverId, x, y, width, height, radius, contentTranslateX, contentTranslateY, true);
|
|
193
|
+
setPresentationHostFunction(driverId, x, y, width, height, radius, contentTranslateX, contentTranslateY, true, overridePendingAnimation);
|
|
171
194
|
};
|
|
172
195
|
const animateOnUI = (target, animation) => {
|
|
173
196
|
'worklet';
|
|
@@ -175,6 +198,13 @@ export function useSmoothClipDriver(initialValue, options = {}) {
|
|
|
175
198
|
if (!isFiniteClipPresentation(target) || !animationIsFinite(target, animation)) {
|
|
176
199
|
return rejectAnimationHostFunction(driverId);
|
|
177
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;
|
|
178
208
|
const from = animation.from;
|
|
179
209
|
if (from !== undefined) {
|
|
180
210
|
// Fused hot write: exactly setScalars(from…) issued immediately
|
|
@@ -182,7 +212,7 @@ export function useSmoothClipDriver(initialValue, options = {}) {
|
|
|
182
212
|
// start below — is the caller's explicit presentation. Also
|
|
183
213
|
// re-grabs from a running animation, which the implicit
|
|
184
214
|
// interactive-start path would silently skip.
|
|
185
|
-
setScalarsOnUI(from.clip.x, from.clip.y, from.clip.width, from.clip.height, from.clip.radius, from.contentTranslateX, from.contentTranslateY);
|
|
215
|
+
setScalarsOnUI(from.clip.x, from.clip.y, from.clip.width, from.clip.height, from.clip.radius, from.contentTranslateX, from.contentTranslateY, true);
|
|
186
216
|
}
|
|
187
217
|
|
|
188
218
|
// After a setScalars hot write the SharedValue no longer matches what
|
|
@@ -197,23 +227,36 @@ export function useSmoothClipDriver(initialValue, options = {}) {
|
|
|
197
227
|
scalarsStale.value = 0;
|
|
198
228
|
const startClip = start.clip;
|
|
199
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);
|
|
200
243
|
let animationId;
|
|
201
244
|
if (animation.type === 'timing') {
|
|
202
245
|
const [x1, y1, x2, y2] = animation.controlPoints;
|
|
203
|
-
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);
|
|
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);
|
|
204
247
|
} else if (animation.type === 'spring') {
|
|
205
248
|
const inheritVelocity = animation.initialVelocity === undefined || animation.initialVelocity === 'inherit';
|
|
206
|
-
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);
|
|
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);
|
|
207
250
|
} else {
|
|
208
|
-
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);
|
|
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);
|
|
209
252
|
}
|
|
210
253
|
if (animationId === 0) {
|
|
211
|
-
// The 0 sentinel:
|
|
212
|
-
//
|
|
213
|
-
//
|
|
214
|
-
//
|
|
215
|
-
//
|
|
216
|
-
//
|
|
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).
|
|
217
260
|
ownership.value = INTERACTIVE;
|
|
218
261
|
presentation.value = start;
|
|
219
262
|
if (scalarsWereStale) scalarsStale.value = 1;
|
|
@@ -226,6 +269,10 @@ export function useSmoothClipDriver(initialValue, options = {}) {
|
|
|
226
269
|
const cancelOnUI = (animationId = 0, behavior = 'current') => {
|
|
227
270
|
'worklet';
|
|
228
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;
|
|
229
276
|
const values = cancelAnimationHostFunction(driverId, animationId, behavior === 'target' ? 1 : 0);
|
|
230
277
|
if (values.length < 8 || values[0] !== 1) return presentation.value;
|
|
231
278
|
const current = presentationFromNative(values, presentation.value, 1);
|
|
@@ -345,9 +392,13 @@ export function useSmoothClipDriver(initialValue, options = {}) {
|
|
|
345
392
|
synchronizeNativeCompletion(activeAnimationId, ownership, result.animationId, result.finished);
|
|
346
393
|
completeNativeAnimation(driverId, result.animationId, result.finished);
|
|
347
394
|
});
|
|
348
|
-
scheduleOnUI((source, listenerId, nativeDriverId, owner, suppressed, active, stale, setter) => {
|
|
395
|
+
scheduleOnUI((source, listenerId, nativeDriverId, owner, suppressed, active, stale, gone, setter) => {
|
|
349
396
|
'worklet';
|
|
350
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;
|
|
351
402
|
let last = null;
|
|
352
403
|
const deliver = next => {
|
|
353
404
|
if (!isFiniteClipPresentation(next) || clipPresentationEquals(last, next)) {
|
|
@@ -369,33 +420,51 @@ export function useSmoothClipDriver(initialValue, options = {}) {
|
|
|
369
420
|
contentTranslateX,
|
|
370
421
|
contentTranslateY
|
|
371
422
|
} = next;
|
|
372
|
-
setter(nativeDriverId, clip.x, clip.y, clip.width, clip.height, clip.radius, contentTranslateX, contentTranslateY, false);
|
|
423
|
+
setter(nativeDriverId, clip.x, clip.y, clip.width, clip.height, clip.radius, contentTranslateX, contentTranslateY, false, false);
|
|
373
424
|
};
|
|
374
425
|
source.addListener(listenerId, deliver);
|
|
375
426
|
// Authoritative take-ownership seed. Creates the native entry before
|
|
376
|
-
// any view mounts on the
|
|
377
|
-
// an effect-replay cleanup (StrictMode/<Activity>) on later runs.
|
|
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.
|
|
378
432
|
const current = source.value;
|
|
379
|
-
if (isFiniteClipPresentation(current)) {
|
|
433
|
+
if (owner.value === INTERACTIVE && isFiniteClipPresentation(current)) {
|
|
380
434
|
active.value = 0;
|
|
381
435
|
owner.value = INTERACTIVE;
|
|
382
436
|
stale.value = 0;
|
|
383
437
|
last = current;
|
|
384
|
-
setter(nativeDriverId, current.clip.x, current.clip.y, current.clip.width, current.clip.height, current.clip.radius, current.contentTranslateX, current.contentTranslateY, true);
|
|
438
|
+
setter(nativeDriverId, current.clip.x, current.clip.y, current.clip.width, current.clip.height, current.clip.radius, current.contentTranslateX, current.contentTranslateY, true, false);
|
|
385
439
|
}
|
|
386
|
-
}, presentation, driverId, driverId, ownership, suppressDeliveries, activeAnimationId, scalarsStale, setPresentationHostFunction);
|
|
440
|
+
}, presentation, driverId, driverId, ownership, suppressDeliveries, activeAnimationId, scalarsStale, disposed, setPresentationHostFunction);
|
|
387
441
|
return () => {
|
|
388
442
|
subscription.remove();
|
|
389
443
|
rejectDriverRequests(driverId);
|
|
390
444
|
detachDriverState(state);
|
|
391
|
-
scheduleOnUI((source, listenerId, nativeDriverId, destroy) => {
|
|
445
|
+
scheduleOnUI((source, listenerId, nativeDriverId, owner, active, stale, suppressed, gone, destroy) => {
|
|
392
446
|
'worklet';
|
|
393
447
|
|
|
394
448
|
source.removeListener(listenerId);
|
|
395
449
|
destroy(nativeDriverId);
|
|
396
|
-
|
|
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);
|
|
397
466
|
};
|
|
398
|
-
}, [activeAnimationId, ownership, presentation, scalarsStale, suppressDeliveries]);
|
|
467
|
+
}, [activeAnimationId, disposed, ownership, presentation, scalarsStale, suppressDeliveries]);
|
|
399
468
|
return driver;
|
|
400
469
|
}
|
|
401
470
|
//# sourceMappingURL=drivers.native.js.map
|
|
@@ -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.native.ts"],"mappings":"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","ignoreList":[]}
|
|
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":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG9D,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,QAAQ,CAAC,uBAAuB,EAAE,YAAY,CAAC,YAAY,CACzD,QAAQ,CAAC;QACP,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC;QAC9B,WAAW,EAAE,YAAY,CAAC,KAAK,CAAC;QAChC,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC,CACH,CAAC;IACF,mBAAmB,CACjB,QAAQ,EAAE,YAAY,CAAC,MAAM,EAC7B,CAAC,EAAE,YAAY,CAAC,MAAM,EACtB,CAAC,EAAE,YAAY,CAAC,MAAM,EACtB,KAAK,EAAE,YAAY,CAAC,MAAM,EAC1B,MAAM,EAAE,YAAY,CAAC,MAAM,EAC3B,MAAM,EAAE,YAAY,CAAC,MAAM,EAC3B,iBAAiB,EAAE,YAAY,CAAC,MAAM,EACtC,iBAAiB,EAAE,YAAY,CAAC,MAAM,EACtC,aAAa,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"NativeSmoothClipModule.d.ts","sourceRoot":"","sources":["../../../src/NativeSmoothClipModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,8 +14,9 @@ type ClipAnimationBase = Readonly<{
|
|
|
14
14
|
* On the native drivers `driver.presentation.value` is not written from
|
|
15
15
|
* `from` (it stays stale until success sets it to the target); the web
|
|
16
16
|
* fallback does write it — its presentation SharedValue is the render
|
|
17
|
-
* channel itself. Against a held pending-animation latch
|
|
18
|
-
*
|
|
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.
|
|
19
20
|
*
|
|
20
21
|
* Keyframes interpolate absolutely, so pass `frames[0].presentation` —
|
|
21
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":"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
|
|
1
|
+
{"version":3,"file":"driverTypes.d.ts","sourceRoot":"","sources":["../../../src/driverTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drivers.native.d.ts","sourceRoot":"","sources":["../../../src/drivers.native.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAEV,sBAAsB,EAEtB,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,kBAAe,CAAC;AAavB,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC5B,MAAM,eAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"drivers.native.d.ts","sourceRoot":"","sources":["../../../src/drivers.native.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAEV,sBAAsB,EAEtB,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,kBAAe,CAAC;AAavB,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC5B,MAAM,eAAY,CAAC;AAiKpB,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,YAAY,GAAG,sBAAsB,EACnD,OAAO,GAAE,uBAA4B,GACpC,gBAAgB,CAslBlB;AAED,YAAY,EACV,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,GACpB,CAAC"}
|