@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,184 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unicode ranges for script detection.
|
|
3
|
+
* Used to classify characters for proper width measurement.
|
|
4
|
+
*/
|
|
5
|
+
export const SCRIPT_RANGES = {
|
|
6
|
+
// CJK Unified Ideographs
|
|
7
|
+
cjk: [
|
|
8
|
+
[0x4e00, 0x9fff], // Main block (common Chinese, Japanese Kanji)
|
|
9
|
+
[0x3400, 0x4dbf], // Extension A
|
|
10
|
+
[0x20000, 0x2a6df], // Extension B
|
|
11
|
+
[0x2a700, 0x2b73f], // Extension C
|
|
12
|
+
[0x2b740, 0x2b81f], // Extension D
|
|
13
|
+
[0xf900, 0xfaff], // Compatibility Ideographs
|
|
14
|
+
],
|
|
15
|
+
// Japanese Hiragana
|
|
16
|
+
hiragana: [[0x3040, 0x309f]],
|
|
17
|
+
// Japanese Katakana
|
|
18
|
+
katakana: [
|
|
19
|
+
[0x30a0, 0x30ff], // Main block
|
|
20
|
+
[0x31f0, 0x31ff], // Phonetic Extensions
|
|
21
|
+
],
|
|
22
|
+
// Korean
|
|
23
|
+
korean: [
|
|
24
|
+
[0xac00, 0xd7af], // Hangul Syllables
|
|
25
|
+
[0x1100, 0x11ff], // Hangul Jamo
|
|
26
|
+
[0x3130, 0x318f], // Compatibility Jamo
|
|
27
|
+
[0xa960, 0xa97f], // Jamo Extended-A
|
|
28
|
+
[0xd7b0, 0xd7ff], // Jamo Extended-B
|
|
29
|
+
],
|
|
30
|
+
// Cyrillic
|
|
31
|
+
cyrillic: [
|
|
32
|
+
[0x0400, 0x04ff], // Main block
|
|
33
|
+
[0x0500, 0x052f], // Supplement
|
|
34
|
+
],
|
|
35
|
+
// Numbers (ASCII)
|
|
36
|
+
numbers: [[0x30, 0x39]],
|
|
37
|
+
// Basic punctuation (ASCII)
|
|
38
|
+
punctuation: [
|
|
39
|
+
[0x20, 0x2f], // Space and basic punctuation
|
|
40
|
+
[0x3a, 0x40], // More punctuation
|
|
41
|
+
[0x5b, 0x60], // Brackets etc.
|
|
42
|
+
[0x7b, 0x7e], // Braces etc.
|
|
43
|
+
],
|
|
44
|
+
// Unsupported scripts (for filtering)
|
|
45
|
+
arabic: [[0x0600, 0x06ff]],
|
|
46
|
+
hebrew: [[0x0590, 0x05ff]],
|
|
47
|
+
thai: [[0x0e00, 0x0e7f]],
|
|
48
|
+
emoji: [
|
|
49
|
+
[0x1f600, 0x1f64f], // Emoticons
|
|
50
|
+
[0x1f300, 0x1f5ff], // Misc Symbols and Pictographs
|
|
51
|
+
[0x1f680, 0x1f6ff], // Transport and Map
|
|
52
|
+
[0x1f1e0, 0x1f1ff], // Flags
|
|
53
|
+
[0x2600, 0x26ff], // Misc Symbols
|
|
54
|
+
[0x2700, 0x27bf], // Dingbats
|
|
55
|
+
[0xfe00, 0xfe0f], // Variation Selectors
|
|
56
|
+
[0x1f900, 0x1f9ff], // Supplemental Symbols
|
|
57
|
+
],
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Check if a code point is within any of the given ranges.
|
|
61
|
+
*/
|
|
62
|
+
function inRanges(codePoint, ranges) {
|
|
63
|
+
for (const [start, end] of ranges) {
|
|
64
|
+
if (codePoint >= start && codePoint <= end) {
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Detect the script type of a single character.
|
|
72
|
+
*
|
|
73
|
+
* @param char - Single character to classify
|
|
74
|
+
* @returns The script type of the character
|
|
75
|
+
*/
|
|
76
|
+
export function detectScript(char) {
|
|
77
|
+
if (!char || char.length === 0) {
|
|
78
|
+
return "latin";
|
|
79
|
+
}
|
|
80
|
+
// Get the code point (handles surrogate pairs for characters outside BMP)
|
|
81
|
+
const codePoint = char.codePointAt(0);
|
|
82
|
+
if (codePoint === undefined) {
|
|
83
|
+
return "latin";
|
|
84
|
+
}
|
|
85
|
+
// Check each script in order of likelihood/importance
|
|
86
|
+
// CJK (most common for multi-byte)
|
|
87
|
+
if (inRanges(codePoint, SCRIPT_RANGES.cjk)) {
|
|
88
|
+
return "cjk";
|
|
89
|
+
}
|
|
90
|
+
// Japanese kana
|
|
91
|
+
if (inRanges(codePoint, SCRIPT_RANGES.hiragana)) {
|
|
92
|
+
return "hiragana";
|
|
93
|
+
}
|
|
94
|
+
if (inRanges(codePoint, SCRIPT_RANGES.katakana)) {
|
|
95
|
+
return "katakana";
|
|
96
|
+
}
|
|
97
|
+
// Korean
|
|
98
|
+
if (inRanges(codePoint, SCRIPT_RANGES.korean)) {
|
|
99
|
+
return "korean";
|
|
100
|
+
}
|
|
101
|
+
// Cyrillic
|
|
102
|
+
if (inRanges(codePoint, SCRIPT_RANGES.cyrillic)) {
|
|
103
|
+
return "cyrillic";
|
|
104
|
+
}
|
|
105
|
+
// Numbers
|
|
106
|
+
if (inRanges(codePoint, SCRIPT_RANGES.numbers)) {
|
|
107
|
+
return "numbers";
|
|
108
|
+
}
|
|
109
|
+
// Punctuation
|
|
110
|
+
if (inRanges(codePoint, SCRIPT_RANGES.punctuation)) {
|
|
111
|
+
return "punctuation";
|
|
112
|
+
}
|
|
113
|
+
// Unsupported scripts
|
|
114
|
+
if (inRanges(codePoint, SCRIPT_RANGES.arabic) ||
|
|
115
|
+
inRanges(codePoint, SCRIPT_RANGES.hebrew) ||
|
|
116
|
+
inRanges(codePoint, SCRIPT_RANGES.thai) ||
|
|
117
|
+
inRanges(codePoint, SCRIPT_RANGES.emoji)) {
|
|
118
|
+
return "unsupported";
|
|
119
|
+
}
|
|
120
|
+
// Default to Latin for ASCII letters and anything else
|
|
121
|
+
return "latin";
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Check if a character is a CJK character (Chinese, Japanese Kanji).
|
|
125
|
+
* CJK characters can break anywhere without needing a hyphen.
|
|
126
|
+
*/
|
|
127
|
+
export function isCJKCharacter(char) {
|
|
128
|
+
const script = detectScript(char);
|
|
129
|
+
return script === "cjk" || script === "hiragana" || script === "katakana";
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Check if a character is Korean Hangul.
|
|
133
|
+
*/
|
|
134
|
+
export function isKoreanCharacter(char) {
|
|
135
|
+
return detectScript(char) === "korean";
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Check if a character is from a uniform-width script.
|
|
139
|
+
* These scripts render all characters at the same width.
|
|
140
|
+
*/
|
|
141
|
+
export function isUniformWidthScript(char) {
|
|
142
|
+
const script = detectScript(char);
|
|
143
|
+
return (script === "cjk" || script === "hiragana" || script === "katakana" || script === "korean" || script === "cyrillic");
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Check if a character is from an unsupported script.
|
|
147
|
+
* These characters may not render correctly on the glasses.
|
|
148
|
+
*/
|
|
149
|
+
export function isUnsupportedScript(char) {
|
|
150
|
+
return detectScript(char) === "unsupported";
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Check if breaking between two characters requires a hyphen.
|
|
154
|
+
* Returns false for:
|
|
155
|
+
* - Breaking after CJK characters (can break anywhere)
|
|
156
|
+
* - Breaking before or after spaces
|
|
157
|
+
* - Breaking after punctuation
|
|
158
|
+
*/
|
|
159
|
+
export function needsHyphenForBreak(charBefore, charAfter) {
|
|
160
|
+
// No hyphen needed after CJK (can break anywhere)
|
|
161
|
+
if (isCJKCharacter(charBefore)) {
|
|
162
|
+
return false;
|
|
163
|
+
}
|
|
164
|
+
// No hyphen needed before CJK
|
|
165
|
+
if (isCJKCharacter(charAfter)) {
|
|
166
|
+
return false;
|
|
167
|
+
}
|
|
168
|
+
// No hyphen needed after space
|
|
169
|
+
if (charBefore === " " || charBefore === "\t") {
|
|
170
|
+
return false;
|
|
171
|
+
}
|
|
172
|
+
// No hyphen needed before space (the space is a natural break point)
|
|
173
|
+
if (charAfter === " " || charAfter === "\t") {
|
|
174
|
+
return false;
|
|
175
|
+
}
|
|
176
|
+
// No hyphen needed after existing punctuation that serves as break
|
|
177
|
+
const breakPunctuation = ["-", "–", "—", "/", "\\", "|"];
|
|
178
|
+
if (breakPunctuation.includes(charBefore)) {
|
|
179
|
+
return false;
|
|
180
|
+
}
|
|
181
|
+
// Default: hyphen is needed for mid-word Latin breaks
|
|
182
|
+
return true;
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=script-detection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"script-detection.js","sourceRoot":"","sources":["../../../../src/utils/display/measurer/script-detection.ts"],"names":[],"mappings":"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","sourcesContent":["import type {ScriptType} from \"../profiles/types\"\n\n/**\n * Unicode ranges for script detection.\n * Used to classify characters for proper width measurement.\n */\nexport const SCRIPT_RANGES = {\n // CJK Unified Ideographs\n cjk: [\n [0x4e00, 0x9fff], // Main block (common Chinese, Japanese Kanji)\n [0x3400, 0x4dbf], // Extension A\n [0x20000, 0x2a6df], // Extension B\n [0x2a700, 0x2b73f], // Extension C\n [0x2b740, 0x2b81f], // Extension D\n [0xf900, 0xfaff], // Compatibility Ideographs\n ] as const,\n\n // Japanese Hiragana\n hiragana: [[0x3040, 0x309f]] as const,\n\n // Japanese Katakana\n katakana: [\n [0x30a0, 0x30ff], // Main block\n [0x31f0, 0x31ff], // Phonetic Extensions\n ] as const,\n\n // Korean\n korean: [\n [0xac00, 0xd7af], // Hangul Syllables\n [0x1100, 0x11ff], // Hangul Jamo\n [0x3130, 0x318f], // Compatibility Jamo\n [0xa960, 0xa97f], // Jamo Extended-A\n [0xd7b0, 0xd7ff], // Jamo Extended-B\n ] as const,\n\n // Cyrillic\n cyrillic: [\n [0x0400, 0x04ff], // Main block\n [0x0500, 0x052f], // Supplement\n ] as const,\n\n // Numbers (ASCII)\n numbers: [[0x30, 0x39]] as const,\n\n // Basic punctuation (ASCII)\n punctuation: [\n [0x20, 0x2f], // Space and basic punctuation\n [0x3a, 0x40], // More punctuation\n [0x5b, 0x60], // Brackets etc.\n [0x7b, 0x7e], // Braces etc.\n ] as const,\n\n // Unsupported scripts (for filtering)\n arabic: [[0x0600, 0x06ff]] as const,\n hebrew: [[0x0590, 0x05ff]] as const,\n thai: [[0x0e00, 0x0e7f]] as const,\n emoji: [\n [0x1f600, 0x1f64f], // Emoticons\n [0x1f300, 0x1f5ff], // Misc Symbols and Pictographs\n [0x1f680, 0x1f6ff], // Transport and Map\n [0x1f1e0, 0x1f1ff], // Flags\n [0x2600, 0x26ff], // Misc Symbols\n [0x2700, 0x27bf], // Dingbats\n [0xfe00, 0xfe0f], // Variation Selectors\n [0x1f900, 0x1f9ff], // Supplemental Symbols\n ] as const,\n} as const\n\n/**\n * Check if a code point is within any of the given ranges.\n */\nfunction inRanges(codePoint: number, ranges: readonly (readonly [number, number])[]): boolean {\n for (const [start, end] of ranges) {\n if (codePoint >= start && codePoint <= end) {\n return true\n }\n }\n return false\n}\n\n/**\n * Detect the script type of a single character.\n *\n * @param char - Single character to classify\n * @returns The script type of the character\n */\nexport function detectScript(char: string): ScriptType {\n if (!char || char.length === 0) {\n return \"latin\"\n }\n\n // Get the code point (handles surrogate pairs for characters outside BMP)\n const codePoint = char.codePointAt(0)\n if (codePoint === undefined) {\n return \"latin\"\n }\n\n // Check each script in order of likelihood/importance\n\n // CJK (most common for multi-byte)\n if (inRanges(codePoint, SCRIPT_RANGES.cjk)) {\n return \"cjk\"\n }\n\n // Japanese kana\n if (inRanges(codePoint, SCRIPT_RANGES.hiragana)) {\n return \"hiragana\"\n }\n if (inRanges(codePoint, SCRIPT_RANGES.katakana)) {\n return \"katakana\"\n }\n\n // Korean\n if (inRanges(codePoint, SCRIPT_RANGES.korean)) {\n return \"korean\"\n }\n\n // Cyrillic\n if (inRanges(codePoint, SCRIPT_RANGES.cyrillic)) {\n return \"cyrillic\"\n }\n\n // Numbers\n if (inRanges(codePoint, SCRIPT_RANGES.numbers)) {\n return \"numbers\"\n }\n\n // Punctuation\n if (inRanges(codePoint, SCRIPT_RANGES.punctuation)) {\n return \"punctuation\"\n }\n\n // Unsupported scripts\n if (\n inRanges(codePoint, SCRIPT_RANGES.arabic) ||\n inRanges(codePoint, SCRIPT_RANGES.hebrew) ||\n inRanges(codePoint, SCRIPT_RANGES.thai) ||\n inRanges(codePoint, SCRIPT_RANGES.emoji)\n ) {\n return \"unsupported\"\n }\n\n // Default to Latin for ASCII letters and anything else\n return \"latin\"\n}\n\n/**\n * Check if a character is a CJK character (Chinese, Japanese Kanji).\n * CJK characters can break anywhere without needing a hyphen.\n */\nexport function isCJKCharacter(char: string): boolean {\n const script = detectScript(char)\n return script === \"cjk\" || script === \"hiragana\" || script === \"katakana\"\n}\n\n/**\n * Check if a character is Korean Hangul.\n */\nexport function isKoreanCharacter(char: string): boolean {\n return detectScript(char) === \"korean\"\n}\n\n/**\n * Check if a character is from a uniform-width script.\n * These scripts render all characters at the same width.\n */\nexport function isUniformWidthScript(char: string): boolean {\n const script = detectScript(char)\n return (\n script === \"cjk\" || script === \"hiragana\" || script === \"katakana\" || script === \"korean\" || script === \"cyrillic\"\n )\n}\n\n/**\n * Check if a character is from an unsupported script.\n * These characters may not render correctly on the glasses.\n */\nexport function isUnsupportedScript(char: string): boolean {\n return detectScript(char) === \"unsupported\"\n}\n\n/**\n * Check if breaking between two characters requires a hyphen.\n * Returns false for:\n * - Breaking after CJK characters (can break anywhere)\n * - Breaking before or after spaces\n * - Breaking after punctuation\n */\nexport function needsHyphenForBreak(charBefore: string, charAfter: string): boolean {\n // No hyphen needed after CJK (can break anywhere)\n if (isCJKCharacter(charBefore)) {\n return false\n }\n\n // No hyphen needed before CJK\n if (isCJKCharacter(charAfter)) {\n return false\n }\n\n // No hyphen needed after space\n if (charBefore === \" \" || charBefore === \"\\t\") {\n return false\n }\n\n // No hyphen needed before space (the space is a natural break point)\n if (charAfter === \" \" || charAfter === \"\\t\") {\n return false\n }\n\n // No hyphen needed after existing punctuation that serves as break\n const breakPunctuation = [\"-\", \"–\", \"—\", \"/\", \"\\\\\", \"|\"]\n if (breakPunctuation.includes(charBefore)) {\n return false\n }\n\n // Default: hyphen is needed for mid-word Latin breaks\n return true\n}\n"]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { DisplayProfile } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Even Realities G1 Smart Glasses Display Profile
|
|
4
|
+
*
|
|
5
|
+
* Verified through empirical testing with actual hardware.
|
|
6
|
+
* See: line-width-debug-tool/line-width-spec.md
|
|
7
|
+
*/
|
|
8
|
+
export declare const G1_PROFILE: DisplayProfile;
|
|
9
|
+
/**
|
|
10
|
+
* G1 Profile for LEGACY mobile clients that have their own wrapping logic.
|
|
11
|
+
*
|
|
12
|
+
* Old mobile clients re-wrap text received from the cloud, causing double-wrapping.
|
|
13
|
+
* This profile uses a reduced display width (~522px instead of 576px) so that
|
|
14
|
+
* when the mobile client re-wraps, the result still fits within 5 lines.
|
|
15
|
+
*
|
|
16
|
+
* Use this profile when:
|
|
17
|
+
* - Mobile client version < X.X.X (has old wrapping logic)
|
|
18
|
+
* - You see text getting cut off or exceeding 5 lines
|
|
19
|
+
*
|
|
20
|
+
* Once all clients are updated, this can be deprecated.
|
|
21
|
+
*/
|
|
22
|
+
export declare const G1_PROFILE_LEGACY: DisplayProfile;
|
|
23
|
+
/**
|
|
24
|
+
* Get the hyphen width for G1 in rendered pixels.
|
|
25
|
+
* Hyphen glyph = 4px → rendered = (4+1)*2 = 10px
|
|
26
|
+
*/
|
|
27
|
+
export declare const G1_HYPHEN_WIDTH_PX = 10;
|
|
28
|
+
/**
|
|
29
|
+
* Get the space width for G1 in rendered pixels.
|
|
30
|
+
* Space glyph = 2px → rendered = (2+1)*2 = 6px
|
|
31
|
+
*/
|
|
32
|
+
export declare const G1_SPACE_WIDTH_PX = 6;
|
|
33
|
+
//# sourceMappingURL=g1.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"g1.d.ts","sourceRoot":"","sources":["../../../../src/utils/display/profiles/g1.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAA;AAsHtC;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,cAgDxB,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,EAAE,cAoC/B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,KAAK,CAAA;AAEpC;;;GAGG;AACH,eAAO,MAAM,iBAAiB,IAAI,CAAA"}
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Complete G1 glyph widths from G1FontLoaderKt
|
|
3
|
+
* These are GLYPH widths - multiply using renderFormula to get rendered pixels.
|
|
4
|
+
* Rendered width = (glyphWidth + 1) * 2
|
|
5
|
+
*/
|
|
6
|
+
const G1_GLYPH_WIDTHS = {
|
|
7
|
+
// Punctuation & Symbols
|
|
8
|
+
" ": 2,
|
|
9
|
+
"!": 1,
|
|
10
|
+
'"': 2,
|
|
11
|
+
"#": 6,
|
|
12
|
+
"$": 5,
|
|
13
|
+
"%": 6,
|
|
14
|
+
"&": 7,
|
|
15
|
+
"'": 1,
|
|
16
|
+
"(": 2,
|
|
17
|
+
")": 2,
|
|
18
|
+
"*": 3,
|
|
19
|
+
"+": 4,
|
|
20
|
+
",": 1,
|
|
21
|
+
"-": 4, // Hyphen: 4px glyph → 10px rendered (CRITICAL for breaking!)
|
|
22
|
+
".": 1,
|
|
23
|
+
"/": 3,
|
|
24
|
+
// Numbers
|
|
25
|
+
"0": 5,
|
|
26
|
+
"1": 3,
|
|
27
|
+
"2": 5,
|
|
28
|
+
"3": 5,
|
|
29
|
+
"4": 5,
|
|
30
|
+
"5": 5,
|
|
31
|
+
"6": 5,
|
|
32
|
+
"7": 5,
|
|
33
|
+
"8": 5,
|
|
34
|
+
"9": 5,
|
|
35
|
+
// More punctuation
|
|
36
|
+
":": 1,
|
|
37
|
+
";": 1,
|
|
38
|
+
"<": 4,
|
|
39
|
+
"=": 4,
|
|
40
|
+
">": 4,
|
|
41
|
+
"?": 5,
|
|
42
|
+
"@": 7,
|
|
43
|
+
// Uppercase
|
|
44
|
+
"A": 6,
|
|
45
|
+
"B": 5,
|
|
46
|
+
"C": 5,
|
|
47
|
+
"D": 5,
|
|
48
|
+
"E": 4,
|
|
49
|
+
"F": 4,
|
|
50
|
+
"G": 5,
|
|
51
|
+
"H": 5,
|
|
52
|
+
"I": 2,
|
|
53
|
+
"J": 3,
|
|
54
|
+
"K": 5,
|
|
55
|
+
"L": 4,
|
|
56
|
+
"M": 7,
|
|
57
|
+
"N": 5,
|
|
58
|
+
"O": 5,
|
|
59
|
+
"P": 5,
|
|
60
|
+
"Q": 5,
|
|
61
|
+
"R": 5,
|
|
62
|
+
"S": 5,
|
|
63
|
+
"T": 5,
|
|
64
|
+
"U": 5,
|
|
65
|
+
"V": 6,
|
|
66
|
+
"W": 7,
|
|
67
|
+
"X": 6,
|
|
68
|
+
"Y": 6,
|
|
69
|
+
"Z": 5,
|
|
70
|
+
// Brackets & special
|
|
71
|
+
"[": 2,
|
|
72
|
+
"\\": 3,
|
|
73
|
+
"]": 2,
|
|
74
|
+
"^": 4,
|
|
75
|
+
"_": 3,
|
|
76
|
+
"`": 2,
|
|
77
|
+
// Lowercase
|
|
78
|
+
"a": 5,
|
|
79
|
+
"b": 4,
|
|
80
|
+
"c": 4,
|
|
81
|
+
"d": 4,
|
|
82
|
+
"e": 4,
|
|
83
|
+
"f": 4,
|
|
84
|
+
"g": 4,
|
|
85
|
+
"h": 4,
|
|
86
|
+
"i": 1,
|
|
87
|
+
"j": 2,
|
|
88
|
+
"k": 4,
|
|
89
|
+
"l": 1,
|
|
90
|
+
"m": 7,
|
|
91
|
+
"n": 4,
|
|
92
|
+
"o": 4,
|
|
93
|
+
"p": 4,
|
|
94
|
+
"q": 4,
|
|
95
|
+
"r": 3,
|
|
96
|
+
"s": 4,
|
|
97
|
+
"t": 3,
|
|
98
|
+
"u": 5,
|
|
99
|
+
"v": 5,
|
|
100
|
+
"w": 7,
|
|
101
|
+
"x": 5,
|
|
102
|
+
"y": 5,
|
|
103
|
+
"z": 4,
|
|
104
|
+
// More special
|
|
105
|
+
"{": 3,
|
|
106
|
+
"|": 1,
|
|
107
|
+
"}": 3,
|
|
108
|
+
"~": 7,
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* Even Realities G1 Smart Glasses Display Profile
|
|
112
|
+
*
|
|
113
|
+
* Verified through empirical testing with actual hardware.
|
|
114
|
+
* See: line-width-debug-tool/line-width-spec.md
|
|
115
|
+
*/
|
|
116
|
+
export const G1_PROFILE = {
|
|
117
|
+
id: "even-realities-g1",
|
|
118
|
+
name: "Even Realities G1",
|
|
119
|
+
// Display dimensions
|
|
120
|
+
displayWidthPx: 576,
|
|
121
|
+
maxLines: 5,
|
|
122
|
+
// BLE constraints
|
|
123
|
+
maxPayloadBytes: 390,
|
|
124
|
+
bleChunkSize: 176,
|
|
125
|
+
// Font metrics
|
|
126
|
+
fontMetrics: {
|
|
127
|
+
// Glyph widths from G1FontLoaderKt
|
|
128
|
+
glyphWidths: new Map(Object.entries(G1_GLYPH_WIDTHS)),
|
|
129
|
+
// Default glyph width for unmapped Latin characters (use max to be safe)
|
|
130
|
+
defaultGlyphWidth: 7,
|
|
131
|
+
// Rendered width = (glyphWidth + 1) * 2
|
|
132
|
+
renderFormula: (glyphWidth) => (glyphWidth + 1) * 2,
|
|
133
|
+
// Uniform-width scripts - ALL characters in these scripts render at this exact width
|
|
134
|
+
// These are verified values in RENDERED pixels, NOT averages
|
|
135
|
+
uniformScripts: {
|
|
136
|
+
cjk: 18, // ALL Chinese/Japanese Kanji chars = 18px (verified)
|
|
137
|
+
hiragana: 18, // ALL Hiragana chars = 18px (verified)
|
|
138
|
+
katakana: 18, // ALL Katakana chars = 18px (verified)
|
|
139
|
+
korean: 24, // ALL Korean Hangul chars = 24px (verified)
|
|
140
|
+
cyrillic: 18, // ALL Cyrillic chars = 18px (verified)
|
|
141
|
+
},
|
|
142
|
+
// Fallback for unmapped Latin characters
|
|
143
|
+
// Uses MAX width to guarantee no overflow (safe under-utilization)
|
|
144
|
+
fallback: {
|
|
145
|
+
latinMaxWidth: 16, // Max Latin = 'm', 'w' at (7+1)*2 = 16px
|
|
146
|
+
unknownBehavior: "useLatinMax",
|
|
147
|
+
},
|
|
148
|
+
},
|
|
149
|
+
constraints: {
|
|
150
|
+
minCharsBeforeHyphen: 3,
|
|
151
|
+
// Kinsoku: Characters that should not appear at start of line
|
|
152
|
+
noStartChars: [".", ",", "!", "?", ":", ";", ")", "]", "}", "。", ",", "!", "?", ":", ";", ")", "】", "」"],
|
|
153
|
+
// Kinsoku: Characters that should not appear at end of line
|
|
154
|
+
noEndChars: ["(", "[", "{", "(", "【", "「"],
|
|
155
|
+
},
|
|
156
|
+
};
|
|
157
|
+
/**
|
|
158
|
+
* G1 Profile for LEGACY mobile clients that have their own wrapping logic.
|
|
159
|
+
*
|
|
160
|
+
* Old mobile clients re-wrap text received from the cloud, causing double-wrapping.
|
|
161
|
+
* This profile uses a reduced display width (~522px instead of 576px) so that
|
|
162
|
+
* when the mobile client re-wraps, the result still fits within 5 lines.
|
|
163
|
+
*
|
|
164
|
+
* Use this profile when:
|
|
165
|
+
* - Mobile client version < X.X.X (has old wrapping logic)
|
|
166
|
+
* - You see text getting cut off or exceeding 5 lines
|
|
167
|
+
*
|
|
168
|
+
* Once all clients are updated, this can be deprecated.
|
|
169
|
+
*/
|
|
170
|
+
export const G1_PROFILE_LEGACY = {
|
|
171
|
+
id: "even-realities-g1-legacy",
|
|
172
|
+
name: "Even Realities G1 (Legacy Client Compatibility)",
|
|
173
|
+
// Reduced display width to prevent double-wrapping overflow
|
|
174
|
+
// Old mobile client wraps at ~90% of true width
|
|
175
|
+
displayWidthPx: 420,
|
|
176
|
+
maxLines: 5,
|
|
177
|
+
// BLE constraints (same as standard)
|
|
178
|
+
maxPayloadBytes: 390,
|
|
179
|
+
bleChunkSize: 176,
|
|
180
|
+
// Font metrics (same as standard)
|
|
181
|
+
fontMetrics: {
|
|
182
|
+
glyphWidths: new Map(Object.entries(G1_GLYPH_WIDTHS)),
|
|
183
|
+
defaultGlyphWidth: 7,
|
|
184
|
+
renderFormula: (glyphWidth) => (glyphWidth + 1) * 2,
|
|
185
|
+
uniformScripts: {
|
|
186
|
+
cjk: 18,
|
|
187
|
+
hiragana: 18,
|
|
188
|
+
katakana: 18,
|
|
189
|
+
korean: 24,
|
|
190
|
+
cyrillic: 18,
|
|
191
|
+
},
|
|
192
|
+
fallback: {
|
|
193
|
+
latinMaxWidth: 16,
|
|
194
|
+
unknownBehavior: "useLatinMax",
|
|
195
|
+
},
|
|
196
|
+
},
|
|
197
|
+
constraints: {
|
|
198
|
+
minCharsBeforeHyphen: 3,
|
|
199
|
+
noStartChars: [".", ",", "!", "?", ":", ";", ")", "]", "}", "。", ",", "!", "?", ":", ";", ")", "】", "」"],
|
|
200
|
+
noEndChars: ["(", "[", "{", "(", "【", "「"],
|
|
201
|
+
},
|
|
202
|
+
};
|
|
203
|
+
/**
|
|
204
|
+
* Get the hyphen width for G1 in rendered pixels.
|
|
205
|
+
* Hyphen glyph = 4px → rendered = (4+1)*2 = 10px
|
|
206
|
+
*/
|
|
207
|
+
export const G1_HYPHEN_WIDTH_PX = 10;
|
|
208
|
+
/**
|
|
209
|
+
* Get the space width for G1 in rendered pixels.
|
|
210
|
+
* Space glyph = 2px → rendered = (2+1)*2 = 6px
|
|
211
|
+
*/
|
|
212
|
+
export const G1_SPACE_WIDTH_PX = 6;
|
|
213
|
+
//# sourceMappingURL=g1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"g1.js","sourceRoot":"","sources":["../../../../src/utils/display/profiles/g1.ts"],"names":[],"mappings":"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","sourcesContent":["import {DisplayProfile} from \"./types\"\n\n/**\n * Complete G1 glyph widths from G1FontLoaderKt\n * These are GLYPH widths - multiply using renderFormula to get rendered pixels.\n * Rendered width = (glyphWidth + 1) * 2\n */\nconst G1_GLYPH_WIDTHS: Record<string, number> = {\n // Punctuation & Symbols\n \" \": 2,\n \"!\": 1,\n '\"': 2,\n \"#\": 6,\n \"$\": 5,\n \"%\": 6,\n \"&\": 7,\n \"'\": 1,\n \"(\": 2,\n \")\": 2,\n \"*\": 3,\n \"+\": 4,\n \",\": 1,\n \"-\": 4, // Hyphen: 4px glyph → 10px rendered (CRITICAL for breaking!)\n \".\": 1,\n \"/\": 3,\n\n // Numbers\n \"0\": 5,\n \"1\": 3,\n \"2\": 5,\n \"3\": 5,\n \"4\": 5,\n \"5\": 5,\n \"6\": 5,\n \"7\": 5,\n \"8\": 5,\n \"9\": 5,\n\n // More punctuation\n \":\": 1,\n \";\": 1,\n \"<\": 4,\n \"=\": 4,\n \">\": 4,\n \"?\": 5,\n \"@\": 7,\n\n // Uppercase\n \"A\": 6,\n \"B\": 5,\n \"C\": 5,\n \"D\": 5,\n \"E\": 4,\n \"F\": 4,\n \"G\": 5,\n \"H\": 5,\n \"I\": 2,\n \"J\": 3,\n \"K\": 5,\n \"L\": 4,\n \"M\": 7,\n \"N\": 5,\n \"O\": 5,\n \"P\": 5,\n \"Q\": 5,\n \"R\": 5,\n \"S\": 5,\n \"T\": 5,\n \"U\": 5,\n \"V\": 6,\n \"W\": 7,\n \"X\": 6,\n \"Y\": 6,\n \"Z\": 5,\n\n // Brackets & special\n \"[\": 2,\n \"\\\\\": 3,\n \"]\": 2,\n \"^\": 4,\n \"_\": 3,\n \"`\": 2,\n\n // Lowercase\n \"a\": 5,\n \"b\": 4,\n \"c\": 4,\n \"d\": 4,\n \"e\": 4,\n \"f\": 4,\n \"g\": 4,\n \"h\": 4,\n \"i\": 1,\n \"j\": 2,\n \"k\": 4,\n \"l\": 1,\n \"m\": 7,\n \"n\": 4,\n \"o\": 4,\n \"p\": 4,\n \"q\": 4,\n \"r\": 3,\n \"s\": 4,\n \"t\": 3,\n \"u\": 5,\n \"v\": 5,\n \"w\": 7,\n \"x\": 5,\n \"y\": 5,\n \"z\": 4,\n\n // More special\n \"{\": 3,\n \"|\": 1,\n \"}\": 3,\n \"~\": 7,\n}\n\n/**\n * Even Realities G1 Smart Glasses Display Profile\n *\n * Verified through empirical testing with actual hardware.\n * See: line-width-debug-tool/line-width-spec.md\n */\nexport const G1_PROFILE: DisplayProfile = {\n id: \"even-realities-g1\",\n name: \"Even Realities G1\",\n\n // Display dimensions\n displayWidthPx: 576,\n maxLines: 5,\n\n // BLE constraints\n maxPayloadBytes: 390,\n bleChunkSize: 176,\n\n // Font metrics\n fontMetrics: {\n // Glyph widths from G1FontLoaderKt\n glyphWidths: new Map(Object.entries(G1_GLYPH_WIDTHS)),\n\n // Default glyph width for unmapped Latin characters (use max to be safe)\n defaultGlyphWidth: 7,\n\n // Rendered width = (glyphWidth + 1) * 2\n renderFormula: (glyphWidth: number) => (glyphWidth + 1) * 2,\n\n // Uniform-width scripts - ALL characters in these scripts render at this exact width\n // These are verified values in RENDERED pixels, NOT averages\n uniformScripts: {\n cjk: 18, // ALL Chinese/Japanese Kanji chars = 18px (verified)\n hiragana: 18, // ALL Hiragana chars = 18px (verified)\n katakana: 18, // ALL Katakana chars = 18px (verified)\n korean: 24, // ALL Korean Hangul chars = 24px (verified)\n cyrillic: 18, // ALL Cyrillic chars = 18px (verified)\n },\n\n // Fallback for unmapped Latin characters\n // Uses MAX width to guarantee no overflow (safe under-utilization)\n fallback: {\n latinMaxWidth: 16, // Max Latin = 'm', 'w' at (7+1)*2 = 16px\n unknownBehavior: \"useLatinMax\",\n },\n },\n\n constraints: {\n minCharsBeforeHyphen: 3,\n // Kinsoku: Characters that should not appear at start of line\n noStartChars: [\".\", \",\", \"!\", \"?\", \":\", \";\", \")\", \"]\", \"}\", \"。\", \",\", \"!\", \"?\", \":\", \";\", \")\", \"】\", \"」\"],\n // Kinsoku: Characters that should not appear at end of line\n noEndChars: [\"(\", \"[\", \"{\", \"(\", \"【\", \"「\"],\n },\n}\n\n/**\n * G1 Profile for LEGACY mobile clients that have their own wrapping logic.\n *\n * Old mobile clients re-wrap text received from the cloud, causing double-wrapping.\n * This profile uses a reduced display width (~522px instead of 576px) so that\n * when the mobile client re-wraps, the result still fits within 5 lines.\n *\n * Use this profile when:\n * - Mobile client version < X.X.X (has old wrapping logic)\n * - You see text getting cut off or exceeding 5 lines\n *\n * Once all clients are updated, this can be deprecated.\n */\nexport const G1_PROFILE_LEGACY: DisplayProfile = {\n id: \"even-realities-g1-legacy\",\n name: \"Even Realities G1 (Legacy Client Compatibility)\",\n\n // Reduced display width to prevent double-wrapping overflow\n // Old mobile client wraps at ~90% of true width\n displayWidthPx: 420,\n maxLines: 5,\n\n // BLE constraints (same as standard)\n maxPayloadBytes: 390,\n bleChunkSize: 176,\n\n // Font metrics (same as standard)\n fontMetrics: {\n glyphWidths: new Map(Object.entries(G1_GLYPH_WIDTHS)),\n defaultGlyphWidth: 7,\n renderFormula: (glyphWidth: number) => (glyphWidth + 1) * 2,\n uniformScripts: {\n cjk: 18,\n hiragana: 18,\n katakana: 18,\n korean: 24,\n cyrillic: 18,\n },\n fallback: {\n latinMaxWidth: 16,\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 G1 in rendered pixels.\n * Hyphen glyph = 4px → rendered = (4+1)*2 = 10px\n */\nexport const G1_HYPHEN_WIDTH_PX = 10\n\n/**\n * Get the space width for G1 in rendered pixels.\n * Space glyph = 2px → rendered = (2+1)*2 = 6px\n */\nexport const G1_SPACE_WIDTH_PX = 6\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DisplayProfile } from "./types";
|
|
2
|
+
export declare const G2_PROFILE: DisplayProfile;
|
|
3
|
+
/**
|
|
4
|
+
* Get the hyphen width for G2 in rendered pixels.
|
|
5
|
+
* Same as G1: Hyphen glyph = 4px → rendered = (4+1)*2 = 10px
|
|
6
|
+
*/
|
|
7
|
+
export declare const G2_HYPHEN_WIDTH_PX = 10;
|
|
8
|
+
/**
|
|
9
|
+
* Get the space width for G2 in rendered pixels.
|
|
10
|
+
* Same as G1: Space glyph = 2px → rendered = (2+1)*2 = 6px
|
|
11
|
+
*/
|
|
12
|
+
export declare const G2_SPACE_WIDTH_PX = 6;
|
|
13
|
+
//# sourceMappingURL=g2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"g2.d.ts","sourceRoot":"","sources":["../../../../src/utils/display/profiles/g2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAA;AActC,eAAO,MAAM,UAAU,EAAE,cAYxB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,KAAK,CAAA;AAEpC;;;GAGG;AACH,eAAO,MAAM,iBAAiB,IAAI,CAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Even Realities G2 Smart Glasses Display Profile
|
|
3
|
+
*
|
|
4
|
+
* G2 uses the same display hardware as G1 (green monochrome, ~640x200).
|
|
5
|
+
* Glyph widths and rendering formula are identical to G1.
|
|
6
|
+
* The protocol differs (EvenHub protobuf vs G1 binary) but display
|
|
7
|
+
* characteristics are the same.
|
|
8
|
+
*/
|
|
9
|
+
// G2 uses the same glyph widths as G1 (same display hardware/font)
|
|
10
|
+
import { G1_PROFILE } from "./g1";
|
|
11
|
+
export const G2_PROFILE = {
|
|
12
|
+
...G1_PROFILE,
|
|
13
|
+
id: "even-realities-g2",
|
|
14
|
+
name: "Even Realities G2",
|
|
15
|
+
// G2 fits more vertical text than G1 — allow up to 8 lines before the
|
|
16
|
+
// wrapper truncates (G1 stays at its inherited 5).
|
|
17
|
+
maxLines: 8,
|
|
18
|
+
// Hardware-calibrated 2026-07-03: a 28px container overflowed one line of
|
|
19
|
+
// the firmware font (triggering the fw's overflow indicator tick); 40px is
|
|
20
|
+
// clean. With this set, the scene pipeline height-clips text so a box is
|
|
21
|
+
// never handed more lines than fit.
|
|
22
|
+
lineHeightPx: 40,
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Get the hyphen width for G2 in rendered pixels.
|
|
26
|
+
* Same as G1: Hyphen glyph = 4px → rendered = (4+1)*2 = 10px
|
|
27
|
+
*/
|
|
28
|
+
export const G2_HYPHEN_WIDTH_PX = 10;
|
|
29
|
+
/**
|
|
30
|
+
* Get the space width for G2 in rendered pixels.
|
|
31
|
+
* Same as G1: Space glyph = 2px → rendered = (2+1)*2 = 6px
|
|
32
|
+
*/
|
|
33
|
+
export const G2_SPACE_WIDTH_PX = 6;
|
|
34
|
+
//# sourceMappingURL=g2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"g2.js","sourceRoot":"","sources":["../../../../src/utils/display/profiles/g2.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,mEAAmE;AACnE,OAAO,EAAC,UAAU,EAAC,MAAM,MAAM,CAAA;AAE/B,MAAM,CAAC,MAAM,UAAU,GAAmB;IACxC,GAAG,UAAU;IACb,EAAE,EAAE,mBAAmB;IACvB,IAAI,EAAE,mBAAmB;IACzB,sEAAsE;IACtE,mDAAmD;IACnD,QAAQ,EAAE,CAAC;IACX,0EAA0E;IAC1E,2EAA2E;IAC3E,yEAAyE;IACzE,oCAAoC;IACpC,YAAY,EAAE,EAAE;CACjB,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAA;AAEpC;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAA","sourcesContent":["import {DisplayProfile} from \"./types\"\n\n/**\n * Even Realities G2 Smart Glasses Display Profile\n *\n * G2 uses the same display hardware as G1 (green monochrome, ~640x200).\n * Glyph widths and rendering formula are identical to G1.\n * The protocol differs (EvenHub protobuf vs G1 binary) but display\n * characteristics are the same.\n */\n\n// G2 uses the same glyph widths as G1 (same display hardware/font)\nimport {G1_PROFILE} from \"./g1\"\n\nexport const G2_PROFILE: DisplayProfile = {\n ...G1_PROFILE,\n id: \"even-realities-g2\",\n name: \"Even Realities G2\",\n // G2 fits more vertical text than G1 — allow up to 8 lines before the\n // wrapper truncates (G1 stays at its inherited 5).\n maxLines: 8,\n // Hardware-calibrated 2026-07-03: a 28px container overflowed one line of\n // the firmware font (triggering the fw's overflow indicator tick); 40px is\n // clean. With this set, the scene pipeline height-clips text so a box is\n // never handed more lines than fit.\n lineHeightPx: 40,\n}\n\n/**\n * Get the hyphen width for G2 in rendered pixels.\n * Same as G1: Hyphen glyph = 4px → rendered = (4+1)*2 = 10px\n */\nexport const G2_HYPHEN_WIDTH_PX = 10\n\n/**\n * Get the space width for G2 in rendered pixels.\n * Same as G1: Space glyph = 2px → rendered = (2+1)*2 = 6px\n */\nexport const G2_SPACE_WIDTH_PX = 6\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Display Profiles
|
|
3
|
+
*
|
|
4
|
+
* Hardware-specific configurations for smart glasses displays.
|
|
5
|
+
* Each profile defines display dimensions, font metrics, and constraints.
|
|
6
|
+
*/
|
|
7
|
+
export type { DisplayProfile, FontMetrics, UniformScriptWidths, FallbackConfig, DisplayConstraints, ScriptType, } from "./types";
|
|
8
|
+
export { G1_PROFILE, G1_PROFILE_LEGACY, G1_HYPHEN_WIDTH_PX, G1_SPACE_WIDTH_PX } from "./g1";
|
|
9
|
+
export { Z100_PROFILE, Z100_HYPHEN_WIDTH_PX, Z100_SPACE_WIDTH_PX } from "./z100";
|
|
10
|
+
export { G2_PROFILE, G2_HYPHEN_WIDTH_PX, G2_SPACE_WIDTH_PX } from "./g2";
|
|
11
|
+
export { NEX_PROFILE, NEX_HYPHEN_WIDTH_PX, NEX_SPACE_WIDTH_PX } from "./nex";
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/display/profiles/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,UAAU,GACX,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAC,UAAU,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAC,MAAM,MAAM,CAAA;AAGzF,OAAO,EAAC,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAC,MAAM,QAAQ,CAAA;AAG9E,OAAO,EAAC,UAAU,EAAE,kBAAkB,EAAE,iBAAiB,EAAC,MAAM,MAAM,CAAA;AAGtE,OAAO,EAAC,WAAW,EAAE,mBAAmB,EAAE,kBAAkB,EAAC,MAAM,OAAO,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Display Profiles
|
|
3
|
+
*
|
|
4
|
+
* Hardware-specific configurations for smart glasses displays.
|
|
5
|
+
* Each profile defines display dimensions, font metrics, and constraints.
|
|
6
|
+
*/
|
|
7
|
+
// G1 Profiles
|
|
8
|
+
export { G1_PROFILE, G1_PROFILE_LEGACY, G1_HYPHEN_WIDTH_PX, G1_SPACE_WIDTH_PX } from "./g1";
|
|
9
|
+
// Z100 Profile
|
|
10
|
+
export { Z100_PROFILE, Z100_HYPHEN_WIDTH_PX, Z100_SPACE_WIDTH_PX } from "./z100";
|
|
11
|
+
// G2 Profile
|
|
12
|
+
export { G2_PROFILE, G2_HYPHEN_WIDTH_PX, G2_SPACE_WIDTH_PX } from "./g2";
|
|
13
|
+
// Mentra Nex Profile (a.k.a. Mentra Display)
|
|
14
|
+
export { NEX_PROFILE, NEX_HYPHEN_WIDTH_PX, NEX_SPACE_WIDTH_PX } from "./nex";
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/display/profiles/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,cAAc;AACd,OAAO,EAAC,UAAU,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAC,MAAM,MAAM,CAAA;AAEzF,eAAe;AACf,OAAO,EAAC,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAC,MAAM,QAAQ,CAAA;AAE9E,aAAa;AACb,OAAO,EAAC,UAAU,EAAE,kBAAkB,EAAE,iBAAiB,EAAC,MAAM,MAAM,CAAA;AAEtE,6CAA6C;AAC7C,OAAO,EAAC,WAAW,EAAE,mBAAmB,EAAE,kBAAkB,EAAC,MAAM,OAAO,CAAA","sourcesContent":["/**\n * Display Profiles\n *\n * Hardware-specific configurations for smart glasses displays.\n * Each profile defines display dimensions, font metrics, and constraints.\n */\n\n// Types\nexport type {\n DisplayProfile,\n FontMetrics,\n UniformScriptWidths,\n FallbackConfig,\n DisplayConstraints,\n ScriptType,\n} from \"./types\"\n\n// G1 Profiles\nexport {G1_PROFILE, G1_PROFILE_LEGACY, G1_HYPHEN_WIDTH_PX, G1_SPACE_WIDTH_PX} from \"./g1\"\n\n// Z100 Profile\nexport {Z100_PROFILE, Z100_HYPHEN_WIDTH_PX, Z100_SPACE_WIDTH_PX} from \"./z100\"\n\n// G2 Profile\nexport {G2_PROFILE, G2_HYPHEN_WIDTH_PX, G2_SPACE_WIDTH_PX} from \"./g2\"\n\n// Mentra Nex Profile (a.k.a. Mentra Display)\nexport {NEX_PROFILE, NEX_HYPHEN_WIDTH_PX, NEX_SPACE_WIDTH_PX} from \"./nex\"\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DisplayProfile } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Mentra Nex Smart Glasses Display Profile
|
|
4
|
+
*
|
|
5
|
+
* Also known as "Mentra Display" - a new Glassly glasses model with display capabilities.
|
|
6
|
+
*/
|
|
7
|
+
export declare const NEX_PROFILE: DisplayProfile;
|
|
8
|
+
export declare const NEX_HYPHEN_WIDTH_PX = 8;
|
|
9
|
+
export declare const NEX_SPACE_WIDTH_PX = 4;
|
|
10
|
+
//# sourceMappingURL=nex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nex.d.ts","sourceRoot":"","sources":["../../../../src/utils/display/profiles/nex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAA;AAoHtC;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,cAwCzB,CAAA;AAED,eAAO,MAAM,mBAAmB,IAAI,CAAA;AAEpC,eAAO,MAAM,kBAAkB,IAAI,CAAA"}
|