@rafaelaugusto/jolt 0.1.0-beta.13 → 0.1.0-beta.15

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 (91) hide show
  1. package/README.md +14 -9
  2. package/dist/driver/android-gradient.d.ts.map +1 -1
  3. package/dist/driver/android-gradient.js +11 -1
  4. package/dist/driver/android-gradient.js.map +1 -1
  5. package/dist/driver/android-particles.d.ts +6 -0
  6. package/dist/driver/android-particles.d.ts.map +1 -0
  7. package/dist/driver/android-particles.js +93 -0
  8. package/dist/driver/android-particles.js.map +1 -0
  9. package/dist/driver/ios-gradient.d.ts.map +1 -1
  10. package/dist/driver/ios-gradient.js +24 -2
  11. package/dist/driver/ios-gradient.js.map +1 -1
  12. package/dist/engine.d.ts.map +1 -1
  13. package/dist/engine.js +9 -3
  14. package/dist/engine.js.map +1 -1
  15. package/dist/gradient-binding.d.ts +38 -0
  16. package/dist/gradient-binding.d.ts.map +1 -0
  17. package/dist/gradient-binding.js +128 -0
  18. package/dist/gradient-binding.js.map +1 -0
  19. package/dist/gradient.d.ts +19 -4
  20. package/dist/gradient.d.ts.map +1 -1
  21. package/dist/gradient.js +331 -70
  22. package/dist/gradient.js.map +1 -1
  23. package/dist/haptics.d.ts.map +1 -1
  24. package/dist/haptics.js +101 -28
  25. package/dist/haptics.js.map +1 -1
  26. package/dist/index.d.ts +3 -1
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +1 -0
  29. package/dist/index.js.map +1 -1
  30. package/dist/motion-scope.d.ts +3 -1
  31. package/dist/motion-scope.d.ts.map +1 -1
  32. package/dist/motion-scope.js +14 -1
  33. package/dist/motion-scope.js.map +1 -1
  34. package/dist/motion-value.d.ts +17 -0
  35. package/dist/motion-value.d.ts.map +1 -1
  36. package/dist/motion-value.js +38 -0
  37. package/dist/motion-value.js.map +1 -1
  38. package/dist/native/index.d.ts +2 -0
  39. package/dist/native/index.d.ts.map +1 -1
  40. package/dist/native/index.js +2 -0
  41. package/dist/native/index.js.map +1 -1
  42. package/dist/particles.d.ts +5 -2
  43. package/dist/particles.d.ts.map +1 -1
  44. package/dist/particles.js +16 -10
  45. package/dist/particles.js.map +1 -1
  46. package/dist/scene-appearance.d.ts +14 -0
  47. package/dist/scene-appearance.d.ts.map +1 -0
  48. package/dist/scene-appearance.js +68 -0
  49. package/dist/scene-appearance.js.map +1 -0
  50. package/dist/scene-camera.d.ts +5 -0
  51. package/dist/scene-camera.d.ts.map +1 -0
  52. package/dist/scene-camera.js +23 -0
  53. package/dist/scene-camera.js.map +1 -0
  54. package/dist/size-layout.d.ts +19 -0
  55. package/dist/size-layout.d.ts.map +1 -0
  56. package/dist/size-layout.js +216 -0
  57. package/dist/size-layout.js.map +1 -0
  58. package/dist/size.d.ts +19 -0
  59. package/dist/size.d.ts.map +1 -0
  60. package/dist/size.js +251 -0
  61. package/dist/size.js.map +1 -0
  62. package/dist/types.d.ts +1 -1
  63. package/dist/types.d.ts.map +1 -1
  64. package/dist/vue/index.d.ts.map +1 -1
  65. package/dist/vue/index.js +28 -5
  66. package/dist/vue/index.js.map +1 -1
  67. package/package.json +1 -1
  68. package/platforms/android/java/org/rafaelaugusto/jolt/GradientLayer.java +30 -1
  69. package/platforms/android/java/org/rafaelaugusto/jolt/ParticleEmitter.java +192 -0
  70. package/platforms/android/java/org/rafaelaugusto/jolt/ParticleSimulation.java +114 -0
  71. package/platforms/android/proguard-rules.pro +2 -0
  72. package/src/android-plugin.d.ts +56 -0
  73. package/src/driver/android-gradient.ts +8 -1
  74. package/src/driver/android-particles.ts +118 -0
  75. package/src/driver/ios-gradient.ts +24 -2
  76. package/src/engine.ts +10 -4
  77. package/src/gradient-binding.ts +158 -0
  78. package/src/gradient.ts +376 -91
  79. package/src/haptics.ts +106 -28
  80. package/src/index.ts +3 -0
  81. package/src/ios-plugin.d.ts +10 -0
  82. package/src/motion-scope.ts +23 -2
  83. package/src/motion-value.ts +43 -0
  84. package/src/native/index.ts +8 -0
  85. package/src/particles.ts +18 -17
  86. package/src/scene-appearance.ts +92 -0
  87. package/src/scene-camera.ts +30 -0
  88. package/src/size-layout.ts +237 -0
  89. package/src/size.ts +302 -0
  90. package/src/types.ts +1 -1
  91. package/src/vue/index.ts +29 -5
package/README.md CHANGED
@@ -29,7 +29,9 @@ animate(rows, 'fadeInUp', { stagger: 40 })
29
29
 
30
30
  NativeScript's `view.animate()` covers the basics and stops there: one curve for every property, a `spring` curve with no settings, no keyframes, and a promise that rejects when the animation is cancelled. Anything richer ends up as platform code.
31
31
 
32
- Jolt computes the motion once, in JavaScript, when the animation starts, and hands it to the platform as keyframes: Core Animation on iOS, `ObjectAnimator` on Android. Those default view tracks play without per-frame JavaScript. Opt-in subscribers, gesture input and timeline step activation retain their documented [execution limits](https://jolt.rafaelaugusto.dev/guide/how-it-works). Springs follow real physics, and an animation that interrupts another one starts from where the view is, at the speed it was going.
32
+ Jolt computes the motion once, in JavaScript, when the animation starts, and hands it to the platform as keyframes: Core Animation on iOS, `ObjectAnimator` on Android. Those default view tracks play without per-frame JavaScript. Real-size layout, opt-in subscribers, gesture input and timeline step activation retain their documented [execution limits](https://jolt.rafaelaugusto.dev/guide/how-it-works). Springs follow real physics, and an animation that interrupts another one starts from where the view is, at the speed it was going.
33
+
34
+ The [beta.15 release](https://github.com/rafaelaugustos/jolt/releases/tag/v0.1.0-beta.15) adds real width/height/auto animation and SceneKit camera field of view. Install `@rafaelaugusto/jolt@0.1.0-beta.15`; for external native properties, also install matching `@rafaelaugusto/jolt-native@0.1.0-beta.15` and rebuild the native app.
33
35
 
34
36
  ## Features
35
37
 
@@ -44,6 +46,7 @@ Jolt computes the motion once, in JavaScript, when the animation starts, and han
44
46
  - [Motion scopes and states](https://jolt.rafaelaugusto.dev/guide/motion-controllers) for component cleanup and coordinated visual states, with a transition per target.
45
47
  - [Animated touch targets](https://jolt.rafaelaugusto.dev/guide/interaction-surface) with an opt-in native interaction surface.
46
48
  - [Layout changes](https://jolt.rafaelaugusto.dev/guide/layout): insertion, removal, reorder and resize of container children.
49
+ - [Real dimensions](https://jolt.rafaelaugusto.dev/guide/size): animate width, height and auto with text reflow and moving siblings.
47
50
  - [Drag](https://jolt.rafaelaugusto.dev/guide/drag) with bounds, snap points, rubberband and native release physics, moving the view or a motion value.
48
51
  - [Decay](#decay) from a release velocity, with optional snap points.
49
52
  - [Keyframes and tweens](#tweens) with an easing per segment and exact keyframe times.
@@ -52,7 +55,7 @@ Jolt computes the motion once, in JavaScript, when the animation starts, and han
52
55
  - [Sequences](#sequences) with overlapping arrivals, shared starts and absolute timeline positions.
53
56
  - [Controlled timelines](https://jolt.rafaelaugusto.dev/guide/sequences) pause and resume views, motion values and image effects together.
54
57
  - [Observable playback progress](https://jolt.rafaelaugusto.dev/guide/playback) feeds native bindings and opt-in subscribers from the original clock.
55
- - [Native property adapters](https://jolt.rafaelaugusto.dev/guide/native-properties) for maps and SceneKit cameras, through the optional `@rafaelaugusto/jolt-native` plugin.
58
+ - [Native property adapters](https://jolt.rafaelaugusto.dev/guide/native-properties) for maps and SceneKit camera pose/[field of view](https://jolt.rafaelaugusto.dev/guide/scene-camera), lights and solid-color materials, through the optional `@rafaelaugusto/jolt-native` plugin.
56
59
  - [Press effects](#press) that follow the finger and let go when a scroll takes over.
57
60
  - [Vue directives and a transition component](#vue) from the optional `@rafaelaugusto/jolt/vue` entry.
58
61
  - [Text entrances](#text) by letter or word on iOS and Android, preserving the Label’s layout and accessibility.
@@ -64,8 +67,8 @@ Jolt computes the motion once, in JavaScript, when the animation starts, and han
64
67
  - [Photo zoom and pan](https://jolt.rafaelaugusto.dev/guide/photo-zoom): native pinch, double tap, bounds and vertical dismissal intents.
65
68
  - [Loaders](#loaders) with dots, bars and ring styles on iOS.
66
69
  - [Circular reveal](#circular-reveal) to show or hide content from a point on iOS.
67
- - [Haptics](#haptics) at arrival or at marked points in an animation on iOS.
68
- - [Particles and confetti](#particles-and-confetti) on iOS.
70
+ - [Haptics](#haptics) at arrival or at marked points in an animation on iOS and Android.
71
+ - [Particles and confetti](#particles-and-confetti) on iOS and Android.
69
72
  - [Scroll-linked animations](#scroll-linked-animations) for parallax and collapsing headers.
70
73
  - [Keyboard following](#follow-the-keyboard) for composers that rise with the keyboard, at its speed and curve.
71
74
  - [Playback controls](#pause-play-and-scrub) to pause, continue and scrub a finite timeline.
@@ -227,7 +230,7 @@ const glow = gradient(card, {
227
230
  glow.animate({ center: { x: 0.7, y: 0.7 }, radius: 0.9 }, { duration: 1400 })
228
231
  ```
229
232
 
230
- Native linear, radial and conic gradients behind a layout's children, which NativeScript's CSS doesn't have beyond a static `linear-gradient`. Colors, stops, angle, center and radius animate with springs, tweens and repeats: a `CAGradientLayer` with Core Animation keyframes on iOS, a native drawable and animator on Android. `motionScope().gradient()` removes it with the scope, and `v-gradient` paints and animates one from a Vue template. Rebuild Android after upgrading. See the [guide](https://jolt.rafaelaugusto.dev/guide/gradients).
233
+ Native linear, radial and conic gradients behind a layout's children, which NativeScript's CSS doesn't have beyond a static `linear-gradient`. Colors, stops, angle, center and radius animate with springs, tweens and repeats: a `CAGradientLayer` with Core Animation keyframes on iOS, a native drawable and animator on Android. Pass motion/derived values directly, or use `glow.bind(...)`, to share a source with view properties without a JS observer loop. `motionScope().gradient()` owns lifecycle and suspension, and `v-gradient` supports the same bindings in Vue. Native binding windows are sampled in JS at preparation/control boundaries; gesture updates still enter JS. Rebuild Android after upgrading. See the [guide and native interaction videos](https://jolt.rafaelaugusto.dev/guide/gradients#following-motion-values).
231
234
 
232
235
  ## Transitions
233
236
 
@@ -527,7 +530,7 @@ animate(card, { y: 0 }, { type: 'spring', haptic: 'light' })
527
530
  animate(button, 'bounce', { haptic: { style: 'light', times: [0.6, 1] } })
528
531
  ```
529
532
 
530
- Choose `light`, `medium` or `heavy`. By default, one impact fires when the animation visually arrives. Explicit points can mark each landing of a bounce. Delays and stagger follow the animation; interruptions, stopping and unloading cancel pending feedback. iOS only for now. See the [haptics guide](https://jolt.rafaelaugusto.dev/guide/haptics) for timing and device behavior.
533
+ Choose `light`, `medium` or `heavy`. By default, one impact fires when the animation visually arrives. Explicit points can mark each landing of a bounce. Delays and stagger follow the animation; interruptions, stopping and unloading cancel pending feedback. Supported on iOS and Android, respecting device settings. See the [haptics guide](https://jolt.rafaelaugusto.dev/guide/haptics) for timing, platform mappings and physical-device behavior.
531
534
 
532
535
  ## Particles and confetti
533
536
 
@@ -539,7 +542,7 @@ const stopSnow = particles(scene, { source: 'top', angle: 90, velocity: 45 })
539
542
  stopSnow() // remove the emitter and its particles
540
543
  ```
541
544
 
542
- Confetti bursts into the target's window and cleans itself up. `particles()` adds an emitter to the view for snow, sparks, bubbles or other effects. Both use Core Animation without JavaScript per frame, respect Reduce Motion and stop on unload. iOS only for now. See the [particles guide](https://jolt.rafaelaugusto.dev/guide/particles).
545
+ Confetti bursts into the target's window and cleans itself up. `particles()` adds an emitter for snow, sparks, bubbles or finite effects. Both use native playback without JS simulation/painting per frame: Core Animation on iOS, a bounded Java simulation and Canvas drawable on Android. They respect reduced motion and cancel on unload/backgrounding. Android drawing shares the UI thread; rebuild the app after upgrading. See the [guide and native videos](https://jolt.rafaelaugusto.dev/guide/particles).
543
546
 
544
547
  ## Scroll-linked animations
545
548
 
@@ -647,9 +650,9 @@ Each running property remembers its curve and start time. On Android, interrupti
647
650
 
648
651
  ## Not there yet
649
652
 
650
- - `animate()` supports transforms, opacity, colors, uniform corners and borders, and platform shadows. Size and layout changes ([#21](https://github.com/rafaelaugustos/jolt/issues/21)) aren't animated yet.
653
+ - `animate()` supports transforms, opacity, colors, uniform corners and borders, and platform shadows. [`animateSize()`](https://jolt.rafaelaugusto.dev/guide/size) adds real width/height/auto transitions with per-frame JS layout; [`animateLayout()`](https://jolt.rafaelaugusto.dev/guide/layout) animates layout changes through FLIP transforms.
651
654
  - Gesture composition and nested-scroll handoff remain separate work ([#51](https://github.com/rafaelaugustos/jolt/issues/51)).
652
- - No layout or shared element transitions ([#21](https://github.com/rafaelaugustos/jolt/issues/21), [#24](https://github.com/rafaelaugustos/jolt/issues/24)).
655
+ - Shared-element navigation remains planned ([#24](https://github.com/rafaelaugustos/jolt/issues/24)).
653
656
 
654
657
  ## API
655
658
 
@@ -657,6 +660,8 @@ Each running property remembers its curve and start time. On Android, interrupti
657
660
 
658
661
  `animateLayout(container, change?, options?)` animates the next layout of direct children; `motionScope().animateLayout()` owns it through component lifecycle. Cancellation settles temporary offsets into the final layout.
659
662
 
663
+ `animateSize(view, dimensions, change?, options?)` animates actual width/height/auto in StackLayout/GridLayout, including inside ScrollView. Its `SizeAnimation` supports pause/resume, stop and restoring the original declarations. It runs JS measurement/layout each frame. `motionScope().animateSize()` owns its lifecycle. See the [guide and native videos](https://jolt.rafaelaugusto.dev/guide/size).
664
+
660
665
  `interactionSurface(target)` opts a view/subtree into native touch geometry during animation; returns `{ disposed, dispose() }`. Register before playback; rebuild iOS after upgrading.
661
666
 
662
667
  `drag()` returns a controller with `position`, `dragging`, `settling`, `cancel()`, `pause()`, `play()` and `dispose()`. `motionScope().drag()` owns it through component lifecycle.
@@ -1 +1 @@
1
- {"version":3,"file":"android-gradient.d.ts","sourceRoot":"","sources":["../../src/driver/android-gradient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAiB,eAAe,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAalF,qGAAqG;AACrG,wBAAgB,eAAe,CAC7B,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,YAAY,GACjB,eAAe,GAAG,SAAS,CA0F7B"}
1
+ {"version":3,"file":"android-gradient.d.ts","sourceRoot":"","sources":["../../src/driver/android-gradient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,KAAK,EAAiB,eAAe,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAalF,qGAAqG;AACrG,wBAAgB,eAAe,CAC7B,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,YAAY,GACjB,eAAe,GAAG,SAAS,CAiG7B"}
@@ -21,7 +21,10 @@ export function androidGradient(view, type) {
21
21
  }
22
22
  let stack;
23
23
  let queued = false;
24
+ let removed = false;
24
25
  const wrap = () => {
26
+ if (removed)
27
+ return;
25
28
  const native = view.nativeViewProtected;
26
29
  if (!native)
27
30
  return;
@@ -65,6 +68,10 @@ export function androidGradient(view, type) {
65
68
  },
66
69
  }));
67
70
  return {
71
+ control(elapsed, paused) {
72
+ if (active)
73
+ layer.control(Math.round(elapsed), paused);
74
+ },
68
75
  cancel() {
69
76
  if (!active)
70
77
  return;
@@ -75,10 +82,13 @@ export function androidGradient(view, type) {
75
82
  };
76
83
  },
77
84
  remove() {
85
+ if (removed)
86
+ return;
87
+ removed = true;
78
88
  view.off('loaded', wrap);
79
89
  view.style.off('backgroundInternalChange', rewrap);
80
90
  view.style.off('borderTopLeftRadiusChange', rewrap);
81
- layer.cancel();
91
+ layer.dispose();
82
92
  const native = view.nativeViewProtected;
83
93
  if (native && stack && native.getBackground() === stack)
84
94
  native.setBackground(stack.getDrawable(0));
@@ -1 +1 @@
1
- {"version":3,"file":"android-gradient.js","sourceRoot":"","sources":["../../src/driver/android-gradient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"android-gradient.js","sourceRoot":"","sources":["../../src/driver/android-gradient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { type View } from '@nativescript/core';
2
+ import type { ParticleSettings } from '../particles.js';
3
+ /** Internal diagnostic seam for native conformance, not a public animation API. */
4
+ export declare function currentAndroidParticles(view: View, overlay?: boolean): org.rafaelaugusto.jolt.ParticleEmitter | undefined;
5
+ export declare function androidParticles(view: View, settings: ParticleSettings, overlay: boolean, owners: WeakMap<View, () => void>): () => void;
6
+ //# sourceMappingURL=android-particles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"android-particles.d.ts","sourceRoot":"","sources":["../../src/driver/android-particles.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAEzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAKvD,mFAAmF;AACnF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,UAAQ,sDAElE;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,GAChC,MAAM,IAAI,CAoGZ"}
@@ -0,0 +1,93 @@
1
+ import { Application, Color, Utils } from '@nativescript/core';
2
+ import { onReducedMotion, reducedMotion } from '../config.js';
3
+ const live = new WeakMap();
4
+ /** Internal diagnostic seam for native conformance, not a public animation API. */
5
+ export function currentAndroidParticles(view, overlay = false) {
6
+ return live.get(view)?.[overlay ? 'burst' : 'emitter'];
7
+ }
8
+ export function androidParticles(view, settings, overlay, owners) {
9
+ let stopped = false, queued = false;
10
+ let emitter, target, unwatch;
11
+ const key = overlay ? 'burst' : 'emitter';
12
+ const stop = () => {
13
+ if (stopped)
14
+ return;
15
+ stopped = true;
16
+ view.off('loaded', schedule);
17
+ view.off('layoutChanged', schedule);
18
+ view.off('unloaded', stop);
19
+ view.style.off('borderTopLeftRadiusChange', schedule);
20
+ Application.off(Application.suspendEvent, stop);
21
+ unwatch?.();
22
+ unwatch = undefined;
23
+ if (owners.get(view) === stop)
24
+ owners.delete(view);
25
+ const active = live.get(view);
26
+ if (active && active[key] === emitter) {
27
+ delete active[key];
28
+ if (!active.emitter && !active.burst)
29
+ live.delete(view);
30
+ }
31
+ const native = emitter;
32
+ emitter = target = undefined;
33
+ native?.stop();
34
+ };
35
+ const update = () => {
36
+ if (!view.isLoaded)
37
+ return;
38
+ if (reducedMotion())
39
+ return stop();
40
+ const native = view.nativeViewProtected;
41
+ if (target && target !== native)
42
+ return stop();
43
+ if (emitter) {
44
+ emitter.refresh((typeof view.borderRadius === 'number' ? view.borderRadius : 0) *
45
+ Utils.layout.getDisplayDensity());
46
+ return;
47
+ }
48
+ if (!native?.getWindowToken() || native.getWidth() <= 0 || native.getHeight() <= 0)
49
+ return;
50
+ const colors = Array.create('int', settings.colors.length);
51
+ settings.colors.forEach((color, i) => {
52
+ colors[i] = new Color(color).argb | 0;
53
+ });
54
+ target = native;
55
+ emitter = new org.rafaelaugusto.jolt.ParticleEmitter(native, overlay, colors, settings.shape === 'circle' ? 0 : settings.shape === 'rectangle' ? 1 : 2, settings.source === 'center' ? 0 : settings.source === 'top' ? 1 : 2, settings.rate, settings.lifetime, settings.size, settings.velocity, settings.velocityRange, settings.angle, settings.spread, settings.gravity, settings.spin, settings.spinRange, settings.fadeOut, settings.duration ?? -1, new org.rafaelaugusto.jolt.ParticleEmitter.Listener({ onEnd: stop }));
56
+ const active = live.get(view) ?? {};
57
+ active[key] = emitter;
58
+ live.set(view, active);
59
+ emitter.refresh((typeof view.borderRadius === 'number' ? view.borderRadius : 0) *
60
+ Utils.layout.getDisplayDensity());
61
+ emitter.start();
62
+ };
63
+ function schedule() {
64
+ if (stopped || queued)
65
+ return;
66
+ queued = true;
67
+ void Promise.resolve().then(() => {
68
+ queued = false;
69
+ if (stopped)
70
+ return;
71
+ try {
72
+ update();
73
+ }
74
+ catch (error) {
75
+ stop();
76
+ throw error;
77
+ }
78
+ });
79
+ }
80
+ owners.set(view, stop);
81
+ view.on('loaded', schedule);
82
+ view.on('layoutChanged', schedule);
83
+ view.on('unloaded', stop);
84
+ view.style.on('borderTopLeftRadiusChange', schedule);
85
+ Application.on(Application.suspendEvent, stop);
86
+ unwatch = onReducedMotion((reduced) => {
87
+ if (reduced)
88
+ stop();
89
+ });
90
+ schedule();
91
+ return stop;
92
+ }
93
+ //# sourceMappingURL=android-particles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"android-particles.js","sourceRoot":"","sources":["../../src/driver/android-particles.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ios-gradient.d.ts","sourceRoot":"","sources":["../../src/driver/ios-gradient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAA;AAIvB,mGAAmG;AACnG,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,GAAG,eAAe,CAsG3E"}
1
+ {"version":3,"file":"ios-gradient.d.ts","sourceRoot":"","sources":["../../src/driver/ios-gradient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAA;AAIvB,mGAAmG;AACnG,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,GAAG,eAAe,CA4H3E"}
@@ -38,7 +38,8 @@ export function iosGradient(view, type) {
38
38
  if (layer.superlayer !== host.layer)
39
39
  host.layer.insertSublayerAtIndex(layer, 0);
40
40
  layer.frame = host.layer.bounds;
41
- layer.cornerRadius = host.layer.cornerRadius;
41
+ layer.cornerRadius =
42
+ typeof view.borderRadius === 'number' ? view.borderRadius : host.layer.cornerRadius;
42
43
  if (current) {
43
44
  const model = values(current);
44
45
  layer.colors = model.colors;
@@ -50,8 +51,12 @@ export function iosGradient(view, type) {
50
51
  };
51
52
  view.on('loaded', attach);
52
53
  view.on('layoutChanged', attach);
54
+ view.style.on('borderTopLeftRadiusChange', attach);
53
55
  return {
54
56
  paint(frame) {
57
+ layer.speed = 1;
58
+ layer.timeOffset = 0;
59
+ layer.beginTime = 0;
55
60
  current = frame;
56
61
  generation++;
57
62
  for (const key of keys)
@@ -64,7 +69,13 @@ export function iosGradient(view, type) {
64
69
  attach();
65
70
  const sampled = frames.map(values);
66
71
  const now = CACurrentMediaTime();
72
+ const parentTime = () => layer.superlayer?.convertTimeFromLayer(CACurrentMediaTime(), null) ??
73
+ CACurrentMediaTime();
67
74
  CATransaction.begin();
75
+ CATransaction.setDisableActions(true);
76
+ layer.speed = 1;
77
+ layer.timeOffset = 0;
78
+ layer.beginTime = layer.superlayer?.convertTimeFromLayer(now, null) ?? now;
68
79
  if (timing.repeat !== Infinity)
69
80
  CATransaction.setCompletionBlock(() => {
70
81
  if (instance === generation)
@@ -75,7 +86,7 @@ export function iosGradient(view, type) {
75
86
  animation.values = NSArray.arrayWithArray(sampled.map((value) => value[key]));
76
87
  animation.keyTimes = NSArray.arrayWithArray(times);
77
88
  animation.duration = Math.max(timing.duration, 1) / 1000;
78
- animation.beginTime = layer.convertTimeFromLayer(now + timing.delay / 1000, null);
89
+ animation.beginTime = Math.max(0.000001, timing.delay / 1000);
79
90
  animation.fillMode = kCAFillModeBackwards;
80
91
  if (timing.repeat > 0) {
81
92
  animation.autoreverses = timing.reverse;
@@ -87,6 +98,16 @@ export function iosGradient(view, type) {
87
98
  }
88
99
  CATransaction.commit();
89
100
  return {
101
+ control(elapsed, paused) {
102
+ if (instance !== generation)
103
+ return;
104
+ CATransaction.begin();
105
+ CATransaction.setDisableActions(true);
106
+ layer.speed = paused ? 0 : 1;
107
+ layer.timeOffset = paused ? elapsed / 1000 : 0;
108
+ layer.beginTime = paused ? 0 : parentTime() - elapsed / 1000;
109
+ CATransaction.commit();
110
+ },
90
111
  cancel() {
91
112
  if (instance !== generation)
92
113
  return;
@@ -101,6 +122,7 @@ export function iosGradient(view, type) {
101
122
  generation++;
102
123
  view.off('loaded', attach);
103
124
  view.off('layoutChanged', attach);
125
+ view.style.off('borderTopLeftRadiusChange', attach);
104
126
  layer.removeAllAnimations();
105
127
  layer.removeFromSuperlayer();
106
128
  },
@@ -1 +1 @@
1
- {"version":3,"file":"ios-gradient.js","sourceRoot":"","sources":["../../src/driver/ios-gradient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAa,MAAM,oBAAoB,CAAA;AACrD,OAAO,EACL,cAAc,GAIf,MAAM,gBAAgB,CAAA;AAEvB,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,CAAU,CAAA;AAEvE,mGAAmG;AACnG,MAAM,UAAU,WAAW,CAAC,IAAU,EAAE,IAAkB;IACxD,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,EAAE,CAAA;IACnC,KAAK,CAAC,IAAI;QACR,IAAI,KAAK,QAAQ;YACf,CAAC,CAAC,qBAAqB;YACvB,CAAC,CAAC,IAAI,KAAK,QAAQ;gBACjB,CAAC,CAAC,sBAAsB;gBACxB,CAAC,CAAC,qBAAqB,CAAA;IAC7B,IAAI,OAAkC,CAAA;IACtC,IAAI,UAAU,GAAG,CAAC,CAAA;IAElB,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAyC,CAAA;IACnE,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,MAAM,MAAM,GAAG,MAAM,EAAE,EAAE,KAAK,CAAC,MAAM,CAAA;QACrC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAA;IAC7E,CAAC,CAAA;IACD,MAAM,MAAM,GAAG,CAAC,KAAoB,EAAE,EAAE;QACtC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAA;QAChC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;QACzE,6EAA6E;QAC7E,MAAM,GAAG,GACP,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;QACtF,OAAO;YACL,MAAM,EAAE,OAAO,CAAC,cAAc,CAC5B,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CACxD;YACD,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC;YAC9C,UAAU,EAAE,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACnE,QAAQ,EAAE,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;SAC9D,CAAA;IACH,CAAC,CAAA;IACD,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAA;QACrB,IAAI,CAAC,IAAI;YAAE,OAAM;QACjB,aAAa,CAAC,KAAK,EAAE,CAAA;QACrB,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;QACrC,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QAC/E,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAA;QAC/B,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAA;QAC5C,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;YAC7B,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;YAC3B,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;YACjC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAA;YAChD,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAA;QAC9C,CAAC;QACD,aAAa,CAAC,MAAM,EAAE,CAAA;IACxB,CAAC,CAAA;IACD,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;IACzB,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;IAEhC,OAAO;QACL,KAAK,CAAC,KAAK;YACT,OAAO,GAAG,KAAK,CAAA;YACf,UAAU,EAAE,CAAA;YACZ,KAAK,MAAM,GAAG,IAAI,IAAI;gBAAE,KAAK,CAAC,qBAAqB,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAA;YAC3E,MAAM,EAAE,CAAA;QACV,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK;YAC/B,MAAM,QAAQ,GAAG,EAAE,UAAU,CAAA;YAC7B,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,CAAA;YACpC,MAAM,EAAE,CAAA;YACR,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YAClC,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAA;YAChC,aAAa,CAAC,KAAK,EAAE,CAAA;YACrB,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ;gBAC5B,aAAa,CAAC,kBAAkB,CAAC,GAAG,EAAE;oBACpC,IAAI,QAAQ,KAAK,UAAU;wBAAE,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC1C,CAAC,CAAC,CAAA;YACJ,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,SAAS,GAAG,mBAAmB,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAA;gBAC/D,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;gBAC7E,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,KAAiB,CAAC,CAAA;gBAC9D,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,IAAI,CAAA;gBACxD,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC,oBAAoB,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,EAAE,IAAI,CAAC,CAAA;gBACjF,SAAS,CAAC,QAAQ,GAAG,oBAAoB,CAAA;gBACzC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,SAAS,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAA;oBACvC,SAAS,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO;wBACpC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC;wBACzB,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;gBACvB,CAAC;gBACD,KAAK,CAAC,kBAAkB,CAAC,SAAS,EAAE,iBAAiB,GAAG,EAAE,CAAC,CAAA;YAC7D,CAAC;YACD,aAAa,CAAC,MAAM,EAAE,CAAA;YACtB,OAAO;gBACL,MAAM;oBACJ,IAAI,QAAQ,KAAK,UAAU;wBAAE,OAAM;oBACnC,UAAU,EAAE,CAAA;oBACZ,KAAK,MAAM,GAAG,IAAI,IAAI;wBAAE,KAAK,CAAC,qBAAqB,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAA;oBAC3E,KAAK,CAAC,KAAK,CAAC,CAAA;gBACd,CAAC;aACF,CAAA;QACH,CAAC;QACD,MAAM;YACJ,UAAU,EAAE,CAAA;YACZ,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;YAC1B,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAA;YACjC,KAAK,CAAC,mBAAmB,EAAE,CAAA;YAC3B,KAAK,CAAC,oBAAoB,EAAE,CAAA;QAC9B,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"ios-gradient.js","sourceRoot":"","sources":["../../src/driver/ios-gradient.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/dist/engine.js CHANGED
@@ -395,11 +395,17 @@ export class ViewAnimation {
395
395
  if (this._paused)
396
396
  this.clock.pause();
397
397
  this.view.on('unloaded', this.unloaded);
398
- this.haptics = playHaptics(this.view, tracks, this.haptic, driver, now, () => this.time());
399
- if (this._paused)
400
- this.haptics?.pause();
401
398
  for (const entry of this.entries)
402
399
  this.playEntry(entry);
400
+ // Register discrete feedback after the visual animators. Android dispatches
401
+ // these callbacks in registration order within a frame: feedback should see
402
+ // that frame's updated pose, not the preceding frame's position.
403
+ // Scale-zero native playback may already have completed synchronously.
404
+ if (!this.settled) {
405
+ this.haptics = playHaptics(this.view, tracks, this.haptic, driver, now, () => this.time());
406
+ if (this._paused)
407
+ this.haptics?.pause();
408
+ }
403
409
  if (this.pendingProgress !== undefined) {
404
410
  const progress = this.pendingProgress;
405
411
  this.pendingProgress = undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { type ColorValue } from './color.js';
2
+ import { valueSource, type DerivedValue, type DerivedColor } from './motion-value.js';
3
+ import type { GradientFrame } from './gradient.js';
4
+ export interface GradientBindings {
5
+ colors?: readonly (ColorValue | DerivedColor)[];
6
+ stops?: readonly (number | DerivedValue)[];
7
+ angle?: number | DerivedValue;
8
+ center?: {
9
+ readonly x?: number | DerivedValue;
10
+ readonly y?: number | DerivedValue;
11
+ };
12
+ radius?: number | DerivedValue;
13
+ }
14
+ export type GradientComponent = 'angle' | 'x' | 'y' | 'radius' | `color:${number}` | `stop:${number}`;
15
+ export type GradientSource = ReturnType<typeof valueSource>;
16
+ export type GradientComponentValue = number | GradientSource;
17
+ export type GradientPatch = Map<GradientComponent, GradientComponentValue>;
18
+ export declare function cloneFrame(frame: GradientFrame): GradientFrame;
19
+ export declare function put(frame: GradientFrame, key: GradientComponent, value: number): void;
20
+ export declare function take(frame: GradientFrame, key: GradientComponent): number;
21
+ /** Validate structural/static inputs before touching any existing owner. */
22
+ export declare function gradientPatch(values: GradientBindings, count: number): GradientPatch;
23
+ export interface GradientBase {
24
+ at(delta: number): GradientFrame;
25
+ remaining: number;
26
+ elapsed(): number;
27
+ }
28
+ /** Native windows share a source clock. Only setup/commands/window boundaries enter JS. */
29
+ export declare function gradientProgram(base: GradientBase, bindings: GradientPatch): {
30
+ current: GradientFrame;
31
+ frames: GradientFrame[];
32
+ times: number[];
33
+ duration: number;
34
+ remaining: number;
35
+ elapsed: () => number;
36
+ at: (delta: number) => GradientFrame;
37
+ };
38
+ //# sourceMappingURL=gradient-binding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gradient-binding.d.ts","sourceRoot":"","sources":["../src/gradient-binding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,YAAY,CAAA;AAExD,OAAO,EAEL,WAAW,EACX,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAElD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,SAAS,CAAC,UAAU,GAAG,YAAY,CAAC,EAAE,CAAA;IAC/C,KAAK,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,YAAY,CAAC,EAAE,CAAA;IAC1C,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,CAAA;IAC7B,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;QAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,YAAY,CAAA;KAAE,CAAA;IACnF,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,CAAA;CAC/B;AAED,MAAM,MAAM,iBAAiB,GAC3B,OAAO,GAAG,GAAG,GAAG,GAAG,GAAG,QAAQ,GAAG,SAAS,MAAM,EAAE,GAAG,QAAQ,MAAM,EAAE,CAAA;AACvE,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAA;AAC3D,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,cAAc,CAAA;AAC5D,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,CAAA;AAE1E,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,GAAG,aAAa,CAE9D;AAED,wBAAgB,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,QAI9E;AAED,wBAAgB,IAAI,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,iBAAiB,UAIhE;AAED,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,CAyDpF;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAAA;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,IAAI,MAAM,CAAA;CAClB;AAED,2FAA2F;AAC3F,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa;;;;;;mBAJ9D,MAAM;gBAqBE,MAAM;EAiC1B"}