@ateam-ai-mobile/expo 0.1.7 → 0.1.8

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 (71) hide show
  1. package/dist/bootstrap.js +841 -323
  2. package/dist/bootstrap.js.map +1 -1
  3. package/dist/bootstrap.mjs +9 -7
  4. package/dist/bootstrap.mjs.map +1 -1
  5. package/dist/chunk-7FWYEHN5.mjs +203 -0
  6. package/dist/chunk-7FWYEHN5.mjs.map +1 -0
  7. package/dist/{chunk-4XYXJYN5.mjs → chunk-C7M5WAHA.mjs} +583 -298
  8. package/dist/chunk-C7M5WAHA.mjs.map +1 -0
  9. package/dist/{chunk-5HM6UA2K.mjs → chunk-GF2MPTAB.mjs} +83 -7
  10. package/dist/chunk-GF2MPTAB.mjs.map +1 -0
  11. package/dist/chunk-J6XRNX7P.mjs +19 -0
  12. package/dist/chunk-J6XRNX7P.mjs.map +1 -0
  13. package/dist/{chunk-TZXWVYYR.mjs → chunk-PCAEUX2N.mjs} +1 -1
  14. package/dist/chunk-PCAEUX2N.mjs.map +1 -0
  15. package/dist/{chunk-VQJPSLHP.mjs → chunk-Z5AI2SXX.mjs} +13 -4
  16. package/dist/chunk-Z5AI2SXX.mjs.map +1 -0
  17. package/dist/createBridge.js +41 -10
  18. package/dist/createBridge.js.map +1 -1
  19. package/dist/createBridge.mjs +5 -1
  20. package/dist/createBridge.mjs.map +1 -1
  21. package/dist/device/createDeviceProvider.js +278 -17
  22. package/dist/device/createDeviceProvider.js.map +1 -1
  23. package/dist/device/createDeviceProvider.mjs +5 -3
  24. package/dist/device-bridge/index.d.mts +13 -1
  25. package/dist/device-bridge/index.d.ts +13 -1
  26. package/dist/device-bridge/index.js +49 -12
  27. package/dist/device-bridge/index.js.map +1 -1
  28. package/dist/device-bridge/index.mjs +3 -1
  29. package/dist/index.d.mts +19 -3
  30. package/dist/index.d.ts +19 -3
  31. package/dist/index.js +594 -297
  32. package/dist/index.js.map +1 -1
  33. package/dist/index.mjs +2 -1
  34. package/dist/maps/index.d.mts +56 -0
  35. package/dist/maps/index.d.ts +56 -0
  36. package/dist/maps/index.js +95 -0
  37. package/dist/maps/index.js.map +1 -0
  38. package/dist/maps/index.mjs +17 -0
  39. package/dist/maps/index.mjs.map +1 -0
  40. package/dist/vision/index.d.mts +4 -2
  41. package/dist/vision/index.d.ts +4 -2
  42. package/dist/vision/index.js.map +1 -1
  43. package/dist/vision/index.mjs +1 -1
  44. package/expo-module.config.json +1 -1
  45. package/ios/AdaMaps/AdaMapsModule.swift +180 -0
  46. package/ios/AdaMaps.podspec +25 -0
  47. package/ios/AdaVision.podspec +4 -0
  48. package/ios/AdaVisionModule.swift +63 -9
  49. package/package.json +10 -4
  50. package/src/args.ts +56 -0
  51. package/src/createBridge.ts +3 -1
  52. package/src/device/createDeviceProvider.ts +88 -3
  53. package/src/device-bridge/collectors/location.ts +21 -9
  54. package/src/device-state/collectors.ts +5 -1
  55. package/src/device-state/domains/deviceContext.ts +5 -3
  56. package/src/device-state/domains/interaction.ts +2 -1
  57. package/src/device-state/domains/spatial.ts +200 -116
  58. package/src/device-state/domains/visual.ts +34 -13
  59. package/src/device-state/events.ts +49 -0
  60. package/src/device-state/headingSource.ts +43 -8
  61. package/src/device-state/index.ts +3 -2
  62. package/src/device-state/replay.ts +76 -11
  63. package/src/device-state/spatialEvents.ts +300 -0
  64. package/src/geo.ts +23 -0
  65. package/src/maps/index.ts +81 -0
  66. package/src/maps/normalize.ts +225 -0
  67. package/src/vision/index.ts +4 -2
  68. package/dist/chunk-4XYXJYN5.mjs.map +0 -1
  69. package/dist/chunk-5HM6UA2K.mjs.map +0 -1
  70. package/dist/chunk-TZXWVYYR.mjs.map +0 -1
  71. package/dist/chunk-VQJPSLHP.mjs.map +0 -1
@@ -11,9 +11,11 @@ import {
11
11
  sharing_exports,
12
12
  syncDomains,
13
13
  unregisterBackgroundSync
14
- } from "../chunk-VQJPSLHP.mjs";
14
+ } from "../chunk-Z5AI2SXX.mjs";
15
15
  import "../chunk-KOXF2FZM.mjs";
16
16
  import "../chunk-XQSY6MHP.mjs";
17
+ import "../chunk-7FWYEHN5.mjs";
18
+ import "../chunk-J6XRNX7P.mjs";
17
19
  import "../chunk-WMJKH4XE.mjs";
18
20
  export {
19
21
  BACKGROUND_TASK_NAME,
package/dist/index.d.mts CHANGED
@@ -30,6 +30,8 @@ declare class ExpoBundleStorage implements BundleStorage {
30
30
  * in one of them. Injection also matches how the rest of this SDK takes host
31
31
  * capabilities, and lets a test drive the engines without an Expo runtime.
32
32
  */
33
+ /** GPS tier for a position stream: turn-by-turn, precise, city-block, coarse. */
34
+ type WatchAccuracy = 'navigation' | 'high' | 'balanced' | 'low';
33
35
  interface DeviceStateCollectors {
34
36
  connectivity?: {
35
37
  collectConnectivity(): Promise<any>;
@@ -38,7 +40,10 @@ interface DeviceStateCollectors {
38
40
  getPosition(opts?: {
39
41
  accuracy?: 'low' | 'high';
40
42
  }): Promise<any>;
41
- watchPosition(cb: (pos: any) => void): () => void;
43
+ /** `accuracy` is the GPS tier the stream runs at (battery vs precision). */
44
+ watchPosition(cb: (pos: any) => void, opts?: {
45
+ accuracy?: WatchAccuracy;
46
+ }): () => void;
42
47
  hasPermission(): Promise<boolean>;
43
48
  };
44
49
  }
@@ -59,9 +64,10 @@ interface DeviceStateCollectors {
59
64
  * connectivity reachability ✓ transport ✓ quality/stability/metered ✗
60
65
  * capability permission ✓ availability ✗ restriction ✗
61
66
  * interaction app lifecycle ✓ screenOn ✗ audio ✗
62
- * spatial position ✓ path ✓ (while a session is open) heading/speed ✗
67
+ * spatial position ✓ heading ✓ turns ✓ path/events ✓ (while a session is open) speed ~derived
63
68
  * visual frames ✓ heading ✓ freshness ✓ blur/exposure ✗
64
- * activity / environment — NOT IMPLEMENTED AT ALL
69
+ * activity walking/running/stationary ✓ pose ✓ cycling/driving ✗ events ✗
70
+ * environment NOT IMPLEMENTED AT ALL
65
71
  *
66
72
  * Everything marked ✗ reports `unknown`, which is a real answer in this design
67
73
  * and the only honest one. It never reports a plausible default: an invented
@@ -426,6 +432,16 @@ declare const cameraTasks: CameraTaskBroker;
426
432
  * are replayed exactly as recorded. They are the most valuable records in the
427
433
  * file — they are what a guide must handle correctly, and precisely what a
428
434
  * hand-written fixture would never contain.
435
+ *
436
+ * SPATIAL EVENTS REPLAY; THE OTHERS REFUSE. Spatial events are derived from
437
+ * snapshots by the same detector the live engine runs, so feeding it the
438
+ * recorded snapshots in time order gives the events the walk produced — at the
439
+ * virtual time of the sample that completed each one. While a listener runs,
440
+ * the clock stands AT that sample, so a listener that re-reads gets the
441
+ * snapshot its event came from, as it would live. Two limits, inherited from
442
+ * recording snapshots: two turns inside one recorded tick collapse to the later
443
+ * one, because a snapshot carries only the last turn; and a hold completes at
444
+ * the recording's tick rather than the live engine's one-second one.
429
445
  */
430
446
 
431
447
  /** One tick of a recorded walk. Domains are stored verbatim, never normalised. */
package/dist/index.d.ts CHANGED
@@ -30,6 +30,8 @@ declare class ExpoBundleStorage implements BundleStorage {
30
30
  * in one of them. Injection also matches how the rest of this SDK takes host
31
31
  * capabilities, and lets a test drive the engines without an Expo runtime.
32
32
  */
33
+ /** GPS tier for a position stream: turn-by-turn, precise, city-block, coarse. */
34
+ type WatchAccuracy = 'navigation' | 'high' | 'balanced' | 'low';
33
35
  interface DeviceStateCollectors {
34
36
  connectivity?: {
35
37
  collectConnectivity(): Promise<any>;
@@ -38,7 +40,10 @@ interface DeviceStateCollectors {
38
40
  getPosition(opts?: {
39
41
  accuracy?: 'low' | 'high';
40
42
  }): Promise<any>;
41
- watchPosition(cb: (pos: any) => void): () => void;
43
+ /** `accuracy` is the GPS tier the stream runs at (battery vs precision). */
44
+ watchPosition(cb: (pos: any) => void, opts?: {
45
+ accuracy?: WatchAccuracy;
46
+ }): () => void;
42
47
  hasPermission(): Promise<boolean>;
43
48
  };
44
49
  }
@@ -59,9 +64,10 @@ interface DeviceStateCollectors {
59
64
  * connectivity reachability ✓ transport ✓ quality/stability/metered ✗
60
65
  * capability permission ✓ availability ✗ restriction ✗
61
66
  * interaction app lifecycle ✓ screenOn ✗ audio ✗
62
- * spatial position ✓ path ✓ (while a session is open) heading/speed ✗
67
+ * spatial position ✓ heading ✓ turns ✓ path/events ✓ (while a session is open) speed ~derived
63
68
  * visual frames ✓ heading ✓ freshness ✓ blur/exposure ✗
64
- * activity / environment — NOT IMPLEMENTED AT ALL
69
+ * activity walking/running/stationary ✓ pose ✓ cycling/driving ✗ events ✗
70
+ * environment NOT IMPLEMENTED AT ALL
65
71
  *
66
72
  * Everything marked ✗ reports `unknown`, which is a real answer in this design
67
73
  * and the only honest one. It never reports a plausible default: an invented
@@ -426,6 +432,16 @@ declare const cameraTasks: CameraTaskBroker;
426
432
  * are replayed exactly as recorded. They are the most valuable records in the
427
433
  * file — they are what a guide must handle correctly, and precisely what a
428
434
  * hand-written fixture would never contain.
435
+ *
436
+ * SPATIAL EVENTS REPLAY; THE OTHERS REFUSE. Spatial events are derived from
437
+ * snapshots by the same detector the live engine runs, so feeding it the
438
+ * recorded snapshots in time order gives the events the walk produced — at the
439
+ * virtual time of the sample that completed each one. While a listener runs,
440
+ * the clock stands AT that sample, so a listener that re-reads gets the
441
+ * snapshot its event came from, as it would live. Two limits, inherited from
442
+ * recording snapshots: two turns inside one recorded tick collapse to the later
443
+ * one, because a snapshot carries only the last turn; and a hold completes at
444
+ * the recording's tick rather than the live engine's one-second one.
429
445
  */
430
446
 
431
447
  /** One tick of a recorded walk. Domains are stored verbatim, never normalised. */