@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
@@ -1,6 +1,8 @@
1
1
  export { registerNativeProperty, checkNativeProperty } from '../native-property.js';
2
2
  export type { NativeProperty, NativePropertyDefinition } from '../native-property.js';
3
3
  export type { NativeSink } from '../native-property-driver.js';
4
+ export { sceneKitFieldOfView } from '../scene-camera.js';
4
5
  export { mapKitCoordinate, mapKitCamera, mapLibreCoordinate, mapLibreCamera, sceneKitPose, } from '../native-properties.js';
5
6
  export type { Coordinate, MapKitCamera, MapLibreCamera, ScenePose, } from '../native-properties.js';
7
+ export { sceneKitLightIntensity, sceneKitLightColor, sceneKitMaterialTransparency, sceneKitMaterialDiffuse, sceneKitMaterialEmission, } from '../scene-appearance.js';
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AACnF,YAAY,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AACrF,YAAY,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,YAAY,GACb,MAAM,yBAAyB,CAAA;AAChC,YAAY,EACV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,SAAS,GACV,MAAM,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AACnF,YAAY,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AACrF,YAAY,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,YAAY,GACb,MAAM,yBAAyB,CAAA;AAChC,YAAY,EACV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,SAAS,GACV,MAAM,yBAAyB,CAAA;AAChC,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,4BAA4B,EAC5B,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,wBAAwB,CAAA"}
@@ -1,3 +1,5 @@
1
1
  export { registerNativeProperty, checkNativeProperty } from '../native-property.js';
2
+ export { sceneKitFieldOfView } from '../scene-camera.js';
2
3
  export { mapKitCoordinate, mapKitCamera, mapLibreCoordinate, mapLibreCamera, sceneKitPose, } from '../native-properties.js';
4
+ export { sceneKitLightIntensity, sceneKitLightColor, sceneKitMaterialTransparency, sceneKitMaterialDiffuse, sceneKitMaterialEmission, } from '../scene-appearance.js';
3
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAGnF,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,YAAY,GACb,MAAM,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAGnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,YAAY,GACb,MAAM,yBAAyB,CAAA;AAOhC,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,4BAA4B,EAC5B,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,wBAAwB,CAAA"}
@@ -32,8 +32,11 @@ export interface ParticleOptions {
32
32
  /** Emit for this many milliseconds, then let particles expire. Omit to keep emitting. */
33
33
  duration?: number;
34
34
  }
35
- /** Bursts from the target's center into its window. iOS only; returns immediate cleanup. */
35
+ export type ParticleSettings = Required<Omit<ParticleOptions, 'duration'>> & {
36
+ duration?: number;
37
+ };
38
+ /** Bursts from the target's center into its window. Returns immediate cleanup. */
36
39
  export declare function confetti(target: Target, options?: ConfettiOptions): () => void;
37
- /** Adds a native particle emitter to the target. iOS only; returns immediate cleanup. */
40
+ /** Adds a native particle emitter to the target. Returns immediate cleanup. */
38
41
  export declare function particles(target: Target, options?: ParticleOptions): () => void;
39
42
  //# sourceMappingURL=particles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"particles.d.ts","sourceRoot":"","sources":["../src/particles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAGxC,MAAM,WAAW,eAAe;IAC9B,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC1B,KAAK,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAA;IACvC,mEAAmE;IACnE,MAAM,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAA;IACpC,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+DAA+D;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,yFAAyF;IACzF,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAUD,4FAA4F;AAC5F,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,MAAM,IAAI,CAqBlF;AAED,yFAAyF;AACzF,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,MAAM,IAAI,CAEnF"}
1
+ {"version":3,"file":"particles.d.ts","sourceRoot":"","sources":["../src/particles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAIxC,MAAM,WAAW,eAAe;IAC9B,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAC1B,KAAK,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAA;IACvC,mEAAmE;IACnE,MAAM,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAA;IACpC,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,+DAA+D;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,yFAAyF;IACzF,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC,GAAG;IAC3E,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AASD,kFAAkF;AAClF,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,MAAM,IAAI,CAqBlF;AAED,+EAA+E;AAC/E,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,MAAM,IAAI,CAEnF"}
package/dist/particles.js CHANGED
@@ -1,13 +1,14 @@
1
- import { Application, Color, isIOS } from '@nativescript/core';
1
+ import { Application, Color, isAndroid, isIOS } from '@nativescript/core';
2
2
  import { toView } from './animate.js';
3
- import { reducedMotion } from './config.js';
3
+ import { onReducedMotion, reducedMotion } from './config.js';
4
+ import { androidParticles } from './driver/android-particles.js';
4
5
  const bursts = new WeakMap();
5
6
  const emitters = new WeakMap();
6
7
  const palette = ['#facc15', '#ef4444', '#3b82f6', '#22c55e', '#a855f7'];
7
8
  const textures = new Map();
8
9
  const radians = (degrees) => (degrees * Math.PI) / 180;
9
10
  const BURST_DURATION = 200;
10
- /** Bursts from the target's center into its window. iOS only; returns immediate cleanup. */
11
+ /** Bursts from the target's center into its window. Returns immediate cleanup. */
11
12
  export function confetti(target, options = {}) {
12
13
  const count = number('count', options.count ?? 80, 0, 10000);
13
14
  if (!Number.isInteger(count))
@@ -28,7 +29,7 @@ export function confetti(target, options = {}) {
28
29
  }, true);
29
30
  return start(target, settings, true);
30
31
  }
31
- /** Adds a native particle emitter to the target. iOS only; returns immediate cleanup. */
32
+ /** Adds a native particle emitter to the target. Returns immediate cleanup. */
32
33
  export function particles(target, options = {}) {
33
34
  return start(target, resolve(options), false);
34
35
  }
@@ -36,7 +37,11 @@ function start(target, settings, overlay) {
36
37
  const view = toView(target);
37
38
  const running = overlay ? bursts : emitters;
38
39
  running.get(view)?.();
39
- if (!isIOS || settings.rate === 0 || reducedMotion())
40
+ if (settings.rate === 0 || reducedMotion())
41
+ return () => { };
42
+ if (isAndroid)
43
+ return androidParticles(view, settings, overlay, running);
44
+ if (!isIOS)
40
45
  return () => { };
41
46
  return new Emitter(view, settings, overlay, running).stop;
42
47
  }
@@ -97,7 +102,7 @@ class Emitter {
97
102
  native;
98
103
  window;
99
104
  timer;
100
- observer;
105
+ unwatch;
101
106
  constructor(view, settings, overlay, running) {
102
107
  this.view = view;
103
108
  this.settings = settings;
@@ -107,6 +112,8 @@ class Emitter {
107
112
  view.on('loaded', this.schedule);
108
113
  view.on('layoutChanged', this.schedule);
109
114
  view.on('unloaded', this.stop);
115
+ Application.on(Application.suspendEvent, this.stop);
116
+ this.unwatch = onReducedMotion(this.motionChanged);
110
117
  this.schedule();
111
118
  }
112
119
  stop = () => {
@@ -116,16 +123,16 @@ class Emitter {
116
123
  this.view.off('loaded', this.schedule);
117
124
  this.view.off('layoutChanged', this.schedule);
118
125
  this.view.off('unloaded', this.stop);
126
+ Application.off(Application.suspendEvent, this.stop);
119
127
  if (this.running.get(this.view) === this.stop)
120
128
  this.running.delete(this.view);
121
129
  if (this.timer !== undefined)
122
130
  clearTimeout(this.timer);
123
- if (this.observer)
124
- Application.ios.removeNotificationObserver(this.observer, UIAccessibilityReduceMotionStatusDidChangeNotification);
131
+ this.unwatch?.();
125
132
  this.layer?.removeAllAnimations();
126
133
  this.layer?.removeFromSuperlayer();
127
134
  this.layer = this.native = this.window = undefined;
128
- this.timer = this.observer = undefined;
135
+ this.timer = this.unwatch = undefined;
129
136
  };
130
137
  schedule = () => {
131
138
  if (this.stopped || this.queued)
@@ -185,7 +192,6 @@ class Emitter {
185
192
  layer.beginTime = host.convertTimeFromLayer(CACurrentMediaTime(), null);
186
193
  if (this.overlay)
187
194
  layer.emitterPosition = native.convertPointToView(CGPointMake(bounds.origin.x + bounds.size.width / 2, bounds.origin.y + bounds.size.height / 2), window);
188
- this.observer = Application.ios.addNotificationObserver(UIAccessibilityReduceMotionStatusDidChangeNotification, this.motionChanged);
189
195
  if (this.settings.duration !== undefined) {
190
196
  // The render server stops emission even if JS is blocked. The timer
191
197
  // only removes the empty layer after the last particles have expired.
@@ -1 +1 @@
1
- {"version":3,"file":"particles.js","sourceRoot":"","sources":["../src/particles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"particles.js","sourceRoot":"","sources":["../src/particles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAa,MAAM,oBAAoB,CAAA;AACpF,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAyChE,MAAM,MAAM,GAAG,IAAI,OAAO,EAAoB,CAAA;AAC9C,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAoB,CAAA;AAChD,MAAM,OAAO,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;AACvE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAA;AACtD,MAAM,OAAO,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAA;AAC9D,MAAM,cAAc,GAAG,GAAG,CAAA;AAE1B,kFAAkF;AAClF,MAAM,UAAU,QAAQ,CAAC,MAAc,EAAE,OAAO,GAAoB,EAAE;IACpE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;IAC5D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,UAAU,CAAC,oCAAoC,CAAC,CAAA;IACxF,MAAM,QAAQ,GAAG,OAAO,CACtB;QACE,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,OAAO;QACjC,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,KAAK,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC;QACrC,QAAQ,EAAE,cAAc;QACxB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,CAAC;QACP,QAAQ,EAAE,GAAG;QACb,aAAa,EAAE,GAAG;QAClB,KAAK,EAAE,CAAC,EAAE;QACV,MAAM,EAAE,GAAG;QACX,OAAO,EAAE,GAAG;QACZ,SAAS,EAAE,GAAG;KACf,EACD,IAAI,CACL,CAAA;IACD,OAAO,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAA;AACtC,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,OAAO,GAAoB,EAAE;IACrE,OAAO,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAA;AAC/C,CAAC;AAED,SAAS,KAAK,CAAC,MAAc,EAAE,QAAkB,EAAE,OAAgB;IACjE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;IAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAA;IAC3C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAA;IACrB,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,aAAa,EAAE;QAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;IAC3D,IAAI,SAAS;QAAE,OAAO,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IACxE,IAAI,CAAC,KAAK;QAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;IAC3B,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAA;AAC3D,CAAC;AAED,SAAS,OAAO,CAAC,OAAwB,EAAE,KAAK,GAAG,KAAK;IACtD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,CAAA;IAC5C,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QACtB,MAAM,CAAC,MAAM,KAAK,CAAC;QACnB,MAAM,CAAC,MAAM,GAAG,EAAE;QAClB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEtF,MAAM,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAA;IACpE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAA;IACvC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAA;IACzC,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAClD,MAAM,IAAI,SAAS,CAAC,yBAAyB,CAAC,CAAA;IAChD,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC/C,MAAM,IAAI,SAAS,CAAC,0BAA0B,CAAC,CAAA;IACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAA;IACvE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IACzE,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,IAAI,GAAG,KAAK;QAC5C,MAAM,IAAI,UAAU,CAAC,gEAAgE,CAAC,CAAA;IACxF,MAAM,QAAQ,GACZ,OAAO,CAAC,QAAQ,KAAK,SAAS;QAC5B,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,EAAE,CAAC,CAAA;IACzE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAA;IACvC,IAAI,OAAO,OAAO,KAAK,SAAS;QAC9B,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAA;IAC5D,OAAO;QACL,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC;QACnB,KAAK;QACL,MAAM;QACN,QAAQ;QACR,IAAI;QACJ,QAAQ;QACR,OAAO;QACP,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;QAC/C,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC;QAC9D,aAAa,EAAE,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,aAAa,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;QAC5E,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;QACvD,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC;QACtD,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;QAC/D,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;QACpD,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC;KAChE,CAAA;AACH,CAAC;AAED,SAAS,MAAM,CAAC,IAAY,EAAE,KAAa,EAAE,GAAW,EAAE,GAAW;IACnE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,GAAG;QACvD,MAAM,IAAI,UAAU,CAAC,YAAY,IAAI,oBAAoB,GAAG,QAAQ,GAAG,GAAG,CAAC,CAAA;IAC7E,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,OAAO;IAUQ,IAAI;IACJ,QAAQ;IACR,OAAO;IACP,OAAO;IAZlB,OAAO,GAAG,KAAK,CAAA;IACf,MAAM,GAAG,KAAK,CAAA;IACd,KAAK,CAA4B;IACjC,MAAM,CAAoB;IAC1B,MAAM,CAAsB;IAC5B,KAAK,CAA2C;IAChD,OAAO,CAA0B;IAEzC,YACmB,IAAU,EACV,QAAkB,EAClB,OAAgB,EAChB,OAAkC;oBAHlC,IAAI;wBACJ,QAAQ;uBACR,OAAO;uBACP,OAAO;QAExB,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5B,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QAChC,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QACvC,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9B,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACnD,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QAClD,IAAI,CAAC,QAAQ,EAAE,CAAA;IACjB,CAAC;IAED,IAAI,GAAG,GAAG,EAAE;QACV,IAAI,IAAI,CAAC,OAAO;YAAE,OAAM;QACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACnB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC7C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACpC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACpD,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC7E,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;YAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACtD,IAAI,CAAC,OAAO,EAAE,EAAE,CAAA;QAChB,IAAI,CAAC,KAAK,EAAE,mBAAmB,EAAE,CAAA;QACjC,IAAI,CAAC,KAAK,EAAE,oBAAoB,EAAE,CAAA;QAClC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;QAClD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;IACvC,CAAC,CAAA;IAEO,QAAQ,GAAG,GAAG,EAAE;QACtB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM;YAAE,OAAM;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;YACnB,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAM;YACxB,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,EAAE,CAAA;YACf,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,IAAI,EAAE,CAAA;gBACX,MAAM,KAAK,CAAA;YACb,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IAEO,aAAa,GAAG,GAAG,EAAE;QAC3B,IAAI,aAAa,EAAE;YAAE,IAAI,CAAC,IAAI,EAAE,CAAA;IAClC,CAAC,CAAA;IAEO,MAAM;QACZ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAM;QAC/B,IAAI,aAAa,EAAE;YAAE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAyC,CAAA;QAClE,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,CAAA;QAC7B,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;QAC1D,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;YAAE,OAAM;QAC9B,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC;YACnE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAA;QACpB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAA;QAClC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACtD,IAAI,IAAI,CAAC,KAAK;gBAAE,IAAI,CAAC,IAAI,EAAE,CAAA;YAC3B,OAAM;QACR,CAAC;QACD,aAAa,CAAC,KAAK,EAAE,CAAA;QACrB,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;QACrC,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;gBACpB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;gBACpB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAA;gBACvD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC,CAAA;gBACjD,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAA;gBAC9D,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAA;gBACzB,KAAK,CAAC,YAAY;oBAChB,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,mBAAmB,CAAA;gBAChF,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;gBACzD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;gBACvB,4EAA4E;gBAC5E,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,EAAE,EAAE,IAAI,CAAC,CAAA;gBACvE,IAAI,IAAI,CAAC,OAAO;oBACd,KAAK,CAAC,eAAe,GAAG,MAAM,CAAC,kBAAkB,CAC/C,WAAW,CACT,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EACvC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CACzC,EACD,MAAM,CACP,CAAA;gBACH,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;oBACzC,oEAAoE;oBACpE,sEAAsE;oBACtE,KAAK,CAAC,SAAS,GAAG,CAAC,CAAA;oBACnB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAA;oBACnE,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAA;oBACtB,QAAQ,CAAC,OAAO,GAAG,CAAC,CAAA;oBACpB,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAA;oBACjD,KAAK,CAAC,kBAAkB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAA;oBACnD,IAAI,CAAC,KAAK,GAAG,UAAU,CACrB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,EAAE,CACrD,CAAA;gBACH,CAAC;YACH,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;gBACxB,KAAK,CAAC,KAAK,GAAG,MAAM,CAAA;gBACpB,KAAK,CAAC,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;gBACpD,KAAK,CAAC,eAAe,GAAG,WAAW,CACjC,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,KAAK;oBAC5B,CAAC,CAAC,CAAC;oBACH,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,QAAQ;wBACjC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM;wBACpB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAC7B,CAAA;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,MAAM,EAAE,CAAA;QACxB,CAAC;IACH,CAAC;IAEO,KAAK;QACX,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAA;QAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACpC,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAClC,MAAM,IAAI,GAAG,aAAa,CAAC,WAAW,EAAE,CAAA;YACxC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAA;YAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAA;YACzC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAA;YACrD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAA;YACvC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,GAAG,EAAE,CAAA;YAC9B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;YAChC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;YAC1C,iEAAiE;YACjE,mEAAmE;YACnE,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAC9B,OAAO,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CACvD,CAAA;YACD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;YAC5C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAA;YACpC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACjC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;YAC3C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1D,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;IACJ,CAAC;CACF;AAED,SAAS,OAAO,CAAC,KAAwB;IACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAClC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAA;IACzB,MAAM,MAAM,GAAG,6BAA6B,CAAC,aAAa,EAAE,CAAA;IAC5D,MAAM,CAAC,KAAK,GAAG,CAAC,CAAA;IAChB,MAAM,CAAC,MAAM,GAAG,KAAK,CAAA;IACrB,MAAM,MAAM,GAAG,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9C,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,EAAE,CAAC,kBAAkB,CACjE,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,EACtB,MAAM,CACP,CAAA;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,EAAE;QAClD,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,CAAA;QAC5B,8BAA8B,CAAC,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAC9D,IAAI,KAAK,KAAK,WAAW;YAAE,iBAAiB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAA;aACzE,IAAI,KAAK,KAAK,QAAQ;YAAE,0BAA0B,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;aAChF,CAAC;YACJ,gCAAgC,CAAC,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;YAChE,qBAAqB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;YAC5B,4BAA4B,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;QAC5D,CAAC;IACH,CAAC,CAAC,CAAA;IACF,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAC1B,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -0,0 +1,14 @@
1
+ /// <reference types="@nativescript/types-ios/lib/ios/objc-x86_64/objc!SceneKit" preserve="true" />
2
+ import { type ColorValue } from './color.js';
3
+ import { type NativeProperty } from './native-property.js';
4
+ /** SCNLight intensity, finite and nonnegative. Non-spatial: retains timing under reduced motion. */
5
+ export declare const sceneKitLightIntensity: (light: SCNLight) => NativeProperty<number>;
6
+ /** Solid UIColor/CGColor light color. Returns a normalized sRGB Color from get(). */
7
+ export declare const sceneKitLightColor: (light: SCNLight) => NativeProperty<ColorValue>;
8
+ /** SCNMaterial transparency in 0..1; does not change transparencyMode/transparent contents. */
9
+ export declare const sceneKitMaterialTransparency: (material: SCNMaterial) => NativeProperty<number>;
10
+ /** Solid color diffuse contents only; never converts a texture into a color. */
11
+ export declare const sceneKitMaterialDiffuse: (material: SCNMaterial) => NativeProperty<ColorValue>;
12
+ /** Solid color emission contents only; does not make the material illuminate nearby geometry. */
13
+ export declare const sceneKitMaterialEmission: (material: SCNMaterial) => NativeProperty<ColorValue>;
14
+ //# sourceMappingURL=scene-appearance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-appearance.d.ts","sourceRoot":"","sources":["../src/scene-appearance.ts"],"names":[],"mappings":";AAEA,OAAO,EAA0B,KAAK,UAAU,EAAE,MAAM,YAAY,CAAA;AACpE,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAA;AA4DlF,oGAAoG;AACpG,eAAO,MAAM,sBAAsB,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,cAAc,CAAC,MAAM,CAI9E,CAAA;AACD,qFAAqF;AACrF,eAAO,MAAM,kBAAkB,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,cAAc,CAAC,UAAU,CAG9E,CAAA;AACD,+FAA+F;AAC/F,eAAO,MAAM,4BAA4B,EAAE,CACzC,QAAQ,EAAE,WAAW,KAClB,cAAc,CAAC,MAAM,CAEzB,CAAA;AACD,gFAAgF;AAChF,eAAO,MAAM,uBAAuB,EAAE,CACpC,QAAQ,EAAE,WAAW,KAClB,cAAc,CAAC,UAAU,CAE7B,CAAA;AACD,iGAAiG;AACjG,eAAO,MAAM,wBAAwB,EAAE,CACrC,QAAQ,EAAE,WAAW,KAClB,cAAc,CAAC,UAAU,CAE7B,CAAA"}
@@ -0,0 +1,68 @@
1
+ /// <reference types="@nativescript/types-ios/lib/ios/objc-x86_64/objc!SceneKit" preserve="true" />
2
+ import { Color } from '@nativescript/core';
3
+ import { colorMixer, parseColor } from './color.js';
4
+ import { registerNativeProperty } from './native-property.js';
5
+ const clamp = (n) => Math.max(0, Math.min(1, n));
6
+ function scalar(name, maximum, create) {
7
+ return registerNativeProperty({
8
+ name: `jolt.scenekit/${name}`,
9
+ units: [
10
+ name === 'light-intensity'
11
+ ? 'lumens (PBR); 1000 = unit multiplier otherwise'
12
+ : 'opacity fraction',
13
+ ],
14
+ platforms: ['ios'],
15
+ encode: (value) => [value],
16
+ decode: (values) => values[0],
17
+ validate(value) {
18
+ if (!Number.isFinite(value) || value < 0 || value > maximum)
19
+ throw new RangeError(`${name} needs a finite value in 0..${maximum}.`);
20
+ },
21
+ interpolate: (a, b, t) => Math.max(0, Math.min(maximum, a + (b - a) * t)),
22
+ create,
23
+ });
24
+ }
25
+ function color(name, create) {
26
+ return registerNativeProperty({
27
+ name: `jolt.scenekit/${name}`,
28
+ // Premultiply the sampled sRGB channels, so native linear interpolation also handles zero alpha.
29
+ units: [
30
+ 'premultiplied sRGB red',
31
+ 'premultiplied sRGB green',
32
+ 'premultiplied sRGB blue',
33
+ 'alpha',
34
+ ],
35
+ platforms: ['ios'],
36
+ encode(value) {
37
+ const argb = parseColor(value), alpha = (argb >>> 24) / 255;
38
+ return [
39
+ (((argb >>> 16) & 255) / 255) * alpha,
40
+ (((argb >>> 8) & 255) / 255) * alpha,
41
+ ((argb & 255) / 255) * alpha,
42
+ alpha,
43
+ ];
44
+ },
45
+ decode(values) {
46
+ const alpha = clamp(values[3]);
47
+ const channel = (i) => Math.round(clamp(alpha ? values[i] / alpha : 0) * 255);
48
+ return new Color(((Math.round(alpha * 255) << 24) |
49
+ (channel(0) << 16) |
50
+ (channel(1) << 8) |
51
+ channel(2)) >>>
52
+ 0);
53
+ },
54
+ interpolate: (a, b, t) => new Color(colorMixer(parseColor(a), parseColor(b))(t)),
55
+ create,
56
+ });
57
+ }
58
+ /** SCNLight intensity, finite and nonnegative. Non-spatial: retains timing under reduced motion. */
59
+ export const sceneKitLightIntensity = scalar('light-intensity', Infinity, (target) => JoltReferenceProperties.sceneLightIntensity(target));
60
+ /** Solid UIColor/CGColor light color. Returns a normalized sRGB Color from get(). */
61
+ export const sceneKitLightColor = color('light-color', (target) => JoltReferenceProperties.sceneLightColor(target));
62
+ /** SCNMaterial transparency in 0..1; does not change transparencyMode/transparent contents. */
63
+ export const sceneKitMaterialTransparency = scalar('material-transparency', 1, (target) => JoltReferenceProperties.sceneMaterialTransparency(target));
64
+ /** Solid color diffuse contents only; never converts a texture into a color. */
65
+ export const sceneKitMaterialDiffuse = color('material-diffuse', (target) => JoltReferenceProperties.sceneMaterialDiffuse(target));
66
+ /** Solid color emission contents only; does not make the material illuminate nearby geometry. */
67
+ export const sceneKitMaterialEmission = color('material-emission', (target) => JoltReferenceProperties.sceneMaterialEmission(target));
68
+ //# sourceMappingURL=scene-appearance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-appearance.js","sourceRoot":"","sources":["../src/scene-appearance.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAmB,MAAM,YAAY,CAAA;AACpE,OAAO,EAAE,sBAAsB,EAAuB,MAAM,sBAAsB,CAAA;AAElF,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AACxD,SAAS,MAAM,CAAC,IAAY,EAAE,OAAe,EAAE,MAAkC;IAC/E,OAAO,sBAAsB,CAAS;QACpC,IAAI,EAAE,iBAAiB,IAAI,EAAE;QAC7B,KAAK,EAAE;YACL,IAAI,KAAK,iBAAiB;gBACxB,CAAC,CAAC,gDAAgD;gBAClD,CAAC,CAAC,kBAAkB;SACvB;QACD,SAAS,EAAE,CAAC,KAAK,CAAC;QAClB,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC;QAC1B,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAE;QAC9B,QAAQ,CAAC,KAAK;YACZ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,OAAO;gBACzD,MAAM,IAAI,UAAU,CAAC,GAAG,IAAI,+BAA+B,OAAO,GAAG,CAAC,CAAA;QAC1E,CAAC;QACD,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACzE,MAAM;KACP,CAAC,CAAA;AACJ,CAAC;AACD,SAAS,KAAK,CAAC,IAAY,EAAE,MAAkC;IAC7D,OAAO,sBAAsB,CAAa;QACxC,IAAI,EAAE,iBAAiB,IAAI,EAAE;QAC7B,iGAAiG;QACjG,KAAK,EAAE;YACL,wBAAwB;YACxB,0BAA0B;YAC1B,yBAAyB;YACzB,OAAO;SACR;QACD,SAAS,EAAE,CAAC,KAAK,CAAC;QAClB,MAAM,CAAC,KAAK;YACV,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,EAC5B,KAAK,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,GAAG,GAAG,CAAA;YAC7B,OAAO;gBACL,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK;gBACrC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK;gBACpC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK;gBAC5B,KAAK;aACN,CAAA;QACH,CAAC;QACD,MAAM,CAAC,MAAM;YACX,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAA;YAC/B,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAE,CAC5B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;YACzD,OAAO,IAAI,KAAK,CACd,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC9B,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAClB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACjB,OAAO,CAAC,CAAC,CAAC,CAAC;gBACX,CAAC,CACJ,CAAA;QACH,CAAC;QACD,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,MAAM;KACP,CAAC,CAAA;AACJ,CAAC;AAED,oGAAoG;AACpG,MAAM,CAAC,MAAM,sBAAsB,GAAgD,MAAM,CACvF,iBAAiB,EACjB,QAAQ,EACR,CAAC,MAAM,EAAE,EAAE,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,MAAkB,CAAC,CAC5E,CAAA;AACD,qFAAqF;AACrF,MAAM,CAAC,MAAM,kBAAkB,GAAoD,KAAK,CACtF,aAAa,EACb,CAAC,MAAM,EAAE,EAAE,CAAC,uBAAuB,CAAC,eAAe,CAAC,MAAkB,CAAC,CACxE,CAAA;AACD,+FAA+F;AAC/F,MAAM,CAAC,MAAM,4BAA4B,GAEX,MAAM,CAAC,uBAAuB,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAC1E,uBAAuB,CAAC,yBAAyB,CAAC,MAAkB,CAAC,CACtE,CAAA;AACD,gFAAgF;AAChF,MAAM,CAAC,MAAM,uBAAuB,GAEF,KAAK,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,EAAE,CACrE,uBAAuB,CAAC,oBAAoB,CAAC,MAAkB,CAAC,CACjE,CAAA;AACD,iGAAiG;AACjG,MAAM,CAAC,MAAM,wBAAwB,GAEH,KAAK,CAAC,mBAAmB,EAAE,CAAC,MAAM,EAAE,EAAE,CACtE,uBAAuB,CAAC,qBAAqB,CAAC,MAAkB,CAAC,CAClE,CAAA"}
@@ -0,0 +1,5 @@
1
+ /// <reference types="@nativescript/types-ios/lib/ios/objc-x86_64/objc!SceneKit" preserve="true" />
2
+ import { type NativeProperty } from './native-property.js';
3
+ /** Perspective SCNCamera field of view in degrees (1..179), on its projectionDirection axis. */
4
+ export declare const sceneKitFieldOfView: (camera: SCNCamera) => NativeProperty<number>;
5
+ //# sourceMappingURL=scene-camera.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-camera.d.ts","sourceRoot":"","sources":["../src/scene-camera.ts"],"names":[],"mappings":";AACA,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAElF,gGAAgG;AAChG,eAAO,MAAM,mBAAmB,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,cAAc,CAAC,MAAM,CAyB1E,CAAA"}
@@ -0,0 +1,23 @@
1
+ /// <reference types="@nativescript/types-ios/lib/ios/objc-x86_64/objc!SceneKit" preserve="true" />
2
+ import { registerNativeProperty } from './native-property.js';
3
+ /** Perspective SCNCamera field of view in degrees (1..179), on its projectionDirection axis. */
4
+ export const sceneKitFieldOfView = registerNativeProperty({
5
+ name: 'jolt.scenekit/field-of-view',
6
+ units: ['degrees on the camera projectionDirection axis'],
7
+ platforms: ['ios'],
8
+ spatial: true,
9
+ encode: (value) => [value],
10
+ decode: (values) => values[0],
11
+ validate(value) {
12
+ if (!Number.isFinite(value) || value < 1 || value > 179)
13
+ throw new RangeError('SceneKit field of view needs a finite angle in 1..179 degrees.');
14
+ },
15
+ interpolate: (a, b, t) => Math.max(1, Math.min(179, a + (b - a) * t)),
16
+ create(target) {
17
+ if (typeof JoltReferenceProperties === 'undefined' ||
18
+ typeof JoltReferenceProperties.sceneFieldOfView !== 'function')
19
+ throw new Error('SceneKit field of view requires an updated @rafaelaugusto/jolt-native plugin. Update both packages and rebuild the native app.');
20
+ return JoltReferenceProperties.sceneFieldOfView(target);
21
+ },
22
+ });
23
+ //# sourceMappingURL=scene-camera.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-camera.js","sourceRoot":"","sources":["../src/scene-camera.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,OAAO,EAAE,sBAAsB,EAAuB,MAAM,sBAAsB,CAAA;AAElF,gGAAgG;AAChG,MAAM,CAAC,MAAM,mBAAmB,GAC9B,sBAAsB,CAAS;IAC7B,IAAI,EAAE,6BAA6B;IACnC,KAAK,EAAE,CAAC,gDAAgD,CAAC;IACzD,SAAS,EAAE,CAAC,KAAK,CAAC;IAClB,OAAO,EAAE,IAAI;IACb,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC;IAC1B,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAE;IAC9B,QAAQ,CAAC,KAAK;QACZ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG;YACrD,MAAM,IAAI,UAAU,CAClB,gEAAgE,CACjE,CAAA;IACL,CAAC;IACD,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACrE,MAAM,CAAC,MAAM;QACX,IACE,OAAO,uBAAuB,KAAK,WAAW;YAC9C,OAAO,uBAAuB,CAAC,gBAAgB,KAAK,UAAU;YAE9D,MAAM,IAAI,KAAK,CACb,gIAAgI,CACjI,CAAA;QACH,OAAO,uBAAuB,CAAC,gBAAgB,CAAC,MAAkB,CAAC,CAAA;IACrE,CAAC;CACF,CAAC,CAAA"}
@@ -0,0 +1,19 @@
1
+ import { View } from '@nativescript/core';
2
+ export type SizeAxis = 'width' | 'height';
3
+ export type SizeValue = number | 'auto';
4
+ export type SizeValues = Partial<Record<SizeAxis, SizeValue>>;
5
+ export type SizePixels = Record<SizeAxis, number>;
6
+ /** One live tree: speculative measurement never lays out or duplicates its views. */
7
+ export declare function sizeLayout(view: View, axes: readonly SizeAxis[], replacing?: readonly SizeAxis[], read?: () => SizePixels): {
8
+ read: () => SizePixels;
9
+ write: (values: SizeValues) => void;
10
+ ready(): boolean;
11
+ measure(destination: SizeValues): SizePixels;
12
+ /** Flush the restored/current declarations before any draw can see probe measurements. */
13
+ layout(): void;
14
+ commit(values?: SizeValues): void;
15
+ watch(takeover: () => void): void;
16
+ dispose(): void;
17
+ };
18
+ export declare function dimension(value: unknown, label: string): asserts value is SizeValue;
19
+ //# sourceMappingURL=size-layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"size-layout.d.ts","sourceRoot":"","sources":["../src/size-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,IAAI,EAAc,MAAM,oBAAoB,CAAA;AAErF,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAA;AACzC,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,CAAA;AACvC,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAA;AAC7D,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;AAYjD,qFAAqF;AACrF,wBAAgB,UAAU,CACxB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,SAAS,QAAQ,EAAE,EACzB,SAAS,GAAE,SAAS,QAAQ,EAAO,EACnC,IAAI,GAAE,MAAM,UAAuC;gBAAvC,UAAU;oBAwCC,UAAU;;yBA4DV,UAAU,GAAG,UAAU;IAsB5C,0FAA0F;;oBAK1E,UAAU;oBAYV,MAAM,IAAI;;EA8C7B;AAqBD,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,CAQnF"}
@@ -0,0 +1,216 @@
1
+ import { GridLayout, StackLayout, Utils, View, unsetValue } from '@nativescript/core';
2
+ const overlays = new WeakMap();
3
+ /** One live tree: speculative measurement never lays out or duplicates its views. */
4
+ export function sizeLayout(view, axes, replacing = [], read = () => view.getActualSize()) {
5
+ const parent = view.parent;
6
+ if (view.isLoaded &&
7
+ !(parent instanceof StackLayout) &&
8
+ !(parent instanceof GridLayout))
9
+ throw new TypeError('animateSize needs a child of StackLayout or GridLayout.');
10
+ const style = view.style;
11
+ for (const axis of axes) {
12
+ const initial = view[axis];
13
+ if (typeof initial === 'object' &&
14
+ initial !== null &&
15
+ (initial.unit === 'dip' || initial.unit === 'px'))
16
+ dimension(initial.value, `initial ${axis}`);
17
+ else
18
+ dimension(initial, `initial ${axis}`);
19
+ const key = `keyframe:${axis}`;
20
+ if (!replacing.includes(axis) &&
21
+ style[key] !== unsetValue &&
22
+ style[key] !== undefined)
23
+ throw new Error(`animateSize cannot own ${axis} during a CSS keyframe animation.`);
24
+ }
25
+ let writing = false;
26
+ let disposed = false;
27
+ let claimed = false;
28
+ const identity = {};
29
+ const claim = () => {
30
+ if (claimed || disposed)
31
+ return;
32
+ claimed = true;
33
+ const current = overlays.get(view) ?? new Map();
34
+ for (const axis of axes)
35
+ current.set(axis, identity);
36
+ overlays.set(view, current);
37
+ };
38
+ const owns = (axis) => overlays.get(view)?.get(axis) === identity;
39
+ let releaseHooks = () => { };
40
+ const write = (values) => {
41
+ if (disposed)
42
+ return;
43
+ claim();
44
+ writing = true;
45
+ try {
46
+ for (const axis of axes)
47
+ if (owns(axis) && values[axis] !== undefined)
48
+ style[`keyframe:${axis}`] = bounded(view, axis, values[axis]);
49
+ }
50
+ finally {
51
+ writing = false;
52
+ }
53
+ };
54
+ const clear = () => {
55
+ writing = true;
56
+ try {
57
+ for (const axis of axes)
58
+ if (owns(axis))
59
+ style[`keyframe:${axis}`] = unsetValue;
60
+ }
61
+ finally {
62
+ writing = false;
63
+ }
64
+ };
65
+ const root = () => {
66
+ let node = view;
67
+ while (node.parent instanceof View && node.parent.typeName !== 'Page')
68
+ node = node.parent;
69
+ return node;
70
+ };
71
+ const specs = (node) => {
72
+ // Core's last layout allocation excludes transforms; UIView.frame does not.
73
+ const cached = [node._oldLeft, node._oldTop, node._oldRight, node._oldBottom];
74
+ const bounds = cached.every((value) => Number.isFinite(value)) &&
75
+ cached[2] > cached[0] &&
76
+ cached[3] > cached[1]
77
+ ? { left: cached[0], top: cached[1], right: cached[2], bottom: cached[3] }
78
+ : node._getCurrentLayoutBounds();
79
+ const layout = Utils.layout;
80
+ return {
81
+ bounds,
82
+ width: node._currentWidthMeasureSpec ??
83
+ layout.makeMeasureSpec(Math.max(0, bounds.right - bounds.left), layout.EXACTLY),
84
+ height: node._currentHeightMeasureSpec ??
85
+ layout.makeMeasureSpec(Math.max(0, bounds.bottom - bounds.top), layout.EXACTLY),
86
+ };
87
+ };
88
+ const measure = () => {
89
+ const node = root();
90
+ const spec = specs(node);
91
+ view.requestLayout();
92
+ node.measure(spec.width, spec.height);
93
+ return { node, ...spec };
94
+ };
95
+ return {
96
+ read,
97
+ write,
98
+ ready() {
99
+ const { bounds } = specs(root());
100
+ return bounds.right > bounds.left && bounds.bottom > bounds.top;
101
+ },
102
+ measure(destination) {
103
+ const held = Object.fromEntries(axes.map((axis) => [axis, style[`keyframe:${axis}`]]));
104
+ try {
105
+ write(destination);
106
+ measure();
107
+ const dip = Utils.layout.toDeviceIndependentPixels;
108
+ return {
109
+ width: dip(view.getMeasuredWidth()),
110
+ height: dip(view.getMeasuredHeight()),
111
+ };
112
+ }
113
+ finally {
114
+ writing = true;
115
+ try {
116
+ for (const axis of axes)
117
+ if (!disposed && owns(axis))
118
+ style[`keyframe:${axis}`] = held[axis];
119
+ }
120
+ finally {
121
+ writing = false;
122
+ }
123
+ }
124
+ },
125
+ /** Flush the restored/current declarations before any draw can see probe measurements. */
126
+ layout() {
127
+ const { node, bounds } = measure();
128
+ node.layout(bounds.left, bounds.top, bounds.right, bounds.bottom);
129
+ },
130
+ commit(values) {
131
+ writing = true;
132
+ try {
133
+ if (values)
134
+ for (const axis of axes)
135
+ if (owns(axis) && values[axis] !== undefined)
136
+ view[axis] = bounded(view, axis, values[axis]);
137
+ }
138
+ finally {
139
+ writing = false;
140
+ clear();
141
+ }
142
+ },
143
+ watch(takeover) {
144
+ claim();
145
+ const undo = [];
146
+ releaseHooks = () => undo
147
+ .splice(0)
148
+ .reverse()
149
+ .forEach((off) => off());
150
+ // A local/CSS write hidden under the animation override still takes ownership.
151
+ for (const axis of axes)
152
+ for (const name of [axis, `css:${axis}`, `keyframe:${axis}`]) {
153
+ const own = Object.getOwnPropertyDescriptor(style, name);
154
+ let source = style;
155
+ let descriptor;
156
+ while (source && !descriptor) {
157
+ descriptor = Object.getOwnPropertyDescriptor(source, name);
158
+ source = Object.getPrototypeOf(source);
159
+ }
160
+ if (!descriptor?.set || !descriptor.get || own?.configurable === false)
161
+ throw new Error(`animateSize cannot observe ownership of ${name}.`);
162
+ const original = descriptor;
163
+ const set = function (value) {
164
+ if (!writing)
165
+ takeover();
166
+ original.set.call(this, value);
167
+ };
168
+ Object.defineProperty(style, name, {
169
+ configurable: true,
170
+ get: original.get,
171
+ set,
172
+ });
173
+ undo.push(() => {
174
+ if (Object.getOwnPropertyDescriptor(style, name)?.set !== set)
175
+ return;
176
+ if (own)
177
+ Object.defineProperty(style, name, own);
178
+ else
179
+ delete style[name];
180
+ });
181
+ }
182
+ },
183
+ dispose() {
184
+ disposed = true;
185
+ releaseHooks();
186
+ clear();
187
+ const current = overlays.get(view);
188
+ for (const axis of axes)
189
+ if (owns(axis))
190
+ current.delete(axis);
191
+ if (!current?.size)
192
+ overlays.delete(view);
193
+ },
194
+ };
195
+ }
196
+ function bounded(view, axis, value) {
197
+ if (value === 'auto')
198
+ return value;
199
+ const minimum = axis === 'width' ? view.minWidth : view.minHeight;
200
+ const maximum = axis === 'width' ? view.maxWidth : view.maxHeight;
201
+ const dip = Utils.layout.toDeviceIndependentPixels;
202
+ const min = typeof minimum === 'number'
203
+ ? minimum
204
+ : dip((axis === 'width' ? view.effectiveMinWidth : view.effectiveMinHeight) ?? 0);
205
+ const max = typeof maximum === 'number'
206
+ ? maximum
207
+ : dip((axis === 'width' ? view.effectiveMaxWidth : view.effectiveMaxHeight) ??
208
+ Infinity);
209
+ return Math.min(max, Math.max(0, min, value));
210
+ }
211
+ export function dimension(value, label) {
212
+ if (value !== 'auto' &&
213
+ (typeof value !== 'number' || !Number.isFinite(value) || value < 0))
214
+ throw new RangeError(`animateSize ${label} must be a nonnegative finite DIP number or "auto"; percentages and unit objects are unsupported.`);
215
+ }
216
+ //# sourceMappingURL=size-layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"size-layout.js","sourceRoot":"","sources":["../src/size-layout.ts"],"names":[],"mappings":"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"}
package/dist/size.d.ts ADDED
@@ -0,0 +1,19 @@
1
+ import type { Animation } from './engine.js';
2
+ import { type Spring, type SpringName, type Tween } from './transition.js';
3
+ import { type SizeValues } from './size-layout.js';
4
+ import type { Target } from './types.js';
5
+ export type SizeDimensions = SizeValues;
6
+ export type SizeOptions = Omit<Spring, 'repeat' | 'repeatType' | 'repeatDelay'> | Omit<Tween, 'repeat' | 'repeatType' | 'repeatDelay' | 'times' | 'easeTrack'>;
7
+ export interface SizeAnimation extends Animation {
8
+ pause(): void;
9
+ play(): void;
10
+ readonly paused: boolean;
11
+ /** Hold the current size; restore:true releases the temporary size back to the original declaration. */
12
+ stop(options?: {
13
+ restore?: boolean;
14
+ }): void;
15
+ }
16
+ /** Animate the actual layout box, including intrinsic auto sizes. Layout runs in JS on the UI thread. */
17
+ export declare function animateSize(target: Target, dimensions: SizeDimensions, options?: SizeOptions | SpringName): SizeAnimation;
18
+ export declare function animateSize(target: Target, dimensions: SizeDimensions, change: () => void, options?: SizeOptions | SpringName): SizeAnimation;
19
+ //# sourceMappingURL=size.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"size.d.ts","sourceRoot":"","sources":["../src/size.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAG5C,OAAO,EAGL,KAAK,MAAM,EACX,KAAK,UAAU,EACf,KAAK,KAAK,EACX,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAKL,KAAK,UAAU,EAChB,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExC,MAAM,MAAM,cAAc,GAAG,UAAU,CAAA;AACvC,MAAM,MAAM,WAAW,GACnB,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,YAAY,GAAG,aAAa,CAAC,GACrD,IAAI,CAAC,KAAK,EAAE,QAAQ,GAAG,YAAY,GAAG,aAAa,GAAG,OAAO,GAAG,WAAW,CAAC,CAAA;AAChF,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,KAAK,IAAI,IAAI,CAAA;IACb,IAAI,IAAI,IAAI,CAAA;IACZ,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,wGAAwG;IACxG,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAA;CAC5C;AAMD,yGAAyG;AACzG,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,cAAc,EAC1B,OAAO,CAAC,EAAE,WAAW,GAAG,UAAU,GACjC,aAAa,CAAA;AAChB,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,MAAM,IAAI,EAClB,OAAO,CAAC,EAAE,WAAW,GAAG,UAAU,GACjC,aAAa,CAAA"}