gps-plus-slam-app-framework 1.11.0 → 1.14.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 (248) hide show
  1. package/README.md +13 -14
  2. package/dist/{app-selectors-DG0ZqaeI.d.ts → app-selectors-DBUgwomp.d.ts} +1 -1
  3. package/dist/ar/ar-crash-isolation.d.ts +1 -1
  4. package/dist/ar/bresenham3d.d.ts +1 -1
  5. package/dist/ar/camera-blit-capture.d.ts +1 -1
  6. package/dist/ar/capability-checker.d.ts +1 -1
  7. package/dist/ar/capture-failure-tracker.d.ts +1 -1
  8. package/dist/ar/capture-motion-gate.d.ts +1 -1
  9. package/dist/ar/chromium-camera-access-workaround.d.ts +1 -1
  10. package/dist/ar/depth-grid-lookup.d.ts +1 -1
  11. package/dist/ar/depth-occluder.d.ts +1 -1
  12. package/dist/ar/depth-sampler.d.ts +3 -3
  13. package/dist/ar/depth-sampler.js +28 -1
  14. package/dist/ar/depth-unprojection.d.ts +1 -1
  15. package/dist/ar/enable-gps-ar.d.ts +1 -1
  16. package/dist/ar/enable-gps-ar.js +20 -5
  17. package/dist/ar/frame-loop.d.ts +1 -1
  18. package/dist/ar/hit-test-reticle-driver.d.ts +2 -0
  19. package/dist/ar/hit-test-reticle-driver.js +122 -0
  20. package/dist/ar/image-capture.d.ts +1 -1
  21. package/dist/ar/image-capture.js +1 -1
  22. package/dist/ar/image-quality.d.ts +1 -1
  23. package/dist/ar/index.d.ts +35 -34
  24. package/dist/ar/index.js +5 -4
  25. package/dist/ar/occlusion-mesh-worker.d.ts +2 -2
  26. package/dist/ar/occlusion-mesh-worker.js +6 -4
  27. package/dist/ar/occupancy-grid.d.ts +2 -2
  28. package/dist/ar/occupancy-grid.js +191 -11
  29. package/dist/ar/occupancy-mesher.d.ts +1 -1
  30. package/dist/ar/occupancy-mesher.js +1 -636
  31. package/dist/ar/qr/index.d.ts +10 -10
  32. package/dist/ar/qr/planar-pnp.d.ts +1 -1
  33. package/dist/ar/qr/qr-debug-view.d.ts +1 -1
  34. package/dist/ar/qr/qr-derived-pose.d.ts +1 -1
  35. package/dist/ar/qr/qr-detection-controller.d.ts +1 -1
  36. package/dist/ar/qr/qr-frontend.d.ts +1 -1
  37. package/dist/ar/qr/qr-pose.d.ts +1 -1
  38. package/dist/ar/qr/qr-size-depth-context.d.ts +2 -2
  39. package/dist/ar/qr/qr-size-measurer.d.ts +1 -1
  40. package/dist/ar/replay-scene.d.ts +1 -1
  41. package/dist/ar/replay-scene.js +1 -1
  42. package/dist/ar/scene-node-names.d.ts +1 -1
  43. package/dist/ar/webxr-nue-basis.d.ts +1 -1
  44. package/dist/ar/webxr-session.d.ts +3 -3
  45. package/dist/ar/webxr-session.js +1 -1
  46. package/dist/ar/xr-camera-texture.d.ts +1 -1
  47. package/dist/ar/xr-error-handler.d.ts +1 -1
  48. package/dist/ar/xr-frame-loop.d.ts +1 -1
  49. package/dist/{ar-world-group-alignment-BdS_h8Nf.d.ts → ar-world-group-alignment-Dn_UiRy1.d.ts} +1 -1
  50. package/dist/{cell-key-Bj-eYTLA.js → cell-key-D1b_Ix-p.js} +12 -1
  51. package/dist/core/index.d.ts +1 -1
  52. package/dist/{create-slam-app-store-oK9bnqyI.js → create-slam-app-store-B62K8_Qr.js} +17 -4
  53. package/dist/{create-slam-app-store-DFm5K9Ob.d.ts → create-slam-app-store-sxb1-esK.d.ts} +34 -4
  54. package/dist/{depth-grid-lookup-CCuzlqUo.d.ts → depth-grid-lookup-PcJTdRLL.d.ts} +1 -1
  55. package/dist/{depth-sampler-CS2jAFw4.d.ts → depth-sampler-BcvuxgCS.d.ts} +29 -2
  56. package/dist/{depth-unprojection-ET3Gwedf.d.ts → depth-unprojection-DbGipFkA.d.ts} +1 -1
  57. package/dist/{enable-gps-ar-D_xEHzh5.d.ts → enable-gps-ar-xjz3jNqm.d.ts} +4 -4
  58. package/dist/{frame-conversions-CH7E2Iv_.d.ts → frame-conversions-CzPQDYpM.d.ts} +1 -1
  59. package/dist/{fused-path-DOKzVMiO.d.ts → fused-path-CBAttcVm.d.ts} +1 -1
  60. package/dist/geo/h3-proximity.d.ts +1 -1
  61. package/dist/geo/index.d.ts +1 -1
  62. package/dist/{gps-anchor-BaqyRsPC.d.ts → gps-anchor-Gv4NDwH4.d.ts} +1 -1
  63. package/dist/{gps-ar-pose-sampler-BuuUuK-D.d.ts → gps-ar-pose-sampler-DBEYDFY5.d.ts} +1 -1
  64. package/dist/{gps-event-coordinator-Cruoe5I-.d.ts → gps-event-coordinator-BAy56wYd.d.ts} +4 -4
  65. package/dist/{gps-event-markers-y2b2aVl6.d.ts → gps-event-markers-212h7j3D.d.ts} +4 -4
  66. package/dist/hit-test-reticle-driver-CfKiDgsa.d.ts +40 -0
  67. package/dist/{image-capture-BevgKpoO.d.ts → image-capture-BXmx1YvD.d.ts} +3 -3
  68. package/dist/{index-Dxb6ATNK.d.ts → index-DVmgFIgm.d.ts} +1 -1
  69. package/dist/{index-BWVwd9Zw.d.ts → index-DX9VC257.d.ts} +3 -3
  70. package/dist/{index-ClmnNJ6-.d.ts → index-qYJ5-SBC.d.ts} +1 -1
  71. package/dist/index.d.ts +89 -82
  72. package/dist/index.js +17 -10
  73. package/dist/{leaflet-map-overlay-CksetpTt.d.ts → leaflet-map-overlay-BkHmzvpD.d.ts} +1 -1
  74. package/dist/{map-data-D8cCqpOM.d.ts → map-data-BQXPtRz7.d.ts} +1 -1
  75. package/dist/{map-overlay-draw-Cy-klqoA.d.ts → map-overlay-draw-sTM3wug_.d.ts} +1 -1
  76. package/dist/{null-storage-backend-DXXuwG8T.d.ts → null-storage-backend-Dtn3TBfT.d.ts} +2 -2
  77. package/dist/{occlusion-mesh-BWe2PrVi.d.ts → occlusion-mesh-BY2aMej3.d.ts} +22 -4
  78. package/dist/occupancy-cubes-visualizer-soN0Sizd.d.ts +146 -0
  79. package/dist/{occupancy-grid-CYBdmMOo.d.ts → occupancy-grid-DKzIdCSZ.d.ts} +113 -3
  80. package/dist/{occupancy-mesher-B4Bv4BTk.d.ts → occupancy-mesher-Co80tOpl.d.ts} +22 -1
  81. package/dist/occupancy-mesher-DzNeJdQf.js +837 -0
  82. package/dist/{opfs-storage-backend-D1ZpeNEL.d.ts → opfs-storage-backend-CZ-ECudx.d.ts} +2 -2
  83. package/dist/perf-stats-overlay-BMEQrzx6.d.ts +68 -0
  84. package/dist/{persistence-middleware-Cun4aF5M.d.ts → persistence-middleware-Byo_Fs4n.d.ts} +1 -1
  85. package/dist/{planar-pnp-ByxwDEyM.d.ts → planar-pnp-CkcMN3o3.d.ts} +1 -1
  86. package/dist/pointer-picking-BATHHTlT.d.ts +41 -0
  87. package/dist/{qr-debug-view-CGlITU09.d.ts → qr-debug-view-BMjNVhV2.d.ts} +1 -1
  88. package/dist/{qr-derived-pose-DZPxZd9C.d.ts → qr-derived-pose-Dq7mPK2s.d.ts} +2 -2
  89. package/dist/{qr-detected-slice-mfyxD2-M.d.ts → qr-detected-slice-8t_laDR9.d.ts} +4 -4
  90. package/dist/{qr-detection-controller-C5NII-vs.d.ts → qr-detection-controller-Dh4Paymb.d.ts} +3 -3
  91. package/dist/{qr-frontend-QzKZSqB-.d.ts → qr-frontend-BnLlVjKu.d.ts} +1 -1
  92. package/dist/{qr-pose-aggregation-mABSN0AW.d.ts → qr-pose-aggregation-Bpv4uARJ.d.ts} +1 -1
  93. package/dist/{qr-size-depth-context-CMDv6T29.d.ts → qr-size-depth-context-Bzbx98nS.d.ts} +2 -2
  94. package/dist/{qr-size-measurer-rVFf4AdM.d.ts → qr-size-measurer-18_W3INY.d.ts} +3 -3
  95. package/dist/{recording-replayer-qT2EM1Qs.d.ts → recording-replayer-CpFiYczh.d.ts} +2 -2
  96. package/dist/{recording-slice-DXw5-UvO.d.ts → recording-slice-zMedT0ot.d.ts} +1 -1
  97. package/dist/{replay-engine-B1H_kLhK.d.ts → replay-engine-DI7uknkv.d.ts} +1 -1
  98. package/dist/{replay-scene-BJeO36YT.d.ts → replay-scene-D5qzY0_x.d.ts} +3 -3
  99. package/dist/sensors/absolute-orientation.d.ts +1 -1
  100. package/dist/sensors/gps-error-handler.d.ts +1 -1
  101. package/dist/sensors/gps.d.ts +1 -1
  102. package/dist/sensors/index.d.ts +4 -4
  103. package/dist/sensors/permission-checker.d.ts +1 -1
  104. package/dist/state/app-selectors.d.ts +1 -1
  105. package/dist/state/combined-root-state.d.ts +1 -1
  106. package/dist/state/create-slam-app-store.d.ts +1 -1
  107. package/dist/state/create-slam-app-store.js +1 -1
  108. package/dist/state/gps-ar-pose-sampler.d.ts +2 -2
  109. package/dist/state/gps-event-coordinator.d.ts +2 -2
  110. package/dist/state/gps-event-coordinator.js +1 -1
  111. package/dist/state/index.d.ts +18 -18
  112. package/dist/state/index.js +3 -3
  113. package/dist/state/persistence-middleware.d.ts +1 -1
  114. package/dist/state/qr-detected-slice.d.ts +3 -3
  115. package/dist/state/recording-replayer.d.ts +2 -2
  116. package/dist/state/recording-replayer.js +1 -1
  117. package/dist/state/recording-slice.d.ts +1 -1
  118. package/dist/state/replay-engine.d.ts +1 -1
  119. package/dist/state/replay-occupancy-subscriber.d.ts +51 -0
  120. package/dist/state/replay-occupancy-subscriber.js +85 -0
  121. package/dist/state/replay-session.d.ts +88 -0
  122. package/dist/state/replay-session.js +165 -0
  123. package/dist/state/store-subscribers.d.ts +2 -2
  124. package/dist/state/store-subscribers.js +1 -1
  125. package/dist/state/subscribe-to-selector.d.ts +1 -1
  126. package/dist/state/tracking-quality.d.ts +1 -1
  127. package/dist/state/tracking-slice.d.ts +1 -1
  128. package/dist/{state-CDF5LvsO.js → state-BECcnNRW.js} +1 -1
  129. package/dist/storage/file-system-utils.d.ts +1 -1
  130. package/dist/storage/index.d.ts +8 -8
  131. package/dist/storage/null-storage-backend.d.ts +1 -1
  132. package/dist/storage/opfs-storage-backend.d.ts +1 -1
  133. package/dist/storage/opfs-storage.d.ts +1 -1
  134. package/dist/storage/storage-backend.d.ts +1 -1
  135. package/dist/storage/zip-coverage-embed.d.ts +1 -1
  136. package/dist/storage/zip-export.d.ts +1 -1
  137. package/dist/storage/zip-reader.d.ts +1 -1
  138. package/dist/{storage-backend-BX7egQKi.d.ts → storage-backend-DCYbOvTw.d.ts} +1 -1
  139. package/dist/{store-subscribers-CWHToX6N.d.ts → store-subscribers-BenHBQhD.d.ts} +2 -2
  140. package/dist/{subscribe-to-selector-j-eOYybQ.d.ts → subscribe-to-selector-hitZwSj8.d.ts} +1 -1
  141. package/dist/test-utils/browser-mocks.d.ts +1 -1
  142. package/dist/test-utils/zip-round-trip-helpers.d.ts +1 -1
  143. package/dist/text-sprite-C6VcC2mo.d.ts +53 -0
  144. package/dist/{tracking-slice-BAbcZK-Y.d.ts → tracking-slice-D5LDL_y4.d.ts} +1 -1
  145. package/dist/types/ar-types.d.ts +1 -1
  146. package/dist/types/geo-types.d.ts +1 -1
  147. package/dist/types/index.d.ts +2 -2
  148. package/dist/utils/concurrency.d.ts +1 -1
  149. package/dist/utils/failure-tracker.d.ts +1 -1
  150. package/dist/utils/format-file-size.d.ts +1 -1
  151. package/dist/utils/fused-path.d.ts +1 -1
  152. package/dist/utils/index.d.ts +7 -7
  153. package/dist/utils/list-formatter.d.ts +1 -1
  154. package/dist/utils/logger.d.ts +1 -1
  155. package/dist/visualization/accuracy-circles.d.ts +1 -1
  156. package/dist/visualization/alignment-lerper.d.ts +1 -1
  157. package/dist/visualization/ar-world-group-alignment.d.ts +1 -1
  158. package/dist/visualization/ar-world-group-alignment.js +1 -1
  159. package/dist/visualization/camera-follower.d.ts +1 -1
  160. package/dist/visualization/css3d-renderer-manager.d.ts +1 -1
  161. package/dist/visualization/frame-conversions.d.ts +1 -1
  162. package/dist/visualization/frustum-visibility.d.ts +1 -1
  163. package/dist/visualization/gps-anchor.d.ts +1 -1
  164. package/dist/visualization/gps-compass-cubes.d.ts +1 -1
  165. package/dist/visualization/gps-compass-cubes.js +6 -22
  166. package/dist/visualization/gps-event-markers.d.ts +1 -1
  167. package/dist/visualization/gps-event-markers.js +1 -1
  168. package/dist/visualization/hit-test-reticle.d.ts +1 -1
  169. package/dist/visualization/hit-test-reticle.js +3 -2
  170. package/dist/visualization/index.d.ts +25 -19
  171. package/dist/visualization/index.js +10 -4
  172. package/dist/visualization/leaflet-map-overlay.d.ts +1 -1
  173. package/dist/visualization/leaflet-map-overlay.js +1 -1
  174. package/dist/visualization/lerp-utils.d.ts +1 -1
  175. package/dist/visualization/map-data.d.ts +1 -1
  176. package/dist/visualization/map-data.js +1 -1
  177. package/dist/visualization/map-overlay-draw.d.ts +1 -1
  178. package/dist/visualization/occluder-mesh-driver.d.ts +2 -2
  179. package/dist/visualization/occlusion-mesh.d.ts +1 -1
  180. package/dist/visualization/occlusion-mesh.js +26 -1
  181. package/dist/visualization/occupancy-cubes-visualizer.d.ts +2 -0
  182. package/dist/visualization/occupancy-cubes-visualizer.js +221 -0
  183. package/dist/visualization/perf-stats-overlay.d.ts +2 -0
  184. package/dist/visualization/perf-stats-overlay.js +85 -0
  185. package/dist/visualization/pointer-picking.d.ts +2 -0
  186. package/dist/visualization/pointer-picking.js +58 -0
  187. package/dist/visualization/text-sprite.d.ts +2 -0
  188. package/dist/visualization/text-sprite.js +105 -0
  189. package/dist/visualization/three-dispose.d.ts +1 -1
  190. package/dist/visualization/vis-colors.d.ts +1 -1
  191. package/dist/visualization/wayfinding-hud.d.ts +2 -0
  192. package/dist/visualization/wayfinding-hud.js +289 -0
  193. package/dist/visualization/wayfinding-placement.d.ts +2 -0
  194. package/dist/visualization/wayfinding-placement.js +157 -0
  195. package/dist/wayfinding-hud-DVun2b69.d.ts +82 -0
  196. package/dist/wayfinding-placement-dnHzfYlT.d.ts +97 -0
  197. package/dist/{webxr-session-OyR3YbTq.js → webxr-session-BBlgzrqY.js} +3 -3
  198. package/dist/{webxr-session-DefwObIu.d.ts → webxr-session-DurXRnl_.d.ts} +7 -7
  199. package/package.json +3 -3
  200. /package/dist/{absolute-orientation-Dj1One3y.d.ts → absolute-orientation-0WIsqJnu.d.ts} +0 -0
  201. /package/dist/{accuracy-circles-BHz7yVIL.d.ts → accuracy-circles-CFnKGfsD.d.ts} +0 -0
  202. /package/dist/{alignment-lerper-DAHicRON.d.ts → alignment-lerper-CK1TYLIL.d.ts} +0 -0
  203. /package/dist/{ar-crash-isolation-DlXCGzMf.d.ts → ar-crash-isolation-BSFw_beO.d.ts} +0 -0
  204. /package/dist/{ar-types-D6PYS4bc.d.ts → ar-types-BprL3nKv.d.ts} +0 -0
  205. /package/dist/{bresenham3d-D-t9i_b5.d.ts → bresenham3d-bt61R-Qa.d.ts} +0 -0
  206. /package/dist/{camera-blit-capture-BlC-arRb.d.ts → camera-blit-capture-CgNJ9grH.d.ts} +0 -0
  207. /package/dist/{camera-follower-CO_ibF2o.d.ts → camera-follower-OnnXsbHd.d.ts} +0 -0
  208. /package/dist/{capability-checker-BZ3_x1YL.d.ts → capability-checker-DrWimJ_t.d.ts} +0 -0
  209. /package/dist/{capture-failure-tracker-BAUKjtXU.d.ts → capture-failure-tracker-bUXJeMvQ.d.ts} +0 -0
  210. /package/dist/{capture-motion-gate-CPwLekNf.d.ts → capture-motion-gate-C60Qrilh.d.ts} +0 -0
  211. /package/dist/{chromium-camera-access-workaround-BHR4clTE.d.ts → chromium-camera-access-workaround-BRs6gkI4.d.ts} +0 -0
  212. /package/dist/{concurrency-DW0jQo3G.d.ts → concurrency-CMhbkxBk.d.ts} +0 -0
  213. /package/dist/{css3d-renderer-manager-CJjHtCMT.d.ts → css3d-renderer-manager-CE6xN7XM.d.ts} +0 -0
  214. /package/dist/{device-orientation-cache-j-kLP8he.js → device-orientation-cache-BjEaEAmh.js} +0 -0
  215. /package/dist/{failure-tracker-B7fzPfZo.d.ts → failure-tracker-BdaFulDA.d.ts} +0 -0
  216. /package/dist/{file-system-utils-BHI0rXr9.d.ts → file-system-utils-DE3BViuq.d.ts} +0 -0
  217. /package/dist/{format-file-size-Da8rZgfs.d.ts → format-file-size-B2CJdRqD.d.ts} +0 -0
  218. /package/dist/{frame-loop-7GBMBu68.d.ts → frame-loop-CUEIdlhS.d.ts} +0 -0
  219. /package/dist/{frustum-visibility-COPfzruF.d.ts → frustum-visibility-BTx1Sqfo.d.ts} +0 -0
  220. /package/dist/{geo-types-BfDK8kJu.d.ts → geo-types-DGe5UKgx.d.ts} +0 -0
  221. /package/dist/{gps-CnhYrJCa.d.ts → gps-CC0l9lCp.d.ts} +0 -0
  222. /package/dist/{gps-compass-cubes-CT3TWctJ.d.ts → gps-compass-cubes-QQJgpRXR.d.ts} +0 -0
  223. /package/dist/{gps-error-handler-DjVuLXve.d.ts → gps-error-handler-da4DCcs5.d.ts} +0 -0
  224. /package/dist/{h3-proximity-BaAulrnM.d.ts → h3-proximity-CAEk3osq.d.ts} +0 -0
  225. /package/dist/{hit-test-reticle-DhnCMOsc.d.ts → hit-test-reticle-DcOyqo3B.d.ts} +0 -0
  226. /package/dist/{image-capture-C4DwxC10.js → image-capture-Dn8uLIP2.js} +0 -0
  227. /package/dist/{image-quality--HLuyJ2r.d.ts → image-quality-G7_qT4aj.d.ts} +0 -0
  228. /package/dist/{index-CjxbDm8W.d.ts → index-T8Fxvzka.d.ts} +0 -0
  229. /package/dist/{index-Nr3qg4IH.d.ts → index-Y_RNWbQX.d.ts} +0 -0
  230. /package/dist/{leaflet-map-overlay-CTcTVmL1.js → leaflet-map-overlay-DjWfRT8a.js} +0 -0
  231. /package/dist/{lerp-utils-bwMwVCpU.d.ts → lerp-utils-B-ecvLq2.d.ts} +0 -0
  232. /package/dist/{list-formatter-1ttG18MQ.d.ts → list-formatter-C45u3Vgv.d.ts} +0 -0
  233. /package/dist/{logger-B4StJUDb.d.ts → logger-BQGNXi9W.d.ts} +0 -0
  234. /package/dist/{map-data-DkhsYDGM.js → map-data-vL8jb5Z9.js} +0 -0
  235. /package/dist/{opfs-storage-S_odkCk1.d.ts → opfs-storage-CrhVauNL.d.ts} +0 -0
  236. /package/dist/{permission-checker-B-VtjnBA.d.ts → permission-checker-BDrCOwQF.d.ts} +0 -0
  237. /package/dist/{qr-pose-21fRDcFO.d.ts → qr-pose-_dInl6di.d.ts} +0 -0
  238. /package/dist/{scene-node-names-DWzhE7Ro.d.ts → scene-node-names-Ct6ATrfM.d.ts} +0 -0
  239. /package/dist/{session-disposers-B7hUN90w.js → session-disposers-BJM5U62W.js} +0 -0
  240. /package/dist/{three-dispose-C3mnKQR5.d.ts → three-dispose-B5-XiECx.d.ts} +0 -0
  241. /package/dist/{vis-colors-CoSpbZEO.d.ts → vis-colors-16Pht13u.d.ts} +0 -0
  242. /package/dist/{webxr-nue-basis-C3vTqkE2.d.ts → webxr-nue-basis-B8ZEetVb.d.ts} +0 -0
  243. /package/dist/{xr-camera-texture-q0eIDSRg.d.ts → xr-camera-texture-BA4xiaQ4.d.ts} +0 -0
  244. /package/dist/{xr-error-handler-D9y5r8ok.d.ts → xr-error-handler-BeyxXCE_.d.ts} +0 -0
  245. /package/dist/{xr-frame-loop-BiZvgqP7.d.ts → xr-frame-loop-A1mGDFHI.d.ts} +0 -0
  246. /package/dist/{zip-coverage-embed-CyoX7XL7.d.ts → zip-coverage-embed-BC3O2-8b.d.ts} +0 -0
  247. /package/dist/{zip-export-CuBimX1J.d.ts → zip-export-Cfl_kNQ7.d.ts} +0 -0
  248. /package/dist/{zip-reader-BHc_b_iA.d.ts → zip-reader-DwkuvlGo.d.ts} +0 -0
package/dist/index.d.ts CHANGED
@@ -1,83 +1,90 @@
1
- import { n as DEFAULT_AR_CRASH_ISOLATION, r as validateArCrashIsolationOptions, t as ArCrashIsolationOptions } from "./ar-crash-isolation-DlXCGzMf.js";
2
- import { r as bresenham3d, t as GridCell } from "./bresenham3d-D-t9i_b5.js";
3
- import { a as computeCaptureSize, i as computeAspectFitSize, n as CameraBlitCaptureConfig, r as DEFAULT_BLIT_CONFIG, t as CameraBlitCapture } from "./camera-blit-capture-BlC-arRb.js";
4
- import { i as isFullySupported, n as CapabilitySupport, r as capabilityMessage, t as CapabilityMessageOptions } from "./capability-checker-BZ3_x1YL.js";
5
- 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-BAUKjtXU.js";
6
- 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-BHR4clTE.js";
7
- import { a as RgbTuple, c as extractOdomPosition, i as DepthSample, l as extractOdomRotation, n as ArPoseTuples, o as WebXRQuaternion, r as DepthPoint, s as WebXRVec3, t as ARPose } from "./ar-types-D6PYS4bc.js";
8
- import { n as createDepthGridLookup, t as DepthGridLookup } from "./depth-grid-lookup-CCuzlqUo.js";
9
- import { a as wrapXRDepthInfo, i as DepthSamplerConfig, n as DepthSampler, r as DepthSamplerCallbacks, t as DepthInfo } from "./depth-sampler-CS2jAFw4.js";
10
- import { n as createDepthUnprojector, r as unprojectDepthPoint, t as DepthUnprojector } from "./depth-unprojection-ET3Gwedf.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-CnhYrJCa.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-B-VtjnBA.js";
13
- import { a as DEFAULT_SHARPNESS_MIN_SAMPLES, c as QualityRejectReason, d as highFrequencyEnergyRatio, f as meanLuminance, i as DEFAULT_SHARPNESS_HISTORY_SIZE, l as QualityVerdict, m as sharpnessScore, n as BlurMetricId, o as ImageQualityGate, p as rgbaToGrayscale, r as DEFAULT_QUALITY_FILTER, s as QualityFilterConfig, t as BLUR_METRIC_IDS, u as blurMetricScorer } from "./image-quality--HLuyJ2r.js";
14
- import { a as ImageCaptureCallbacks, c as MIN_VALID_IMAGE_BYTES, i as FrameQualityVerdict, n as CapturedImage, o as ImageCaptureConfig, r as DEFAULT_CAPTURE_CONFIG, s as ImageCaptureManager, t as CapturedFrame } from "./image-capture-BevgKpoO.js";
15
- 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-BAbcZK-Y.js";
16
- 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-21fRDcFO.js";
17
- 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-QzKZSqB-.js";
18
- import { i as acquireCameraTexture, n as RendererLike, r as XRCameraLike, t as CameraTextureResult } from "./xr-camera-texture-q0eIDSRg.js";
19
- import { A as startCameraFrameCapture, D as rebindTrackingStore, F as stopImageCapture, M as startImageCapture, N as stopCameraFrameCapture, P as stopDepthCapture, S as initAR, _ as getDepthInfoFromFrame, a as SessionFeatureOptions, b as getScene, g as getCurrentArPose, h as getCameraFrameCount, i as SessionEndInfo, j as startDepthCapture, m as getCamera, n as CameraFrameCaptureConfig, p as getArWorldGroup, t as ArSessionCallbacks, u as endARSession, v as getDepthSampleCount, y as getImageCaptureFrameCount } from "./webxr-session-DefwObIu.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-D_xEHzh5.js";
21
- import { r as registerFrameUpdate, t as FrameUpdate } from "./frame-loop-7GBMBu68.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-rVFf4AdM.js";
23
- import { t as createQrSizeDepthContext } from "./qr-size-depth-context-CMDv6T29.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-DZPxZd9C.js";
25
- import { n as createQrDebugView, t as QrDebugView } from "./qr-debug-view-CGlITU09.js";
26
- import { a as createQrDetectionController, i as RawObservationSink, n as QrDetectionControllerDeps, r as QrScanStatus, t as QrDetectionController } from "./qr-detection-controller-C5NII-vs.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-mABSN0AW.js";
28
- import { C as parseQrLevel, D as buildQrGpsVotes, E as QrGpsVoteInput, O as localPlaneToEnu, S as fetchQrLevel, T as QrGeoPose, _ as createQrTrackingController, a as checkQrPlausibility, b as QrLevel, c as QrDetectionScheduler, d as createQrDetectionScheduler, f as QrDetectionEvent, g as QrTrackingStatus, h as QrTrackingControllerConfig, i as QrPlausibilityVerdict, k as offsetGeo, l as QrDetectionSchedulerConfig, m as QrTrackingController, n as QrPlausibility, o as DetectionScheduler, p as QrSolvePoseInput, r as QrPlausibilityOptions, s as DetectionSchedulerConfig, t as OccupancySurface, u as createDetectionScheduler, v as FetchLike, w as Enu, x as QrLevelValidationError, y as FetchQrLevelOptions } from "./index-BWVwd9Zw.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-ByxwDEyM.js";
30
- import { n as CameraFrameSourceCallbacks, r as CameraFrameSourceConfig, t as CameraFrameSource } from "./index-Dxb6ATNK.js";
31
- import { n as OccupancyGridOptions, t as OccupancyGrid } from "./occupancy-grid-CYBdmMOo.js";
32
- import { a as meshOccupiedCells, i as OccupancyMeshResult, r as MeshOccupiedCellsOptions, t as Aabb } from "./occupancy-mesher-B4Bv4BTk.js";
33
- import { i as registerXrFrameUpdate, n as XrFrameUpdate, t as XrFrameContext } from "./xr-frame-loop-BiZvgqP7.js";
34
- import { n as createCameraFollower, t as CameraFollower } from "./camera-follower-CO_ibF2o.js";
35
- import { n as createAlignmentLerper, t as AlignmentLerper } from "./alignment-lerper-DAHicRON.js";
36
- import { n as createCss3dRendererManager, t as Css3dRendererManager } from "./css3d-renderer-manager-CJjHtCMT.js";
37
- 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-BJeO36YT.js";
38
- import { t as SCENE_NODE } from "./scene-node-names-DWzhE7Ro.js";
39
- import { t as WEBXR_TO_NUE } from "./webxr-nue-basis-C3vTqkE2.js";
40
- import { n as XR_ERROR_MESSAGE_UNKNOWN, r as getXrErrorMessage, t as XR_ERROR_MESSAGES } from "./xr-error-handler-D9y5r8ok.js";
41
- 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-BaAulrnM.js";
42
- import { a as startAbsoluteOrientationWatch, i as isAbsoluteOrientationAvailable, n as AbsoluteOrientationStatus, o as stopAbsoluteOrientationWatch, r as getLatestAbsoluteOrientation, t as AbsoluteOrientationReading } from "./absolute-orientation-Dj1One3y.js";
43
- 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-DjVuLXve.js";
44
- 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-B4StJUDb.js";
45
- import { n as RawGpsSample, r as RefPointMarker, t as GpsCoord } from "./geo-types-BfDK8kJu.js";
46
- import { n as computeFusedPath, r as fusedGpsFromOdom, t as FusedPathInput } from "./fused-path-DOKzVMiO.js";
47
- import { n as FailureTrackerConfig, r as createFailureTracker, t as FailureTracker } from "./failure-tracker-B7fzPfZo.js";
48
- import { n as mapWithConcurrencyLimit } from "./concurrency-DW0jQo3G.js";
49
- import { t as geodesicAngleRad } from "./index-Nr3qg4IH.js";
50
- import { t as formatFileSize } from "./format-file-size-Da8rZgfs.js";
51
- import { t as listFormatter } from "./list-formatter-1ttG18MQ.js";
52
- import { a as recordWriteFailure, i as recordDepthSample, o as recordingReducer, r as endSession, s as startSession, t as RecordingState } from "./recording-slice-DXw5-UvO.js";
53
- 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-S_odkCk1.js";
54
- import { n as StorageBackend, t as CreateSessionResult } from "./storage-backend-BX7egQKi.js";
55
- import { A as snapshotPushed, C as createTrackingQualityListenerMiddleware, D as resetTrackingQuality, E as reportUpdated, M as trackingQualityReducer, O as selectRecentAlignments, S as computeTrackingQualityReport, T as matrixDelta, _ as computeConvergence, a as SlamAppStoreOptions, b as computeGpsVsFusedDivergence, g as TrackingQualityState, h as TrackingQualitySliceState, i as SlamAppStore, j as snapshotsTrimmed, k as selectTrackingQuality, m as TrackingQualityReport, n as SlamAppMiddleware, o as createSlamAppStore, p as TrackingQualityOptions, r as SlamAppRootState, s as AlignmentSnapshot, t as SlamAppCombinedState, u as DEFAULT_TRACKING_QUALITY_OPTIONS, v as computeCoverage, x as computeResidualConsensus, y as computeGpsAccuracy } from "./create-slam-app-store-DFm5K9Ob.js";
56
- import { a as eulerToQuaternion, c as getLastDeviceOrientation, i as createGpsPositionHandler, l as updateDeviceOrientation, n as buildRawGpsPoint, o as resetCoordinatorState, r as buildRecordGpsEventPayload, t as RecordingCoordinatorConfig } from "./gps-event-coordinator-Cruoe5I-.js";
57
- import { a as ZipActionEntry, c as loadActionsFromZip, f as loadSessionMetadataFromBlob, i as RecordedAction, n as GpsPathCoord, p as readZipEntries, r as MAX_ACTION_FILE_SIZE, u as loadGpsPathFromBlob } from "./zip-reader-BHc_b_iA.js";
58
- import { n as replayRecording } from "./recording-replayer-qT2EM1Qs.js";
59
- 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-B1H_kLhK.js";
60
- import { n as MapDataInput, r as buildMapData, t as MapData } from "./map-data-D8cCqpOM.js";
61
- import { t as SubscribableStore } from "./subscribe-to-selector-j-eOYybQ.js";
62
- import { n as wireStoreSubscribers, t as StoreSubscriberDeps } from "./store-subscribers-CWHToX6N.js";
63
- 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-ClmnNJ6-.js";
64
- import { t as NullStorageBackend } from "./null-storage-backend-DXXuwG8T.js";
65
- import { t as OpfsStorageBackend } from "./opfs-storage-backend-D1ZpeNEL.js";
66
- import { a as formatTimestamp, i as formatFrameFilename, r as formatActionFilename } from "./file-system-utils-BHI0rXr9.js";
67
- 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-CuBimX1J.js";
68
- import { n as ArWorldGroupAlignmentOptions, r as enableArWorldGroupAlignment, t as ArWorldGroupAlignmentHandle } from "./ar-world-group-alignment-BdS_h8Nf.js";
69
- import { i as createGpsCompassCubes, n as COMPASS_CUBE_SIZE, r as GpsCompassCubes, t as COMPASS_CUBE_DISTANCE } from "./gps-compass-cubes-CT3TWctJ.js";
70
- import { i as isSphereInCameraFrustum, n as isObjectInCameraFrustum, r as isPointInCameraFrustum, t as buildCameraFrustum } from "./frustum-visibility-COPfzruF.js";
71
- import { n as worldNueToGps, t as nueToArLocal } from "./frame-conversions-CH7E2Iv_.js";
72
- import { n as createReticleMesh, r as updateReticle, t as HitMatrix } from "./hit-test-reticle-DhnCMOsc.js";
73
- import { a as GpsAnchorSamplePoint, i as GpsAnchorPhase, n as GpsAnchorMode, o as createGpsAnchor, r as GpsAnchorOptions, t as GpsAnchor } from "./gps-anchor-BaqyRsPC.js";
74
- import { i as gpsEventVisualizer, n as GpsEventVisualizer } from "./gps-event-markers-y2b2aVl6.js";
75
- import { a as OcclusionMeshOptions, i as OcclusionMesh, r as OccluderDebugStyle, t as OCCLUDER_DEBUG_STYLES } from "./occlusion-mesh-BWe2PrVi.js";
76
- 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-CksetpTt.js";
77
- import { n as clampedAlpha, t as DEFAULT_LERP_RATE } from "./lerp-utils-bwMwVCpU.js";
78
- 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-BHz7yVIL.js";
79
- 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-Cy-klqoA.js";
80
- import { n as disposeMeshArray, r as disposeObject3D, t as DisposeOptions } from "./three-dispose-C3mnKQR5.js";
81
- import { t as VIS_COLORS } from "./vis-colors-CoSpbZEO.js";
1
+ import { n as DEFAULT_AR_CRASH_ISOLATION, r as validateArCrashIsolationOptions, t as ArCrashIsolationOptions } from "./ar-crash-isolation-BSFw_beO.js";
2
+ import { r as bresenham3d, t as GridCell } from "./bresenham3d-bt61R-Qa.js";
3
+ import { a as computeCaptureSize, i as computeAspectFitSize, n as CameraBlitCaptureConfig, r as DEFAULT_BLIT_CONFIG, t as CameraBlitCapture } from "./camera-blit-capture-CgNJ9grH.js";
4
+ import { i as isFullySupported, n as CapabilitySupport, r as capabilityMessage, t as CapabilityMessageOptions } from "./capability-checker-DrWimJ_t.js";
5
+ 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-bUXJeMvQ.js";
6
+ 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-BRs6gkI4.js";
7
+ import { a as RgbTuple, c as extractOdomPosition, i as DepthSample, l as extractOdomRotation, n as ArPoseTuples, o as WebXRQuaternion, r as DepthPoint, s as WebXRVec3, t as ARPose } from "./ar-types-BprL3nKv.js";
8
+ import { n as createDepthGridLookup, t as DepthGridLookup } from "./depth-grid-lookup-PcJTdRLL.js";
9
+ import { a as DepthSamplerCallbacks, i as DepthSampler, o as DepthSamplerConfig, r as DepthInfo, s as wrapXRDepthInfo } from "./depth-sampler-BcvuxgCS.js";
10
+ import { n as createDepthUnprojector, r as unprojectDepthPoint, t as DepthUnprojector } from "./depth-unprojection-DbGipFkA.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-CC0l9lCp.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-BDrCOwQF.js";
13
+ import { a as DEFAULT_SHARPNESS_MIN_SAMPLES, c as QualityRejectReason, d as highFrequencyEnergyRatio, f as meanLuminance, i as DEFAULT_SHARPNESS_HISTORY_SIZE, l as QualityVerdict, m as sharpnessScore, n as BlurMetricId, o as ImageQualityGate, p as rgbaToGrayscale, r as DEFAULT_QUALITY_FILTER, s as QualityFilterConfig, t as BLUR_METRIC_IDS, u as blurMetricScorer } from "./image-quality-G7_qT4aj.js";
14
+ import { a as ImageCaptureCallbacks, c as MIN_VALID_IMAGE_BYTES, i as FrameQualityVerdict, n as CapturedImage, o as ImageCaptureConfig, r as DEFAULT_CAPTURE_CONFIG, s as ImageCaptureManager, t as CapturedFrame } from "./image-capture-BXmx1YvD.js";
15
+ 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-D5LDL_y4.js";
16
+ 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-_dInl6di.js";
17
+ 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-BnLlVjKu.js";
18
+ import { i as acquireCameraTexture, n as RendererLike, r as XRCameraLike, t as CameraTextureResult } from "./xr-camera-texture-BA4xiaQ4.js";
19
+ import { A as startCameraFrameCapture, D as rebindTrackingStore, F as stopImageCapture, M as startImageCapture, N as stopCameraFrameCapture, P as stopDepthCapture, S as initAR, _ as getDepthInfoFromFrame, a as SessionFeatureOptions, b as getScene, g as getCurrentArPose, h as getCameraFrameCount, i as SessionEndInfo, j as startDepthCapture, m as getCamera, n as CameraFrameCaptureConfig, p as getArWorldGroup, t as ArSessionCallbacks, u as endARSession, v as getDepthSampleCount, y as getImageCaptureFrameCount } from "./webxr-session-DurXRnl_.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-xjz3jNqm.js";
21
+ import { r as registerFrameUpdate, t as FrameUpdate } from "./frame-loop-CUEIdlhS.js";
22
+ import { n as HitTestReticleHandle, r as startHitTestReticle, t as HitTestReticleArgs } from "./hit-test-reticle-driver-CfKiDgsa.js";
23
+ 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-18_W3INY.js";
24
+ import { t as createQrSizeDepthContext } from "./qr-size-depth-context-Bzbx98nS.js";
25
+ 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-Dq7mPK2s.js";
26
+ import { n as createQrDebugView, t as QrDebugView } from "./qr-debug-view-BMjNVhV2.js";
27
+ import { a as createQrDetectionController, i as RawObservationSink, n as QrDetectionControllerDeps, r as QrScanStatus, t as QrDetectionController } from "./qr-detection-controller-Dh4Paymb.js";
28
+ 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-Bpv4uARJ.js";
29
+ import { C as parseQrLevel, D as buildQrGpsVotes, E as QrGpsVoteInput, O as localPlaneToEnu, S as fetchQrLevel, T as QrGeoPose, _ as createQrTrackingController, a as checkQrPlausibility, b as QrLevel, c as QrDetectionScheduler, d as createQrDetectionScheduler, f as QrDetectionEvent, g as QrTrackingStatus, h as QrTrackingControllerConfig, i as QrPlausibilityVerdict, k as offsetGeo, l as QrDetectionSchedulerConfig, m as QrTrackingController, n as QrPlausibility, o as DetectionScheduler, p as QrSolvePoseInput, r as QrPlausibilityOptions, s as DetectionSchedulerConfig, t as OccupancySurface, u as createDetectionScheduler, v as FetchLike, w as Enu, x as QrLevelValidationError, y as FetchQrLevelOptions } from "./index-DX9VC257.js";
30
+ 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-CkcMN3o3.js";
31
+ import { n as CameraFrameSourceCallbacks, r as CameraFrameSourceConfig, t as CameraFrameSource } from "./index-DVmgFIgm.js";
32
+ import { i as OccupancyGridOptions, r as OccupancyGrid } from "./occupancy-grid-DKzIdCSZ.js";
33
+ import { a as meshOccupiedCells, i as OccupancyMeshResult, r as MeshOccupiedCellsOptions, t as Aabb } from "./occupancy-mesher-Co80tOpl.js";
34
+ import { i as registerXrFrameUpdate, n as XrFrameUpdate, t as XrFrameContext } from "./xr-frame-loop-A1mGDFHI.js";
35
+ import { n as createCameraFollower, t as CameraFollower } from "./camera-follower-OnnXsbHd.js";
36
+ import { n as createAlignmentLerper, t as AlignmentLerper } from "./alignment-lerper-CK1TYLIL.js";
37
+ import { n as createCss3dRendererManager, t as Css3dRendererManager } from "./css3d-renderer-manager-CE6xN7XM.js";
38
+ 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-D5qzY0_x.js";
39
+ import { t as SCENE_NODE } from "./scene-node-names-Ct6ATrfM.js";
40
+ import { t as WEBXR_TO_NUE } from "./webxr-nue-basis-B8ZEetVb.js";
41
+ import { n as XR_ERROR_MESSAGE_UNKNOWN, r as getXrErrorMessage, t as XR_ERROR_MESSAGES } from "./xr-error-handler-BeyxXCE_.js";
42
+ 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-CAEk3osq.js";
43
+ import { a as startAbsoluteOrientationWatch, i as isAbsoluteOrientationAvailable, n as AbsoluteOrientationStatus, o as stopAbsoluteOrientationWatch, r as getLatestAbsoluteOrientation, t as AbsoluteOrientationReading } from "./absolute-orientation-0WIsqJnu.js";
44
+ 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-da4DCcs5.js";
45
+ 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-BQGNXi9W.js";
46
+ import { n as RawGpsSample, r as RefPointMarker, t as GpsCoord } from "./geo-types-DGe5UKgx.js";
47
+ import { n as computeFusedPath, r as fusedGpsFromOdom, t as FusedPathInput } from "./fused-path-CBAttcVm.js";
48
+ import { n as FailureTrackerConfig, r as createFailureTracker, t as FailureTracker } from "./failure-tracker-BdaFulDA.js";
49
+ import { n as mapWithConcurrencyLimit } from "./concurrency-CMhbkxBk.js";
50
+ import { t as geodesicAngleRad } from "./index-Y_RNWbQX.js";
51
+ import { t as formatFileSize } from "./format-file-size-B2CJdRqD.js";
52
+ import { t as listFormatter } from "./list-formatter-C45u3Vgv.js";
53
+ import { a as recordWriteFailure, i as recordDepthSample, o as recordingReducer, r as endSession, s as startSession, t as RecordingState } from "./recording-slice-zMedT0ot.js";
54
+ 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-CrhVauNL.js";
55
+ import { n as StorageBackend, t as CreateSessionResult } from "./storage-backend-DCYbOvTw.js";
56
+ import { A as snapshotPushed, C as createTrackingQualityListenerMiddleware, D as resetTrackingQuality, E as reportUpdated, M as trackingQualityReducer, O as selectRecentAlignments, S as computeTrackingQualityReport, T as matrixDelta, _ as computeConvergence, a as SlamAppStoreOptions, b as computeGpsVsFusedDivergence, g as TrackingQualityState, h as TrackingQualitySliceState, i as SlamAppStore, j as snapshotsTrimmed, k as selectTrackingQuality, m as TrackingQualityReport, n as SlamAppMiddleware, o as createSlamAppStore, p as TrackingQualityOptions, r as SlamAppRootState, s as AlignmentSnapshot, t as SlamAppCombinedState, u as DEFAULT_TRACKING_QUALITY_OPTIONS, v as computeCoverage, x as computeResidualConsensus, y as computeGpsAccuracy } from "./create-slam-app-store-sxb1-esK.js";
57
+ import { a as eulerToQuaternion, c as getLastDeviceOrientation, i as createGpsPositionHandler, l as updateDeviceOrientation, n as buildRawGpsPoint, o as resetCoordinatorState, r as buildRecordGpsEventPayload, t as RecordingCoordinatorConfig } from "./gps-event-coordinator-BAy56wYd.js";
58
+ import { a as ZipActionEntry, c as loadActionsFromZip, f as loadSessionMetadataFromBlob, i as RecordedAction, n as GpsPathCoord, p as readZipEntries, r as MAX_ACTION_FILE_SIZE, u as loadGpsPathFromBlob } from "./zip-reader-DwkuvlGo.js";
59
+ import { n as replayRecording } from "./recording-replayer-CpFiYczh.js";
60
+ 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-DI7uknkv.js";
61
+ import { n as MapDataInput, r as buildMapData, t as MapData } from "./map-data-BQXPtRz7.js";
62
+ import { t as SubscribableStore } from "./subscribe-to-selector-hitZwSj8.js";
63
+ import { n as wireStoreSubscribers, t as StoreSubscriberDeps } from "./store-subscribers-BenHBQhD.js";
64
+ 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-qYJ5-SBC.js";
65
+ import { t as NullStorageBackend } from "./null-storage-backend-Dtn3TBfT.js";
66
+ import { t as OpfsStorageBackend } from "./opfs-storage-backend-CZ-ECudx.js";
67
+ import { a as formatTimestamp, i as formatFrameFilename, r as formatActionFilename } from "./file-system-utils-DE3BViuq.js";
68
+ 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-Cfl_kNQ7.js";
69
+ import { n as ArWorldGroupAlignmentOptions, r as enableArWorldGroupAlignment, t as ArWorldGroupAlignmentHandle } from "./ar-world-group-alignment-Dn_UiRy1.js";
70
+ import { i as createGpsCompassCubes, n as COMPASS_CUBE_SIZE, r as GpsCompassCubes, t as COMPASS_CUBE_DISTANCE } from "./gps-compass-cubes-QQJgpRXR.js";
71
+ import { i as isSphereInCameraFrustum, n as isObjectInCameraFrustum, r as isPointInCameraFrustum, t as buildCameraFrustum } from "./frustum-visibility-BTx1Sqfo.js";
72
+ import { n as worldNueToGps, t as nueToArLocal } from "./frame-conversions-CzPQDYpM.js";
73
+ import { n as createReticleMesh, r as updateReticle, t as HitMatrix } from "./hit-test-reticle-DcOyqo3B.js";
74
+ import { a as GpsAnchorSamplePoint, i as GpsAnchorPhase, n as GpsAnchorMode, o as createGpsAnchor, r as GpsAnchorOptions, t as GpsAnchor } from "./gps-anchor-Gv4NDwH4.js";
75
+ import { i as gpsEventVisualizer, n as GpsEventVisualizer } from "./gps-event-markers-212h7j3D.js";
76
+ import { a as OcclusionMeshOptions, i as OcclusionMesh, r as OccluderDebugStyle, t as OCCLUDER_DEBUG_STYLES } from "./occlusion-mesh-BY2aMej3.js";
77
+ import { a as pickNearestSubset, i as ViewerPose, n as OccupancyCubesVisualizerOptions, r as OccupancyGridSource, t as OccupancyCubesVisualizer } from "./occupancy-cubes-visualizer-soN0Sizd.js";
78
+ 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-BkHmzvpD.js";
79
+ import { n as clampedAlpha, t as DEFAULT_LERP_RATE } from "./lerp-utils-B-ecvLq2.js";
80
+ import { a as raycastPointer, i as pointerToNdc, n as Ndc, r as pickWorldPoint, t as ElementRect } from "./pointer-picking-BATHHTlT.js";
81
+ import { i as createPerfStatsOverlay, n as PerfStatsOverlayHandle, r as PerfStatsOverlayOptions, t as PerfStatsInstance } from "./perf-stats-overlay-BMEQrzx6.js";
82
+ 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-CFnKGfsD.js";
83
+ 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-sTM3wug_.js";
84
+ import { n as TextSpriteOptions, r as createTextSprite, t as TextSprite } from "./text-sprite-C6VcC2mo.js";
85
+ import { a as validateWayfindingHudOptions, i as createWayfindingHud, n as WayfindingHud, r as WayfindingHudOptions, t as DEFAULT_WAYFINDING_HUD } from "./wayfinding-hud-DVun2b69.js";
86
+ import { a as TargetPlacementInput, c as formatDistanceLabel, i as TargetPlacement, l as getHudFrustumExtents, n as CirclePlacement, o as TargetPlacementState, r as HiddenPlacement, s as computeTargetPlacement, t as ArrowPlacement } from "./wayfinding-placement-dnHzfYlT.js";
87
+ import { n as disposeMeshArray, r as disposeObject3D, t as DisposeOptions } from "./three-dispose-B5-XiECx.js";
88
+ import { t as VIS_COLORS } from "./vis-colors-16Pht13u.js";
82
89
  import { COMMUNITY_LICENSE_KEY } from "./licensing/index.js";
83
- export { ACCURACY_CIRCLE_FILL_OPACITY, ACCURACY_CIRCLE_STROKE_OPACITY, ACCURACY_CIRCLE_WEIGHT, ALIGNMENT_SNAPSHOT_COLOR, ARPose, Aabb, AbsoluteOrientationReading, AbsoluteOrientationStatus, AccuracyCircleSample, AggregateQrPoseResult, AlignmentLerper, type AlignmentSnapshot, ArCrashIsolationOptions, ArPoseTuples, ArSessionCallbacks, ArWorldGroupAlignmentHandle, ArWorldGroupAlignmentOptions, AverageRotationOptions, AverageRotationResult, BASELAYER_WINDOW_MAX, BASELAYER_WINDOW_MIN, BLUR_METRIC_IDS, BarcodeDetectorFrontEnd, BarcodeDetectorLike, BlurMetricId, 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, CapturedFrame, CapturedImage, ChromeVersion, ChromiumProjectionLayerWorkaroundResult, type CompleteCallback, type CreateSessionResult, Css3dRendererManager, DEFAULT_AR_CRASH_ISOLATION, DEFAULT_BLIT_CONFIG, DEFAULT_CAPTURE_CONFIG, DEFAULT_CAPTURE_TRACKER_CONFIG, DEFAULT_LEAFLET_MAP_SIZE_PX, DEFAULT_LERP_RATE, DEFAULT_MAX_DELAY_MS, DEFAULT_QUALITY_FILTER, DEFAULT_ROTATION_INLIER_ANGLE_DEG, DEFAULT_SHARPNESS_HISTORY_SIZE, DEFAULT_SHARPNESS_MIN_SAMPLES, DEFAULT_TRACKING_QUALITY_OPTIONS, DEFAULT_WORLD_SIZE, DEFAULT_Z_OFFSET, 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, FrameQualityVerdict, 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, ImageCaptureCallbacks, ImageCaptureConfig, ImageCaptureManager, ImageQualityGate, ImageSize, IncrementalQrPlacement, KnownGeoAnchor, LeafletMapOverlay, LeafletMapOverlayOptions, LogEntry, LogLevel, Logger, MAP_PATH_POLYLINE_OPACITY, MAP_PATH_POLYLINE_WEIGHT, MAX_ACTION_FILE_SIZE, MIN_VALID_IMAGE_BYTES, MapData, MapDataInput, Mat3, MeshOccupiedCellsOptions, NullStorageBackend, OCCLUDER_DEBUG_STYLES, OccluderDebugStyle, OcclusionMesh, OcclusionMeshOptions, OccupancyGrid, OccupancyGridOptions, OccupancyMeshResult, 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, QualityFilterConfig, QualityRejectReason, QualityVerdict, RAW_GPS_COLOR, RawDeviceOrientation, RawGpsSample, RawObservationSink, RawQrObservation, type RecordedAction, type RecordingCoordinatorConfig, type RecordingState, RefPointMarker, RendererLike, type ReplayAction, ReplayEngine, ReplaySceneState, type ReplayState, RgbTuple, RgbaImage, SCENE_NODE, SessionEndInfo, SessionFeatureOptions, type SlamAppCombinedState, type SlamAppMiddleware, type SlamAppRootState, type SlamAppStore, type SlamAppStoreOptions, SolvePnpSquare, SolveQrPoseInput, type StorageBackend, type StoreSubscriberDeps, type SubscribableStore, 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, blurMetricScorer, bresenham3d, buildCameraFrustum, buildMapData, buildObjectPoints, buildQrGpsVotes, buildRawGpsPoint, buildRecordGpsEventPayload, calcRelativeCoordsInMeters, capabilityMessage, checkAllPermissions, checkCameraPermission, checkFileSystemPermission, checkGeolocationPermission, checkOrientationPermission, checkQrPlausibility, checkStorageQuota, checkWebXRSupport, clampedAlpha, clearLastRestartedPayload, clearLogBuffer, clusterCellsByZoom, composePose, computeAspectFitSize, computeCaptureSize, 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, formatActionFilename, formatFileSize, formatFrameFilename, formatTimestamp, fusedGpsFromOdom, geodesicAngleRad, getAlignmentLerper, getAppRootHandle, getArWorldGroup, getCamera, getCameraFollower, getCameraFrameCount, getCameraMode, getCurrentArPose, getDepthInfoFromFrame, getDepthSampleCount, getGlobalLogLevel, getGpsErrorMessage, getImageCaptureFrameCount, getLastDeviceOrientation, getLatestAbsoluteOrientation, getLogBuffer, getReplayState, getScene, getSessionHandle, getSessionsRootHandle, getXrErrorMessage, gpsEventVisualizer, gpsPathToCoverageCells, gpsToH3, h3CellsMatch, highFrequencyEnergyRatio, homographyFromCorrespondences, initAR, initOpfsStorage, initReplayScene, intrinsicsFromProjection, invertPose, ippePoseCandidates, isAbsoluteOrientationAvailable, isFullySupported, isH3Index, isObjectInCameraFrustum, isPointInCameraFrustum, isSphereInCameraFrustum, listFormatter, listSessions, loadActionsFromZip, loadGpsPathFromBlob, loadSessionMetadataFromBlob, localPlaneToEnu, mapWithConcurrencyLimit, matrixDelta, meanLuminance, meshOccupiedCells, nearestRotation3x3, needsBaseLayerPersistence, nueToArLocal, offsetGeo, originReset, parseChromeVersion, parseQrLevel, poseLost, poseReceived, projectViewPoint, qrInCameraFromOpenCv, readZipEntries, rebindTrackingStore, recordDepthSample, recordGpsEvent, recordWriteFailure, recordingReducer, registerFrameUpdate, registerXrFrameUpdate, replayRecording, reportUpdated, reprojectionErrorPx, requestAllPermissions, requestCameraPermission, requestOrientationPermission as requestDeviceOrientationPermission, requestGeolocationPermission, requestOrientationPermission$1 as requestOrientationPermission, requestWebXRWithDepthPermission, resetCoordinatorState, resetFileSystemState, resetOpfsStorage, resetSessionHandles, resetTracking, resetTrackingQuality, rgbaToGrayscale, rotationToRodrigues, selectLastRestartedPayload, selectLastSensorOrientation, selectLastValidPose, selectLostFrameCount, selectOnboardingGuidance, selectRecentAlignments, selectTrackingPhase, selectTrackingQuality, setFileSystemState, setGlobalLogLevel, setZeroPos, sharpnessScore, signedQuadArea, snapshotPushed, snapshotsTrimmed, solveLinear, solveQrPose, solveQrPoseFromObservation, startAbsoluteOrientationWatch, startCameraFrameCapture, startDepthCapture, startGpsWatch, startImageCapture, startOrientationWatch, startSession, stopAbsoluteOrientationWatch, stopCameraFrameCapture, stopDepthCapture, stopGpsWatch, stopImageCapture, stopOrientationWatch, subscribeToLogs, syncToExternalZip, toggleCameraMode, trackingQualityReducer, trackingReducer, transformPoint, unprojectDepthPoint, updateDeviceOrientation, updateOrbitTarget, updateReticle, validateArCrashIsolationOptions, validateQuad, wireStoreSubscribers, worldNueToGps, wrapXRDepthInfo };
90
+ export { ACCURACY_CIRCLE_FILL_OPACITY, ACCURACY_CIRCLE_STROKE_OPACITY, ACCURACY_CIRCLE_WEIGHT, ALIGNMENT_SNAPSHOT_COLOR, ARPose, Aabb, AbsoluteOrientationReading, AbsoluteOrientationStatus, AccuracyCircleSample, AggregateQrPoseResult, AlignmentLerper, type AlignmentSnapshot, ArCrashIsolationOptions, ArPoseTuples, ArSessionCallbacks, ArWorldGroupAlignmentHandle, ArWorldGroupAlignmentOptions, ArrowPlacement, AverageRotationOptions, AverageRotationResult, BASELAYER_WINDOW_MAX, BASELAYER_WINDOW_MIN, BLUR_METRIC_IDS, BarcodeDetectorFrontEnd, BarcodeDetectorLike, BlurMetricId, 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, CapturedFrame, CapturedImage, ChromeVersion, ChromiumProjectionLayerWorkaroundResult, CirclePlacement, type CompleteCallback, type CreateSessionResult, Css3dRendererManager, DEFAULT_AR_CRASH_ISOLATION, DEFAULT_BLIT_CONFIG, DEFAULT_CAPTURE_CONFIG, DEFAULT_CAPTURE_TRACKER_CONFIG, DEFAULT_LEAFLET_MAP_SIZE_PX, DEFAULT_LERP_RATE, DEFAULT_MAX_DELAY_MS, DEFAULT_QUALITY_FILTER, DEFAULT_ROTATION_INLIER_ANGLE_DEG, DEFAULT_SHARPNESS_HISTORY_SIZE, DEFAULT_SHARPNESS_MIN_SAMPLES, DEFAULT_TRACKING_QUALITY_OPTIONS, DEFAULT_WAYFINDING_HUD, DEFAULT_WORLD_SIZE, DEFAULT_Z_OFFSET, DepthGridLookup, DepthInfo, DepthPoint, DepthSample, DepthSampler, DepthSamplerCallbacks, DepthSamplerConfig, DepthUnprojector, DeriveQrPoseDeps, DerivedQrPlacement, DetectedBarcodeLike, DetectionScheduler, DetectionSchedulerConfig, DisposeOptions, DrawMapDataOptions, DrawnMapData, ElementRect, EnableGpsArConfig, EnableGpsArController, EnableGpsArDeps, EnableGpsArResult, EnableGpsArState, EnableGpsArStatus, Enu, type ErrorCallback, type ExportSessionAsZipOptions, FUSED_PATH_COLOR, FailureTracker, FailureTrackerConfig, FetchLike, FetchQrLevelOptions, FrameQualityVerdict, 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, HiddenPlacement, HitMatrix, HitTestReticleArgs, HitTestReticleHandle, Homography, ImageCaptureCallbacks, ImageCaptureConfig, ImageCaptureManager, ImageQualityGate, ImageSize, IncrementalQrPlacement, KnownGeoAnchor, LeafletMapOverlay, LeafletMapOverlayOptions, LogEntry, LogLevel, Logger, MAP_PATH_POLYLINE_OPACITY, MAP_PATH_POLYLINE_WEIGHT, MAX_ACTION_FILE_SIZE, MIN_VALID_IMAGE_BYTES, MapData, MapDataInput, Mat3, MeshOccupiedCellsOptions, Ndc, NullStorageBackend, OCCLUDER_DEBUG_STYLES, OccluderDebugStyle, OcclusionMesh, OcclusionMeshOptions, OccupancyCubesVisualizer, OccupancyCubesVisualizerOptions, OccupancyGrid, OccupancyGridOptions, OccupancyGridSource, OccupancyMeshResult, OccupancySurface, type OnboardingGuidance, type OnboardingPhase, OpenCvPnpResult, OpfsStorageBackend, PerfStatsInstance, PerfStatsOverlayHandle, PerfStatsOverlayOptions, 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, QualityFilterConfig, QualityRejectReason, QualityVerdict, RAW_GPS_COLOR, RawDeviceOrientation, RawGpsSample, RawObservationSink, RawQrObservation, type RecordedAction, type RecordingCoordinatorConfig, type RecordingState, RefPointMarker, RendererLike, type ReplayAction, ReplayEngine, ReplaySceneState, type ReplayState, RgbTuple, RgbaImage, SCENE_NODE, SessionEndInfo, SessionFeatureOptions, type SlamAppCombinedState, type SlamAppMiddleware, type SlamAppRootState, type SlamAppStore, type SlamAppStoreOptions, SolvePnpSquare, SolveQrPoseInput, type StorageBackend, type StoreSubscriberDeps, type SubscribableStore, TargetPlacement, TargetPlacementInput, TargetPlacementState, TextSprite, TextSpriteOptions, ToImageBitmapSource, type TrackingPhase, type TrackingQualityOptions, type TrackingQualityReport, type TrackingQualitySliceState, type TrackingQualityState, type TrackingSliceState, USER_POSITION_COLOR, VIS_COLORS, ViewerPose, WEBXR_TO_NUE, WayfindingHud, WayfindingHudOptions, 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, blurMetricScorer, bresenham3d, buildCameraFrustum, buildMapData, buildObjectPoints, buildQrGpsVotes, buildRawGpsPoint, buildRecordGpsEventPayload, calcRelativeCoordsInMeters, capabilityMessage, checkAllPermissions, checkCameraPermission, checkFileSystemPermission, checkGeolocationPermission, checkOrientationPermission, checkQrPlausibility, checkStorageQuota, checkWebXRSupport, clampedAlpha, clearLastRestartedPayload, clearLogBuffer, clusterCellsByZoom, composePose, computeAspectFitSize, computeCaptureSize, computeConvergence, computeCoverage, computeFusedPath, computeGpsAccuracy, computeGpsVsFusedDivergence, computeInterActionDelay, computeOnboardingGuidance, computeResidualConsensus, computeTargetPlacement, computeTrackingQualityReport, createAlignmentLerper, createBarcodeDetectorFrontEnd, createCameraFollower, createCaptureFailureTracker, createCss3dRendererManager, createDepthGridLookup, createDepthUnprojector, createDetectionScheduler, createEnableGpsArController, createFailureTracker, createGpsAnchor, createGpsCompassCubes, createGpsErrorHandler, createGpsPositionHandler, createIncrementalQrPlacement, createLogger, createPerfStatsOverlay, createQrDebugView, createQrDetectionController, createQrDetectionScheduler, createQrSizeAccumulator, createQrSizeDepthContext, createQrSizeMeasurer, createQrTrackingController, createReticleMesh, createSession, createSlamAppStore, createTextSprite, createTrackingQualityListenerMiddleware, createWayfindingHud, deriveQrPlacement, deriveQrSizeM, deriveSolvedQrPose, disposeMeshArray, disposeObject3D, disposeReplayScene, downloadZip, drawMapData, enableArWorldGroupAlignment, endARSession, endSession, estimateQrSizeFromDepth, eulerToQuaternion, evaluateQrPoseStability, exportSessionAsZip, exportSessionHandleAsZip, extractActionTimestamp, extractOdomPosition, extractOdomRotation, fetchQrLevel, findNearbyGeoAnchor, formatActionFilename, formatDistanceLabel, formatFileSize, formatFrameFilename, formatTimestamp, fusedGpsFromOdom, geodesicAngleRad, getAlignmentLerper, getAppRootHandle, getArWorldGroup, getCamera, getCameraFollower, getCameraFrameCount, getCameraMode, getCurrentArPose, getDepthInfoFromFrame, getDepthSampleCount, getGlobalLogLevel, getGpsErrorMessage, getHudFrustumExtents, getImageCaptureFrameCount, getLastDeviceOrientation, getLatestAbsoluteOrientation, getLogBuffer, getReplayState, getScene, getSessionHandle, getSessionsRootHandle, getXrErrorMessage, gpsEventVisualizer, gpsPathToCoverageCells, gpsToH3, h3CellsMatch, highFrequencyEnergyRatio, homographyFromCorrespondences, initAR, initOpfsStorage, initReplayScene, intrinsicsFromProjection, invertPose, ippePoseCandidates, isAbsoluteOrientationAvailable, isFullySupported, isH3Index, isObjectInCameraFrustum, isPointInCameraFrustum, isSphereInCameraFrustum, listFormatter, listSessions, loadActionsFromZip, loadGpsPathFromBlob, loadSessionMetadataFromBlob, localPlaneToEnu, mapWithConcurrencyLimit, matrixDelta, meanLuminance, meshOccupiedCells, nearestRotation3x3, needsBaseLayerPersistence, nueToArLocal, offsetGeo, originReset, parseChromeVersion, parseQrLevel, pickNearestSubset, pickWorldPoint, pointerToNdc, poseLost, poseReceived, projectViewPoint, qrInCameraFromOpenCv, raycastPointer, readZipEntries, rebindTrackingStore, recordDepthSample, recordGpsEvent, recordWriteFailure, recordingReducer, registerFrameUpdate, registerXrFrameUpdate, replayRecording, reportUpdated, reprojectionErrorPx, requestAllPermissions, requestCameraPermission, requestOrientationPermission as requestDeviceOrientationPermission, requestGeolocationPermission, requestOrientationPermission$1 as requestOrientationPermission, requestWebXRWithDepthPermission, resetCoordinatorState, resetFileSystemState, resetOpfsStorage, resetSessionHandles, resetTracking, resetTrackingQuality, rgbaToGrayscale, rotationToRodrigues, selectLastRestartedPayload, selectLastSensorOrientation, selectLastValidPose, selectLostFrameCount, selectOnboardingGuidance, selectRecentAlignments, selectTrackingPhase, selectTrackingQuality, setFileSystemState, setGlobalLogLevel, setZeroPos, sharpnessScore, signedQuadArea, snapshotPushed, snapshotsTrimmed, solveLinear, solveQrPose, solveQrPoseFromObservation, startAbsoluteOrientationWatch, startCameraFrameCapture, startDepthCapture, startGpsWatch, startHitTestReticle, startImageCapture, startOrientationWatch, startSession, stopAbsoluteOrientationWatch, stopCameraFrameCapture, stopDepthCapture, stopGpsWatch, stopImageCapture, stopOrientationWatch, subscribeToLogs, syncToExternalZip, toggleCameraMode, trackingQualityReducer, trackingReducer, transformPoint, unprojectDepthPoint, updateDeviceOrientation, updateOrbitTarget, updateReticle, validateArCrashIsolationOptions, validateQuad, validateWayfindingHudOptions, wireStoreSubscribers, worldNueToGps, wrapXRDepthInfo };
package/dist/index.js CHANGED
@@ -22,25 +22,28 @@ import { i as evaluateQrPoseStability, n as aggregateQrPose, r as averageRotatio
22
22
  import { a as offsetGeo, c as parseQrLevel, i as localPlaneToEnu, n as createQrTrackingController, o as QrLevelValidationError, r as buildQrGpsVotes, s as fetchQrLevel, t as checkQrPlausibility } from "./qr-CTp5xI83.js";
23
23
  import { BarcodeDetectorFrontEnd, createBarcodeDetectorFrontEnd } from "./ar/qr/qr-frontend.js";
24
24
  import { PlanarPnpSquare, homographyFromCorrespondences, ippePoseCandidates, nearestRotation3x3, rotationToRodrigues, solveLinear } from "./ar/qr/planar-pnp.js";
25
- import { A as stopImageCapture, D as startImageCapture, E as startDepthCapture, O as stopCameraFrameCapture, S as rebindTrackingStore, T as startCameraFrameCapture, _ as initAR, a as endARSession, c as getArWorldGroup, d as getCurrentArPose, f as getDepthInfoFromFrame, h as getScene, j as CameraFrameSource, k as stopDepthCapture, l as getCamera, m as getImageCaptureFrameCount, p as getDepthSampleCount, u as getCameraFrameCount } from "./webxr-session-OyR3YbTq.js";
25
+ import { A as stopImageCapture, D as startImageCapture, E as startDepthCapture, O as stopCameraFrameCapture, S as rebindTrackingStore, T as startCameraFrameCapture, _ as initAR, a as endARSession, c as getArWorldGroup, d as getCurrentArPose, f as getDepthInfoFromFrame, h as getScene, j as CameraFrameSource, k as stopDepthCapture, l as getCamera, m as getImageCaptureFrameCount, p as getDepthSampleCount, u as getCameraFrameCount } from "./webxr-session-BBlgzrqY.js";
26
26
  import { bresenham3d } from "./ar/bresenham3d.js";
27
27
  import { OccupancyGrid } from "./ar/occupancy-grid.js";
28
- import { meshOccupiedCells } from "./ar/occupancy-mesher.js";
28
+ import { t as meshOccupiedCells } from "./occupancy-mesher-DzNeJdQf.js";
29
29
  import { registerFrameUpdate } from "./ar/frame-loop.js";
30
30
  import { registerXrFrameUpdate } from "./ar/xr-frame-loop.js";
31
+ import { createReticleMesh, updateReticle } from "./visualization/hit-test-reticle.js";
32
+ import { startHitTestReticle } from "./ar/hit-test-reticle-driver.js";
31
33
  import { checkAllPermissions, checkCameraPermission, checkFileSystemPermission, checkGeolocationPermission, checkOrientationPermission, checkWebXRSupport, requestAllPermissions, requestCameraPermission, requestGeolocationPermission, requestOrientationPermission as requestOrientationPermission$1, requestWebXRWithDepthPermission, resetFileSystemState, setFileSystemState } from "./sensors/permission-checker.js";
32
34
  import { requestOrientationPermission, startGpsWatch, startOrientationWatch, stopGpsWatch, stopOrientationWatch } from "./sensors/gps.js";
33
- import { n as ImageCaptureManager, r as MIN_VALID_IMAGE_BYTES, t as DEFAULT_CAPTURE_CONFIG } from "./image-capture-C4DwxC10.js";
35
+ import { n as ImageCaptureManager, r as MIN_VALID_IMAGE_BYTES, t as DEFAULT_CAPTURE_CONFIG } from "./image-capture-Dn8uLIP2.js";
34
36
  import { BLUR_METRIC_IDS, DEFAULT_QUALITY_FILTER, DEFAULT_SHARPNESS_HISTORY_SIZE, DEFAULT_SHARPNESS_MIN_SAMPLES, ImageQualityGate, blurMetricScorer, highFrequencyEnergyRatio, meanLuminance, rgbaToGrayscale, sharpnessScore } from "./ar/image-quality.js";
35
37
  import { clearLastRestartedPayload, originReset, poseLost, poseReceived, resetTracking, selectLastRestartedPayload, selectLastSensorOrientation, selectLastValidPose, selectLostFrameCount, selectTrackingPhase, trackingReducer } from "./state/tracking-slice.js";
36
38
  import { acquireCameraTexture } from "./ar/xr-camera-texture.js";
37
- import { r as updateDeviceOrientation, t as getLastDeviceOrientation } from "./device-orientation-cache-j-kLP8he.js";
39
+ import { r as updateDeviceOrientation, t as getLastDeviceOrientation } from "./device-orientation-cache-BjEaEAmh.js";
38
40
  import { SCENE_NODE } from "./ar/scene-node-names.js";
39
41
  import { createCss3dRendererManager } from "./visualization/css3d-renderer-manager.js";
40
42
  import { createEnableGpsArController } from "./ar/enable-gps-ar.js";
41
43
  import { DEFAULT_LERP_RATE, clampedAlpha } from "./visualization/lerp-utils.js";
42
44
  import { createCameraFollower } from "./visualization/camera-follower.js";
43
45
  import { createAlignmentLerper } from "./visualization/alignment-lerper.js";
46
+ import { createTextSprite } from "./visualization/text-sprite.js";
44
47
  import { VIS_COLORS } from "./visualization/vis-colors.js";
45
48
  import { COMPASS_CUBE_DISTANCE, COMPASS_CUBE_SIZE, createGpsCompassCubes } from "./visualization/gps-compass-cubes.js";
46
49
  import { disposeReplayScene, getAlignmentLerper, getCameraFollower, getCameraMode, getReplayState, initReplayScene, toggleCameraMode, updateOrbitTarget } from "./ar/replay-scene.js";
@@ -63,12 +66,12 @@ import { MAX_ACTION_FILE_SIZE, loadActionsFromZip, loadGpsPathFromBlob, loadSess
63
66
  import { formatActionFilename, formatFrameFilename, formatTimestamp } from "./storage/file-system-utils.js";
64
67
  import { NullStorageBackend } from "./storage/null-storage-backend.js";
65
68
  import { DEFAULT_TRACKING_QUALITY_OPTIONS, computeConvergence, computeCoverage, computeGpsAccuracy, computeGpsVsFusedDivergence, computeResidualConsensus, computeTrackingQualityReport, createTrackingQualityListenerMiddleware, matrixDelta, reportUpdated, resetTrackingQuality, selectRecentAlignments, selectTrackingQuality, snapshotPushed, snapshotsTrimmed, trackingQualityReducer } from "./state/tracking-quality.js";
66
- import { t as createSlamAppStore } from "./create-slam-app-store-oK9bnqyI.js";
69
+ import { t as createSlamAppStore } from "./create-slam-app-store-B62K8_Qr.js";
67
70
  import { replayRecording } from "./state/recording-replayer.js";
68
71
  import { DEFAULT_MAX_DELAY_MS, ReplayEngine, computeInterActionDelay, extractActionTimestamp } from "./state/replay-engine.js";
69
- import { t as buildMapData } from "./map-data-DkhsYDGM.js";
72
+ import { t as buildMapData } from "./map-data-vL8jb5Z9.js";
70
73
  import { wireStoreSubscribers } from "./state/store-subscribers.js";
71
- import { a as computeOnboardingGuidance, i as setZeroPos, n as calcRelativeCoordsInMeters, o as selectOnboardingGuidance, r as recordGpsEvent, t as add2dImage } from "./state-CDF5LvsO.js";
74
+ import { a as computeOnboardingGuidance, i as setZeroPos, n as calcRelativeCoordsInMeters, o as selectOnboardingGuidance, r as recordGpsEvent, t as add2dImage } from "./state-BECcnNRW.js";
72
75
  import { checkStorageQuota, createSession, getAppRootHandle, getSessionHandle, getSessionsRootHandle, initOpfsStorage, listSessions, resetOpfsStorage, resetSessionHandles } from "./storage/opfs-storage.js";
73
76
  import { OpfsStorageBackend } from "./storage/opfs-storage-backend.js";
74
77
  import { downloadZip, exportSessionAsZip, exportSessionHandleAsZip, syncToExternalZip } from "./storage/zip-export.js";
@@ -76,13 +79,17 @@ import "./storage/index.js";
76
79
  import { enableArWorldGroupAlignment } from "./visualization/ar-world-group-alignment.js";
77
80
  import { buildCameraFrustum, isObjectInCameraFrustum, isPointInCameraFrustum, isSphereInCameraFrustum } from "./visualization/frustum-visibility.js";
78
81
  import { nueToArLocal, worldNueToGps } from "./visualization/frame-conversions.js";
79
- import { createReticleMesh, updateReticle } from "./visualization/hit-test-reticle.js";
80
82
  import { createGpsAnchor } from "./visualization/gps-anchor.js";
81
83
  import { GpsEventVisualizer, gpsEventVisualizer } from "./visualization/gps-event-markers.js";
82
84
  import { OCCLUDER_DEBUG_STYLES, OcclusionMesh } from "./visualization/occlusion-mesh.js";
85
+ import { OccupancyCubesVisualizer, pickNearestSubset } from "./visualization/occupancy-cubes-visualizer.js";
83
86
  import { ACCURACY_CIRCLE_FILL_OPACITY, ACCURACY_CIRCLE_STROKE_OPACITY, ACCURACY_CIRCLE_WEIGHT, addAccuracyCircles } from "./visualization/accuracy-circles.js";
84
87
  import { ALIGNMENT_SNAPSHOT_COLOR, FUSED_PATH_COLOR, MAP_PATH_POLYLINE_OPACITY, MAP_PATH_POLYLINE_WEIGHT, RAW_GPS_COLOR, USER_POSITION_COLOR, drawMapData } from "./visualization/map-overlay-draw.js";
85
- import { a as DEFAULT_Z_OFFSET, n as DEFAULT_LEAFLET_MAP_SIZE_PX, o as LeafletMapOverlay, r as DEFAULT_WORLD_SIZE } from "./leaflet-map-overlay-CTcTVmL1.js";
88
+ import { a as DEFAULT_Z_OFFSET, n as DEFAULT_LEAFLET_MAP_SIZE_PX, o as LeafletMapOverlay, r as DEFAULT_WORLD_SIZE } from "./leaflet-map-overlay-DjWfRT8a.js";
89
+ import { pickWorldPoint, pointerToNdc, raycastPointer } from "./visualization/pointer-picking.js";
90
+ import { createPerfStatsOverlay } from "./visualization/perf-stats-overlay.js";
91
+ import { computeTargetPlacement, formatDistanceLabel, getHudFrustumExtents } from "./visualization/wayfinding-placement.js";
92
+ import { DEFAULT_WAYFINDING_HUD, createWayfindingHud, validateWayfindingHudOptions } from "./visualization/wayfinding-hud.js";
86
93
  import "./visualization/index.js";
87
94
  import { COMMUNITY_LICENSE_KEY } from "./licensing/index.js";
88
- export { ACCURACY_CIRCLE_FILL_OPACITY, ACCURACY_CIRCLE_STROKE_OPACITY, ACCURACY_CIRCLE_WEIGHT, ALIGNMENT_SNAPSHOT_COLOR, BASELAYER_WINDOW_MAX, BASELAYER_WINDOW_MIN, BLUR_METRIC_IDS, BarcodeDetectorFrontEnd, CAPTURE_FAILURE_WARNING, COMMUNITY_LICENSE_KEY, COMPASS_CUBE_DISTANCE, COMPASS_CUBE_SIZE, CameraBlitCapture, CameraFrameSource, DEFAULT_AR_CRASH_ISOLATION, DEFAULT_BLIT_CONFIG, DEFAULT_CAPTURE_CONFIG, DEFAULT_CAPTURE_TRACKER_CONFIG, DEFAULT_LEAFLET_MAP_SIZE_PX, DEFAULT_LERP_RATE, DEFAULT_MAX_DELAY_MS, DEFAULT_QUALITY_FILTER, DEFAULT_ROTATION_INLIER_ANGLE_DEG, DEFAULT_SHARPNESS_HISTORY_SIZE, DEFAULT_SHARPNESS_MIN_SAMPLES, DEFAULT_TRACKING_QUALITY_OPTIONS, DEFAULT_WORLD_SIZE, DEFAULT_Z_OFFSET, DepthSampler, FUSED_PATH_COLOR, GPS_ERROR_CODES, GPS_ERROR_MESSAGES, GPS_ERROR_MESSAGE_UNKNOWN, GpsEventVisualizer, H3_RESOLUTION, ImageCaptureManager, ImageQualityGate, LeafletMapOverlay, LogLevel, MAP_PATH_POLYLINE_OPACITY, MAP_PATH_POLYLINE_WEIGHT, MAX_ACTION_FILE_SIZE, MIN_VALID_IMAGE_BYTES, NullStorageBackend, OCCLUDER_DEBUG_STYLES, OcclusionMesh, OccupancyGrid, OpfsStorageBackend, PlanarPnpSquare, QrLevelValidationError, RAW_GPS_COLOR, ReplayEngine, SCENE_NODE, USER_POSITION_COLOR, VIS_COLORS, WEBXR_TO_NUE, XR_ERROR_MESSAGES, XR_ERROR_MESSAGE_UNKNOWN, acquireCameraTexture, add2dImage, addAccuracyCircles, aggregateQrPose, applyChromiumProjectionLayerWorkaround, approxDistanceMetres, averageRotation, blurMetricScorer, bresenham3d, buildCameraFrustum, buildMapData, buildObjectPoints, buildQrGpsVotes, buildRawGpsPoint, buildRecordGpsEventPayload, calcRelativeCoordsInMeters, capabilityMessage, checkAllPermissions, checkCameraPermission, checkFileSystemPermission, checkGeolocationPermission, checkOrientationPermission, checkQrPlausibility, checkStorageQuota, checkWebXRSupport, clampedAlpha, clearLastRestartedPayload, clearLogBuffer, clusterCellsByZoom, composePose, computeAspectFitSize, computeCaptureSize, 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, formatActionFilename, formatFileSize, formatFrameFilename, formatTimestamp, fusedGpsFromOdom, geodesicAngleRad, getAlignmentLerper, getAppRootHandle, getArWorldGroup, getCamera, getCameraFollower, getCameraFrameCount, getCameraMode, getCurrentArPose, getDepthInfoFromFrame, getDepthSampleCount, getGlobalLogLevel, getGpsErrorMessage, getImageCaptureFrameCount, getLastDeviceOrientation, getLatestAbsoluteOrientation, getLogBuffer, getReplayState, getScene, getSessionHandle, getSessionsRootHandle, getXrErrorMessage, gpsEventVisualizer, gpsPathToCoverageCells, gpsToH3, h3CellsMatch, highFrequencyEnergyRatio, homographyFromCorrespondences, initAR, initOpfsStorage, initReplayScene, intrinsicsFromProjection, invertPose, ippePoseCandidates, isAbsoluteOrientationAvailable, isFullySupported, isH3Index, isObjectInCameraFrustum, isPointInCameraFrustum, isSphereInCameraFrustum, listFormatter, listSessions, loadActionsFromZip, loadGpsPathFromBlob, loadSessionMetadataFromBlob, localPlaneToEnu, mapWithConcurrencyLimit, matrixDelta, meanLuminance, meshOccupiedCells, nearestRotation3x3, needsBaseLayerPersistence, nueToArLocal, offsetGeo, originReset, parseChromeVersion, parseQrLevel, poseLost, poseReceived, projectViewPoint, qrInCameraFromOpenCv, readZipEntries, rebindTrackingStore, recordDepthSample, recordGpsEvent, recordWriteFailure, recordingReducer, registerFrameUpdate, registerXrFrameUpdate, replayRecording, reportUpdated, reprojectionErrorPx, requestAllPermissions, requestCameraPermission, requestOrientationPermission as requestDeviceOrientationPermission, requestGeolocationPermission, requestOrientationPermission$1 as requestOrientationPermission, requestWebXRWithDepthPermission, resetCoordinatorState, resetFileSystemState, resetOpfsStorage, resetSessionHandles, resetTracking, resetTrackingQuality, rgbaToGrayscale, rotationToRodrigues, selectLastRestartedPayload, selectLastSensorOrientation, selectLastValidPose, selectLostFrameCount, selectOnboardingGuidance, selectRecentAlignments, selectTrackingPhase, selectTrackingQuality, setFileSystemState, setGlobalLogLevel, setZeroPos, sharpnessScore, signedQuadArea, snapshotPushed, snapshotsTrimmed, solveLinear, solveQrPose, solveQrPoseFromObservation, startAbsoluteOrientationWatch, startCameraFrameCapture, startDepthCapture, startGpsWatch, startImageCapture, startOrientationWatch, startSession, stopAbsoluteOrientationWatch, stopCameraFrameCapture, stopDepthCapture, stopGpsWatch, stopImageCapture, stopOrientationWatch, subscribeToLogs, syncToExternalZip, toggleCameraMode, trackingQualityReducer, trackingReducer, transformPoint, unprojectDepthPoint, updateDeviceOrientation, updateOrbitTarget, updateReticle, validateArCrashIsolationOptions, validateQuad, wireStoreSubscribers, worldNueToGps, wrapXRDepthInfo };
95
+ export { ACCURACY_CIRCLE_FILL_OPACITY, ACCURACY_CIRCLE_STROKE_OPACITY, ACCURACY_CIRCLE_WEIGHT, ALIGNMENT_SNAPSHOT_COLOR, BASELAYER_WINDOW_MAX, BASELAYER_WINDOW_MIN, BLUR_METRIC_IDS, BarcodeDetectorFrontEnd, CAPTURE_FAILURE_WARNING, COMMUNITY_LICENSE_KEY, COMPASS_CUBE_DISTANCE, COMPASS_CUBE_SIZE, CameraBlitCapture, CameraFrameSource, DEFAULT_AR_CRASH_ISOLATION, DEFAULT_BLIT_CONFIG, DEFAULT_CAPTURE_CONFIG, DEFAULT_CAPTURE_TRACKER_CONFIG, DEFAULT_LEAFLET_MAP_SIZE_PX, DEFAULT_LERP_RATE, DEFAULT_MAX_DELAY_MS, DEFAULT_QUALITY_FILTER, DEFAULT_ROTATION_INLIER_ANGLE_DEG, DEFAULT_SHARPNESS_HISTORY_SIZE, DEFAULT_SHARPNESS_MIN_SAMPLES, DEFAULT_TRACKING_QUALITY_OPTIONS, DEFAULT_WAYFINDING_HUD, DEFAULT_WORLD_SIZE, DEFAULT_Z_OFFSET, DepthSampler, FUSED_PATH_COLOR, GPS_ERROR_CODES, GPS_ERROR_MESSAGES, GPS_ERROR_MESSAGE_UNKNOWN, GpsEventVisualizer, H3_RESOLUTION, ImageCaptureManager, ImageQualityGate, LeafletMapOverlay, LogLevel, MAP_PATH_POLYLINE_OPACITY, MAP_PATH_POLYLINE_WEIGHT, MAX_ACTION_FILE_SIZE, MIN_VALID_IMAGE_BYTES, NullStorageBackend, OCCLUDER_DEBUG_STYLES, OcclusionMesh, OccupancyCubesVisualizer, OccupancyGrid, OpfsStorageBackend, PlanarPnpSquare, QrLevelValidationError, RAW_GPS_COLOR, ReplayEngine, SCENE_NODE, USER_POSITION_COLOR, VIS_COLORS, WEBXR_TO_NUE, XR_ERROR_MESSAGES, XR_ERROR_MESSAGE_UNKNOWN, acquireCameraTexture, add2dImage, addAccuracyCircles, aggregateQrPose, applyChromiumProjectionLayerWorkaround, approxDistanceMetres, averageRotation, blurMetricScorer, bresenham3d, buildCameraFrustum, buildMapData, buildObjectPoints, buildQrGpsVotes, buildRawGpsPoint, buildRecordGpsEventPayload, calcRelativeCoordsInMeters, capabilityMessage, checkAllPermissions, checkCameraPermission, checkFileSystemPermission, checkGeolocationPermission, checkOrientationPermission, checkQrPlausibility, checkStorageQuota, checkWebXRSupport, clampedAlpha, clearLastRestartedPayload, clearLogBuffer, clusterCellsByZoom, composePose, computeAspectFitSize, computeCaptureSize, computeConvergence, computeCoverage, computeFusedPath, computeGpsAccuracy, computeGpsVsFusedDivergence, computeInterActionDelay, computeOnboardingGuidance, computeResidualConsensus, computeTargetPlacement, computeTrackingQualityReport, createAlignmentLerper, createBarcodeDetectorFrontEnd, createCameraFollower, createCaptureFailureTracker, createCss3dRendererManager, createDepthGridLookup, createDepthUnprojector, createDetectionScheduler, createEnableGpsArController, createFailureTracker, createGpsAnchor, createGpsCompassCubes, createGpsErrorHandler, createGpsPositionHandler, createIncrementalQrPlacement, createLogger, createPerfStatsOverlay, createQrDebugView, createQrDetectionController, createQrDetectionScheduler, createQrSizeAccumulator, createQrSizeDepthContext, createQrSizeMeasurer, createQrTrackingController, createReticleMesh, createSession, createSlamAppStore, createTextSprite, createTrackingQualityListenerMiddleware, createWayfindingHud, deriveQrPlacement, deriveQrSizeM, deriveSolvedQrPose, disposeMeshArray, disposeObject3D, disposeReplayScene, downloadZip, drawMapData, enableArWorldGroupAlignment, endARSession, endSession, estimateQrSizeFromDepth, eulerToQuaternion, evaluateQrPoseStability, exportSessionAsZip, exportSessionHandleAsZip, extractActionTimestamp, extractOdomPosition, extractOdomRotation, fetchQrLevel, findNearbyGeoAnchor, formatActionFilename, formatDistanceLabel, formatFileSize, formatFrameFilename, formatTimestamp, fusedGpsFromOdom, geodesicAngleRad, getAlignmentLerper, getAppRootHandle, getArWorldGroup, getCamera, getCameraFollower, getCameraFrameCount, getCameraMode, getCurrentArPose, getDepthInfoFromFrame, getDepthSampleCount, getGlobalLogLevel, getGpsErrorMessage, getHudFrustumExtents, getImageCaptureFrameCount, getLastDeviceOrientation, getLatestAbsoluteOrientation, getLogBuffer, getReplayState, getScene, getSessionHandle, getSessionsRootHandle, getXrErrorMessage, gpsEventVisualizer, gpsPathToCoverageCells, gpsToH3, h3CellsMatch, highFrequencyEnergyRatio, homographyFromCorrespondences, initAR, initOpfsStorage, initReplayScene, intrinsicsFromProjection, invertPose, ippePoseCandidates, isAbsoluteOrientationAvailable, isFullySupported, isH3Index, isObjectInCameraFrustum, isPointInCameraFrustum, isSphereInCameraFrustum, listFormatter, listSessions, loadActionsFromZip, loadGpsPathFromBlob, loadSessionMetadataFromBlob, localPlaneToEnu, mapWithConcurrencyLimit, matrixDelta, meanLuminance, meshOccupiedCells, nearestRotation3x3, needsBaseLayerPersistence, nueToArLocal, offsetGeo, originReset, parseChromeVersion, parseQrLevel, pickNearestSubset, pickWorldPoint, pointerToNdc, poseLost, poseReceived, projectViewPoint, qrInCameraFromOpenCv, raycastPointer, readZipEntries, rebindTrackingStore, recordDepthSample, recordGpsEvent, recordWriteFailure, recordingReducer, registerFrameUpdate, registerXrFrameUpdate, replayRecording, reportUpdated, reprojectionErrorPx, requestAllPermissions, requestCameraPermission, requestOrientationPermission as requestDeviceOrientationPermission, requestGeolocationPermission, requestOrientationPermission$1 as requestOrientationPermission, requestWebXRWithDepthPermission, resetCoordinatorState, resetFileSystemState, resetOpfsStorage, resetSessionHandles, resetTracking, resetTrackingQuality, rgbaToGrayscale, rotationToRodrigues, selectLastRestartedPayload, selectLastSensorOrientation, selectLastValidPose, selectLostFrameCount, selectOnboardingGuidance, selectRecentAlignments, selectTrackingPhase, selectTrackingQuality, setFileSystemState, setGlobalLogLevel, setZeroPos, sharpnessScore, signedQuadArea, snapshotPushed, snapshotsTrimmed, solveLinear, solveQrPose, solveQrPoseFromObservation, startAbsoluteOrientationWatch, startCameraFrameCapture, startDepthCapture, startGpsWatch, startHitTestReticle, startImageCapture, startOrientationWatch, startSession, stopAbsoluteOrientationWatch, stopCameraFrameCapture, stopDepthCapture, stopGpsWatch, stopImageCapture, stopOrientationWatch, subscribeToLogs, syncToExternalZip, toggleCameraMode, trackingQualityReducer, trackingReducer, transformPoint, unprojectDepthPoint, updateDeviceOrientation, updateOrbitTarget, updateReticle, validateArCrashIsolationOptions, validateQuad, validateWayfindingHudOptions, wireStoreSubscribers, worldNueToGps, wrapXRDepthInfo };
@@ -1,4 +1,4 @@
1
- import { t as MapData } from "./map-data-D8cCqpOM.js";
1
+ import { t as MapData } from "./map-data-BQXPtRz7.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-BfDK8kJu.js";
1
+ import { n as RawGpsSample, t as GpsCoord } from "./geo-types-DGe5UKgx.js";
2
2
  import { LatLong, Matrix4, Quaternion, 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-D8cCqpOM.js";
1
+ import { t as MapData } from "./map-data-BQXPtRz7.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-S_odkCk1.js";
2
- import { n as StorageBackend, t as CreateSessionResult } from "./storage-backend-BX7egQKi.js";
1
+ import { n as SessionMetadata } from "./opfs-storage-CrhVauNL.js";
2
+ import { n as StorageBackend, t as CreateSessionResult } from "./storage-backend-DCYbOvTw.js";
3
3
 
4
4
  //#region ../src/storage/null-storage-backend.d.ts
5
5
  declare class NullStorageBackend implements StorageBackend {
@@ -1,7 +1,7 @@
1
- import { t as GridCell } from "./bresenham3d-D-t9i_b5.js";
2
- import { n as MeshMode, t as Aabb } from "./occupancy-mesher-B4Bv4BTk.js";
1
+ import { t as GridCell } from "./bresenham3d-bt61R-Qa.js";
2
+ import { n as MeshMode, t as Aabb } from "./occupancy-mesher-Co80tOpl.js";
3
3
  import * as THREE from "three";
4
- import { Vector3 } from "gps-plus-slam-js";
4
+ import { Vector3 as Vector3$1 } from "gps-plus-slam-js";
5
5
 
6
6
  //#region ../src/visualization/occlusion-mesh.d.ts
7
7
  /**
@@ -125,6 +125,24 @@ declare class OcclusionMesh {
125
125
  getTriangleCount(): number;
126
126
  /** The AABB list from the most recent {@link update} (physics export hook). */
127
127
  getAabbs(): readonly Aabb[];
128
+ /**
129
+ * The underlying `THREE.Mesh` (the depth-only occluder geometry), for a
130
+ * pointer-raycast layer to target the real occluder surface (2026-07-15
131
+ * replay-harness Part B). The mesh's `colorWrite:false` invisibility does NOT
132
+ * affect `THREE.Raycaster`, and `frustumCulled:false` is fine for raycasting.
133
+ * Treat it as read-only — re-mesh via {@link update} / restyle via
134
+ * {@link setDebugStyle} instead of mutating the returned object.
135
+ */
136
+ getMesh(): THREE.Mesh;
137
+ /**
138
+ * Show or hide the WHOLE occluder — the depth-only mesh AND any active debug
139
+ * skins. Hiding stops the depth mesh writing depth, so a co-located visualizer
140
+ * (e.g. the occupancy cubes at the same surface) is no longer occluded by the
141
+ * otherwise-invisible occluder. Independent of {@link setDebugStyle}: a later
142
+ * `setDebugStyle` re-adds skins as visible, so re-apply `setVisible` after a
143
+ * style change if you need them hidden (a mesh-view controller does exactly this).
144
+ */
145
+ setVisible(visible: boolean): void;
128
146
  /**
129
147
  * Re-mesh from a fresh occupied-cell snapshot. Pass
130
148
  * `grid.getOccupiedCells(occupancy.minConfidence)` so the occluder shares the
@@ -135,7 +153,7 @@ declare class OcclusionMesh {
135
153
  * with `mode: 'smooth'` (otherwise ignored). When omitted under `'smooth'`,
136
154
  * the surface nets falls back to cell centres.
137
155
  */
138
- update(cells: Iterable<GridCell>, cellSizeM: number, getCellPoint?: (cell: GridCell) => Vector3 | null): void;
156
+ update(cells: Iterable<GridCell>, cellSizeM: number, getCellPoint?: (cell: GridCell) => Vector3$1 | null): void;
139
157
  /**
140
158
  * Apply **precomputed** geometry (positions/indices) without meshing — the
141
159
  * entry point for the Web Worker offload: the driver posts the occupied-cell
@@ -0,0 +1,146 @@
1
+ import { t as GridCell } from "./bresenham3d-bt61R-Qa.js";
2
+ import * as THREE from "three";
3
+
4
+ //#region ../src/visualization/occupancy-cubes-visualizer.d.ts
5
+ /** The read surface of the framework's `OccupancyGrid` this class draws. */
6
+ interface OccupancyGridSource {
7
+ getOccupiedCells(minObservations?: number): readonly GridCell[];
8
+ /**
9
+ * Viewer-local window over the occupied set (Step 2 of the 2026-07-03
10
+ * long-session fps plan — backed by the grid's chunk index, so the cost is
11
+ * bounded by the neighbourhood, not the session). Optional so older grid
12
+ * doubles still satisfy the interface; when present AND a finite pose is
13
+ * supplied AND `overCapRadiusM` is bounded, `refresh` snapshots through it
14
+ * instead of the O(total-cells) `getOccupiedCells` walk.
15
+ */
16
+ getOccupiedCellsWithin?(centerPos: readonly [number, number, number], radiusM: number, minObservations?: number): readonly GridCell[];
17
+ getCellCenter(cell: GridCell): readonly [number, number, number];
18
+ /**
19
+ * Per-cell average of the EXACT unprojected surface points (follow-up
20
+ * Item A), or null when unavailable. Optional so older grid doubles still
21
+ * satisfy the interface; when present, cubes are drawn here (hugging the
22
+ * real surface) instead of at the lattice `getCellCenter`.
23
+ */
24
+ getCellPoint?(cell: GridCell): readonly [number, number, number] | null;
25
+ /**
26
+ * Per-cell average camera color (0–255 per channel, Iter 8), or null
27
+ * when the cell carries no color — the cube then falls back to the
28
+ * height ramp.
29
+ */
30
+ getCellColor(cell: GridCell): readonly [number, number, number] | null;
31
+ }
32
+ /**
33
+ * Where the viewer is, for viewer-local over-cap cube selection (Issue B
34
+ * of the 2026-06-22 cube cadence/locality plan). Raw WebXR — the **same
35
+ * frame** as `getCellPoint`/`getCellCenter`, so distances are computed in
36
+ * one consistent space with no basis change.
37
+ */
38
+ interface ViewerPose {
39
+ /** Camera position [x, y, z], raw WebXR. */
40
+ readonly cameraPos: readonly [number, number, number];
41
+ /**
42
+ * Camera rotation [x, y, z, w], raw WebXR. Carried for the **deferred**
43
+ * B2 in-front-of-viewer FOV pass; B1 (nearest-N) does not read it.
44
+ */
45
+ readonly cameraRot?: readonly [number, number, number, number];
46
+ }
47
+ interface OccupancyCubesVisualizerOptions {
48
+ /** Maximum rendered cubes (InstancedMesh capacity). Default 2000. */
49
+ readonly maxInstances?: number;
50
+ /**
51
+ * Minimum observation count for a cell to be drawn (noise filter,
52
+ * forwarded to `getOccupiedCells`). Default 1 — tuned in Iter 6.
53
+ */
54
+ readonly minObservations?: number;
55
+ /**
56
+ * Rendered edge length of each debug cube in meters. Deliberately
57
+ * much smaller than the grid cell (0.15 m) so individual voxels stay
58
+ * readable instead of fusing into a solid wall. Default 0.025
59
+ * (field-tuned: 0.1 still read as too bulky on device).
60
+ */
61
+ readonly cubeSizeM?: number;
62
+ /**
63
+ * Random source for the over-cap subset selection. Injected so tests
64
+ * are deterministic. Default `Math.random`.
65
+ */
66
+ readonly rng?: () => number;
67
+ /**
68
+ * Radius (meters, raw WebXR) of the viewer-local window used by the
69
+ * over-cap nearest-N selection (Step 1.1 of the 2026-07-03 long-session
70
+ * fps plan): cells beyond it are dropped before scoring/sorting, bounding
71
+ * the per-refresh cost by the neighbourhood instead of the whole session.
72
+ * At 15 cm voxels and the 2000-instance cap a 10 m sphere is already
73
+ * generous. Non-finite / non-positive = unbounded (legacy). Default 10.
74
+ */
75
+ readonly overCapRadiusM?: number;
76
+ }
77
+ declare class OccupancyCubesVisualizer {
78
+ private readonly arSpaceNode;
79
+ private readonly minObservations;
80
+ private readonly cubeSizeM;
81
+ private readonly rng;
82
+ private readonly overCapRadiusM;
83
+ private readonly mesh;
84
+ private readonly geometry;
85
+ private readonly material;
86
+ private disposed;
87
+ /**
88
+ * @param arSpaceNode - the node whose local space is AR-odometry NUE
89
+ * and which receives the alignment matrix (`arWorldGroup` live,
90
+ * `replaySceneState.arWorldGroup` in replay) — NOT the scene root.
91
+ */
92
+ constructor(arSpaceNode: THREE.Object3D, options?: OccupancyCubesVisualizerOptions);
93
+ /** Number of cubes currently drawn. */
94
+ getCount(): number;
95
+ /**
96
+ * Show or hide the cubes live without discarding them — the cheap
97
+ * mesh-view toggle (a later `refresh` still repopulates them). Flips the
98
+ * instanced mesh's `visible` flag; O(1), no re-mesh.
99
+ */
100
+ setVisible(visible: boolean): void;
101
+ /**
102
+ * Redraw from the grid: every sufficiently-observed cell when under the
103
+ * instance cap. Over cap, draw the cells **nearest the viewer** when a
104
+ * `viewerPose` is supplied (Issue B1 — keeps the local neighbourhood
105
+ * dense instead of a room-wide random scatter); fall back to the legacy
106
+ * random subset when no pose is given or the pose is non-finite (a
107
+ * tracking glitch), so older callers and deterministic tests are
108
+ * unchanged.
109
+ *
110
+ * Each chosen cell's draw position is computed exactly once (via
111
+ * `getCellPoint` ?? `getCellCenter`) and carried through to the draw
112
+ * loop — the over-cap ranking needs it one step earlier than the legacy
113
+ * code did.
114
+ */
115
+ refresh(grid: OccupancyGridSource, viewerPose?: ViewerPose): void;
116
+ /** Hide all cubes (e.g. on store swap); the mesh stays in the scene. */
117
+ clear(): void;
118
+ /** Remove the mesh from its parent and release GPU resources. */
119
+ dispose(): void;
120
+ }
121
+ /**
122
+ * Pick the `count` items nearest `eye`, ranked by squared distance to each
123
+ * item's draw position. Pure and deterministic: positions come from
124
+ * `positionOf` (computed exactly once per item) and are carried through on
125
+ * the result so the draw loop never re-fetches them. Ties keep input order
126
+ * (stable sort). Exported for the property tests in
127
+ * `occupancy-cubes-visualizer.property.test.ts`.
128
+ *
129
+ * Squared distance is sufficient — `sqrt` is monotonic, so it never changes
130
+ * the ranking, and skipping it avoids `count` square roots per repaint.
131
+ *
132
+ * `maxRadius` (Step 1.1 of the 2026-07-03 long-session fps plan) drops items
133
+ * farther than that from `eye` BEFORE scoring/sorting, shrinking the sort
134
+ * from O(N log N) over every cell ever seen to O(K log K) over the local
135
+ * neighbourhood — the linear-in-session-length term behind the long-walk fps
136
+ * decline. Behaviour-preserving whenever the count-th nearest item lies
137
+ * within the radius (property-tested); when fewer than `count` items survive
138
+ * the filter, only those are returned — distant cubes vanish by design (plan
139
+ * §Risks). Omitted / non-finite radius = unbounded (legacy behaviour).
140
+ */
141
+ declare function pickNearestSubset<T>(items: readonly T[], count: number, eye: readonly [number, number, number], positionOf: (item: T) => readonly [number, number, number], maxRadius?: number): Array<{
142
+ item: T;
143
+ pos: readonly [number, number, number];
144
+ }>;
145
+ //#endregion
146
+ export { pickNearestSubset as a, ViewerPose as i, OccupancyCubesVisualizerOptions as n, OccupancyGridSource as r, OccupancyCubesVisualizer as t };