@glassly/engine 0.1.0-dev.1 → 0.1.0-dev.101
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 +57 -19
- package/build/bluetooth-sdk/debug.d.ts +2 -0
- package/build/bluetooth-sdk/debug.d.ts.map +1 -0
- package/build/bluetooth-sdk/debug.js +2 -0
- package/build/bluetooth-sdk/debug.js.map +1 -0
- package/build/bluetooth-sdk/index.d.ts +3 -0
- package/build/bluetooth-sdk/index.d.ts.map +1 -0
- package/build/bluetooth-sdk/index.js +3 -0
- package/build/bluetooth-sdk/index.js.map +1 -0
- package/build/bluetooth-sdk/ota-transport.d.ts +2 -0
- package/build/bluetooth-sdk/ota-transport.d.ts.map +1 -0
- package/build/bluetooth-sdk/ota-transport.js +2 -0
- package/build/bluetooth-sdk/ota-transport.js.map +1 -0
- package/build/bluetooth-sdk/photo-receiver.d.ts +3 -0
- package/build/bluetooth-sdk/photo-receiver.d.ts.map +1 -0
- package/build/bluetooth-sdk/photo-receiver.js +3 -0
- package/build/bluetooth-sdk/photo-receiver.js.map +1 -0
- package/build/bluetooth-sdk/react.d.ts +2 -0
- package/build/bluetooth-sdk/react.d.ts.map +1 -0
- package/build/bluetooth-sdk/react.js +2 -0
- package/build/bluetooth-sdk/react.js.map +1 -0
- package/build/bluetooth-sdk/types.d.ts +2 -0
- package/build/bluetooth-sdk/types.d.ts.map +1 -0
- package/build/bluetooth-sdk/types.js +2 -0
- package/build/bluetooth-sdk/types.js.map +1 -0
- package/build/engine.d.ts +30 -18
- package/build/engine.d.ts.map +1 -1
- package/build/engine.js +12 -3
- package/build/engine.js.map +1 -1
- package/build/facades/dev.d.ts +1 -1
- package/build/facades/display.d.ts +11 -4
- package/build/facades/display.d.ts.map +1 -1
- package/build/facades/display.js +12 -2
- package/build/facades/display.js.map +1 -1
- package/build/facades/displayMirror.d.ts +2 -6
- package/build/facades/displayMirror.d.ts.map +1 -1
- package/build/facades/displayMirror.js +7 -14
- package/build/facades/displayMirror.js.map +1 -1
- package/build/facades/glasses.d.ts +6 -13
- package/build/facades/glasses.d.ts.map +1 -1
- package/build/facades/glasses.js +7 -3
- package/build/facades/glasses.js.map +1 -1
- package/build/facades/ota.d.ts +21 -21
- package/build/facades/ota.d.ts.map +1 -1
- package/build/facades/ota.js +26 -10
- package/build/facades/ota.js.map +1 -1
- package/build/facades/pairing.d.ts +11 -5
- package/build/facades/pairing.d.ts.map +1 -1
- package/build/facades/pairing.js +93 -17
- package/build/facades/pairing.js.map +1 -1
- package/build/facades/phoneNotifications.d.ts +12 -2
- package/build/facades/phoneNotifications.d.ts.map +1 -1
- package/build/facades/phoneNotifications.js +30 -10
- package/build/facades/phoneNotifications.js.map +1 -1
- package/build/facades/speakers.d.ts +1 -1
- package/build/facades/speakers.d.ts.map +1 -1
- package/build/facades/speakers.js.map +1 -1
- package/build/facades/speech.d.ts +7 -6
- package/build/facades/speech.d.ts.map +1 -1
- package/build/facades/speech.js +1 -1
- package/build/facades/speech.js.map +1 -1
- package/build/generated/releaseMetadata.d.ts +12 -0
- package/build/generated/releaseMetadata.d.ts.map +1 -0
- package/build/generated/releaseMetadata.js +10 -0
- package/build/generated/releaseMetadata.js.map +1 -0
- package/build/index.d.ts +9 -6
- package/build/index.d.ts.map +1 -1
- package/build/index.js +7 -5
- package/build/index.js.map +1 -1
- package/build/react/MentraLiveOtaFlow.d.ts +44 -0
- package/build/react/MentraLiveOtaFlow.d.ts.map +1 -0
- package/build/react/MentraLiveOtaFlow.js +322 -0
- package/build/react/MentraLiveOtaFlow.js.map +1 -0
- package/build/react/index.d.ts +3 -0
- package/build/react/index.d.ts.map +1 -0
- package/build/react/index.js +3 -0
- package/build/react/index.js.map +1 -0
- package/build/react/useEngineSnapshot.d.ts +2 -0
- package/build/react/useEngineSnapshot.d.ts.map +1 -0
- package/build/react/useEngineSnapshot.js +14 -0
- package/build/react/useEngineSnapshot.js.map +1 -0
- package/build/react/useMentraLiveOta.d.ts +84 -0
- package/build/react/useMentraLiveOta.d.ts.map +1 -0
- package/build/react/useMentraLiveOta.js +627 -0
- package/build/react/useMentraLiveOta.js.map +1 -0
- package/build/services/AppRegistry.d.ts +8 -0
- package/build/services/AppRegistry.d.ts.map +1 -1
- package/build/services/AppRegistry.js +15 -0
- package/build/services/AppRegistry.js.map +1 -1
- package/build/services/BlobStore.d.ts +2 -0
- package/build/services/BlobStore.d.ts.map +1 -1
- package/build/services/BlobStore.js +63 -10
- package/build/services/BlobStore.js.map +1 -1
- package/build/services/CustomDashboardModel.d.ts +48 -0
- package/build/services/CustomDashboardModel.d.ts.map +1 -0
- package/build/services/CustomDashboardModel.js +73 -0
- package/build/services/CustomDashboardModel.js.map +1 -0
- package/build/services/CustomDashboardService.d.ts +55 -0
- package/build/services/CustomDashboardService.d.ts.map +1 -0
- package/build/services/CustomDashboardService.js +520 -0
- package/build/services/CustomDashboardService.js.map +1 -0
- package/build/services/DashboardCoordinator.d.ts +26 -0
- package/build/services/DashboardCoordinator.d.ts.map +1 -0
- package/build/services/DashboardCoordinator.js +125 -0
- package/build/services/DashboardCoordinator.js.map +1 -0
- package/build/services/DeviceEventRouter.d.ts.map +1 -1
- package/build/services/DeviceEventRouter.js +45 -6
- package/build/services/DeviceEventRouter.js.map +1 -1
- package/build/services/DisplayProcessor.d.ts +3 -3
- package/build/services/DisplayProcessor.js +3 -3
- package/build/services/DisplayProcessor.js.map +1 -1
- package/build/services/GestureDotsService.d.ts +40 -0
- package/build/services/GestureDotsService.d.ts.map +1 -0
- package/build/services/GestureDotsService.js +167 -0
- package/build/services/GestureDotsService.js.map +1 -0
- package/build/services/GlassesStatusProjection.d.ts +15 -1
- package/build/services/GlassesStatusProjection.d.ts.map +1 -1
- package/build/services/GlassesStatusProjection.js +18 -11
- package/build/services/GlassesStatusProjection.js.map +1 -1
- package/build/services/HotspotOtaTransport.d.ts.map +1 -1
- package/build/services/HotspotOtaTransport.js +8 -7
- package/build/services/HotspotOtaTransport.js.map +1 -1
- package/build/services/LocalDisplayManager.d.ts +55 -3
- package/build/services/LocalDisplayManager.d.ts.map +1 -1
- package/build/services/LocalDisplayManager.js +196 -16
- package/build/services/LocalDisplayManager.js.map +1 -1
- package/build/services/LocalMiniappRuntime.d.ts +13 -0
- package/build/services/LocalMiniappRuntime.d.ts.map +1 -1
- package/build/services/LocalMiniappRuntime.js +32 -0
- package/build/services/LocalMiniappRuntime.js.map +1 -1
- package/build/services/MiniappExitGesture.d.ts +33 -0
- package/build/services/MiniappExitGesture.d.ts.map +1 -0
- package/build/services/MiniappExitGesture.js +54 -0
- package/build/services/MiniappExitGesture.js.map +1 -0
- package/build/services/OtaAutoChain.d.ts +41 -0
- package/build/services/OtaAutoChain.d.ts.map +1 -0
- package/build/services/OtaAutoChain.js +91 -0
- package/build/services/OtaAutoChain.js.map +1 -0
- package/build/services/OtaErrorMapping.d.ts +18 -0
- package/build/services/OtaErrorMapping.d.ts.map +1 -0
- package/build/services/OtaErrorMapping.js +63 -0
- package/build/services/OtaErrorMapping.js.map +1 -0
- package/build/services/OtaInstallCoordinator.d.ts +26 -3
- package/build/services/OtaInstallCoordinator.d.ts.map +1 -1
- package/build/services/OtaInstallCoordinator.js +38 -13
- package/build/services/OtaInstallCoordinator.js.map +1 -1
- package/build/services/OtaService.d.ts.map +1 -1
- package/build/services/OtaService.js +1 -1
- package/build/services/OtaService.js.map +1 -1
- package/build/services/OtaUpdateCheckService.d.ts +4 -1
- package/build/services/OtaUpdateCheckService.d.ts.map +1 -1
- package/build/services/OtaUpdateCheckService.js +28 -16
- package/build/services/OtaUpdateCheckService.js.map +1 -1
- package/build/services/PhoneNotificationsSync.d.ts +13 -0
- package/build/services/PhoneNotificationsSync.d.ts.map +1 -1
- package/build/services/PhoneNotificationsSync.js +101 -9
- package/build/services/PhoneNotificationsSync.js.map +1 -1
- package/build/services/PhonePhotoCoordinator.js +1 -1
- package/build/services/PhonePhotoCoordinator.js.map +1 -1
- package/build/services/PhoneStreamCoordinator.d.ts.map +1 -1
- package/build/services/PhoneStreamCoordinator.js +9 -6
- package/build/services/PhoneStreamCoordinator.js.map +1 -1
- package/build/services/SceneRenderer.d.ts.map +1 -1
- package/build/services/SceneRenderer.js +5 -0
- package/build/services/SceneRenderer.js.map +1 -1
- package/build/services/StreamLifecycleController.d.ts +4 -0
- package/build/services/StreamLifecycleController.d.ts.map +1 -1
- package/build/services/StreamLifecycleController.js +4 -0
- package/build/services/StreamLifecycleController.js.map +1 -1
- package/build/services/asg/localNetworkTransport.d.ts.map +1 -1
- package/build/services/asg/localNetworkTransport.js +13 -12
- package/build/services/asg/localNetworkTransport.js.map +1 -1
- package/build/services/effectiveCapabilities.d.ts +1 -1
- package/build/services/effectiveCapabilities.d.ts.map +1 -1
- package/build/services/effectiveCapabilities.js +26 -7
- package/build/services/effectiveCapabilities.js.map +1 -1
- package/build/services/gestureClaims.d.ts +18 -0
- package/build/services/gestureClaims.d.ts.map +1 -0
- package/build/services/gestureClaims.js +24 -0
- package/build/services/gestureClaims.js.map +1 -0
- package/build/services/gestureDotGlyphs.d.ts +8 -0
- package/build/services/gestureDotGlyphs.d.ts.map +1 -0
- package/build/services/gestureDotGlyphs.js +13 -0
- package/build/services/gestureDotGlyphs.js.map +1 -0
- package/build/services/glassesClockSync.d.ts.map +1 -1
- package/build/services/glassesClockSync.js +5 -1
- package/build/services/glassesClockSync.js.map +1 -1
- package/build/services/iosNotificationAppCatalog.d.ts +13 -0
- package/build/services/iosNotificationAppCatalog.d.ts.map +1 -0
- package/build/services/iosNotificationAppCatalog.js +28 -0
- package/build/services/iosNotificationAppCatalog.js.map +1 -0
- package/build/services/otaDisplayState.d.ts +1 -1
- package/build/services/otaDisplayState.d.ts.map +1 -1
- package/build/services/otaDisplayState.js.map +1 -1
- package/build/services/otaInstallPolicy.d.ts +5 -1
- package/build/services/otaInstallPolicy.d.ts.map +1 -1
- package/build/services/otaInstallPolicy.js +4 -0
- package/build/services/otaInstallPolicy.js.map +1 -1
- package/build/services/otaLegacyMapping.d.ts +1 -1
- package/build/services/otaLegacyMapping.d.ts.map +1 -1
- package/build/services/otaLegacyMapping.js.map +1 -1
- package/build/services/otaManifestPolicy.d.ts +14 -0
- package/build/services/otaManifestPolicy.d.ts.map +1 -0
- package/build/services/otaManifestPolicy.js +20 -0
- package/build/services/otaManifestPolicy.js.map +1 -0
- package/build/services/otaManifestUrl.d.ts +2 -1
- package/build/services/otaManifestUrl.d.ts.map +1 -1
- package/build/services/otaManifestUrl.js +24 -32
- package/build/services/otaManifestUrl.js.map +1 -1
- package/build/services/otaReleaseVersion.d.ts +10 -0
- package/build/services/otaReleaseVersion.d.ts.map +1 -0
- package/build/services/otaReleaseVersion.js +14 -0
- package/build/services/otaReleaseVersion.js.map +1 -0
- package/build/stores/appVisibility.d.ts +3 -0
- package/build/stores/appVisibility.d.ts.map +1 -0
- package/build/stores/appVisibility.js +3 -0
- package/build/stores/appVisibility.js.map +1 -0
- package/build/stores/apps.d.ts.map +1 -1
- package/build/stores/apps.js +7 -1
- package/build/stores/apps.js.map +1 -1
- package/build/stores/core.d.ts +3 -3
- package/build/stores/core.d.ts.map +1 -1
- package/build/stores/core.js.map +1 -1
- package/build/stores/display.d.ts +4 -4
- package/build/stores/display.d.ts.map +1 -1
- package/build/stores/display.js +12 -36
- package/build/stores/display.js.map +1 -1
- package/build/stores/glasses.d.ts +10 -4
- package/build/stores/glasses.d.ts.map +1 -1
- package/build/stores/glasses.js +2 -0
- package/build/stores/glasses.js.map +1 -1
- package/build/stores/settings.d.ts.map +1 -1
- package/build/stores/settings.js +140 -5
- package/build/stores/settings.js.map +1 -1
- package/build/types/applet.d.ts +3 -1
- package/build/types/applet.d.ts.map +1 -1
- package/build/types/applet.js +0 -3
- package/build/types/applet.js.map +1 -1
- package/build/types/capabilities/even-realities-g2.d.ts.map +1 -1
- package/build/types/capabilities/even-realities-g2.js +2 -2
- package/build/types/capabilities/even-realities-g2.js.map +1 -1
- package/build/types/enums.d.ts +1 -5
- package/build/types/enums.d.ts.map +1 -1
- package/build/types/enums.js +1 -8
- package/build/types/enums.js.map +1 -1
- package/build/types/hardware.d.ts +1 -1
- package/build/types/hardware.d.ts.map +1 -1
- package/build/types/hardware.js +1 -0
- package/build/types/hardware.js.map +1 -1
- package/build/types/index.d.ts +3 -7
- package/build/types/index.d.ts.map +1 -1
- package/build/types/index.js +3 -7
- package/build/types/index.js.map +1 -1
- package/build/utils/display/composer/ColumnComposer.d.ts +1 -1
- package/build/utils/display/composer/ColumnComposer.js +1 -1
- package/build/utils/display/composer/ColumnComposer.js.map +1 -1
- package/build/utils/display/scene/process.d.ts.map +1 -1
- package/build/utils/display/scene/process.js +4 -3
- package/build/utils/display/scene/process.js.map +1 -1
- package/build/utils/display/scene/types.d.ts +6 -2
- package/build/utils/display/scene/types.d.ts.map +1 -1
- package/build/utils/display/scene/types.js.map +1 -1
- package/package.json +69 -35
- package/src/bluetooth-sdk/debug.ts +1 -0
- package/src/bluetooth-sdk/index.ts +2 -0
- package/src/bluetooth-sdk/ota-transport.ts +1 -0
- package/src/bluetooth-sdk/photo-receiver.ts +2 -0
- package/src/bluetooth-sdk/react.ts +1 -0
- package/src/bluetooth-sdk/types.ts +1 -0
- package/src/engine.ts +12 -3
- package/src/facades/display.ts +12 -2
- package/src/facades/displayMirror.ts +7 -15
- package/src/facades/glasses.ts +8 -4
- package/src/facades/ota.ts +36 -11
- package/src/facades/pairing.ts +103 -23
- package/src/facades/phoneNotifications.ts +32 -10
- package/src/facades/speakers.ts +1 -1
- package/src/facades/speech.ts +21 -7
- package/src/generated/releaseMetadata.ts +20 -0
- package/src/index.ts +31 -5
- package/src/react/MentraLiveOtaFlow.tsx +754 -0
- package/src/react/index.ts +21 -0
- package/src/react/useEngineSnapshot.ts +16 -0
- package/src/react/useMentraLiveOta.ts +793 -0
- package/src/services/AppRegistry.ts +16 -0
- package/src/services/BlobStore.ts +57 -10
- package/src/services/CustomDashboardModel.ts +83 -0
- package/src/services/CustomDashboardService.ts +544 -0
- package/src/services/DashboardCoordinator.ts +121 -0
- package/src/services/DeviceEventRouter.ts +48 -8
- package/src/services/DisplayProcessor.ts +3 -3
- package/src/services/GestureDotsService.ts +164 -0
- package/src/services/GlassesStatusProjection.ts +20 -11
- package/src/services/HotspotOtaTransport.ts +8 -7
- package/src/services/LocalDisplayManager.ts +198 -18
- package/src/services/LocalMiniappRuntime.ts +37 -0
- package/src/services/MiniappExitGesture.ts +76 -0
- package/src/services/OtaAutoChain.ts +130 -0
- package/src/services/OtaErrorMapping.ts +80 -0
- package/src/services/OtaInstallCoordinator.ts +40 -13
- package/src/services/OtaService.ts +1 -2
- package/src/services/OtaUpdateCheckService.ts +33 -19
- package/src/services/PhoneNotificationsSync.ts +125 -9
- package/src/services/PhonePhotoCoordinator.ts +1 -1
- package/src/services/PhoneStreamCoordinator.ts +10 -6
- package/src/services/SceneRenderer.ts +4 -0
- package/src/services/StreamLifecycleController.ts +4 -0
- package/src/services/asg/localNetworkTransport.ts +20 -19
- package/src/services/effectiveCapabilities.ts +27 -7
- package/src/services/gestureClaims.ts +28 -0
- package/src/services/gestureDotGlyphs.ts +15 -0
- package/src/services/glassesClockSync.ts +5 -1
- package/src/services/iosNotificationAppCatalog.ts +39 -0
- package/src/services/otaDisplayState.ts +1 -1
- package/src/services/otaInstallPolicy.ts +5 -1
- package/src/services/otaLegacyMapping.ts +1 -1
- package/src/services/otaManifestPolicy.ts +43 -0
- package/src/services/otaManifestUrl.ts +27 -36
- package/src/services/otaReleaseVersion.ts +22 -0
- package/src/stores/appVisibility.ts +3 -0
- package/src/stores/apps.ts +7 -1
- package/src/stores/core.ts +4 -4
- package/src/stores/display.ts +16 -48
- package/src/stores/glasses.ts +15 -6
- package/src/stores/settings.ts +140 -5
- package/src/types/applet.ts +3 -1
- package/src/types/capabilities/even-realities-g2.ts +3 -2
- package/src/types/enums.ts +1 -9
- package/src/types/hardware.ts +2 -1
- package/src/types/index.ts +3 -7
- package/src/utils/display/composer/ColumnComposer.ts +1 -1
- package/src/utils/display/scene/process.ts +4 -3
- package/src/utils/display/scene/types.ts +0 -0
- package/build/devtools.d.ts +0 -11
- package/build/devtools.d.ts.map +0 -1
- package/build/devtools.js +0 -13
- package/build/devtools.js.map +0 -1
- package/build/internal.d.ts +0 -67
- package/build/internal.d.ts.map +0 -1
- package/build/internal.js +0 -90
- package/build/internal.js.map +0 -1
- package/src/devtools.ts +0 -13
- package/src/internal.ts +0 -155
package/src/stores/settings.ts
CHANGED
|
@@ -3,6 +3,7 @@ import {AsyncResult, result as Res, Result} from "typesafe-ts"
|
|
|
3
3
|
import {create} from "zustand"
|
|
4
4
|
import {subscribeWithSelector} from "zustand/middleware"
|
|
5
5
|
|
|
6
|
+
import {normalizeDashboardWidgets} from "../services/CustomDashboardModel"
|
|
6
7
|
import {storage} from "../utils/storage"
|
|
7
8
|
import {getBluetoothSettingKeysForDevice} from "./bluetoothSettingKeys"
|
|
8
9
|
import {useGlassesStore} from "./glasses"
|
|
@@ -62,6 +63,13 @@ export const SETTINGS: Record<string, Setting> = {
|
|
|
62
63
|
persist: true,
|
|
63
64
|
},
|
|
64
65
|
super_mode: {key: "super_mode", defaultValue: () => false, writable: true, saveOnServer: true, persist: true},
|
|
66
|
+
appearance_menu_enabled: {
|
|
67
|
+
key: "appearance_menu_enabled",
|
|
68
|
+
defaultValue: () => false,
|
|
69
|
+
writable: true,
|
|
70
|
+
saveOnServer: true,
|
|
71
|
+
persist: true,
|
|
72
|
+
},
|
|
65
73
|
app_boot_extra_info: {
|
|
66
74
|
key: "app_boot_extra_info",
|
|
67
75
|
defaultValue: () => false,
|
|
@@ -132,6 +140,15 @@ export const SETTINGS: Record<string, Setting> = {
|
|
|
132
140
|
saveOnServer: true,
|
|
133
141
|
persist: true,
|
|
134
142
|
},
|
|
143
|
+
// Tint the glasses display mirror text with the green chart color instead of
|
|
144
|
+
// the theme foreground. Toggled from Super Settings.
|
|
145
|
+
mirror_green_text: {
|
|
146
|
+
key: "mirror_green_text",
|
|
147
|
+
defaultValue: () => true,
|
|
148
|
+
writable: true,
|
|
149
|
+
saveOnServer: true,
|
|
150
|
+
persist: true,
|
|
151
|
+
},
|
|
135
152
|
debug_navigation_history: {
|
|
136
153
|
key: "debug_navigation_history",
|
|
137
154
|
defaultValue: () => false,
|
|
@@ -640,6 +657,81 @@ export const SETTINGS: Record<string, Setting> = {
|
|
|
640
657
|
saveOnServer: true,
|
|
641
658
|
persist: true,
|
|
642
659
|
},
|
|
660
|
+
// Debug escape hatch: G2 scene rendering through the Glassly CFW
|
|
661
|
+
// direct-framebuffer path (rasterized mode-3 frames into the carrier).
|
|
662
|
+
// ON by default — the working production path on CFW glasses; OFF falls
|
|
663
|
+
// back to stock EvenHub containers for isolating renderer regressions.
|
|
664
|
+
// Synced to the Bluetooth SDK via BLUETOOTH_SETTING_KEYS; the SGC re-reads
|
|
665
|
+
// it per frame, but a glasses reconnect gives the cleanest switch.
|
|
666
|
+
// Device-local debug knob, so not saved on the server.
|
|
667
|
+
cfw_scene_renderer: {
|
|
668
|
+
key: "cfw_scene_renderer",
|
|
669
|
+
defaultValue: () => true,
|
|
670
|
+
writable: true,
|
|
671
|
+
saveOnServer: false,
|
|
672
|
+
persist: true,
|
|
673
|
+
},
|
|
674
|
+
// Master switch for the Scene API dashboard on G2 custom firmware
|
|
675
|
+
// (CustomDashboardService.isEligible). Off leaves an eligible device on the
|
|
676
|
+
// native head-up behavior. Device-local debug knob, so not saved on the
|
|
677
|
+
// server.
|
|
678
|
+
custom_dashboard_enabled: {
|
|
679
|
+
key: "custom_dashboard_enabled",
|
|
680
|
+
defaultValue: () => true,
|
|
681
|
+
writable: true,
|
|
682
|
+
saveOnServer: false,
|
|
683
|
+
persist: true,
|
|
684
|
+
},
|
|
685
|
+
// Gesture-dots debug indicator: flash a glyph on the glasses when a touch
|
|
686
|
+
// gesture is received while the display is empty. Works on any
|
|
687
|
+
// scene-capable device, not only CFW. Device-local debug knob, default off.
|
|
688
|
+
gesture_dots: {
|
|
689
|
+
key: "gesture_dots",
|
|
690
|
+
defaultValue: () => false,
|
|
691
|
+
writable: true,
|
|
692
|
+
saveOnServer: false,
|
|
693
|
+
persist: true,
|
|
694
|
+
},
|
|
695
|
+
// Device-local preferences for the Scene API dashboard available on G2
|
|
696
|
+
// custom firmware. Eligibility is firmware-reported at runtime, so there is
|
|
697
|
+
// deliberately no enable toggle: eligible devices replace the native
|
|
698
|
+
// dashboard automatically while stock firmware keeps its native dashboard.
|
|
699
|
+
custom_dashboard_clock_style: {
|
|
700
|
+
key: "custom_dashboard_clock_style",
|
|
701
|
+
defaultValue: () => "compact",
|
|
702
|
+
writable: true,
|
|
703
|
+
saveOnServer: false,
|
|
704
|
+
persist: true,
|
|
705
|
+
},
|
|
706
|
+
custom_dashboard_clock_show_date: {
|
|
707
|
+
key: "custom_dashboard_clock_show_date",
|
|
708
|
+
defaultValue: () => true,
|
|
709
|
+
writable: true,
|
|
710
|
+
saveOnServer: false,
|
|
711
|
+
persist: true,
|
|
712
|
+
},
|
|
713
|
+
// Ordered [{id, enabled}] list — the widget composition of the dashboard.
|
|
714
|
+
custom_dashboard_widgets: {
|
|
715
|
+
key: "custom_dashboard_widgets",
|
|
716
|
+
defaultValue: () => normalizeDashboardWidgets(null),
|
|
717
|
+
writable: true,
|
|
718
|
+
saveOnServer: false,
|
|
719
|
+
persist: true,
|
|
720
|
+
},
|
|
721
|
+
custom_dashboard_calendar_event_count: {
|
|
722
|
+
key: "custom_dashboard_calendar_event_count",
|
|
723
|
+
defaultValue: () => 2,
|
|
724
|
+
writable: true,
|
|
725
|
+
saveOnServer: false,
|
|
726
|
+
persist: true,
|
|
727
|
+
},
|
|
728
|
+
custom_dashboard_calendar_days_ahead: {
|
|
729
|
+
key: "custom_dashboard_calendar_days_ahead",
|
|
730
|
+
defaultValue: () => 3,
|
|
731
|
+
writable: true,
|
|
732
|
+
saveOnServer: false,
|
|
733
|
+
persist: true,
|
|
734
|
+
},
|
|
643
735
|
head_up_angle: {key: "head_up_angle", defaultValue: () => 45, writable: true, saveOnServer: true, persist: true},
|
|
644
736
|
brightness: {key: "brightness", defaultValue: () => 50, writable: true, saveOnServer: true, persist: true},
|
|
645
737
|
auto_brightness: {
|
|
@@ -818,6 +910,47 @@ export const SETTINGS: Record<string, Setting> = {
|
|
|
818
910
|
saveOnServer: true,
|
|
819
911
|
persist: true,
|
|
820
912
|
},
|
|
913
|
+
// iOS: apps observed posting notifications, reported by the glasses' ANCS
|
|
914
|
+
// client ({appId, displayName, lastSeen}[]). Backs the filter UI, since iOS
|
|
915
|
+
// has no installed-apps enumeration. Device-local by design.
|
|
916
|
+
ios_notification_seen_apps: {
|
|
917
|
+
key: "ios_notification_seen_apps",
|
|
918
|
+
defaultValue: () => [],
|
|
919
|
+
writable: true,
|
|
920
|
+
saveOnServer: false,
|
|
921
|
+
persist: true,
|
|
922
|
+
},
|
|
923
|
+
// G2 on-glass notification display behavior (NotificationControl):
|
|
924
|
+
g2_notifications_enabled: {
|
|
925
|
+
key: "g2_notifications_enabled",
|
|
926
|
+
defaultValue: () => true,
|
|
927
|
+
writable: true,
|
|
928
|
+
saveOnServer: true,
|
|
929
|
+
persist: true,
|
|
930
|
+
},
|
|
931
|
+
g2_notification_auto_display: {
|
|
932
|
+
key: "g2_notification_auto_display",
|
|
933
|
+
defaultValue: () => true,
|
|
934
|
+
writable: true,
|
|
935
|
+
saveOnServer: true,
|
|
936
|
+
persist: true,
|
|
937
|
+
},
|
|
938
|
+
// Popup duration in seconds; firmware accepts 0 (default), 5, 7, 10.
|
|
939
|
+
g2_notification_disp_time: {
|
|
940
|
+
key: "g2_notification_disp_time",
|
|
941
|
+
defaultValue: () => 5,
|
|
942
|
+
writable: true,
|
|
943
|
+
saveOnServer: true,
|
|
944
|
+
persist: true,
|
|
945
|
+
},
|
|
946
|
+
// Suppress popups while another on-glass feature (navigation, teleprompter) is active.
|
|
947
|
+
g2_notification_avoid_disturb: {
|
|
948
|
+
key: "g2_notification_avoid_disturb",
|
|
949
|
+
defaultValue: () => true,
|
|
950
|
+
writable: true,
|
|
951
|
+
saveOnServer: true,
|
|
952
|
+
persist: true,
|
|
953
|
+
},
|
|
821
954
|
// Cached required version from server - used to enforce updates even when offline
|
|
822
955
|
cached_required_version: {
|
|
823
956
|
key: "cached_required_version",
|
|
@@ -859,8 +992,8 @@ export const BLUETOOTH_SETTING_KEYS: string[] = [
|
|
|
859
992
|
SETTINGS.screen_disabled.key,
|
|
860
993
|
SETTINGS.auth_email.key,
|
|
861
994
|
SETTINGS.core_token.key,
|
|
862
|
-
// glasses settings
|
|
863
|
-
|
|
995
|
+
// glasses settings (contextual_dashboard is phone-side policy now — native
|
|
996
|
+
// no longer reads it):
|
|
864
997
|
SETTINGS.head_up_angle.key,
|
|
865
998
|
SETTINGS.brightness.key,
|
|
866
999
|
SETTINGS.auto_brightness.key,
|
|
@@ -868,7 +1001,9 @@ export const BLUETOOTH_SETTING_KEYS: string[] = [
|
|
|
868
1001
|
SETTINGS.dashboard_depth.key,
|
|
869
1002
|
SETTINGS.menu_apps.key,
|
|
870
1003
|
SETTINGS.calendar_events.key,
|
|
1004
|
+
// G2 native reads this to gate rendering while the ER firmware dashboard is open.
|
|
871
1005
|
SETTINGS.use_native_dashboard.key,
|
|
1006
|
+
SETTINGS.cfw_scene_renderer.key,
|
|
872
1007
|
SETTINGS.twelve_hour_time.key,
|
|
873
1008
|
SETTINGS.metric_system.key,
|
|
874
1009
|
// button:
|
|
@@ -1139,9 +1274,9 @@ export const useSettingsStore = create<SettingsState>()(
|
|
|
1139
1274
|
// easy to get backwards. TestFlight and the App Store receive the SAME
|
|
1140
1275
|
// binary, so promotion does not change EXPO_PUBLIC_BUILD_ENV and this
|
|
1141
1276
|
// reset never fires on it. Promotion is safe for a different reason:
|
|
1142
|
-
// the publishing lane bakes
|
|
1143
|
-
//
|
|
1144
|
-
//
|
|
1277
|
+
// the publishing lane bakes the selected release cloud environment, and
|
|
1278
|
+
// production promotes the already-tested binary. The same holds for
|
|
1279
|
+
// Android beta-track to production.
|
|
1145
1280
|
//
|
|
1146
1281
|
// The residual gap is therefore an override pinned while already on a
|
|
1147
1282
|
// prod-labelled build, which no label comparison can see. That is a
|
package/src/types/applet.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import type {ReactNode} from "react"
|
|
1
2
|
/**
|
|
2
|
-
* App
|
|
3
|
+
* App and miniapp types owned by @glassly/engine.
|
|
3
4
|
*/
|
|
4
5
|
|
|
5
6
|
|
|
@@ -50,6 +51,7 @@ export interface AppletInterface {
|
|
|
50
51
|
name: string
|
|
51
52
|
webviewUrl: string
|
|
52
53
|
logoUrl: string
|
|
54
|
+
iconComponent?: ReactNode
|
|
53
55
|
type: AppletType
|
|
54
56
|
permissions: AppletPermission[]
|
|
55
57
|
running: boolean
|
|
@@ -85,6 +85,9 @@ export const evenRealitiesG2: Capabilities = {
|
|
|
85
85
|
// WiFi capabilities - G2 does not support WiFi
|
|
86
86
|
hasWifi: false,
|
|
87
87
|
|
|
88
|
+
// OTA capabilities - G2 firmware updates are not driven by the ASG OTA flow
|
|
89
|
+
hasOta: false,
|
|
90
|
+
|
|
88
91
|
// Dashboard - G2 renders Even Realities' native dashboard in firmware, so
|
|
89
92
|
// Glassly does not manage the dashboard or expose dashboard settings for it
|
|
90
93
|
hasNativeDashboard: true,
|
|
@@ -93,6 +96,4 @@ export const evenRealitiesG2: Capabilities = {
|
|
|
93
96
|
// 576×188 overview map); magnetometer streams only while it is active
|
|
94
97
|
hasNativeNavigation: true,
|
|
95
98
|
|
|
96
|
-
// OTA capabilities - G2 firmware updates are not driven by the ASG OTA flow
|
|
97
|
-
hasOta: false,
|
|
98
99
|
}
|
package/src/types/enums.ts
CHANGED
|
@@ -1,12 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* Shared enums for Glassly
|
|
3
|
-
* These are runtime values (not pure types)
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
// Hardware requirement enums — canonical defs live in @glassly/miniapp
|
|
7
|
-
// (src/hardware.ts); re-exported here so engine-internal code and app code
|
|
8
|
-
// importing from @glassly/engine keep a single source of truth.
|
|
9
|
-
export {HardwareType, HardwareRequirementLevel} from "@glassly/miniapp"
|
|
1
|
+
export {HardwareType, HardwareRequirementLevel} from "@glassly/miniapp/hardware"
|
|
10
2
|
|
|
11
3
|
export enum DeviceTypes {
|
|
12
4
|
NONE = "None",
|
package/src/types/hardware.ts
CHANGED
|
@@ -13,7 +13,7 @@ import {none} from "./capabilities/none"
|
|
|
13
13
|
import {DeviceTypes} from "./enums"
|
|
14
14
|
|
|
15
15
|
// Canonical def lives in @glassly/miniapp; re-exported for engine consumers.
|
|
16
|
-
export type {HardwareRequirement} from "@glassly/miniapp"
|
|
16
|
+
export type {HardwareRequirement} from "@glassly/miniapp/hardware"
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
19
|
* Camera capabilities
|
|
@@ -189,6 +189,7 @@ export const HARDWARE_CAPABILITIES: Record<string, Capabilities> = {
|
|
|
189
189
|
[mentraLive.modelName]: mentraLive,
|
|
190
190
|
[simulatedGlasses.modelName]: simulatedGlasses,
|
|
191
191
|
[vuzixZ100.modelName]: vuzixZ100,
|
|
192
|
+
[nimo.modelName]: nimo,
|
|
192
193
|
[DeviceTypes.MACH1]: vuzixZ100, // Mach1 uses same Vuzix Ultralite hardware as Z100
|
|
193
194
|
[nimo.modelName]: nimo,
|
|
194
195
|
[DeviceTypes.AR99]: {
|
package/src/types/index.ts
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
*
|
|
3
|
-
* HardwareRequirementLevel, HardwareRequirement) are canonical in
|
|
4
|
-
* @glassly/miniapp and re-exported here; the rest (DeviceTypes, capability
|
|
5
|
-
* profiles under ./capabilities/, applet types) are engine-owned.
|
|
6
|
-
*/
|
|
1
|
+
/** Engine capability types and profiles. Miniapp manifest requirement types
|
|
2
|
+
* are re-exported from @glassly/miniapp, their canonical owner. */
|
|
7
3
|
|
|
8
4
|
// Enums (runtime values)
|
|
9
5
|
export {HardwareType, HardwareRequirementLevel, DeviceTypes, ControllerTypes} from "./enums"
|
|
@@ -29,9 +25,9 @@ export {
|
|
|
29
25
|
evenRealitiesG1,
|
|
30
26
|
evenRealitiesG2,
|
|
31
27
|
mentraLive,
|
|
28
|
+
nimo,
|
|
32
29
|
vuzixZ100,
|
|
33
30
|
mentraDisplay,
|
|
34
|
-
nimo,
|
|
35
31
|
} from "./hardware"
|
|
36
32
|
|
|
37
33
|
// Applet types
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* 2. Merges columns line-by-line with pixel-precise space padding
|
|
12
12
|
* 3. Returns a single pre-composed string ready for native to chunk & send
|
|
13
13
|
*
|
|
14
|
-
* @see
|
|
14
|
+
* @see notes/miniapp-display-api-redesign.md for the current display design
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import type {DisplayProfile} from "../profiles/types"
|
|
@@ -177,9 +177,10 @@ export function processScene(
|
|
|
177
177
|
// Height clipping only applies with a CALIBRATED line height — otherwise
|
|
178
178
|
// the firmware clips vertically in-box (legacy behavior).
|
|
179
179
|
const style: SceneTextStyle = el.style ?? {}
|
|
180
|
-
if (style.font === "mono") {
|
|
181
|
-
// Grid text is laid out by the app (cols × rows)
|
|
182
|
-
//
|
|
180
|
+
if (style.font === "mono" || style.font === "builtin") {
|
|
181
|
+
// Grid text is laid out by the app (cols × rows) and builtin text by the
|
|
182
|
+
// glasses' own font engine; the host's proportional wrap metrics don't
|
|
183
|
+
// apply to either. Pass lines through and let the device clip.
|
|
183
184
|
const monoText = el.text ?? ""
|
|
184
185
|
out.push({
|
|
185
186
|
id: el.id,
|
|
Binary file
|
package/build/devtools.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `@glassly/engine/devtools` — the devtools-only surface.
|
|
3
|
-
*
|
|
4
|
-
* Debug/diagnostic singletons consumed by the Glassly app's internal dev
|
|
5
|
-
* screens (stress test, miniapp dev-server tooling). Never import this from
|
|
6
|
-
* product UI or host services; every `/devtools` import in mobile/src is
|
|
7
|
-
* counted (report-only) by scripts/check-mobile-runtime-boundary.sh.
|
|
8
|
-
*/
|
|
9
|
-
export { miniappRunningRegistry } from "./services/MiniappRunningRegistry";
|
|
10
|
-
export { default as devServerBridge } from "./services/DevServerBridge";
|
|
11
|
-
//# sourceMappingURL=devtools.d.ts.map
|
package/build/devtools.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../src/devtools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAC,sBAAsB,EAAC,MAAM,mCAAmC,CAAA;AAExE,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,4BAA4B,CAAA"}
|
package/build/devtools.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `@glassly/engine/devtools` — the devtools-only surface.
|
|
3
|
-
*
|
|
4
|
-
* Debug/diagnostic singletons consumed by the Glassly app's internal dev
|
|
5
|
-
* screens (stress test, miniapp dev-server tooling). Never import this from
|
|
6
|
-
* product UI or host services; every `/devtools` import in mobile/src is
|
|
7
|
-
* counted (report-only) by scripts/check-mobile-runtime-boundary.sh.
|
|
8
|
-
*/
|
|
9
|
-
// Which miniapps the local runtime currently has running (stress-test screen).
|
|
10
|
-
export { miniappRunningRegistry } from "./services/MiniappRunningRegistry";
|
|
11
|
-
// Dev-server connection bridge for live-reloading local miniapps.
|
|
12
|
-
export { default as devServerBridge } from "./services/DevServerBridge";
|
|
13
|
-
//# sourceMappingURL=devtools.js.map
|
package/build/devtools.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"devtools.js","sourceRoot":"","sources":["../src/devtools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,+EAA+E;AAC/E,OAAO,EAAC,sBAAsB,EAAC,MAAM,mCAAmC,CAAA;AACxE,kEAAkE;AAClE,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,4BAA4B,CAAA","sourcesContent":["/**\n * `@glassly/engine/devtools` — the devtools-only surface.\n *\n * Debug/diagnostic singletons consumed by the Glassly app's internal dev\n * screens (stress test, miniapp dev-server tooling). Never import this from\n * product UI or host services; every `/devtools` import in mobile/src is\n * counted (report-only) by scripts/check-mobile-runtime-boundary.sh.\n */\n\n// Which miniapps the local runtime currently has running (stress-test screen).\nexport {miniappRunningRegistry} from \"./services/MiniappRunningRegistry\"\n// Dev-server connection bridge for live-reloading local miniapps.\nexport {default as devServerBridge} from \"./services/DevServerBridge\"\n"]}
|
package/build/internal.d.ts
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `@glassly/engine/internal` — the migration-era runtime surface.
|
|
3
|
-
*
|
|
4
|
-
* Raw zustand stores and service singletons that the Glassly app's host-side
|
|
5
|
-
* services (and the `@/stores/*` / `@/utils/*` shims) still reach into while
|
|
6
|
-
* the typed `engine` facades grow. Everything here either mutates runtime
|
|
7
|
-
* state or exposes a store/service directly, so none of it belongs on the
|
|
8
|
-
* OEM-facing `@glassly/engine` main entry: new host code should read/act
|
|
9
|
-
* through `engine.*` instead.
|
|
10
|
-
*
|
|
11
|
-
* Every `/internal` import in mobile/src is counted (report-only) by
|
|
12
|
-
* scripts/check-mobile-runtime-boundary.sh; the burn-down plan is
|
|
13
|
-
* cloud-v2/docs/issues/020-glasses-status-boundary/integration-review.md §D.
|
|
14
|
-
* Types that only describe these internal surfaces live here with them;
|
|
15
|
-
* types host UI renders with stay on the main entry.
|
|
16
|
-
*/
|
|
17
|
-
export { default as webviewBridge } from "./services/WebviewBridge";
|
|
18
|
-
export { default as appRegistry, normalizeManifestPermissions, normalizeManifestActions, buildHardwareRequirements, saveLocalAppRunningState, deriveDevPackageId, registerDevApp, unregisterDevApp, getDevAppRecords, getDevAppSourcePackage, getDevAppAttestation, DEV_APP_PACKAGE_NAME, type DevAppRecord, type MiniappReleaseIdentity, } from "./services/AppRegistry";
|
|
19
|
-
export { default as displayProcessor } from "./services/DisplayProcessor";
|
|
20
|
-
export { default as localDisplayManager, type DisplayPayload } from "./services/LocalDisplayManager";
|
|
21
|
-
export { default as localMiniappRuntime, type InstalledMiniappManifest } from "./services/LocalMiniappRuntime";
|
|
22
|
-
export { miniappLauncher, type LaunchHints, type LaunchResult, type ResolvedBundle } from "./services/MiniappLauncher";
|
|
23
|
-
export { JSRouter, type JSCrustBinding, type OutboundMessagePayload as JSOutboundMessage, type RouterLogger as JSRouterLogger, } from "./services/JSRouter";
|
|
24
|
-
export { buildUiShim, type UiShimOptions } from "./services/uiShim";
|
|
25
|
-
export { UIRouter, type UICrustBinding } from "./services/UIRouter";
|
|
26
|
-
export { JSCrashController, type CrashState, type CrashOutcome, type CrashControllerOptions, } from "./services/JSCrashController";
|
|
27
|
-
export { ensureMiniappEngine, getMiniappEngine, type MiniappEngine } from "./services/MiniappEngine";
|
|
28
|
-
export { redactSecrets, JSLogThrottle, JSLogRingBuffer, type ThrottleOptions } from "./services/JSLogPipeline";
|
|
29
|
-
export { buildMiniappGlobalsScript, getCapsuleMenuRect, type BuildMiniappGlobalsOptions, type CapsuleMenuRect, type MiniappColorScheme, type MiniappSafeArea, } from "./utils/miniappGlobals";
|
|
30
|
-
export { default as localSttFallbackCoordinator } from "./services/LocalSttFallbackCoordinator";
|
|
31
|
-
export { default as micStateCoordinator } from "./services/MicStateCoordinator";
|
|
32
|
-
export { default as audioPlaybackService } from "./services/AudioPlaybackService";
|
|
33
|
-
export { default as sttModelManager, STTModelManager, type LanguageInfo as SttLanguageInfo, type LanguageConfig as SttLanguageConfig, type DownloadProgress as SttDownloadProgress, type ExtractionProgress as SttExtractionProgress, } from "./services/STTModelManager";
|
|
34
|
-
export { default as ttsModelManager, TTSModelManager } from "./services/TTSModelManager";
|
|
35
|
-
export { default as offlineSpeechModelService, type DownloadStatus as OfflineModelDownloadStatus, type DownloadStage as OfflineModelDownloadStage, } from "./services/OfflineSpeechModelService";
|
|
36
|
-
export { default as navigationService } from "./services/NavigationService";
|
|
37
|
-
export { phoneLocationService, stopPhoneLocation } from "./services/PhoneLocationService";
|
|
38
|
-
export { fixGlassesClockIfSkewed, maybeFixGlassesClockFromVersionInfo } from "./services/glassesClockSync";
|
|
39
|
-
export { resolveOtaManifestUrl } from "./services/otaManifestUrl";
|
|
40
|
-
export { fetchVersionInfo, checkVersionUpdateAvailable, getLatestVersionInfo, findMatchingMtkPatch, checkBesUpdate, checkForOtaUpdate, checkCurrentGlassesForUpdate, } from "./services/OtaUpdateCheckService";
|
|
41
|
-
export { detectClockSkew, isSyncManifestEmpty, CLOCK_SKEW_TOLERANCE_MS } from "./services/gallerySyncClock";
|
|
42
|
-
export { gallerySyncService } from "./services/asg/gallerySyncService";
|
|
43
|
-
export { asgCameraApi } from "./services/asg/asgCameraApi";
|
|
44
|
-
export { localStorageService } from "./services/asg/localStorageService";
|
|
45
|
-
export { mediaProcessingQueue } from "./services/asg/mediaProcessingQueue";
|
|
46
|
-
export { gallerySettingsService } from "./services/asg/gallerySettingsService";
|
|
47
|
-
export { cameraRollExportCoordinator, type CameraRollExportSummary } from "./services/asg/cameraRollExportCoordinator";
|
|
48
|
-
export { INVALID_DOWNLOADED_MEDIA, validateCaptureMetadataForDownload, validateDownloadedMediaFile, } from "./services/asg/galleryMediaValidation";
|
|
49
|
-
export { emitGalleryNotice, onGalleryNotice } from "./services/asg/galleryNotices";
|
|
50
|
-
export { phonePhotoCoordinator } from "./services/PhonePhotoCoordinator";
|
|
51
|
-
export { phoneStreamCoordinator } from "./services/PhoneStreamCoordinator";
|
|
52
|
-
export { useDisplayStore, flushDisplayCoalesceForTests } from "./stores/display";
|
|
53
|
-
export { useCoreStore } from "./stores/core";
|
|
54
|
-
export { useConnectionStore } from "./stores/connection";
|
|
55
|
-
export { useCloudClientStatusStore } from "./stores/cloudClientStatus";
|
|
56
|
-
export type { RuntimeAudioTransport, RuntimeSnapshot, RuntimeStatus } from "./stores/cloudClientStatus";
|
|
57
|
-
export { SETTINGS, OFFLINE_APPLETS, useSettingsStore, useSetting } from "./stores/settings";
|
|
58
|
-
export { MENTRA_LIVE_SETTING_KEYS, getBluetoothSettingKeysForDevice } from "./stores/bluetoothSettingKeys";
|
|
59
|
-
export { useAppStatusStore, installAppStoreHooks, type AppStoreHooks } from "./stores/apps";
|
|
60
|
-
export { cloudSecureStore } from "./utils/cloudClient/cloudSecureStore";
|
|
61
|
-
export { cloudClientService } from "./services/CloudClientService";
|
|
62
|
-
export { createCloudUdpSocket } from "./utils/cloudClient/RnUdpAdapter";
|
|
63
|
-
export { logBuffer, type LogEntry } from "./utils/devLogging";
|
|
64
|
-
export { default as BluetoothSdk } from "@glassly/bluetooth-sdk/internal";
|
|
65
|
-
export { storage, printDirectory } from "./utils/storage";
|
|
66
|
-
export { default as GlobalEventEmitter } from "./utils/GlobalEventEmitter";
|
|
67
|
-
//# sourceMappingURL=internal.d.ts.map
|
package/build/internal.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"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"}
|
package/build/internal.js
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `@glassly/engine/internal` — the migration-era runtime surface.
|
|
3
|
-
*
|
|
4
|
-
* Raw zustand stores and service singletons that the Glassly app's host-side
|
|
5
|
-
* services (and the `@/stores/*` / `@/utils/*` shims) still reach into while
|
|
6
|
-
* the typed `engine` facades grow. Everything here either mutates runtime
|
|
7
|
-
* state or exposes a store/service directly, so none of it belongs on the
|
|
8
|
-
* OEM-facing `@glassly/engine` main entry: new host code should read/act
|
|
9
|
-
* through `engine.*` instead.
|
|
10
|
-
*
|
|
11
|
-
* Every `/internal` import in mobile/src is counted (report-only) by
|
|
12
|
-
* scripts/check-mobile-runtime-boundary.sh; the burn-down plan is
|
|
13
|
-
* cloud-v2/docs/issues/020-glasses-status-boundary/integration-review.md §D.
|
|
14
|
-
* Types that only describe these internal surfaces live here with them;
|
|
15
|
-
* types host UI renders with stay on the main entry.
|
|
16
|
-
*/
|
|
17
|
-
// Miniapp runtime plumbing: WebView bridge, registry, launcher, engine.
|
|
18
|
-
export { default as webviewBridge } from "./services/WebviewBridge";
|
|
19
|
-
export { default as appRegistry, normalizeManifestPermissions, normalizeManifestActions, buildHardwareRequirements, saveLocalAppRunningState, deriveDevPackageId, registerDevApp, unregisterDevApp, getDevAppRecords, getDevAppSourcePackage, getDevAppAttestation, DEV_APP_PACKAGE_NAME, } from "./services/AppRegistry";
|
|
20
|
-
export { default as displayProcessor } from "./services/DisplayProcessor";
|
|
21
|
-
export { default as localDisplayManager } from "./services/LocalDisplayManager";
|
|
22
|
-
export { default as localMiniappRuntime } from "./services/LocalMiniappRuntime";
|
|
23
|
-
export { miniappLauncher } from "./services/MiniappLauncher";
|
|
24
|
-
export { JSRouter, } from "./services/JSRouter";
|
|
25
|
-
export { buildUiShim } from "./services/uiShim";
|
|
26
|
-
export { UIRouter } from "./services/UIRouter";
|
|
27
|
-
export { JSCrashController, } from "./services/JSCrashController";
|
|
28
|
-
export { ensureMiniappEngine, getMiniappEngine } from "./services/MiniappEngine";
|
|
29
|
-
export { redactSecrets, JSLogThrottle, JSLogRingBuffer } from "./services/JSLogPipeline";
|
|
30
|
-
// WebView-injection script builders (miniapp globals + glassly-ui shim).
|
|
31
|
-
export { buildMiniappGlobalsScript, getCapsuleMenuRect, } from "./utils/miniappGlobals";
|
|
32
|
-
// Speech/audio coordinators and model managers.
|
|
33
|
-
export { default as localSttFallbackCoordinator } from "./services/LocalSttFallbackCoordinator";
|
|
34
|
-
export { default as micStateCoordinator } from "./services/MicStateCoordinator";
|
|
35
|
-
export { default as audioPlaybackService } from "./services/AudioPlaybackService";
|
|
36
|
-
export { default as sttModelManager, STTModelManager, } from "./services/STTModelManager";
|
|
37
|
-
export { default as ttsModelManager, TTSModelManager } from "./services/TTSModelManager";
|
|
38
|
-
export { default as offlineSpeechModelService, } from "./services/OfflineSpeechModelService";
|
|
39
|
-
export { default as navigationService } from "./services/NavigationService";
|
|
40
|
-
// Phone GPS — the background location task + tier control. Importing this
|
|
41
|
-
// module registers the background task, so the entry that MantleManager loads
|
|
42
|
-
// must keep re-exporting it (was: the main barrel).
|
|
43
|
-
export { phoneLocationService, stopPhoneLocation } from "./services/PhoneLocationService";
|
|
44
|
-
// Clock-skew fix commands (BLE writes) used by OTA + gallery sync.
|
|
45
|
-
export { fixGlassesClockIfSkewed, maybeFixGlassesClockFromVersionInfo } from "./services/glassesClockSync";
|
|
46
|
-
// OTA manifest-URL resolution (dev-override/legacy-build/env/prod).
|
|
47
|
-
export { resolveOtaManifestUrl } from "./services/otaManifestUrl";
|
|
48
|
-
// Flat OTA check helpers (network + BLE state). Host usage is a tracked
|
|
49
|
-
// burn-down surface (§F); the sanctioned path is engine.ota.checkForUpdates().
|
|
50
|
-
export { fetchVersionInfo, checkVersionUpdateAvailable, getLatestVersionInfo, findMatchingMtkPatch, checkBesUpdate, checkForOtaUpdate, checkCurrentGlassesForUpdate, } from "./services/OtaUpdateCheckService";
|
|
51
|
-
// Gallery cluster — sync orchestrator, glasses-camera HTTP API, media/storage,
|
|
52
|
-
// settings, validation and the service-to-service notice bus. Host gallery UI
|
|
53
|
-
// renders engine.gallery; these are the underlying services.
|
|
54
|
-
export { detectClockSkew, isSyncManifestEmpty, CLOCK_SKEW_TOLERANCE_MS } from "./services/gallerySyncClock";
|
|
55
|
-
export { gallerySyncService } from "./services/asg/gallerySyncService";
|
|
56
|
-
export { asgCameraApi } from "./services/asg/asgCameraApi";
|
|
57
|
-
export { localStorageService } from "./services/asg/localStorageService";
|
|
58
|
-
export { mediaProcessingQueue } from "./services/asg/mediaProcessingQueue";
|
|
59
|
-
export { gallerySettingsService } from "./services/asg/gallerySettingsService";
|
|
60
|
-
export { cameraRollExportCoordinator } from "./services/asg/cameraRollExportCoordinator";
|
|
61
|
-
export { INVALID_DOWNLOADED_MEDIA, validateCaptureMetadataForDownload, validateDownloadedMediaFile, } from "./services/asg/galleryMediaValidation";
|
|
62
|
-
export { emitGalleryNotice, onGalleryNotice } from "./services/asg/galleryNotices";
|
|
63
|
-
// Phone-side capture coordinators.
|
|
64
|
-
export { phonePhotoCoordinator } from "./services/PhonePhotoCoordinator";
|
|
65
|
-
export { phoneStreamCoordinator } from "./services/PhoneStreamCoordinator";
|
|
66
|
-
// Raw runtime stores (re-exported via the host @/stores/* shims). Read models
|
|
67
|
-
// live on the engine facades; these are the migration escape hatch.
|
|
68
|
-
export { useDisplayStore, flushDisplayCoalesceForTests } from "./stores/display";
|
|
69
|
-
export { useCoreStore } from "./stores/core";
|
|
70
|
-
export { useConnectionStore } from "./stores/connection";
|
|
71
|
-
export { useCloudClientStatusStore } from "./stores/cloudClientStatus";
|
|
72
|
-
export { SETTINGS, OFFLINE_APPLETS, useSettingsStore, useSetting } from "./stores/settings";
|
|
73
|
-
export { MENTRA_LIVE_SETTING_KEYS, getBluetoothSettingKeysForDevice } from "./stores/bluetoothSettingKeys";
|
|
74
|
-
export { useAppStatusStore, installAppStoreHooks } from "./stores/apps";
|
|
75
|
-
// Cloud client + credentials + v1 comms.
|
|
76
|
-
export { cloudSecureStore } from "./utils/cloudClient/cloudSecureStore";
|
|
77
|
-
export { cloudClientService } from "./services/CloudClientService";
|
|
78
|
-
export { createCloudUdpSocket } from "./utils/cloudClient/RnUdpAdapter";
|
|
79
|
-
// Log ring buffer + console interception (bug-report attachments).
|
|
80
|
-
export { logBuffer } from "./utils/devLogging";
|
|
81
|
-
// Bluetooth SDK internal compatibility passthrough. Prefer an engine facade
|
|
82
|
-
// when one exists; this remains an escape hatch for app-only compatibility
|
|
83
|
-
// needs (its event TYPES stay on the main entry).
|
|
84
|
-
export { default as BluetoothSdk } from "@glassly/bluetooth-sdk/internal";
|
|
85
|
-
// Engine-owned MMKV instance + debug helper.
|
|
86
|
-
export { storage, printDirectory } from "./utils/storage";
|
|
87
|
-
// Process-wide event bus — one shared instance for engine services + host
|
|
88
|
-
// (re-exported via the @/utils/GlobalEventEmitter shim).
|
|
89
|
-
export { default as GlobalEventEmitter } from "./utils/GlobalEventEmitter";
|
|
90
|
-
//# sourceMappingURL=internal.js.map
|
package/build/internal.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * `@glassly/engine/internal` — the migration-era runtime surface.\n *\n * Raw zustand stores and service singletons that the Glassly app's host-side\n * services (and the `@/stores/*` / `@/utils/*` shims) still reach into while\n * the typed `engine` facades grow. Everything here either mutates runtime\n * state or exposes a store/service directly, so none of it belongs on the\n * OEM-facing `@glassly/engine` main entry: new host code should read/act\n * through `engine.*` instead.\n *\n * Every `/internal` import in mobile/src is counted (report-only) by\n * scripts/check-mobile-runtime-boundary.sh; the burn-down plan is\n * cloud-v2/docs/issues/020-glasses-status-boundary/integration-review.md §D.\n * Types that only describe these internal surfaces live here with them;\n * types host UI renders with stay on the main entry.\n */\n\n// Miniapp runtime plumbing: WebView bridge, registry, launcher, engine.\nexport {default as webviewBridge} from \"./services/WebviewBridge\"\nexport {\n default as appRegistry,\n normalizeManifestPermissions,\n normalizeManifestActions,\n buildHardwareRequirements,\n saveLocalAppRunningState,\n deriveDevPackageId,\n registerDevApp,\n unregisterDevApp,\n getDevAppRecords,\n getDevAppSourcePackage,\n getDevAppAttestation,\n DEV_APP_PACKAGE_NAME,\n type DevAppRecord,\n type MiniappReleaseIdentity,\n} from \"./services/AppRegistry\"\nexport {default as displayProcessor} from \"./services/DisplayProcessor\"\nexport {default as localDisplayManager, type DisplayPayload} from \"./services/LocalDisplayManager\"\nexport {default as localMiniappRuntime, type InstalledMiniappManifest} from \"./services/LocalMiniappRuntime\"\nexport {miniappLauncher, type LaunchHints, type LaunchResult, type ResolvedBundle} from \"./services/MiniappLauncher\"\nexport {\n JSRouter,\n type JSCrustBinding,\n type OutboundMessagePayload as JSOutboundMessage,\n type RouterLogger as JSRouterLogger,\n} from \"./services/JSRouter\"\nexport {buildUiShim, type UiShimOptions} from \"./services/uiShim\"\nexport {UIRouter, type UICrustBinding} from \"./services/UIRouter\"\nexport {\n JSCrashController,\n type CrashState,\n type CrashOutcome,\n type CrashControllerOptions,\n} from \"./services/JSCrashController\"\nexport {ensureMiniappEngine, getMiniappEngine, type MiniappEngine} from \"./services/MiniappEngine\"\nexport {redactSecrets, JSLogThrottle, JSLogRingBuffer, type ThrottleOptions} from \"./services/JSLogPipeline\"\n// WebView-injection script builders (miniapp globals + glassly-ui shim).\nexport {\n buildMiniappGlobalsScript,\n getCapsuleMenuRect,\n type BuildMiniappGlobalsOptions,\n type CapsuleMenuRect,\n type MiniappColorScheme,\n type MiniappSafeArea,\n} from \"./utils/miniappGlobals\"\n\n// Speech/audio coordinators and model managers.\nexport {default as localSttFallbackCoordinator} from \"./services/LocalSttFallbackCoordinator\"\nexport {default as micStateCoordinator} from \"./services/MicStateCoordinator\"\nexport {default as audioPlaybackService} from \"./services/AudioPlaybackService\"\nexport {\n default as sttModelManager,\n STTModelManager,\n type LanguageInfo as SttLanguageInfo,\n type LanguageConfig as SttLanguageConfig,\n type DownloadProgress as SttDownloadProgress,\n type ExtractionProgress as SttExtractionProgress,\n} from \"./services/STTModelManager\"\nexport {default as ttsModelManager, TTSModelManager} from \"./services/TTSModelManager\"\nexport {\n default as offlineSpeechModelService,\n type DownloadStatus as OfflineModelDownloadStatus,\n type DownloadStage as OfflineModelDownloadStage,\n} from \"./services/OfflineSpeechModelService\"\n\nexport {default as navigationService} from \"./services/NavigationService\"\n// Phone GPS — the background location task + tier control. Importing this\n// module registers the background task, so the entry that MantleManager loads\n// must keep re-exporting it (was: the main barrel).\nexport {phoneLocationService, stopPhoneLocation} from \"./services/PhoneLocationService\"\n// Clock-skew fix commands (BLE writes) used by OTA + gallery sync.\nexport {fixGlassesClockIfSkewed, maybeFixGlassesClockFromVersionInfo} from \"./services/glassesClockSync\"\n// OTA manifest-URL resolution (dev-override/legacy-build/env/prod).\nexport {resolveOtaManifestUrl} from \"./services/otaManifestUrl\"\n// Flat OTA check helpers (network + BLE state). Host usage is a tracked\n// burn-down surface (§F); the sanctioned path is engine.ota.checkForUpdates().\nexport {\n fetchVersionInfo,\n checkVersionUpdateAvailable,\n getLatestVersionInfo,\n findMatchingMtkPatch,\n checkBesUpdate,\n checkForOtaUpdate,\n checkCurrentGlassesForUpdate,\n} from \"./services/OtaUpdateCheckService\"\n\n// Gallery cluster — sync orchestrator, glasses-camera HTTP API, media/storage,\n// settings, validation and the service-to-service notice bus. Host gallery UI\n// renders engine.gallery; these are the underlying services.\nexport {detectClockSkew, isSyncManifestEmpty, CLOCK_SKEW_TOLERANCE_MS} from \"./services/gallerySyncClock\"\nexport {gallerySyncService} from \"./services/asg/gallerySyncService\"\nexport {asgCameraApi} from \"./services/asg/asgCameraApi\"\nexport {localStorageService} from \"./services/asg/localStorageService\"\nexport {mediaProcessingQueue} from \"./services/asg/mediaProcessingQueue\"\nexport {gallerySettingsService} from \"./services/asg/gallerySettingsService\"\nexport {cameraRollExportCoordinator, type CameraRollExportSummary} from \"./services/asg/cameraRollExportCoordinator\"\nexport {\n INVALID_DOWNLOADED_MEDIA,\n validateCaptureMetadataForDownload,\n validateDownloadedMediaFile,\n} from \"./services/asg/galleryMediaValidation\"\nexport {emitGalleryNotice, onGalleryNotice} from \"./services/asg/galleryNotices\"\n\n// Phone-side capture coordinators.\nexport {phonePhotoCoordinator} from \"./services/PhonePhotoCoordinator\"\nexport {phoneStreamCoordinator} from \"./services/PhoneStreamCoordinator\"\n\n// Raw runtime stores (re-exported via the host @/stores/* shims). Read models\n// live on the engine facades; these are the migration escape hatch.\nexport {useDisplayStore, flushDisplayCoalesceForTests} from \"./stores/display\"\nexport {useCoreStore} from \"./stores/core\"\nexport {useConnectionStore} from \"./stores/connection\"\nexport {useCloudClientStatusStore} from \"./stores/cloudClientStatus\"\nexport type {RuntimeAudioTransport, RuntimeSnapshot, RuntimeStatus} from \"./stores/cloudClientStatus\"\nexport {SETTINGS, OFFLINE_APPLETS, useSettingsStore, useSetting} from \"./stores/settings\"\nexport {MENTRA_LIVE_SETTING_KEYS, getBluetoothSettingKeysForDevice} from \"./stores/bluetoothSettingKeys\"\nexport {useAppStatusStore, installAppStoreHooks, type AppStoreHooks} from \"./stores/apps\"\n\n// Cloud client + credentials + v1 comms.\nexport {cloudSecureStore} from \"./utils/cloudClient/cloudSecureStore\"\nexport {cloudClientService} from \"./services/CloudClientService\"\nexport {createCloudUdpSocket} from \"./utils/cloudClient/RnUdpAdapter\"\n\n// Log ring buffer + console interception (bug-report attachments).\nexport {logBuffer, type LogEntry} from \"./utils/devLogging\"\n\n// Bluetooth SDK internal compatibility passthrough. Prefer an engine facade\n// when one exists; this remains an escape hatch for app-only compatibility\n// needs (its event TYPES stay on the main entry).\nexport {default as BluetoothSdk} from \"@glassly/bluetooth-sdk/internal\"\n\n// Engine-owned MMKV instance + debug helper.\nexport {storage, printDirectory} from \"./utils/storage\"\n// Process-wide event bus — one shared instance for engine services + host\n// (re-exported via the @/utils/GlobalEventEmitter shim).\nexport {default as GlobalEventEmitter} from \"./utils/GlobalEventEmitter\"\n"]}
|
package/src/devtools.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `@glassly/engine/devtools` — the devtools-only surface.
|
|
3
|
-
*
|
|
4
|
-
* Debug/diagnostic singletons consumed by the Glassly app's internal dev
|
|
5
|
-
* screens (stress test, miniapp dev-server tooling). Never import this from
|
|
6
|
-
* product UI or host services; every `/devtools` import in mobile/src is
|
|
7
|
-
* counted (report-only) by scripts/check-mobile-runtime-boundary.sh.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
// Which miniapps the local runtime currently has running (stress-test screen).
|
|
11
|
-
export {miniappRunningRegistry} from "./services/MiniappRunningRegistry"
|
|
12
|
-
// Dev-server connection bridge for live-reloading local miniapps.
|
|
13
|
-
export {default as devServerBridge} from "./services/DevServerBridge"
|