gps-plus-slam-app-framework 1.3.0 → 1.4.0

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 (225) hide show
  1. package/dist/{app-selectors-B8VQoMDY.d.ts → app-selectors-CrOucL00.d.ts} +1 -1
  2. package/dist/ar/bresenham3d.d.ts +1 -1
  3. package/dist/ar/camera-blit-capture.d.ts +2 -2
  4. package/dist/ar/camera-blit-capture.js +74 -9
  5. package/dist/ar/capability-checker.d.ts +1 -1
  6. package/dist/ar/capture-failure-tracker.d.ts +1 -1
  7. package/dist/ar/chromium-camera-access-workaround.d.ts +1 -1
  8. package/dist/ar/depth-grid-lookup.d.ts +2 -0
  9. package/dist/ar/depth-grid-lookup.js +43 -0
  10. package/dist/ar/depth-sampler.d.ts +2 -2
  11. package/dist/ar/depth-sampler.js +2 -4
  12. package/dist/ar/depth-unprojection.d.ts +1 -1
  13. package/dist/ar/enable-gps-ar.d.ts +1 -1
  14. package/dist/ar/enable-gps-ar.js +26 -1
  15. package/dist/ar/frame-loop.d.ts +1 -1
  16. package/dist/ar/image-capture.d.ts +1 -1
  17. package/dist/ar/index.d.ts +30 -19
  18. package/dist/ar/index.js +15 -4
  19. package/dist/ar/occupancy-grid.d.ts +1 -1
  20. package/dist/ar/occupancy-grid.js +29 -2
  21. package/dist/ar/planar-pnp.d.ts +2 -0
  22. package/dist/ar/planar-pnp.js +425 -0
  23. package/dist/ar/qr-debug-view.d.ts +2 -0
  24. package/dist/ar/qr-debug-view.js +89 -0
  25. package/dist/ar/qr-derived-pose.d.ts +2 -0
  26. package/dist/ar/qr-derived-pose.js +114 -0
  27. package/dist/ar/qr-detection-controller.d.ts +2 -0
  28. package/dist/ar/qr-detection-controller.js +2 -0
  29. package/dist/ar/qr-frontend.d.ts +2 -0
  30. package/dist/ar/qr-frontend.js +60 -0
  31. package/dist/ar/qr-pose.d.ts +2 -0
  32. package/dist/ar/qr-pose.js +267 -0
  33. package/dist/ar/qr-size-depth-context.d.ts +3 -0
  34. package/dist/ar/qr-size-depth-context.js +42 -0
  35. package/dist/ar/qr-size-measurer.d.ts +2 -0
  36. package/dist/ar/qr-size-measurer.js +2 -0
  37. package/dist/ar/replay-scene.d.ts +1 -1
  38. package/dist/ar/replay-scene.js +1 -1
  39. package/dist/ar/scene-node-names.d.ts +1 -1
  40. package/dist/ar/webxr-nue-basis.d.ts +1 -1
  41. package/dist/ar/webxr-session.d.ts +4 -4
  42. package/dist/ar/webxr-session.js +2 -2
  43. package/dist/ar/xr-camera-texture.d.ts +1 -1
  44. package/dist/ar/xr-error-handler.d.ts +1 -1
  45. package/dist/ar/xr-frame-loop.d.ts +1 -1
  46. package/dist/ar-Dc72Ksiu.js +382 -0
  47. package/dist/{ar-world-group-alignment-C9lwwIyI.d.ts → ar-world-group-alignment-DDLkgNf_.d.ts} +1 -1
  48. package/dist/{camera-blit-capture-CnxUDbKx.d.ts → camera-blit-capture-CqWe1G7s.d.ts} +57 -4
  49. package/dist/concurrency-DqAlKX4j.d.ts +50 -0
  50. package/dist/core/index.d.ts +1 -1
  51. package/dist/{create-slam-app-store-BljusOua.d.ts → create-slam-app-store-Ce2FMKCp.d.ts} +5 -5
  52. package/dist/depth-grid-lookup-vMDrGTk_.d.ts +21 -0
  53. package/dist/{depth-sampler-Bhanfwla.d.ts → depth-sampler-DwfPYzS7.d.ts} +1 -1
  54. package/dist/{depth-unprojection-Y6i_mJuT.d.ts → depth-unprojection-CK3b9htH.d.ts} +1 -1
  55. package/dist/{enable-gps-ar-BfUJOgpW.d.ts → enable-gps-ar-CjZ1nEdu.d.ts} +4 -4
  56. package/dist/{frame-conversions-BfsafGWR.d.ts → frame-conversions-D_Af8Dt3.d.ts} +1 -1
  57. package/dist/{fused-path-DJoVu98b.d.ts → fused-path-C0FHe67t.d.ts} +1 -1
  58. package/dist/geo/h3-proximity.d.ts +2 -2
  59. package/dist/geo/h3-proximity.js +61 -2
  60. package/dist/geo/index.d.ts +2 -2
  61. package/dist/geo/index.js +2 -2
  62. package/dist/{gps-anchor-dYeCvvp5.d.ts → gps-anchor-C6I9NDHA.d.ts} +1 -1
  63. package/dist/{gps-ar-pose-sampler-DVb96iOy.d.ts → gps-ar-pose-sampler-DaHg2aPZ.d.ts} +1 -1
  64. package/dist/{gps-event-coordinator-CWIDOk4U.d.ts → gps-event-coordinator-C7hwHyLA.d.ts} +3 -3
  65. package/dist/{gps-event-markers-Dc9FT-q1.d.ts → gps-event-markers-Dd0G2bD0.d.ts} +18 -0
  66. package/dist/{h3-proximity-I1msGPgE.d.ts → h3-proximity-B57C6rYL.d.ts} +39 -1
  67. package/dist/{image-capture-qAZ5Fh5X.d.ts → image-capture-C2Feywet.d.ts} +1 -1
  68. package/dist/index-BvLo2poy.d.ts +399 -0
  69. package/dist/{index-BYYUdf9v.d.ts → index-m_LneUSi.d.ts} +1 -1
  70. package/dist/index.d.ts +77 -67
  71. package/dist/index.js +18 -9
  72. package/dist/{leaflet-map-overlay-6CJC-E1l.d.ts → leaflet-map-overlay-bnb2U1NQ.d.ts} +1 -1
  73. package/dist/{map-data-CkloBxIl.d.ts → map-data-DdjPiSav.d.ts} +1 -1
  74. package/dist/{map-overlay-draw-krOKwDAq.d.ts → map-overlay-draw-CPVdAsFq.d.ts} +1 -1
  75. package/dist/{null-storage-backend-uKQE8tl7.d.ts → null-storage-backend-CuSdYFsM.d.ts} +2 -2
  76. package/dist/{occupancy-grid-BRNRaPyT.d.ts → occupancy-grid-Bvi2Gw1U.d.ts} +12 -2
  77. package/dist/{opfs-storage-D5zAn_lx.d.ts → opfs-storage-DMtlt57S.d.ts} +23 -4
  78. package/dist/{opfs-storage-backend-6aYMUZlJ.d.ts → opfs-storage-backend-CeQAb0SD.d.ts} +3 -3
  79. package/dist/{persistence-middleware-B9ei4Nhx.d.ts → persistence-middleware-5eearhSV.d.ts} +1 -1
  80. package/dist/planar-pnp-cjthe7Be.d.ts +67 -0
  81. package/dist/qr-debug-view-B8gTzjMm.d.ts +29 -0
  82. package/dist/qr-derived-pose-DinKE600.d.ts +122 -0
  83. package/dist/qr-detected-slice-Cpv-dg82.d.ts +166 -0
  84. package/dist/qr-detection-controller-B-tLVd-S.js +119 -0
  85. package/dist/qr-detection-controller-Cd2Ih4cC.d.ts +48 -0
  86. package/dist/qr-frontend-DufZp2xS.d.ts +58 -0
  87. package/dist/qr-pose-Bt2reSw7.d.ts +138 -0
  88. package/dist/qr-pose-aggregation-CFlmLm6w.d.ts +90 -0
  89. package/dist/qr-pose-aggregation-DXR9STHs.js +200 -0
  90. package/dist/qr-size-depth-context-onu36E9s.d.ts +13 -0
  91. package/dist/qr-size-measurer-D7739ZpB.d.ts +165 -0
  92. package/dist/qr-size-measurer-DLb33geH.js +596 -0
  93. package/dist/recording-options-D93kksJU.d.ts +369 -0
  94. package/dist/{recording-replayer-r0DZ9ALp.d.ts → recording-replayer-CUEK82tM.d.ts} +2 -2
  95. package/dist/recording-slice-B-uCgGoh.d.ts +55 -0
  96. package/dist/{replay-engine-XpDa0dy1.d.ts → replay-engine-BSVd7Zzb.d.ts} +7 -4
  97. package/dist/{replay-scene-Bw58VL6p.d.ts → replay-scene-CPt56pps.d.ts} +3 -3
  98. package/dist/sensors/gps-error-handler.d.ts +1 -1
  99. package/dist/sensors/gps.d.ts +1 -1
  100. package/dist/sensors/index.d.ts +3 -3
  101. package/dist/sensors/permission-checker.d.ts +1 -1
  102. package/dist/sensors/permission-checker.js +1 -1
  103. package/dist/state/app-selectors.d.ts +1 -1
  104. package/dist/state/combined-root-state.d.ts +1 -1
  105. package/dist/state/create-slam-app-store.d.ts +1 -1
  106. package/dist/state/gps-ar-pose-sampler.d.ts +3 -3
  107. package/dist/state/gps-event-coordinator.d.ts +1 -1
  108. package/dist/state/index.d.ts +20 -17
  109. package/dist/state/index.js +3 -2
  110. package/dist/state/persistence-middleware.d.ts +1 -1
  111. package/dist/state/qr-detected-slice.d.ts +4 -0
  112. package/dist/state/qr-detected-slice.js +311 -0
  113. package/dist/state/recording-options.d.ts +2 -2
  114. package/dist/state/recording-options.js +128 -4
  115. package/dist/state/recording-replayer.d.ts +2 -2
  116. package/dist/state/recording-slice.d.ts +1 -1
  117. package/dist/state/recording-slice.js +5 -1
  118. package/dist/state/replay-engine.d.ts +1 -1
  119. package/dist/state/replay-engine.js +7 -3
  120. package/dist/state/store-subscribers.d.ts +2 -2
  121. package/dist/state/subscribe-to-selector.d.ts +1 -1
  122. package/dist/state/tracking-quality.d.ts +1 -1
  123. package/dist/state/tracking-slice.d.ts +1 -1
  124. package/dist/{state-BkIfpiyA.js → state-IEw0ZsBu.js} +1 -0
  125. package/dist/storage/file-system-utils.d.ts +1 -1
  126. package/dist/storage/index.d.ts +9 -9
  127. package/dist/storage/index.js +4 -4
  128. package/dist/storage/null-storage-backend.d.ts +1 -1
  129. package/dist/storage/opfs-storage-backend.d.ts +1 -1
  130. package/dist/storage/opfs-storage-backend.js +3 -3
  131. package/dist/storage/opfs-storage.d.ts +1 -1
  132. package/dist/storage/opfs-storage.js +5 -4
  133. package/dist/storage/storage-backend.d.ts +1 -1
  134. package/dist/storage/zip-coverage-embed.d.ts +2 -0
  135. package/dist/storage/zip-coverage-embed.js +88 -0
  136. package/dist/storage/zip-export.d.ts +2 -2
  137. package/dist/storage/zip-export.js +37 -59
  138. package/dist/storage/zip-reader.d.ts +1 -1
  139. package/dist/{storage-backend-Do6YDpNo.d.ts → storage-backend-CTJHNdMp.d.ts} +1 -1
  140. package/dist/{store-subscribers-0YWyOLvV.d.ts → store-subscribers-BZP81hjh.d.ts} +2 -2
  141. package/dist/{subscribe-to-selector-CZ6k1NFP.d.ts → subscribe-to-selector-Bp3sLx8L.d.ts} +1 -1
  142. package/dist/test-utils/browser-mocks.d.ts +7 -1
  143. package/dist/test-utils/browser-mocks.js +6 -0
  144. package/dist/test-utils/zip-round-trip-helpers.d.ts +9 -1
  145. package/dist/test-utils/zip-round-trip-helpers.js +5 -1
  146. package/dist/{tracking-slice-CdK8c-8P.d.ts → tracking-slice-DJZ9qeGg.d.ts} +1 -1
  147. package/dist/types/ar-types.d.ts +1 -1
  148. package/dist/types/geo-types.d.ts +1 -1
  149. package/dist/types/index.d.ts +2 -2
  150. package/dist/utils/concurrency.d.ts +2 -2
  151. package/dist/utils/concurrency.js +66 -2
  152. package/dist/utils/failure-tracker.d.ts +1 -1
  153. package/dist/utils/format-file-size.d.ts +1 -1
  154. package/dist/utils/fused-path.d.ts +1 -1
  155. package/dist/utils/index.d.ts +6 -6
  156. package/dist/utils/list-formatter.d.ts +1 -1
  157. package/dist/utils/logger.d.ts +1 -1
  158. package/dist/visualization/accuracy-circles.d.ts +1 -1
  159. package/dist/visualization/alignment-lerper.d.ts +1 -1
  160. package/dist/visualization/ar-world-group-alignment.d.ts +1 -1
  161. package/dist/visualization/ar-world-group-alignment.js +1 -1
  162. package/dist/visualization/camera-follower.d.ts +1 -1
  163. package/dist/visualization/css3d-renderer-manager.d.ts +1 -1
  164. package/dist/visualization/frame-conversions.d.ts +1 -1
  165. package/dist/visualization/frustum-visibility.d.ts +1 -1
  166. package/dist/visualization/gps-anchor.d.ts +1 -1
  167. package/dist/visualization/gps-compass-cubes.d.ts +1 -1
  168. package/dist/visualization/gps-event-markers.d.ts +1 -1
  169. package/dist/visualization/gps-event-markers.js +40 -5
  170. package/dist/visualization/hit-test-reticle.d.ts +1 -1
  171. package/dist/visualization/hit-test-reticle.js +1 -0
  172. package/dist/visualization/index.d.ts +18 -18
  173. package/dist/visualization/leaflet-map-overlay.d.ts +1 -1
  174. package/dist/visualization/leaflet-map-overlay.js +15 -3
  175. package/dist/visualization/lerp-utils.d.ts +1 -1
  176. package/dist/visualization/map-data.d.ts +1 -1
  177. package/dist/visualization/map-overlay-draw.d.ts +1 -1
  178. package/dist/visualization/map-overlay.d.ts +1 -1
  179. package/dist/visualization/three-dispose.d.ts +1 -1
  180. package/dist/visualization/vis-colors.d.ts +1 -1
  181. package/dist/{webxr-session-TIaD883f.js → webxr-session-CJF9Nijp.js} +221 -9
  182. package/dist/{webxr-session-GjZ2BIpS.d.ts → webxr-session-COsOjJwn.d.ts} +76 -8
  183. package/dist/zip-coverage-embed-tFohI2J4.d.ts +41 -0
  184. package/dist/{zip-export-G14hkSPG.d.ts → zip-export-DDWXInTR.d.ts} +27 -23
  185. package/package.json +2 -2
  186. package/dist/concurrency-CO1FQvs3.d.ts +0 -24
  187. package/dist/file-system-CwXTNHmB.d.ts +0 -114
  188. package/dist/recording-options-DJBXuMxV.d.ts +0 -182
  189. package/dist/recording-slice-89O07ebs.d.ts +0 -36
  190. package/dist/storage/file-system.d.ts +0 -2
  191. package/dist/storage/file-system.js +0 -289
  192. /package/dist/{accuracy-circles-BpwWAs8G.d.ts → accuracy-circles-Pi2YeCrM.d.ts} +0 -0
  193. /package/dist/{alignment-lerper-Dm9G7JJO.d.ts → alignment-lerper-BUTsQ2yu.d.ts} +0 -0
  194. /package/dist/{ar-types-Dan1MVTi.d.ts → ar-types-BckI1E-O.d.ts} +0 -0
  195. /package/dist/{bresenham3d-CFfd7n6B.d.ts → bresenham3d-ByjcmEgM.d.ts} +0 -0
  196. /package/dist/{camera-follower-C2mwEn7c.d.ts → camera-follower-BTb2Yp12.d.ts} +0 -0
  197. /package/dist/{capability-checker-CQXJHxXg.d.ts → capability-checker-CXqoJYtb.d.ts} +0 -0
  198. /package/dist/{capture-failure-tracker-CUeU3L_M.d.ts → capture-failure-tracker-BL5SoG2a.d.ts} +0 -0
  199. /package/dist/{chromium-camera-access-workaround-Jqbn0apH.d.ts → chromium-camera-access-workaround-BNK189P0.d.ts} +0 -0
  200. /package/dist/{css3d-renderer-manager-ptu_t3B3.d.ts → css3d-renderer-manager-m-ab19vp.d.ts} +0 -0
  201. /package/dist/{failure-tracker-Cn8Fo9D4.d.ts → failure-tracker-Cnc_xWUw.d.ts} +0 -0
  202. /package/dist/{file-system-utils-CXIoL-DM.d.ts → file-system-utils-Bs7lpeVP.d.ts} +0 -0
  203. /package/dist/{format-file-size-CLCZz3lC.d.ts → format-file-size-BFUWvir1.d.ts} +0 -0
  204. /package/dist/{frame-loop-CMewS8cY.d.ts → frame-loop-BEO9_q3k.d.ts} +0 -0
  205. /package/dist/{frustum-visibility-CmI96ESS.d.ts → frustum-visibility-D_RGmH98.d.ts} +0 -0
  206. /package/dist/{geo-types-SaPnIEUM.d.ts → geo-types-DqiBzPO9.d.ts} +0 -0
  207. /package/dist/{gps-VuezJWK3.d.ts → gps-C5inWeNV.d.ts} +0 -0
  208. /package/dist/{gps-compass-cubes-BM1uGiYV.d.ts → gps-compass-cubes-BExxrWJ-.d.ts} +0 -0
  209. /package/dist/{gps-error-handler-CJl_2MVm.d.ts → gps-error-handler-C2bS69oJ.d.ts} +0 -0
  210. /package/dist/{hit-test-reticle-BEzEybxZ.d.ts → hit-test-reticle-Dqak9hiR.d.ts} +0 -0
  211. /package/dist/{index-CF05QV2m.d.ts → index-eaI1Z1KR.d.ts} +0 -0
  212. /package/dist/{lerp-utils-BpV-0Dtk.d.ts → lerp-utils-kLxMJ2Xj.d.ts} +0 -0
  213. /package/dist/{list-formatter-RRcBe8Vg.d.ts → list-formatter-ct8txwvR.d.ts} +0 -0
  214. /package/dist/{logger-BEHXsnnq.d.ts → logger-CzQrCe6C.d.ts} +0 -0
  215. /package/dist/{map-overlay-bcogY5fK.d.ts → map-overlay-Dci4yvm3.d.ts} +0 -0
  216. /package/dist/{permission-checker-GpAiSCwd.d.ts → permission-checker-CtPtPQRq.d.ts} +0 -0
  217. /package/dist/{scene-node-names-Bu0S66H1.d.ts → scene-node-names-CdNeQjOE.d.ts} +0 -0
  218. /package/dist/{session-disposers-M-oashRH.js → session-disposers-D8wnO-uW.js} +0 -0
  219. /package/dist/{three-dispose-D950t71B.d.ts → three-dispose-BCZkSJp2.d.ts} +0 -0
  220. /package/dist/{vis-colors-D6omC64K.d.ts → vis-colors-BZsSLI4i.d.ts} +0 -0
  221. /package/dist/{webxr-nue-basis-CqKQmZzT.d.ts → webxr-nue-basis-CW1wsbm6.d.ts} +0 -0
  222. /package/dist/{xr-camera-texture-DBwCaKTd.d.ts → xr-camera-texture-BmrP7iNZ.d.ts} +0 -0
  223. /package/dist/{xr-error-handler-C0AQRmxs.d.ts → xr-error-handler-BEjRgZjt.d.ts} +0 -0
  224. /package/dist/{xr-frame-loop-BtYytZJg.d.ts → xr-frame-loop-K8ebdjLw.d.ts} +0 -0
  225. /package/dist/{zip-reader-DSEXt7K6.d.ts → zip-reader-Q2ue6zlC.d.ts} +0 -0
package/dist/index.d.ts CHANGED
@@ -1,68 +1,78 @@
1
- import { r as bresenham3d, t as GridCell } from "./bresenham3d-CFfd7n6B.js";
2
- import { i as computeCaptureSize, n as CameraBlitCaptureConfig, r as DEFAULT_BLIT_CONFIG, t as CameraBlitCapture } from "./camera-blit-capture-CnxUDbKx.js";
3
- import { i as isFullySupported, n as CapabilitySupport, r as capabilityMessage, t as CapabilityMessageOptions } from "./capability-checker-CQXJHxXg.js";
4
- import { a as createCaptureFailureTracker, i as DEFAULT_CAPTURE_TRACKER_CONFIG, n as CaptureFailureTracker, r as CaptureFailureTrackerConfig, t as CAPTURE_FAILURE_WARNING } from "./capture-failure-tracker-CUeU3L_M.js";
5
- import { a as applyChromiumProjectionLayerWorkaround, i as ChromiumProjectionLayerWorkaroundResult, n as BASELAYER_WINDOW_MIN, o as needsBaseLayerPersistence, r as ChromeVersion, s as parseChromeVersion, t as BASELAYER_WINDOW_MAX } from "./chromium-camera-access-workaround-Jqbn0apH.js";
6
- import { a as RgbTuple, i as DepthSample, n as ArPoseTuples, o as WebXRQuaternion, r as DepthPoint, s as WebXRVec3, t as ARPose } from "./ar-types-Dan1MVTi.js";
7
- import { a as wrapXRDepthInfo, i as DepthSamplerConfig, n as DepthSampler, r as DepthSamplerCallbacks, t as DepthInfo } from "./depth-sampler-Bhanfwla.js";
8
- import { n as createDepthUnprojector, r as unprojectDepthPoint, t as DepthUnprojector } from "./depth-unprojection-Y6i_mJuT.js";
9
- import { _ as validateRecordingOptions, a as IMAGE_CONSTRAINTS, c as RecordingOptionsInput, d as loadRecordingOptions, f as resetRecordingOptions, g as validateImageOptions, h as validateDepthOptions, i as DepthCaptureOptions, l as STORAGE_KEY, n as DEFAULT_RECORDING_OPTIONS, o as ImageCaptureOptions, p as saveRecordingOptions, r as DEPTH_CONSTRAINTS, u as cloneRecordingOptions } from "./recording-options-DJBXuMxV.js";
10
- import { a as startOrientationWatch, i as startGpsWatch, n as RawDeviceOrientation, o as stopGpsWatch, r as requestOrientationPermission, s as stopOrientationWatch, t as GpsPosition } from "./gps-VuezJWK3.js";
11
- import { a as checkCameraPermission, c as checkOrientationPermission, d as requestCameraPermission, f as requestGeolocationPermission, g as setFileSystemState, h as resetFileSystemState, i as checkAllPermissions, l as checkWebXRSupport, m as requestWebXRWithDepthPermission, n as PermissionStatus, o as checkFileSystemPermission, p as requestOrientationPermission$1, s as checkGeolocationPermission, t as PermissionCheckResult, u as requestAllPermissions } from "./permission-checker-GpAiSCwd.js";
12
- import { a as ImageCaptureConfig, i as ImageCaptureCallbacks, n as CapturedImage, o as ImageCaptureManager, r as DEFAULT_CAPTURE_CONFIG, s as MIN_VALID_IMAGE_BYTES } from "./image-capture-qAZ5Fh5X.js";
13
- import { a as TrackingSliceState, c as poseLost, d as selectLastRestartedPayload, f as selectLastSensorOrientation, g as trackingReducer, h as selectTrackingPhase, i as TrackingPhase, l as poseReceived, m as selectLostFrameCount, n as PoseReceivedPayload, o as clearLastRestartedPayload, p as selectLastValidPose, s as originReset, u as resetTracking } from "./tracking-slice-CdK8c-8P.js";
14
- import { n as createCss3dRendererManager, t as Css3dRendererManager } from "./css3d-renderer-manager-ptu_t3B3.js";
15
- import { i as acquireCameraTexture, n as RendererLike, r as XRCameraLike, t as CameraTextureResult } from "./xr-camera-texture-DBwCaKTd.js";
16
- import { D as setDepthCaptureCallback, I as startDepthCapture, L as startImageCapture, M as setTrackingLostCallback, O as setFrameCallback, P as setTrackingStore, R as stopDepthCapture, d as getCamera, f as getCurrentArPose, g as getScene, h as getLiveCss3dManager, j as setTrackingCallbacks, k as setImageCaptureCallback, m as getImageCaptureFrameCount, o as endARSession, p as getDepthSampleCount, t as SessionFeatureOptions, u as getArWorldGroup, v as initAR, z as stopImageCapture } from "./webxr-session-GjZ2BIpS.js";
17
- import { a as EnableGpsArState, i as EnableGpsArResult, n as EnableGpsArController, o as EnableGpsArStatus, r as EnableGpsArDeps, s as createEnableGpsArController, t as EnableGpsArConfig } from "./enable-gps-ar-BfUJOgpW.js";
18
- import { r as registerFrameUpdate, t as FrameUpdate } from "./frame-loop-CMewS8cY.js";
19
- import { n as OccupancyGridOptions, t as OccupancyGrid } from "./occupancy-grid-BRNRaPyT.js";
20
- import { i as registerXrFrameUpdate, n as XrFrameUpdate, t as XrFrameContext } from "./xr-frame-loop-BtYytZJg.js";
21
- import { n as createCameraFollower, t as CameraFollower } from "./camera-follower-C2mwEn7c.js";
22
- import { n as createAlignmentLerper, t as AlignmentLerper } from "./alignment-lerper-Dm9G7JJO.js";
23
- import { a as getCameraFollower, c as getReplayState, d as updateOrbitTarget, i as getAlignmentLerper, l as initReplayScene, n as ReplaySceneState, o as getCameraMode, r as disposeReplayScene, t as CameraMode, u as toggleCameraMode } from "./replay-scene-Bw58VL6p.js";
24
- import { t as SCENE_NODE } from "./scene-node-names-Bu0S66H1.js";
25
- import { t as WEBXR_TO_NUE } from "./webxr-nue-basis-CqKQmZzT.js";
26
- import { n as XR_ERROR_MESSAGE_UNKNOWN, r as getXrErrorMessage, t as XR_ERROR_MESSAGES } from "./xr-error-handler-C0AQRmxs.js";
27
- import { a as gpsToH3, i as findNearbyGeoAnchor, n as KnownGeoAnchor, o as h3CellsMatch, r as approxDistanceMetres, s as isH3Index, t as H3_RESOLUTION } from "./h3-proximity-I1msGPgE.js";
28
- import { a as getGpsErrorMessage, i as createGpsErrorHandler, n as GPS_ERROR_MESSAGES, r as GPS_ERROR_MESSAGE_UNKNOWN, t as GPS_ERROR_CODES } from "./gps-error-handler-CJl_2MVm.js";
29
- import { a as createLogger, c as setGlobalLogLevel, i as clearLogBuffer, l as subscribeToLogs, n as LogLevel, o as getGlobalLogLevel, r as Logger, s as getLogBuffer, t as LogEntry } from "./logger-BEHXsnnq.js";
30
- import { n as RawGpsSample, r as RefPointMarker, t as GpsCoord } from "./geo-types-SaPnIEUM.js";
31
- import { n as computeFusedPath, r as fusedGpsFromOdom, t as FusedPathInput } from "./fused-path-DJoVu98b.js";
32
- import { n as FailureTrackerConfig, r as createFailureTracker, t as FailureTracker } from "./failure-tracker-Cn8Fo9D4.js";
33
- import { t as mapWithConcurrencyLimit } from "./concurrency-CO1FQvs3.js";
34
- import { t as formatFileSize } from "./format-file-size-CLCZz3lC.js";
35
- import { t as listFormatter } from "./list-formatter-RRcBe8Vg.js";
36
- import { a as recordWriteFailure, i as recordDepthSample, o as recordingReducer, r as endSession, s as startSession, t as RecordingState } from "./recording-slice-89O07ebs.js";
37
- import { a as getAppRootHandle, c as initOpfsStorage, d as resetSessionHandles, i as createSession, l as listSessions, o as getSessionHandle, r as checkStorageQuota, s as getSessionsRootHandle, u as resetOpfsStorage } from "./opfs-storage-D5zAn_lx.js";
38
- import { n as StorageBackend, t as CreateSessionResult } from "./storage-backend-Do6YDpNo.js";
39
- import { A as resetTrackingQuality, C as computeResidualConsensus, D as firstAgreementReached, F as snapshotsTrimmed, I as trackingQualityReducer, M as selectRecentAlignments, N as selectTrackingQuality, O as matrixDelta, P as snapshotPushed, S as computeGpsVsFusedDivergence, T as createTrackingQualityListenerMiddleware, _ as TrackingQualityState, a as SlamAppStoreOptions, b as computeCoverage, d as DEFAULT_TRACKING_QUALITY_OPTIONS, g as TrackingQualitySliceState, h as TrackingQualityReport, i as SlamAppStore, j as selectFirstAgreementObservationIndex, k as reportUpdated, m as TrackingQualityOptions, n as SlamAppMiddleware, o as createSlamAppStore, r as SlamAppRootState, s as AlignmentSnapshot, t as SlamAppCombinedState, v as computeCompassAgreement, w as computeTrackingQualityReport, x as computeGpsAccuracy, y as computeConvergence } from "./create-slam-app-store-BljusOua.js";
40
- import { a as eulerToQuaternion, c as getLastDeviceOrientation, i as createGpsPositionHandler, l as resetCoordinatorState, n as buildRawGpsPoint, o as extractOdomPosition, r as buildRecordGpsEventPayload, s as extractOdomRotation, t as RecordingCoordinatorConfig, u as updateDeviceOrientation } from "./gps-event-coordinator-CWIDOk4U.js";
41
- import { a as ZipActionEntry, d as loadSessionMetadataFromBlob, f as readZipEntries, i as RecordedAction, l as loadGpsPathFromBlob, n as GpsPathCoord, r as MAX_ACTION_FILE_SIZE, s as loadActionsFromZip } from "./zip-reader-DSEXt7K6.js";
42
- import { n as replayRecording } from "./recording-replayer-r0DZ9ALp.js";
43
- import { a as ReplayAction, c as computeInterActionDelay, i as ProgressCallback, l as extractActionTimestamp, n as DEFAULT_MAX_DELAY_MS, o as ReplayEngine, r as ErrorCallback, s as ReplayState, t as CompleteCallback } from "./replay-engine-XpDa0dy1.js";
44
- import { n as MapDataInput, r as buildMapData, t as MapData } from "./map-data-CkloBxIl.js";
45
- import { t as SubscribableStore } from "./subscribe-to-selector-CZ6k1NFP.js";
46
- import { n as wireStoreSubscribers, t as StoreSubscriberDeps } from "./store-subscribers-0YWyOLvV.js";
47
- import { c as calcRelativeCoordsInMeters, d as OnboardingGuidance, f as OnboardingPhase, l as recordGpsEvent, m as selectOnboardingGuidance, p as computeOnboardingGuidance, s as add2dImage, u as setZeroPos } from "./index-BYYUdf9v.js";
48
- import { t as NullStorageBackend } from "./null-storage-backend-uKQE8tl7.js";
49
- import { t as OpfsStorageBackend } from "./opfs-storage-backend-6aYMUZlJ.js";
50
- import { c as resetForNewSession, d as startSession$1, f as verifyWriteAccess, l as resetStorageState, m as writeFrame, n as WriteAccessResult, o as initStorage, p as writeAction } from "./file-system-CwXTNHmB.js";
51
- import { a as formatTimestamp, i as formatFrameFilename, r as formatActionFilename } from "./file-system-utils-CXIoL-DM.js";
52
- import { a as downloadZip, c as syncToExternalZip, i as ZipExportResult, n as ZipContributorAddFile, o as exportAndDownloadSession, r as ZipExportContributor, s as exportSessionAsZip, t as ExportSessionAsZipOptions } from "./zip-export-G14hkSPG.js";
53
- import { n as ArWorldGroupAlignmentOptions, r as enableArWorldGroupAlignment, t as ArWorldGroupAlignmentHandle } from "./ar-world-group-alignment-C9lwwIyI.js";
54
- import { i as createGpsCompassCubes, n as COMPASS_CUBE_SIZE, r as GpsCompassCubes, t as COMPASS_CUBE_DISTANCE } from "./gps-compass-cubes-BM1uGiYV.js";
55
- import { i as isSphereInCameraFrustum, n as isObjectInCameraFrustum, r as isPointInCameraFrustum, t as buildCameraFrustum } from "./frustum-visibility-CmI96ESS.js";
56
- import { n as worldNueToGps, t as nueToArLocal } from "./frame-conversions-BfsafGWR.js";
57
- import { n as createReticleMesh, r as updateReticle, t as HitMatrix } from "./hit-test-reticle-BEzEybxZ.js";
58
- import { a as GpsAnchorSamplePoint, i as GpsAnchorPhase, n as GpsAnchorMode, o as createGpsAnchor, r as GpsAnchorOptions, t as GpsAnchor } from "./gps-anchor-dYeCvvp5.js";
59
- import { n as GpsEventVisualizer, r as gpsEventVisualizer } from "./gps-event-markers-Dc9FT-q1.js";
60
- import { a as DEFAULT_Z_OFFSET, n as DEFAULT_LEAFLET_MAP_SIZE_PX, o as LeafletMapOverlay, r as DEFAULT_WORLD_SIZE, s as LeafletMapOverlayOptions } from "./leaflet-map-overlay-6CJC-E1l.js";
61
- import { n as clampedAlpha, t as DEFAULT_LERP_RATE } from "./lerp-utils-BpV-0Dtk.js";
62
- import { a as addAccuracyCircles, i as AccuracyCircleSample, n as ACCURACY_CIRCLE_STROKE_OPACITY, r as ACCURACY_CIRCLE_WEIGHT, t as ACCURACY_CIRCLE_FILL_OPACITY } from "./accuracy-circles-BpwWAs8G.js";
63
- import { a as MAP_PATH_POLYLINE_OPACITY, c as USER_POSITION_COLOR, i as FUSED_PATH_COLOR, l as drawMapData, n as DrawMapDataOptions, o as MAP_PATH_POLYLINE_WEIGHT, r as DrawnMapData, s as RAW_GPS_COLOR, t as ALIGNMENT_SNAPSHOT_COLOR } from "./map-overlay-draw-krOKwDAq.js";
64
- import { a as MapOverlayOptions, c as tileXYToLatLon, i as MapOverlay, n as DEFAULT_MAP_SIZE, o as TextureLoaderInterface, r as DEFAULT_ZOOM, s as latLonToTileXY, t as DEFAULT_HEIGHT_OFFSET } from "./map-overlay-bcogY5fK.js";
65
- import { n as disposeMeshArray, r as disposeObject3D, t as DisposeOptions } from "./three-dispose-D950t71B.js";
66
- import { t as VIS_COLORS } from "./vis-colors-D6omC64K.js";
1
+ import { r as bresenham3d, t as GridCell } from "./bresenham3d-ByjcmEgM.js";
2
+ import { a as computeCaptureSize, i as computeAspectFitSize, n as CameraBlitCaptureConfig, r as DEFAULT_BLIT_CONFIG, t as CameraBlitCapture } from "./camera-blit-capture-CqWe1G7s.js";
3
+ import { i as isFullySupported, n as CapabilitySupport, r as capabilityMessage, t as CapabilityMessageOptions } from "./capability-checker-CXqoJYtb.js";
4
+ import { a as createCaptureFailureTracker, i as DEFAULT_CAPTURE_TRACKER_CONFIG, n as CaptureFailureTracker, r as CaptureFailureTrackerConfig, t as CAPTURE_FAILURE_WARNING } from "./capture-failure-tracker-BL5SoG2a.js";
5
+ import { a as applyChromiumProjectionLayerWorkaround, i as ChromiumProjectionLayerWorkaroundResult, n as BASELAYER_WINDOW_MIN, o as needsBaseLayerPersistence, r as ChromeVersion, s as parseChromeVersion, t as BASELAYER_WINDOW_MAX } from "./chromium-camera-access-workaround-BNK189P0.js";
6
+ import { a as RgbTuple, i as DepthSample, n as ArPoseTuples, o as WebXRQuaternion, r as DepthPoint, s as WebXRVec3, t as ARPose } from "./ar-types-BckI1E-O.js";
7
+ import { n as createDepthGridLookup, t as DepthGridLookup } from "./depth-grid-lookup-vMDrGTk_.js";
8
+ import { a as wrapXRDepthInfo, i as DepthSamplerConfig, n as DepthSampler, r as DepthSamplerCallbacks, t as DepthInfo } from "./depth-sampler-DwfPYzS7.js";
9
+ import { n as createDepthUnprojector, r as unprojectDepthPoint, t as DepthUnprojector } from "./depth-unprojection-CK3b9htH.js";
10
+ import { D as validateRecordingOptions, S as validateDepthOptions, _ as cloneRecordingOptions, b as saveRecordingOptions, c as ImageCaptureOptions, h as STORAGE_KEY, i as DepthCaptureOptions, m as RecordingOptionsInput, n as DEFAULT_RECORDING_OPTIONS, r as DEPTH_CONSTRAINTS, s as IMAGE_CONSTRAINTS, v as loadRecordingOptions, w as validateImageOptions, y as resetRecordingOptions } from "./recording-options-D93kksJU.js";
11
+ import { a as startOrientationWatch, i as startGpsWatch, n as RawDeviceOrientation, o as stopGpsWatch, r as requestOrientationPermission, s as stopOrientationWatch, t as GpsPosition } from "./gps-C5inWeNV.js";
12
+ import { a as checkCameraPermission, c as checkOrientationPermission, d as requestCameraPermission, f as requestGeolocationPermission, g as setFileSystemState, h as resetFileSystemState, i as checkAllPermissions, l as checkWebXRSupport, m as requestWebXRWithDepthPermission, n as PermissionStatus, o as checkFileSystemPermission, p as requestOrientationPermission$1, s as checkGeolocationPermission, t as PermissionCheckResult, u as requestAllPermissions } from "./permission-checker-CtPtPQRq.js";
13
+ import { a as ImageCaptureConfig, i as ImageCaptureCallbacks, n as CapturedImage, o as ImageCaptureManager, r as DEFAULT_CAPTURE_CONFIG, s as MIN_VALID_IMAGE_BYTES } from "./image-capture-C2Feywet.js";
14
+ import { a as TrackingSliceState, c as poseLost, d as selectLastRestartedPayload, f as selectLastSensorOrientation, g as trackingReducer, h as selectTrackingPhase, i as TrackingPhase, l as poseReceived, m as selectLostFrameCount, n as PoseReceivedPayload, o as clearLastRestartedPayload, p as selectLastValidPose, s as originReset, u as resetTracking } from "./tracking-slice-DJZ9qeGg.js";
15
+ import { _ as solveQrPose, a as QrPoseSolution, c as SolveQrPoseInput, d as intrinsicsFromProjection, f as invertPose, g as signedQuadArea, h as reprojectionErrorPx, i as Pose, l as buildObjectPoints, m as qrInCameraFromOpenCv, n as OpenCvPnpResult, o as QuadValidation, p as projectViewPoint, r as Point2, s as SolvePnpSquare, t as CameraIntrinsics, u as composePose, v as transformPoint, y as validateQuad } from "./qr-pose-Bt2reSw7.js";
16
+ import { a as QrFrontEnd, c as createBarcodeDetectorFrontEnd, i as QrDetection, n as BarcodeDetectorLike, o as RgbaImage, r as DetectedBarcodeLike, s as ToImageBitmapSource, t as BarcodeDetectorFrontEnd } from "./qr-frontend-DufZp2xS.js";
17
+ import { n as createCss3dRendererManager, t as Css3dRendererManager } from "./css3d-renderer-manager-m-ab19vp.js";
18
+ import { i as acquireCameraTexture, n as RendererLike, r as XRCameraLike, t as CameraTextureResult } from "./xr-camera-texture-BmrP7iNZ.js";
19
+ import { G as stopDepthCapture, H as startDepthCapture, I as setTrackingCallbacks, K as stopImageCapture, L as setTrackingLostCallback, M as setDepthCaptureCallback, N as setFrameCallback, P as setImageCaptureCallback, S as initAR, U as startImageCapture, V as startCameraFrameCapture, W as stopCameraFrameCapture, _ as getDepthSampleCount, b as getScene, c as endARSession, f as getArWorldGroup, g as getCurrentArPose, h as getCameraFrameCount, j as setCameraFrameCallback, p as getCamera, r as SessionFeatureOptions, t as CameraFrameCaptureConfig, v as getImageCaptureFrameCount, y as getLiveCss3dManager, z as setTrackingStore } from "./webxr-session-COsOjJwn.js";
20
+ import { a as EnableGpsArState, i as EnableGpsArResult, n as EnableGpsArController, o as EnableGpsArStatus, r as EnableGpsArDeps, s as createEnableGpsArController, t as EnableGpsArConfig } from "./enable-gps-ar-CjZ1nEdu.js";
21
+ import { r as registerFrameUpdate, t as FrameUpdate } from "./frame-loop-BEO9_q3k.js";
22
+ import { c as QrSizeAccumulatorOptions, d as QrSizeStatus, f as createQrSizeAccumulator, i as QrSizeMeasurer, l as QrSizeEstimate, n as QrSizeDepthContext, o as createQrSizeMeasurer, p as estimateQrSizeFromDepth, r as QrSizeMeasurement, s as QrSizeAccumulator, t as ImageSize, u as QrSizeObservation } from "./qr-size-measurer-D7739ZpB.js";
23
+ import { t as createQrSizeDepthContext } from "./qr-size-depth-context-onu36E9s.js";
24
+ import { a as createIncrementalQrPlacement, c as deriveSolvedQrPose, i as RawQrObservation, l as solveQrPoseFromObservation, n as DerivedQrPlacement, o as deriveQrPlacement, r as IncrementalQrPlacement, s as deriveQrSizeM, t as DeriveQrPoseDeps } from "./qr-derived-pose-DinKE600.js";
25
+ import { n as createQrDebugView, t as QrDebugView } from "./qr-debug-view-B8gTzjMm.js";
26
+ import { a as createQrDetectionController, i as RawObservationSink, n as QrDetectionControllerDeps, r as QrScanStatus, t as QrDetectionController } from "./qr-detection-controller-Cd2Ih4cC.js";
27
+ import { a as QrPoseStability, c as aggregateQrPose, i as DEFAULT_ROTATION_INLIER_ANGLE_DEG, l as averageRotation, n as AverageRotationOptions, o as QrPoseStabilityOptions, r as AverageRotationResult, s as QrPoseStabilityStatus, t as AggregateQrPoseResult, u as evaluateQrPoseStability } from "./qr-pose-aggregation-CFlmLm6w.js";
28
+ import { A as QrGpsVoteInput, C as QrLevel, D as Enu, E as parseQrLevel, M as localPlaneToEnu, N as offsetGeo, O as METERS_PER_DEG_LAT, S as FetchQrLevelOptions, T as fetchQrLevel, _ as QrTrackingController, a as checkQrPlausibility, b as createQrTrackingController, c as QrDetectionScheduler, d as createQrDetectionScheduler, f as CameraFrameSource, g as QrSolvePoseInput, h as QrDetectionEvent, i as QrPlausibilityVerdict, j as buildQrGpsVotes, k as QrGeoPose, l as QrDetectionSchedulerConfig, m as CameraFrameSourceConfig, n as QrPlausibility, o as DetectionScheduler, p as CameraFrameSourceCallbacks, r as QrPlausibilityOptions, s as DetectionSchedulerConfig, t as OccupancySurface, u as createDetectionScheduler, v as QrTrackingControllerConfig, w as QrLevelValidationError, x as FetchLike, y as QrTrackingStatus } from "./index-BvLo2poy.js";
29
+ import { a as homographyFromCorrespondences, c as rotationToRodrigues, i as PoseCandidate, l as solveLinear, n as Mat3, o as ippePoseCandidates, r as PlanarPnpSquare, s as nearestRotation3x3, t as Homography } from "./planar-pnp-cjthe7Be.js";
30
+ import { n as OccupancyGridOptions, t as OccupancyGrid } from "./occupancy-grid-Bvi2Gw1U.js";
31
+ import { i as registerXrFrameUpdate, n as XrFrameUpdate, t as XrFrameContext } from "./xr-frame-loop-K8ebdjLw.js";
32
+ import { n as createCameraFollower, t as CameraFollower } from "./camera-follower-BTb2Yp12.js";
33
+ import { n as createAlignmentLerper, t as AlignmentLerper } from "./alignment-lerper-BUTsQ2yu.js";
34
+ import { a as getCameraFollower, c as getReplayState, d as updateOrbitTarget, i as getAlignmentLerper, l as initReplayScene, n as ReplaySceneState, o as getCameraMode, r as disposeReplayScene, t as CameraMode, u as toggleCameraMode } from "./replay-scene-CPt56pps.js";
35
+ import { t as SCENE_NODE } from "./scene-node-names-CdNeQjOE.js";
36
+ import { t as WEBXR_TO_NUE } from "./webxr-nue-basis-CW1wsbm6.js";
37
+ import { n as XR_ERROR_MESSAGE_UNKNOWN, r as getXrErrorMessage, t as XR_ERROR_MESSAGES } from "./xr-error-handler-BEjRgZjt.js";
38
+ import { a as findNearbyGeoAnchor, c as h3CellsMatch, i as clusterCellsByZoom, l as isH3Index, n as KnownGeoAnchor, o as gpsPathToCoverageCells, r as approxDistanceMetres, s as gpsToH3, t as H3_RESOLUTION } from "./h3-proximity-B57C6rYL.js";
39
+ import { a as getGpsErrorMessage, i as createGpsErrorHandler, n as GPS_ERROR_MESSAGES, r as GPS_ERROR_MESSAGE_UNKNOWN, t as GPS_ERROR_CODES } from "./gps-error-handler-C2bS69oJ.js";
40
+ import { a as createLogger, c as setGlobalLogLevel, i as clearLogBuffer, l as subscribeToLogs, n as LogLevel, o as getGlobalLogLevel, r as Logger, s as getLogBuffer, t as LogEntry } from "./logger-CzQrCe6C.js";
41
+ import { n as RawGpsSample, r as RefPointMarker, t as GpsCoord } from "./geo-types-DqiBzPO9.js";
42
+ import { n as computeFusedPath, r as fusedGpsFromOdom, t as FusedPathInput } from "./fused-path-C0FHe67t.js";
43
+ import { n as FailureTrackerConfig, r as createFailureTracker, t as FailureTracker } from "./failure-tracker-Cnc_xWUw.js";
44
+ import { n as mapWithConcurrencyLimit } from "./concurrency-DqAlKX4j.js";
45
+ import { t as formatFileSize } from "./format-file-size-BFUWvir1.js";
46
+ import { t as listFormatter } from "./list-formatter-ct8txwvR.js";
47
+ import { a as recordWriteFailure, i as recordDepthSample, o as recordingReducer, r as endSession, s as startSession, t as RecordingState } from "./recording-slice-B-uCgGoh.js";
48
+ import { a as getAppRootHandle, c as initOpfsStorage, d as resetSessionHandles, i as createSession, l as listSessions, o as getSessionHandle, r as checkStorageQuota, s as getSessionsRootHandle, u as resetOpfsStorage } from "./opfs-storage-DMtlt57S.js";
49
+ import { n as StorageBackend, t as CreateSessionResult } from "./storage-backend-CTJHNdMp.js";
50
+ import { A as resetTrackingQuality, C as computeResidualConsensus, D as firstAgreementReached, F as snapshotsTrimmed, I as trackingQualityReducer, M as selectRecentAlignments, N as selectTrackingQuality, O as matrixDelta, P as snapshotPushed, S as computeGpsVsFusedDivergence, T as createTrackingQualityListenerMiddleware, _ as TrackingQualityState, a as SlamAppStoreOptions, b as computeCoverage, d as DEFAULT_TRACKING_QUALITY_OPTIONS, g as TrackingQualitySliceState, h as TrackingQualityReport, i as SlamAppStore, j as selectFirstAgreementObservationIndex, k as reportUpdated, m as TrackingQualityOptions, n as SlamAppMiddleware, o as createSlamAppStore, r as SlamAppRootState, s as AlignmentSnapshot, t as SlamAppCombinedState, v as computeCompassAgreement, w as computeTrackingQualityReport, x as computeGpsAccuracy, y as computeConvergence } from "./create-slam-app-store-Ce2FMKCp.js";
51
+ import { a as eulerToQuaternion, c as getLastDeviceOrientation, i as createGpsPositionHandler, l as resetCoordinatorState, n as buildRawGpsPoint, o as extractOdomPosition, r as buildRecordGpsEventPayload, s as extractOdomRotation, t as RecordingCoordinatorConfig, u as updateDeviceOrientation } from "./gps-event-coordinator-C7hwHyLA.js";
52
+ import { a as ZipActionEntry, d as loadSessionMetadataFromBlob, f as readZipEntries, i as RecordedAction, l as loadGpsPathFromBlob, n as GpsPathCoord, r as MAX_ACTION_FILE_SIZE, s as loadActionsFromZip } from "./zip-reader-Q2ue6zlC.js";
53
+ import { n as replayRecording } from "./recording-replayer-CUEK82tM.js";
54
+ import { a as ReplayAction, c as computeInterActionDelay, i as ProgressCallback, l as extractActionTimestamp, n as DEFAULT_MAX_DELAY_MS, o as ReplayEngine, r as ErrorCallback, s as ReplayState, t as CompleteCallback } from "./replay-engine-BSVd7Zzb.js";
55
+ import { n as MapDataInput, r as buildMapData, t as MapData } from "./map-data-DdjPiSav.js";
56
+ import { t as SubscribableStore } from "./subscribe-to-selector-Bp3sLx8L.js";
57
+ import { n as wireStoreSubscribers, t as StoreSubscriberDeps } from "./store-subscribers-BZP81hjh.js";
58
+ import { c as calcRelativeCoordsInMeters, d as OnboardingGuidance, f as OnboardingPhase, l as recordGpsEvent, m as selectOnboardingGuidance, p as computeOnboardingGuidance, s as add2dImage, u as setZeroPos } from "./index-m_LneUSi.js";
59
+ import { t as NullStorageBackend } from "./null-storage-backend-CuSdYFsM.js";
60
+ import { t as OpfsStorageBackend } from "./opfs-storage-backend-CeQAb0SD.js";
61
+ import { a as formatTimestamp, i as formatFrameFilename, r as formatActionFilename } from "./file-system-utils-Bs7lpeVP.js";
62
+ import { a as downloadZip, c as syncToExternalZip, i as ZipExportResult, n as ZipContributorAddFile, o as exportSessionAsZip, r as ZipExportContributor, s as exportSessionHandleAsZip, t as ExportSessionAsZipOptions } from "./zip-export-DDWXInTR.js";
63
+ import { n as ArWorldGroupAlignmentOptions, r as enableArWorldGroupAlignment, t as ArWorldGroupAlignmentHandle } from "./ar-world-group-alignment-DDLkgNf_.js";
64
+ import { i as createGpsCompassCubes, n as COMPASS_CUBE_SIZE, r as GpsCompassCubes, t as COMPASS_CUBE_DISTANCE } from "./gps-compass-cubes-BExxrWJ-.js";
65
+ import { i as isSphereInCameraFrustum, n as isObjectInCameraFrustum, r as isPointInCameraFrustum, t as buildCameraFrustum } from "./frustum-visibility-D_RGmH98.js";
66
+ import { n as worldNueToGps, t as nueToArLocal } from "./frame-conversions-D_Af8Dt3.js";
67
+ import { n as createReticleMesh, r as updateReticle, t as HitMatrix } from "./hit-test-reticle-Dqak9hiR.js";
68
+ import { a as GpsAnchorSamplePoint, i as GpsAnchorPhase, n as GpsAnchorMode, o as createGpsAnchor, r as GpsAnchorOptions, t as GpsAnchor } from "./gps-anchor-C6I9NDHA.js";
69
+ import { n as GpsEventVisualizer, r as gpsEventVisualizer } from "./gps-event-markers-Dd0G2bD0.js";
70
+ import { a as DEFAULT_Z_OFFSET, n as DEFAULT_LEAFLET_MAP_SIZE_PX, o as LeafletMapOverlay, r as DEFAULT_WORLD_SIZE, s as LeafletMapOverlayOptions } from "./leaflet-map-overlay-bnb2U1NQ.js";
71
+ import { n as clampedAlpha, t as DEFAULT_LERP_RATE } from "./lerp-utils-kLxMJ2Xj.js";
72
+ import { a as addAccuracyCircles, i as AccuracyCircleSample, n as ACCURACY_CIRCLE_STROKE_OPACITY, r as ACCURACY_CIRCLE_WEIGHT, t as ACCURACY_CIRCLE_FILL_OPACITY } from "./accuracy-circles-Pi2YeCrM.js";
73
+ import { a as MAP_PATH_POLYLINE_OPACITY, c as USER_POSITION_COLOR, i as FUSED_PATH_COLOR, l as drawMapData, n as DrawMapDataOptions, o as MAP_PATH_POLYLINE_WEIGHT, r as DrawnMapData, s as RAW_GPS_COLOR, t as ALIGNMENT_SNAPSHOT_COLOR } from "./map-overlay-draw-CPVdAsFq.js";
74
+ import { a as MapOverlayOptions, c as tileXYToLatLon, i as MapOverlay, n as DEFAULT_MAP_SIZE, o as TextureLoaderInterface, r as DEFAULT_ZOOM, s as latLonToTileXY, t as DEFAULT_HEIGHT_OFFSET } from "./map-overlay-Dci4yvm3.js";
75
+ import { n as disposeMeshArray, r as disposeObject3D, t as DisposeOptions } from "./three-dispose-BCZkSJp2.js";
76
+ import { t as VIS_COLORS } from "./vis-colors-BZsSLI4i.js";
67
77
  import { COMMUNITY_LICENSE_KEY } from "./licensing/index.js";
68
- export { ACCURACY_CIRCLE_FILL_OPACITY, ACCURACY_CIRCLE_STROKE_OPACITY, ACCURACY_CIRCLE_WEIGHT, ALIGNMENT_SNAPSHOT_COLOR, ARPose, AccuracyCircleSample, AlignmentLerper, type AlignmentSnapshot, ArPoseTuples, ArWorldGroupAlignmentHandle, ArWorldGroupAlignmentOptions, BASELAYER_WINDOW_MAX, BASELAYER_WINDOW_MIN, CAPTURE_FAILURE_WARNING, COMMUNITY_LICENSE_KEY, COMPASS_CUBE_DISTANCE, COMPASS_CUBE_SIZE, CameraBlitCapture, CameraBlitCaptureConfig, CameraFollower, CameraMode, CameraTextureResult, CapabilityMessageOptions, CapabilitySupport, CaptureFailureTracker, CaptureFailureTrackerConfig, CapturedImage, ChromeVersion, ChromiumProjectionLayerWorkaroundResult, type CompleteCallback, type CreateSessionResult, Css3dRendererManager, DEFAULT_BLIT_CONFIG, DEFAULT_CAPTURE_CONFIG, DEFAULT_CAPTURE_TRACKER_CONFIG, DEFAULT_HEIGHT_OFFSET, DEFAULT_LEAFLET_MAP_SIZE_PX, DEFAULT_LERP_RATE, DEFAULT_MAP_SIZE, DEFAULT_MAX_DELAY_MS, DEFAULT_RECORDING_OPTIONS, DEFAULT_TRACKING_QUALITY_OPTIONS, DEFAULT_WORLD_SIZE, DEFAULT_ZOOM, DEFAULT_Z_OFFSET, DEPTH_CONSTRAINTS, type DepthCaptureOptions, DepthInfo, DepthPoint, DepthSample, DepthSampler, DepthSamplerCallbacks, DepthSamplerConfig, DepthUnprojector, DisposeOptions, DrawMapDataOptions, DrawnMapData, EnableGpsArConfig, EnableGpsArController, EnableGpsArDeps, EnableGpsArResult, EnableGpsArState, EnableGpsArStatus, type ErrorCallback, type ExportSessionAsZipOptions, FUSED_PATH_COLOR, FailureTracker, FailureTrackerConfig, FrameUpdate, FusedPathInput, GPS_ERROR_CODES, GPS_ERROR_MESSAGES, GPS_ERROR_MESSAGE_UNKNOWN, GpsAnchor, GpsAnchorMode, GpsAnchorOptions, GpsAnchorPhase, GpsAnchorSamplePoint, GpsCompassCubes, GpsCoord, GpsEventVisualizer, type GpsPathCoord, GpsPosition, GridCell, H3_RESOLUTION, HitMatrix, IMAGE_CONSTRAINTS, ImageCaptureCallbacks, ImageCaptureConfig, ImageCaptureManager, type ImageCaptureOptions, KnownGeoAnchor, LeafletMapOverlay, LeafletMapOverlayOptions, LogEntry, LogLevel, Logger, MAP_PATH_POLYLINE_OPACITY, MAP_PATH_POLYLINE_WEIGHT, MAX_ACTION_FILE_SIZE, MIN_VALID_IMAGE_BYTES, MapData, MapDataInput, MapOverlay, MapOverlayOptions, NullStorageBackend, OccupancyGrid, OccupancyGridOptions, type OnboardingGuidance, type OnboardingPhase, OpfsStorageBackend, PermissionCheckResult, PermissionStatus, type PoseReceivedPayload, type ProgressCallback, RAW_GPS_COLOR, RawDeviceOrientation, RawGpsSample, type RecordedAction, type RecordingCoordinatorConfig, type RecordingOptionsInput, type RecordingState, RefPointMarker, RendererLike, type ReplayAction, ReplayEngine, ReplaySceneState, type ReplayState, RgbTuple, SCENE_NODE, STORAGE_KEY, SessionFeatureOptions, type SlamAppCombinedState, type SlamAppMiddleware, type SlamAppRootState, type SlamAppStore, type SlamAppStoreOptions, type StorageBackend, type StoreSubscriberDeps, type SubscribableStore, TextureLoaderInterface, type TrackingPhase, type TrackingQualityOptions, type TrackingQualityReport, type TrackingQualitySliceState, type TrackingQualityState, type TrackingSliceState, USER_POSITION_COLOR, VIS_COLORS, WEBXR_TO_NUE, WebXRQuaternion, WebXRVec3, type WriteAccessResult, XRCameraLike, XR_ERROR_MESSAGES, XR_ERROR_MESSAGE_UNKNOWN, XrFrameContext, XrFrameUpdate, type ZipActionEntry, type ZipContributorAddFile, type ZipExportContributor, type ZipExportResult, acquireCameraTexture, add2dImage, addAccuracyCircles, applyChromiumProjectionLayerWorkaround, approxDistanceMetres, bresenham3d, buildCameraFrustum, buildMapData, buildRawGpsPoint, buildRecordGpsEventPayload, calcRelativeCoordsInMeters, capabilityMessage, checkAllPermissions, checkCameraPermission, checkFileSystemPermission, checkGeolocationPermission, checkOrientationPermission, checkStorageQuota, checkWebXRSupport, clampedAlpha, clearLastRestartedPayload, clearLogBuffer, cloneRecordingOptions, computeCaptureSize, computeCompassAgreement, computeConvergence, computeCoverage, computeFusedPath, computeGpsAccuracy, computeGpsVsFusedDivergence, computeInterActionDelay, computeOnboardingGuidance, computeResidualConsensus, computeTrackingQualityReport, createAlignmentLerper, createCameraFollower, createCaptureFailureTracker, createCss3dRendererManager, createDepthUnprojector, createEnableGpsArController, createFailureTracker, createGpsAnchor, createGpsCompassCubes, createGpsErrorHandler, createGpsPositionHandler, createLogger, createReticleMesh, createSession, createSlamAppStore, createTrackingQualityListenerMiddleware, disposeMeshArray, disposeObject3D, disposeReplayScene, downloadZip, drawMapData, enableArWorldGroupAlignment, endARSession, endSession, eulerToQuaternion, exportAndDownloadSession, exportSessionAsZip, extractActionTimestamp, extractOdomPosition, extractOdomRotation, findNearbyGeoAnchor, firstAgreementReached, formatActionFilename, formatFileSize, formatFrameFilename, formatTimestamp, fusedGpsFromOdom, getAlignmentLerper, getAppRootHandle, getArWorldGroup, getCamera, getCameraFollower, getCameraMode, getCurrentArPose, getDepthSampleCount, getGlobalLogLevel, getGpsErrorMessage, getImageCaptureFrameCount, getLastDeviceOrientation, getLiveCss3dManager, getLogBuffer, getReplayState, getScene, getSessionHandle, getSessionsRootHandle, getXrErrorMessage, gpsEventVisualizer, gpsToH3, h3CellsMatch, initAR, initOpfsStorage, initReplayScene, initStorage, isFullySupported, isH3Index, isObjectInCameraFrustum, isPointInCameraFrustum, isSphereInCameraFrustum, latLonToTileXY, listFormatter, listSessions, loadActionsFromZip, loadGpsPathFromBlob, loadRecordingOptions, loadSessionMetadataFromBlob, mapWithConcurrencyLimit, matrixDelta, needsBaseLayerPersistence, nueToArLocal, originReset, parseChromeVersion, poseLost, poseReceived, readZipEntries, recordDepthSample, recordGpsEvent, recordWriteFailure, recordingReducer, registerFrameUpdate, registerXrFrameUpdate, replayRecording, reportUpdated, requestAllPermissions, requestCameraPermission, requestOrientationPermission as requestDeviceOrientationPermission, requestGeolocationPermission, requestOrientationPermission$1 as requestOrientationPermission, requestWebXRWithDepthPermission, resetCoordinatorState, resetFileSystemState, resetForNewSession, resetOpfsStorage, resetRecordingOptions, resetSessionHandles, resetStorageState, resetTracking, resetTrackingQuality, saveRecordingOptions, selectFirstAgreementObservationIndex, selectLastRestartedPayload, selectLastSensorOrientation, selectLastValidPose, selectLostFrameCount, selectOnboardingGuidance, selectRecentAlignments, selectTrackingPhase, selectTrackingQuality, setDepthCaptureCallback, setFileSystemState, setFrameCallback, setGlobalLogLevel, setImageCaptureCallback, setTrackingCallbacks, setTrackingLostCallback, setTrackingStore, setZeroPos, snapshotPushed, snapshotsTrimmed, startDepthCapture, startGpsWatch, startImageCapture, startOrientationWatch, startSession, startSession$1 as startStorageSession, stopDepthCapture, stopGpsWatch, stopImageCapture, stopOrientationWatch, subscribeToLogs, syncToExternalZip, tileXYToLatLon, toggleCameraMode, trackingQualityReducer, trackingReducer, unprojectDepthPoint, updateDeviceOrientation, updateOrbitTarget, updateReticle, validateDepthOptions, validateImageOptions, validateRecordingOptions, verifyWriteAccess, wireStoreSubscribers, worldNueToGps, wrapXRDepthInfo, writeAction, writeFrame };
78
+ export { ACCURACY_CIRCLE_FILL_OPACITY, ACCURACY_CIRCLE_STROKE_OPACITY, ACCURACY_CIRCLE_WEIGHT, ALIGNMENT_SNAPSHOT_COLOR, ARPose, AccuracyCircleSample, AggregateQrPoseResult, AlignmentLerper, type AlignmentSnapshot, ArPoseTuples, ArWorldGroupAlignmentHandle, ArWorldGroupAlignmentOptions, AverageRotationOptions, AverageRotationResult, BASELAYER_WINDOW_MAX, BASELAYER_WINDOW_MIN, BarcodeDetectorFrontEnd, BarcodeDetectorLike, CAPTURE_FAILURE_WARNING, COMMUNITY_LICENSE_KEY, COMPASS_CUBE_DISTANCE, COMPASS_CUBE_SIZE, CameraBlitCapture, CameraBlitCaptureConfig, CameraFollower, CameraFrameCaptureConfig, CameraFrameSource, CameraFrameSourceCallbacks, CameraFrameSourceConfig, CameraIntrinsics, CameraMode, CameraTextureResult, CapabilityMessageOptions, CapabilitySupport, CaptureFailureTracker, CaptureFailureTrackerConfig, CapturedImage, ChromeVersion, ChromiumProjectionLayerWorkaroundResult, type CompleteCallback, type CreateSessionResult, Css3dRendererManager, DEFAULT_BLIT_CONFIG, DEFAULT_CAPTURE_CONFIG, DEFAULT_CAPTURE_TRACKER_CONFIG, DEFAULT_HEIGHT_OFFSET, DEFAULT_LEAFLET_MAP_SIZE_PX, DEFAULT_LERP_RATE, DEFAULT_MAP_SIZE, DEFAULT_MAX_DELAY_MS, DEFAULT_RECORDING_OPTIONS, DEFAULT_ROTATION_INLIER_ANGLE_DEG, DEFAULT_TRACKING_QUALITY_OPTIONS, DEFAULT_WORLD_SIZE, DEFAULT_ZOOM, DEFAULT_Z_OFFSET, DEPTH_CONSTRAINTS, type DepthCaptureOptions, DepthGridLookup, DepthInfo, DepthPoint, DepthSample, DepthSampler, DepthSamplerCallbacks, DepthSamplerConfig, DepthUnprojector, DeriveQrPoseDeps, DerivedQrPlacement, DetectedBarcodeLike, DetectionScheduler, DetectionSchedulerConfig, DisposeOptions, DrawMapDataOptions, DrawnMapData, EnableGpsArConfig, EnableGpsArController, EnableGpsArDeps, EnableGpsArResult, EnableGpsArState, EnableGpsArStatus, Enu, type ErrorCallback, type ExportSessionAsZipOptions, FUSED_PATH_COLOR, FailureTracker, FailureTrackerConfig, FetchLike, FetchQrLevelOptions, FrameUpdate, FusedPathInput, GPS_ERROR_CODES, GPS_ERROR_MESSAGES, GPS_ERROR_MESSAGE_UNKNOWN, GpsAnchor, GpsAnchorMode, GpsAnchorOptions, GpsAnchorPhase, GpsAnchorSamplePoint, GpsCompassCubes, GpsCoord, GpsEventVisualizer, type GpsPathCoord, GpsPosition, GridCell, H3_RESOLUTION, HitMatrix, Homography, IMAGE_CONSTRAINTS, ImageCaptureCallbacks, ImageCaptureConfig, ImageCaptureManager, type ImageCaptureOptions, ImageSize, IncrementalQrPlacement, KnownGeoAnchor, LeafletMapOverlay, LeafletMapOverlayOptions, LogEntry, LogLevel, Logger, MAP_PATH_POLYLINE_OPACITY, MAP_PATH_POLYLINE_WEIGHT, MAX_ACTION_FILE_SIZE, METERS_PER_DEG_LAT, MIN_VALID_IMAGE_BYTES, MapData, MapDataInput, MapOverlay, MapOverlayOptions, Mat3, NullStorageBackend, OccupancyGrid, OccupancyGridOptions, OccupancySurface, type OnboardingGuidance, type OnboardingPhase, OpenCvPnpResult, OpfsStorageBackend, PermissionCheckResult, PermissionStatus, PlanarPnpSquare, Point2, Pose, PoseCandidate, type PoseReceivedPayload, type ProgressCallback, QrDebugView, QrDetection, QrDetectionController, QrDetectionControllerDeps, QrDetectionEvent, QrDetectionScheduler, QrDetectionSchedulerConfig, QrFrontEnd, QrGeoPose, QrGpsVoteInput, QrLevel, QrLevelValidationError, QrPlausibility, QrPlausibilityOptions, QrPlausibilityVerdict, QrPoseSolution, QrPoseStability, QrPoseStabilityOptions, QrPoseStabilityStatus, QrScanStatus, QrSizeAccumulator, QrSizeAccumulatorOptions, QrSizeDepthContext, QrSizeEstimate, QrSizeMeasurement, QrSizeMeasurer, QrSizeObservation, QrSizeStatus, QrSolvePoseInput, QrTrackingController, QrTrackingControllerConfig, QrTrackingStatus, QuadValidation, RAW_GPS_COLOR, RawDeviceOrientation, RawGpsSample, RawObservationSink, RawQrObservation, type RecordedAction, type RecordingCoordinatorConfig, type RecordingOptionsInput, type RecordingState, RefPointMarker, RendererLike, type ReplayAction, ReplayEngine, ReplaySceneState, type ReplayState, RgbTuple, RgbaImage, SCENE_NODE, STORAGE_KEY, SessionFeatureOptions, type SlamAppCombinedState, type SlamAppMiddleware, type SlamAppRootState, type SlamAppStore, type SlamAppStoreOptions, SolvePnpSquare, SolveQrPoseInput, type StorageBackend, type StoreSubscriberDeps, type SubscribableStore, TextureLoaderInterface, ToImageBitmapSource, type TrackingPhase, type TrackingQualityOptions, type TrackingQualityReport, type TrackingQualitySliceState, type TrackingQualityState, type TrackingSliceState, USER_POSITION_COLOR, VIS_COLORS, WEBXR_TO_NUE, WebXRQuaternion, WebXRVec3, XRCameraLike, XR_ERROR_MESSAGES, XR_ERROR_MESSAGE_UNKNOWN, XrFrameContext, XrFrameUpdate, type ZipActionEntry, type ZipContributorAddFile, type ZipExportContributor, type ZipExportResult, acquireCameraTexture, add2dImage, addAccuracyCircles, aggregateQrPose, applyChromiumProjectionLayerWorkaround, approxDistanceMetres, averageRotation, bresenham3d, buildCameraFrustum, buildMapData, buildObjectPoints, buildQrGpsVotes, buildRawGpsPoint, buildRecordGpsEventPayload, calcRelativeCoordsInMeters, capabilityMessage, checkAllPermissions, checkCameraPermission, checkFileSystemPermission, checkGeolocationPermission, checkOrientationPermission, checkQrPlausibility, checkStorageQuota, checkWebXRSupport, clampedAlpha, clearLastRestartedPayload, clearLogBuffer, cloneRecordingOptions, clusterCellsByZoom, composePose, computeAspectFitSize, computeCaptureSize, computeCompassAgreement, computeConvergence, computeCoverage, computeFusedPath, computeGpsAccuracy, computeGpsVsFusedDivergence, computeInterActionDelay, computeOnboardingGuidance, computeResidualConsensus, computeTrackingQualityReport, createAlignmentLerper, createBarcodeDetectorFrontEnd, createCameraFollower, createCaptureFailureTracker, createCss3dRendererManager, createDepthGridLookup, createDepthUnprojector, createDetectionScheduler, createEnableGpsArController, createFailureTracker, createGpsAnchor, createGpsCompassCubes, createGpsErrorHandler, createGpsPositionHandler, createIncrementalQrPlacement, createLogger, createQrDebugView, createQrDetectionController, createQrDetectionScheduler, createQrSizeAccumulator, createQrSizeDepthContext, createQrSizeMeasurer, createQrTrackingController, createReticleMesh, createSession, createSlamAppStore, createTrackingQualityListenerMiddleware, deriveQrPlacement, deriveQrSizeM, deriveSolvedQrPose, disposeMeshArray, disposeObject3D, disposeReplayScene, downloadZip, drawMapData, enableArWorldGroupAlignment, endARSession, endSession, estimateQrSizeFromDepth, eulerToQuaternion, evaluateQrPoseStability, exportSessionAsZip, exportSessionHandleAsZip, extractActionTimestamp, extractOdomPosition, extractOdomRotation, fetchQrLevel, findNearbyGeoAnchor, firstAgreementReached, formatActionFilename, formatFileSize, formatFrameFilename, formatTimestamp, fusedGpsFromOdom, getAlignmentLerper, getAppRootHandle, getArWorldGroup, getCamera, getCameraFollower, getCameraFrameCount, getCameraMode, getCurrentArPose, getDepthSampleCount, getGlobalLogLevel, getGpsErrorMessage, getImageCaptureFrameCount, getLastDeviceOrientation, getLiveCss3dManager, getLogBuffer, getReplayState, getScene, getSessionHandle, getSessionsRootHandle, getXrErrorMessage, gpsEventVisualizer, gpsPathToCoverageCells, gpsToH3, h3CellsMatch, homographyFromCorrespondences, initAR, initOpfsStorage, initReplayScene, intrinsicsFromProjection, invertPose, ippePoseCandidates, isFullySupported, isH3Index, isObjectInCameraFrustum, isPointInCameraFrustum, isSphereInCameraFrustum, latLonToTileXY, listFormatter, listSessions, loadActionsFromZip, loadGpsPathFromBlob, loadRecordingOptions, loadSessionMetadataFromBlob, localPlaneToEnu, mapWithConcurrencyLimit, matrixDelta, nearestRotation3x3, needsBaseLayerPersistence, nueToArLocal, offsetGeo, originReset, parseChromeVersion, parseQrLevel, poseLost, poseReceived, projectViewPoint, qrInCameraFromOpenCv, readZipEntries, recordDepthSample, recordGpsEvent, recordWriteFailure, recordingReducer, registerFrameUpdate, registerXrFrameUpdate, replayRecording, reportUpdated, reprojectionErrorPx, requestAllPermissions, requestCameraPermission, requestOrientationPermission as requestDeviceOrientationPermission, requestGeolocationPermission, requestOrientationPermission$1 as requestOrientationPermission, requestWebXRWithDepthPermission, resetCoordinatorState, resetFileSystemState, resetOpfsStorage, resetRecordingOptions, resetSessionHandles, resetTracking, resetTrackingQuality, rotationToRodrigues, saveRecordingOptions, selectFirstAgreementObservationIndex, selectLastRestartedPayload, selectLastSensorOrientation, selectLastValidPose, selectLostFrameCount, selectOnboardingGuidance, selectRecentAlignments, selectTrackingPhase, selectTrackingQuality, setCameraFrameCallback, setDepthCaptureCallback, setFileSystemState, setFrameCallback, setGlobalLogLevel, setImageCaptureCallback, setTrackingCallbacks, setTrackingLostCallback, setTrackingStore, setZeroPos, signedQuadArea, snapshotPushed, snapshotsTrimmed, solveLinear, solveQrPose, solveQrPoseFromObservation, startCameraFrameCapture, startDepthCapture, startGpsWatch, startImageCapture, startOrientationWatch, startSession, stopCameraFrameCapture, stopDepthCapture, stopGpsWatch, stopImageCapture, stopOrientationWatch, subscribeToLogs, syncToExternalZip, tileXYToLatLon, toggleCameraMode, trackingQualityReducer, trackingReducer, transformPoint, unprojectDepthPoint, updateDeviceOrientation, updateOrbitTarget, updateReticle, validateDepthOptions, validateImageOptions, validateQuad, validateRecordingOptions, wireStoreSubscribers, worldNueToGps, wrapXRDepthInfo };
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { LogLevel, clearLogBuffer, createLogger, getGlobalLogLevel, getLogBuffer, setGlobalLogLevel, subscribeToLogs } from "./utils/logger.js";
2
2
  import { disposeMeshArray, disposeObject3D } from "./visualization/three-dispose.js";
3
- import { CameraBlitCapture, DEFAULT_BLIT_CONFIG, computeCaptureSize } from "./ar/camera-blit-capture.js";
3
+ import { CameraBlitCapture, DEFAULT_BLIT_CONFIG, computeAspectFitSize, computeCaptureSize } from "./ar/camera-blit-capture.js";
4
4
  import { capabilityMessage, isFullySupported } from "./ar/capability-checker.js";
5
5
  import { BASELAYER_WINDOW_MAX, BASELAYER_WINDOW_MIN, applyChromiumProjectionLayerWorkaround, needsBaseLayerPersistence, parseChromeVersion } from "./ar/chromium-camera-access-workaround.js";
6
6
  import { createFailureTracker } from "./utils/failure-tracker.js";
@@ -8,16 +8,27 @@ import { CAPTURE_FAILURE_WARNING, DEFAULT_CAPTURE_TRACKER_CONFIG, createCaptureF
8
8
  import { buildRawGpsPoint, buildRecordGpsEventPayload, createGpsPositionHandler, eulerToQuaternion, extractOdomPosition, extractOdomRotation, getLastDeviceOrientation, resetCoordinatorState, updateDeviceOrientation } from "./state/gps-event-coordinator.js";
9
9
  import { DepthSampler, wrapXRDepthInfo } from "./ar/depth-sampler.js";
10
10
  import { createDepthUnprojector, unprojectDepthPoint } from "./ar/depth-unprojection.js";
11
+ import { createDepthGridLookup } from "./ar/depth-grid-lookup.js";
12
+ import { n as createQrSizeAccumulator, r as estimateQrSizeFromDepth, t as createQrSizeMeasurer } from "./qr-size-measurer-DLb33geH.js";
13
+ import { createQrSizeDepthContext } from "./ar/qr-size-depth-context.js";
14
+ import { buildObjectPoints, composePose, intrinsicsFromProjection, invertPose, projectViewPoint, qrInCameraFromOpenCv, reprojectionErrorPx, signedQuadArea, solveQrPose, transformPoint, validateQuad } from "./ar/qr-pose.js";
15
+ import { createIncrementalQrPlacement, deriveQrPlacement, deriveQrSizeM, deriveSolvedQrPose, solveQrPoseFromObservation } from "./ar/qr-derived-pose.js";
16
+ import { WEBXR_TO_NUE } from "./ar/webxr-nue-basis.js";
17
+ import { createQrDebugView } from "./ar/qr-debug-view.js";
18
+ import { n as createDetectionScheduler, r as createQrDetectionScheduler, t as createQrDetectionController } from "./qr-detection-controller-B-tLVd-S.js";
19
+ import { i as evaluateQrPoseStability, n as aggregateQrPose, r as averageRotation, t as DEFAULT_ROTATION_INLIER_ANGLE_DEG } from "./qr-pose-aggregation-DXR9STHs.js";
20
+ import { a as localPlaneToEnu, c as fetchQrLevel, i as buildQrGpsVotes, l as parseQrLevel, n as createQrTrackingController, o as offsetGeo, r as METERS_PER_DEG_LAT, s as QrLevelValidationError, t as checkQrPlausibility } from "./ar-Dc72Ksiu.js";
21
+ import { BarcodeDetectorFrontEnd, createBarcodeDetectorFrontEnd } from "./ar/qr-frontend.js";
22
+ import { A as setFrameCallback, B as startImageCapture, H as stopDepthCapture, I as setTrackingStore, N as setTrackingCallbacks, O as setCameraFrameCallback, P as setTrackingLostCallback, R as startCameraFrameCapture, U as stopImageCapture, V as stopCameraFrameCapture, W as CameraFrameSource, _ as getScene, a as endARSession, f as getCameraFrameCount, g as getLiveCss3dManager, h as getImageCaptureFrameCount, j as setImageCaptureCallback, k as setDepthCaptureCallback, l as getArWorldGroup, m as getDepthSampleCount, p as getCurrentArPose, u as getCamera, y as initAR, z as startDepthCapture } from "./webxr-session-CJF9Nijp.js";
23
+ import { PlanarPnpSquare, homographyFromCorrespondences, ippePoseCandidates, nearestRotation3x3, rotationToRodrigues, solveLinear } from "./ar/planar-pnp.js";
11
24
  import { bresenham3d } from "./ar/bresenham3d.js";
12
25
  import { OccupancyGrid } from "./ar/occupancy-grid.js";
13
26
  import { registerFrameUpdate } from "./ar/frame-loop.js";
14
27
  import { registerXrFrameUpdate } from "./ar/xr-frame-loop.js";
15
28
  import { checkAllPermissions, checkCameraPermission, checkFileSystemPermission, checkGeolocationPermission, checkOrientationPermission, checkWebXRSupport, requestAllPermissions, requestCameraPermission, requestGeolocationPermission, requestOrientationPermission as requestOrientationPermission$1, requestWebXRWithDepthPermission, resetFileSystemState, setFileSystemState } from "./sensors/permission-checker.js";
16
29
  import { requestOrientationPermission, startGpsWatch, startOrientationWatch, stopGpsWatch, stopOrientationWatch } from "./sensors/gps.js";
17
- import { WEBXR_TO_NUE } from "./ar/webxr-nue-basis.js";
18
30
  import { DEFAULT_CAPTURE_CONFIG, ImageCaptureManager, MIN_VALID_IMAGE_BYTES } from "./ar/image-capture.js";
19
31
  import { clearLastRestartedPayload, originReset, poseLost, poseReceived, resetTracking, selectLastRestartedPayload, selectLastSensorOrientation, selectLastValidPose, selectLostFrameCount, selectTrackingPhase, trackingReducer } from "./state/tracking-slice.js";
20
- import { A as setTrackingLostCallback, D as setImageCaptureCallback, E as setFrameCallback, F as startImageCapture, I as stopDepthCapture, L as stopImageCapture, M as setTrackingStore, P as startDepthCapture, T as setDepthCaptureCallback, c as getArWorldGroup, d as getDepthSampleCount, f as getImageCaptureFrameCount, g as initAR, i as endARSession, k as setTrackingCallbacks, l as getCamera, m as getScene, p as getLiveCss3dManager, u as getCurrentArPose } from "./webxr-session-TIaD883f.js";
21
32
  import { acquireCameraTexture } from "./ar/xr-camera-texture.js";
22
33
  import { DEFAULT_RECORDING_OPTIONS, DEPTH_CONSTRAINTS, IMAGE_CONSTRAINTS, STORAGE_KEY, cloneRecordingOptions, loadRecordingOptions, resetRecordingOptions, saveRecordingOptions, validateDepthOptions, validateImageOptions, validateRecordingOptions } from "./state/recording-options.js";
23
34
  import { SCENE_NODE } from "./ar/scene-node-names.js";
@@ -30,10 +41,9 @@ import { VIS_COLORS } from "./visualization/vis-colors.js";
30
41
  import { COMPASS_CUBE_DISTANCE, COMPASS_CUBE_SIZE, createGpsCompassCubes } from "./visualization/gps-compass-cubes.js";
31
42
  import { disposeReplayScene, getAlignmentLerper, getCameraFollower, getCameraMode, getReplayState, initReplayScene, toggleCameraMode, updateOrbitTarget } from "./ar/replay-scene.js";
32
43
  import { XR_ERROR_MESSAGES, XR_ERROR_MESSAGE_UNKNOWN, getXrErrorMessage } from "./ar/xr-error-handler.js";
33
- import "./ar/index.js";
34
44
  import { GPS_ERROR_CODES, GPS_ERROR_MESSAGES, GPS_ERROR_MESSAGE_UNKNOWN, createGpsErrorHandler, getGpsErrorMessage } from "./sensors/gps-error-handler.js";
35
45
  import "./sensors/index.js";
36
- import { H3_RESOLUTION, approxDistanceMetres, findNearbyGeoAnchor, gpsToH3, h3CellsMatch, isH3Index } from "./geo/h3-proximity.js";
46
+ import { H3_RESOLUTION, approxDistanceMetres, clusterCellsByZoom, findNearbyGeoAnchor, gpsPathToCoverageCells, gpsToH3, h3CellsMatch, isH3Index } from "./geo/h3-proximity.js";
37
47
  import "./geo/index.js";
38
48
  import { computeFusedPath, fusedGpsFromOdom } from "./utils/fused-path.js";
39
49
  import { mapWithConcurrencyLimit } from "./utils/concurrency.js";
@@ -51,11 +61,10 @@ import { replayRecording } from "./state/recording-replayer.js";
51
61
  import { DEFAULT_MAX_DELAY_MS, ReplayEngine, computeInterActionDelay, extractActionTimestamp } from "./state/replay-engine.js";
52
62
  import { buildMapData } from "./visualization/map-data.js";
53
63
  import { wireStoreSubscribers } from "./state/store-subscribers.js";
54
- import { a as computeOnboardingGuidance, i as setZeroPos, n as calcRelativeCoordsInMeters, o as selectOnboardingGuidance, r as recordGpsEvent, t as add2dImage } from "./state-BkIfpiyA.js";
64
+ import { a as computeOnboardingGuidance, i as setZeroPos, n as calcRelativeCoordsInMeters, o as selectOnboardingGuidance, r as recordGpsEvent, t as add2dImage } from "./state-IEw0ZsBu.js";
55
65
  import { checkStorageQuota, createSession, getAppRootHandle, getSessionHandle, getSessionsRootHandle, initOpfsStorage, listSessions, resetOpfsStorage, resetSessionHandles } from "./storage/opfs-storage.js";
56
- import { initStorage, resetForNewSession, resetStorageState, startSession as startSession$1, verifyWriteAccess, writeAction, writeFrame } from "./storage/file-system.js";
57
66
  import { OpfsStorageBackend } from "./storage/opfs-storage-backend.js";
58
- import { downloadZip, exportAndDownloadSession, exportSessionAsZip, syncToExternalZip } from "./storage/zip-export.js";
67
+ import { downloadZip, exportSessionAsZip, exportSessionHandleAsZip, syncToExternalZip } from "./storage/zip-export.js";
59
68
  import "./storage/index.js";
60
69
  import { enableArWorldGroupAlignment } from "./visualization/ar-world-group-alignment.js";
61
70
  import { buildCameraFrustum, isObjectInCameraFrustum, isPointInCameraFrustum, isSphereInCameraFrustum } from "./visualization/frustum-visibility.js";
@@ -69,4 +78,4 @@ import { DEFAULT_LEAFLET_MAP_SIZE_PX, DEFAULT_WORLD_SIZE, DEFAULT_Z_OFFSET, Leaf
69
78
  import { DEFAULT_HEIGHT_OFFSET, DEFAULT_MAP_SIZE, DEFAULT_ZOOM, MapOverlay, latLonToTileXY, tileXYToLatLon } from "./visualization/map-overlay.js";
70
79
  import "./visualization/index.js";
71
80
  import { COMMUNITY_LICENSE_KEY } from "./licensing/index.js";
72
- export { ACCURACY_CIRCLE_FILL_OPACITY, ACCURACY_CIRCLE_STROKE_OPACITY, ACCURACY_CIRCLE_WEIGHT, ALIGNMENT_SNAPSHOT_COLOR, BASELAYER_WINDOW_MAX, BASELAYER_WINDOW_MIN, CAPTURE_FAILURE_WARNING, COMMUNITY_LICENSE_KEY, COMPASS_CUBE_DISTANCE, COMPASS_CUBE_SIZE, CameraBlitCapture, DEFAULT_BLIT_CONFIG, DEFAULT_CAPTURE_CONFIG, DEFAULT_CAPTURE_TRACKER_CONFIG, DEFAULT_HEIGHT_OFFSET, DEFAULT_LEAFLET_MAP_SIZE_PX, DEFAULT_LERP_RATE, DEFAULT_MAP_SIZE, DEFAULT_MAX_DELAY_MS, DEFAULT_RECORDING_OPTIONS, DEFAULT_TRACKING_QUALITY_OPTIONS, DEFAULT_WORLD_SIZE, DEFAULT_ZOOM, DEFAULT_Z_OFFSET, DEPTH_CONSTRAINTS, DepthSampler, FUSED_PATH_COLOR, GPS_ERROR_CODES, GPS_ERROR_MESSAGES, GPS_ERROR_MESSAGE_UNKNOWN, GpsEventVisualizer, H3_RESOLUTION, IMAGE_CONSTRAINTS, ImageCaptureManager, LeafletMapOverlay, LogLevel, MAP_PATH_POLYLINE_OPACITY, MAP_PATH_POLYLINE_WEIGHT, MAX_ACTION_FILE_SIZE, MIN_VALID_IMAGE_BYTES, MapOverlay, NullStorageBackend, OccupancyGrid, OpfsStorageBackend, RAW_GPS_COLOR, ReplayEngine, SCENE_NODE, STORAGE_KEY, USER_POSITION_COLOR, VIS_COLORS, WEBXR_TO_NUE, XR_ERROR_MESSAGES, XR_ERROR_MESSAGE_UNKNOWN, acquireCameraTexture, add2dImage, addAccuracyCircles, applyChromiumProjectionLayerWorkaround, approxDistanceMetres, bresenham3d, buildCameraFrustum, buildMapData, buildRawGpsPoint, buildRecordGpsEventPayload, calcRelativeCoordsInMeters, capabilityMessage, checkAllPermissions, checkCameraPermission, checkFileSystemPermission, checkGeolocationPermission, checkOrientationPermission, checkStorageQuota, checkWebXRSupport, clampedAlpha, clearLastRestartedPayload, clearLogBuffer, cloneRecordingOptions, computeCaptureSize, computeCompassAgreement, computeConvergence, computeCoverage, computeFusedPath, computeGpsAccuracy, computeGpsVsFusedDivergence, computeInterActionDelay, computeOnboardingGuidance, computeResidualConsensus, computeTrackingQualityReport, createAlignmentLerper, createCameraFollower, createCaptureFailureTracker, createCss3dRendererManager, createDepthUnprojector, createEnableGpsArController, createFailureTracker, createGpsAnchor, createGpsCompassCubes, createGpsErrorHandler, createGpsPositionHandler, createLogger, createReticleMesh, createSession, createSlamAppStore, createTrackingQualityListenerMiddleware, disposeMeshArray, disposeObject3D, disposeReplayScene, downloadZip, drawMapData, enableArWorldGroupAlignment, endARSession, endSession, eulerToQuaternion, exportAndDownloadSession, exportSessionAsZip, extractActionTimestamp, extractOdomPosition, extractOdomRotation, findNearbyGeoAnchor, firstAgreementReached, formatActionFilename, formatFileSize, formatFrameFilename, formatTimestamp, fusedGpsFromOdom, getAlignmentLerper, getAppRootHandle, getArWorldGroup, getCamera, getCameraFollower, getCameraMode, getCurrentArPose, getDepthSampleCount, getGlobalLogLevel, getGpsErrorMessage, getImageCaptureFrameCount, getLastDeviceOrientation, getLiveCss3dManager, getLogBuffer, getReplayState, getScene, getSessionHandle, getSessionsRootHandle, getXrErrorMessage, gpsEventVisualizer, gpsToH3, h3CellsMatch, initAR, initOpfsStorage, initReplayScene, initStorage, isFullySupported, isH3Index, isObjectInCameraFrustum, isPointInCameraFrustum, isSphereInCameraFrustum, latLonToTileXY, listFormatter, listSessions, loadActionsFromZip, loadGpsPathFromBlob, loadRecordingOptions, loadSessionMetadataFromBlob, mapWithConcurrencyLimit, matrixDelta, needsBaseLayerPersistence, nueToArLocal, originReset, parseChromeVersion, poseLost, poseReceived, readZipEntries, recordDepthSample, recordGpsEvent, recordWriteFailure, recordingReducer, registerFrameUpdate, registerXrFrameUpdate, replayRecording, reportUpdated, requestAllPermissions, requestCameraPermission, requestOrientationPermission as requestDeviceOrientationPermission, requestGeolocationPermission, requestOrientationPermission$1 as requestOrientationPermission, requestWebXRWithDepthPermission, resetCoordinatorState, resetFileSystemState, resetForNewSession, resetOpfsStorage, resetRecordingOptions, resetSessionHandles, resetStorageState, resetTracking, resetTrackingQuality, saveRecordingOptions, selectFirstAgreementObservationIndex, selectLastRestartedPayload, selectLastSensorOrientation, selectLastValidPose, selectLostFrameCount, selectOnboardingGuidance, selectRecentAlignments, selectTrackingPhase, selectTrackingQuality, setDepthCaptureCallback, setFileSystemState, setFrameCallback, setGlobalLogLevel, setImageCaptureCallback, setTrackingCallbacks, setTrackingLostCallback, setTrackingStore, setZeroPos, snapshotPushed, snapshotsTrimmed, startDepthCapture, startGpsWatch, startImageCapture, startOrientationWatch, startSession, startSession$1 as startStorageSession, stopDepthCapture, stopGpsWatch, stopImageCapture, stopOrientationWatch, subscribeToLogs, syncToExternalZip, tileXYToLatLon, toggleCameraMode, trackingQualityReducer, trackingReducer, unprojectDepthPoint, updateDeviceOrientation, updateOrbitTarget, updateReticle, validateDepthOptions, validateImageOptions, validateRecordingOptions, verifyWriteAccess, wireStoreSubscribers, worldNueToGps, wrapXRDepthInfo, writeAction, writeFrame };
81
+ export { ACCURACY_CIRCLE_FILL_OPACITY, ACCURACY_CIRCLE_STROKE_OPACITY, ACCURACY_CIRCLE_WEIGHT, ALIGNMENT_SNAPSHOT_COLOR, BASELAYER_WINDOW_MAX, BASELAYER_WINDOW_MIN, BarcodeDetectorFrontEnd, CAPTURE_FAILURE_WARNING, COMMUNITY_LICENSE_KEY, COMPASS_CUBE_DISTANCE, COMPASS_CUBE_SIZE, CameraBlitCapture, CameraFrameSource, DEFAULT_BLIT_CONFIG, DEFAULT_CAPTURE_CONFIG, DEFAULT_CAPTURE_TRACKER_CONFIG, DEFAULT_HEIGHT_OFFSET, DEFAULT_LEAFLET_MAP_SIZE_PX, DEFAULT_LERP_RATE, DEFAULT_MAP_SIZE, DEFAULT_MAX_DELAY_MS, DEFAULT_RECORDING_OPTIONS, DEFAULT_ROTATION_INLIER_ANGLE_DEG, DEFAULT_TRACKING_QUALITY_OPTIONS, DEFAULT_WORLD_SIZE, DEFAULT_ZOOM, DEFAULT_Z_OFFSET, DEPTH_CONSTRAINTS, DepthSampler, FUSED_PATH_COLOR, GPS_ERROR_CODES, GPS_ERROR_MESSAGES, GPS_ERROR_MESSAGE_UNKNOWN, GpsEventVisualizer, H3_RESOLUTION, IMAGE_CONSTRAINTS, ImageCaptureManager, LeafletMapOverlay, LogLevel, MAP_PATH_POLYLINE_OPACITY, MAP_PATH_POLYLINE_WEIGHT, MAX_ACTION_FILE_SIZE, METERS_PER_DEG_LAT, MIN_VALID_IMAGE_BYTES, MapOverlay, NullStorageBackend, OccupancyGrid, OpfsStorageBackend, PlanarPnpSquare, QrLevelValidationError, RAW_GPS_COLOR, ReplayEngine, SCENE_NODE, STORAGE_KEY, USER_POSITION_COLOR, VIS_COLORS, WEBXR_TO_NUE, XR_ERROR_MESSAGES, XR_ERROR_MESSAGE_UNKNOWN, acquireCameraTexture, add2dImage, addAccuracyCircles, aggregateQrPose, applyChromiumProjectionLayerWorkaround, approxDistanceMetres, averageRotation, bresenham3d, buildCameraFrustum, buildMapData, buildObjectPoints, buildQrGpsVotes, buildRawGpsPoint, buildRecordGpsEventPayload, calcRelativeCoordsInMeters, capabilityMessage, checkAllPermissions, checkCameraPermission, checkFileSystemPermission, checkGeolocationPermission, checkOrientationPermission, checkQrPlausibility, checkStorageQuota, checkWebXRSupport, clampedAlpha, clearLastRestartedPayload, clearLogBuffer, cloneRecordingOptions, clusterCellsByZoom, composePose, computeAspectFitSize, computeCaptureSize, computeCompassAgreement, computeConvergence, computeCoverage, computeFusedPath, computeGpsAccuracy, computeGpsVsFusedDivergence, computeInterActionDelay, computeOnboardingGuidance, computeResidualConsensus, computeTrackingQualityReport, createAlignmentLerper, createBarcodeDetectorFrontEnd, createCameraFollower, createCaptureFailureTracker, createCss3dRendererManager, createDepthGridLookup, createDepthUnprojector, createDetectionScheduler, createEnableGpsArController, createFailureTracker, createGpsAnchor, createGpsCompassCubes, createGpsErrorHandler, createGpsPositionHandler, createIncrementalQrPlacement, createLogger, createQrDebugView, createQrDetectionController, createQrDetectionScheduler, createQrSizeAccumulator, createQrSizeDepthContext, createQrSizeMeasurer, createQrTrackingController, createReticleMesh, createSession, createSlamAppStore, createTrackingQualityListenerMiddleware, deriveQrPlacement, deriveQrSizeM, deriveSolvedQrPose, disposeMeshArray, disposeObject3D, disposeReplayScene, downloadZip, drawMapData, enableArWorldGroupAlignment, endARSession, endSession, estimateQrSizeFromDepth, eulerToQuaternion, evaluateQrPoseStability, exportSessionAsZip, exportSessionHandleAsZip, extractActionTimestamp, extractOdomPosition, extractOdomRotation, fetchQrLevel, findNearbyGeoAnchor, firstAgreementReached, formatActionFilename, formatFileSize, formatFrameFilename, formatTimestamp, fusedGpsFromOdom, getAlignmentLerper, getAppRootHandle, getArWorldGroup, getCamera, getCameraFollower, getCameraFrameCount, getCameraMode, getCurrentArPose, getDepthSampleCount, getGlobalLogLevel, getGpsErrorMessage, getImageCaptureFrameCount, getLastDeviceOrientation, getLiveCss3dManager, getLogBuffer, getReplayState, getScene, getSessionHandle, getSessionsRootHandle, getXrErrorMessage, gpsEventVisualizer, gpsPathToCoverageCells, gpsToH3, h3CellsMatch, homographyFromCorrespondences, initAR, initOpfsStorage, initReplayScene, intrinsicsFromProjection, invertPose, ippePoseCandidates, isFullySupported, isH3Index, isObjectInCameraFrustum, isPointInCameraFrustum, isSphereInCameraFrustum, latLonToTileXY, listFormatter, listSessions, loadActionsFromZip, loadGpsPathFromBlob, loadRecordingOptions, loadSessionMetadataFromBlob, localPlaneToEnu, mapWithConcurrencyLimit, matrixDelta, nearestRotation3x3, needsBaseLayerPersistence, nueToArLocal, offsetGeo, originReset, parseChromeVersion, parseQrLevel, poseLost, poseReceived, projectViewPoint, qrInCameraFromOpenCv, readZipEntries, recordDepthSample, recordGpsEvent, recordWriteFailure, recordingReducer, registerFrameUpdate, registerXrFrameUpdate, replayRecording, reportUpdated, reprojectionErrorPx, requestAllPermissions, requestCameraPermission, requestOrientationPermission as requestDeviceOrientationPermission, requestGeolocationPermission, requestOrientationPermission$1 as requestOrientationPermission, requestWebXRWithDepthPermission, resetCoordinatorState, resetFileSystemState, resetOpfsStorage, resetRecordingOptions, resetSessionHandles, resetTracking, resetTrackingQuality, rotationToRodrigues, saveRecordingOptions, selectFirstAgreementObservationIndex, selectLastRestartedPayload, selectLastSensorOrientation, selectLastValidPose, selectLostFrameCount, selectOnboardingGuidance, selectRecentAlignments, selectTrackingPhase, selectTrackingQuality, setCameraFrameCallback, setDepthCaptureCallback, setFileSystemState, setFrameCallback, setGlobalLogLevel, setImageCaptureCallback, setTrackingCallbacks, setTrackingLostCallback, setTrackingStore, setZeroPos, signedQuadArea, snapshotPushed, snapshotsTrimmed, solveLinear, solveQrPose, solveQrPoseFromObservation, startCameraFrameCapture, startDepthCapture, startGpsWatch, startImageCapture, startOrientationWatch, startSession, stopCameraFrameCapture, stopDepthCapture, stopGpsWatch, stopImageCapture, stopOrientationWatch, subscribeToLogs, syncToExternalZip, tileXYToLatLon, toggleCameraMode, trackingQualityReducer, trackingReducer, transformPoint, unprojectDepthPoint, updateDeviceOrientation, updateOrbitTarget, updateReticle, validateDepthOptions, validateImageOptions, validateQuad, validateRecordingOptions, wireStoreSubscribers, worldNueToGps, wrapXRDepthInfo };
@@ -1,4 +1,4 @@
1
- import { t as MapData } from "./map-data-CkloBxIl.js";
1
+ import { t as MapData } from "./map-data-DdjPiSav.js";
2
2
  import * as THREE from "three";
3
3
  import { LatLong } from "gps-plus-slam-js";
4
4
  import L from "leaflet";
@@ -1,4 +1,4 @@
1
- import { n as RawGpsSample, t as GpsCoord } from "./geo-types-SaPnIEUM.js";
1
+ import { n as RawGpsSample, t as GpsCoord } from "./geo-types-DqiBzPO9.js";
2
2
  import { LatLong, Matrix4, Vector3 } from "gps-plus-slam-js";
3
3
 
4
4
  //#region ../src/visualization/map-data.d.ts
@@ -1,4 +1,4 @@
1
- import { t as MapData } from "./map-data-CkloBxIl.js";
1
+ import { t as MapData } from "./map-data-DdjPiSav.js";
2
2
  import L from "leaflet";
3
3
 
4
4
  //#region ../src/visualization/map-overlay-draw.d.ts
@@ -1,5 +1,5 @@
1
- import { n as SessionMetadata } from "./opfs-storage-D5zAn_lx.js";
2
- import { n as StorageBackend, t as CreateSessionResult } from "./storage-backend-Do6YDpNo.js";
1
+ import { n as SessionMetadata } from "./opfs-storage-DMtlt57S.js";
2
+ import { n as StorageBackend, t as CreateSessionResult } from "./storage-backend-CTJHNdMp.js";
3
3
 
4
4
  //#region ../src/storage/null-storage-backend.d.ts
5
5
  declare class NullStorageBackend implements StorageBackend {
@@ -1,5 +1,5 @@
1
- import { t as GridCell } from "./bresenham3d-CFfd7n6B.js";
2
- import { a as RgbTuple, i as DepthSample } from "./ar-types-Dan1MVTi.js";
1
+ import { t as GridCell } from "./bresenham3d-ByjcmEgM.js";
2
+ import { a as RgbTuple, i as DepthSample } from "./ar-types-BckI1E-O.js";
3
3
  import { Vector3 } from "gps-plus-slam-js";
4
4
 
5
5
  //#region ../src/ar/occupancy-grid.d.ts
@@ -43,6 +43,16 @@ declare class OccupancyGrid {
43
43
  cellForPosition(pos: Vector3): GridCell;
44
44
  /** Center of a cell in raw WebXR space (round-consistent: cell · cellSizeM). */
45
45
  getCellCenter(cell: GridCell): Vector3;
46
+ /**
47
+ * Running-average of the EXACT unprojected surface points observed in this
48
+ * cell (raw WebXR space), or null for an unknown cell. Unlike
49
+ * {@link getCellCenter} (the geometric 15 cm-lattice center) this hugs the
50
+ * real measured surface and noise-averages across viewpoints — used by the
51
+ * COLMAP `points3D` export and the debug cubes (follow-up Item A). Being a
52
+ * centroid of points that fell in the cell, it always lies within
53
+ * `cellSizeM/2` of the cell center per axis.
54
+ */
55
+ getCellPoint(cell: GridCell): Vector3 | null;
46
56
  /**
47
57
  * Running-average color of the cell's colored observations (Iter 8), or
48
58
  * null when the cell is unknown or was only ever observed without color
@@ -69,6 +69,24 @@ interface SessionMetadata {
69
69
  };
70
70
  /** The page URL the recording was made from (origin + pathname only). Optional for backwards compat. */
71
71
  pageUrl?: string;
72
+ /**
73
+ * Per-tour H3 coverage index: the deduplicated H3 cells (at {@link h3Resolution})
74
+ * that the recording's GPS path crossed. Powers the map-centric recording
75
+ * browser — it shows roughly where each tour was recorded and which tours cross
76
+ * a given tile — WITHOUT unzipping the GPS action data (the cells are read
77
+ * straight from session.json during folder discovery). Computed from the raw GPS
78
+ * path at recording stop via `gpsPathToCoverageCells`.
79
+ *
80
+ * Optional for backwards compatibility: legacy recordings predate this field and
81
+ * are backfilled in memory from their GPS path on demand by the browser.
82
+ */
83
+ h3Cells?: string[];
84
+ /**
85
+ * The H3 resolution used to compute {@link h3Cells} (currently
86
+ * `H3_RESOLUTION` = 11). Stored so older readers stay self-describing if the
87
+ * capture resolution ever changes.
88
+ */
89
+ h3Resolution?: number;
72
90
  }
73
91
  /**
74
92
  * Result from createSession.
@@ -134,10 +152,11 @@ declare function getSessionHandle(): FileSystemDirectoryHandle | null;
134
152
  /**
135
153
  * Set the active session handles externally.
136
154
  *
137
- * Used by file-system.ts's scenario-based path to reuse opfs-storage's
138
- * write infrastructure for sessions created outside the flat layout.
139
- * This is a temporary bridge until the recorder migrates to
140
- * ScenarioWrappingStorageBackend.
155
+ * Lets a wrapping StorageBackend that creates sessions outside the flat layout
156
+ * (e.g. the recorder's `ScenarioWrappingStorageBackend`, which nests sessions
157
+ * under a named bucket) reuse opfs-storage's write infrastructure: it creates
158
+ * the session directory itself, then hands the handles here so subsequent
159
+ * `writeAction` / `writeFrame` / `writeSessionMetadata` calls target them.
141
160
  *
142
161
  * @internal
143
162
  */
@@ -1,9 +1,9 @@
1
- import { n as SessionMetadata } from "./opfs-storage-D5zAn_lx.js";
2
- import { n as StorageBackend, t as CreateSessionResult } from "./storage-backend-Do6YDpNo.js";
1
+ import { n as SessionMetadata } from "./opfs-storage-DMtlt57S.js";
2
+ import { n as StorageBackend, t as CreateSessionResult } from "./storage-backend-CTJHNdMp.js";
3
3
 
4
4
  //#region ../src/storage/opfs-storage-backend.d.ts
5
5
  declare class OpfsStorageBackend implements StorageBackend {
6
- createSession(_timestamp: Date, _contextTag?: string): Promise<CreateSessionResult>;
6
+ createSession(timestamp: Date, _contextTag?: string): Promise<CreateSessionResult>;
7
7
  listSessions(): Promise<string[]>;
8
8
  writeAction(action: unknown, index: number): Promise<void>;
9
9
  writeFrame(blob: Blob, index: number): Promise<void>;
@@ -1,4 +1,4 @@
1
- import { n as StorageBackend } from "./storage-backend-Do6YDpNo.js";
1
+ import { n as StorageBackend } from "./storage-backend-CTJHNdMp.js";
2
2
  import { Middleware } from "@reduxjs/toolkit";
3
3
 
4
4
  //#region ../src/state/persistence-middleware.d.ts
@@ -0,0 +1,67 @@
1
+ import { n as OpenCvPnpResult, r as Point2, s as SolvePnpSquare, t as CameraIntrinsics } from "./qr-pose-Bt2reSw7.js";
2
+ import { Vector3 } from "gps-plus-slam-js";
3
+
4
+ //#region ../src/ar/planar-pnp.d.ts
5
+ /** A 3×3 matrix in ROW-MAJOR order: [r00,r01,r02, r10,r11,r12, r20,r21,r22]. */
6
+ type Mat3 = readonly [number, number, number, number, number, number, number, number, number];
7
+ /** A 3×3 homography in row-major order (same layout as {@link Mat3}). */
8
+ type Homography = Mat3;
9
+ /** A candidate rigid pose in the OpenCV camera frame (p_cam = R·p_obj + t). */
10
+ interface PoseCandidate {
11
+ /** Rotation, row-major 3×3. */
12
+ R: Mat3;
13
+ /** Translation (object origin in the OpenCV camera frame), meters. */
14
+ t: Vector3;
15
+ }
16
+ /**
17
+ * Solve the dense square linear system `A·x = b` by Gaussian elimination with
18
+ * partial pivoting. `A` is `n×n` ROW-MAJOR (length n²), `b` is length n. Returns
19
+ * the solution, or `null` when the matrix is singular (no unique solution).
20
+ */
21
+ declare function solveLinear(A: readonly number[], b: readonly number[]): number[] | null;
22
+ /**
23
+ * Estimate the exact planar homography H (row-major 3×3, h₃₃ = 1) mapping object
24
+ * plane coords `(X,Y,1)` to NORMALIZED image coords `(x,y,1)` from 4 (or more)
25
+ * correspondences via a DLT. Returns `null` when the configuration is degenerate
26
+ * (collinear points → singular system). `objectXY`/`imageXY` are parallel arrays
27
+ * of `[X,Y]` / `[x,y]`.
28
+ */
29
+ declare function homographyFromCorrespondences(objectXY: ReadonlyArray<readonly [number, number]>, imageXY: ReadonlyArray<readonly [number, number]>): Homography | null;
30
+ /**
31
+ * Project a near-orthogonal 3×3 matrix onto the nearest rotation (SO(3)) by
32
+ * iterative polar decomposition (Higham: `R_{k+1} = ½(R_k + R_k⁻ᵀ)`). Converges
33
+ * quadratically for an already near-orthonormal input; needs no SVD/eigensolver
34
+ * (gl-matrix has neither). Forces `det = +1` by flipping the least-aligned column
35
+ * if the input was left-handed. Returns the input unchanged if it is singular.
36
+ */
37
+ declare function nearestRotation3x3(input: Mat3): Mat3;
38
+ /**
39
+ * Generate the planar-pose candidates from a homography via true IPPE
40
+ * (Collins & Bartoli 2014). Returns up to 4 chirality-valid candidates (the two
41
+ * tilt-flip roots × the z-sign of the in-plane axes); the caller picks the
42
+ * lowest reprojection error. Returns `[]` when the homography is degenerate.
43
+ *
44
+ * Derivation (see planar-pnp.ts.md): with `[r1 r2]` the first two columns of R,
45
+ * the local first-order map at the model origin gives `M·[r1 r2] = t_z·J` where
46
+ * `M = [[1,0,-p],[0,1,-q]]`, `(p,q)` is the origin's normalized image and `J` the
47
+ * 2×2 Jacobian of the homography there. Aligning the origin's ray to +z (rotation
48
+ * `Rv`) reduces this to a 2×2 block `B = τ·g` whose unknown bottom row plus the
49
+ * orthonormality of `[r1 r2]` yields a biquadratic in `τ = t_z`:
50
+ * `D²·τ⁴ − S·τ² + 1 = 0`, with `S = ‖g‖_F²`, `D = det(g)`. Its two roots are the
51
+ * two planar poses (they coincide fronto-parallel — no flip there).
52
+ */
53
+ declare function ippePoseCandidates(H: Homography): PoseCandidate[];
54
+ /**
55
+ * Convert a row-major rotation matrix to a Rodrigues vector (axis · angle).
56
+ * Double-precision, no gl-matrix Float32 round-trip.
57
+ */
58
+ declare function rotationToRodrigues(R: Mat3): Vector3;
59
+ /**
60
+ * `SolvePnpSquare` for a centered planar square via pure-JS IPPE. Stateless and
61
+ * synchronous — construct once and reuse, or construct per call; either is fine.
62
+ */
63
+ declare class PlanarPnpSquare implements SolvePnpSquare {
64
+ solve(objectPoints: readonly Vector3[], imagePoints: readonly Point2[], intrinsics: CameraIntrinsics): OpenCvPnpResult | null;
65
+ }
66
+ //#endregion
67
+ export { homographyFromCorrespondences as a, rotationToRodrigues as c, PoseCandidate as i, solveLinear as l, Mat3 as n, ippePoseCandidates as o, PlanarPnpSquare as r, nearestRotation3x3 as s, Homography as t };
@@ -0,0 +1,29 @@
1
+ import { i as Pose } from "./qr-pose-Bt2reSw7.js";
2
+ import { Object3D } from "three";
3
+
4
+ //#region ../src/ar/qr-debug-view.d.ts
5
+ interface QrDebugView {
6
+ /**
7
+ * Glue the debug objects to a solved pose. The **axis** is placed from the
8
+ * pose alone (it needs no size). The **cube** models the QR's physical extent,
9
+ * so it is shown only when a measured `sizeM` is available; pass `null` to show
10
+ * the axis while keeping the cube hidden.
11
+ *
12
+ * The derive-on-read consumer only solves a pose once a size exists (PnP needs
13
+ * a metric size), so in practice `sizeM` is non-null; the `null` path is
14
+ * retained for the generic "pose but no size" case (e.g. a future
15
+ * depth-position/PnP-rotation hybrid).
16
+ */
17
+ update(pose: Pose, sizeM: number | null): void;
18
+ /** Hide the objects (e.g. on reset); does NOT detach them from the scene. */
19
+ clear(): void;
20
+ /** Remove the objects from the parent and free GPU resources. */
21
+ dispose(): void;
22
+ }
23
+ /**
24
+ * Create the debug axis + cube under `parent` (the `arWorldGroup`). Objects
25
+ * start hidden; the first `update()` reveals and positions them.
26
+ */
27
+ declare function createQrDebugView(parent: Object3D): QrDebugView;
28
+ //#endregion
29
+ export { createQrDebugView as n, QrDebugView as t };