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

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 (103) hide show
  1. package/README.md +4 -1
  2. package/dist/animate.d.ts +6 -4
  3. package/dist/animate.d.ts.map +1 -1
  4. package/dist/animate.js +3 -1
  5. package/dist/animate.js.map +1 -1
  6. package/dist/drag.js +3 -3
  7. package/dist/drag.js.map +1 -1
  8. package/dist/driver/android.d.ts.map +1 -1
  9. package/dist/driver/android.js +2 -0
  10. package/dist/driver/android.js.map +1 -1
  11. package/dist/driver/frame.d.ts +3 -0
  12. package/dist/driver/frame.d.ts.map +1 -0
  13. package/dist/driver/frame.js +7 -0
  14. package/dist/driver/frame.js.map +1 -0
  15. package/dist/driver/index.d.ts +2 -0
  16. package/dist/driver/index.d.ts.map +1 -1
  17. package/dist/driver/index.js.map +1 -1
  18. package/dist/driver/ios.d.ts.map +1 -1
  19. package/dist/driver/ios.js +2 -0
  20. package/dist/driver/ios.js.map +1 -1
  21. package/dist/engine.d.ts +2 -1
  22. package/dist/engine.d.ts.map +1 -1
  23. package/dist/engine.js +23 -2
  24. package/dist/engine.js.map +1 -1
  25. package/dist/image-effect.d.ts +1 -0
  26. package/dist/image-effect.d.ts.map +1 -1
  27. package/dist/image-effect.js +10 -2
  28. package/dist/image-effect.js.map +1 -1
  29. package/dist/index.d.ts +5 -1
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +2 -0
  32. package/dist/index.js.map +1 -1
  33. package/dist/motion-scope.d.ts +2 -1
  34. package/dist/motion-scope.d.ts.map +1 -1
  35. package/dist/motion-scope.js +4 -1
  36. package/dist/motion-scope.js.map +1 -1
  37. package/dist/motion-value.d.ts +45 -8
  38. package/dist/motion-value.d.ts.map +1 -1
  39. package/dist/motion-value.js +289 -91
  40. package/dist/motion-value.js.map +1 -1
  41. package/dist/native/index.d.ts +6 -0
  42. package/dist/native/index.d.ts.map +1 -0
  43. package/dist/native/index.js +3 -0
  44. package/dist/native/index.js.map +1 -0
  45. package/dist/native-properties.d.ts +28 -0
  46. package/dist/native-properties.d.ts.map +1 -0
  47. package/dist/native-properties.js +154 -0
  48. package/dist/native-properties.js.map +1 -0
  49. package/dist/native-property-driver.d.ts +19 -0
  50. package/dist/native-property-driver.d.ts.map +1 -0
  51. package/dist/native-property-driver.js +69 -0
  52. package/dist/native-property-driver.js.map +1 -0
  53. package/dist/native-property.d.ts +35 -0
  54. package/dist/native-property.d.ts.map +1 -0
  55. package/dist/native-property.js +277 -0
  56. package/dist/native-property.js.map +1 -0
  57. package/dist/playback-group.d.ts.map +1 -1
  58. package/dist/playback-group.js +17 -1
  59. package/dist/playback-group.js.map +1 -1
  60. package/dist/playback.d.ts +15 -0
  61. package/dist/playback.d.ts.map +1 -1
  62. package/dist/playback.js +23 -0
  63. package/dist/playback.js.map +1 -1
  64. package/dist/sequence.d.ts +24 -0
  65. package/dist/sequence.d.ts.map +1 -1
  66. package/dist/sequence.js +181 -19
  67. package/dist/sequence.js.map +1 -1
  68. package/dist/timed-animation.d.ts +38 -0
  69. package/dist/timed-animation.d.ts.map +1 -0
  70. package/dist/timed-animation.js +177 -0
  71. package/dist/timed-animation.js.map +1 -0
  72. package/dist/value-observers.d.ts +19 -0
  73. package/dist/value-observers.d.ts.map +1 -0
  74. package/dist/value-observers.js +111 -0
  75. package/dist/value-observers.js.map +1 -0
  76. package/dist/value-track.d.ts +13 -0
  77. package/dist/value-track.d.ts.map +1 -0
  78. package/dist/value-track.js +59 -0
  79. package/dist/value-track.js.map +1 -0
  80. package/package.json +6 -2
  81. package/src/android-plugin.d.ts +37 -0
  82. package/src/animate.ts +13 -7
  83. package/src/drag.ts +3 -3
  84. package/src/driver/android.ts +2 -0
  85. package/src/driver/frame.ts +10 -0
  86. package/src/driver/index.ts +2 -0
  87. package/src/driver/ios.ts +2 -0
  88. package/src/engine.ts +23 -2
  89. package/src/image-effect.ts +10 -2
  90. package/src/index.ts +5 -0
  91. package/src/ios-plugin.d.ts +33 -0
  92. package/src/motion-scope.ts +5 -1
  93. package/src/motion-value.ts +331 -99
  94. package/src/native/index.ts +16 -0
  95. package/src/native-properties.ts +188 -0
  96. package/src/native-property-driver.ts +123 -0
  97. package/src/native-property.ts +353 -0
  98. package/src/playback-group.ts +17 -1
  99. package/src/playback.ts +41 -0
  100. package/src/sequence.ts +209 -20
  101. package/src/timed-animation.ts +192 -0
  102. package/src/value-observers.ts +133 -0
  103. package/src/value-track.ts +71 -0
@@ -4,11 +4,15 @@ import { colorMixer, isColorProperty, parseColor, validateColorTarget, } from '.
4
4
  import { reducedMotion } from './config.js';
5
5
  import { clampDecoration, isDecorationProperty, validateDecorationTarget, } from './decoration.js';
6
6
  import { getDriver } from './driver/index.js';
7
- import { setArrival, setBase, stopBase, ViewAnimation, } from './engine.js';
7
+ import { setBase, stopBase, ViewAnimation } from './engine.js';
8
8
  import { linear } from './easing.js';
9
9
  import { isProperty } from './properties.js';
10
10
  import { createTrack, instantTrack } from './track.js';
11
11
  import { resolveTransition, springs, } from './transition.js';
12
+ import { playbackSource } from './playback.js';
13
+ import { TimedAnimation } from './timed-animation.js';
14
+ import { valueTrack } from './value-track.js';
15
+ import { ValueObservers, } from './value-observers.js';
12
16
  const bound = new WeakMap();
13
17
  class Derived {
14
18
  source;
@@ -26,6 +30,9 @@ class Derived {
26
30
  const value = this.read(this.root.raw());
27
31
  return this.color ? new Color(value) : value;
28
32
  }
33
+ subscribe(listener, options) {
34
+ return this.root.observers.subscribe(this.read, this.color, listener, options);
35
+ }
29
36
  to(input, output, options) {
30
37
  if (this.color)
31
38
  throw new TypeError('A color cannot be mapped again.');
@@ -36,135 +43,201 @@ class Derived {
36
43
  }
37
44
  class Root extends Derived {
38
45
  bindings = new Set();
39
- current;
40
- run;
46
+ listeners = new Set();
47
+ observers = new ValueObservers((time) => this.raw(time));
48
+ rests = new Map();
49
+ runs = new Map();
50
+ presentation;
51
+ cancelPresentation;
41
52
  constructor(initial) {
42
53
  super(undefined, (value) => value, false);
43
54
  if (!Number.isFinite(initial))
44
55
  throw new RangeError(`A motion value starts from a finite number, got ${initial}.`);
45
- this.current = initial;
56
+ this.rests.set('', initial);
46
57
  }
47
- raw() {
48
- const run = this.run;
49
- if (!run)
50
- return this.current;
51
- return run.base + run.span * run.track.valueAt(getDriver().now() - run.startedAt);
58
+ raw(time = getDriver().now()) {
59
+ let result = 0;
60
+ for (const key of new Set([...this.rests.keys(), ...this.runs.keys()]))
61
+ result += this.part(key, time);
62
+ return result;
52
63
  }
53
- velocity() {
54
- const run = this.run;
55
- if (!run)
64
+ /** Drag input owns only the base; bounds and snap points stay in base units. */
65
+ base() {
66
+ return this.part('');
67
+ }
68
+ part(key, time = getDriver().now()) {
69
+ const run = this.runs.get(key);
70
+ return run
71
+ ? run.base + run.span * run.track.valueAt(this.runTime(run, time))
72
+ : (this.rests.get(key) ?? 0);
73
+ }
74
+ runTime(run, time = getDriver().now()) {
75
+ return run.clock?.time() ?? time - run.startedAt;
76
+ }
77
+ velocity(key) {
78
+ const run = this.runs.get(key);
79
+ if (!run || run.animation.paused)
56
80
  return 0;
57
- return run.span * run.track.velocityAt(getDriver().now() - run.startedAt);
81
+ return run.span * run.track.velocityAt(this.runTime(run));
58
82
  }
59
83
  animate(target, transition = {}) {
60
- const from = this.raw();
84
+ const options = typeof transition === 'string' ? springOf(transition) : transition;
85
+ const key = options.layer === undefined ? '' : layerName(options.layer);
86
+ const from = this.part(key);
61
87
  const frames = (typeof target === 'number' ? [null, target] : [...target]).map((frame) => (frame === null ? from : frame));
62
88
  if (frames.length < 2)
63
89
  frames.unshift(from);
64
90
  if (frames.some((frame) => typeof frame !== 'number' || !Number.isFinite(frame)))
65
91
  throw new RangeError(`Invalid motion value keyframes: ${JSON.stringify(target)}.`);
66
- const options = typeof transition === 'string' ? springOf(transition) : transition;
67
92
  const resolved = resolveTransition(options, 'x', frames.length);
68
93
  const base = Math.min(...frames);
69
94
  const span = Math.max(...frames) - base;
70
- const velocity = this.velocity();
71
- this.halt();
72
- if (span === 0)
73
- return this.jump(frames.at(-1));
95
+ const velocity = this.velocity(key);
96
+ if (span === 0) {
97
+ this.halt(key);
98
+ return this.jump(frames.at(-1), key);
99
+ }
74
100
  // Sampled in the value's own range so springs settle relative to the distance.
75
101
  const track = createTrack('opacity', frames.map((frame) => (frame - base) / span), resolved, velocity / span);
76
- return this.start(track, base, span);
102
+ this.halt(key);
103
+ return track.end === 0
104
+ ? this.jump(base + span * track.to, key)
105
+ : this.start(track, base, span, key);
77
106
  }
78
107
  /** Plays a track sampled in the value's own units, such as a drag release. */
79
108
  play(track) {
80
- this.halt();
81
- return track.end === 0 ? this.jump(track.to) : this.start(track, 0, 1);
109
+ this.halt('');
110
+ return track.end === 0 ? this.jump(track.to, '') : this.start(track, 0, 1, '');
82
111
  }
83
- jump(value) {
84
- const { animation, settle } = this.handle();
85
- this.current = value;
86
- for (const binding of this.bindings)
87
- binding.sync();
88
- settle(true);
89
- setArrival(animation, Promise.resolve());
112
+ jump(value, key) {
113
+ this.rests.set(key, value);
114
+ this.sync();
115
+ const animation = new TimedAnimation(0, 0, () => { }, () => { });
116
+ animation.start();
90
117
  return animation;
91
118
  }
92
- handle() {
93
- let settle;
94
- const finished = new Promise((resolve) => (settle = resolve));
95
- const animation = {
96
- finished,
97
- stop: () => {
98
- if (this.run?.animation === animation)
99
- this.stop();
100
- },
101
- then: (onfulfilled, onrejected) => finished.then(onfulfilled, onrejected),
102
- };
103
- return { animation, settle };
104
- }
105
- start(track, base, span) {
106
- const { animation, settle } = this.handle();
107
- let arrive = () => { };
108
- let run;
119
+ start(track, base, span, key) {
109
120
  const driver = getDriver();
110
- setArrival(animation, new Promise((resolve) => (arrive = resolve)));
111
- const timers = [
112
- Number.isFinite(track.end)
113
- ? driver.after(track.end, () => {
114
- if (this.run !== run)
115
- return;
116
- this.current = base + span * track.to;
117
- this.run = undefined;
118
- arrive();
119
- settle(true);
120
- })
121
- : undefined,
122
- Number.isFinite(track.arrival)
123
- ? driver.after(track.arrival, () => arrive())
124
- : undefined,
125
- ];
126
- this.run = run = {
121
+ const animation = new TimedAnimation(track.end, track.arrival, () => this.sync(), (completed) => {
122
+ if (this.runs.get(key)?.animation !== animation)
123
+ return;
124
+ const held = base + span * track.valueAt(animation.time);
125
+ this.runs.delete(key);
126
+ if (!completed && key !== '')
127
+ this.rests.delete(key);
128
+ else
129
+ this.rests.set(key, completed ? base + span * track.to : held);
130
+ this.sync();
131
+ });
132
+ const run = {
127
133
  track,
128
134
  base,
129
135
  span,
130
136
  animation,
131
137
  startedAt: driver.now(),
132
- settle: (completed) => {
133
- arrive();
134
- settle(completed);
135
- },
136
- cancel: () => timers.forEach((cancel) => cancel?.()),
138
+ clock: { time: () => animation.time },
137
139
  };
138
- for (const binding of this.bindings)
139
- binding.sync();
140
+ this.runs.set(key, run);
141
+ this.sync();
142
+ animation.start();
140
143
  return animation;
141
144
  }
142
145
  set(value) {
143
146
  if (!Number.isFinite(value))
144
147
  throw new RangeError(`A motion value takes a finite number, got ${value}.`);
145
- this.halt();
146
- this.current = value;
147
- for (const binding of this.bindings)
148
- binding.sync();
148
+ for (const key of [...this.runs.keys()])
149
+ this.halt(key);
150
+ this.rests.clear();
151
+ this.rests.set('', value);
152
+ this.sync();
153
+ }
154
+ setBase(value) {
155
+ if (!Number.isFinite(value))
156
+ throw new RangeError('A motion value takes a finite number.');
157
+ this.halt('');
158
+ this.rests.set('', value);
159
+ this.sync();
160
+ }
161
+ stopBase() {
162
+ this.stopChannel('');
149
163
  }
150
- stop() {
151
- if (!this.run)
164
+ stop(layer) {
165
+ if (layer !== undefined)
166
+ return this.stopChannel(layerName(layer));
167
+ if (!this.runs.size && this.rests.size === 1)
152
168
  return;
153
169
  const value = this.raw();
154
- this.halt();
155
- this.current = value;
170
+ for (const key of [...this.runs.keys()])
171
+ this.halt(key);
172
+ this.rests.clear();
173
+ this.rests.set('', value);
174
+ this.sync();
175
+ }
176
+ stopChannel(key) {
177
+ if (!this.runs.has(key) && (key === '' || !this.rests.has(key)))
178
+ return;
179
+ const held = this.part(key);
180
+ this.halt(key);
181
+ if (key === '')
182
+ this.rests.set(key, held);
183
+ else
184
+ this.rests.delete(key);
185
+ this.sync();
186
+ }
187
+ sync() {
188
+ this.cancelPresentation?.();
189
+ this.cancelPresentation = undefined;
190
+ const now = getDriver().now();
191
+ let rest = 0;
192
+ for (const [key, value] of this.rests)
193
+ if (!this.runs.has(key))
194
+ rest += value;
195
+ const runs = [...this.runs.values()].filter((run) => !run.animation.paused);
196
+ for (const [key, run] of this.runs)
197
+ if (run.animation.paused)
198
+ rest += this.part(key, now);
199
+ if (!runs.length)
200
+ this.presentation = undefined;
201
+ else if (runs.length === 1) {
202
+ const run = runs[0];
203
+ this.presentation = { ...run, base: run.base + rest };
204
+ }
205
+ else {
206
+ const { track, windowed } = valueTrack(runs.map((run) => ({
207
+ track: run.track,
208
+ base: run.base,
209
+ span: run.span,
210
+ elapsed: this.runTime(run, now),
211
+ })), rest);
212
+ const driver = getDriver();
213
+ const clock = driver.clock?.(track.end);
214
+ this.presentation = { track, base: 0, span: 1, startedAt: now, clock };
215
+ const cancelWindow = windowed
216
+ ? driver.after(track.end, () => this.sync())
217
+ : undefined;
218
+ this.cancelPresentation = () => {
219
+ cancelWindow?.();
220
+ clock?.cancel();
221
+ };
222
+ }
223
+ this.changed();
224
+ }
225
+ changed() {
156
226
  for (const binding of this.bindings)
157
227
  binding.sync();
228
+ for (const listener of [...this.listeners])
229
+ listener();
230
+ this.observers.changed(this.running);
158
231
  }
159
232
  /** The plan that plays this value's run, mapped, on one bound property. */
160
233
  plan(binding) {
161
- const run = this.run;
234
+ const run = this.presentation;
162
235
  const { property, read } = binding;
163
236
  const write = (value) => isDecorationProperty(property)
164
237
  ? clampDecoration(property, read(value))
165
238
  : read(value);
166
239
  if (!run) {
167
- const value = write(this.current);
240
+ const value = write(this.raw());
168
241
  return {
169
242
  property,
170
243
  keyframes: [],
@@ -209,20 +282,27 @@ class Root extends Derived {
209
282
  return { property, keyframes: [], transition, track: mapped };
210
283
  }
211
284
  elapsed() {
212
- return this.run ? getDriver().now() - this.run.startedAt : 0;
285
+ return this.presentation ? this.runTime(this.presentation) : 0;
286
+ }
287
+ get paused() {
288
+ return this.runs.size > 0 && !this.running;
213
289
  }
214
290
  get running() {
215
- return this.run !== undefined;
291
+ return [...this.runs.values()].some((run) => !run.animation.paused);
216
292
  }
217
- halt() {
218
- const run = this.run;
293
+ halt(key) {
294
+ const run = this.runs.get(key);
219
295
  if (!run)
220
296
  return;
221
- this.run = undefined;
222
- run.cancel();
223
- run.settle(false);
297
+ this.runs.delete(key);
298
+ run.animation.stop();
224
299
  }
225
300
  }
301
+ function layerName(name) {
302
+ if (typeof name !== 'string' || !name.length)
303
+ throw new TypeError('A layer is named by a nonempty string.');
304
+ return name;
305
+ }
226
306
  const still = {
227
307
  curve: { type: 'tween', duration: 0, ease: [linear], times: undefined },
228
308
  delay: 0,
@@ -309,9 +389,13 @@ function attach(view, property, source) {
309
389
  getDriver().sync?.(view);
310
390
  return;
311
391
  }
312
- const elapsed = root.elapsed();
313
392
  const animation = new ViewAnimation(view, [root.plan(binding)]);
314
- if (elapsed > 1 && animation.duration > 0)
393
+ // Native keyframe setup can take time, especially for a composite track on Android.
394
+ // Catch up after construction so each binding joins the source's current phase.
395
+ const elapsed = root.elapsed();
396
+ if (root.paused)
397
+ animation.pause();
398
+ if ((elapsed > 1 || root.paused) && animation.duration > 0)
315
399
  animation.seekTime(elapsed);
316
400
  binding.animation = animation;
317
401
  },
@@ -330,6 +414,112 @@ function attach(view, property, source) {
330
414
  }
331
415
  };
332
416
  }
417
+ /** A read-only value on an existing finite animation's clock. No second animation or timer. */
418
+ export function playbackProgress(animation) {
419
+ const source = playbackSource(animation);
420
+ if (!Number.isFinite(source.read().duration))
421
+ throw new RangeError('Progress requires a finite animation.');
422
+ const root = new PlaybackValue(source);
423
+ return new Derived(root, (value) => value, false);
424
+ }
425
+ class PlaybackValue extends Root {
426
+ playback;
427
+ constructor(playback) {
428
+ super(0);
429
+ this.playback = playback;
430
+ const source = playback;
431
+ const off = source.subscribe(() => {
432
+ this.changed();
433
+ if (source.read().settled)
434
+ off();
435
+ });
436
+ if (source.read().settled)
437
+ off();
438
+ this.observers.changed(this.running);
439
+ }
440
+ raw() {
441
+ const state = this.playback.read();
442
+ return (state.position ??
443
+ (state.completed
444
+ ? 1
445
+ : state.duration > 0
446
+ ? Math.max(0, Math.min(1, state.time / state.duration))
447
+ : 0));
448
+ }
449
+ get running() {
450
+ const state = this.playback.read();
451
+ return state.ready && !state.settled && !state.paused && state.duration > 0;
452
+ }
453
+ get paused() {
454
+ return this.playback.read().paused;
455
+ }
456
+ elapsed() {
457
+ return this.playback.read().time;
458
+ }
459
+ plan(binding) {
460
+ const state = this.playback.read();
461
+ if (!state.ready || state.settled || state.duration === 0)
462
+ return {
463
+ property: binding.property,
464
+ keyframes: [],
465
+ transition: still,
466
+ track: () => instantTrack(binding.property, binding.read(this.raw())),
467
+ };
468
+ // Bypass timeScale: the source duration is already in platform playback milliseconds.
469
+ const duration = state.duration;
470
+ const at = (ms) => binding.read(Math.max(0, Math.min(1, ms / duration)));
471
+ const track = {
472
+ property: binding.property,
473
+ delay: 0,
474
+ duration,
475
+ repeat: 0,
476
+ reverse: false,
477
+ times: [0, 1],
478
+ values: [at(0), at(duration)],
479
+ to: at(duration),
480
+ end: duration,
481
+ arrival: duration,
482
+ valueAt: at,
483
+ velocityAt: (ms) => (at(ms + 0.5) - at(ms - 0.5)) * 1000,
484
+ };
485
+ // Piecewise/color derivations need intermediate samples, not only the two endpoints.
486
+ const steps = Math.max(1, Math.min(6000, Math.ceil((duration * 60) / 1000)));
487
+ const times = Array.from({ length: steps + 1 }, (_, i) => i / steps);
488
+ return {
489
+ property: binding.property,
490
+ keyframes: [],
491
+ transition: still,
492
+ track: () => reducedMotion() &&
493
+ binding.property !== 'opacity' &&
494
+ !isColorProperty(binding.property)
495
+ ? instantTrack(binding.property, at(duration))
496
+ : { ...track, times, values: times.map((time) => at(time * duration)) },
497
+ };
498
+ }
499
+ }
500
+ /** Internal native-adapter bridge. Mappings are sampled at boundaries, never per frame. */
501
+ export function valuePlayback(source) {
502
+ if (!(source instanceof Derived) || source.color)
503
+ throw new TypeError('A native binding needs a numeric Jolt value.');
504
+ const { root, read } = source;
505
+ return {
506
+ snapshot() {
507
+ return {
508
+ track: root.plan({ property: 'opacity', read }).track(),
509
+ elapsed: root.elapsed(),
510
+ paused: root.paused,
511
+ running: root.running,
512
+ value: read(root.raw()),
513
+ };
514
+ },
515
+ subscribe(listener) {
516
+ root.listeners.add(listener);
517
+ return () => {
518
+ root.listeners.delete(listener);
519
+ };
520
+ },
521
+ };
522
+ }
333
523
  function release(binding) {
334
524
  binding.root.bindings.delete(binding);
335
525
  binding.view.off('loaded', binding.sync);
@@ -353,8 +543,16 @@ function mapping(input, output, options = {}) {
353
543
  throw new RangeError('to() needs at least two input and output values.');
354
544
  if (input.length !== output.length)
355
545
  throw new RangeError(`to() has ${input.length} inputs but ${output.length} outputs; give one output per input.`);
356
- if (input.some((value, i) => !Number.isFinite(value) || value < (input[i - 1] ?? -Infinity)))
357
- throw new RangeError('to() inputs must be finite and never decrease.');
546
+ if (input.some((value) => !Number.isFinite(value)))
547
+ throw new RangeError('to() inputs must all be finite numbers.');
548
+ const descending = input[input.length - 1] < input[0];
549
+ if (input.some((value, i) => i > 0 && (descending ? value > input[i - 1] : value < input[i - 1])))
550
+ throw new RangeError('to() inputs must be monotonic (ascending or descending); ranges cannot change direction.');
551
+ // Normalize pairs together, without changing caller-owned arrays or duplicate-stop rules.
552
+ if (descending) {
553
+ input = [...input].reverse();
554
+ output = [...output].reverse();
555
+ }
358
556
  const color = typeof output[0] !== 'number';
359
557
  const numbers = color ? output.map((value) => parseColor(value)) : output;
360
558
  if (!color &&
@@ -1 +1 @@
1
- {"version":3,"file":"motion-value.js","sourceRoot":"","sources":["../src/motion-value.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"motion-value.js","sourceRoot":"","sources":["../src/motion-value.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export { registerNativeProperty, checkNativeProperty } from '../native-property.js';
2
+ export type { NativeProperty, NativePropertyDefinition } from '../native-property.js';
3
+ export type { NativeSink } from '../native-property-driver.js';
4
+ export { mapKitCoordinate, mapKitCamera, mapLibreCoordinate, mapLibreCamera, sceneKitPose, } from '../native-properties.js';
5
+ export type { Coordinate, MapKitCamera, MapLibreCamera, ScenePose, } from '../native-properties.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,3 @@
1
+ export { registerNativeProperty, checkNativeProperty } from '../native-property.js';
2
+ export { mapKitCoordinate, mapKitCamera, mapLibreCoordinate, mapLibreCamera, sceneKitPose, } from '../native-properties.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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"}
@@ -0,0 +1,28 @@
1
+ export interface Coordinate {
2
+ latitude: number;
3
+ longitude: number;
4
+ }
5
+ export interface MapKitCamera extends Coordinate {
6
+ altitude: number;
7
+ pitch: number;
8
+ heading: number;
9
+ }
10
+ export interface MapLibreCamera extends Coordinate {
11
+ zoom: number;
12
+ tilt: number;
13
+ bearing: number;
14
+ }
15
+ export interface ScenePose {
16
+ position: readonly [number, number, number];
17
+ orientation: readonly [number, number, number, number];
18
+ }
19
+ /** Shortest longitude/heading interpolation. Coordinates use a local linear path, not a geodesic. */
20
+ export declare function shortestAngle(from: number, to: number, fraction: number): number;
21
+ export declare const mapKitCoordinate: (target: object) => import("./native-property.js").NativeProperty<Coordinate>;
22
+ export declare const mapKitCamera: (target: object) => import("./native-property.js").NativeProperty<MapKitCamera>;
23
+ export declare const mapLibreCoordinate: (target: object) => import("./native-property.js").NativeProperty<Coordinate>;
24
+ export declare const mapLibreCamera: (target: object) => import("./native-property.js").NativeProperty<MapLibreCamera>;
25
+ /** Unit quaternion slerp; q and -q describe the same orientation. */
26
+ export declare function interpolatePose(a: ScenePose, b: ScenePose, t: number): ScenePose;
27
+ export declare const sceneKitPose: (target: object) => import("./native-property.js").NativeProperty<ScenePose>;
28
+ //# sourceMappingURL=native-properties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-properties.d.ts","sourceRoot":"","sources":["../src/native-properties.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB;AACD,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAChB;AACD,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AACD,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3C,WAAW,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CACvD;AAED,qGAAqG;AACrG,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAGvE;AAmBD,eAAO,MAAM,gBAAgB,+EAU3B,CAAA;AACF,eAAO,MAAM,YAAY,iFA+BvB,CAAA;AACF,eAAO,MAAM,kBAAkB,+EAU7B,CAAA;AACF,eAAO,MAAM,cAAc,mFA+BzB,CAAA;AAEF,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CA0BhF;AACD,eAAO,MAAM,YAAY,8EA4BvB,CAAA"}