@mentra/engine 0.1.0-beta.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 (842) hide show
  1. package/README.md +79 -0
  2. package/build/devtools.d.ts +11 -0
  3. package/build/devtools.d.ts.map +1 -0
  4. package/build/devtools.js +13 -0
  5. package/build/devtools.js.map +1 -0
  6. package/build/engine.d.ts +261 -0
  7. package/build/engine.d.ts.map +1 -0
  8. package/build/engine.js +170 -0
  9. package/build/engine.js.map +1 -0
  10. package/build/facades/dev.d.ts +58 -0
  11. package/build/facades/dev.d.ts.map +1 -0
  12. package/build/facades/dev.js +189 -0
  13. package/build/facades/dev.js.map +1 -0
  14. package/build/facades/display.d.ts +21 -0
  15. package/build/facades/display.d.ts.map +1 -0
  16. package/build/facades/display.js +17 -0
  17. package/build/facades/display.js.map +1 -0
  18. package/build/facades/displayMirror.d.ts +15 -0
  19. package/build/facades/displayMirror.d.ts.map +1 -0
  20. package/build/facades/displayMirror.js +29 -0
  21. package/build/facades/displayMirror.js.map +1 -0
  22. package/build/facades/gallery.d.ts +62 -0
  23. package/build/facades/gallery.d.ts.map +1 -0
  24. package/build/facades/gallery.js +61 -0
  25. package/build/facades/gallery.js.map +1 -0
  26. package/build/facades/glasses.d.ts +141 -0
  27. package/build/facades/glasses.d.ts.map +1 -0
  28. package/build/facades/glasses.js +199 -0
  29. package/build/facades/glasses.js.map +1 -0
  30. package/build/facades/glassesSettings.d.ts +13 -0
  31. package/build/facades/glassesSettings.d.ts.map +1 -0
  32. package/build/facades/glassesSettings.js +54 -0
  33. package/build/facades/glassesSettings.js.map +1 -0
  34. package/build/facades/glassesWifi.d.ts +25 -0
  35. package/build/facades/glassesWifi.d.ts.map +1 -0
  36. package/build/facades/glassesWifi.js +57 -0
  37. package/build/facades/glassesWifi.js.map +1 -0
  38. package/build/facades/miniapps.d.ts +43 -0
  39. package/build/facades/miniapps.d.ts.map +1 -0
  40. package/build/facades/miniapps.js +49 -0
  41. package/build/facades/miniapps.js.map +1 -0
  42. package/build/facades/notifications.d.ts +13 -0
  43. package/build/facades/notifications.d.ts.map +1 -0
  44. package/build/facades/notifications.js +12 -0
  45. package/build/facades/notifications.js.map +1 -0
  46. package/build/facades/ota.d.ts +103 -0
  47. package/build/facades/ota.d.ts.map +1 -0
  48. package/build/facades/ota.js +156 -0
  49. package/build/facades/ota.js.map +1 -0
  50. package/build/facades/pairing.d.ts +114 -0
  51. package/build/facades/pairing.d.ts.map +1 -0
  52. package/build/facades/pairing.js +275 -0
  53. package/build/facades/pairing.js.map +1 -0
  54. package/build/facades/permissions.d.ts +33 -0
  55. package/build/facades/permissions.d.ts.map +1 -0
  56. package/build/facades/permissions.js +155 -0
  57. package/build/facades/permissions.js.map +1 -0
  58. package/build/facades/phoneNotifications.d.ts +21 -0
  59. package/build/facades/phoneNotifications.d.ts.map +1 -0
  60. package/build/facades/phoneNotifications.js +51 -0
  61. package/build/facades/phoneNotifications.js.map +1 -0
  62. package/build/facades/reports.d.ts +36 -0
  63. package/build/facades/reports.d.ts.map +1 -0
  64. package/build/facades/reports.js +134 -0
  65. package/build/facades/reports.js.map +1 -0
  66. package/build/facades/session.d.ts +21 -0
  67. package/build/facades/session.d.ts.map +1 -0
  68. package/build/facades/session.js +52 -0
  69. package/build/facades/session.js.map +1 -0
  70. package/build/facades/settings.d.ts +37 -0
  71. package/build/facades/settings.d.ts.map +1 -0
  72. package/build/facades/settings.js +55 -0
  73. package/build/facades/settings.js.map +1 -0
  74. package/build/facades/speech.d.ts +30 -0
  75. package/build/facades/speech.d.ts.map +1 -0
  76. package/build/facades/speech.js +37 -0
  77. package/build/facades/speech.js.map +1 -0
  78. package/build/index.d.ts +43 -0
  79. package/build/index.d.ts.map +1 -0
  80. package/build/index.js +45 -0
  81. package/build/index.js.map +1 -0
  82. package/build/internal.d.ts +67 -0
  83. package/build/internal.d.ts.map +1 -0
  84. package/build/internal.js +90 -0
  85. package/build/internal.js.map +1 -0
  86. package/build/runtime/bootstrap.d.ts +83 -0
  87. package/build/runtime/bootstrap.d.ts.map +1 -0
  88. package/build/runtime/bootstrap.js +56 -0
  89. package/build/runtime/bootstrap.js.map +1 -0
  90. package/build/runtime/config.d.ts +146 -0
  91. package/build/runtime/config.d.ts.map +1 -0
  92. package/build/runtime/config.js +18 -0
  93. package/build/runtime/config.js.map +1 -0
  94. package/build/runtime/streamConfig.d.ts +4 -0
  95. package/build/runtime/streamConfig.d.ts.map +1 -0
  96. package/build/runtime/streamConfig.js +38 -0
  97. package/build/runtime/streamConfig.js.map +1 -0
  98. package/build/services/AppRegistry.d.ts +269 -0
  99. package/build/services/AppRegistry.d.ts.map +1 -0
  100. package/build/services/AppRegistry.js +1079 -0
  101. package/build/services/AppRegistry.js.map +1 -0
  102. package/build/services/AudioCloudUplink.d.ts +9 -0
  103. package/build/services/AudioCloudUplink.d.ts.map +1 -0
  104. package/build/services/AudioCloudUplink.js +48 -0
  105. package/build/services/AudioCloudUplink.js.map +1 -0
  106. package/build/services/AudioPlaybackService.d.ts +175 -0
  107. package/build/services/AudioPlaybackService.d.ts.map +1 -0
  108. package/build/services/AudioPlaybackService.js +705 -0
  109. package/build/services/AudioPlaybackService.js.map +1 -0
  110. package/build/services/AutomaticReportResult.d.ts +20 -0
  111. package/build/services/AutomaticReportResult.d.ts.map +1 -0
  112. package/build/services/AutomaticReportResult.js +29 -0
  113. package/build/services/AutomaticReportResult.js.map +1 -0
  114. package/build/services/BlobStore.d.ts +91 -0
  115. package/build/services/BlobStore.d.ts.map +1 -0
  116. package/build/services/BlobStore.js +668 -0
  117. package/build/services/BlobStore.js.map +1 -0
  118. package/build/services/CaptionsTesterReportService.d.ts +4 -0
  119. package/build/services/CaptionsTesterReportService.d.ts.map +1 -0
  120. package/build/services/CaptionsTesterReportService.js +80 -0
  121. package/build/services/CaptionsTesterReportService.js.map +1 -0
  122. package/build/services/CloudAudioSubscriptionSync.d.ts +24 -0
  123. package/build/services/CloudAudioSubscriptionSync.d.ts.map +1 -0
  124. package/build/services/CloudAudioSubscriptionSync.js +39 -0
  125. package/build/services/CloudAudioSubscriptionSync.js.map +1 -0
  126. package/build/services/CloudClientService.d.ts +143 -0
  127. package/build/services/CloudClientService.d.ts.map +1 -0
  128. package/build/services/CloudClientService.js +644 -0
  129. package/build/services/CloudClientService.js.map +1 -0
  130. package/build/services/CloudTranscriptE2EMetrics.d.ts +4 -0
  131. package/build/services/CloudTranscriptE2EMetrics.d.ts.map +1 -0
  132. package/build/services/CloudTranscriptE2EMetrics.js +24 -0
  133. package/build/services/CloudTranscriptE2EMetrics.js.map +1 -0
  134. package/build/services/ConnectionCoordinator.d.ts +51 -0
  135. package/build/services/ConnectionCoordinator.d.ts.map +1 -0
  136. package/build/services/ConnectionCoordinator.js +34 -0
  137. package/build/services/ConnectionCoordinator.js.map +1 -0
  138. package/build/services/DevServerBridge.d.ts +63 -0
  139. package/build/services/DevServerBridge.d.ts.map +1 -0
  140. package/build/services/DevServerBridge.js +294 -0
  141. package/build/services/DevServerBridge.js.map +1 -0
  142. package/build/services/DeviceEventRouter.d.ts +3 -0
  143. package/build/services/DeviceEventRouter.d.ts.map +1 -0
  144. package/build/services/DeviceEventRouter.js +190 -0
  145. package/build/services/DeviceEventRouter.js.map +1 -0
  146. package/build/services/DeviceStoreHydration.d.ts +38 -0
  147. package/build/services/DeviceStoreHydration.d.ts.map +1 -0
  148. package/build/services/DeviceStoreHydration.js +124 -0
  149. package/build/services/DeviceStoreHydration.js.map +1 -0
  150. package/build/services/DisplayProcessor.d.ts +223 -0
  151. package/build/services/DisplayProcessor.d.ts.map +1 -0
  152. package/build/services/DisplayProcessor.js +552 -0
  153. package/build/services/DisplayProcessor.js.map +1 -0
  154. package/build/services/GlassesReadiness.d.ts +41 -0
  155. package/build/services/GlassesReadiness.d.ts.map +1 -0
  156. package/build/services/GlassesReadiness.js +82 -0
  157. package/build/services/GlassesReadiness.js.map +1 -0
  158. package/build/services/GlassesSettingsSync.d.ts +33 -0
  159. package/build/services/GlassesSettingsSync.d.ts.map +1 -0
  160. package/build/services/GlassesSettingsSync.js +121 -0
  161. package/build/services/GlassesSettingsSync.js.map +1 -0
  162. package/build/services/GlassesStatusProjection.d.ts +3 -0
  163. package/build/services/GlassesStatusProjection.d.ts.map +1 -0
  164. package/build/services/GlassesStatusProjection.js +65 -0
  165. package/build/services/GlassesStatusProjection.js.map +1 -0
  166. package/build/services/HeadingService.d.ts +27 -0
  167. package/build/services/HeadingService.d.ts.map +1 -0
  168. package/build/services/HeadingService.js +96 -0
  169. package/build/services/HeadingService.js.map +1 -0
  170. package/build/services/LocalDisplayManager.d.ts +139 -0
  171. package/build/services/LocalDisplayManager.d.ts.map +1 -0
  172. package/build/services/LocalDisplayManager.js +579 -0
  173. package/build/services/LocalDisplayManager.js.map +1 -0
  174. package/build/services/LocalMiniappRuntime.d.ts +439 -0
  175. package/build/services/LocalMiniappRuntime.d.ts.map +1 -0
  176. package/build/services/LocalMiniappRuntime.js +3695 -0
  177. package/build/services/LocalMiniappRuntime.js.map +1 -0
  178. package/build/services/LocalSttFallbackCoordinator.d.ts +57 -0
  179. package/build/services/LocalSttFallbackCoordinator.d.ts.map +1 -0
  180. package/build/services/LocalSttFallbackCoordinator.js +137 -0
  181. package/build/services/LocalSttFallbackCoordinator.js.map +1 -0
  182. package/build/services/MentraJSCrashController.d.ts +97 -0
  183. package/build/services/MentraJSCrashController.d.ts.map +1 -0
  184. package/build/services/MentraJSCrashController.js +138 -0
  185. package/build/services/MentraJSCrashController.js.map +1 -0
  186. package/build/services/MentraJSCrashloopReportService.d.ts +9 -0
  187. package/build/services/MentraJSCrashloopReportService.d.ts.map +1 -0
  188. package/build/services/MentraJSCrashloopReportService.js +54 -0
  189. package/build/services/MentraJSCrashloopReportService.js.map +1 -0
  190. package/build/services/MentraJSLogPipeline.d.ts +87 -0
  191. package/build/services/MentraJSLogPipeline.d.ts.map +1 -0
  192. package/build/services/MentraJSLogPipeline.js +137 -0
  193. package/build/services/MentraJSLogPipeline.js.map +1 -0
  194. package/build/services/MentraJSRouter.d.ts +203 -0
  195. package/build/services/MentraJSRouter.d.ts.map +1 -0
  196. package/build/services/MentraJSRouter.js +480 -0
  197. package/build/services/MentraJSRouter.js.map +1 -0
  198. package/build/services/MentraUIRouter.d.ts +137 -0
  199. package/build/services/MentraUIRouter.d.ts.map +1 -0
  200. package/build/services/MentraUIRouter.js +210 -0
  201. package/build/services/MentraUIRouter.js.map +1 -0
  202. package/build/services/MicStateCoordinator.d.ts +37 -0
  203. package/build/services/MicStateCoordinator.d.ts.map +1 -0
  204. package/build/services/MicStateCoordinator.js +81 -0
  205. package/build/services/MicStateCoordinator.js.map +1 -0
  206. package/build/services/MiniappEngine.d.ts +31 -0
  207. package/build/services/MiniappEngine.d.ts.map +1 -0
  208. package/build/services/MiniappEngine.js +119 -0
  209. package/build/services/MiniappEngine.js.map +1 -0
  210. package/build/services/MiniappLauncher.d.ts +129 -0
  211. package/build/services/MiniappLauncher.d.ts.map +1 -0
  212. package/build/services/MiniappLauncher.js +291 -0
  213. package/build/services/MiniappLauncher.js.map +1 -0
  214. package/build/services/MiniappRunningRegistry.d.ts +24 -0
  215. package/build/services/MiniappRunningRegistry.d.ts.map +1 -0
  216. package/build/services/MiniappRunningRegistry.js +52 -0
  217. package/build/services/MiniappRunningRegistry.js.map +1 -0
  218. package/build/services/NativeHttpResponse.d.ts +3 -0
  219. package/build/services/NativeHttpResponse.d.ts.map +1 -0
  220. package/build/services/NativeHttpResponse.js +6 -0
  221. package/build/services/NativeHttpResponse.js.map +1 -0
  222. package/build/services/NavigationHandlers.d.ts +90 -0
  223. package/build/services/NavigationHandlers.d.ts.map +1 -0
  224. package/build/services/NavigationHandlers.js +379 -0
  225. package/build/services/NavigationHandlers.js.map +1 -0
  226. package/build/services/NavigationService.d.ts +254 -0
  227. package/build/services/NavigationService.d.ts.map +1 -0
  228. package/build/services/NavigationService.js +553 -0
  229. package/build/services/NavigationService.js.map +1 -0
  230. package/build/services/NotificationsEmitter.d.ts +28 -0
  231. package/build/services/NotificationsEmitter.d.ts.map +1 -0
  232. package/build/services/NotificationsEmitter.js +22 -0
  233. package/build/services/NotificationsEmitter.js.map +1 -0
  234. package/build/services/OfflineSpeechModelService.d.ts +33 -0
  235. package/build/services/OfflineSpeechModelService.d.ts.map +1 -0
  236. package/build/services/OfflineSpeechModelService.js +136 -0
  237. package/build/services/OfflineSpeechModelService.js.map +1 -0
  238. package/build/services/OtaInstallCoordinator.d.ts +195 -0
  239. package/build/services/OtaInstallCoordinator.d.ts.map +1 -0
  240. package/build/services/OtaInstallCoordinator.js +1047 -0
  241. package/build/services/OtaInstallCoordinator.js.map +1 -0
  242. package/build/services/OtaService.d.ts +3 -0
  243. package/build/services/OtaService.d.ts.map +1 -0
  244. package/build/services/OtaService.js +65 -0
  245. package/build/services/OtaService.js.map +1 -0
  246. package/build/services/OtaUpdateCheckService.d.ts +65 -0
  247. package/build/services/OtaUpdateCheckService.d.ts.map +1 -0
  248. package/build/services/OtaUpdateCheckService.js +260 -0
  249. package/build/services/OtaUpdateCheckService.js.map +1 -0
  250. package/build/services/PairingIdentity.d.ts +80 -0
  251. package/build/services/PairingIdentity.d.ts.map +1 -0
  252. package/build/services/PairingIdentity.js +145 -0
  253. package/build/services/PairingIdentity.js.map +1 -0
  254. package/build/services/PhoneCalendarHelpers.d.ts +32 -0
  255. package/build/services/PhoneCalendarHelpers.d.ts.map +1 -0
  256. package/build/services/PhoneCalendarHelpers.js +157 -0
  257. package/build/services/PhoneCalendarHelpers.js.map +1 -0
  258. package/build/services/PhoneCalendarService.d.ts +5 -0
  259. package/build/services/PhoneCalendarService.d.ts.map +1 -0
  260. package/build/services/PhoneCalendarService.js +24 -0
  261. package/build/services/PhoneCalendarService.js.map +1 -0
  262. package/build/services/PhoneCameraFovCoordinator.d.ts +28 -0
  263. package/build/services/PhoneCameraFovCoordinator.d.ts.map +1 -0
  264. package/build/services/PhoneCameraFovCoordinator.js +180 -0
  265. package/build/services/PhoneCameraFovCoordinator.js.map +1 -0
  266. package/build/services/PhoneLocationService.d.ts +36 -0
  267. package/build/services/PhoneLocationService.d.ts.map +1 -0
  268. package/build/services/PhoneLocationService.js +115 -0
  269. package/build/services/PhoneLocationService.js.map +1 -0
  270. package/build/services/PhoneNotificationsSync.d.ts +3 -0
  271. package/build/services/PhoneNotificationsSync.d.ts.map +1 -0
  272. package/build/services/PhoneNotificationsSync.js +35 -0
  273. package/build/services/PhoneNotificationsSync.js.map +1 -0
  274. package/build/services/PhonePhotoCoordinator.d.ts +103 -0
  275. package/build/services/PhonePhotoCoordinator.d.ts.map +1 -0
  276. package/build/services/PhonePhotoCoordinator.js +326 -0
  277. package/build/services/PhonePhotoCoordinator.js.map +1 -0
  278. package/build/services/PhoneStreamCoordinator.d.ts +168 -0
  279. package/build/services/PhoneStreamCoordinator.d.ts.map +1 -0
  280. package/build/services/PhoneStreamCoordinator.js +632 -0
  281. package/build/services/PhoneStreamCoordinator.js.map +1 -0
  282. package/build/services/PhoneVideoCoordinator.d.ts +50 -0
  283. package/build/services/PhoneVideoCoordinator.d.ts.map +1 -0
  284. package/build/services/PhoneVideoCoordinator.js +147 -0
  285. package/build/services/PhoneVideoCoordinator.js.map +1 -0
  286. package/build/services/STTModelManager.d.ts +65 -0
  287. package/build/services/STTModelManager.d.ts.map +1 -0
  288. package/build/services/STTModelManager.js +292 -0
  289. package/build/services/STTModelManager.js.map +1 -0
  290. package/build/services/SceneRenderer.d.ts +90 -0
  291. package/build/services/SceneRenderer.d.ts.map +1 -0
  292. package/build/services/SceneRenderer.js +248 -0
  293. package/build/services/SceneRenderer.js.map +1 -0
  294. package/build/services/SentenceTtsPipeline.d.ts +31 -0
  295. package/build/services/SentenceTtsPipeline.d.ts.map +1 -0
  296. package/build/services/SentenceTtsPipeline.js +67 -0
  297. package/build/services/SentenceTtsPipeline.js.map +1 -0
  298. package/build/services/StreamLifecycleController.d.ts +67 -0
  299. package/build/services/StreamLifecycleController.d.ts.map +1 -0
  300. package/build/services/StreamLifecycleController.js +152 -0
  301. package/build/services/StreamLifecycleController.js.map +1 -0
  302. package/build/services/TTSModelManager.d.ts +90 -0
  303. package/build/services/TTSModelManager.d.ts.map +1 -0
  304. package/build/services/TTSModelManager.js +366 -0
  305. package/build/services/TTSModelManager.js.map +1 -0
  306. package/build/services/TranscriptionRouting.d.ts +12 -0
  307. package/build/services/TranscriptionRouting.d.ts.map +1 -0
  308. package/build/services/TranscriptionRouting.js +24 -0
  309. package/build/services/TranscriptionRouting.js.map +1 -0
  310. package/build/services/WebviewBridge.d.ts +22 -0
  311. package/build/services/WebviewBridge.d.ts.map +1 -0
  312. package/build/services/WebviewBridge.js +47 -0
  313. package/build/services/WebviewBridge.js.map +1 -0
  314. package/build/services/asg/GalleryMediaIntegrityReportService.d.ts +17 -0
  315. package/build/services/asg/GalleryMediaIntegrityReportService.d.ts.map +1 -0
  316. package/build/services/asg/GalleryMediaIntegrityReportService.js +43 -0
  317. package/build/services/asg/GalleryMediaIntegrityReportService.js.map +1 -0
  318. package/build/services/asg/asgCameraApi.d.ts +205 -0
  319. package/build/services/asg/asgCameraApi.d.ts.map +1 -0
  320. package/build/services/asg/asgCameraApi.js +1410 -0
  321. package/build/services/asg/asgCameraApi.js.map +1 -0
  322. package/build/services/asg/cameraRollExportCoordinator.d.ts +60 -0
  323. package/build/services/asg/cameraRollExportCoordinator.d.ts.map +1 -0
  324. package/build/services/asg/cameraRollExportCoordinator.js +618 -0
  325. package/build/services/asg/cameraRollExportCoordinator.js.map +1 -0
  326. package/build/services/asg/cameraRollExportLedger.d.ts +44 -0
  327. package/build/services/asg/cameraRollExportLedger.d.ts.map +1 -0
  328. package/build/services/asg/cameraRollExportLedger.js +78 -0
  329. package/build/services/asg/cameraRollExportLedger.js.map +1 -0
  330. package/build/services/asg/galleryMediaValidation.d.ts +29 -0
  331. package/build/services/asg/galleryMediaValidation.d.ts.map +1 -0
  332. package/build/services/asg/galleryMediaValidation.js +149 -0
  333. package/build/services/asg/galleryMediaValidation.js.map +1 -0
  334. package/build/services/asg/galleryNotices.d.ts +33 -0
  335. package/build/services/asg/galleryNotices.d.ts.map +1 -0
  336. package/build/services/asg/galleryNotices.js +29 -0
  337. package/build/services/asg/galleryNotices.js.map +1 -0
  338. package/build/services/asg/galleryPathMigration.d.ts +3 -0
  339. package/build/services/asg/galleryPathMigration.d.ts.map +1 -0
  340. package/build/services/asg/galleryPathMigration.js +26 -0
  341. package/build/services/asg/galleryPathMigration.js.map +1 -0
  342. package/build/services/asg/gallerySettingsService.d.ts +20 -0
  343. package/build/services/asg/gallerySettingsService.d.ts.map +1 -0
  344. package/build/services/asg/gallerySettingsService.js +53 -0
  345. package/build/services/asg/gallerySettingsService.js.map +1 -0
  346. package/build/services/asg/gallerySyncNotifications.d.ts +56 -0
  347. package/build/services/asg/gallerySyncNotifications.d.ts.map +1 -0
  348. package/build/services/asg/gallerySyncNotifications.js +198 -0
  349. package/build/services/asg/gallerySyncNotifications.js.map +1 -0
  350. package/build/services/asg/gallerySyncService.d.ts +137 -0
  351. package/build/services/asg/gallerySyncService.d.ts.map +1 -0
  352. package/build/services/asg/gallerySyncService.js +1933 -0
  353. package/build/services/asg/gallerySyncService.js.map +1 -0
  354. package/build/services/asg/galleryTransferLedger.d.ts +58 -0
  355. package/build/services/asg/galleryTransferLedger.d.ts.map +1 -0
  356. package/build/services/asg/galleryTransferLedger.js +225 -0
  357. package/build/services/asg/galleryTransferLedger.js.map +1 -0
  358. package/build/services/asg/localNetworkTransport.d.ts +15 -0
  359. package/build/services/asg/localNetworkTransport.d.ts.map +1 -0
  360. package/build/services/asg/localNetworkTransport.js +144 -0
  361. package/build/services/asg/localNetworkTransport.js.map +1 -0
  362. package/build/services/asg/localStorageService.d.ts +146 -0
  363. package/build/services/asg/localStorageService.d.ts.map +1 -0
  364. package/build/services/asg/localStorageService.js +572 -0
  365. package/build/services/asg/localStorageService.js.map +1 -0
  366. package/build/services/asg/mediaProcessingQueue.d.ts +70 -0
  367. package/build/services/asg/mediaProcessingQueue.d.ts.map +1 -0
  368. package/build/services/asg/mediaProcessingQueue.js +451 -0
  369. package/build/services/asg/mediaProcessingQueue.js.map +1 -0
  370. package/build/services/asgOtaVersionUrl.d.ts +2 -0
  371. package/build/services/asgOtaVersionUrl.d.ts.map +1 -0
  372. package/build/services/asgOtaVersionUrl.js +36 -0
  373. package/build/services/asgOtaVersionUrl.js.map +1 -0
  374. package/build/services/blobPaths.d.ts +31 -0
  375. package/build/services/blobPaths.d.ts.map +1 -0
  376. package/build/services/blobPaths.js +86 -0
  377. package/build/services/blobPaths.js.map +1 -0
  378. package/build/services/cloudStreamApi.d.ts +59 -0
  379. package/build/services/cloudStreamApi.d.ts.map +1 -0
  380. package/build/services/cloudStreamApi.js +81 -0
  381. package/build/services/cloudStreamApi.js.map +1 -0
  382. package/build/services/gallerySyncClock.d.ts +17 -0
  383. package/build/services/gallerySyncClock.d.ts.map +1 -0
  384. package/build/services/gallerySyncClock.js +21 -0
  385. package/build/services/gallerySyncClock.js.map +1 -0
  386. package/build/services/glassesClockSync.d.ts +20 -0
  387. package/build/services/glassesClockSync.d.ts.map +1 -0
  388. package/build/services/glassesClockSync.js +97 -0
  389. package/build/services/glassesClockSync.js.map +1 -0
  390. package/build/services/manifestVersionGate.d.ts +28 -0
  391. package/build/services/manifestVersionGate.d.ts.map +1 -0
  392. package/build/services/manifestVersionGate.js +41 -0
  393. package/build/services/manifestVersionGate.js.map +1 -0
  394. package/build/services/mentraUiShim.d.ts +38 -0
  395. package/build/services/mentraUiShim.d.ts.map +1 -0
  396. package/build/services/mentraUiShim.js +360 -0
  397. package/build/services/mentraUiShim.js.map +1 -0
  398. package/build/services/navigation/roadNameResolver.d.ts +67 -0
  399. package/build/services/navigation/roadNameResolver.d.ts.map +1 -0
  400. package/build/services/navigation/roadNameResolver.js +96 -0
  401. package/build/services/navigation/roadNameResolver.js.map +1 -0
  402. package/build/services/navigation/routesApiCodec.d.ts +38 -0
  403. package/build/services/navigation/routesApiCodec.d.ts.map +1 -0
  404. package/build/services/navigation/routesApiCodec.js +68 -0
  405. package/build/services/navigation/routesApiCodec.js.map +1 -0
  406. package/build/services/otaDisplayState.d.ts +42 -0
  407. package/build/services/otaDisplayState.d.ts.map +1 -0
  408. package/build/services/otaDisplayState.js +92 -0
  409. package/build/services/otaDisplayState.js.map +1 -0
  410. package/build/services/otaInstallPolicy.d.ts +81 -0
  411. package/build/services/otaInstallPolicy.d.ts.map +1 -0
  412. package/build/services/otaInstallPolicy.js +96 -0
  413. package/build/services/otaInstallPolicy.js.map +1 -0
  414. package/build/services/otaLegacyMapping.d.ts +22 -0
  415. package/build/services/otaLegacyMapping.d.ts.map +1 -0
  416. package/build/services/otaLegacyMapping.js +56 -0
  417. package/build/services/otaLegacyMapping.js.map +1 -0
  418. package/build/services/slimStreamStatus.d.ts +7 -0
  419. package/build/services/slimStreamStatus.d.ts.map +1 -0
  420. package/build/services/slimStreamStatus.js +26 -0
  421. package/build/services/slimStreamStatus.js.map +1 -0
  422. package/build/stores/apps.d.ts +104 -0
  423. package/build/stores/apps.d.ts.map +1 -0
  424. package/build/stores/apps.js +492 -0
  425. package/build/stores/apps.js.map +1 -0
  426. package/build/stores/bluetoothSettingKeys.d.ts +4 -0
  427. package/build/stores/bluetoothSettingKeys.d.ts.map +1 -0
  428. package/build/stores/bluetoothSettingKeys.js +31 -0
  429. package/build/stores/bluetoothSettingKeys.js.map +1 -0
  430. package/build/stores/cloudClientStatus.d.ts +9 -0
  431. package/build/stores/cloudClientStatus.d.ts.map +1 -0
  432. package/build/stores/cloudClientStatus.js +24 -0
  433. package/build/stores/cloudClientStatus.js.map +1 -0
  434. package/build/stores/connection.d.ts +22 -0
  435. package/build/stores/connection.d.ts.map +1 -0
  436. package/build/stores/connection.js +43 -0
  437. package/build/stores/connection.js.map +1 -0
  438. package/build/stores/core.d.ts +15 -0
  439. package/build/stores/core.d.ts.map +1 -0
  440. package/build/stores/core.js +21 -0
  441. package/build/stores/core.js.map +1 -0
  442. package/build/stores/display.d.ts +24 -0
  443. package/build/stores/display.d.ts.map +1 -0
  444. package/build/stores/display.js +96 -0
  445. package/build/stores/display.js.map +1 -0
  446. package/build/stores/gallerySync.d.ts +101 -0
  447. package/build/stores/gallerySync.d.ts.map +1 -0
  448. package/build/stores/gallerySync.js +217 -0
  449. package/build/stores/gallerySync.js.map +1 -0
  450. package/build/stores/glasses.d.ts +62 -0
  451. package/build/stores/glasses.d.ts.map +1 -0
  452. package/build/stores/glasses.js +203 -0
  453. package/build/stores/glasses.js.map +1 -0
  454. package/build/stores/settings.d.ts +37 -0
  455. package/build/stores/settings.d.ts.map +1 -0
  456. package/build/stores/settings.js +922 -0
  457. package/build/stores/settings.js.map +1 -0
  458. package/build/types/applet.d.ts +96 -0
  459. package/build/types/applet.d.ts.map +1 -0
  460. package/build/types/applet.js +5 -0
  461. package/build/types/applet.js.map +1 -0
  462. package/build/types/asg.d.ts +53 -0
  463. package/build/types/asg.d.ts.map +1 -0
  464. package/build/types/asg.js +2 -0
  465. package/build/types/asg.js.map +1 -0
  466. package/build/types/capabilities/even-realities-g1.d.ts +12 -0
  467. package/build/types/capabilities/even-realities-g1.d.ts.map +1 -0
  468. package/build/types/capabilities/even-realities-g1.js +55 -0
  469. package/build/types/capabilities/even-realities-g1.js.map +1 -0
  470. package/build/types/capabilities/even-realities-g2.d.ts +12 -0
  471. package/build/types/capabilities/even-realities-g2.d.ts.map +1 -0
  472. package/build/types/capabilities/even-realities-g2.js +75 -0
  473. package/build/types/capabilities/even-realities-g2.js.map +1 -0
  474. package/build/types/capabilities/mentra-display.d.ts +12 -0
  475. package/build/types/capabilities/mentra-display.d.ts.map +1 -0
  476. package/build/types/capabilities/mentra-display.js +63 -0
  477. package/build/types/capabilities/mentra-display.js.map +1 -0
  478. package/build/types/capabilities/mentra-live.d.ts +12 -0
  479. package/build/types/capabilities/mentra-live.d.ts.map +1 -0
  480. package/build/types/capabilities/mentra-live.js +92 -0
  481. package/build/types/capabilities/mentra-live.js.map +1 -0
  482. package/build/types/capabilities/none.d.ts +13 -0
  483. package/build/types/capabilities/none.d.ts.map +1 -0
  484. package/build/types/capabilities/none.js +65 -0
  485. package/build/types/capabilities/none.js.map +1 -0
  486. package/build/types/capabilities/simulated-glasses.d.ts +13 -0
  487. package/build/types/capabilities/simulated-glasses.d.ts.map +1 -0
  488. package/build/types/capabilities/simulated-glasses.js +65 -0
  489. package/build/types/capabilities/simulated-glasses.js.map +1 -0
  490. package/build/types/capabilities/vuzix-z100.d.ts +12 -0
  491. package/build/types/capabilities/vuzix-z100.d.ts.map +1 -0
  492. package/build/types/capabilities/vuzix-z100.js +52 -0
  493. package/build/types/capabilities/vuzix-z100.js.map +1 -0
  494. package/build/types/enums.d.ts +40 -0
  495. package/build/types/enums.d.ts.map +1 -0
  496. package/build/types/enums.js +44 -0
  497. package/build/types/enums.js.map +1 -0
  498. package/build/types/hardware.d.ts +160 -0
  499. package/build/types/hardware.d.ts.map +1 -0
  500. package/build/types/hardware.js +36 -0
  501. package/build/types/hardware.js.map +1 -0
  502. package/build/types/index.d.ts +11 -0
  503. package/build/types/index.d.ts.map +1 -0
  504. package/build/types/index.js +10 -0
  505. package/build/types/index.js.map +1 -0
  506. package/build/utils/GlobalEventEmitter.d.ts +10 -0
  507. package/build/utils/GlobalEventEmitter.d.ts.map +1 -0
  508. package/build/utils/GlobalEventEmitter.js +13 -0
  509. package/build/utils/GlobalEventEmitter.js.map +1 -0
  510. package/build/utils/cloudClient/RnUdpAdapter.d.ts +3 -0
  511. package/build/utils/cloudClient/RnUdpAdapter.d.ts.map +1 -0
  512. package/build/utils/cloudClient/RnUdpAdapter.js +41 -0
  513. package/build/utils/cloudClient/RnUdpAdapter.js.map +1 -0
  514. package/build/utils/cloudClient/cloudSecureStore.d.ts +3 -0
  515. package/build/utils/cloudClient/cloudSecureStore.d.ts.map +1 -0
  516. package/build/utils/cloudClient/cloudSecureStore.js +26 -0
  517. package/build/utils/cloudClient/cloudSecureStore.js.map +1 -0
  518. package/build/utils/debouncedPatch.d.ts +6 -0
  519. package/build/utils/debouncedPatch.d.ts.map +1 -0
  520. package/build/utils/debouncedPatch.js +25 -0
  521. package/build/utils/debouncedPatch.js.map +1 -0
  522. package/build/utils/devLogging.d.ts +26 -0
  523. package/build/utils/devLogging.d.ts.map +1 -0
  524. package/build/utils/devLogging.js +116 -0
  525. package/build/utils/devLogging.js.map +1 -0
  526. package/build/utils/devMiniappLaunch.d.ts +44 -0
  527. package/build/utils/devMiniappLaunch.d.ts.map +1 -0
  528. package/build/utils/devMiniappLaunch.js +52 -0
  529. package/build/utils/devMiniappLaunch.js.map +1 -0
  530. package/build/utils/diagnosticContext.d.ts +3 -0
  531. package/build/utils/diagnosticContext.d.ts.map +1 -0
  532. package/build/utils/diagnosticContext.js +119 -0
  533. package/build/utils/diagnosticContext.js.map +1 -0
  534. package/build/utils/display/composer/ColumnComposer.d.ts +131 -0
  535. package/build/utils/display/composer/ColumnComposer.d.ts.map +1 -0
  536. package/build/utils/display/composer/ColumnComposer.js +204 -0
  537. package/build/utils/display/composer/ColumnComposer.js.map +1 -0
  538. package/build/utils/display/composer/index.d.ts +9 -0
  539. package/build/utils/display/composer/index.d.ts.map +1 -0
  540. package/build/utils/display/composer/index.js +9 -0
  541. package/build/utils/display/composer/index.js.map +1 -0
  542. package/build/utils/display/helpers/DisplayHelpers.d.ts +165 -0
  543. package/build/utils/display/helpers/DisplayHelpers.d.ts.map +1 -0
  544. package/build/utils/display/helpers/DisplayHelpers.js +312 -0
  545. package/build/utils/display/helpers/DisplayHelpers.js.map +1 -0
  546. package/build/utils/display/helpers/ScrollView.d.ts +183 -0
  547. package/build/utils/display/helpers/ScrollView.d.ts.map +1 -0
  548. package/build/utils/display/helpers/ScrollView.js +257 -0
  549. package/build/utils/display/helpers/ScrollView.js.map +1 -0
  550. package/build/utils/display/helpers/index.d.ts +11 -0
  551. package/build/utils/display/helpers/index.d.ts.map +1 -0
  552. package/build/utils/display/helpers/index.js +10 -0
  553. package/build/utils/display/helpers/index.js.map +1 -0
  554. package/build/utils/display/index.d.ts +174 -0
  555. package/build/utils/display/index.d.ts.map +1 -0
  556. package/build/utils/display/index.js +185 -0
  557. package/build/utils/display/index.js.map +1 -0
  558. package/build/utils/display/measurer/TextMeasurer.d.ts +160 -0
  559. package/build/utils/display/measurer/TextMeasurer.d.ts.map +1 -0
  560. package/build/utils/display/measurer/TextMeasurer.js +273 -0
  561. package/build/utils/display/measurer/TextMeasurer.js.map +1 -0
  562. package/build/utils/display/measurer/index.d.ts +10 -0
  563. package/build/utils/display/measurer/index.d.ts.map +1 -0
  564. package/build/utils/display/measurer/index.js +11 -0
  565. package/build/utils/display/measurer/index.js.map +1 -0
  566. package/build/utils/display/measurer/script-detection.d.ts +53 -0
  567. package/build/utils/display/measurer/script-detection.d.ts.map +1 -0
  568. package/build/utils/display/measurer/script-detection.js +184 -0
  569. package/build/utils/display/measurer/script-detection.js.map +1 -0
  570. package/build/utils/display/profiles/g1.d.ts +33 -0
  571. package/build/utils/display/profiles/g1.d.ts.map +1 -0
  572. package/build/utils/display/profiles/g1.js +213 -0
  573. package/build/utils/display/profiles/g1.js.map +1 -0
  574. package/build/utils/display/profiles/g2.d.ts +13 -0
  575. package/build/utils/display/profiles/g2.d.ts.map +1 -0
  576. package/build/utils/display/profiles/g2.js +34 -0
  577. package/build/utils/display/profiles/g2.js.map +1 -0
  578. package/build/utils/display/profiles/index.d.ts +12 -0
  579. package/build/utils/display/profiles/index.d.ts.map +1 -0
  580. package/build/utils/display/profiles/index.js +15 -0
  581. package/build/utils/display/profiles/index.js.map +1 -0
  582. package/build/utils/display/profiles/nex.d.ts +10 -0
  583. package/build/utils/display/profiles/nex.d.ts.map +1 -0
  584. package/build/utils/display/profiles/nex.js +150 -0
  585. package/build/utils/display/profiles/nex.js.map +1 -0
  586. package/build/utils/display/profiles/types.d.ts +103 -0
  587. package/build/utils/display/profiles/types.d.ts.map +1 -0
  588. package/build/utils/display/profiles/types.js +2 -0
  589. package/build/utils/display/profiles/types.js.map +1 -0
  590. package/build/utils/display/profiles/z100.d.ts +33 -0
  591. package/build/utils/display/profiles/z100.d.ts.map +1 -0
  592. package/build/utils/display/profiles/z100.js +182 -0
  593. package/build/utils/display/profiles/z100.js.map +1 -0
  594. package/build/utils/display/scene/degrade.d.ts +25 -0
  595. package/build/utils/display/scene/degrade.d.ts.map +1 -0
  596. package/build/utils/display/scene/degrade.js +64 -0
  597. package/build/utils/display/scene/degrade.js.map +1 -0
  598. package/build/utils/display/scene/differ.d.ts +38 -0
  599. package/build/utils/display/scene/differ.d.ts.map +1 -0
  600. package/build/utils/display/scene/differ.js +107 -0
  601. package/build/utils/display/scene/differ.js.map +1 -0
  602. package/build/utils/display/scene/index.d.ts +10 -0
  603. package/build/utils/display/scene/index.d.ts.map +1 -0
  604. package/build/utils/display/scene/index.js +6 -0
  605. package/build/utils/display/scene/index.js.map +1 -0
  606. package/build/utils/display/scene/process.d.ts +35 -0
  607. package/build/utils/display/scene/process.d.ts.map +1 -0
  608. package/build/utils/display/scene/process.js +187 -0
  609. package/build/utils/display/scene/process.js.map +1 -0
  610. package/build/utils/display/scene/store.d.ts +48 -0
  611. package/build/utils/display/scene/store.d.ts.map +1 -0
  612. package/build/utils/display/scene/store.js +0 -0
  613. package/build/utils/display/scene/store.js.map +1 -0
  614. package/build/utils/display/scene/types.d.ts +120 -0
  615. package/build/utils/display/scene/types.d.ts.map +1 -0
  616. package/build/utils/display/scene/types.js +0 -0
  617. package/build/utils/display/scene/types.js.map +1 -0
  618. package/build/utils/display/wrapper/TextWrapper.d.ts +102 -0
  619. package/build/utils/display/wrapper/TextWrapper.d.ts.map +1 -0
  620. package/build/utils/display/wrapper/TextWrapper.js +471 -0
  621. package/build/utils/display/wrapper/TextWrapper.js.map +1 -0
  622. package/build/utils/display/wrapper/index.d.ts +12 -0
  623. package/build/utils/display/wrapper/index.d.ts.map +1 -0
  624. package/build/utils/display/wrapper/index.js +12 -0
  625. package/build/utils/display/wrapper/index.js.map +1 -0
  626. package/build/utils/display/wrapper/types.d.ts +75 -0
  627. package/build/utils/display/wrapper/types.d.ts.map +1 -0
  628. package/build/utils/display/wrapper/types.js +11 -0
  629. package/build/utils/display/wrapper/types.js.map +1 -0
  630. package/build/utils/e2eMetrics.d.ts +6 -0
  631. package/build/utils/e2eMetrics.d.ts.map +1 -0
  632. package/build/utils/e2eMetrics.js +27 -0
  633. package/build/utils/e2eMetrics.js.map +1 -0
  634. package/build/utils/hardware/hardware.d.ts +42 -0
  635. package/build/utils/hardware/hardware.d.ts.map +1 -0
  636. package/build/utils/hardware/hardware.js +127 -0
  637. package/build/utils/hardware/hardware.js.map +1 -0
  638. package/build/utils/hardware/index.d.ts +2 -0
  639. package/build/utils/hardware/index.d.ts.map +1 -0
  640. package/build/utils/hardware/index.js +2 -0
  641. package/build/utils/hardware/index.js.map +1 -0
  642. package/build/utils/miniappGlobals.d.ts +60 -0
  643. package/build/utils/miniappGlobals.d.ts.map +1 -0
  644. package/build/utils/miniappGlobals.js +224 -0
  645. package/build/utils/miniappGlobals.js.map +1 -0
  646. package/build/utils/permissions/MediaLibraryPermissions.d.ts +45 -0
  647. package/build/utils/permissions/MediaLibraryPermissions.d.ts.map +1 -0
  648. package/build/utils/permissions/MediaLibraryPermissions.js +145 -0
  649. package/build/utils/permissions/MediaLibraryPermissions.js.map +1 -0
  650. package/build/utils/permissions/galleryDisplayName.d.ts +8 -0
  651. package/build/utils/permissions/galleryDisplayName.d.ts.map +1 -0
  652. package/build/utils/permissions/galleryDisplayName.js +25 -0
  653. package/build/utils/permissions/galleryDisplayName.js.map +1 -0
  654. package/build/utils/storage/index.d.ts +3 -0
  655. package/build/utils/storage/index.d.ts.map +1 -0
  656. package/build/utils/storage/index.js +3 -0
  657. package/build/utils/storage/index.js.map +1 -0
  658. package/build/utils/storage/storage.d.ts +24 -0
  659. package/build/utils/storage/storage.d.ts.map +1 -0
  660. package/build/utils/storage/storage.js +85 -0
  661. package/build/utils/storage/storage.js.map +1 -0
  662. package/build/utils/storage/zip.d.ts +3 -0
  663. package/build/utils/storage/zip.d.ts.map +1 -0
  664. package/build/utils/storage/zip.js +14 -0
  665. package/build/utils/storage/zip.js.map +1 -0
  666. package/build/utils/timers/index.d.ts +3 -0
  667. package/build/utils/timers/index.d.ts.map +1 -0
  668. package/build/utils/timers/index.js +3 -0
  669. package/build/utils/timers/index.js.map +1 -0
  670. package/build/utils/timers/timers.d.ts +9 -0
  671. package/build/utils/timers/timers.d.ts.map +1 -0
  672. package/build/utils/timers/timers.js +105 -0
  673. package/build/utils/timers/timers.js.map +1 -0
  674. package/package.json +120 -0
  675. package/src/devtools.ts +13 -0
  676. package/src/engine.ts +173 -0
  677. package/src/facades/dev.ts +198 -0
  678. package/src/facades/display.ts +17 -0
  679. package/src/facades/displayMirror.ts +33 -0
  680. package/src/facades/gallery.ts +69 -0
  681. package/src/facades/glasses.ts +206 -0
  682. package/src/facades/glassesSettings.ts +56 -0
  683. package/src/facades/glassesWifi.ts +68 -0
  684. package/src/facades/miniapps.ts +55 -0
  685. package/src/facades/notifications.ts +15 -0
  686. package/src/facades/ota.ts +174 -0
  687. package/src/facades/pairing.ts +329 -0
  688. package/src/facades/permissions.ts +165 -0
  689. package/src/facades/phoneNotifications.ts +50 -0
  690. package/src/facades/reports.ts +185 -0
  691. package/src/facades/session.ts +55 -0
  692. package/src/facades/settings.ts +57 -0
  693. package/src/facades/speech.ts +38 -0
  694. package/src/index.ts +191 -0
  695. package/src/internal.ts +159 -0
  696. package/src/runtime/bootstrap.ts +118 -0
  697. package/src/runtime/config.ts +147 -0
  698. package/src/runtime/streamConfig.ts +34 -0
  699. package/src/services/AppRegistry.ts +1190 -0
  700. package/src/services/AudioCloudUplink.ts +50 -0
  701. package/src/services/AudioPlaybackService.ts +813 -0
  702. package/src/services/AutomaticReportResult.ts +48 -0
  703. package/src/services/BlobStore.ts +746 -0
  704. package/src/services/CaptionsTesterReportService.ts +107 -0
  705. package/src/services/CloudAudioSubscriptionSync.ts +41 -0
  706. package/src/services/CloudClientService.ts +689 -0
  707. package/src/services/CloudTranscriptE2EMetrics.ts +27 -0
  708. package/src/services/ConnectionCoordinator.ts +65 -0
  709. package/src/services/DevServerBridge.ts +332 -0
  710. package/src/services/DeviceEventRouter.ts +238 -0
  711. package/src/services/DeviceStoreHydration.ts +130 -0
  712. package/src/services/DisplayProcessor.ts +775 -0
  713. package/src/services/GlassesReadiness.ts +103 -0
  714. package/src/services/GlassesSettingsSync.ts +134 -0
  715. package/src/services/GlassesStatusProjection.ts +73 -0
  716. package/src/services/HeadingService.ts +98 -0
  717. package/src/services/LocalDisplayManager.ts +703 -0
  718. package/src/services/LocalMiniappRuntime.ts +4213 -0
  719. package/src/services/LocalSttFallbackCoordinator.ts +147 -0
  720. package/src/services/MentraJSCrashController.ts +189 -0
  721. package/src/services/MentraJSCrashloopReportService.ts +66 -0
  722. package/src/services/MentraJSLogPipeline.ts +166 -0
  723. package/src/services/MentraJSRouter.ts +557 -0
  724. package/src/services/MentraUIRouter.ts +244 -0
  725. package/src/services/MicStateCoordinator.ts +94 -0
  726. package/src/services/MiniappEngine.ts +143 -0
  727. package/src/services/MiniappLauncher.ts +340 -0
  728. package/src/services/MiniappRunningRegistry.ts +57 -0
  729. package/src/services/NativeHttpResponse.ts +6 -0
  730. package/src/services/NavigationHandlers.ts +423 -0
  731. package/src/services/NavigationService.ts +731 -0
  732. package/src/services/NotificationsEmitter.ts +48 -0
  733. package/src/services/OfflineSpeechModelService.ts +168 -0
  734. package/src/services/OtaInstallCoordinator.ts +1205 -0
  735. package/src/services/OtaService.ts +83 -0
  736. package/src/services/OtaUpdateCheckService.ts +386 -0
  737. package/src/services/PairingIdentity.ts +154 -0
  738. package/src/services/PhoneCalendarHelpers.ts +212 -0
  739. package/src/services/PhoneCalendarService.ts +42 -0
  740. package/src/services/PhoneCameraFovCoordinator.ts +195 -0
  741. package/src/services/PhoneLocationService.ts +122 -0
  742. package/src/services/PhoneNotificationsSync.ts +44 -0
  743. package/src/services/PhonePhotoCoordinator.ts +409 -0
  744. package/src/services/PhoneStreamCoordinator.ts +777 -0
  745. package/src/services/PhoneVideoCoordinator.ts +189 -0
  746. package/src/services/STTModelManager.ts +360 -0
  747. package/src/services/SceneRenderer.ts +292 -0
  748. package/src/services/SentenceTtsPipeline.ts +106 -0
  749. package/src/services/StreamLifecycleController.ts +213 -0
  750. package/src/services/TTSModelManager.ts +466 -0
  751. package/src/services/TranscriptionRouting.ts +37 -0
  752. package/src/services/WebviewBridge.ts +50 -0
  753. package/src/services/asg/GalleryMediaIntegrityReportService.ts +70 -0
  754. package/src/services/asg/asgCameraApi.ts +1695 -0
  755. package/src/services/asg/cameraRollExportCoordinator.ts +627 -0
  756. package/src/services/asg/cameraRollExportLedger.ts +122 -0
  757. package/src/services/asg/galleryMediaValidation.ts +183 -0
  758. package/src/services/asg/galleryNotices.ts +61 -0
  759. package/src/services/asg/galleryPathMigration.ts +22 -0
  760. package/src/services/asg/gallerySettingsService.ts +68 -0
  761. package/src/services/asg/gallerySyncNotifications.ts +236 -0
  762. package/src/services/asg/gallerySyncService.ts +2269 -0
  763. package/src/services/asg/galleryTransferLedger.ts +312 -0
  764. package/src/services/asg/localNetworkTransport.ts +173 -0
  765. package/src/services/asg/localStorageService.ts +652 -0
  766. package/src/services/asg/mediaProcessingQueue.ts +518 -0
  767. package/src/services/asgOtaVersionUrl.ts +41 -0
  768. package/src/services/blobPaths.ts +86 -0
  769. package/src/services/cloudStreamApi.ts +154 -0
  770. package/src/services/gallerySyncClock.ts +39 -0
  771. package/src/services/glassesClockSync.ts +115 -0
  772. package/src/services/manifestVersionGate.ts +43 -0
  773. package/src/services/mentraUiShim.ts +366 -0
  774. package/src/services/navigation/roadNameResolver.ts +112 -0
  775. package/src/services/navigation/routesApiCodec.ts +69 -0
  776. package/src/services/otaDisplayState.ts +115 -0
  777. package/src/services/otaInstallPolicy.ts +106 -0
  778. package/src/services/otaLegacyMapping.ts +71 -0
  779. package/src/services/slimStreamStatus.ts +28 -0
  780. package/src/stores/apps.ts +614 -0
  781. package/src/stores/bluetoothSettingKeys.ts +36 -0
  782. package/src/stores/cloudClientStatus.ts +37 -0
  783. package/src/stores/connection.ts +69 -0
  784. package/src/stores/core.ts +32 -0
  785. package/src/stores/display.ts +121 -0
  786. package/src/stores/gallerySync.ts +380 -0
  787. package/src/stores/glasses.ts +309 -0
  788. package/src/stores/settings.ts +1001 -0
  789. package/src/types/applet.ts +112 -0
  790. package/src/types/asg.ts +58 -0
  791. package/src/types/capabilities/even-realities-g1.ts +67 -0
  792. package/src/types/capabilities/even-realities-g2.ts +88 -0
  793. package/src/types/capabilities/mentra-display.ts +75 -0
  794. package/src/types/capabilities/mentra-live.ts +103 -0
  795. package/src/types/capabilities/none.ts +76 -0
  796. package/src/types/capabilities/simulated-glasses.ts +76 -0
  797. package/src/types/capabilities/vuzix-z100.ts +64 -0
  798. package/src/types/enums.ts +43 -0
  799. package/src/types/hardware.ts +203 -0
  800. package/src/types/index.ts +37 -0
  801. package/src/utils/GlobalEventEmitter.ts +14 -0
  802. package/src/utils/cloudClient/RnUdpAdapter.ts +47 -0
  803. package/src/utils/cloudClient/cloudSecureStore.ts +28 -0
  804. package/src/utils/debouncedPatch.ts +28 -0
  805. package/src/utils/devLogging.ts +140 -0
  806. package/src/utils/devMiniappLaunch.ts +68 -0
  807. package/src/utils/diagnosticContext.ts +155 -0
  808. package/src/utils/display/composer/ColumnComposer.ts +285 -0
  809. package/src/utils/display/composer/index.ts +15 -0
  810. package/src/utils/display/helpers/DisplayHelpers.ts +413 -0
  811. package/src/utils/display/helpers/ScrollView.ts +337 -0
  812. package/src/utils/display/helpers/index.ts +14 -0
  813. package/src/utils/display/index.ts +273 -0
  814. package/src/utils/display/measurer/TextMeasurer.ts +346 -0
  815. package/src/utils/display/measurer/index.ts +21 -0
  816. package/src/utils/display/measurer/script-detection.ts +218 -0
  817. package/src/utils/display/profiles/g1.ts +236 -0
  818. package/src/utils/display/profiles/g2.ts +39 -0
  819. package/src/utils/display/profiles/index.ts +28 -0
  820. package/src/utils/display/profiles/nex.ts +166 -0
  821. package/src/utils/display/profiles/types.ts +132 -0
  822. package/src/utils/display/profiles/z100.ts +198 -0
  823. package/src/utils/display/scene/degrade.ts +80 -0
  824. package/src/utils/display/scene/differ.ts +128 -0
  825. package/src/utils/display/scene/index.ts +21 -0
  826. package/src/utils/display/scene/process.ts +214 -0
  827. package/src/utils/display/scene/store.ts +0 -0
  828. package/src/utils/display/scene/types.ts +0 -0
  829. package/src/utils/display/wrapper/TextWrapper.ts +546 -0
  830. package/src/utils/display/wrapper/index.ts +15 -0
  831. package/src/utils/display/wrapper/types.ts +102 -0
  832. package/src/utils/e2eMetrics.ts +30 -0
  833. package/src/utils/hardware/hardware.ts +166 -0
  834. package/src/utils/hardware/index.ts +1 -0
  835. package/src/utils/miniappGlobals.ts +260 -0
  836. package/src/utils/permissions/MediaLibraryPermissions.ts +161 -0
  837. package/src/utils/permissions/galleryDisplayName.ts +28 -0
  838. package/src/utils/storage/index.ts +2 -0
  839. package/src/utils/storage/storage.ts +101 -0
  840. package/src/utils/storage/zip.ts +13 -0
  841. package/src/utils/timers/index.ts +2 -0
  842. package/src/utils/timers/timers.ts +139 -0
@@ -0,0 +1,183 @@
1
+ import type { DisplayProfile } from "../profiles/types";
2
+ import { TextMeasurer } from "../measurer/TextMeasurer";
3
+ import { TextWrapper } from "../wrapper/TextWrapper";
4
+ import type { WrapOptions } from "../wrapper/types";
5
+ /**
6
+ * Scroll position information.
7
+ */
8
+ export interface ScrollPosition {
9
+ /** Current scroll offset (0 = top) */
10
+ offset: number;
11
+ /** Total number of lines in content */
12
+ totalLines: number;
13
+ /** Number of visible lines (viewport size) */
14
+ visibleLines: number;
15
+ /** Maximum scroll offset */
16
+ maxOffset: number;
17
+ /** Whether we're at the top */
18
+ atTop: boolean;
19
+ /** Whether we're at the bottom */
20
+ atBottom: boolean;
21
+ /** Scroll percentage (0-100) */
22
+ scrollPercent: number;
23
+ }
24
+ /**
25
+ * Visible content from the scroll view.
26
+ */
27
+ export interface ScrollViewport {
28
+ /** Lines currently visible */
29
+ lines: string[];
30
+ /** Scroll position info */
31
+ position: ScrollPosition;
32
+ /** Whether content was truncated during wrapping */
33
+ contentTruncated: boolean;
34
+ }
35
+ /**
36
+ * ScrollView provides a scrollable viewport into long wrapped text.
37
+ *
38
+ * Unlike pagination (discrete pages), scrolling allows continuous
39
+ * movement through content line by line.
40
+ *
41
+ * @example
42
+ * ```typescript
43
+ * const scrollView = new ScrollView(measurer, wrapper)
44
+ * scrollView.setContent("Very long text that wraps to many lines...")
45
+ *
46
+ * // Get initial view (top)
47
+ * let view = scrollView.getViewport()
48
+ * console.log(view.lines) // First 5 lines
49
+ *
50
+ * // Scroll down
51
+ * scrollView.scrollDown(2) // Move down 2 lines
52
+ * view = scrollView.getViewport()
53
+ *
54
+ * // Scroll to bottom
55
+ * scrollView.scrollToBottom()
56
+ *
57
+ * // Scroll to specific position
58
+ * scrollView.scrollTo(10) // Line 10 at top of viewport
59
+ * ```
60
+ */
61
+ export declare class ScrollView {
62
+ private readonly measurer;
63
+ private readonly wrapper;
64
+ private readonly profile;
65
+ private readonly viewportSize;
66
+ private allLines;
67
+ private wrapResult;
68
+ private scrollOffset;
69
+ constructor(measurer: TextMeasurer, wrapper: TextWrapper, viewportSize?: number);
70
+ /**
71
+ * Set the content to display in the scroll view.
72
+ * Wraps the text and resets scroll position to top.
73
+ *
74
+ * @param text - Text content to display
75
+ * @param options - Optional wrap options
76
+ */
77
+ setContent(text: string, options?: Omit<WrapOptions, "maxLines">): void;
78
+ /**
79
+ * Append content to the existing scroll view.
80
+ * Useful for streaming/live content like captions.
81
+ *
82
+ * @param text - Text to append
83
+ * @param options - Optional wrap options
84
+ * @param autoScroll - If true, scroll to show new content (default: true)
85
+ */
86
+ appendContent(text: string, options?: Omit<WrapOptions, "maxLines">, autoScroll?: boolean): void;
87
+ /**
88
+ * Get the current viewport (visible lines).
89
+ */
90
+ getViewport(): ScrollViewport;
91
+ /**
92
+ * Get current scroll position information.
93
+ */
94
+ getPosition(): ScrollPosition;
95
+ /**
96
+ * Scroll to a specific line offset.
97
+ *
98
+ * @param offset - Line offset (0 = top)
99
+ */
100
+ scrollTo(offset: number): void;
101
+ /**
102
+ * Scroll down by a number of lines.
103
+ *
104
+ * @param lines - Number of lines to scroll (default: 1)
105
+ */
106
+ scrollDown(lines?: number): void;
107
+ /**
108
+ * Scroll up by a number of lines.
109
+ *
110
+ * @param lines - Number of lines to scroll (default: 1)
111
+ */
112
+ scrollUp(lines?: number): void;
113
+ /**
114
+ * Scroll down by one viewport (page down).
115
+ */
116
+ pageDown(): void;
117
+ /**
118
+ * Scroll up by one viewport (page up).
119
+ */
120
+ pageUp(): void;
121
+ /**
122
+ * Scroll to the top.
123
+ */
124
+ scrollToTop(): void;
125
+ /**
126
+ * Scroll to the bottom.
127
+ */
128
+ scrollToBottom(): void;
129
+ /**
130
+ * Scroll to show a specific line in the viewport.
131
+ *
132
+ * @param lineIndex - The line index to show
133
+ * @param position - Where in viewport: 'top', 'center', 'bottom' (default: 'top')
134
+ */
135
+ scrollToLine(lineIndex: number, position?: "top" | "center" | "bottom"): void;
136
+ /**
137
+ * Scroll by a percentage of total content.
138
+ *
139
+ * @param percent - Percentage (0-100)
140
+ */
141
+ scrollToPercent(percent: number): void;
142
+ /**
143
+ * Check if currently at the top.
144
+ */
145
+ isAtTop(): boolean;
146
+ /**
147
+ * Check if currently at the bottom.
148
+ */
149
+ isAtBottom(): boolean;
150
+ /**
151
+ * Check if content is scrollable (more lines than viewport).
152
+ */
153
+ isScrollable(): boolean;
154
+ /**
155
+ * Get all lines (not just visible).
156
+ */
157
+ getAllLines(): string[];
158
+ /**
159
+ * Get total line count.
160
+ */
161
+ getTotalLines(): number;
162
+ /**
163
+ * Get the viewport size.
164
+ */
165
+ getViewportSize(): number;
166
+ /**
167
+ * Clear all content and reset scroll position.
168
+ */
169
+ clear(): void;
170
+ /**
171
+ * Get the measurer instance.
172
+ */
173
+ getMeasurer(): TextMeasurer;
174
+ /**
175
+ * Get the wrapper instance.
176
+ */
177
+ getWrapper(): TextWrapper;
178
+ /**
179
+ * Get the display profile.
180
+ */
181
+ getProfile(): DisplayProfile;
182
+ }
183
+ //# sourceMappingURL=ScrollView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollView.d.ts","sourceRoot":"","sources":["../../../../src/utils/display/helpers/ScrollView.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAA;AAClD,OAAO,KAAK,EAAC,WAAW,EAAa,MAAM,kBAAkB,CAAA;AAE7D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAA;IAClB,8CAA8C;IAC9C,YAAY,EAAE,MAAM,CAAA;IACpB,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,+BAA+B;IAC/B,KAAK,EAAE,OAAO,CAAA;IACd,kCAAkC;IAClC,QAAQ,EAAE,OAAO,CAAA;IACjB,gCAAgC;IAChC,aAAa,EAAE,MAAM,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,2BAA2B;IAC3B,QAAQ,EAAE,cAAc,CAAA;IACxB,oDAAoD;IACpD,gBAAgB,EAAE,OAAO,CAAA;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IAErC,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,YAAY,CAAY;gBAG9B,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,WAAW,EACpB,YAAY,CAAC,EAAE,MAAM;IAQvB;;;;;;OAMG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,GAAG,IAAI;IAWvE;;;;;;;OAOG;IACH,aAAa,CACX,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,EACvC,UAAU,GAAE,OAAc,GACzB,IAAI;IAmBP;;OAEG;IACH,WAAW,IAAI,cAAc;IAkB7B;;OAEG;IACH,WAAW,IAAI,cAAc;IAe7B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK9B;;;;OAIG;IACH,UAAU,CAAC,KAAK,GAAE,MAAU,GAAG,IAAI;IAInC;;;;OAIG;IACH,QAAQ,CAAC,KAAK,GAAE,MAAU,GAAG,IAAI;IAIjC;;OAEG;IACH,QAAQ,IAAI,IAAI;IAIhB;;OAEG;IACH,MAAM,IAAI,IAAI;IAId;;OAEG;IACH,WAAW,IAAI,IAAI;IAInB;;OAEG;IACH,cAAc,IAAI,IAAI;IAKtB;;;;;OAKG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,GAAE,KAAK,GAAG,QAAQ,GAAG,QAAgB,GAAG,IAAI;IAkBpF;;;;OAIG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMtC;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;OAEG;IACH,UAAU,IAAI,OAAO;IAKrB;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;OAEG;IACH,WAAW,IAAI,MAAM,EAAE;IAIvB;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,WAAW,IAAI,YAAY;IAI3B;;OAEG;IACH,UAAU,IAAI,WAAW;IAIzB;;OAEG;IACH,UAAU,IAAI,cAAc;CAG7B"}
@@ -0,0 +1,257 @@
1
+ /**
2
+ * ScrollView provides a scrollable viewport into long wrapped text.
3
+ *
4
+ * Unlike pagination (discrete pages), scrolling allows continuous
5
+ * movement through content line by line.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const scrollView = new ScrollView(measurer, wrapper)
10
+ * scrollView.setContent("Very long text that wraps to many lines...")
11
+ *
12
+ * // Get initial view (top)
13
+ * let view = scrollView.getViewport()
14
+ * console.log(view.lines) // First 5 lines
15
+ *
16
+ * // Scroll down
17
+ * scrollView.scrollDown(2) // Move down 2 lines
18
+ * view = scrollView.getViewport()
19
+ *
20
+ * // Scroll to bottom
21
+ * scrollView.scrollToBottom()
22
+ *
23
+ * // Scroll to specific position
24
+ * scrollView.scrollTo(10) // Line 10 at top of viewport
25
+ * ```
26
+ */
27
+ export class ScrollView {
28
+ measurer;
29
+ wrapper;
30
+ profile;
31
+ viewportSize;
32
+ allLines = [];
33
+ wrapResult = null;
34
+ scrollOffset = 0;
35
+ constructor(measurer, wrapper, viewportSize) {
36
+ this.measurer = measurer;
37
+ this.wrapper = wrapper;
38
+ this.profile = measurer.getProfile();
39
+ this.viewportSize = viewportSize ?? this.profile.maxLines;
40
+ }
41
+ /**
42
+ * Set the content to display in the scroll view.
43
+ * Wraps the text and resets scroll position to top.
44
+ *
45
+ * @param text - Text content to display
46
+ * @param options - Optional wrap options
47
+ */
48
+ setContent(text, options) {
49
+ // Wrap without line limit to get all lines
50
+ this.wrapResult = this.wrapper.wrap(text, {
51
+ ...options,
52
+ maxLines: Infinity,
53
+ maxBytes: Infinity,
54
+ });
55
+ this.allLines = this.wrapResult.lines;
56
+ this.scrollOffset = 0;
57
+ }
58
+ /**
59
+ * Append content to the existing scroll view.
60
+ * Useful for streaming/live content like captions.
61
+ *
62
+ * @param text - Text to append
63
+ * @param options - Optional wrap options
64
+ * @param autoScroll - If true, scroll to show new content (default: true)
65
+ */
66
+ appendContent(text, options, autoScroll = true) {
67
+ const wasAtBottom = this.isAtBottom();
68
+ // Wrap the new text
69
+ const newResult = this.wrapper.wrap(text, {
70
+ ...options,
71
+ maxLines: Infinity,
72
+ maxBytes: Infinity,
73
+ });
74
+ // Append new lines
75
+ this.allLines = [...this.allLines, ...newResult.lines];
76
+ // Auto-scroll to bottom if we were already there
77
+ if (autoScroll && wasAtBottom) {
78
+ this.scrollToBottom();
79
+ }
80
+ }
81
+ /**
82
+ * Get the current viewport (visible lines).
83
+ */
84
+ getViewport() {
85
+ const visibleLines = this.allLines.slice(this.scrollOffset, this.scrollOffset + this.viewportSize);
86
+ // Pad to viewport size if needed
87
+ while (visibleLines.length < this.viewportSize) {
88
+ visibleLines.push("");
89
+ }
90
+ return {
91
+ lines: visibleLines,
92
+ position: this.getPosition(),
93
+ contentTruncated: this.wrapResult?.truncated ?? false,
94
+ };
95
+ }
96
+ /**
97
+ * Get current scroll position information.
98
+ */
99
+ getPosition() {
100
+ const totalLines = this.allLines.length;
101
+ const maxOffset = Math.max(0, totalLines - this.viewportSize);
102
+ return {
103
+ offset: this.scrollOffset,
104
+ totalLines,
105
+ visibleLines: this.viewportSize,
106
+ maxOffset,
107
+ atTop: this.scrollOffset === 0,
108
+ atBottom: this.scrollOffset >= maxOffset,
109
+ scrollPercent: maxOffset > 0 ? Math.round((this.scrollOffset / maxOffset) * 100) : 100,
110
+ };
111
+ }
112
+ /**
113
+ * Scroll to a specific line offset.
114
+ *
115
+ * @param offset - Line offset (0 = top)
116
+ */
117
+ scrollTo(offset) {
118
+ const maxOffset = Math.max(0, this.allLines.length - this.viewportSize);
119
+ this.scrollOffset = Math.max(0, Math.min(offset, maxOffset));
120
+ }
121
+ /**
122
+ * Scroll down by a number of lines.
123
+ *
124
+ * @param lines - Number of lines to scroll (default: 1)
125
+ */
126
+ scrollDown(lines = 1) {
127
+ this.scrollTo(this.scrollOffset + lines);
128
+ }
129
+ /**
130
+ * Scroll up by a number of lines.
131
+ *
132
+ * @param lines - Number of lines to scroll (default: 1)
133
+ */
134
+ scrollUp(lines = 1) {
135
+ this.scrollTo(this.scrollOffset - lines);
136
+ }
137
+ /**
138
+ * Scroll down by one viewport (page down).
139
+ */
140
+ pageDown() {
141
+ this.scrollDown(this.viewportSize);
142
+ }
143
+ /**
144
+ * Scroll up by one viewport (page up).
145
+ */
146
+ pageUp() {
147
+ this.scrollUp(this.viewportSize);
148
+ }
149
+ /**
150
+ * Scroll to the top.
151
+ */
152
+ scrollToTop() {
153
+ this.scrollOffset = 0;
154
+ }
155
+ /**
156
+ * Scroll to the bottom.
157
+ */
158
+ scrollToBottom() {
159
+ const maxOffset = Math.max(0, this.allLines.length - this.viewportSize);
160
+ this.scrollOffset = maxOffset;
161
+ }
162
+ /**
163
+ * Scroll to show a specific line in the viewport.
164
+ *
165
+ * @param lineIndex - The line index to show
166
+ * @param position - Where in viewport: 'top', 'center', 'bottom' (default: 'top')
167
+ */
168
+ scrollToLine(lineIndex, position = "top") {
169
+ let targetOffset;
170
+ switch (position) {
171
+ case "top":
172
+ targetOffset = lineIndex;
173
+ break;
174
+ case "center":
175
+ targetOffset = lineIndex - Math.floor(this.viewportSize / 2);
176
+ break;
177
+ case "bottom":
178
+ targetOffset = lineIndex - this.viewportSize + 1;
179
+ break;
180
+ }
181
+ this.scrollTo(targetOffset);
182
+ }
183
+ /**
184
+ * Scroll by a percentage of total content.
185
+ *
186
+ * @param percent - Percentage (0-100)
187
+ */
188
+ scrollToPercent(percent) {
189
+ const maxOffset = Math.max(0, this.allLines.length - this.viewportSize);
190
+ const targetOffset = Math.round((percent / 100) * maxOffset);
191
+ this.scrollTo(targetOffset);
192
+ }
193
+ /**
194
+ * Check if currently at the top.
195
+ */
196
+ isAtTop() {
197
+ return this.scrollOffset === 0;
198
+ }
199
+ /**
200
+ * Check if currently at the bottom.
201
+ */
202
+ isAtBottom() {
203
+ const maxOffset = Math.max(0, this.allLines.length - this.viewportSize);
204
+ return this.scrollOffset >= maxOffset;
205
+ }
206
+ /**
207
+ * Check if content is scrollable (more lines than viewport).
208
+ */
209
+ isScrollable() {
210
+ return this.allLines.length > this.viewportSize;
211
+ }
212
+ /**
213
+ * Get all lines (not just visible).
214
+ */
215
+ getAllLines() {
216
+ return [...this.allLines];
217
+ }
218
+ /**
219
+ * Get total line count.
220
+ */
221
+ getTotalLines() {
222
+ return this.allLines.length;
223
+ }
224
+ /**
225
+ * Get the viewport size.
226
+ */
227
+ getViewportSize() {
228
+ return this.viewportSize;
229
+ }
230
+ /**
231
+ * Clear all content and reset scroll position.
232
+ */
233
+ clear() {
234
+ this.allLines = [];
235
+ this.wrapResult = null;
236
+ this.scrollOffset = 0;
237
+ }
238
+ /**
239
+ * Get the measurer instance.
240
+ */
241
+ getMeasurer() {
242
+ return this.measurer;
243
+ }
244
+ /**
245
+ * Get the wrapper instance.
246
+ */
247
+ getWrapper() {
248
+ return this.wrapper;
249
+ }
250
+ /**
251
+ * Get the display profile.
252
+ */
253
+ getProfile() {
254
+ return this.profile;
255
+ }
256
+ }
257
+ //# sourceMappingURL=ScrollView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollView.js","sourceRoot":"","sources":["../../../../src/utils/display/helpers/ScrollView.ts"],"names":[],"mappings":"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","sourcesContent":["import type {DisplayProfile} from \"../profiles/types\"\nimport {TextMeasurer} from \"../measurer/TextMeasurer\"\nimport {TextWrapper} from \"../wrapper/TextWrapper\"\nimport type {WrapOptions, WrapResult} from \"../wrapper/types\"\n\n/**\n * Scroll position information.\n */\nexport interface ScrollPosition {\n /** Current scroll offset (0 = top) */\n offset: number\n /** Total number of lines in content */\n totalLines: number\n /** Number of visible lines (viewport size) */\n visibleLines: number\n /** Maximum scroll offset */\n maxOffset: number\n /** Whether we're at the top */\n atTop: boolean\n /** Whether we're at the bottom */\n atBottom: boolean\n /** Scroll percentage (0-100) */\n scrollPercent: number\n}\n\n/**\n * Visible content from the scroll view.\n */\nexport interface ScrollViewport {\n /** Lines currently visible */\n lines: string[]\n /** Scroll position info */\n position: ScrollPosition\n /** Whether content was truncated during wrapping */\n contentTruncated: boolean\n}\n\n/**\n * ScrollView provides a scrollable viewport into long wrapped text.\n *\n * Unlike pagination (discrete pages), scrolling allows continuous\n * movement through content line by line.\n *\n * @example\n * ```typescript\n * const scrollView = new ScrollView(measurer, wrapper)\n * scrollView.setContent(\"Very long text that wraps to many lines...\")\n *\n * // Get initial view (top)\n * let view = scrollView.getViewport()\n * console.log(view.lines) // First 5 lines\n *\n * // Scroll down\n * scrollView.scrollDown(2) // Move down 2 lines\n * view = scrollView.getViewport()\n *\n * // Scroll to bottom\n * scrollView.scrollToBottom()\n *\n * // Scroll to specific position\n * scrollView.scrollTo(10) // Line 10 at top of viewport\n * ```\n */\nexport class ScrollView {\n private readonly measurer: TextMeasurer\n private readonly wrapper: TextWrapper\n private readonly profile: DisplayProfile\n private readonly viewportSize: number\n\n private allLines: string[] = []\n private wrapResult: WrapResult | null = null\n private scrollOffset: number = 0\n\n constructor(\n measurer: TextMeasurer,\n wrapper: TextWrapper,\n viewportSize?: number\n ) {\n this.measurer = measurer\n this.wrapper = wrapper\n this.profile = measurer.getProfile()\n this.viewportSize = viewportSize ?? this.profile.maxLines\n }\n\n /**\n * Set the content to display in the scroll view.\n * Wraps the text and resets scroll position to top.\n *\n * @param text - Text content to display\n * @param options - Optional wrap options\n */\n setContent(text: string, options?: Omit<WrapOptions, \"maxLines\">): void {\n // Wrap without line limit to get all lines\n this.wrapResult = this.wrapper.wrap(text, {\n ...options,\n maxLines: Infinity,\n maxBytes: Infinity,\n })\n this.allLines = this.wrapResult.lines\n this.scrollOffset = 0\n }\n\n /**\n * Append content to the existing scroll view.\n * Useful for streaming/live content like captions.\n *\n * @param text - Text to append\n * @param options - Optional wrap options\n * @param autoScroll - If true, scroll to show new content (default: true)\n */\n appendContent(\n text: string,\n options?: Omit<WrapOptions, \"maxLines\">,\n autoScroll: boolean = true\n ): void {\n const wasAtBottom = this.isAtBottom()\n\n // Wrap the new text\n const newResult = this.wrapper.wrap(text, {\n ...options,\n maxLines: Infinity,\n maxBytes: Infinity,\n })\n\n // Append new lines\n this.allLines = [...this.allLines, ...newResult.lines]\n\n // Auto-scroll to bottom if we were already there\n if (autoScroll && wasAtBottom) {\n this.scrollToBottom()\n }\n }\n\n /**\n * Get the current viewport (visible lines).\n */\n getViewport(): ScrollViewport {\n const visibleLines = this.allLines.slice(\n this.scrollOffset,\n this.scrollOffset + this.viewportSize\n )\n\n // Pad to viewport size if needed\n while (visibleLines.length < this.viewportSize) {\n visibleLines.push(\"\")\n }\n\n return {\n lines: visibleLines,\n position: this.getPosition(),\n contentTruncated: this.wrapResult?.truncated ?? false,\n }\n }\n\n /**\n * Get current scroll position information.\n */\n getPosition(): ScrollPosition {\n const totalLines = this.allLines.length\n const maxOffset = Math.max(0, totalLines - this.viewportSize)\n\n return {\n offset: this.scrollOffset,\n totalLines,\n visibleLines: this.viewportSize,\n maxOffset,\n atTop: this.scrollOffset === 0,\n atBottom: this.scrollOffset >= maxOffset,\n scrollPercent: maxOffset > 0 ? Math.round((this.scrollOffset / maxOffset) * 100) : 100,\n }\n }\n\n /**\n * Scroll to a specific line offset.\n *\n * @param offset - Line offset (0 = top)\n */\n scrollTo(offset: number): void {\n const maxOffset = Math.max(0, this.allLines.length - this.viewportSize)\n this.scrollOffset = Math.max(0, Math.min(offset, maxOffset))\n }\n\n /**\n * Scroll down by a number of lines.\n *\n * @param lines - Number of lines to scroll (default: 1)\n */\n scrollDown(lines: number = 1): void {\n this.scrollTo(this.scrollOffset + lines)\n }\n\n /**\n * Scroll up by a number of lines.\n *\n * @param lines - Number of lines to scroll (default: 1)\n */\n scrollUp(lines: number = 1): void {\n this.scrollTo(this.scrollOffset - lines)\n }\n\n /**\n * Scroll down by one viewport (page down).\n */\n pageDown(): void {\n this.scrollDown(this.viewportSize)\n }\n\n /**\n * Scroll up by one viewport (page up).\n */\n pageUp(): void {\n this.scrollUp(this.viewportSize)\n }\n\n /**\n * Scroll to the top.\n */\n scrollToTop(): void {\n this.scrollOffset = 0\n }\n\n /**\n * Scroll to the bottom.\n */\n scrollToBottom(): void {\n const maxOffset = Math.max(0, this.allLines.length - this.viewportSize)\n this.scrollOffset = maxOffset\n }\n\n /**\n * Scroll to show a specific line in the viewport.\n *\n * @param lineIndex - The line index to show\n * @param position - Where in viewport: 'top', 'center', 'bottom' (default: 'top')\n */\n scrollToLine(lineIndex: number, position: \"top\" | \"center\" | \"bottom\" = \"top\"): void {\n let targetOffset: number\n\n switch (position) {\n case \"top\":\n targetOffset = lineIndex\n break\n case \"center\":\n targetOffset = lineIndex - Math.floor(this.viewportSize / 2)\n break\n case \"bottom\":\n targetOffset = lineIndex - this.viewportSize + 1\n break\n }\n\n this.scrollTo(targetOffset)\n }\n\n /**\n * Scroll by a percentage of total content.\n *\n * @param percent - Percentage (0-100)\n */\n scrollToPercent(percent: number): void {\n const maxOffset = Math.max(0, this.allLines.length - this.viewportSize)\n const targetOffset = Math.round((percent / 100) * maxOffset)\n this.scrollTo(targetOffset)\n }\n\n /**\n * Check if currently at the top.\n */\n isAtTop(): boolean {\n return this.scrollOffset === 0\n }\n\n /**\n * Check if currently at the bottom.\n */\n isAtBottom(): boolean {\n const maxOffset = Math.max(0, this.allLines.length - this.viewportSize)\n return this.scrollOffset >= maxOffset\n }\n\n /**\n * Check if content is scrollable (more lines than viewport).\n */\n isScrollable(): boolean {\n return this.allLines.length > this.viewportSize\n }\n\n /**\n * Get all lines (not just visible).\n */\n getAllLines(): string[] {\n return [...this.allLines]\n }\n\n /**\n * Get total line count.\n */\n getTotalLines(): number {\n return this.allLines.length\n }\n\n /**\n * Get the viewport size.\n */\n getViewportSize(): number {\n return this.viewportSize\n }\n\n /**\n * Clear all content and reset scroll position.\n */\n clear(): void {\n this.allLines = []\n this.wrapResult = null\n this.scrollOffset = 0\n }\n\n /**\n * Get the measurer instance.\n */\n getMeasurer(): TextMeasurer {\n return this.measurer\n }\n\n /**\n * Get the wrapper instance.\n */\n getWrapper(): TextWrapper {\n return this.wrapper\n }\n\n /**\n * Get the display profile.\n */\n getProfile(): DisplayProfile {\n return this.profile\n }\n}\n"]}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Display Helpers Module
3
+ *
4
+ * Optional convenience utilities for common display operations.
5
+ * Built on top of TextMeasurer and TextWrapper.
6
+ */
7
+ export { DisplayHelpers } from "./DisplayHelpers";
8
+ export { ScrollView } from "./ScrollView";
9
+ export type { TruncateResult, Page, Chunk } from "./DisplayHelpers";
10
+ export type { ScrollPosition, ScrollViewport } from "./ScrollView";
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/display/helpers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AAGvC,YAAY,EAAC,cAAc,EAAE,IAAI,EAAE,KAAK,EAAC,MAAM,kBAAkB,CAAA;AACjE,YAAY,EAAC,cAAc,EAAE,cAAc,EAAC,MAAM,cAAc,CAAA"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Display Helpers Module
3
+ *
4
+ * Optional convenience utilities for common display operations.
5
+ * Built on top of TextMeasurer and TextWrapper.
6
+ */
7
+ // Main classes
8
+ export { DisplayHelpers } from "./DisplayHelpers";
9
+ export { ScrollView } from "./ScrollView";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/display/helpers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAe;AACf,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA","sourcesContent":["/**\n * Display Helpers Module\n *\n * Optional convenience utilities for common display operations.\n * Built on top of TextMeasurer and TextWrapper.\n */\n\n// Main classes\nexport {DisplayHelpers} from \"./DisplayHelpers\"\nexport {ScrollView} from \"./ScrollView\"\n\n// Types\nexport type {TruncateResult, Page, Chunk} from \"./DisplayHelpers\"\nexport type {ScrollPosition, ScrollViewport} from \"./ScrollView\"\n"]}
@@ -0,0 +1,174 @@
1
+ /**
2
+ * @mentra/display-utils
3
+ *
4
+ * Glasses-agnostic, pixel-accurate text measurement and wrapping library
5
+ * for smart glasses displays.
6
+ *
7
+ * Key features:
8
+ * - Pixel-perfect measurement (no abstract units or averages)
9
+ * - Multiple break modes (character, word, strict-word)
10
+ * - Full script support (Latin, CJK, Korean, Cyrillic)
11
+ * - Configurable display profiles for different glasses hardware
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * import {
16
+ * TextMeasurer,
17
+ * TextWrapper,
18
+ * DisplayHelpers,
19
+ * G1_PROFILE
20
+ * } from '@mentra/display-utils'
21
+ *
22
+ * // Create measurer and wrapper for G1 glasses
23
+ * const measurer = new TextMeasurer(G1_PROFILE)
24
+ * const wrapper = new TextWrapper(measurer, { breakMode: 'character' })
25
+ * const helpers = new DisplayHelpers(measurer, wrapper)
26
+ *
27
+ * // Wrap text for display
28
+ * const result = wrapper.wrap("Hello, world! This is a long text.")
29
+ * console.log(result.lines)
30
+ * // ["Hello, world! This is a long text th-", "at needs wrapping."]
31
+ * ```
32
+ */
33
+ export type { DisplayProfile, FontMetrics, UniformScriptWidths, FallbackConfig, DisplayConstraints, ScriptType, } from "./profiles";
34
+ export { G1_PROFILE, G1_PROFILE_LEGACY, G1_HYPHEN_WIDTH_PX, G1_SPACE_WIDTH_PX } from "./profiles";
35
+ export { G2_PROFILE, G2_HYPHEN_WIDTH_PX, G2_SPACE_WIDTH_PX } from "./profiles";
36
+ export { Z100_PROFILE, Z100_HYPHEN_WIDTH_PX, Z100_SPACE_WIDTH_PX } from "./profiles";
37
+ export { NEX_PROFILE, NEX_HYPHEN_WIDTH_PX, NEX_SPACE_WIDTH_PX } from "./profiles";
38
+ export { TextMeasurer } from "./measurer";
39
+ export type { CharMeasurement, TextMeasurement } from "./measurer";
40
+ export { detectScript, isCJKCharacter, isKoreanCharacter, isUniformWidthScript, isUnsupportedScript, needsHyphenForBreak, SCRIPT_RANGES, } from "./measurer";
41
+ export { TextWrapper } from "./wrapper";
42
+ export type { WrapOptions, WrapResult, LineMetrics, BreakMode } from "./wrapper";
43
+ export { DEFAULT_WRAP_OPTIONS } from "./wrapper";
44
+ export { DisplayHelpers, ScrollView } from "./helpers";
45
+ export type { TruncateResult, Page, Chunk, ScrollPosition, ScrollViewport } from "./helpers";
46
+ export { ColumnComposer, createColumnComposer } from "./composer";
47
+ export type { ColumnConfig, ComposeOptions, ComposeResult } from "./composer";
48
+ import { TextMeasurer } from "./measurer";
49
+ import { TextWrapper } from "./wrapper";
50
+ import { DisplayHelpers } from "./helpers";
51
+ import { ColumnComposer } from "./composer";
52
+ import type { DisplayProfile } from "./profiles";
53
+ import type { WrapOptions } from "./wrapper";
54
+ /**
55
+ * Create a complete display toolkit for a given profile.
56
+ *
57
+ * @param profile - Display profile (defaults to G1)
58
+ * @param wrapOptions - Default wrap options
59
+ * @returns Object with measurer, wrapper, and helpers
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * const { measurer, wrapper, helpers } = createDisplayToolkit()
64
+ * const lines = wrapper.wrapToLines("Hello, world!")
65
+ * ```
66
+ */
67
+ export declare function createDisplayToolkit(profile?: DisplayProfile, wrapOptions?: WrapOptions): {
68
+ measurer: TextMeasurer;
69
+ wrapper: TextWrapper;
70
+ helpers: DisplayHelpers;
71
+ composer: ColumnComposer;
72
+ profile: DisplayProfile;
73
+ };
74
+ /**
75
+ * Create a G1-configured display toolkit with character breaking.
76
+ * This is the recommended setup for captions and similar high-utilization use cases.
77
+ *
78
+ * @returns Object with measurer, wrapper, and helpers configured for G1
79
+ *
80
+ * @example
81
+ * ```typescript
82
+ * const { wrapper, composer } = createG1Toolkit()
83
+ * const result = wrapper.wrap("Your text here")
84
+ * const columns = composer.composeDoubleTextWall("Left", "Right")
85
+ * ```
86
+ */
87
+ export declare function createG1Toolkit(): {
88
+ measurer: TextMeasurer;
89
+ wrapper: TextWrapper;
90
+ helpers: DisplayHelpers;
91
+ composer: ColumnComposer;
92
+ profile: DisplayProfile;
93
+ };
94
+ /**
95
+ * Create a G1-configured display toolkit for LEGACY mobile clients.
96
+ *
97
+ * Use this when the mobile client has old wrapping logic that re-wraps
98
+ * text received from the cloud. This profile uses a reduced display width
99
+ * (~522px instead of 576px) to prevent double-wrapping overflow.
100
+ *
101
+ * @returns Object with measurer, wrapper, and helpers configured for legacy G1 clients
102
+ *
103
+ * @example
104
+ * ```typescript
105
+ * // For old mobile clients that double-wrap
106
+ * const { wrapper } = createG1LegacyToolkit()
107
+ * const result = wrapper.wrap("Your text here")
108
+ * // Lines will be shorter to account for mobile re-wrapping
109
+ * ```
110
+ */
111
+ export declare function createG1LegacyToolkit(): {
112
+ measurer: TextMeasurer;
113
+ wrapper: TextWrapper;
114
+ helpers: DisplayHelpers;
115
+ composer: ColumnComposer;
116
+ profile: DisplayProfile;
117
+ };
118
+ /**
119
+ * Create a G2-configured display toolkit with character breaking.
120
+ * G2 uses EvenHub protocol with the same display hardware as G1.
121
+ *
122
+ * @returns Object with measurer, wrapper, and helpers configured for Even G2
123
+ *
124
+ * @example
125
+ * ```typescript
126
+ * const { wrapper } = createG2Toolkit()
127
+ * const result = wrapper.wrap("Your text here")
128
+ * ```
129
+ */
130
+ export declare function createG2Toolkit(): {
131
+ measurer: TextMeasurer;
132
+ wrapper: TextWrapper;
133
+ helpers: DisplayHelpers;
134
+ composer: ColumnComposer;
135
+ profile: DisplayProfile;
136
+ };
137
+ /**
138
+ * Create a Z100-configured display toolkit with character breaking.
139
+ *
140
+ * @returns Object with measurer, wrapper, and helpers configured for Vuzix Z100
141
+ *
142
+ * @example
143
+ * ```typescript
144
+ * const { wrapper } = createZ100Toolkit()
145
+ * const result = wrapper.wrap("Your text here")
146
+ * ```
147
+ */
148
+ export declare function createZ100Toolkit(): {
149
+ measurer: TextMeasurer;
150
+ wrapper: TextWrapper;
151
+ helpers: DisplayHelpers;
152
+ composer: ColumnComposer;
153
+ profile: DisplayProfile;
154
+ };
155
+ /**
156
+ * Create a Mentra Nex-configured display toolkit with character breaking.
157
+ * Also known as "Mentra Display".
158
+ *
159
+ * @returns Object with measurer, wrapper, and helpers configured for Mentra Nex
160
+ *
161
+ * @example
162
+ * ```typescript
163
+ * const { wrapper } = createNexToolkit()
164
+ * const result = wrapper.wrap("Your text here")
165
+ * ```
166
+ */
167
+ export declare function createNexToolkit(): {
168
+ measurer: TextMeasurer;
169
+ wrapper: TextWrapper;
170
+ helpers: DisplayHelpers;
171
+ composer: ColumnComposer;
172
+ profile: DisplayProfile;
173
+ };
174
+ //# sourceMappingURL=index.d.ts.map