@glassly/miniapp 0.1.0-dev.99 → 0.2.8-dev.445
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 +218 -73
- package/dist/background/index.d.ts +14 -8
- package/dist/background/index.d.ts.map +1 -1
- package/dist/background/index.js +4 -0
- package/dist/background/index.js.map +1 -1
- package/dist/background/register.d.ts +1 -1
- package/dist/background/register.js +1 -1
- package/dist/display/index.d.ts +23 -0
- package/dist/display/index.d.ts.map +1 -0
- package/dist/display/index.js +17 -0
- package/dist/display/index.js.map +1 -0
- package/dist/display/measurer/TextMeasurer.d.ts +160 -0
- package/dist/display/measurer/TextMeasurer.d.ts.map +1 -0
- package/dist/display/measurer/TextMeasurer.js +272 -0
- package/dist/display/measurer/TextMeasurer.js.map +1 -0
- package/dist/display/measurer/index.d.ts +10 -0
- package/dist/display/measurer/index.d.ts.map +1 -0
- package/dist/display/measurer/index.js +11 -0
- package/dist/display/measurer/index.js.map +1 -0
- package/dist/display/measurer/script-detection.d.ts +53 -0
- package/dist/display/measurer/script-detection.d.ts.map +1 -0
- package/dist/display/measurer/script-detection.js +184 -0
- package/dist/display/measurer/script-detection.js.map +1 -0
- package/dist/display/pixelArt.d.ts +22 -0
- package/dist/display/pixelArt.d.ts.map +1 -0
- package/dist/display/pixelArt.js +126 -0
- package/dist/display/pixelArt.js.map +1 -0
- package/dist/display/profiles/g1.d.ts +33 -0
- package/dist/display/profiles/g1.d.ts.map +1 -0
- package/dist/display/profiles/g1.js +214 -0
- package/dist/display/profiles/g1.js.map +1 -0
- package/dist/display/profiles/g2.d.ts +13 -0
- package/dist/display/profiles/g2.d.ts.map +1 -0
- package/dist/display/profiles/g2.js +34 -0
- package/dist/display/profiles/g2.js.map +1 -0
- package/dist/display/profiles/index.d.ts +12 -0
- package/dist/display/profiles/index.d.ts.map +1 -0
- package/dist/display/profiles/index.js +15 -0
- package/dist/display/profiles/index.js.map +1 -0
- package/dist/display/profiles/nex.d.ts +10 -0
- package/dist/display/profiles/nex.d.ts.map +1 -0
- package/dist/display/profiles/nex.js +150 -0
- package/dist/display/profiles/nex.js.map +1 -0
- package/dist/display/profiles/types.d.ts +103 -0
- package/dist/display/profiles/types.d.ts.map +1 -0
- package/dist/display/profiles/types.js +2 -0
- package/dist/display/profiles/types.js.map +1 -0
- package/dist/display/profiles/z100.d.ts +33 -0
- package/dist/display/profiles/z100.d.ts.map +1 -0
- package/dist/display/profiles/z100.js +182 -0
- package/dist/display/profiles/z100.js.map +1 -0
- package/dist/display/scene/types.d.ts +292 -0
- package/dist/display/scene/types.d.ts.map +1 -0
- package/dist/display/scene/types.js +0 -0
- package/dist/display/scene/types.js.map +1 -0
- package/dist/display/wrapper/TextWrapper.d.ts +102 -0
- package/dist/display/wrapper/TextWrapper.d.ts.map +1 -0
- package/dist/display/wrapper/TextWrapper.js +469 -0
- package/dist/display/wrapper/TextWrapper.js.map +1 -0
- package/dist/display/wrapper/index.d.ts +12 -0
- package/dist/display/wrapper/index.d.ts.map +1 -0
- package/dist/display/wrapper/index.js +12 -0
- package/dist/display/wrapper/index.js.map +1 -0
- package/dist/display/wrapper/types.d.ts +75 -0
- package/dist/display/wrapper/types.d.ts.map +1 -0
- package/dist/display/wrapper/types.js +11 -0
- package/dist/display/wrapper/types.js.map +1 -0
- package/dist/globals.d.ts +5 -5
- package/dist/globals.d.ts.map +1 -1
- package/dist/globals.js +1 -1
- package/dist/globals.js.map +1 -1
- package/dist/index.d.ts +16 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/knownApps.d.ts +26 -0
- package/dist/knownApps.d.ts.map +1 -0
- package/dist/knownApps.js +140 -0
- package/dist/knownApps.js.map +1 -0
- package/dist/mirror/canvas.d.ts +22 -0
- package/dist/mirror/canvas.d.ts.map +1 -0
- package/dist/mirror/canvas.js +311 -0
- package/dist/mirror/canvas.js.map +1 -0
- package/dist/mirror/geometry.d.ts +69 -0
- package/dist/mirror/geometry.d.ts.map +1 -0
- package/dist/mirror/geometry.js +75 -0
- package/dist/mirror/geometry.js.map +1 -0
- package/dist/mirror/index.d.ts +3 -0
- package/dist/mirror/index.d.ts.map +1 -0
- package/dist/mirror/index.js +2 -0
- package/dist/mirror/index.js.map +1 -0
- package/dist/mirror/types.d.ts +40 -0
- package/dist/mirror/types.d.ts.map +1 -0
- package/dist/mirror/types.js +2 -0
- package/dist/mirror/types.js.map +1 -0
- package/dist/modules/auth.d.ts +1 -1
- package/dist/modules/auth.d.ts.map +1 -1
- package/dist/modules/auth.js +2 -2
- package/dist/modules/auth.js.map +1 -1
- package/dist/modules/compass.d.ts +47 -0
- package/dist/modules/compass.d.ts.map +1 -0
- package/dist/modules/compass.js +39 -0
- package/dist/modules/compass.js.map +1 -0
- package/dist/modules/display.d.ts +189 -12
- package/dist/modules/display.d.ts.map +1 -1
- package/dist/modules/display.js +40 -3
- package/dist/modules/display.js.map +1 -1
- package/dist/modules/events.d.ts +30 -3
- package/dist/modules/events.d.ts.map +1 -1
- package/dist/modules/events.js.map +1 -1
- package/dist/modules/input.d.ts +34 -11
- package/dist/modules/input.d.ts.map +1 -1
- package/dist/modules/input.js +35 -11
- package/dist/modules/input.js.map +1 -1
- package/dist/modules/latest-render-scheduler.d.ts +19 -0
- package/dist/modules/latest-render-scheduler.d.ts.map +1 -0
- package/dist/modules/latest-render-scheduler.js +54 -0
- package/dist/modules/latest-render-scheduler.js.map +1 -0
- package/dist/modules/lightSensor.d.ts +44 -0
- package/dist/modules/lightSensor.d.ts.map +1 -0
- package/dist/modules/lightSensor.js +33 -0
- package/dist/modules/lightSensor.js.map +1 -0
- package/dist/modules/mic.d.ts +3 -2
- package/dist/modules/mic.d.ts.map +1 -1
- package/dist/modules/mic.js +3 -2
- package/dist/modules/mic.js.map +1 -1
- package/dist/modules/miniapps.d.ts +2 -0
- package/dist/modules/miniapps.d.ts.map +1 -1
- package/dist/modules/miniapps.js.map +1 -1
- package/dist/modules/mirror.d.ts +16 -0
- package/dist/modules/mirror.d.ts.map +1 -0
- package/dist/modules/mirror.js +40 -0
- package/dist/modules/mirror.js.map +1 -0
- package/dist/modules/mono-text-rows.d.ts +20 -0
- package/dist/modules/mono-text-rows.d.ts.map +1 -0
- package/dist/modules/mono-text-rows.js +26 -0
- package/dist/modules/mono-text-rows.js.map +1 -0
- package/dist/modules/navigation.d.ts.map +1 -1
- package/dist/modules/navigation.js +21 -14
- package/dist/modules/navigation.js.map +1 -1
- package/dist/modules/phone.d.ts +26 -1
- package/dist/modules/phone.d.ts.map +1 -1
- package/dist/modules/phone.js +28 -0
- package/dist/modules/phone.js.map +1 -1
- package/dist/modules/settings.d.ts +45 -0
- package/dist/modules/settings.d.ts.map +1 -0
- package/dist/modules/settings.js +54 -0
- package/dist/modules/settings.js.map +1 -0
- package/dist/modules/system.d.ts +21 -0
- package/dist/modules/system.d.ts.map +1 -1
- package/dist/modules/system.js +12 -0
- package/dist/modules/system.js.map +1 -1
- package/dist/modules/transcription.d.ts +3 -2
- package/dist/modules/transcription.d.ts.map +1 -1
- package/dist/modules/transcription.js +3 -2
- package/dist/modules/transcription.js.map +1 -1
- package/dist/protocol.d.ts +59 -5
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +60 -5
- package/dist/protocol.js.map +1 -1
- package/dist/react/MirrorCanvas.d.ts +10 -0
- package/dist/react/MirrorCanvas.d.ts.map +1 -0
- package/dist/react/MirrorCanvas.js +23 -0
- package/dist/react/MirrorCanvas.js.map +1 -0
- package/dist/react/index.d.ts +2 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +1 -0
- package/dist/react/index.js.map +1 -1
- package/dist/react/useColorScheme.d.ts +2 -3
- package/dist/react/useColorScheme.d.ts.map +1 -1
- package/dist/react/useColorScheme.js +15 -8
- package/dist/react/useColorScheme.js.map +1 -1
- package/dist/react/useRpc.js +2 -2
- package/dist/react/useRpc.js.map +1 -1
- package/dist/react/useSafeArea.d.ts.map +1 -1
- package/dist/react/useSafeArea.js +2 -2
- package/dist/react/useSafeArea.js.map +1 -1
- package/dist/session.d.ts +50 -4
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +35 -6
- package/dist/session.js.map +1 -1
- package/dist/transport/auto.d.ts +2 -2
- package/dist/transport/auto.js +2 -2
- package/dist/transport/dispatch.d.ts +1 -1
- package/dist/transport/dispatch.js +1 -1
- package/dist/transport/mock.d.ts +4 -4
- package/dist/transport/mock.d.ts.map +1 -1
- package/dist/transport/mock.js +31 -7
- package/dist/transport/mock.js.map +1 -1
- package/dist/ui/index.d.ts +2 -0
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +1 -0
- package/dist/ui/index.js.map +1 -1
- package/package.json +15 -3
- package/src/background/index.ts +26 -4
- package/src/background/register.ts +1 -1
- package/src/display/index.ts +83 -0
- package/src/display/measurer/TextMeasurer.ts +346 -0
- package/src/display/measurer/index.ts +21 -0
- package/src/display/measurer/script-detection.ts +218 -0
- package/src/display/pixelArt.ts +141 -0
- package/src/display/profiles/g1.ts +237 -0
- package/src/display/profiles/g2.ts +39 -0
- package/src/display/profiles/index.ts +28 -0
- package/src/display/profiles/nex.ts +166 -0
- package/src/display/profiles/types.ts +132 -0
- package/src/display/profiles/z100.ts +198 -0
- package/src/display/scene/types.ts +335 -0
- package/src/display/wrapper/TextWrapper.ts +546 -0
- package/src/display/wrapper/index.ts +15 -0
- package/src/display/wrapper/types.ts +102 -0
- package/src/globals.ts +5 -5
- package/src/index.ts +34 -6
- package/src/knownApps.ts +170 -0
- package/src/mirror/canvas.ts +322 -0
- package/src/mirror/geometry.ts +128 -0
- package/src/mirror/index.ts +2 -0
- package/src/mirror/types.ts +38 -0
- package/src/modules/auth.ts +2 -2
- package/src/modules/compass.ts +69 -0
- package/src/modules/display.ts +219 -16
- package/src/modules/events.ts +26 -2
- package/src/modules/input.ts +44 -12
- package/src/modules/latest-render-scheduler.ts +55 -0
- package/src/modules/lightSensor.ts +61 -0
- package/src/modules/mic.ts +3 -2
- package/src/modules/miniapps.ts +2 -0
- package/src/modules/mirror.ts +42 -0
- package/src/modules/mono-text-rows.ts +30 -0
- package/src/modules/navigation.ts +20 -14
- package/src/modules/phone.ts +40 -1
- package/src/modules/settings.ts +64 -0
- package/src/modules/system.ts +30 -1
- package/src/modules/transcription.ts +3 -2
- package/src/protocol.ts +65 -5
- package/src/react/MirrorCanvas.tsx +35 -0
- package/src/react/index.ts +3 -0
- package/src/react/useColorScheme.ts +17 -8
- package/src/react/useRpc.ts +2 -2
- package/src/react/useSafeArea.ts +2 -2
- package/src/session.ts +78 -8
- package/src/transport/auto.ts +2 -2
- package/src/transport/dispatch.ts +1 -1
- package/src/transport/mock.ts +42 -11
- package/src/ui/index.ts +3 -0
- package/dist/modules/heading.d.ts +0 -16
- package/dist/modules/heading.d.ts.map +0 -1
- package/dist/modules/heading.js +0 -20
- package/dist/modules/heading.js.map +0 -1
- package/src/modules/heading.ts +0 -23
package/dist/protocol.js
CHANGED
|
@@ -21,9 +21,9 @@ export var MiniappRequestType;
|
|
|
21
21
|
/** Update the set of streams the miniapp is subscribed to. */
|
|
22
22
|
MiniappRequestType["SUBSCRIBE"] = "miniapp_subscribe";
|
|
23
23
|
/**
|
|
24
|
-
* Declare the touch gestures this miniapp is handling itself
|
|
25
|
-
* the host's default
|
|
26
|
-
*
|
|
24
|
+
* Declare the touch gestures this miniapp is handling itself. The most
|
|
25
|
+
* recent claimer of a gesture gets it alone and the host's default for it
|
|
26
|
+
* is skipped; releasing hands it back to the previous claimer.
|
|
27
27
|
*/
|
|
28
28
|
MiniappRequestType["CLAIM_GESTURES"] = "miniapp_claim_gestures";
|
|
29
29
|
/**
|
|
@@ -34,6 +34,15 @@ export var MiniappRequestType;
|
|
|
34
34
|
MiniappRequestType["DISPLAY"] = "miniapp_display";
|
|
35
35
|
/** Render a whole scene of positioned elements (replace-the-frame). */
|
|
36
36
|
MiniappRequestType["RENDER"] = "miniapp_render";
|
|
37
|
+
/** Read the globally visible intended glasses canvas. DISPLAY_MIRROR permission. */
|
|
38
|
+
MiniappRequestType["MIRROR_GET"] = "miniapp_mirror_get";
|
|
39
|
+
/**
|
|
40
|
+
* Ask the host for a display view (display.showView). "main" is every
|
|
41
|
+
* app's; "dashboard" is the overlay slot above the main content, granted
|
|
42
|
+
* only to the running miniapp whose manifest type is "system_dashboard"
|
|
43
|
+
* while the glasses can show it.
|
|
44
|
+
*/
|
|
45
|
+
MiniappRequestType["SHOW_VIEW"] = "miniapp_show_view";
|
|
37
46
|
/**
|
|
38
47
|
* Feed the device's firmware-rendered navigation UI (capability
|
|
39
48
|
* `hasNativeNavigation`): structured turn-by-turn card fields and
|
|
@@ -62,6 +71,19 @@ export var MiniappRequestType;
|
|
|
62
71
|
MiniappRequestType["LOCATION_POLL"] = "miniapp_location_poll";
|
|
63
72
|
/** Read a bounded snapshot of phone calendar events. */
|
|
64
73
|
MiniappRequestType["CALENDAR_LIST_EVENTS"] = "miniapp_calendar_list_events";
|
|
74
|
+
/**
|
|
75
|
+
* Apps that post phone notifications, for a notification filter UI.
|
|
76
|
+
* SYSTEM-only. Android: installed apps with icons; iOS: the seeded
|
|
77
|
+
* catalog plus apps the glasses reported.
|
|
78
|
+
*/
|
|
79
|
+
MiniappRequestType["NOTIFICATION_APPS_LIST"] = "miniapp_notification_apps_list";
|
|
80
|
+
/**
|
|
81
|
+
* The engine's settings store behind an allowlist (session.settings).
|
|
82
|
+
* SYSTEM-only. GET takes optional `keys` and answers `{values}`; SET
|
|
83
|
+
* takes `key` and `value` and writes through the store.
|
|
84
|
+
*/
|
|
85
|
+
MiniappRequestType["SETTINGS_GET"] = "miniapp_settings_get";
|
|
86
|
+
MiniappRequestType["SETTINGS_SET"] = "miniapp_settings_set";
|
|
65
87
|
/** Start a turn-by-turn navigation trip. Android only. */
|
|
66
88
|
MiniappRequestType["NAVIGATION_START"] = "miniapp_navigation_start";
|
|
67
89
|
/** Stop the active navigation trip (if any). */
|
|
@@ -159,6 +181,7 @@ export var MiniappRequestType;
|
|
|
159
181
|
* for callers who want to control the sensor directly. G2 only today.
|
|
160
182
|
*/
|
|
161
183
|
MiniappRequestType["IMU_SET_ENABLED"] = "miniapp_imu_set_enabled";
|
|
184
|
+
MiniappRequestType["GLASSES_SENSOR_CONTROL"] = "miniapp_glasses_sensor_control";
|
|
162
185
|
/** Explicitly enable/disable glasses-side VAD (GX8002). Mirrors the app's mic settings toggle. */
|
|
163
186
|
MiniappRequestType["MIC_SET_VAD_ENABLED"] = "miniapp_mic_set_vad_enabled";
|
|
164
187
|
/** Explicitly enable/disable the center-mic loudness gate ("Barrier"). */
|
|
@@ -173,6 +196,7 @@ export var MiniappRequestType;
|
|
|
173
196
|
/** Open a URL in the system browser. */
|
|
174
197
|
MiniappRequestType["OPEN_URL"] = "miniapp_open_url";
|
|
175
198
|
/** Copy text to the system clipboard. */
|
|
199
|
+
MiniappRequestType["DISPLAY_DIAGNOSTICS"] = "miniapp_display_diagnostics";
|
|
176
200
|
MiniappRequestType["COPY_CLIPBOARD"] = "miniapp_copy_clipboard";
|
|
177
201
|
/** Download a file (triggers OS share sheet for save location). */
|
|
178
202
|
MiniappRequestType["DOWNLOAD"] = "miniapp_download";
|
|
@@ -262,6 +286,8 @@ export var MiniappResponseType;
|
|
|
262
286
|
MiniappResponseType["REQUEST_RESULT"] = "miniapp_request_result";
|
|
263
287
|
/** Push: glasses capabilities changed. */
|
|
264
288
|
MiniappResponseType["CAPABILITIES_UPDATE"] = "miniapp_capabilities_update";
|
|
289
|
+
/** Push: host user preferences (units, clock format) changed. */
|
|
290
|
+
MiniappResponseType["PREFERENCES_UPDATE"] = "miniapp_preferences_update";
|
|
265
291
|
/** Push: miniapp's foreground/background state changed. */
|
|
266
292
|
MiniappResponseType["VISIBILITY_CHANGE"] = "miniapp_visibility_change";
|
|
267
293
|
/** Push: host color scheme (light/dark) changed. */
|
|
@@ -310,7 +336,25 @@ export var MiniappStreamType;
|
|
|
310
336
|
// Hardware / input events
|
|
311
337
|
MiniappStreamType["BUTTON_PRESS"] = "button_press";
|
|
312
338
|
MiniappStreamType["TOUCH_EVENT"] = "touch_event";
|
|
339
|
+
/**
|
|
340
|
+
* Physical keyboard paired to the glasses (input.onKey): DOM-style
|
|
341
|
+
* `{phase, key, code, modifiers, text?, repeat, timestamp}`. G2 Glassly CFW
|
|
342
|
+
* revision 39+ only; broadcast to every subscriber like button_press.
|
|
343
|
+
*/
|
|
344
|
+
MiniappStreamType["KEYBOARD_EVENT"] = "keyboard_event";
|
|
313
345
|
MiniappStreamType["HEAD_POSITION"] = "head_position";
|
|
346
|
+
/**
|
|
347
|
+
* The dashboard view's state (display.onViewChange): `{kind: "change",
|
|
348
|
+
* view, reason}` when the host grants or takes the overlay slot.
|
|
349
|
+
*/
|
|
350
|
+
MiniappStreamType["DISPLAY_VIEW"] = "display_view";
|
|
351
|
+
/** Initial mirror snapshot and subsequent visible display changes. */
|
|
352
|
+
MiniappStreamType["MIRROR_UPDATE"] = "mirror_update";
|
|
353
|
+
/**
|
|
354
|
+
* A gesture claim changed hands (input.onClaimChange): `{gesture, held}`,
|
|
355
|
+
* sent to the app that gained or lost the gesture.
|
|
356
|
+
*/
|
|
357
|
+
MiniappStreamType["GESTURE_CLAIM"] = "gesture_claim";
|
|
314
358
|
/**
|
|
315
359
|
* Raw accelerometer reading from the glasses IMU — `{x, y, z}` in g, plus a
|
|
316
360
|
* timestamp. G2 only today. A richer combined IMU stream (accel + gyro +
|
|
@@ -330,19 +374,30 @@ export var MiniappStreamType;
|
|
|
330
374
|
MiniappStreamType["VAD"] = "vad";
|
|
331
375
|
// Phone sensors
|
|
332
376
|
MiniappStreamType["LOCATION_UPDATE"] = "location_update";
|
|
333
|
-
/**
|
|
377
|
+
/** Phone compass heading in degrees (0=N, 90=E). */
|
|
334
378
|
MiniappStreamType["HEADING_UPDATE"] = "heading_update";
|
|
379
|
+
// Glasses sensors
|
|
380
|
+
MiniappStreamType["LIGHT_SENSOR"] = "light_sensor";
|
|
381
|
+
/** Glasses compass heading; auto-starts on custom firmware, nav mode only on stock. */
|
|
382
|
+
MiniappStreamType["GLASSES_COMPASS"] = "glasses_compass";
|
|
383
|
+
MiniappStreamType["COMPASS_CALIBRATION"] = "compass_calibration";
|
|
335
384
|
/** Turn-by-turn navigation event (maneuver / rerouting / arrived / error). */
|
|
336
385
|
MiniappStreamType["NAVIGATION_UPDATE"] = "navigation_update";
|
|
337
386
|
/** Active navigation route polyline — full path, fired once per route build. */
|
|
338
387
|
MiniappStreamType["NAVIGATION_ROUTE"] = "navigation_route";
|
|
339
388
|
MiniappStreamType["PHONE_NOTIFICATION"] = "phone_notification";
|
|
389
|
+
/**
|
|
390
|
+
* An allowlisted engine setting changed (session.settings.onChange), as
|
|
391
|
+
* `{key, value}`. SYSTEM-only; every key's current value is replayed on
|
|
392
|
+
* subscribe.
|
|
393
|
+
*/
|
|
394
|
+
MiniappStreamType["SETTINGS_CHANGED"] = "settings_changed";
|
|
340
395
|
/**
|
|
341
396
|
* A previously-posted notification was dismissed by the user.
|
|
342
397
|
*
|
|
343
398
|
* Android-only today. iOS does not expose dismiss callbacks to apps
|
|
344
399
|
* (Apple privacy restriction); subscribing on iOS succeeds but no events
|
|
345
|
-
* fire. See agents/miniapp-speaker-state-and-notif-dismissed-plan.md.
|
|
400
|
+
* fire. See notes/archive/agents/miniapp-speaker-state-and-notif-dismissed-plan.md.
|
|
346
401
|
*/
|
|
347
402
|
MiniappStreamType["PHONE_NOTIFICATION_DISMISSED"] = "phone_notification_dismissed";
|
|
348
403
|
// Photos, streaming
|
package/dist/protocol.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,+EAA+E;AAC/E,iDAAiD;AACjD,+EAA+E;AAE/E,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,+EAA+E;AAC/E,iDAAiD;AACjD,+EAA+E;AAE/E,MAAM,CAAN,IAAY,kBAySX;AAzSD,WAAY,kBAAkB;IAC5B,8EAA8E;IAC9E,iDAA2B,CAAA;IAE3B,yDAAyD;IACzD,2DAAqC,CAAA;IAErC,8DAA8D;IAC9D,qDAA+B,CAAA;IAE/B;;;;OAIG;IACH,+DAAyC,CAAA;IAEzC;;;;OAIG;IACH,iDAA2B,CAAA;IAE3B,uEAAuE;IACvE,+CAAyB,CAAA;IAEzB,oFAAoF;IACpF,uDAAiC,CAAA;IAEjC;;;;;OAKG;IACH,qDAA+B,CAAA;IAE/B;;;;OAIG;IACH,uDAAiC,CAAA;IAEjC,8EAA8E;IAC9E,uDAAiC,CAAA;IAEjC,sDAAsD;IACtD,uDAAiC,CAAA;IAEjC,2DAA2D;IAC3D,6CAAuB,CAAA;IAEvB;;;;;OAKG;IACH,yEAAmD,CAAA;IACnD,2EAAqD,CAAA;IACrD,2EAAqD,CAAA;IACrD,2EAAqD,CAAA;IAErD,mCAAmC;IACnC,iDAA2B,CAAA;IAE3B,8BAA8B;IAC9B,6DAAuC,CAAA;IAEvC,wDAAwD;IACxD,2EAAqD,CAAA;IAErD;;;;OAIG;IACH,+EAAyD,CAAA;IAEzD;;;;OAIG;IACH,2DAAqC,CAAA;IACrC,2DAAqC,CAAA;IAErC,0DAA0D;IAC1D,mEAA6C,CAAA;IAC7C,gDAAgD;IAChD,iEAA2C,CAAA;IAC3C,mFAAmF;IACnF,uEAAiD,CAAA;IACjD,0FAA0F;IAC1F,6FAAuE,CAAA;IACvE,qFAAqF;IACrF,6FAAuE,CAAA;IACvE,sFAAsF;IACtF,2EAAqD,CAAA;IACrD,sFAAsF;IACtF,mFAA6D,CAAA;IAC7D;;;;6EAIyE;IACzE,uFAAiE,CAAA;IACjE;;sFAEkF;IAClF,6FAAuE,CAAA;IACvE;4DACwD;IACxD,mFAA6D,CAAA;IAC7D,2FAA2F;IAC3F,6FAAuE,CAAA;IAEvE;;;;;OAKG;IACH,mDAA6B,CAAA;IAE7B;;;;;;;;;;;;;OAaG;IACH,yDAAmC,CAAA;IACnC,yDAAmC,CAAA;IAEnC,kCAAkC;IAClC,yDAAmC,CAAA;IACnC,yDAAmC,CAAA;IACnC,+DAAyC,CAAA;IACzC,2DAAqC,CAAA;IACrC,6DAAuC,CAAA;IACvC,yDAAmC,CAAA;IACnC,iEAA2C,CAAA;IAC3C,2EAAqD,CAAA;IACrD,6DAAuC,CAAA;IAEvC;;;;;OAKG;IACH,uEAAiD,CAAA;IACjD,iEAA2C,CAAA;IAC3C,yEAAmD,CAAA;IACnD,yEAAmD,CAAA;IACnD,yEAAmD,CAAA;IACnD,2DAAqC,CAAA;IACrC,6DAAuC,CAAA;IACvC,uEAAiD,CAAA;IACjD,uEAAiD,CAAA;IACjD,yEAAmD,CAAA;IACnD,yFAAmE,CAAA;IACnE,2DAAqC,CAAA;IAErC;;;;;OAKG;IACH,6EAAuD,CAAA;IAEvD,iCAAiC;IACjC,uDAAiC,CAAA;IAEjC,2EAA2E;IAC3E,+DAAyC,CAAA;IAEzC;;;;OAIG;IACH,iEAA2C,CAAA;IAC3C,+EAAyD,CAAA;IAEzD,kGAAkG;IAClG,yEAAmD,CAAA;IACnD,0EAA0E;IAC1E,6FAAuE,CAAA;IAEvE;;;OAGG;IACH,uEAAiD,CAAA;IAEjD,4CAA4C;IAC5C,6CAAuB,CAAA;IACvB,wCAAwC;IACxC,mDAA6B,CAAA;IAC7B,yCAAyC;IACzC,yEAAmD,CAAA;IACnD,+DAAyC,CAAA;IACzC,mEAAmE;IACnE,mDAA6B,CAAA;IAC7B;;;OAGG;IACH,iDAA2B,CAAA;IAE3B;;;;;OAKG;IACH,yDAAmC,CAAA;IACnC,uDAAiC,CAAA;IACjC,yDAAmC,CAAA;IACnC,uDAAiC,CAAA;IACjC,mDAA6B,CAAA;IAC7B,qDAA+B,CAAA;IAC/B,yDAAmC,CAAA;IACnC,uDAAiC,CAAA;IACjC,uDAAiC,CAAA;IACjC,+DAAyC,CAAA;IACzC,qDAA+B,CAAA;IAC/B,iEAA2C,CAAA;IAC3C,kFAAkF;IAClF,qEAA+C,CAAA;IAC/C,iFAAiF;IACjF,yDAAmC,CAAA;IACnC,wFAAwF;IACxF,uDAAiC,CAAA;IAEjC,0EAA0E;IAC1E,2CAAqB,CAAA;IAErB;;;;OAIG;IACH,2EAAqD,CAAA;IAErD,6BAA6B;IAE7B,4CAA4C;IAC5C,mFAA6D,CAAA;IAE7D,8EAA8E;IAC9E,6EAAuD,CAAA;IAEvD,gCAAgC;IAChC,6CAAuB,CAAA;IACvB,6EAAuD,CAAA;IACvD,2EAAqD,CAAA;IACrD,2DAAqC,CAAA;IACrC,yDAAmC,CAAA;IACnC,2EAAqD,CAAA;IACrD,yEAAmD,CAAA;IAEnD,oGAAoG;IACpG,uEAAiD,CAAA;IAEjD,oCAAoC;IACpC,qEAAqE;IACrE,4EAA4E;IAC5E,yCAAyC;IACzC,4FAA4F;IAC5F,yDAAmC,CAAA;IACnC,+DAA+D;IAC/D,2DAAqC,CAAA;IACrC,yCAAyC;IACzC,yDAAmC,CAAA;IACnC,iFAAiF;IACjF,mEAA6C,CAAA;IAC7C,iGAAiG;IACjG,2DAAqC,CAAA;IACrC,iFAAiF;IACjF,6DAAuC,CAAA;IACvC,kFAAkF;IAClF,6DAAuC,CAAA;IACvC,8FAA8F;IAC9F,yDAAmC,CAAA;AACrC,CAAC,EAzSW,kBAAkB,KAAlB,kBAAkB,QAyS7B;AAED,+EAA+E;AAC/E,qCAAqC;AACrC,+EAA+E;AAE/E,MAAM,CAAN,IAAY,mBA+DX;AA/DD,WAAY,mBAAmB;IAC7B,sEAAsE;IACtE,0DAAmC,CAAA;IAEnC,sDAAsD;IACtD,8CAAuB,CAAA;IAEvB,0EAA0E;IAC1E,gEAAyC,CAAA;IAEzC,0CAA0C;IAC1C,0EAAmD,CAAA;IAEnD,iEAAiE;IACjE,wEAAiD,CAAA;IAEjD,2DAA2D;IAC3D,sEAA+C,CAAA;IAE/C,oDAAoD;IACpD,0EAAmD,CAAA;IAEnD;;;;OAIG;IACH,8DAAuC,CAAA;IAEvC;;;;OAIG;IACH,wEAAiD,CAAA;IAEjD;;;OAGG;IACH,0DAAmC,CAAA;IAEnC,qEAAqE;IACrE,4CAAqB,CAAA;IAErB;;;;;OAKG;IACH,0DAAmC,CAAA;IAEnC;;;;;OAKG;IACH,kEAA2C,CAAA;IAE3C,kDAAkD;IAClD,8CAAuB,CAAA;AACzB,CAAC,EA/DW,mBAAmB,KAAnB,mBAAmB,QA+D9B;AAED,+EAA+E;AAC/E,0CAA0C;AAC1C,+EAA+E;AAE/E,MAAM,CAAN,IAAY,iBA0EX;AA1ED,WAAY,iBAAiB;IAC3B,0BAA0B;IAC1B,kDAA6B,CAAA;IAC7B,gDAA2B,CAAA;IAC3B;;;;OAIG;IACH,sDAAiC,CAAA;IACjC,oDAA+B,CAAA;IAC/B;;;OAGG;IACH,kDAA6B,CAAA;IAC7B,sEAAsE;IACtE,oDAA+B,CAAA;IAC/B;;;OAGG;IACH,oDAA+B,CAAA;IAC/B;;;;OAIG;IACH,8CAAyB,CAAA;IAEzB,SAAS;IACT,wDAAmC,CAAA;IACnC,oDAA+B,CAAA;IAC/B,8DAAyC,CAAA;IACzC,2FAA2F;IAC3F,kDAA6B,CAAA;IAE7B,kCAAkC;IAClC,oDAA+B,CAAA;IAC/B,gDAA2B,CAAA;IAC3B,gDAA2B,CAAA;IAC3B,gCAAW,CAAA;IAEX,gBAAgB;IAChB,wDAAmC,CAAA;IACnC,oDAAoD;IACpD,sDAAiC,CAAA;IACjC,kBAAkB;IAClB,kDAA6B,CAAA;IAC7B,uFAAuF;IACvF,wDAAmC,CAAA;IACnC,gEAA2C,CAAA;IAC3C,8EAA8E;IAC9E,4DAAuC,CAAA;IACvC,gFAAgF;IAChF,0DAAqC,CAAA;IACrC,8DAAyC,CAAA;IACzC;;;;OAIG;IACH,0DAAqC,CAAA;IACrC;;;;;;OAMG;IACH,kFAA6D,CAAA;IAC7D,oBAAoB;IACpB,gDAA2B,CAAA;IAC3B,oDAA+B,CAAA;AACjC,CAAC,EA1EW,iBAAiB,KAAjB,iBAAiB,QA0E5B;AAED,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E,MAAM,CAAN,IAAY,gBAyEX;AAzED,WAAY,gBAAgB;IAC1B,qDAAqD;IACrD,yDAAqC,CAAA;IAErC,2FAA2F;IAC3F,uEAAmD,CAAA;IAEnD,iEAAiE;IACjE,2DAAuC,CAAA;IAEvC,2DAA2D;IAC3D,uDAAmC,CAAA;IAEnC,+EAA+E;IAC/E,uDAAmC,CAAA;IAEnC,mDAAmD;IACnD,yCAAqB,CAAA;IAErB;;;;OAIG;IACH,qDAAiC,CAAA;IAEjC,wDAAwD;IACxD,2DAAuC,CAAA;IACvC,2DAAuC,CAAA;IACvC,6DAAyC,CAAA;IAEzC,8FAA8F;IAC9F,mEAA+C,CAAA;IAE/C,oDAAoD;IACpD,mDAA+B,CAAA;IAE/B,oCAAoC;IACpC;;;OAGG;IACH,mDAA+B,CAAA;IAC/B,uCAAuC;IACvC,mDAA+B,CAAA;IAC/B,iEAAiE;IACjE,6DAAyC,CAAA;IACzC,4DAA4D;IAC5D,yDAAqC,CAAA;IACrC,iGAAiG;IACjG,2DAAuC,CAAA;IACvC,4EAA4E;IAC5E,+CAA2B,CAAA;IAC3B,iEAAiE;IACjE,qDAAiC,CAAA;IACjC,4DAA4D;IAC5D,2DAAuC,CAAA;IAEvC,sCAAsC;IACtC,6DAA6D;IAC7D,qDAAiC,CAAA;IACjC,6DAA6D;IAC7D,+DAA2C,CAAA;IAC3C,iEAAiE;IACjE,qDAAiC,CAAA;IACjC,gFAAgF;IAChF,+DAA2C,CAAA;IAC3C,gEAAgE;IAChE,2DAAuC,CAAA;IACvC,wEAAwE;IACxE,iEAA6C,CAAA;IAC7C,kFAAkF;IAClF,6DAAyC,CAAA;AAC3C,CAAC,EAzEW,gBAAgB,KAAhB,gBAAgB,QAyE3B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type CSSProperties } from "react";
|
|
2
|
+
import type { MirrorSnapshot } from "../mirror/types";
|
|
3
|
+
export interface MirrorCanvasProps {
|
|
4
|
+
frame: MirrorSnapshot | null;
|
|
5
|
+
className?: string;
|
|
6
|
+
style?: CSSProperties;
|
|
7
|
+
}
|
|
8
|
+
/** Browser preview of intended glasses output; pass snapshots over a UI channel. */
|
|
9
|
+
export declare function MirrorCanvas({ frame, className, style }: MirrorCanvasProps): import("react").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=MirrorCanvas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MirrorCanvas.d.ts","sourceRoot":"","sources":["../../src/react/MirrorCanvas.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,aAAa,EAAC,MAAM,OAAO,CAAA;AAE3D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAA;AAEnD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAA;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB;AAED,oFAAoF;AACpF,wBAAgB,YAAY,CAAC,EAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAC,EAAE,iBAAiB,+BAuBxE"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef } from "react";
|
|
3
|
+
import { MirrorCanvasRenderer } from "../mirror/canvas";
|
|
4
|
+
/** Browser preview of intended glasses output; pass snapshots over a UI channel. */
|
|
5
|
+
export function MirrorCanvas({ frame, className, style }) {
|
|
6
|
+
const canvas = useRef(null);
|
|
7
|
+
const renderer = useRef(null);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
if (!canvas.current)
|
|
10
|
+
return;
|
|
11
|
+
renderer.current = new MirrorCanvasRenderer(canvas.current);
|
|
12
|
+
return () => {
|
|
13
|
+
renderer.current?.dispose();
|
|
14
|
+
renderer.current = null;
|
|
15
|
+
};
|
|
16
|
+
}, []);
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
if (frame)
|
|
19
|
+
renderer.current?.update(frame);
|
|
20
|
+
}, [frame]);
|
|
21
|
+
return (_jsx("canvas", { ref: canvas, className: className, role: "img", "aria-label": "Glasses display mirror", style: { display: "block", width: "100%", height: "auto", ...style } }));
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=MirrorCanvas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MirrorCanvas.js","sourceRoot":"","sources":["../../src/react/MirrorCanvas.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,SAAS,EAAE,MAAM,EAAqB,MAAM,OAAO,CAAA;AAC3D,OAAO,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAA;AASrD,oFAAoF;AACpF,MAAM,UAAU,YAAY,CAAC,EAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAoB;IACvE,MAAM,MAAM,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAA;IAC9C,MAAM,QAAQ,GAAG,MAAM,CAA8B,IAAI,CAAC,CAAA;IAC1D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAM;QAC3B,QAAQ,CAAC,OAAO,GAAG,IAAI,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC3D,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,CAAA;YAC3B,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAA;QACzB,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IACN,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK;YAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;IAC5C,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IACX,OAAO,CACL,iBACE,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,SAAS,EACpB,IAAI,EAAC,KAAK,gBACC,wBAAwB,EACnC,KAAK,EAAE,EAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,EAAC,GAClE,CACH,CAAA;AACH,CAAC"}
|
package/dist/react/index.d.ts
CHANGED
|
@@ -10,4 +10,6 @@ export type { MiniappHeaderProps } from "./MiniappHeader";
|
|
|
10
10
|
export { MiniappProvider } from "./MiniappProvider";
|
|
11
11
|
export type { MiniappProviderProps } from "./MiniappProvider";
|
|
12
12
|
export { useRpc, type RpcCallable } from "./useRpc";
|
|
13
|
+
export { MirrorCanvas, type MirrorCanvasProps } from "./MirrorCanvas";
|
|
14
|
+
export type { MirrorSnapshot, MirrorContent, MirrorElement } from "../mirror/types";
|
|
13
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAA;AACzC,YAAY,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAA;AACpD,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAA;AAC7D,YAAY,EAAC,4BAA4B,EAAC,MAAM,yBAAyB,CAAA;AACzE,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAC7C,YAAY,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AACjD,YAAY,EAAC,oBAAoB,EAAC,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAC,MAAM,EAAE,KAAK,WAAW,EAAC,MAAM,UAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAA;AACzC,YAAY,EAAC,iBAAiB,EAAC,MAAM,eAAe,CAAA;AACpD,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAA;AAC7D,YAAY,EAAC,4BAA4B,EAAC,MAAM,yBAAyB,CAAA;AACzE,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAC7C,YAAY,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAA;AACvD,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AACjD,YAAY,EAAC,oBAAoB,EAAC,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAC,MAAM,EAAE,KAAK,WAAW,EAAC,MAAM,UAAU,CAAA;AAEjD,OAAO,EAAC,YAAY,EAAE,KAAK,iBAAiB,EAAC,MAAM,gBAAgB,CAAA;AACnE,YAAY,EAAC,cAAc,EAAE,aAAa,EAAE,aAAa,EAAC,MAAM,iBAAiB,CAAA"}
|
package/dist/react/index.js
CHANGED
|
@@ -6,4 +6,5 @@ export { useCapsuleHeaderStyle } from "./useCapsuleHeaderStyle";
|
|
|
6
6
|
export { MiniappHeader } from "./MiniappHeader";
|
|
7
7
|
export { MiniappProvider } from "./MiniappProvider";
|
|
8
8
|
export { useRpc } from "./useRpc";
|
|
9
|
+
export { MirrorCanvas } from "./MirrorCanvas";
|
|
9
10
|
//# sourceMappingURL=index.js.map
|
package/dist/react/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAA;AAEzC,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAA;AAE7D,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAE7C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AAEjD,OAAO,EAAC,MAAM,EAAmB,MAAM,UAAU,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAA;AAEzC,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAA;AAE7D,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAA;AAE7C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAA;AAEjD,OAAO,EAAC,MAAM,EAAmB,MAAM,UAAU,CAAA;AAEjD,OAAO,EAAC,YAAY,EAAyB,MAAM,gBAAgB,CAAA"}
|
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
* color scheme.
|
|
4
4
|
*
|
|
5
5
|
* WebView-side hook: reads `window.Glassly.colorScheme`, injected by the host
|
|
6
|
-
* before the miniapp's content loads
|
|
7
|
-
*
|
|
8
|
-
* flipping the phone's theme forces a reload.
|
|
6
|
+
* before the miniapp's content loads, and follows the host's
|
|
7
|
+
* `glassly:color-scheme-change` events while the WebView remains mounted.
|
|
9
8
|
*
|
|
10
9
|
* IMPORTANT: this hook must NOT construct a `MiniappSession`. `MiniappSession`
|
|
11
10
|
* is the *background* (JSContext) API; inside a UI WebView its transport falls
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useColorScheme.d.ts","sourceRoot":"","sources":["../../src/react/useColorScheme.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"useColorScheme.d.ts","sourceRoot":"","sources":["../../src/react/useColorScheme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EAAiB,KAAK,kBAAkB,EAAC,MAAM,YAAY,CAAA;AAIlE,wBAAgB,cAAc,IAAI,kBAAkB,CAanD"}
|
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
* color scheme.
|
|
4
4
|
*
|
|
5
5
|
* WebView-side hook: reads `window.Glassly.colorScheme`, injected by the host
|
|
6
|
-
* before the miniapp's content loads
|
|
7
|
-
*
|
|
8
|
-
* flipping the phone's theme forces a reload.
|
|
6
|
+
* before the miniapp's content loads, and follows the host's
|
|
7
|
+
* `glassly:color-scheme-change` events while the WebView remains mounted.
|
|
9
8
|
*
|
|
10
9
|
* IMPORTANT: this hook must NOT construct a `MiniappSession`. `MiniappSession`
|
|
11
10
|
* is the *background* (JSContext) API; inside a UI WebView its transport falls
|
|
@@ -13,12 +12,20 @@
|
|
|
13
12
|
* router, so `session.connect()` times out ("CONNECT_ACK timeout"). UI hooks
|
|
14
13
|
* read host-injected globals instead (see `useSafeArea`).
|
|
15
14
|
*/
|
|
16
|
-
import { useState } from "react";
|
|
17
|
-
import {
|
|
15
|
+
import { useEffect, useState } from "react";
|
|
16
|
+
import { getHostGlobals } from "../globals";
|
|
17
|
+
const readScheme = () => (getHostGlobals().colorScheme === "dark" ? "dark" : "light");
|
|
18
18
|
export function useColorScheme() {
|
|
19
|
-
const [scheme] = useState(
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
const [scheme, setScheme] = useState(readScheme);
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
if (typeof window === "undefined")
|
|
22
|
+
return;
|
|
23
|
+
const update = () => setScheme(readScheme());
|
|
24
|
+
window.addEventListener("glassly:color-scheme-change", update);
|
|
25
|
+
// Catch an update delivered between the initial render and subscription.
|
|
26
|
+
update();
|
|
27
|
+
return () => window.removeEventListener("glassly:color-scheme-change", update);
|
|
28
|
+
}, []);
|
|
22
29
|
return scheme;
|
|
23
30
|
}
|
|
24
31
|
//# sourceMappingURL=useColorScheme.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useColorScheme.js","sourceRoot":"","sources":["../../src/react/useColorScheme.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"useColorScheme.js","sourceRoot":"","sources":["../../src/react/useColorScheme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAC,cAAc,EAA0B,MAAM,YAAY,CAAA;AAElE,MAAM,UAAU,GAAG,GAAuB,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;AAEzG,MAAM,UAAU,cAAc;IAC5B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAqB,UAAU,CAAC,CAAA;IAEpE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAM;QACzC,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAA;QAC5C,MAAM,CAAC,gBAAgB,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAA;QAC9D,yEAAyE;QACzE,MAAM,EAAE,CAAA;QACR,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAA;IAChF,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,MAAM,CAAA;AACf,CAAC"}
|
package/dist/react/useRpc.js
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import { useCallback, useEffect, useRef } from "react";
|
|
15
15
|
/** Walk to the global `glassly.request` (typed). */
|
|
16
|
-
function
|
|
16
|
+
function getHostRequest() {
|
|
17
17
|
const m = globalThis.glassly;
|
|
18
18
|
if (!m || typeof m.request !== "function") {
|
|
19
19
|
throw new Error("useRpc: window.glassly.request is not available — is this miniapp running in a UI WebView with the shim injected?");
|
|
@@ -71,7 +71,7 @@ export function useRpc(channel) {
|
|
|
71
71
|
if (options?.signal)
|
|
72
72
|
signals.push(options.signal);
|
|
73
73
|
const signal = mergeSignals(signals);
|
|
74
|
-
return
|
|
74
|
+
return getHostRequest()(channel, payload, { signal, timeout: options?.timeout });
|
|
75
75
|
}, [channel]);
|
|
76
76
|
callable.abort = () => {
|
|
77
77
|
currentRef.current?.abort();
|
package/dist/react/useRpc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRpc.js","sourceRoot":"","sources":["../../src/react/useRpc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,MAAM,EAAC,MAAM,OAAO,CAAA;AAMpD,oDAAoD;AACpD,SAAS,
|
|
1
|
+
{"version":3,"file":"useRpc.js","sourceRoot":"","sources":["../../src/react/useRpc.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSafeArea.d.ts","sourceRoot":"","sources":["../../src/react/useSafeArea.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,
|
|
1
|
+
{"version":3,"file":"useSafeArea.d.ts","sourceRoot":"","sources":["../../src/react/useSafeArea.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAiB,KAAK,sBAAsB,EAAE,KAAK,qBAAqB,EAAC,MAAM,YAAY,CAAA;AAIlG,MAAM,WAAW,iBAAiB;IAChC,sFAAsF;IACtF,MAAM,EAAE,qBAAqB,CAAA;IAC7B;;;;OAIG;IACH,WAAW,EAAE,sBAAsB,GAAG,IAAI,CAAA;CAC3C;AAED,wBAAgB,WAAW,IAAI,iBAAiB,CAS/C"}
|
|
@@ -7,11 +7,11 @@
|
|
|
7
7
|
* would have to force a reload to update them, e.g. on orientation change).
|
|
8
8
|
*/
|
|
9
9
|
import { useState } from "react";
|
|
10
|
-
import {
|
|
10
|
+
import { getHostGlobals } from "../globals";
|
|
11
11
|
const EMPTY_INSETS = { top: 0, bottom: 0, left: 0, right: 0 };
|
|
12
12
|
export function useSafeArea() {
|
|
13
13
|
const [result] = useState(() => {
|
|
14
|
-
const globals =
|
|
14
|
+
const globals = getHostGlobals();
|
|
15
15
|
return {
|
|
16
16
|
insets: globals.safeAreaInsets ?? EMPTY_INSETS,
|
|
17
17
|
capsuleMenu: globals.capsuleMenu ?? null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSafeArea.js","sourceRoot":"","sources":["../../src/react/useSafeArea.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"useSafeArea.js","sourceRoot":"","sources":["../../src/react/useSafeArea.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAC,cAAc,EAA0D,MAAM,YAAY,CAAA;AAElG,MAAM,YAAY,GAA0B,EAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAC,CAAA;AAalF,MAAM,UAAU,WAAW;IACzB,MAAM,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAoB,GAAG,EAAE;QAChD,MAAM,OAAO,GAAG,cAAc,EAAE,CAAA;QAChC,OAAO;YACL,MAAM,EAAE,OAAO,CAAC,cAAc,IAAI,YAAY;YAC9C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI;SACzC,CAAA;IACH,CAAC,CAAC,CAAA;IACF,OAAO,MAAM,CAAA;AACf,CAAC"}
|
package/dist/session.d.ts
CHANGED
|
@@ -21,15 +21,17 @@ import { DashboardAPI } from "./modules/dashboard";
|
|
|
21
21
|
import { DisplayManager } from "./modules/display";
|
|
22
22
|
import { EventManager, type UnsubscribeFn } from "./modules/events";
|
|
23
23
|
import { GlassesModule } from "./modules/glasses";
|
|
24
|
-
import { HeadingModule } from "./modules/heading";
|
|
25
24
|
import { AiModule } from "./modules/ai";
|
|
26
25
|
import { ImuModule } from "./modules/imu";
|
|
26
|
+
import { CompassModule } from "./modules/compass";
|
|
27
|
+
import { LightSensorModule } from "./modules/lightSensor";
|
|
27
28
|
import { InputModule } from "./modules/input";
|
|
28
29
|
import { KeysModule } from "./modules/keys";
|
|
29
30
|
import { LedModule } from "./modules/led";
|
|
30
31
|
import { LocationModule } from "./modules/location";
|
|
31
32
|
import { MemoryModule } from "./modules/memory";
|
|
32
33
|
import { SpeakersModule } from "./modules/speakers";
|
|
34
|
+
import { MirrorModule } from "./modules/mirror";
|
|
33
35
|
import { MicModule } from "./modules/mic";
|
|
34
36
|
import { NavigationModule } from "./modules/navigation";
|
|
35
37
|
import { PermissionsModule } from "./modules/permissions";
|
|
@@ -37,6 +39,7 @@ import { PhoneModule } from "./modules/phone";
|
|
|
37
39
|
import { TranscriptionModule } from "./modules/transcription";
|
|
38
40
|
import { TranslationModule } from "./modules/translation";
|
|
39
41
|
import { type UIModule } from "./modules/ui";
|
|
42
|
+
import { SettingsModule } from "./modules/settings";
|
|
40
43
|
import { SimpleStorage } from "./modules/storage";
|
|
41
44
|
import { SpeakerModule } from "./modules/speaker";
|
|
42
45
|
import { StreamModule } from "./modules/stream";
|
|
@@ -63,9 +66,22 @@ export interface DisplayCapabilities {
|
|
|
63
66
|
width: number;
|
|
64
67
|
height: number;
|
|
65
68
|
};
|
|
69
|
+
/** Shape element types the device draws ("rect", "circle", "line", …). */
|
|
66
70
|
shapes?: string[];
|
|
71
|
+
/** True ⇒ element `transition`s animate on the device. */
|
|
72
|
+
animation?: boolean;
|
|
73
|
+
/** Geometric and SVG rotations, including duration-based transitions. */
|
|
74
|
+
rotation?: boolean;
|
|
75
|
+
/** Per-element stereo `depth` (a lens disparity) is honored; otherwise elements draw flat. */
|
|
76
|
+
depth?: boolean;
|
|
67
77
|
intensityLevels?: number;
|
|
68
78
|
partialUpdate?: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* The views this app may draw right now. "main" always; "dashboard" only
|
|
81
|
+
* for the running app whose manifest type is "system_dashboard", while the
|
|
82
|
+
* connected glasses can show the overlay slot (see display.showView).
|
|
83
|
+
*/
|
|
84
|
+
views?: Array<"main" | "dashboard">;
|
|
69
85
|
/** Legacy capability fields (resolution, isColor, maxTextLines, …) ride along. */
|
|
70
86
|
[key: string]: unknown;
|
|
71
87
|
}
|
|
@@ -78,19 +94,36 @@ export interface GlassesCapabilities {
|
|
|
78
94
|
[key: string]: unknown;
|
|
79
95
|
}
|
|
80
96
|
export type MiniappVisibility = "foreground" | "background";
|
|
97
|
+
/** Where the user started this session from: the phone app or the glasses menu. */
|
|
98
|
+
export type MiniappLaunchSource = "phone" | "glasses";
|
|
81
99
|
export interface MiniappSessionOptions extends CreateTransportOptions {
|
|
82
100
|
/** Override auto-detected packageName. Normally provided via window.Glassly. */
|
|
83
101
|
packageName?: string;
|
|
84
102
|
/** Override the ready timeout. Default 10s. */
|
|
85
103
|
connectTimeoutMs?: number;
|
|
86
104
|
}
|
|
105
|
+
/** Distance/temperature unit family. Mirrors the host's "Use Metric System" toggle. */
|
|
106
|
+
export type MiniappUnitSystem = "metric" | "imperial";
|
|
107
|
+
/**
|
|
108
|
+
* Host user preferences a miniapp should follow by default (Settings >
|
|
109
|
+
* Appearance). Sent in CONNECT_ACK and pushed on change. Miniapps may still
|
|
110
|
+
* offer their own override on top.
|
|
111
|
+
*/
|
|
112
|
+
export interface MiniappPreferences {
|
|
113
|
+
unitSystem: MiniappUnitSystem;
|
|
114
|
+
/** True for 12-hour (AM/PM) clocks, false for 24-hour. */
|
|
115
|
+
twelveHourTime: boolean;
|
|
116
|
+
}
|
|
87
117
|
export interface ConnectAckPayload {
|
|
88
118
|
type: MiniappResponseType.CONNECT_ACK;
|
|
89
119
|
userId: string;
|
|
90
120
|
packageName: string;
|
|
91
121
|
capabilities: GlassesCapabilities | null;
|
|
122
|
+
/** Absent on runtimes older than the preferences surface. */
|
|
123
|
+
preferences?: MiniappPreferences;
|
|
92
124
|
visibility?: MiniappVisibility;
|
|
93
125
|
colorScheme?: MiniappColorScheme;
|
|
126
|
+
launchSource?: MiniappLaunchSource;
|
|
94
127
|
/**
|
|
95
128
|
* Manifest-declared permission record. Mirrors cloud SDK v3's PermissionRecord:
|
|
96
129
|
* `{location, microphone, camera, notifications, calendar, apiKeys}` —
|
|
@@ -102,7 +135,7 @@ export interface ConnectAckPayload {
|
|
|
102
135
|
auth?: MiniappAuthState;
|
|
103
136
|
}
|
|
104
137
|
export interface MiniappAuthState {
|
|
105
|
-
|
|
138
|
+
userId: string;
|
|
106
139
|
oemId?: string;
|
|
107
140
|
token: string;
|
|
108
141
|
expiresAt: number;
|
|
@@ -115,7 +148,7 @@ export interface AuthUpdatePayload {
|
|
|
115
148
|
* Manifest-declared permission record. v3-aligned: lowercase canonical keys.
|
|
116
149
|
* Booleans indicate whether the miniapp declared each in its manifest.json.
|
|
117
150
|
*/
|
|
118
|
-
export type PermissionType = "location" | "microphone" | "camera" | "notifications" | "calendar" | "apiKeys" | "memory" | "ai" | "speakers";
|
|
151
|
+
export type PermissionType = "location" | "microphone" | "camera" | "notifications" | "calendar" | "apiKeys" | "memory" | "ai" | "speakers" | "displayMirror";
|
|
119
152
|
export type PermissionRecord = Record<PermissionType, boolean>;
|
|
120
153
|
export declare class NotConnectedError extends Error {
|
|
121
154
|
readonly code = MiniappErrorCode.NOT_CONNECTED;
|
|
@@ -150,6 +183,7 @@ type SessionEmitterEvents = {
|
|
|
150
183
|
disconnect: (reason: string) => void;
|
|
151
184
|
visibility: (v: MiniappVisibility) => void;
|
|
152
185
|
capabilities: (cap: GlassesCapabilities | null) => void;
|
|
186
|
+
preferences: (prefs: MiniappPreferences) => void;
|
|
153
187
|
colorScheme: (scheme: MiniappColorScheme) => void;
|
|
154
188
|
permissions: (perms: PermissionRecord) => void;
|
|
155
189
|
speakerState: (event: import("./modules/speaker").SpeakerStateEvent) => void;
|
|
@@ -157,6 +191,7 @@ type SessionEmitterEvents = {
|
|
|
157
191
|
};
|
|
158
192
|
export declare class MiniappSession<TChannels extends object = any> {
|
|
159
193
|
readonly auth: AuthModule;
|
|
194
|
+
readonly mirror: MirrorModule;
|
|
160
195
|
readonly display: DisplayManager;
|
|
161
196
|
/**
|
|
162
197
|
* Internal subscription registry + escape hatch.
|
|
@@ -172,8 +207,9 @@ export declare class MiniappSession<TChannels extends object = any> {
|
|
|
172
207
|
readonly cloud: CloudModule;
|
|
173
208
|
readonly dashboard: DashboardAPI;
|
|
174
209
|
readonly glasses: GlassesModule;
|
|
175
|
-
readonly heading: HeadingModule;
|
|
176
210
|
readonly imu: ImuModule;
|
|
211
|
+
readonly lightSensor: LightSensorModule;
|
|
212
|
+
readonly compass: CompassModule;
|
|
177
213
|
readonly input: InputModule;
|
|
178
214
|
/**
|
|
179
215
|
* User-supplied provider API keys (Settings > API Keys). Requires the
|
|
@@ -207,6 +243,11 @@ export declare class MiniappSession<TChannels extends object = any> {
|
|
|
207
243
|
readonly navigation: NavigationModule;
|
|
208
244
|
readonly permissions: PermissionsModule;
|
|
209
245
|
readonly phone: PhoneModule;
|
|
246
|
+
/**
|
|
247
|
+
* The engine's settings store behind an allowlist. SYSTEM-only — calls
|
|
248
|
+
* reject with NOT_PERMITTED unless this miniapp is a system app.
|
|
249
|
+
*/
|
|
250
|
+
readonly settings: SettingsModule;
|
|
210
251
|
readonly storage: SimpleStorage;
|
|
211
252
|
/**
|
|
212
253
|
* Phone-local persistent BINARY storage (`session.blob`) — the binary
|
|
@@ -238,9 +279,13 @@ export declare class MiniappSession<TChannels extends object = any> {
|
|
|
238
279
|
readonly actions: ActionsModule;
|
|
239
280
|
/** Phone-declared glasses capabilities. Null until CONNECT_ACK arrives. */
|
|
240
281
|
capabilities: GlassesCapabilities | null;
|
|
282
|
+
/** Host user preferences. Null until CONNECT_ACK arrives (or on runtimes that don't send them). */
|
|
283
|
+
preferences: MiniappPreferences | null;
|
|
241
284
|
userId: string;
|
|
242
285
|
packageName: string;
|
|
243
286
|
visibility: MiniappVisibility;
|
|
287
|
+
/** Where the user started this session from. Null until CONNECT_ACK arrives. */
|
|
288
|
+
launchSource: MiniappLaunchSource | null;
|
|
244
289
|
/** Host color scheme. Seeded from window.Glassly, updated via session events. */
|
|
245
290
|
colorScheme: MiniappColorScheme;
|
|
246
291
|
/** True after CONNECT_ACK. Observe with waitForReady() or the "ready" event. */
|
|
@@ -333,6 +378,7 @@ export declare class MiniappSession<TChannels extends object = any> {
|
|
|
333
378
|
onBeforeDisconnect(handler: (reason: string) => void): () => void;
|
|
334
379
|
onVisibilityChange(handler: (v: MiniappVisibility) => void): () => void;
|
|
335
380
|
onCapabilitiesChange(handler: (cap: GlassesCapabilities | null) => void): () => void;
|
|
381
|
+
onPreferencesChange(handler: (prefs: MiniappPreferences) => void): () => void;
|
|
336
382
|
onColorSchemeChange(handler: (scheme: MiniappColorScheme) => void): () => void;
|
|
337
383
|
private enqueueOrSend;
|
|
338
384
|
private flushQueue;
|
package/dist/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|