@glassly/engine 0.1.0-dev.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.
- package/README.md +96 -0
- package/build/devtools.d.ts +11 -0
- package/build/devtools.d.ts.map +1 -0
- package/build/devtools.js +13 -0
- package/build/devtools.js.map +1 -0
- package/build/engine.d.ts +336 -0
- package/build/engine.d.ts.map +1 -0
- package/build/engine.js +198 -0
- package/build/engine.js.map +1 -0
- package/build/facades/dev.d.ts +69 -0
- package/build/facades/dev.d.ts.map +1 -0
- package/build/facades/dev.js +204 -0
- package/build/facades/dev.js.map +1 -0
- package/build/facades/display.d.ts +21 -0
- package/build/facades/display.d.ts.map +1 -0
- package/build/facades/display.js +17 -0
- package/build/facades/display.js.map +1 -0
- package/build/facades/displayMirror.d.ts +15 -0
- package/build/facades/displayMirror.d.ts.map +1 -0
- package/build/facades/displayMirror.js +29 -0
- package/build/facades/displayMirror.js.map +1 -0
- package/build/facades/gallery.d.ts +62 -0
- package/build/facades/gallery.d.ts.map +1 -0
- package/build/facades/gallery.js +61 -0
- package/build/facades/gallery.js.map +1 -0
- package/build/facades/glasses.d.ts +142 -0
- package/build/facades/glasses.d.ts.map +1 -0
- package/build/facades/glasses.js +214 -0
- package/build/facades/glasses.js.map +1 -0
- package/build/facades/glassesSettings.d.ts +13 -0
- package/build/facades/glassesSettings.d.ts.map +1 -0
- package/build/facades/glassesSettings.js +55 -0
- package/build/facades/glassesSettings.js.map +1 -0
- package/build/facades/glassesWifi.d.ts +25 -0
- package/build/facades/glassesWifi.d.ts.map +1 -0
- package/build/facades/glassesWifi.js +57 -0
- package/build/facades/glassesWifi.js.map +1 -0
- package/build/facades/maps.d.ts +18 -0
- package/build/facades/maps.d.ts.map +1 -0
- package/build/facades/maps.js +13 -0
- package/build/facades/maps.js.map +1 -0
- package/build/facades/memory.d.ts +38 -0
- package/build/facades/memory.d.ts.map +1 -0
- package/build/facades/memory.js +33 -0
- package/build/facades/memory.js.map +1 -0
- package/build/facades/miniapps.d.ts +47 -0
- package/build/facades/miniapps.d.ts.map +1 -0
- package/build/facades/miniapps.js +54 -0
- package/build/facades/miniapps.js.map +1 -0
- package/build/facades/notifications.d.ts +13 -0
- package/build/facades/notifications.d.ts.map +1 -0
- package/build/facades/notifications.js +12 -0
- package/build/facades/notifications.js.map +1 -0
- package/build/facades/ota.d.ts +106 -0
- package/build/facades/ota.d.ts.map +1 -0
- package/build/facades/ota.js +159 -0
- package/build/facades/ota.js.map +1 -0
- package/build/facades/pairing.d.ts +115 -0
- package/build/facades/pairing.d.ts.map +1 -0
- package/build/facades/pairing.js +275 -0
- package/build/facades/pairing.js.map +1 -0
- package/build/facades/permissions.d.ts +33 -0
- package/build/facades/permissions.d.ts.map +1 -0
- package/build/facades/permissions.js +155 -0
- package/build/facades/permissions.js.map +1 -0
- package/build/facades/phoneNotifications.d.ts +17 -0
- package/build/facades/phoneNotifications.d.ts.map +1 -0
- package/build/facades/phoneNotifications.js +41 -0
- package/build/facades/phoneNotifications.js.map +1 -0
- package/build/facades/providerKeys.d.ts +26 -0
- package/build/facades/providerKeys.d.ts.map +1 -0
- package/build/facades/providerKeys.js +26 -0
- package/build/facades/providerKeys.js.map +1 -0
- package/build/facades/reports.d.ts +36 -0
- package/build/facades/reports.d.ts.map +1 -0
- package/build/facades/reports.js +134 -0
- package/build/facades/reports.js.map +1 -0
- package/build/facades/session.d.ts +21 -0
- package/build/facades/session.d.ts.map +1 -0
- package/build/facades/session.js +52 -0
- package/build/facades/session.js.map +1 -0
- package/build/facades/settings.d.ts +37 -0
- package/build/facades/settings.d.ts.map +1 -0
- package/build/facades/settings.js +55 -0
- package/build/facades/settings.js.map +1 -0
- package/build/facades/speakers.d.ts +41 -0
- package/build/facades/speakers.d.ts.map +1 -0
- package/build/facades/speakers.js +139 -0
- package/build/facades/speakers.js.map +1 -0
- package/build/facades/speech.d.ts +44 -0
- package/build/facades/speech.d.ts.map +1 -0
- package/build/facades/speech.js +46 -0
- package/build/facades/speech.js.map +1 -0
- package/build/index.d.ts +48 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +49 -0
- package/build/index.js.map +1 -0
- package/build/internal.d.ts +67 -0
- package/build/internal.d.ts.map +1 -0
- package/build/internal.js +90 -0
- package/build/internal.js.map +1 -0
- package/build/runtime/bootstrap.d.ts +115 -0
- package/build/runtime/bootstrap.d.ts.map +1 -0
- package/build/runtime/bootstrap.js +73 -0
- package/build/runtime/bootstrap.js.map +1 -0
- package/build/runtime/config.d.ts +152 -0
- package/build/runtime/config.d.ts.map +1 -0
- package/build/runtime/config.js +19 -0
- package/build/runtime/config.js.map +1 -0
- package/build/runtime/scanQrSeam.d.ts +7 -0
- package/build/runtime/scanQrSeam.d.ts.map +1 -0
- package/build/runtime/scanQrSeam.js +16 -0
- package/build/runtime/scanQrSeam.js.map +1 -0
- package/build/runtime/streamConfig.d.ts +4 -0
- package/build/runtime/streamConfig.d.ts.map +1 -0
- package/build/runtime/streamConfig.js +38 -0
- package/build/runtime/streamConfig.js.map +1 -0
- package/build/services/AiTierResolution.d.ts +61 -0
- package/build/services/AiTierResolution.d.ts.map +1 -0
- package/build/services/AiTierResolution.js +83 -0
- package/build/services/AiTierResolution.js.map +1 -0
- package/build/services/AppRegistry.d.ts +303 -0
- package/build/services/AppRegistry.d.ts.map +1 -0
- package/build/services/AppRegistry.js +1108 -0
- package/build/services/AppRegistry.js.map +1 -0
- package/build/services/AudioCloudUplink.d.ts +15 -0
- package/build/services/AudioCloudUplink.d.ts.map +1 -0
- package/build/services/AudioCloudUplink.js +54 -0
- package/build/services/AudioCloudUplink.js.map +1 -0
- package/build/services/AudioPlaybackService.d.ts +183 -0
- package/build/services/AudioPlaybackService.d.ts.map +1 -0
- package/build/services/AudioPlaybackService.js +750 -0
- package/build/services/AudioPlaybackService.js.map +1 -0
- package/build/services/AutomaticReportResult.d.ts +20 -0
- package/build/services/AutomaticReportResult.d.ts.map +1 -0
- package/build/services/AutomaticReportResult.js +29 -0
- package/build/services/AutomaticReportResult.js.map +1 -0
- package/build/services/BlobStore.d.ts +106 -0
- package/build/services/BlobStore.d.ts.map +1 -0
- package/build/services/BlobStore.js +741 -0
- package/build/services/BlobStore.js.map +1 -0
- package/build/services/CaptionsTesterReportService.d.ts +4 -0
- package/build/services/CaptionsTesterReportService.d.ts.map +1 -0
- package/build/services/CaptionsTesterReportService.js +80 -0
- package/build/services/CaptionsTesterReportService.js.map +1 -0
- package/build/services/CloudAudioSubscriptionSync.d.ts +24 -0
- package/build/services/CloudAudioSubscriptionSync.d.ts.map +1 -0
- package/build/services/CloudAudioSubscriptionSync.js +51 -0
- package/build/services/CloudAudioSubscriptionSync.js.map +1 -0
- package/build/services/CloudClientService.d.ts +293 -0
- package/build/services/CloudClientService.d.ts.map +1 -0
- package/build/services/CloudClientService.js +965 -0
- package/build/services/CloudClientService.js.map +1 -0
- package/build/services/CloudTranscriptE2EMetrics.d.ts +4 -0
- package/build/services/CloudTranscriptE2EMetrics.d.ts.map +1 -0
- package/build/services/CloudTranscriptE2EMetrics.js +24 -0
- package/build/services/CloudTranscriptE2EMetrics.js.map +1 -0
- package/build/services/ConnectionCoordinator.d.ts +51 -0
- package/build/services/ConnectionCoordinator.d.ts.map +1 -0
- package/build/services/ConnectionCoordinator.js +34 -0
- package/build/services/ConnectionCoordinator.js.map +1 -0
- package/build/services/DevServerBridge.d.ts +63 -0
- package/build/services/DevServerBridge.d.ts.map +1 -0
- package/build/services/DevServerBridge.js +296 -0
- package/build/services/DevServerBridge.js.map +1 -0
- package/build/services/DeviceEventRouter.d.ts +3 -0
- package/build/services/DeviceEventRouter.d.ts.map +1 -0
- package/build/services/DeviceEventRouter.js +214 -0
- package/build/services/DeviceEventRouter.js.map +1 -0
- package/build/services/DeviceStoreHydration.d.ts +38 -0
- package/build/services/DeviceStoreHydration.d.ts.map +1 -0
- package/build/services/DeviceStoreHydration.js +124 -0
- package/build/services/DeviceStoreHydration.js.map +1 -0
- package/build/services/DisplayProcessor.d.ts +223 -0
- package/build/services/DisplayProcessor.d.ts.map +1 -0
- package/build/services/DisplayProcessor.js +552 -0
- package/build/services/DisplayProcessor.js.map +1 -0
- package/build/services/ForegroundLocationPermission.d.ts +13 -0
- package/build/services/ForegroundLocationPermission.d.ts.map +1 -0
- package/build/services/ForegroundLocationPermission.js +12 -0
- package/build/services/ForegroundLocationPermission.js.map +1 -0
- package/build/services/GlassesReadiness.d.ts +41 -0
- package/build/services/GlassesReadiness.d.ts.map +1 -0
- package/build/services/GlassesReadiness.js +82 -0
- package/build/services/GlassesReadiness.js.map +1 -0
- package/build/services/GlassesSettingsSync.d.ts +33 -0
- package/build/services/GlassesSettingsSync.d.ts.map +1 -0
- package/build/services/GlassesSettingsSync.js +127 -0
- package/build/services/GlassesSettingsSync.js.map +1 -0
- package/build/services/GlassesStatusProjection.d.ts +3 -0
- package/build/services/GlassesStatusProjection.d.ts.map +1 -0
- package/build/services/GlassesStatusProjection.js +65 -0
- package/build/services/GlassesStatusProjection.js.map +1 -0
- package/build/services/HeadingService.d.ts +33 -0
- package/build/services/HeadingService.d.ts.map +1 -0
- package/build/services/HeadingService.js +123 -0
- package/build/services/HeadingService.js.map +1 -0
- package/build/services/HotspotOtaTransport.d.ts +29 -0
- package/build/services/HotspotOtaTransport.d.ts.map +1 -0
- package/build/services/HotspotOtaTransport.js +146 -0
- package/build/services/HotspotOtaTransport.js.map +1 -0
- package/build/services/HotspotShutdown.d.ts +17 -0
- package/build/services/HotspotShutdown.d.ts.map +1 -0
- package/build/services/HotspotShutdown.js +29 -0
- package/build/services/HotspotShutdown.js.map +1 -0
- package/build/services/JSCrashController.d.ts +97 -0
- package/build/services/JSCrashController.d.ts.map +1 -0
- package/build/services/JSCrashController.js +138 -0
- package/build/services/JSCrashController.js.map +1 -0
- package/build/services/JSCrashloopReportService.d.ts +9 -0
- package/build/services/JSCrashloopReportService.d.ts.map +1 -0
- package/build/services/JSCrashloopReportService.js +54 -0
- package/build/services/JSCrashloopReportService.js.map +1 -0
- package/build/services/JSLogPipeline.d.ts +87 -0
- package/build/services/JSLogPipeline.d.ts.map +1 -0
- package/build/services/JSLogPipeline.js +137 -0
- package/build/services/JSLogPipeline.js.map +1 -0
- package/build/services/JSRouter.d.ts +203 -0
- package/build/services/JSRouter.d.ts.map +1 -0
- package/build/services/JSRouter.js +482 -0
- package/build/services/JSRouter.js.map +1 -0
- package/build/services/LocalDisplayManager.d.ts +162 -0
- package/build/services/LocalDisplayManager.d.ts.map +1 -0
- package/build/services/LocalDisplayManager.js +687 -0
- package/build/services/LocalDisplayManager.js.map +1 -0
- package/build/services/LocalMiniappDataMigration.d.ts +46 -0
- package/build/services/LocalMiniappDataMigration.d.ts.map +1 -0
- package/build/services/LocalMiniappDataMigration.js +78 -0
- package/build/services/LocalMiniappDataMigration.js.map +1 -0
- package/build/services/LocalMiniappRuntime.d.ts +677 -0
- package/build/services/LocalMiniappRuntime.d.ts.map +1 -0
- package/build/services/LocalMiniappRuntime.js +5068 -0
- package/build/services/LocalMiniappRuntime.js.map +1 -0
- package/build/services/LocalMiniappStorage.d.ts +32 -0
- package/build/services/LocalMiniappStorage.d.ts.map +1 -0
- package/build/services/LocalMiniappStorage.js +66 -0
- package/build/services/LocalMiniappStorage.js.map +1 -0
- package/build/services/LocalMiniappUserIdentity.d.ts +41 -0
- package/build/services/LocalMiniappUserIdentity.d.ts.map +1 -0
- package/build/services/LocalMiniappUserIdentity.js +73 -0
- package/build/services/LocalMiniappUserIdentity.js.map +1 -0
- package/build/services/LocalSttFallbackCoordinator.d.ts +101 -0
- package/build/services/LocalSttFallbackCoordinator.d.ts.map +1 -0
- package/build/services/LocalSttFallbackCoordinator.js +210 -0
- package/build/services/LocalSttFallbackCoordinator.js.map +1 -0
- package/build/services/MapboxTokenService.d.ts +33 -0
- package/build/services/MapboxTokenService.d.ts.map +1 -0
- package/build/services/MapboxTokenService.js +115 -0
- package/build/services/MapboxTokenService.js.map +1 -0
- package/build/services/MemoryCapture.d.ts +40 -0
- package/build/services/MemoryCapture.d.ts.map +1 -0
- package/build/services/MemoryCapture.js +42 -0
- package/build/services/MemoryCapture.js.map +1 -0
- package/build/services/MemoryStore.d.ts +184 -0
- package/build/services/MemoryStore.d.ts.map +1 -0
- package/build/services/MemoryStore.js +541 -0
- package/build/services/MemoryStore.js.map +1 -0
- package/build/services/MicStateCoordinator.d.ts +78 -0
- package/build/services/MicStateCoordinator.d.ts.map +1 -0
- package/build/services/MicStateCoordinator.js +219 -0
- package/build/services/MicStateCoordinator.js.map +1 -0
- package/build/services/MiniappEngine.d.ts +31 -0
- package/build/services/MiniappEngine.d.ts.map +1 -0
- package/build/services/MiniappEngine.js +119 -0
- package/build/services/MiniappEngine.js.map +1 -0
- package/build/services/MiniappLauncher.d.ts +127 -0
- package/build/services/MiniappLauncher.d.ts.map +1 -0
- package/build/services/MiniappLauncher.js +309 -0
- package/build/services/MiniappLauncher.js.map +1 -0
- package/build/services/MiniappLiveness.d.ts +12 -0
- package/build/services/MiniappLiveness.d.ts.map +1 -0
- package/build/services/MiniappLiveness.js +16 -0
- package/build/services/MiniappLiveness.js.map +1 -0
- package/build/services/MiniappRunningRegistry.d.ts +24 -0
- package/build/services/MiniappRunningRegistry.d.ts.map +1 -0
- package/build/services/MiniappRunningRegistry.js +52 -0
- package/build/services/MiniappRunningRegistry.js.map +1 -0
- package/build/services/NativeHttpResponse.d.ts +3 -0
- package/build/services/NativeHttpResponse.d.ts.map +1 -0
- package/build/services/NativeHttpResponse.js +6 -0
- package/build/services/NativeHttpResponse.js.map +1 -0
- package/build/services/NativeNavigationService.d.ts +51 -0
- package/build/services/NativeNavigationService.d.ts.map +1 -0
- package/build/services/NativeNavigationService.js +154 -0
- package/build/services/NativeNavigationService.js.map +1 -0
- package/build/services/NavigationHandlers.d.ts +107 -0
- package/build/services/NavigationHandlers.d.ts.map +1 -0
- package/build/services/NavigationHandlers.js +479 -0
- package/build/services/NavigationHandlers.js.map +1 -0
- package/build/services/NavigationService.d.ts +283 -0
- package/build/services/NavigationService.d.ts.map +1 -0
- package/build/services/NavigationService.js +696 -0
- package/build/services/NavigationService.js.map +1 -0
- package/build/services/NotificationsEmitter.d.ts +28 -0
- package/build/services/NotificationsEmitter.d.ts.map +1 -0
- package/build/services/NotificationsEmitter.js +22 -0
- package/build/services/NotificationsEmitter.js.map +1 -0
- package/build/services/OfflineSpeechModelService.d.ts +33 -0
- package/build/services/OfflineSpeechModelService.d.ts.map +1 -0
- package/build/services/OfflineSpeechModelService.js +136 -0
- package/build/services/OfflineSpeechModelService.js.map +1 -0
- package/build/services/OtaArtifactDownloader.d.ts +65 -0
- package/build/services/OtaArtifactDownloader.d.ts.map +1 -0
- package/build/services/OtaArtifactDownloader.js +226 -0
- package/build/services/OtaArtifactDownloader.js.map +1 -0
- package/build/services/OtaInstallCoordinator.d.ts +275 -0
- package/build/services/OtaInstallCoordinator.d.ts.map +1 -0
- package/build/services/OtaInstallCoordinator.js +1491 -0
- package/build/services/OtaInstallCoordinator.js.map +1 -0
- package/build/services/OtaService.d.ts +3 -0
- package/build/services/OtaService.d.ts.map +1 -0
- package/build/services/OtaService.js +72 -0
- package/build/services/OtaService.js.map +1 -0
- package/build/services/OtaUpdateCheckService.d.ts +100 -0
- package/build/services/OtaUpdateCheckService.d.ts.map +1 -0
- package/build/services/OtaUpdateCheckService.js +380 -0
- package/build/services/OtaUpdateCheckService.js.map +1 -0
- package/build/services/PairingIdentity.d.ts +80 -0
- package/build/services/PairingIdentity.d.ts.map +1 -0
- package/build/services/PairingIdentity.js +145 -0
- package/build/services/PairingIdentity.js.map +1 -0
- package/build/services/PhoneCalendarHelpers.d.ts +32 -0
- package/build/services/PhoneCalendarHelpers.d.ts.map +1 -0
- package/build/services/PhoneCalendarHelpers.js +157 -0
- package/build/services/PhoneCalendarHelpers.js.map +1 -0
- package/build/services/PhoneCalendarService.d.ts +5 -0
- package/build/services/PhoneCalendarService.d.ts.map +1 -0
- package/build/services/PhoneCalendarService.js +45 -0
- package/build/services/PhoneCalendarService.js.map +1 -0
- package/build/services/PhoneCameraFovCoordinator.d.ts +30 -0
- package/build/services/PhoneCameraFovCoordinator.d.ts.map +1 -0
- package/build/services/PhoneCameraFovCoordinator.js +194 -0
- package/build/services/PhoneCameraFovCoordinator.js.map +1 -0
- package/build/services/PhoneLocationService.d.ts +36 -0
- package/build/services/PhoneLocationService.d.ts.map +1 -0
- package/build/services/PhoneLocationService.js +115 -0
- package/build/services/PhoneLocationService.js.map +1 -0
- package/build/services/PhoneNotificationsSync.d.ts +3 -0
- package/build/services/PhoneNotificationsSync.d.ts.map +1 -0
- package/build/services/PhoneNotificationsSync.js +37 -0
- package/build/services/PhoneNotificationsSync.js.map +1 -0
- package/build/services/PhonePhotoCoordinator.d.ts +110 -0
- package/build/services/PhonePhotoCoordinator.d.ts.map +1 -0
- package/build/services/PhonePhotoCoordinator.js +344 -0
- package/build/services/PhonePhotoCoordinator.js.map +1 -0
- package/build/services/PhoneStreamCoordinator.d.ts +175 -0
- package/build/services/PhoneStreamCoordinator.d.ts.map +1 -0
- package/build/services/PhoneStreamCoordinator.js +740 -0
- package/build/services/PhoneStreamCoordinator.js.map +1 -0
- package/build/services/PhoneVideoCoordinator.d.ts +52 -0
- package/build/services/PhoneVideoCoordinator.d.ts.map +1 -0
- package/build/services/PhoneVideoCoordinator.js +157 -0
- package/build/services/PhoneVideoCoordinator.js.map +1 -0
- package/build/services/ProviderKeyValidation.d.ts +27 -0
- package/build/services/ProviderKeyValidation.d.ts.map +1 -0
- package/build/services/ProviderKeyValidation.js +42 -0
- package/build/services/ProviderKeyValidation.js.map +1 -0
- package/build/services/STTModelManager.d.ts +65 -0
- package/build/services/STTModelManager.d.ts.map +1 -0
- package/build/services/STTModelManager.js +366 -0
- package/build/services/STTModelManager.js.map +1 -0
- package/build/services/SceneRenderer.d.ts +90 -0
- package/build/services/SceneRenderer.d.ts.map +1 -0
- package/build/services/SceneRenderer.js +274 -0
- package/build/services/SceneRenderer.js.map +1 -0
- package/build/services/SentenceTtsPipeline.d.ts +31 -0
- package/build/services/SentenceTtsPipeline.d.ts.map +1 -0
- package/build/services/SentenceTtsPipeline.js +67 -0
- package/build/services/SentenceTtsPipeline.js.map +1 -0
- package/build/services/SpeakerIdModelManager.d.ts +36 -0
- package/build/services/SpeakerIdModelManager.d.ts.map +1 -0
- package/build/services/SpeakerIdModelManager.js +132 -0
- package/build/services/SpeakerIdModelManager.js.map +1 -0
- package/build/services/SpeakerIdSync.d.ts +14 -0
- package/build/services/SpeakerIdSync.d.ts.map +1 -0
- package/build/services/SpeakerIdSync.js +62 -0
- package/build/services/SpeakerIdSync.js.map +1 -0
- package/build/services/SpeakerLabelResolver.d.ts +80 -0
- package/build/services/SpeakerLabelResolver.d.ts.map +1 -0
- package/build/services/SpeakerLabelResolver.js +108 -0
- package/build/services/SpeakerLabelResolver.js.map +1 -0
- package/build/services/SpeakerProfileStore.d.ts +90 -0
- package/build/services/SpeakerProfileStore.d.ts.map +1 -0
- package/build/services/SpeakerProfileStore.js +213 -0
- package/build/services/SpeakerProfileStore.js.map +1 -0
- package/build/services/SpeakerSegmentResolver.d.ts +87 -0
- package/build/services/SpeakerSegmentResolver.d.ts.map +1 -0
- package/build/services/SpeakerSegmentResolver.js +137 -0
- package/build/services/SpeakerSegmentResolver.js.map +1 -0
- package/build/services/StreamLifecycleController.d.ts +63 -0
- package/build/services/StreamLifecycleController.d.ts.map +1 -0
- package/build/services/StreamLifecycleController.js +148 -0
- package/build/services/StreamLifecycleController.js.map +1 -0
- package/build/services/SupportProfileSync.d.ts +22 -0
- package/build/services/SupportProfileSync.d.ts.map +1 -0
- package/build/services/SupportProfileSync.js +213 -0
- package/build/services/SupportProfileSync.js.map +1 -0
- package/build/services/TTSModelManager.d.ts +90 -0
- package/build/services/TTSModelManager.d.ts.map +1 -0
- package/build/services/TTSModelManager.js +366 -0
- package/build/services/TTSModelManager.js.map +1 -0
- package/build/services/TranscriptionRouting.d.ts +22 -0
- package/build/services/TranscriptionRouting.d.ts.map +1 -0
- package/build/services/TranscriptionRouting.js +34 -0
- package/build/services/TranscriptionRouting.js.map +1 -0
- package/build/services/TtsTextSanitizer.d.ts +5 -0
- package/build/services/TtsTextSanitizer.d.ts.map +1 -0
- package/build/services/TtsTextSanitizer.js +61 -0
- package/build/services/TtsTextSanitizer.js.map +1 -0
- package/build/services/UIRouter.d.ts +137 -0
- package/build/services/UIRouter.d.ts.map +1 -0
- package/build/services/UIRouter.js +210 -0
- package/build/services/UIRouter.js.map +1 -0
- package/build/services/WebviewBridge.d.ts +22 -0
- package/build/services/WebviewBridge.d.ts.map +1 -0
- package/build/services/WebviewBridge.js +47 -0
- package/build/services/WebviewBridge.js.map +1 -0
- package/build/services/WifiAdbRequest.d.ts +17 -0
- package/build/services/WifiAdbRequest.d.ts.map +1 -0
- package/build/services/WifiAdbRequest.js +35 -0
- package/build/services/WifiAdbRequest.js.map +1 -0
- package/build/services/asg/GalleryMediaIntegrityReportService.d.ts +17 -0
- package/build/services/asg/GalleryMediaIntegrityReportService.d.ts.map +1 -0
- package/build/services/asg/GalleryMediaIntegrityReportService.js +43 -0
- package/build/services/asg/GalleryMediaIntegrityReportService.js.map +1 -0
- package/build/services/asg/asgCameraApi.d.ts +208 -0
- package/build/services/asg/asgCameraApi.d.ts.map +1 -0
- package/build/services/asg/asgCameraApi.js +1480 -0
- package/build/services/asg/asgCameraApi.js.map +1 -0
- package/build/services/asg/cameraRollExportCoordinator.d.ts +60 -0
- package/build/services/asg/cameraRollExportCoordinator.d.ts.map +1 -0
- package/build/services/asg/cameraRollExportCoordinator.js +618 -0
- package/build/services/asg/cameraRollExportCoordinator.js.map +1 -0
- package/build/services/asg/cameraRollExportLedger.d.ts +44 -0
- package/build/services/asg/cameraRollExportLedger.d.ts.map +1 -0
- package/build/services/asg/cameraRollExportLedger.js +78 -0
- package/build/services/asg/cameraRollExportLedger.js.map +1 -0
- package/build/services/asg/galleryMediaValidation.d.ts +29 -0
- package/build/services/asg/galleryMediaValidation.d.ts.map +1 -0
- package/build/services/asg/galleryMediaValidation.js +149 -0
- package/build/services/asg/galleryMediaValidation.js.map +1 -0
- package/build/services/asg/galleryNotices.d.ts +33 -0
- package/build/services/asg/galleryNotices.d.ts.map +1 -0
- package/build/services/asg/galleryNotices.js +29 -0
- package/build/services/asg/galleryNotices.js.map +1 -0
- package/build/services/asg/galleryPathMigration.d.ts +3 -0
- package/build/services/asg/galleryPathMigration.d.ts.map +1 -0
- package/build/services/asg/galleryPathMigration.js +26 -0
- package/build/services/asg/galleryPathMigration.js.map +1 -0
- package/build/services/asg/gallerySettingsService.d.ts +20 -0
- package/build/services/asg/gallerySettingsService.d.ts.map +1 -0
- package/build/services/asg/gallerySettingsService.js +53 -0
- package/build/services/asg/gallerySettingsService.js.map +1 -0
- package/build/services/asg/gallerySyncNotifications.d.ts +56 -0
- package/build/services/asg/gallerySyncNotifications.d.ts.map +1 -0
- package/build/services/asg/gallerySyncNotifications.js +198 -0
- package/build/services/asg/gallerySyncNotifications.js.map +1 -0
- package/build/services/asg/gallerySyncService.d.ts +137 -0
- package/build/services/asg/gallerySyncService.d.ts.map +1 -0
- package/build/services/asg/gallerySyncService.js +1945 -0
- package/build/services/asg/gallerySyncService.js.map +1 -0
- package/build/services/asg/galleryTransferLedger.d.ts +58 -0
- package/build/services/asg/galleryTransferLedger.d.ts.map +1 -0
- package/build/services/asg/galleryTransferLedger.js +225 -0
- package/build/services/asg/galleryTransferLedger.js.map +1 -0
- package/build/services/asg/localNetworkTransport.d.ts +15 -0
- package/build/services/asg/localNetworkTransport.d.ts.map +1 -0
- package/build/services/asg/localNetworkTransport.js +144 -0
- package/build/services/asg/localNetworkTransport.js.map +1 -0
- package/build/services/asg/localStorageService.d.ts +146 -0
- package/build/services/asg/localStorageService.d.ts.map +1 -0
- package/build/services/asg/localStorageService.js +572 -0
- package/build/services/asg/localStorageService.js.map +1 -0
- package/build/services/asg/mediaProcessingQueue.d.ts +70 -0
- package/build/services/asg/mediaProcessingQueue.d.ts.map +1 -0
- package/build/services/asg/mediaProcessingQueue.js +451 -0
- package/build/services/asg/mediaProcessingQueue.js.map +1 -0
- package/build/services/audioPlaybackAssets.d.ts +8 -0
- package/build/services/audioPlaybackAssets.d.ts.map +1 -0
- package/build/services/audioPlaybackAssets.js +7 -0
- package/build/services/audioPlaybackAssets.js.map +1 -0
- package/build/services/blobPaths.d.ts +31 -0
- package/build/services/blobPaths.d.ts.map +1 -0
- package/build/services/blobPaths.js +86 -0
- package/build/services/blobPaths.js.map +1 -0
- package/build/services/cloudStreamApi.d.ts +59 -0
- package/build/services/cloudStreamApi.d.ts.map +1 -0
- package/build/services/cloudStreamApi.js +81 -0
- package/build/services/cloudStreamApi.js.map +1 -0
- package/build/services/effectiveCapabilities.d.ts +8 -0
- package/build/services/effectiveCapabilities.d.ts.map +1 -0
- package/build/services/effectiveCapabilities.js +23 -0
- package/build/services/effectiveCapabilities.js.map +1 -0
- package/build/services/gallerySyncClock.d.ts +17 -0
- package/build/services/gallerySyncClock.d.ts.map +1 -0
- package/build/services/gallerySyncClock.js +21 -0
- package/build/services/gallerySyncClock.js.map +1 -0
- package/build/services/glassesClockSync.d.ts +20 -0
- package/build/services/glassesClockSync.d.ts.map +1 -0
- package/build/services/glassesClockSync.js +97 -0
- package/build/services/glassesClockSync.js.map +1 -0
- package/build/services/manifestActions.d.ts +31 -0
- package/build/services/manifestActions.d.ts.map +1 -0
- package/build/services/manifestActions.js +54 -0
- package/build/services/manifestActions.js.map +1 -0
- package/build/services/manifestVersionGate.d.ts +28 -0
- package/build/services/manifestVersionGate.d.ts.map +1 -0
- package/build/services/manifestVersionGate.js +41 -0
- package/build/services/manifestVersionGate.js.map +1 -0
- package/build/services/memoryStoreInstance.d.ts +19 -0
- package/build/services/memoryStoreInstance.d.ts.map +1 -0
- package/build/services/memoryStoreInstance.js +65 -0
- package/build/services/memoryStoreInstance.js.map +1 -0
- package/build/services/navigation/roadNameResolver.d.ts +67 -0
- package/build/services/navigation/roadNameResolver.d.ts.map +1 -0
- package/build/services/navigation/roadNameResolver.js +87 -0
- package/build/services/navigation/roadNameResolver.js.map +1 -0
- package/build/services/navigation/routesApiCodec.d.ts +38 -0
- package/build/services/navigation/routesApiCodec.d.ts.map +1 -0
- package/build/services/navigation/routesApiCodec.js +68 -0
- package/build/services/navigation/routesApiCodec.js.map +1 -0
- package/build/services/otaDisplayState.d.ts +53 -0
- package/build/services/otaDisplayState.d.ts.map +1 -0
- package/build/services/otaDisplayState.js +114 -0
- package/build/services/otaDisplayState.js.map +1 -0
- package/build/services/otaInstallPolicy.d.ts +93 -0
- package/build/services/otaInstallPolicy.d.ts.map +1 -0
- package/build/services/otaInstallPolicy.js +117 -0
- package/build/services/otaInstallPolicy.js.map +1 -0
- package/build/services/otaLegacyMapping.d.ts +22 -0
- package/build/services/otaLegacyMapping.d.ts.map +1 -0
- package/build/services/otaLegacyMapping.js +56 -0
- package/build/services/otaLegacyMapping.js.map +1 -0
- package/build/services/otaManifestUrl.d.ts +2 -0
- package/build/services/otaManifestUrl.d.ts.map +1 -0
- package/build/services/otaManifestUrl.js +46 -0
- package/build/services/otaManifestUrl.js.map +1 -0
- package/build/services/slimStreamStatus.d.ts +18 -0
- package/build/services/slimStreamStatus.d.ts.map +1 -0
- package/build/services/slimStreamStatus.js +36 -0
- package/build/services/slimStreamStatus.js.map +1 -0
- package/build/services/soniox/SonioxDirectService.d.ts +109 -0
- package/build/services/soniox/SonioxDirectService.d.ts.map +1 -0
- package/build/services/soniox/SonioxDirectService.js +449 -0
- package/build/services/soniox/SonioxDirectService.js.map +1 -0
- package/build/services/soniox/SonioxRealtimeClient.d.ts +121 -0
- package/build/services/soniox/SonioxRealtimeClient.d.ts.map +1 -0
- package/build/services/soniox/SonioxRealtimeClient.js +301 -0
- package/build/services/soniox/SonioxRealtimeClient.js.map +1 -0
- package/build/services/soniox/SonioxTokenAssembler.d.ts +98 -0
- package/build/services/soniox/SonioxTokenAssembler.d.ts.map +1 -0
- package/build/services/soniox/SonioxTokenAssembler.js +394 -0
- package/build/services/soniox/SonioxTokenAssembler.js.map +1 -0
- package/build/services/speakerProfileStoreInstance.d.ts +8 -0
- package/build/services/speakerProfileStoreInstance.d.ts.map +1 -0
- package/build/services/speakerProfileStoreInstance.js +24 -0
- package/build/services/speakerProfileStoreInstance.js.map +1 -0
- package/build/services/uiShim.d.ts +38 -0
- package/build/services/uiShim.d.ts.map +1 -0
- package/build/services/uiShim.js +369 -0
- package/build/services/uiShim.js.map +1 -0
- package/build/stores/apps.d.ts +104 -0
- package/build/stores/apps.d.ts.map +1 -0
- package/build/stores/apps.js +503 -0
- package/build/stores/apps.js.map +1 -0
- package/build/stores/bluetoothSettingKeys.d.ts +4 -0
- package/build/stores/bluetoothSettingKeys.d.ts.map +1 -0
- package/build/stores/bluetoothSettingKeys.js +33 -0
- package/build/stores/bluetoothSettingKeys.js.map +1 -0
- package/build/stores/cloudClientStatus.d.ts +9 -0
- package/build/stores/cloudClientStatus.d.ts.map +1 -0
- package/build/stores/cloudClientStatus.js +24 -0
- package/build/stores/cloudClientStatus.js.map +1 -0
- package/build/stores/connection.d.ts +22 -0
- package/build/stores/connection.d.ts.map +1 -0
- package/build/stores/connection.js +43 -0
- package/build/stores/connection.js.map +1 -0
- package/build/stores/core.d.ts +15 -0
- package/build/stores/core.d.ts.map +1 -0
- package/build/stores/core.js +21 -0
- package/build/stores/core.js.map +1 -0
- package/build/stores/display.d.ts +24 -0
- package/build/stores/display.d.ts.map +1 -0
- package/build/stores/display.js +96 -0
- package/build/stores/display.js.map +1 -0
- package/build/stores/gallerySync.d.ts +103 -0
- package/build/stores/gallerySync.d.ts.map +1 -0
- package/build/stores/gallerySync.js +219 -0
- package/build/stores/gallerySync.js.map +1 -0
- package/build/stores/glasses.d.ts +62 -0
- package/build/stores/glasses.d.ts.map +1 -0
- package/build/stores/glasses.js +208 -0
- package/build/stores/glasses.js.map +1 -0
- package/build/stores/settings.d.ts +54 -0
- package/build/stores/settings.d.ts.map +1 -0
- package/build/stores/settings.js +1200 -0
- package/build/stores/settings.js.map +1 -0
- package/build/stores/transcriptionDebug.d.ts +25 -0
- package/build/stores/transcriptionDebug.d.ts.map +1 -0
- package/build/stores/transcriptionDebug.js +0 -0
- package/build/stores/transcriptionDebug.js.map +1 -0
- package/build/types/applet.d.ts +101 -0
- package/build/types/applet.d.ts.map +1 -0
- package/build/types/applet.js +5 -0
- package/build/types/applet.js.map +1 -0
- package/build/types/asg.d.ts +53 -0
- package/build/types/asg.d.ts.map +1 -0
- package/build/types/asg.js +2 -0
- package/build/types/asg.js.map +1 -0
- package/build/types/capabilities/even-realities-g1.d.ts +12 -0
- package/build/types/capabilities/even-realities-g1.d.ts.map +1 -0
- package/build/types/capabilities/even-realities-g1.js +57 -0
- package/build/types/capabilities/even-realities-g1.js.map +1 -0
- package/build/types/capabilities/even-realities-g2.d.ts +12 -0
- package/build/types/capabilities/even-realities-g2.d.ts.map +1 -0
- package/build/types/capabilities/even-realities-g2.js +83 -0
- package/build/types/capabilities/even-realities-g2.js.map +1 -0
- package/build/types/capabilities/mentra-display.d.ts +12 -0
- package/build/types/capabilities/mentra-display.d.ts.map +1 -0
- package/build/types/capabilities/mentra-display.js +65 -0
- package/build/types/capabilities/mentra-display.js.map +1 -0
- package/build/types/capabilities/mentra-live.d.ts +12 -0
- package/build/types/capabilities/mentra-live.d.ts.map +1 -0
- package/build/types/capabilities/mentra-live.js +94 -0
- package/build/types/capabilities/mentra-live.js.map +1 -0
- package/build/types/capabilities/nimo.d.ts +13 -0
- package/build/types/capabilities/nimo.d.ts.map +1 -0
- package/build/types/capabilities/nimo.js +72 -0
- package/build/types/capabilities/nimo.js.map +1 -0
- package/build/types/capabilities/none.d.ts +13 -0
- package/build/types/capabilities/none.d.ts.map +1 -0
- package/build/types/capabilities/none.js +67 -0
- package/build/types/capabilities/none.js.map +1 -0
- package/build/types/capabilities/simulated-glasses.d.ts +13 -0
- package/build/types/capabilities/simulated-glasses.d.ts.map +1 -0
- package/build/types/capabilities/simulated-glasses.js +82 -0
- package/build/types/capabilities/simulated-glasses.js.map +1 -0
- package/build/types/capabilities/vuzix-z100.d.ts +12 -0
- package/build/types/capabilities/vuzix-z100.d.ts.map +1 -0
- package/build/types/capabilities/vuzix-z100.js +54 -0
- package/build/types/capabilities/vuzix-z100.js.map +1 -0
- package/build/types/enums.d.ts +22 -0
- package/build/types/enums.d.ts.map +1 -0
- package/build/types/enums.js +27 -0
- package/build/types/enums.js.map +1 -0
- package/build/types/hardware.d.ts +155 -0
- package/build/types/hardware.d.ts.map +1 -0
- package/build/types/hardware.js +52 -0
- package/build/types/hardware.js.map +1 -0
- package/build/types/index.d.ts +11 -0
- package/build/types/index.d.ts.map +1 -0
- package/build/types/index.js +10 -0
- package/build/types/index.js.map +1 -0
- package/build/utils/GlobalEventEmitter.d.ts +11 -0
- package/build/utils/GlobalEventEmitter.d.ts.map +1 -0
- package/build/utils/GlobalEventEmitter.js +14 -0
- package/build/utils/GlobalEventEmitter.js.map +1 -0
- package/build/utils/cloudClient/RnUdpAdapter.d.ts +3 -0
- package/build/utils/cloudClient/RnUdpAdapter.d.ts.map +1 -0
- package/build/utils/cloudClient/RnUdpAdapter.js +41 -0
- package/build/utils/cloudClient/RnUdpAdapter.js.map +1 -0
- package/build/utils/cloudClient/cloudSecureStore.d.ts +3 -0
- package/build/utils/cloudClient/cloudSecureStore.d.ts.map +1 -0
- package/build/utils/cloudClient/cloudSecureStore.js +26 -0
- package/build/utils/cloudClient/cloudSecureStore.js.map +1 -0
- package/build/utils/configuredDevHost.d.ts +6 -0
- package/build/utils/configuredDevHost.d.ts.map +1 -0
- package/build/utils/configuredDevHost.js +19 -0
- package/build/utils/configuredDevHost.js.map +1 -0
- package/build/utils/debouncedPatch.d.ts +6 -0
- package/build/utils/debouncedPatch.d.ts.map +1 -0
- package/build/utils/debouncedPatch.js +25 -0
- package/build/utils/debouncedPatch.js.map +1 -0
- package/build/utils/devLogging.d.ts +26 -0
- package/build/utils/devLogging.d.ts.map +1 -0
- package/build/utils/devLogging.js +116 -0
- package/build/utils/devLogging.js.map +1 -0
- package/build/utils/devMiniappLaunch.d.ts +55 -0
- package/build/utils/devMiniappLaunch.d.ts.map +1 -0
- package/build/utils/devMiniappLaunch.js +175 -0
- package/build/utils/devMiniappLaunch.js.map +1 -0
- package/build/utils/diagnosticContext.d.ts +3 -0
- package/build/utils/diagnosticContext.d.ts.map +1 -0
- package/build/utils/diagnosticContext.js +122 -0
- package/build/utils/diagnosticContext.js.map +1 -0
- package/build/utils/display/composer/ColumnComposer.d.ts +131 -0
- package/build/utils/display/composer/ColumnComposer.d.ts.map +1 -0
- package/build/utils/display/composer/ColumnComposer.js +204 -0
- package/build/utils/display/composer/ColumnComposer.js.map +1 -0
- package/build/utils/display/composer/index.d.ts +9 -0
- package/build/utils/display/composer/index.d.ts.map +1 -0
- package/build/utils/display/composer/index.js +9 -0
- package/build/utils/display/composer/index.js.map +1 -0
- package/build/utils/display/helpers/DisplayHelpers.d.ts +165 -0
- package/build/utils/display/helpers/DisplayHelpers.d.ts.map +1 -0
- package/build/utils/display/helpers/DisplayHelpers.js +312 -0
- package/build/utils/display/helpers/DisplayHelpers.js.map +1 -0
- package/build/utils/display/helpers/ScrollView.d.ts +183 -0
- package/build/utils/display/helpers/ScrollView.d.ts.map +1 -0
- package/build/utils/display/helpers/ScrollView.js +257 -0
- package/build/utils/display/helpers/ScrollView.js.map +1 -0
- package/build/utils/display/helpers/index.d.ts +11 -0
- package/build/utils/display/helpers/index.d.ts.map +1 -0
- package/build/utils/display/helpers/index.js +10 -0
- package/build/utils/display/helpers/index.js.map +1 -0
- package/build/utils/display/index.d.ts +174 -0
- package/build/utils/display/index.d.ts.map +1 -0
- package/build/utils/display/index.js +188 -0
- package/build/utils/display/index.js.map +1 -0
- package/build/utils/display/measurer/TextMeasurer.d.ts +160 -0
- package/build/utils/display/measurer/TextMeasurer.d.ts.map +1 -0
- package/build/utils/display/measurer/TextMeasurer.js +273 -0
- package/build/utils/display/measurer/TextMeasurer.js.map +1 -0
- package/build/utils/display/measurer/index.d.ts +10 -0
- package/build/utils/display/measurer/index.d.ts.map +1 -0
- package/build/utils/display/measurer/index.js +11 -0
- package/build/utils/display/measurer/index.js.map +1 -0
- package/build/utils/display/measurer/script-detection.d.ts +53 -0
- package/build/utils/display/measurer/script-detection.d.ts.map +1 -0
- package/build/utils/display/measurer/script-detection.js +184 -0
- package/build/utils/display/measurer/script-detection.js.map +1 -0
- package/build/utils/display/profiles/g1.d.ts +33 -0
- package/build/utils/display/profiles/g1.d.ts.map +1 -0
- package/build/utils/display/profiles/g1.js +213 -0
- package/build/utils/display/profiles/g1.js.map +1 -0
- package/build/utils/display/profiles/g2.d.ts +13 -0
- package/build/utils/display/profiles/g2.d.ts.map +1 -0
- package/build/utils/display/profiles/g2.js +34 -0
- package/build/utils/display/profiles/g2.js.map +1 -0
- package/build/utils/display/profiles/index.d.ts +12 -0
- package/build/utils/display/profiles/index.d.ts.map +1 -0
- package/build/utils/display/profiles/index.js +15 -0
- package/build/utils/display/profiles/index.js.map +1 -0
- package/build/utils/display/profiles/nex.d.ts +10 -0
- package/build/utils/display/profiles/nex.d.ts.map +1 -0
- package/build/utils/display/profiles/nex.js +150 -0
- package/build/utils/display/profiles/nex.js.map +1 -0
- package/build/utils/display/profiles/types.d.ts +103 -0
- package/build/utils/display/profiles/types.d.ts.map +1 -0
- package/build/utils/display/profiles/types.js +2 -0
- package/build/utils/display/profiles/types.js.map +1 -0
- package/build/utils/display/profiles/z100.d.ts +33 -0
- package/build/utils/display/profiles/z100.d.ts.map +1 -0
- package/build/utils/display/profiles/z100.js +182 -0
- package/build/utils/display/profiles/z100.js.map +1 -0
- package/build/utils/display/scene/anchor.d.ts +17 -0
- package/build/utils/display/scene/anchor.d.ts.map +1 -0
- package/build/utils/display/scene/anchor.js +33 -0
- package/build/utils/display/scene/anchor.js.map +1 -0
- package/build/utils/display/scene/degrade.d.ts +25 -0
- package/build/utils/display/scene/degrade.d.ts.map +1 -0
- package/build/utils/display/scene/degrade.js +64 -0
- package/build/utils/display/scene/degrade.js.map +1 -0
- package/build/utils/display/scene/differ.d.ts +38 -0
- package/build/utils/display/scene/differ.d.ts.map +1 -0
- package/build/utils/display/scene/differ.js +107 -0
- package/build/utils/display/scene/differ.js.map +1 -0
- package/build/utils/display/scene/index.d.ts +11 -0
- package/build/utils/display/scene/index.d.ts.map +1 -0
- package/build/utils/display/scene/index.js +7 -0
- package/build/utils/display/scene/index.js.map +1 -0
- package/build/utils/display/scene/process.d.ts +35 -0
- package/build/utils/display/scene/process.d.ts.map +1 -0
- package/build/utils/display/scene/process.js +201 -0
- package/build/utils/display/scene/process.js.map +1 -0
- package/build/utils/display/scene/store.d.ts +48 -0
- package/build/utils/display/scene/store.d.ts.map +1 -0
- package/build/utils/display/scene/store.js +0 -0
- package/build/utils/display/scene/store.js.map +1 -0
- package/build/utils/display/scene/types.d.ts +139 -0
- package/build/utils/display/scene/types.d.ts.map +1 -0
- package/build/utils/display/scene/types.js +0 -0
- package/build/utils/display/scene/types.js.map +1 -0
- package/build/utils/display/wrapper/TextWrapper.d.ts +102 -0
- package/build/utils/display/wrapper/TextWrapper.d.ts.map +1 -0
- package/build/utils/display/wrapper/TextWrapper.js +471 -0
- package/build/utils/display/wrapper/TextWrapper.js.map +1 -0
- package/build/utils/display/wrapper/index.d.ts +12 -0
- package/build/utils/display/wrapper/index.d.ts.map +1 -0
- package/build/utils/display/wrapper/index.js +12 -0
- package/build/utils/display/wrapper/index.js.map +1 -0
- package/build/utils/display/wrapper/types.d.ts +75 -0
- package/build/utils/display/wrapper/types.d.ts.map +1 -0
- package/build/utils/display/wrapper/types.js +11 -0
- package/build/utils/display/wrapper/types.js.map +1 -0
- package/build/utils/e2eMetrics.d.ts +6 -0
- package/build/utils/e2eMetrics.d.ts.map +1 -0
- package/build/utils/e2eMetrics.js +27 -0
- package/build/utils/e2eMetrics.js.map +1 -0
- package/build/utils/hardware/hardware.d.ts +42 -0
- package/build/utils/hardware/hardware.d.ts.map +1 -0
- package/build/utils/hardware/hardware.js +131 -0
- package/build/utils/hardware/hardware.js.map +1 -0
- package/build/utils/hardware/index.d.ts +2 -0
- package/build/utils/hardware/index.d.ts.map +1 -0
- package/build/utils/hardware/index.js +2 -0
- package/build/utils/hardware/index.js.map +1 -0
- package/build/utils/memory/search.d.ts +72 -0
- package/build/utils/memory/search.d.ts.map +1 -0
- package/build/utils/memory/search.js +178 -0
- package/build/utils/memory/search.js.map +1 -0
- package/build/utils/miniappDiagnostics.d.ts +64 -0
- package/build/utils/miniappDiagnostics.d.ts.map +1 -0
- package/build/utils/miniappDiagnostics.js +173 -0
- package/build/utils/miniappDiagnostics.js.map +1 -0
- package/build/utils/miniappGlobals.d.ts +59 -0
- package/build/utils/miniappGlobals.d.ts.map +1 -0
- package/build/utils/miniappGlobals.js +223 -0
- package/build/utils/miniappGlobals.js.map +1 -0
- package/build/utils/permissions/MediaLibraryPermissions.d.ts +45 -0
- package/build/utils/permissions/MediaLibraryPermissions.d.ts.map +1 -0
- package/build/utils/permissions/MediaLibraryPermissions.js +145 -0
- package/build/utils/permissions/MediaLibraryPermissions.js.map +1 -0
- package/build/utils/permissions/galleryDisplayName.d.ts +8 -0
- package/build/utils/permissions/galleryDisplayName.d.ts.map +1 -0
- package/build/utils/permissions/galleryDisplayName.js +25 -0
- package/build/utils/permissions/galleryDisplayName.js.map +1 -0
- package/build/utils/speakerEmbedding.d.ts +8 -0
- package/build/utils/speakerEmbedding.d.ts.map +1 -0
- package/build/utils/speakerEmbedding.js +63 -0
- package/build/utils/speakerEmbedding.js.map +1 -0
- package/build/utils/storage/index.d.ts +3 -0
- package/build/utils/storage/index.d.ts.map +1 -0
- package/build/utils/storage/index.js +3 -0
- package/build/utils/storage/index.js.map +1 -0
- package/build/utils/storage/storage.d.ts +24 -0
- package/build/utils/storage/storage.d.ts.map +1 -0
- package/build/utils/storage/storage.js +85 -0
- package/build/utils/storage/storage.js.map +1 -0
- package/build/utils/storage/zip.d.ts +3 -0
- package/build/utils/storage/zip.d.ts.map +1 -0
- package/build/utils/storage/zip.js +14 -0
- package/build/utils/storage/zip.js.map +1 -0
- package/build/utils/timers/index.d.ts +3 -0
- package/build/utils/timers/index.d.ts.map +1 -0
- package/build/utils/timers/index.js +3 -0
- package/build/utils/timers/index.js.map +1 -0
- package/build/utils/timers/timers.d.ts +9 -0
- package/build/utils/timers/timers.d.ts.map +1 -0
- package/build/utils/timers/timers.js +142 -0
- package/build/utils/timers/timers.js.map +1 -0
- package/package.json +122 -0
- package/src/assets/silence.wav +0 -0
- package/src/devtools.ts +13 -0
- package/src/engine.ts +198 -0
- package/src/facades/dev.ts +213 -0
- package/src/facades/display.ts +17 -0
- package/src/facades/displayMirror.ts +33 -0
- package/src/facades/gallery.ts +69 -0
- package/src/facades/glasses.ts +219 -0
- package/src/facades/glassesSettings.ts +57 -0
- package/src/facades/glassesWifi.ts +68 -0
- package/src/facades/maps.ts +13 -0
- package/src/facades/memory.ts +46 -0
- package/src/facades/miniapps.ts +62 -0
- package/src/facades/notifications.ts +14 -0
- package/src/facades/ota.ts +177 -0
- package/src/facades/pairing.ts +329 -0
- package/src/facades/permissions.ts +165 -0
- package/src/facades/phoneNotifications.ts +41 -0
- package/src/facades/providerKeys.ts +31 -0
- package/src/facades/reports.ts +180 -0
- package/src/facades/session.ts +54 -0
- package/src/facades/settings.ts +57 -0
- package/src/facades/speakers.ts +152 -0
- package/src/facades/speech.ts +49 -0
- package/src/index.ts +214 -0
- package/src/internal.ts +155 -0
- package/src/runtime/bootstrap.ts +159 -0
- package/src/runtime/config.ts +155 -0
- package/src/runtime/scanQrSeam.ts +20 -0
- package/src/runtime/streamConfig.ts +34 -0
- package/src/services/AiTierResolution.ts +106 -0
- package/src/services/AppRegistry.ts +1245 -0
- package/src/services/AudioCloudUplink.ts +56 -0
- package/src/services/AudioPlaybackService.ts +873 -0
- package/src/services/AutomaticReportResult.ts +50 -0
- package/src/services/BlobStore.ts +823 -0
- package/src/services/CaptionsTesterReportService.ts +107 -0
- package/src/services/CloudAudioSubscriptionSync.ts +53 -0
- package/src/services/CloudClientService.ts +1031 -0
- package/src/services/CloudTranscriptE2EMetrics.ts +27 -0
- package/src/services/ConnectionCoordinator.ts +65 -0
- package/src/services/DevServerBridge.ts +334 -0
- package/src/services/DeviceEventRouter.ts +266 -0
- package/src/services/DeviceStoreHydration.ts +130 -0
- package/src/services/DisplayProcessor.ts +775 -0
- package/src/services/ForegroundLocationPermission.ts +24 -0
- package/src/services/GlassesReadiness.ts +103 -0
- package/src/services/GlassesSettingsSync.ts +140 -0
- package/src/services/GlassesStatusProjection.ts +73 -0
- package/src/services/HeadingService.ts +122 -0
- package/src/services/HotspotOtaTransport.ts +184 -0
- package/src/services/HotspotShutdown.ts +41 -0
- package/src/services/JSCrashController.ts +189 -0
- package/src/services/JSCrashloopReportService.ts +66 -0
- package/src/services/JSLogPipeline.ts +166 -0
- package/src/services/JSRouter.ts +555 -0
- package/src/services/LocalDisplayManager.ts +815 -0
- package/src/services/LocalMiniappDataMigration.ts +102 -0
- package/src/services/LocalMiniappRuntime.ts +5747 -0
- package/src/services/LocalMiniappStorage.ts +82 -0
- package/src/services/LocalMiniappUserIdentity.ts +79 -0
- package/src/services/LocalSttFallbackCoordinator.ts +247 -0
- package/src/services/MapboxTokenService.ts +118 -0
- package/src/services/MemoryCapture.ts +61 -0
- package/src/services/MemoryStore.ts +633 -0
- package/src/services/MicStateCoordinator.ts +259 -0
- package/src/services/MiniappEngine.ts +143 -0
- package/src/services/MiniappLauncher.ts +365 -0
- package/src/services/MiniappLiveness.ts +24 -0
- package/src/services/MiniappRunningRegistry.ts +57 -0
- package/src/services/NativeHttpResponse.ts +6 -0
- package/src/services/NativeNavigationService.ts +176 -0
- package/src/services/NavigationHandlers.ts +527 -0
- package/src/services/NavigationService.ts +926 -0
- package/src/services/NotificationsEmitter.ts +49 -0
- package/src/services/OfflineSpeechModelService.ts +168 -0
- package/src/services/OtaArtifactDownloader.ts +312 -0
- package/src/services/OtaInstallCoordinator.ts +1707 -0
- package/src/services/OtaService.ts +89 -0
- package/src/services/OtaUpdateCheckService.ts +550 -0
- package/src/services/PairingIdentity.ts +154 -0
- package/src/services/PhoneCalendarHelpers.ts +212 -0
- package/src/services/PhoneCalendarService.ts +61 -0
- package/src/services/PhoneCameraFovCoordinator.ts +210 -0
- package/src/services/PhoneLocationService.ts +120 -0
- package/src/services/PhoneNotificationsSync.ts +46 -0
- package/src/services/PhonePhotoCoordinator.ts +435 -0
- package/src/services/PhoneStreamCoordinator.ts +874 -0
- package/src/services/PhoneVideoCoordinator.ts +203 -0
- package/src/services/ProviderKeyValidation.ts +57 -0
- package/src/services/STTModelManager.ts +434 -0
- package/src/services/SceneRenderer.ts +320 -0
- package/src/services/SentenceTtsPipeline.ts +106 -0
- package/src/services/SpeakerIdModelManager.ts +151 -0
- package/src/services/SpeakerIdSync.ts +79 -0
- package/src/services/SpeakerLabelResolver.ts +140 -0
- package/src/services/SpeakerProfileStore.ts +265 -0
- package/src/services/SpeakerSegmentResolver.ts +194 -0
- package/src/services/StreamLifecycleController.ts +203 -0
- package/src/services/SupportProfileSync.ts +218 -0
- package/src/services/TTSModelManager.ts +466 -0
- package/src/services/TranscriptionRouting.ts +47 -0
- package/src/services/TtsTextSanitizer.ts +66 -0
- package/src/services/UIRouter.ts +250 -0
- package/src/services/WebviewBridge.ts +50 -0
- package/src/services/WifiAdbRequest.ts +53 -0
- package/src/services/asg/GalleryMediaIntegrityReportService.ts +72 -0
- package/src/services/asg/asgCameraApi.ts +1786 -0
- package/src/services/asg/cameraRollExportCoordinator.ts +627 -0
- package/src/services/asg/cameraRollExportLedger.ts +122 -0
- package/src/services/asg/galleryMediaValidation.ts +185 -0
- package/src/services/asg/galleryNotices.ts +61 -0
- package/src/services/asg/galleryPathMigration.ts +22 -0
- package/src/services/asg/gallerySettingsService.ts +68 -0
- package/src/services/asg/gallerySyncNotifications.ts +235 -0
- package/src/services/asg/gallerySyncService.ts +2278 -0
- package/src/services/asg/galleryTransferLedger.ts +312 -0
- package/src/services/asg/localNetworkTransport.ts +169 -0
- package/src/services/asg/localStorageService.ts +652 -0
- package/src/services/asg/mediaProcessingQueue.ts +518 -0
- package/src/services/audioPlaybackAssets.ts +8 -0
- package/src/services/blobPaths.ts +86 -0
- package/src/services/cloudStreamApi.ts +142 -0
- package/src/services/effectiveCapabilities.ts +27 -0
- package/src/services/gallerySyncClock.ts +39 -0
- package/src/services/glassesClockSync.ts +115 -0
- package/src/services/manifestActions.ts +80 -0
- package/src/services/manifestVersionGate.ts +43 -0
- package/src/services/memoryStoreInstance.ts +70 -0
- package/src/services/navigation/roadNameResolver.ts +103 -0
- package/src/services/navigation/routesApiCodec.ts +69 -0
- package/src/services/otaDisplayState.ts +156 -0
- package/src/services/otaInstallPolicy.ts +132 -0
- package/src/services/otaLegacyMapping.ts +71 -0
- package/src/services/otaManifestUrl.ts +53 -0
- package/src/services/slimStreamStatus.ts +39 -0
- package/src/services/soniox/SonioxDirectService.ts +517 -0
- package/src/services/soniox/SonioxRealtimeClient.ts +349 -0
- package/src/services/soniox/SonioxTokenAssembler.ts +451 -0
- package/src/services/speakerProfileStoreInstance.ts +25 -0
- package/src/services/uiShim.ts +375 -0
- package/src/stores/apps.ts +626 -0
- package/src/stores/bluetoothSettingKeys.ts +35 -0
- package/src/stores/cloudClientStatus.ts +37 -0
- package/src/stores/connection.ts +69 -0
- package/src/stores/core.ts +32 -0
- package/src/stores/display.ts +121 -0
- package/src/stores/gallerySync.ts +384 -0
- package/src/stores/glasses.ts +314 -0
- package/src/stores/settings.ts +1299 -0
- package/src/stores/transcriptionDebug.ts +0 -0
- package/src/types/applet.ts +121 -0
- package/src/types/asg.ts +58 -0
- package/src/types/capabilities/even-realities-g1.ts +70 -0
- package/src/types/capabilities/even-realities-g2.ts +98 -0
- package/src/types/capabilities/mentra-display.ts +78 -0
- package/src/types/capabilities/mentra-live.ts +106 -0
- package/src/types/capabilities/nimo.ts +84 -0
- package/src/types/capabilities/none.ts +79 -0
- package/src/types/capabilities/simulated-glasses.ts +95 -0
- package/src/types/capabilities/vuzix-z100.ts +67 -0
- package/src/types/enums.ts +27 -0
- package/src/types/hardware.ts +220 -0
- package/src/types/index.ts +38 -0
- package/src/utils/GlobalEventEmitter.ts +15 -0
- package/src/utils/cloudClient/RnUdpAdapter.ts +47 -0
- package/src/utils/cloudClient/cloudSecureStore.ts +28 -0
- package/src/utils/configuredDevHost.ts +17 -0
- package/src/utils/debouncedPatch.ts +28 -0
- package/src/utils/devLogging.ts +140 -0
- package/src/utils/devMiniappLaunch.ts +196 -0
- package/src/utils/diagnosticContext.ts +159 -0
- package/src/utils/display/composer/ColumnComposer.ts +285 -0
- package/src/utils/display/composer/index.ts +15 -0
- package/src/utils/display/helpers/DisplayHelpers.ts +409 -0
- package/src/utils/display/helpers/ScrollView.ts +326 -0
- package/src/utils/display/helpers/index.ts +14 -0
- package/src/utils/display/index.ts +273 -0
- package/src/utils/display/measurer/TextMeasurer.ts +346 -0
- package/src/utils/display/measurer/index.ts +21 -0
- package/src/utils/display/measurer/script-detection.ts +218 -0
- package/src/utils/display/profiles/g1.ts +236 -0
- package/src/utils/display/profiles/g2.ts +39 -0
- package/src/utils/display/profiles/index.ts +28 -0
- package/src/utils/display/profiles/nex.ts +166 -0
- package/src/utils/display/profiles/types.ts +132 -0
- package/src/utils/display/profiles/z100.ts +198 -0
- package/src/utils/display/scene/anchor.ts +39 -0
- package/src/utils/display/scene/degrade.ts +80 -0
- package/src/utils/display/scene/differ.ts +128 -0
- package/src/utils/display/scene/index.ts +24 -0
- package/src/utils/display/scene/process.ts +228 -0
- package/src/utils/display/scene/store.ts +0 -0
- package/src/utils/display/scene/types.ts +0 -0
- package/src/utils/display/wrapper/TextWrapper.ts +546 -0
- package/src/utils/display/wrapper/index.ts +15 -0
- package/src/utils/display/wrapper/types.ts +102 -0
- package/src/utils/e2eMetrics.ts +30 -0
- package/src/utils/hardware/hardware.ts +171 -0
- package/src/utils/hardware/index.ts +1 -0
- package/src/utils/memory/search.ts +204 -0
- package/src/utils/miniappDiagnostics.ts +226 -0
- package/src/utils/miniappGlobals.ts +259 -0
- package/src/utils/permissions/MediaLibraryPermissions.ts +161 -0
- package/src/utils/permissions/galleryDisplayName.ts +28 -0
- package/src/utils/speakerEmbedding.ts +58 -0
- package/src/utils/storage/index.ts +2 -0
- package/src/utils/storage/storage.ts +101 -0
- package/src/utils/storage/zip.ts +13 -0
- package/src/utils/timers/index.ts +2 -0
- package/src/utils/timers/timers.ts +175 -0
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mentra Nex glyph widths
|
|
3
|
+
*/
|
|
4
|
+
const NEX_GLYPH_WIDTHS = {
|
|
5
|
+
// Punctuation & Symbols
|
|
6
|
+
" ": 5,
|
|
7
|
+
"!": 5,
|
|
8
|
+
'"': 8,
|
|
9
|
+
"#": 14,
|
|
10
|
+
"$": 12,
|
|
11
|
+
"%": 18,
|
|
12
|
+
"&": 14,
|
|
13
|
+
"'": 5,
|
|
14
|
+
"(": 7,
|
|
15
|
+
")": 7,
|
|
16
|
+
"*": 8,
|
|
17
|
+
"+": 12,
|
|
18
|
+
",": 5,
|
|
19
|
+
"-": 8,
|
|
20
|
+
".": 5,
|
|
21
|
+
"/": 7,
|
|
22
|
+
// Numbers
|
|
23
|
+
"0": 12,
|
|
24
|
+
"1": 12,
|
|
25
|
+
"2": 12,
|
|
26
|
+
"3": 12,
|
|
27
|
+
"4": 12,
|
|
28
|
+
"5": 12,
|
|
29
|
+
"6": 12,
|
|
30
|
+
"7": 12,
|
|
31
|
+
"8": 12,
|
|
32
|
+
"9": 12,
|
|
33
|
+
// More punctuation
|
|
34
|
+
":": 6,
|
|
35
|
+
";": 6,
|
|
36
|
+
"<": 12,
|
|
37
|
+
"=": 12,
|
|
38
|
+
">": 12,
|
|
39
|
+
"?": 9,
|
|
40
|
+
"@": 18,
|
|
41
|
+
// Uppercase
|
|
42
|
+
"A": 12,
|
|
43
|
+
"B": 13,
|
|
44
|
+
"C": 12,
|
|
45
|
+
"D": 13,
|
|
46
|
+
"E": 11,
|
|
47
|
+
"F": 11,
|
|
48
|
+
"G": 14,
|
|
49
|
+
"H": 14,
|
|
50
|
+
"I": 8,
|
|
51
|
+
"J": 10,
|
|
52
|
+
"K": 12,
|
|
53
|
+
"L": 10,
|
|
54
|
+
"M": 16,
|
|
55
|
+
"N": 14,
|
|
56
|
+
"O": 14,
|
|
57
|
+
"P": 12,
|
|
58
|
+
"Q": 14,
|
|
59
|
+
"R": 13,
|
|
60
|
+
"S": 11,
|
|
61
|
+
"T": 11,
|
|
62
|
+
"U": 13,
|
|
63
|
+
"V": 12,
|
|
64
|
+
"W": 18,
|
|
65
|
+
"X": 12,
|
|
66
|
+
"Y": 11,
|
|
67
|
+
"Z": 11,
|
|
68
|
+
// Brackets & special
|
|
69
|
+
"[": 6,
|
|
70
|
+
"\\": 7,
|
|
71
|
+
"]": 6,
|
|
72
|
+
"^": 12,
|
|
73
|
+
"_": 11,
|
|
74
|
+
"`": 12,
|
|
75
|
+
// Lowercase
|
|
76
|
+
"a": 11,
|
|
77
|
+
"b": 11,
|
|
78
|
+
"c": 10,
|
|
79
|
+
"d": 11,
|
|
80
|
+
"e": 11,
|
|
81
|
+
"f": 6,
|
|
82
|
+
"g": 11,
|
|
83
|
+
"h": 11,
|
|
84
|
+
"i": 5,
|
|
85
|
+
"j": 5,
|
|
86
|
+
"k": 10,
|
|
87
|
+
"l": 5,
|
|
88
|
+
"m": 17,
|
|
89
|
+
"n": 11,
|
|
90
|
+
"o": 11,
|
|
91
|
+
"p": 11,
|
|
92
|
+
"q": 11,
|
|
93
|
+
"r": 7,
|
|
94
|
+
"s": 10,
|
|
95
|
+
"t": 7,
|
|
96
|
+
"u": 11,
|
|
97
|
+
"v": 10,
|
|
98
|
+
"w": 15,
|
|
99
|
+
"x": 10,
|
|
100
|
+
"y": 10,
|
|
101
|
+
"z": 9,
|
|
102
|
+
// More special
|
|
103
|
+
"{": 7,
|
|
104
|
+
"|": 6,
|
|
105
|
+
"}": 7,
|
|
106
|
+
"~": 12,
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* Mentra Nex Smart Glasses Display Profile
|
|
110
|
+
*
|
|
111
|
+
* Also known as "Mentra Display" - a new Glassly glasses model with display capabilities.
|
|
112
|
+
*/
|
|
113
|
+
export const NEX_PROFILE = {
|
|
114
|
+
id: "mentra-nex",
|
|
115
|
+
name: "Mentra Nex",
|
|
116
|
+
// Display dimensions — 500x220 usable region centered in the 640x480 A6N
|
|
117
|
+
// panel (firmware mos_display_config.c: margins 70/130). Canvas coordinates
|
|
118
|
+
// are relative to this virtual screen; the physical panel is bigger, 500x220
|
|
119
|
+
// is the public drawable canvas.
|
|
120
|
+
displayWidthPx: 480,
|
|
121
|
+
displayHeightPx: 220,
|
|
122
|
+
maxLines: 8,
|
|
123
|
+
maxPayloadBytes: 450, // Matches firmware MAX_TEXT_LEN / DisplayText.text cap; delivered via fragmented BLE transport
|
|
124
|
+
bleChunkSize: 176,
|
|
125
|
+
// Font metrics
|
|
126
|
+
fontMetrics: {
|
|
127
|
+
glyphWidths: new Map(Object.entries(NEX_GLYPH_WIDTHS)),
|
|
128
|
+
defaultGlyphWidth: 16,
|
|
129
|
+
renderFormula: (glyphWidth) => glyphWidth,
|
|
130
|
+
uniformScripts: {
|
|
131
|
+
cjk: 20,
|
|
132
|
+
hiragana: 18,
|
|
133
|
+
katakana: 18,
|
|
134
|
+
korean: 24,
|
|
135
|
+
cyrillic: 18,
|
|
136
|
+
},
|
|
137
|
+
fallback: {
|
|
138
|
+
latinMaxWidth: 16,
|
|
139
|
+
unknownBehavior: "useLatinMax",
|
|
140
|
+
},
|
|
141
|
+
},
|
|
142
|
+
constraints: {
|
|
143
|
+
minCharsBeforeHyphen: 3,
|
|
144
|
+
noStartChars: [".", ",", "!", "?", ":", ";", ")", "]", "}", "。", ",", "!", "?", ":", ";", ")", "】", "」"],
|
|
145
|
+
noEndChars: ["(", "[", "{", "(", "【", "「"],
|
|
146
|
+
},
|
|
147
|
+
};
|
|
148
|
+
export const NEX_HYPHEN_WIDTH_PX = 8;
|
|
149
|
+
export const NEX_SPACE_WIDTH_PX = 4;
|
|
150
|
+
//# sourceMappingURL=nex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nex.js","sourceRoot":"","sources":["../../../../src/utils/display/profiles/nex.ts"],"names":[],"mappings":"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","sourcesContent":["import {DisplayProfile} from \"./types\"\n\n/**\n * Mentra Nex glyph widths\n */\nconst NEX_GLYPH_WIDTHS: Record<string, number> = {\n // Punctuation & Symbols\n \" \": 5,\n \"!\": 5,\n '\"': 8,\n \"#\": 14,\n \"$\": 12,\n \"%\": 18,\n \"&\": 14,\n \"'\": 5,\n \"(\": 7,\n \")\": 7,\n \"*\": 8,\n \"+\": 12,\n \",\": 5,\n \"-\": 8,\n \".\": 5,\n \"/\": 7,\n\n // Numbers\n \"0\": 12,\n \"1\": 12,\n \"2\": 12,\n \"3\": 12,\n \"4\": 12,\n \"5\": 12,\n \"6\": 12,\n \"7\": 12,\n \"8\": 12,\n \"9\": 12,\n\n // More punctuation\n \":\": 6,\n \";\": 6,\n \"<\": 12,\n \"=\": 12,\n \">\": 12,\n \"?\": 9,\n \"@\": 18,\n\n // Uppercase\n \"A\": 12,\n \"B\": 13,\n \"C\": 12,\n \"D\": 13,\n \"E\": 11,\n \"F\": 11,\n \"G\": 14,\n \"H\": 14,\n \"I\": 8,\n \"J\": 10,\n \"K\": 12,\n \"L\": 10,\n \"M\": 16,\n \"N\": 14,\n \"O\": 14,\n \"P\": 12,\n \"Q\": 14,\n \"R\": 13,\n \"S\": 11,\n \"T\": 11,\n \"U\": 13,\n \"V\": 12,\n \"W\": 18,\n \"X\": 12,\n \"Y\": 11,\n \"Z\": 11,\n\n // Brackets & special\n \"[\": 6,\n \"\\\\\": 7,\n \"]\": 6,\n \"^\": 12,\n \"_\": 11,\n \"`\": 12,\n\n // Lowercase\n \"a\": 11,\n \"b\": 11,\n \"c\": 10,\n \"d\": 11,\n \"e\": 11,\n \"f\": 6,\n \"g\": 11,\n \"h\": 11,\n \"i\": 5,\n \"j\": 5,\n \"k\": 10,\n \"l\": 5,\n \"m\": 17,\n \"n\": 11,\n \"o\": 11,\n \"p\": 11,\n \"q\": 11,\n \"r\": 7,\n \"s\": 10,\n \"t\": 7,\n \"u\": 11,\n \"v\": 10,\n \"w\": 15,\n \"x\": 10,\n \"y\": 10,\n \"z\": 9,\n\n // More special\n \"{\": 7,\n \"|\": 6,\n \"}\": 7,\n \"~\": 12,\n}\n\n/**\n * Mentra Nex Smart Glasses Display Profile\n *\n * Also known as \"Mentra Display\" - a new Glassly glasses model with display capabilities.\n */\nexport const NEX_PROFILE: DisplayProfile = {\n id: \"mentra-nex\",\n name: \"Mentra Nex\",\n\n // Display dimensions — 500x220 usable region centered in the 640x480 A6N\n // panel (firmware mos_display_config.c: margins 70/130). Canvas coordinates\n // are relative to this virtual screen; the physical panel is bigger, 500x220\n // is the public drawable canvas.\n displayWidthPx: 480,\n displayHeightPx: 220,\n maxLines: 8,\n\n maxPayloadBytes: 450, // Matches firmware MAX_TEXT_LEN / DisplayText.text cap; delivered via fragmented BLE transport\n bleChunkSize: 176,\n\n // Font metrics\n fontMetrics: {\n glyphWidths: new Map(Object.entries(NEX_GLYPH_WIDTHS)),\n defaultGlyphWidth: 16,\n renderFormula: (glyphWidth: number) => glyphWidth,\n\n uniformScripts: {\n cjk: 20,\n hiragana: 18,\n katakana: 18,\n korean: 24,\n cyrillic: 18,\n },\n\n fallback: {\n latinMaxWidth: 16,\n unknownBehavior: \"useLatinMax\",\n },\n },\n\n constraints: {\n minCharsBeforeHyphen: 3,\n noStartChars: [\".\", \",\", \"!\", \"?\", \":\", \";\", \")\", \"]\", \"}\", \"。\", \",\", \"!\", \"?\", \":\", \";\", \")\", \"】\", \"」\"],\n noEndChars: [\"(\", \"[\", \"{\", \"(\", \"【\", \"「\"],\n },\n}\n\nexport const NEX_HYPHEN_WIDTH_PX = 8\n\nexport const NEX_SPACE_WIDTH_PX = 4\n"]}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Display profile for a specific glasses model.
|
|
3
|
+
* All text measurement and wrapping derives from this configuration.
|
|
4
|
+
*/
|
|
5
|
+
export interface DisplayProfile {
|
|
6
|
+
/** Unique identifier for this glasses model */
|
|
7
|
+
id: string;
|
|
8
|
+
/** Human-readable name */
|
|
9
|
+
name: string;
|
|
10
|
+
/** Display width in pixels */
|
|
11
|
+
displayWidthPx: number;
|
|
12
|
+
/** Display height in pixels (if applicable) */
|
|
13
|
+
displayHeightPx?: number;
|
|
14
|
+
/** Maximum number of lines that can be displayed */
|
|
15
|
+
maxLines: number;
|
|
16
|
+
/**
|
|
17
|
+
* CALIBRATED line height in px for box-height→line-count math (scene
|
|
18
|
+
* pipeline). When absent, host-side height clipping is skipped entirely and
|
|
19
|
+
* text wraps to the box width with the firmware clipping vertically in-box
|
|
20
|
+
* (legacy behavior) — it is deliberately NOT derived from canvas math, which
|
|
21
|
+
* proved wrong on hardware (see profileLineHeightPx in scene/process.ts).
|
|
22
|
+
*/
|
|
23
|
+
lineHeightPx?: number;
|
|
24
|
+
/** Maximum safe payload size in bytes (for BLE transmission) */
|
|
25
|
+
maxPayloadBytes: number;
|
|
26
|
+
/** BLE chunk size for transmission */
|
|
27
|
+
bleChunkSize: number;
|
|
28
|
+
/** Font metrics for text measurement */
|
|
29
|
+
fontMetrics: FontMetrics;
|
|
30
|
+
/** Optional constraints */
|
|
31
|
+
constraints?: DisplayConstraints;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Font metrics for pixel-accurate text measurement.
|
|
35
|
+
*/
|
|
36
|
+
export interface FontMetrics {
|
|
37
|
+
/**
|
|
38
|
+
* Map of character to glyph width in pixels.
|
|
39
|
+
* Keys are single characters.
|
|
40
|
+
*/
|
|
41
|
+
glyphWidths: Map<string, number>;
|
|
42
|
+
/** Default glyph width for unmapped characters */
|
|
43
|
+
defaultGlyphWidth: number;
|
|
44
|
+
/**
|
|
45
|
+
* Formula to convert glyph width to rendered pixel width.
|
|
46
|
+
* G1 example: (glyphWidth + 1) * 2
|
|
47
|
+
*/
|
|
48
|
+
renderFormula: (glyphWidth: number) => number;
|
|
49
|
+
/**
|
|
50
|
+
* Uniform-width scripts - verified to render all characters at same width.
|
|
51
|
+
* These are NOT averages - they are the actual uniform width in RENDERED pixels.
|
|
52
|
+
*/
|
|
53
|
+
uniformScripts: UniformScriptWidths;
|
|
54
|
+
/**
|
|
55
|
+
* Fallback configuration for unmapped characters.
|
|
56
|
+
*/
|
|
57
|
+
fallback: FallbackConfig;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Uniform width scripts - these scripts render all characters at the same width.
|
|
61
|
+
* Values are in RENDERED pixels (after applying renderFormula if applicable).
|
|
62
|
+
* Verified through hardware testing.
|
|
63
|
+
*/
|
|
64
|
+
export interface UniformScriptWidths {
|
|
65
|
+
/** Chinese, Japanese Kanji - all chars same width */
|
|
66
|
+
cjk: number;
|
|
67
|
+
/** Japanese Hiragana - all chars same width */
|
|
68
|
+
hiragana: number;
|
|
69
|
+
/** Japanese Katakana - all chars same width */
|
|
70
|
+
katakana: number;
|
|
71
|
+
/** Korean Hangul - all chars same width */
|
|
72
|
+
korean: number;
|
|
73
|
+
/** Russian, etc. - all chars same width */
|
|
74
|
+
cyrillic: number;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Fallback strategy for unmapped characters.
|
|
78
|
+
*/
|
|
79
|
+
export interface FallbackConfig {
|
|
80
|
+
/**
|
|
81
|
+
* Max known Latin width for safe fallback (in rendered pixels).
|
|
82
|
+
* Using max ensures we never overflow (worst case: slight under-utilization).
|
|
83
|
+
*/
|
|
84
|
+
latinMaxWidth: number;
|
|
85
|
+
/** What to do with completely unknown characters */
|
|
86
|
+
unknownBehavior: "useLatinMax" | "throw" | "filter";
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Optional display constraints.
|
|
90
|
+
*/
|
|
91
|
+
export interface DisplayConstraints {
|
|
92
|
+
/** Minimum characters before allowing hyphen break */
|
|
93
|
+
minCharsBeforeHyphen?: number;
|
|
94
|
+
/** Characters that should not appear at start of line (kinsoku) */
|
|
95
|
+
noStartChars?: string[];
|
|
96
|
+
/** Characters that should not appear at end of line (kinsoku) */
|
|
97
|
+
noEndChars?: string[];
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Script type for character classification.
|
|
101
|
+
*/
|
|
102
|
+
export type ScriptType = "latin" | "cjk" | "hiragana" | "katakana" | "korean" | "cyrillic" | "numbers" | "punctuation" | "unsupported";
|
|
103
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/utils/display/profiles/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,EAAE,EAAE,MAAM,CAAA;IAEV,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAA;IAEZ,8BAA8B;IAC9B,cAAc,EAAE,MAAM,CAAA;IAEtB,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAA;IAEhB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB,gEAAgE;IAChE,eAAe,EAAE,MAAM,CAAA;IAEvB,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAA;IAEpB,wCAAwC;IACxC,WAAW,EAAE,WAAW,CAAA;IAExB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,kBAAkB,CAAA;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAEhC,kDAAkD;IAClD,iBAAiB,EAAE,MAAM,CAAA;IAEzB;;;OAGG;IACH,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAA;IAE7C;;;OAGG;IACH,cAAc,EAAE,mBAAmB,CAAA;IAEnC;;OAEG;IACH,QAAQ,EAAE,cAAc,CAAA;CACzB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAA;IACX,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAA;IAChB,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,CAAA;IAChB,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAA;IACd,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB,oDAAoD;IACpD,eAAe,EAAE,aAAa,GAAG,OAAO,GAAG,QAAQ,CAAA;CACpD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAE7B,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IAEvB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,OAAO,GACP,KAAK,GACL,UAAU,GACV,UAAU,GACV,QAAQ,GACR,UAAU,GACV,SAAS,GACT,aAAa,GACb,aAAa,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/utils/display/profiles/types.ts"],"names":[],"mappings":"","sourcesContent":["/**\n * Display profile for a specific glasses model.\n * All text measurement and wrapping derives from this configuration.\n */\nexport interface DisplayProfile {\n /** Unique identifier for this glasses model */\n id: string\n\n /** Human-readable name */\n name: string\n\n /** Display width in pixels */\n displayWidthPx: number\n\n /** Display height in pixels (if applicable) */\n displayHeightPx?: number\n\n /** Maximum number of lines that can be displayed */\n maxLines: number\n\n /**\n * CALIBRATED line height in px for box-height→line-count math (scene\n * pipeline). When absent, host-side height clipping is skipped entirely and\n * text wraps to the box width with the firmware clipping vertically in-box\n * (legacy behavior) — it is deliberately NOT derived from canvas math, which\n * proved wrong on hardware (see profileLineHeightPx in scene/process.ts).\n */\n lineHeightPx?: number\n\n /** Maximum safe payload size in bytes (for BLE transmission) */\n maxPayloadBytes: number\n\n /** BLE chunk size for transmission */\n bleChunkSize: number\n\n /** Font metrics for text measurement */\n fontMetrics: FontMetrics\n\n /** Optional constraints */\n constraints?: DisplayConstraints\n}\n\n/**\n * Font metrics for pixel-accurate text measurement.\n */\nexport interface FontMetrics {\n /**\n * Map of character to glyph width in pixels.\n * Keys are single characters.\n */\n glyphWidths: Map<string, number>\n\n /** Default glyph width for unmapped characters */\n defaultGlyphWidth: number\n\n /**\n * Formula to convert glyph width to rendered pixel width.\n * G1 example: (glyphWidth + 1) * 2\n */\n renderFormula: (glyphWidth: number) => number\n\n /**\n * Uniform-width scripts - verified to render all characters at same width.\n * These are NOT averages - they are the actual uniform width in RENDERED pixels.\n */\n uniformScripts: UniformScriptWidths\n\n /**\n * Fallback configuration for unmapped characters.\n */\n fallback: FallbackConfig\n}\n\n/**\n * Uniform width scripts - these scripts render all characters at the same width.\n * Values are in RENDERED pixels (after applying renderFormula if applicable).\n * Verified through hardware testing.\n */\nexport interface UniformScriptWidths {\n /** Chinese, Japanese Kanji - all chars same width */\n cjk: number\n /** Japanese Hiragana - all chars same width */\n hiragana: number\n /** Japanese Katakana - all chars same width */\n katakana: number\n /** Korean Hangul - all chars same width */\n korean: number\n /** Russian, etc. - all chars same width */\n cyrillic: number\n}\n\n/**\n * Fallback strategy for unmapped characters.\n */\nexport interface FallbackConfig {\n /**\n * Max known Latin width for safe fallback (in rendered pixels).\n * Using max ensures we never overflow (worst case: slight under-utilization).\n */\n latinMaxWidth: number\n\n /** What to do with completely unknown characters */\n unknownBehavior: \"useLatinMax\" | \"throw\" | \"filter\"\n}\n\n/**\n * Optional display constraints.\n */\nexport interface DisplayConstraints {\n /** Minimum characters before allowing hyphen break */\n minCharsBeforeHyphen?: number\n\n /** Characters that should not appear at start of line (kinsoku) */\n noStartChars?: string[]\n\n /** Characters that should not appear at end of line (kinsoku) */\n noEndChars?: string[]\n}\n\n/**\n * Script type for character classification.\n */\nexport type ScriptType =\n | \"latin\"\n | \"cjk\"\n | \"hiragana\"\n | \"katakana\"\n | \"korean\"\n | \"cyrillic\"\n | \"numbers\"\n | \"punctuation\"\n | \"unsupported\"\n"]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { DisplayProfile } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Vuzix Z100 Smart Glasses Display Profile
|
|
4
|
+
*
|
|
5
|
+
* The Z100 has a green monochrome display with 640x480 resolution.
|
|
6
|
+
* It uses the Vuzix Ultralite SDK and Noto Sans font family.
|
|
7
|
+
*
|
|
8
|
+
* Display specs:
|
|
9
|
+
* - Resolution: 640x480
|
|
10
|
+
* - Usable text width: ~390px (empirically tested - SDK applies margins)
|
|
11
|
+
* - Color: Green monochrome
|
|
12
|
+
* - Max text lines: 7
|
|
13
|
+
* - Font: Noto Sans Regular at 21px
|
|
14
|
+
* - No bitmap support via text commands
|
|
15
|
+
* - Adjustable brightness
|
|
16
|
+
*
|
|
17
|
+
* NOTE: The Vuzix Ultralite SDK handles text rendering internally and applies
|
|
18
|
+
* its own margins/padding. The usable text width is significantly less than
|
|
19
|
+
* the physical 640px resolution. Empirical testing shows ~42 characters of
|
|
20
|
+
* mixed text (387px measured) fits on one line before the SDK wraps.
|
|
21
|
+
*/
|
|
22
|
+
export declare const Z100_PROFILE: DisplayProfile;
|
|
23
|
+
/**
|
|
24
|
+
* Get the hyphen width for Z100 in pixels.
|
|
25
|
+
* Used for line breaking calculations.
|
|
26
|
+
*/
|
|
27
|
+
export declare const Z100_HYPHEN_WIDTH_PX = 7;
|
|
28
|
+
/**
|
|
29
|
+
* Get the space width for Z100 in pixels.
|
|
30
|
+
* Used for column alignment calculations.
|
|
31
|
+
*/
|
|
32
|
+
export declare const Z100_SPACE_WIDTH_PX = 5;
|
|
33
|
+
//# sourceMappingURL=z100.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"z100.d.ts","sourceRoot":"","sources":["../../../../src/utils/display/profiles/z100.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAA;AAyHtC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,YAAY,EAAE,cA4C1B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAA;AAErC;;;GAGG;AACH,eAAO,MAAM,mBAAmB,IAAI,CAAA"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vuzix Z100 glyph widths - extracted from NotoSans-Regular.ttf at 21px
|
|
3
|
+
*
|
|
4
|
+
* These are pixel widths at the default font size used by the Z100 display.
|
|
5
|
+
* The Z100 uses Noto Sans as its system font.
|
|
6
|
+
*
|
|
7
|
+
* Extracted using: node scripts/extract-font-metrics.js NotoSans-Regular.ttf 21
|
|
8
|
+
*/
|
|
9
|
+
const Z100_GLYPH_WIDTHS = {
|
|
10
|
+
// Space and punctuation
|
|
11
|
+
" ": 5,
|
|
12
|
+
"!": 6,
|
|
13
|
+
'"': 9,
|
|
14
|
+
"#": 14,
|
|
15
|
+
"$": 12,
|
|
16
|
+
"%": 17,
|
|
17
|
+
"&": 15,
|
|
18
|
+
"'": 5,
|
|
19
|
+
"(": 6,
|
|
20
|
+
")": 6,
|
|
21
|
+
"*": 12,
|
|
22
|
+
"+": 12,
|
|
23
|
+
",": 6,
|
|
24
|
+
"-": 7, // Hyphen width - important for line breaking
|
|
25
|
+
".": 6,
|
|
26
|
+
"/": 8,
|
|
27
|
+
// Numbers
|
|
28
|
+
"0": 12,
|
|
29
|
+
"1": 12,
|
|
30
|
+
"2": 12,
|
|
31
|
+
"3": 12,
|
|
32
|
+
"4": 12,
|
|
33
|
+
"5": 12,
|
|
34
|
+
"6": 12,
|
|
35
|
+
"7": 12,
|
|
36
|
+
"8": 12,
|
|
37
|
+
"9": 12,
|
|
38
|
+
// More punctuation
|
|
39
|
+
":": 6,
|
|
40
|
+
";": 6,
|
|
41
|
+
"<": 12,
|
|
42
|
+
"=": 12,
|
|
43
|
+
">": 12,
|
|
44
|
+
"?": 9,
|
|
45
|
+
"@": 19,
|
|
46
|
+
// Uppercase
|
|
47
|
+
"A": 13,
|
|
48
|
+
"B": 14,
|
|
49
|
+
"C": 13,
|
|
50
|
+
"D": 15,
|
|
51
|
+
"E": 12,
|
|
52
|
+
"F": 11,
|
|
53
|
+
"G": 15,
|
|
54
|
+
"H": 16,
|
|
55
|
+
"I": 7,
|
|
56
|
+
"J": 6,
|
|
57
|
+
"K": 13,
|
|
58
|
+
"L": 11,
|
|
59
|
+
"M": 19,
|
|
60
|
+
"N": 16,
|
|
61
|
+
"O": 16,
|
|
62
|
+
"P": 13,
|
|
63
|
+
"Q": 16,
|
|
64
|
+
"R": 13,
|
|
65
|
+
"S": 12,
|
|
66
|
+
"T": 12,
|
|
67
|
+
"U": 15,
|
|
68
|
+
"V": 13,
|
|
69
|
+
"W": 20,
|
|
70
|
+
"X": 12,
|
|
71
|
+
"Y": 12,
|
|
72
|
+
"Z": 12,
|
|
73
|
+
// Brackets & special
|
|
74
|
+
"[": 7,
|
|
75
|
+
"\\": 8,
|
|
76
|
+
"]": 7,
|
|
77
|
+
"^": 12,
|
|
78
|
+
"_": 9,
|
|
79
|
+
"`": 6,
|
|
80
|
+
// Lowercase
|
|
81
|
+
"a": 12,
|
|
82
|
+
"b": 13,
|
|
83
|
+
"c": 10,
|
|
84
|
+
"d": 13,
|
|
85
|
+
"e": 12,
|
|
86
|
+
"f": 7,
|
|
87
|
+
"g": 13,
|
|
88
|
+
"h": 13,
|
|
89
|
+
"i": 5,
|
|
90
|
+
"j": 5,
|
|
91
|
+
"k": 11,
|
|
92
|
+
"l": 5,
|
|
93
|
+
"m": 20,
|
|
94
|
+
"n": 13,
|
|
95
|
+
"o": 13,
|
|
96
|
+
"p": 13,
|
|
97
|
+
"q": 13,
|
|
98
|
+
"r": 9,
|
|
99
|
+
"s": 10,
|
|
100
|
+
"t": 8,
|
|
101
|
+
"u": 13,
|
|
102
|
+
"v": 11,
|
|
103
|
+
"w": 17,
|
|
104
|
+
"x": 11,
|
|
105
|
+
"y": 11,
|
|
106
|
+
"z": 10,
|
|
107
|
+
// More special
|
|
108
|
+
"{": 8,
|
|
109
|
+
"|": 12,
|
|
110
|
+
"}": 8,
|
|
111
|
+
"~": 12,
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
* Vuzix Z100 Smart Glasses Display Profile
|
|
115
|
+
*
|
|
116
|
+
* The Z100 has a green monochrome display with 640x480 resolution.
|
|
117
|
+
* It uses the Vuzix Ultralite SDK and Noto Sans font family.
|
|
118
|
+
*
|
|
119
|
+
* Display specs:
|
|
120
|
+
* - Resolution: 640x480
|
|
121
|
+
* - Usable text width: ~390px (empirically tested - SDK applies margins)
|
|
122
|
+
* - Color: Green monochrome
|
|
123
|
+
* - Max text lines: 7
|
|
124
|
+
* - Font: Noto Sans Regular at 21px
|
|
125
|
+
* - No bitmap support via text commands
|
|
126
|
+
* - Adjustable brightness
|
|
127
|
+
*
|
|
128
|
+
* NOTE: The Vuzix Ultralite SDK handles text rendering internally and applies
|
|
129
|
+
* its own margins/padding. The usable text width is significantly less than
|
|
130
|
+
* the physical 640px resolution. Empirical testing shows ~42 characters of
|
|
131
|
+
* mixed text (387px measured) fits on one line before the SDK wraps.
|
|
132
|
+
*/
|
|
133
|
+
export const Z100_PROFILE = {
|
|
134
|
+
id: "vuzix-z100",
|
|
135
|
+
name: "Vuzix Z100",
|
|
136
|
+
// Display dimensions
|
|
137
|
+
// Empirically tested: ~42 chars of mixed text (387px) fits before SDK wraps
|
|
138
|
+
// Using 390px to account for measurement variance
|
|
139
|
+
displayWidthPx: 390,
|
|
140
|
+
maxLines: 7,
|
|
141
|
+
// BLE constraints
|
|
142
|
+
// Z100 uses Vuzix Ultralite SDK which handles chunking internally
|
|
143
|
+
// These are conservative values for direct BLE if needed
|
|
144
|
+
maxPayloadBytes: 512,
|
|
145
|
+
bleChunkSize: 180,
|
|
146
|
+
// Font metrics - Noto Sans Regular at 21px
|
|
147
|
+
fontMetrics: {
|
|
148
|
+
glyphWidths: new Map(Object.entries(Z100_GLYPH_WIDTHS)),
|
|
149
|
+
defaultGlyphWidth: 12, // Average width from extracted metrics
|
|
150
|
+
// Z100 uses direct pixel widths, no render formula needed
|
|
151
|
+
renderFormula: (glyphWidth) => glyphWidth,
|
|
152
|
+
// Uniform-width scripts for CJK and other non-Latin
|
|
153
|
+
// Noto Sans CJK characters are typically wider
|
|
154
|
+
uniformScripts: {
|
|
155
|
+
cjk: 21, // Full-width CJK characters
|
|
156
|
+
hiragana: 21,
|
|
157
|
+
katakana: 21,
|
|
158
|
+
korean: 21,
|
|
159
|
+
cyrillic: 14, // Cyrillic is similar to Latin in Noto Sans
|
|
160
|
+
},
|
|
161
|
+
fallback: {
|
|
162
|
+
latinMaxWidth: 20, // 'W' and 'm' are the widest at 20px
|
|
163
|
+
unknownBehavior: "useLatinMax",
|
|
164
|
+
},
|
|
165
|
+
},
|
|
166
|
+
constraints: {
|
|
167
|
+
minCharsBeforeHyphen: 3,
|
|
168
|
+
noStartChars: [".", ",", "!", "?", ":", ";", ")", "]", "}", "。", ",", "!", "?", ":", ";", ")", "】", "」"],
|
|
169
|
+
noEndChars: ["(", "[", "{", "(", "【", "「"],
|
|
170
|
+
},
|
|
171
|
+
};
|
|
172
|
+
/**
|
|
173
|
+
* Get the hyphen width for Z100 in pixels.
|
|
174
|
+
* Used for line breaking calculations.
|
|
175
|
+
*/
|
|
176
|
+
export const Z100_HYPHEN_WIDTH_PX = 7;
|
|
177
|
+
/**
|
|
178
|
+
* Get the space width for Z100 in pixels.
|
|
179
|
+
* Used for column alignment calculations.
|
|
180
|
+
*/
|
|
181
|
+
export const Z100_SPACE_WIDTH_PX = 5;
|
|
182
|
+
//# sourceMappingURL=z100.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"z100.js","sourceRoot":"","sources":["../../../../src/utils/display/profiles/z100.ts"],"names":[],"mappings":"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","sourcesContent":["import {DisplayProfile} from \"./types\"\n\n/**\n * Vuzix Z100 glyph widths - extracted from NotoSans-Regular.ttf at 21px\n *\n * These are pixel widths at the default font size used by the Z100 display.\n * The Z100 uses Noto Sans as its system font.\n *\n * Extracted using: node scripts/extract-font-metrics.js NotoSans-Regular.ttf 21\n */\nconst Z100_GLYPH_WIDTHS: Record<string, number> = {\n // Space and punctuation\n \" \": 5,\n \"!\": 6,\n '\"': 9,\n \"#\": 14,\n \"$\": 12,\n \"%\": 17,\n \"&\": 15,\n \"'\": 5,\n \"(\": 6,\n \")\": 6,\n \"*\": 12,\n \"+\": 12,\n \",\": 6,\n \"-\": 7, // Hyphen width - important for line breaking\n \".\": 6,\n \"/\": 8,\n\n // Numbers\n \"0\": 12,\n \"1\": 12,\n \"2\": 12,\n \"3\": 12,\n \"4\": 12,\n \"5\": 12,\n \"6\": 12,\n \"7\": 12,\n \"8\": 12,\n \"9\": 12,\n\n // More punctuation\n \":\": 6,\n \";\": 6,\n \"<\": 12,\n \"=\": 12,\n \">\": 12,\n \"?\": 9,\n \"@\": 19,\n\n // Uppercase\n \"A\": 13,\n \"B\": 14,\n \"C\": 13,\n \"D\": 15,\n \"E\": 12,\n \"F\": 11,\n \"G\": 15,\n \"H\": 16,\n \"I\": 7,\n \"J\": 6,\n \"K\": 13,\n \"L\": 11,\n \"M\": 19,\n \"N\": 16,\n \"O\": 16,\n \"P\": 13,\n \"Q\": 16,\n \"R\": 13,\n \"S\": 12,\n \"T\": 12,\n \"U\": 15,\n \"V\": 13,\n \"W\": 20,\n \"X\": 12,\n \"Y\": 12,\n \"Z\": 12,\n\n // Brackets & special\n \"[\": 7,\n \"\\\\\": 8,\n \"]\": 7,\n \"^\": 12,\n \"_\": 9,\n \"`\": 6,\n\n // Lowercase\n \"a\": 12,\n \"b\": 13,\n \"c\": 10,\n \"d\": 13,\n \"e\": 12,\n \"f\": 7,\n \"g\": 13,\n \"h\": 13,\n \"i\": 5,\n \"j\": 5,\n \"k\": 11,\n \"l\": 5,\n \"m\": 20,\n \"n\": 13,\n \"o\": 13,\n \"p\": 13,\n \"q\": 13,\n \"r\": 9,\n \"s\": 10,\n \"t\": 8,\n \"u\": 13,\n \"v\": 11,\n \"w\": 17,\n \"x\": 11,\n \"y\": 11,\n \"z\": 10,\n\n // More special\n \"{\": 8,\n \"|\": 12,\n \"}\": 8,\n \"~\": 12,\n}\n\n/**\n * Vuzix Z100 Smart Glasses Display Profile\n *\n * The Z100 has a green monochrome display with 640x480 resolution.\n * It uses the Vuzix Ultralite SDK and Noto Sans font family.\n *\n * Display specs:\n * - Resolution: 640x480\n * - Usable text width: ~390px (empirically tested - SDK applies margins)\n * - Color: Green monochrome\n * - Max text lines: 7\n * - Font: Noto Sans Regular at 21px\n * - No bitmap support via text commands\n * - Adjustable brightness\n *\n * NOTE: The Vuzix Ultralite SDK handles text rendering internally and applies\n * its own margins/padding. The usable text width is significantly less than\n * the physical 640px resolution. Empirical testing shows ~42 characters of\n * mixed text (387px measured) fits on one line before the SDK wraps.\n */\nexport const Z100_PROFILE: DisplayProfile = {\n id: \"vuzix-z100\",\n name: \"Vuzix Z100\",\n\n // Display dimensions\n // Empirically tested: ~42 chars of mixed text (387px) fits before SDK wraps\n // Using 390px to account for measurement variance\n displayWidthPx: 390,\n maxLines: 7,\n\n // BLE constraints\n // Z100 uses Vuzix Ultralite SDK which handles chunking internally\n // These are conservative values for direct BLE if needed\n maxPayloadBytes: 512,\n bleChunkSize: 180,\n\n // Font metrics - Noto Sans Regular at 21px\n fontMetrics: {\n glyphWidths: new Map(Object.entries(Z100_GLYPH_WIDTHS)),\n defaultGlyphWidth: 12, // Average width from extracted metrics\n // Z100 uses direct pixel widths, no render formula needed\n renderFormula: (glyphWidth: number) => glyphWidth,\n\n // Uniform-width scripts for CJK and other non-Latin\n // Noto Sans CJK characters are typically wider\n uniformScripts: {\n cjk: 21, // Full-width CJK characters\n hiragana: 21,\n katakana: 21,\n korean: 21,\n cyrillic: 14, // Cyrillic is similar to Latin in Noto Sans\n },\n\n fallback: {\n latinMaxWidth: 20, // 'W' and 'm' are the widest at 20px\n unknownBehavior: \"useLatinMax\",\n },\n },\n\n constraints: {\n minCharsBeforeHyphen: 3,\n noStartChars: [\".\", \",\", \"!\", \"?\", \":\", \";\", \")\", \"]\", \"}\", \"。\", \",\", \"!\", \"?\", \":\", \";\", \")\", \"】\", \"」\"],\n noEndChars: [\"(\", \"[\", \"{\", \"(\", \"【\", \"「\"],\n },\n}\n\n/**\n * Get the hyphen width for Z100 in pixels.\n * Used for line breaking calculations.\n */\nexport const Z100_HYPHEN_WIDTH_PX = 7\n\n/**\n * Get the space width for Z100 in pixels.\n * Used for column alignment calculations.\n */\nexport const Z100_SPACE_WIDTH_PX = 5\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anchor resolution — turn corner-anchored boxes into plain top-left boxes
|
|
3
|
+
* against the device's real canvas. Runs in emitScene BEFORE the canPosition
|
|
4
|
+
* branch so both processScene (clamping) and degradeScene (reading order)
|
|
5
|
+
* only ever see concrete coordinates. Spec:
|
|
6
|
+
* notes/superpowers/specs/2026-08-10-anchored-render-boxes.md
|
|
7
|
+
*/
|
|
8
|
+
import type { SceneElementInput } from "./types";
|
|
9
|
+
/**
|
|
10
|
+
* Resolve every anchored box in a scene to top-left coordinates on a W×H
|
|
11
|
+
* canvas. Unanchored elements pass through unchanged (same reference — no
|
|
12
|
+
* copy churn on the common path), as do malformed ones so processScene's
|
|
13
|
+
* validation still sees and reports them. Non-finite insets survive the
|
|
14
|
+
* subtraction as non-finite and are dropped by the same validation.
|
|
15
|
+
*/
|
|
16
|
+
export declare function resolveAnchors(input: readonly SceneElementInput[], width: number, height: number): SceneElementInput[];
|
|
17
|
+
//# sourceMappingURL=anchor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anchor.d.ts","sourceRoot":"","sources":["../../../../src/utils/display/scene/anchor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAA0B,iBAAiB,EAAC,MAAM,SAAS,CAAA;AAcvE;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,SAAS,iBAAiB,EAAE,EACnC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,iBAAiB,EAAE,CAKrB"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anchor resolution — turn corner-anchored boxes into plain top-left boxes
|
|
3
|
+
* against the device's real canvas. Runs in emitScene BEFORE the canPosition
|
|
4
|
+
* branch so both processScene (clamping) and degradeScene (reading order)
|
|
5
|
+
* only ever see concrete coordinates. Spec:
|
|
6
|
+
* notes/superpowers/specs/2026-08-10-anchored-render-boxes.md
|
|
7
|
+
*/
|
|
8
|
+
function resolveBox(box, width, height) {
|
|
9
|
+
const { anchor, x, y, w, h } = box;
|
|
10
|
+
const right = anchor === "top-right" || anchor === "bottom-right";
|
|
11
|
+
const bottom = anchor === "bottom-left" || anchor === "bottom-right";
|
|
12
|
+
return {
|
|
13
|
+
x: right ? width - x - w : x,
|
|
14
|
+
y: bottom ? height - y - h : y,
|
|
15
|
+
w,
|
|
16
|
+
h,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Resolve every anchored box in a scene to top-left coordinates on a W×H
|
|
21
|
+
* canvas. Unanchored elements pass through unchanged (same reference — no
|
|
22
|
+
* copy churn on the common path), as do malformed ones so processScene's
|
|
23
|
+
* validation still sees and reports them. Non-finite insets survive the
|
|
24
|
+
* subtraction as non-finite and are dropped by the same validation.
|
|
25
|
+
*/
|
|
26
|
+
export function resolveAnchors(input, width, height) {
|
|
27
|
+
return input.map((el) => {
|
|
28
|
+
if (!el || typeof el !== "object" || !el.box || !el.box.anchor)
|
|
29
|
+
return el;
|
|
30
|
+
return { ...el, box: resolveBox(el.box, width, height) };
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=anchor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anchor.js","sourceRoot":"","sources":["../../../../src/utils/display/scene/anchor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,SAAS,UAAU,CAAC,GAAkB,EAAE,KAAa,EAAE,MAAc;IACnE,MAAM,EAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,GAAG,GAAG,CAAA;IAChC,MAAM,KAAK,GAAG,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,cAAc,CAAA;IACjE,MAAM,MAAM,GAAG,MAAM,KAAK,aAAa,IAAI,MAAM,KAAK,cAAc,CAAA;IACpE,OAAO;QACL,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;QACD,CAAC;KACF,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAmC,EACnC,KAAa,EACb,MAAc;IAEd,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACtB,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM;YAAE,OAAO,EAAE,CAAA;QACzE,OAAO,EAAC,GAAG,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,EAAC,CAAA;IACxD,CAAC,CAAC,CAAA;AACJ,CAAC","sourcesContent":["/**\n * Anchor resolution — turn corner-anchored boxes into plain top-left boxes\n * against the device's real canvas. Runs in emitScene BEFORE the canPosition\n * branch so both processScene (clamping) and degradeScene (reading order)\n * only ever see concrete coordinates. Spec:\n * notes/superpowers/specs/2026-08-10-anchored-render-boxes.md\n */\n\nimport type {SceneBox, SceneBoxInput, SceneElementInput} from \"./types\"\n\nfunction resolveBox(box: SceneBoxInput, width: number, height: number): SceneBox {\n const {anchor, x, y, w, h} = box\n const right = anchor === \"top-right\" || anchor === \"bottom-right\"\n const bottom = anchor === \"bottom-left\" || anchor === \"bottom-right\"\n return {\n x: right ? width - x - w : x,\n y: bottom ? height - y - h : y,\n w,\n h,\n }\n}\n\n/**\n * Resolve every anchored box in a scene to top-left coordinates on a W×H\n * canvas. Unanchored elements pass through unchanged (same reference — no\n * copy churn on the common path), as do malformed ones so processScene's\n * validation still sees and reports them. Non-finite insets survive the\n * subtraction as non-finite and are dropped by the same validation.\n */\nexport function resolveAnchors(\n input: readonly SceneElementInput[],\n width: number,\n height: number,\n): SceneElementInput[] {\n return input.map((el) => {\n if (!el || typeof el !== \"object\" || !el.box || !el.box.anchor) return el\n return {...el, box: resolveBox(el.box, width, height)}\n })\n}\n"]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Degrade — compile a scene for devices that can't position elements
|
|
3
|
+
* (`canPosition: false`: G1, Z100). Output is a LEGACY layout that rides the
|
|
4
|
+
* existing display path — DisplayProcessor wraps it there, exactly as today,
|
|
5
|
+
* which is what keeps sugar byte-identical on old hardware (spec §2/§5:
|
|
6
|
+
* degrade output must be UNWRAPPED; wrapping twice breaks the goldens).
|
|
7
|
+
*
|
|
8
|
+
* Rules (design doc §3.4.8): content-preserving, never-erroring,
|
|
9
|
+
* honestly-reported. Text collapses in reading order (y, then x) joined by
|
|
10
|
+
* blank lines; EXACTLY two text elements sharing a y-range with disjoint
|
|
11
|
+
* x-ranges become a double_text_wall (ColumnComposer path downstream); rects
|
|
12
|
+
* drop silently (decoration); images drop + report.
|
|
13
|
+
*/
|
|
14
|
+
import type { SceneElementInput } from "./types";
|
|
15
|
+
export interface DegradedScene {
|
|
16
|
+
/** Legacy layout for the existing display path, or null for an empty scene (caller clears). */
|
|
17
|
+
layout: {
|
|
18
|
+
layoutType: string;
|
|
19
|
+
[key: string]: unknown;
|
|
20
|
+
} | null;
|
|
21
|
+
degraded: boolean;
|
|
22
|
+
dropped: string[];
|
|
23
|
+
}
|
|
24
|
+
export declare function degradeScene(input: readonly SceneElementInput[]): DegradedScene;
|
|
25
|
+
//# sourceMappingURL=degrade.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"degrade.d.ts","sourceRoot":"","sources":["../../../../src/utils/display/scene/degrade.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,SAAS,CAAA;AAE9C,MAAM,WAAW,aAAa;IAC5B,+FAA+F;IAC/F,MAAM,EAAE;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,GAAG,IAAI,CAAA;IAC3D,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAYD,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,iBAAiB,EAAE,GAAG,aAAa,CA8C/E"}
|