@mentra/sdk 2.1.2 → 2.1.4
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/dist/app/session/events.d.ts +3 -2
- package/dist/app/session/events.d.ts.map +1 -1
- package/dist/app/session/events.js +3 -0
- package/dist/app/session/index.d.ts +8 -1
- package/dist/app/session/index.d.ts.map +1 -1
- package/dist/app/session/index.js +9 -0
- package/dist/app/session/layouts.d.ts +71 -14
- package/dist/app/session/layouts.d.ts.map +1 -1
- package/dist/app/session/layouts.js +114 -31
- package/dist/app/session/modules/audio.d.ts +2 -2
- package/dist/app/session/modules/audio.d.ts.map +1 -1
- package/dist/app/session/modules/audio.js +21 -17
- package/dist/app/session/modules/camera-managed-extension.d.ts +3 -1
- package/dist/app/session/modules/camera-managed-extension.d.ts.map +1 -1
- package/dist/app/session/modules/camera-managed-extension.js +26 -18
- package/dist/app/session/modules/camera.d.ts +4 -4
- package/dist/app/session/modules/camera.d.ts.map +1 -1
- package/dist/app/session/modules/camera.js +28 -22
- package/dist/app/session/modules/location.d.ts +3 -3
- package/dist/app/session/modules/location.d.ts.map +1 -1
- package/dist/app/session/modules/location.js +8 -5
- package/dist/examples/managed-rtmp-streaming-example.js +3 -0
- package/dist/examples/managed-rtmp-streaming-with-restream-example.d.ts +11 -0
- package/dist/examples/managed-rtmp-streaming-with-restream-example.d.ts.map +1 -0
- package/dist/examples/managed-rtmp-streaming-with-restream-example.js +124 -0
- package/dist/index.d.ts +6 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/types/enums.d.ts +3 -1
- package/dist/types/enums.d.ts.map +1 -1
- package/dist/types/enums.js +2 -0
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/layouts.d.ts +16 -1
- package/dist/types/layouts.d.ts.map +1 -1
- package/dist/types/message-types.d.ts +2 -2
- package/dist/types/message-types.d.ts.map +1 -1
- package/dist/types/message-types.js +3 -3
- package/dist/types/messages/app-to-cloud.d.ts +11 -0
- package/dist/types/messages/app-to-cloud.d.ts.map +1 -1
- package/dist/types/messages/cloud-to-app.d.ts +19 -0
- package/dist/types/messages/cloud-to-app.d.ts.map +1 -1
- package/dist/types/messages/glasses-to-cloud.d.ts +8 -4
- package/dist/types/messages/glasses-to-cloud.d.ts.map +1 -1
- package/dist/types/messages/glasses-to-cloud.js +3 -3
- package/dist/types/models.d.ts +1 -0
- package/dist/types/models.d.ts.map +1 -1
- package/dist/types/models.js +1 -0
- package/dist/types/streams.d.ts +1 -1
- package/dist/types/streams.d.ts.map +1 -1
- package/dist/types/streams.js +2 -2
- package/dist/types/user-session.d.ts +8 -8
- package/dist/types/user-session.d.ts.map +1 -1
- package/dist/utils/animation-utils.d.ts +206 -0
- package/dist/utils/animation-utils.d.ts.map +1 -0
- package/dist/utils/animation-utils.js +340 -0
- package/dist/utils/bitmap-utils.d.ts +149 -0
- package/dist/utils/bitmap-utils.d.ts.map +1 -0
- package/dist/utils/bitmap-utils.js +465 -0
- package/package.json +2 -1
@@ -2,7 +2,7 @@
|
|
2
2
|
* 🎮 Event Manager Module
|
3
3
|
*/
|
4
4
|
import EventEmitter from 'events';
|
5
|
-
import { StreamType, ExtendedStreamType, AppSettings, WebSocketError, ButtonPress, HeadPosition, PhoneNotification, TranscriptionData, TranslationData, GlassesBatteryUpdate, PhoneBatteryUpdate, GlassesConnectionState, LocationUpdate, Vad,
|
5
|
+
import { StreamType, ExtendedStreamType, AppSettings, WebSocketError, ButtonPress, HeadPosition, PhoneNotification, TranscriptionData, TranslationData, GlassesBatteryUpdate, PhoneBatteryUpdate, GlassesConnectionState, LocationUpdate, Vad, AudioChunk, CalendarEvent, VpsCoordinates, CustomMessage, RtmpStreamStatus, PhotoTaken, ManagedStreamStatus, PhoneNotificationDismissed } from '../../types';
|
6
6
|
import { DashboardMode } from '../../types/dashboard';
|
7
7
|
import { PermissionErrorDetail } from '../../types/messages/cloud-to-app';
|
8
8
|
/** 🎯 Type-safe event handler function */
|
@@ -52,7 +52,7 @@ export interface StreamDataTypes {
|
|
52
52
|
[StreamType.LOCATION_UPDATE]: LocationUpdate;
|
53
53
|
[StreamType.CALENDAR_EVENT]: CalendarEvent;
|
54
54
|
[StreamType.VAD]: Vad;
|
55
|
-
[StreamType.
|
55
|
+
[StreamType.PHONE_NOTIFICATION_DISMISSED]: PhoneNotificationDismissed;
|
56
56
|
[StreamType.AUDIO_CHUNK]: AudioChunk;
|
57
57
|
[StreamType.VIDEO]: ArrayBuffer;
|
58
58
|
[StreamType.RTMP_STREAM_STATUS]: RtmpStreamStatus;
|
@@ -96,6 +96,7 @@ export declare class EventManager {
|
|
96
96
|
onHeadPosition(handler: Handler<HeadPosition>): () => void;
|
97
97
|
onButtonPress(handler: Handler<ButtonPress>): () => void;
|
98
98
|
onPhoneNotifications(handler: Handler<PhoneNotification>): () => void;
|
99
|
+
onPhoneNotificationDismissed(handler: Handler<PhoneNotificationDismissed>): () => void;
|
99
100
|
onGlassesBattery(handler: Handler<GlassesBatteryUpdate>): () => void;
|
100
101
|
onPhoneBattery(handler: Handler<PhoneBatteryUpdate>): () => void;
|
101
102
|
onVoiceActivity(handler: Handler<Vad>): () => void;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/app/session/events.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,cAAc,EAEd,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,GAAG,EACH,
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/app/session/events.ts"],"names":[],"mappings":"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"}
|
@@ -71,6 +71,9 @@ class EventManager {
|
|
71
71
|
onPhoneNotifications(handler) {
|
72
72
|
return this.addHandler(types_1.StreamType.PHONE_NOTIFICATION, handler);
|
73
73
|
}
|
74
|
+
onPhoneNotificationDismissed(handler) {
|
75
|
+
return this.addHandler(types_1.StreamType.PHONE_NOTIFICATION_DISMISSED, handler);
|
76
|
+
}
|
74
77
|
onGlassesBattery(handler) {
|
75
78
|
return this.addHandler(types_1.StreamType.GLASSES_BATTERY_UPDATE, handler);
|
76
79
|
}
|
@@ -4,7 +4,7 @@ import { SettingsManager } from './settings';
|
|
4
4
|
import { LocationManager } from './modules/location';
|
5
5
|
import { CameraModule } from './modules/camera';
|
6
6
|
import { AudioManager } from './modules/audio';
|
7
|
-
import { ExtendedStreamType, ButtonPress, HeadPosition, PhoneNotification, TranscriptionData, TranslationData, AppSettings, AppSetting, AppConfig, VpsCoordinates, PhotoTaken, SubscriptionRequest, Capabilities } from '../../types';
|
7
|
+
import { ExtendedStreamType, ButtonPress, HeadPosition, PhoneNotification, PhoneNotificationDismissed, TranscriptionData, TranslationData, AppSettings, AppSetting, AppConfig, VpsCoordinates, PhotoTaken, SubscriptionRequest, Capabilities } from '../../types';
|
8
8
|
import { DashboardAPI } from '../../types/dashboard';
|
9
9
|
import { Logger } from 'pino';
|
10
10
|
import { AppServer } from '../server';
|
@@ -167,6 +167,13 @@ export declare class AppSession {
|
|
167
167
|
* @deprecated Use session.events.onPhoneNotifications() instead
|
168
168
|
*/
|
169
169
|
onPhoneNotifications(handler: (data: PhoneNotification) => void): () => void;
|
170
|
+
/**
|
171
|
+
* 📱 Listen for phone notification dismissed events
|
172
|
+
* @param handler - Function to handle notification dismissal data
|
173
|
+
* @returns Cleanup function to remove the handler
|
174
|
+
* @deprecated Use session.events.onPhoneNotificationDismissed() instead
|
175
|
+
*/
|
176
|
+
onPhoneNotificationDismissed(handler: (data: PhoneNotificationDismissed) => void): () => void;
|
170
177
|
/**
|
171
178
|
* 📡 Listen for VPS coordinates updates
|
172
179
|
* @param handler - Function to handle VPS coordinates
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/app/session/index.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/app/session/index.ts"],"names":[],"mappings":"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"}
|
@@ -239,6 +239,15 @@ class AppSession {
|
|
239
239
|
onPhoneNotifications(handler) {
|
240
240
|
return this.events.onPhoneNotifications(handler);
|
241
241
|
}
|
242
|
+
/**
|
243
|
+
* 📱 Listen for phone notification dismissed events
|
244
|
+
* @param handler - Function to handle notification dismissal data
|
245
|
+
* @returns Cleanup function to remove the handler
|
246
|
+
* @deprecated Use session.events.onPhoneNotificationDismissed() instead
|
247
|
+
*/
|
248
|
+
onPhoneNotificationDismissed(handler) {
|
249
|
+
return this.events.onPhoneNotificationDismissed(handler);
|
250
|
+
}
|
242
251
|
/**
|
243
252
|
* 📡 Listen for VPS coordinates updates
|
244
253
|
* @param handler - Function to handle VPS coordinates
|
@@ -15,7 +15,7 @@
|
|
15
15
|
* layouts.showReferenceCard('Weather', 'Sunny and 75°F');
|
16
16
|
* ```
|
17
17
|
*/
|
18
|
-
import { DisplayRequest, ViewType } from
|
18
|
+
import { DisplayRequest, ViewType } from "../../types";
|
19
19
|
export declare class LayoutManager {
|
20
20
|
private packageName;
|
21
21
|
private sendMessage;
|
@@ -109,21 +109,24 @@ export declare class LayoutManager {
|
|
109
109
|
durationMs?: number;
|
110
110
|
}): void;
|
111
111
|
/**
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
112
|
+
* 📇 Shows a bitmap
|
113
|
+
*
|
114
|
+
* Uses the proven animation system internally for proper L/R eye synchronization.
|
115
|
+
* This ensures single bitmap displays work consistently with the same
|
116
|
+
* hardware-optimized timing as animations.
|
117
|
+
*
|
118
|
+
* @param data - hex or base64 encoded bitmap data
|
119
|
+
* @param options - Optional parameters (view, duration)
|
120
|
+
*
|
121
|
+
* @example
|
122
|
+
* ```typescript
|
123
|
+
* layouts.showBitmapView(
|
124
|
+
* yourHexOrBase64EncodedBitmapDataString
|
125
|
+
* );
|
126
|
+
* ```
|
127
|
+
*/
|
124
128
|
showBitmapView(data: string, options?: {
|
125
129
|
view?: ViewType;
|
126
|
-
durationMs?: number;
|
127
130
|
}): void;
|
128
131
|
/**
|
129
132
|
* 📊 Shows a dashboard card with left and right text
|
@@ -146,5 +149,59 @@ export declare class LayoutManager {
|
|
146
149
|
view?: ViewType;
|
147
150
|
durationMs?: number;
|
148
151
|
}): void;
|
152
|
+
/**
|
153
|
+
* 🧹 Clears the display
|
154
|
+
*
|
155
|
+
* Best for:
|
156
|
+
* - Clearing previous content
|
157
|
+
* - Resetting display state
|
158
|
+
* - Starting fresh
|
159
|
+
*
|
160
|
+
* @param options - Optional parameters (view)
|
161
|
+
*
|
162
|
+
* @example
|
163
|
+
* ```typescript
|
164
|
+
* layouts.clearView();
|
165
|
+
* layouts.clearView({ view: ViewType.DASHBOARD });
|
166
|
+
* ```
|
167
|
+
*/
|
168
|
+
clearView(options?: {
|
169
|
+
view?: ViewType;
|
170
|
+
}): void;
|
171
|
+
/**
|
172
|
+
* 🎬 Shows an animated sequence of bitmap images (iOS-controlled timing)
|
173
|
+
*
|
174
|
+
* Sends complete animation package to iOS for device-controlled timing.
|
175
|
+
* This provides superior performance and synchronization by letting
|
176
|
+
* the device control the display timing directly.
|
177
|
+
*
|
178
|
+
* Best for:
|
179
|
+
* - Smooth high-performance animations
|
180
|
+
* - Precise timing control
|
181
|
+
* - Synchronized left/right display
|
182
|
+
* - EvenDemo-quality performance
|
183
|
+
*
|
184
|
+
* @param bitmapDataArray - Array of bitmap data strings (hex or base64 encoded)
|
185
|
+
* @param intervalMs - Time between frames in milliseconds (default: 1650ms)
|
186
|
+
* @param repeat - Whether to loop the animation continuously (default: false)
|
187
|
+
* @param options - Optional parameters (view)
|
188
|
+
*
|
189
|
+
* @example
|
190
|
+
* ```typescript
|
191
|
+
* // Device-controlled animation (recommended)
|
192
|
+
* const frames = ['hexdata1', 'hexdata2', 'hexdata3'];
|
193
|
+
* layouts.showBitmapAnimation(frames, 1650, true);
|
194
|
+
*
|
195
|
+
* // Single-cycle animation
|
196
|
+
* layouts.showBitmapAnimation(loadingFrames, 1650, false);
|
197
|
+
* ```
|
198
|
+
*
|
199
|
+
* @returns Animation controller object with stop() method
|
200
|
+
*/
|
201
|
+
showBitmapAnimation(bitmapDataArray: string[], intervalMs?: number, repeat?: boolean, options?: {
|
202
|
+
view?: ViewType;
|
203
|
+
}): {
|
204
|
+
stop: () => void;
|
205
|
+
};
|
149
206
|
}
|
150
207
|
//# sourceMappingURL=layouts.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"layouts.d.ts","sourceRoot":"","sources":["../../../src/app/session/layouts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EACL,cAAc,EAOd,QAAQ,
|
1
|
+
{"version":3,"file":"layouts.d.ts","sourceRoot":"","sources":["../../../src/app/session/layouts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EACL,cAAc,EAOd,QAAQ,EAKT,MAAM,aAAa,CAAC;AAErB,qBAAa,aAAa;IAQtB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,WAAW;IARrB;;;;;OAKG;gBAEO,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI;IAGxD;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAoH1B;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,CACV,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,QAAQ,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IAuCpD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,kBAAkB,CAChB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,QAAQ,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IAYpD;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,iBAAiB,CACf,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,QAAQ,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IAYpD;;;;;;;;;;;;;;;;OAgBG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,QAAQ,CAAA;KAAE;IAQ1D;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAiB,CACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,QAAQ,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IAgBpD;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,QAAQ,CAAA;KAAE;IAOvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,mBAAmB,CACjB,eAAe,EAAE,MAAM,EAAE,EACzB,UAAU,GAAE,MAAa,EACzB,MAAM,GAAE,OAAe,EACvB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,QAAQ,CAAA;KAAE,GAC5B;QAAE,IAAI,EAAE,MAAM,IAAI,CAAA;KAAE;CAiCxB"}
|
@@ -51,7 +51,7 @@ class LayoutManager {
|
|
51
51
|
// Layout-specific validations
|
52
52
|
switch (layout.layoutType) {
|
53
53
|
case types_1.LayoutType.TEXT_WALL:
|
54
|
-
if (typeof layout.text !==
|
54
|
+
if (typeof layout.text !== "string") {
|
55
55
|
throw new Error("TextWall layout must have a text property");
|
56
56
|
}
|
57
57
|
// Ensure text is not too long (prevent performance issues)
|
@@ -61,41 +61,45 @@ class LayoutManager {
|
|
61
61
|
break;
|
62
62
|
case types_1.LayoutType.DOUBLE_TEXT_WALL:
|
63
63
|
const doubleText = layout;
|
64
|
-
if (typeof doubleText.topText !==
|
64
|
+
if (typeof doubleText.topText !== "string") {
|
65
65
|
throw new Error("DoubleTextWall layout must have a topText property");
|
66
66
|
}
|
67
|
-
if (typeof doubleText.bottomText !==
|
67
|
+
if (typeof doubleText.bottomText !== "string") {
|
68
68
|
throw new Error("DoubleTextWall layout must have a bottomText property");
|
69
69
|
}
|
70
70
|
break;
|
71
71
|
case types_1.LayoutType.REFERENCE_CARD:
|
72
72
|
const refCard = layout;
|
73
|
-
if (typeof refCard.title !==
|
73
|
+
if (typeof refCard.title !== "string") {
|
74
74
|
throw new Error("ReferenceCard layout must have a title property");
|
75
75
|
}
|
76
|
-
if (typeof refCard.text !==
|
76
|
+
if (typeof refCard.text !== "string") {
|
77
77
|
throw new Error("ReferenceCard layout must have a text property");
|
78
78
|
}
|
79
79
|
break;
|
80
80
|
case types_1.LayoutType.DASHBOARD_CARD:
|
81
81
|
const dashCard = layout;
|
82
|
-
if (typeof dashCard.leftText !==
|
82
|
+
if (typeof dashCard.leftText !== "string") {
|
83
83
|
throw new Error("DashboardCard layout must have a leftText property");
|
84
84
|
}
|
85
|
-
if (typeof dashCard.rightText !==
|
85
|
+
if (typeof dashCard.rightText !== "string") {
|
86
86
|
throw new Error("DashboardCard layout must have a rightText property");
|
87
87
|
}
|
88
88
|
break;
|
89
89
|
case types_1.LayoutType.BITMAP_VIEW:
|
90
90
|
const bitmapView = layout;
|
91
|
-
if (typeof bitmapView.data !==
|
91
|
+
if (typeof bitmapView.data !== "string") {
|
92
92
|
throw new Error("BitmapView layout must have a data property");
|
93
93
|
}
|
94
94
|
// Check if data is too large (prevent OOM errors)
|
95
|
-
if (bitmapView.data.length > 1000000) {
|
95
|
+
if (bitmapView.data.length > 1000000) {
|
96
|
+
// 1MB limit
|
96
97
|
throw new Error("Bitmap data is too large (>1MB), please reduce size");
|
97
98
|
}
|
98
99
|
break;
|
100
|
+
case types_1.LayoutType.CLEAR_VIEW:
|
101
|
+
// ClearView has no additional validation needed
|
102
|
+
break;
|
99
103
|
}
|
100
104
|
// Validate view type
|
101
105
|
if (view !== types_1.ViewType.MAIN && view !== types_1.ViewType.DASHBOARD) {
|
@@ -104,7 +108,7 @@ class LayoutManager {
|
|
104
108
|
}
|
105
109
|
// Validate duration if provided
|
106
110
|
if (durationMs !== undefined) {
|
107
|
-
if (typeof durationMs !==
|
111
|
+
if (typeof durationMs !== "number" || durationMs < 0) {
|
108
112
|
console.warn(`Invalid duration: ${durationMs}, ignoring`);
|
109
113
|
durationMs = undefined;
|
110
114
|
}
|
@@ -112,12 +116,12 @@ class LayoutManager {
|
|
112
116
|
// Create the display request with validated data
|
113
117
|
return {
|
114
118
|
timestamp: new Date(),
|
115
|
-
sessionId:
|
119
|
+
sessionId: "", // Will be filled by session
|
116
120
|
type: types_1.AppToCloudMessageType.DISPLAY_REQUEST,
|
117
121
|
packageName: this.packageName,
|
118
122
|
view,
|
119
123
|
layout,
|
120
|
-
durationMs
|
124
|
+
durationMs,
|
121
125
|
};
|
122
126
|
}
|
123
127
|
catch (error) {
|
@@ -151,14 +155,14 @@ class LayoutManager {
|
|
151
155
|
console.warn("showTextWall called with null/undefined text");
|
152
156
|
}
|
153
157
|
// Ensure text is a string
|
154
|
-
if (typeof text !==
|
158
|
+
if (typeof text !== "string") {
|
155
159
|
text = String(text); // Convert to string
|
156
160
|
console.warn("showTextWall: Non-string input converted to string");
|
157
161
|
}
|
158
162
|
// Create layout with validated text
|
159
163
|
const layout = {
|
160
164
|
layoutType: types_1.LayoutType.TEXT_WALL,
|
161
|
-
text
|
165
|
+
text,
|
162
166
|
};
|
163
167
|
// Create and send display event with error handling
|
164
168
|
try {
|
@@ -200,7 +204,7 @@ class LayoutManager {
|
|
200
204
|
const layout = {
|
201
205
|
layoutType: types_1.LayoutType.DOUBLE_TEXT_WALL,
|
202
206
|
topText,
|
203
|
-
bottomText
|
207
|
+
bottomText,
|
204
208
|
};
|
205
209
|
this.sendMessage(this.createDisplayEvent(layout, options?.view, options?.durationMs));
|
206
210
|
}
|
@@ -229,29 +233,33 @@ class LayoutManager {
|
|
229
233
|
const layout = {
|
230
234
|
layoutType: types_1.LayoutType.REFERENCE_CARD,
|
231
235
|
title,
|
232
|
-
text
|
236
|
+
text,
|
233
237
|
};
|
234
238
|
this.sendMessage(this.createDisplayEvent(layout, options?.view, options?.durationMs));
|
235
239
|
}
|
236
240
|
/**
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
241
|
+
* 📇 Shows a bitmap
|
242
|
+
*
|
243
|
+
* Uses the proven animation system internally for proper L/R eye synchronization.
|
244
|
+
* This ensures single bitmap displays work consistently with the same
|
245
|
+
* hardware-optimized timing as animations.
|
246
|
+
*
|
247
|
+
* @param data - hex or base64 encoded bitmap data
|
248
|
+
* @param options - Optional parameters (view, duration)
|
249
|
+
*
|
250
|
+
* @example
|
251
|
+
* ```typescript
|
252
|
+
* layouts.showBitmapView(
|
253
|
+
* yourHexOrBase64EncodedBitmapDataString
|
254
|
+
* );
|
255
|
+
* ```
|
256
|
+
*/
|
249
257
|
showBitmapView(data, options) {
|
250
258
|
const layout = {
|
251
259
|
layoutType: types_1.LayoutType.BITMAP_VIEW,
|
252
|
-
data
|
260
|
+
data: data,
|
253
261
|
};
|
254
|
-
this.sendMessage(this.createDisplayEvent(layout, options?.view
|
262
|
+
this.sendMessage(this.createDisplayEvent(layout, options?.view));
|
255
263
|
}
|
256
264
|
/**
|
257
265
|
* 📊 Shows a dashboard card with left and right text
|
@@ -274,9 +282,84 @@ class LayoutManager {
|
|
274
282
|
const layout = {
|
275
283
|
layoutType: types_1.LayoutType.DASHBOARD_CARD,
|
276
284
|
leftText,
|
277
|
-
rightText
|
285
|
+
rightText,
|
278
286
|
};
|
279
287
|
this.sendMessage(this.createDisplayEvent(layout, options?.view || types_1.ViewType.DASHBOARD, options?.durationMs));
|
280
288
|
}
|
289
|
+
/**
|
290
|
+
* 🧹 Clears the display
|
291
|
+
*
|
292
|
+
* Best for:
|
293
|
+
* - Clearing previous content
|
294
|
+
* - Resetting display state
|
295
|
+
* - Starting fresh
|
296
|
+
*
|
297
|
+
* @param options - Optional parameters (view)
|
298
|
+
*
|
299
|
+
* @example
|
300
|
+
* ```typescript
|
301
|
+
* layouts.clearView();
|
302
|
+
* layouts.clearView({ view: ViewType.DASHBOARD });
|
303
|
+
* ```
|
304
|
+
*/
|
305
|
+
clearView(options) {
|
306
|
+
const layout = {
|
307
|
+
layoutType: types_1.LayoutType.CLEAR_VIEW,
|
308
|
+
};
|
309
|
+
this.sendMessage(this.createDisplayEvent(layout, options?.view));
|
310
|
+
}
|
311
|
+
/**
|
312
|
+
* 🎬 Shows an animated sequence of bitmap images (iOS-controlled timing)
|
313
|
+
*
|
314
|
+
* Sends complete animation package to iOS for device-controlled timing.
|
315
|
+
* This provides superior performance and synchronization by letting
|
316
|
+
* the device control the display timing directly.
|
317
|
+
*
|
318
|
+
* Best for:
|
319
|
+
* - Smooth high-performance animations
|
320
|
+
* - Precise timing control
|
321
|
+
* - Synchronized left/right display
|
322
|
+
* - EvenDemo-quality performance
|
323
|
+
*
|
324
|
+
* @param bitmapDataArray - Array of bitmap data strings (hex or base64 encoded)
|
325
|
+
* @param intervalMs - Time between frames in milliseconds (default: 1650ms)
|
326
|
+
* @param repeat - Whether to loop the animation continuously (default: false)
|
327
|
+
* @param options - Optional parameters (view)
|
328
|
+
*
|
329
|
+
* @example
|
330
|
+
* ```typescript
|
331
|
+
* // Device-controlled animation (recommended)
|
332
|
+
* const frames = ['hexdata1', 'hexdata2', 'hexdata3'];
|
333
|
+
* layouts.showBitmapAnimation(frames, 1650, true);
|
334
|
+
*
|
335
|
+
* // Single-cycle animation
|
336
|
+
* layouts.showBitmapAnimation(loadingFrames, 1650, false);
|
337
|
+
* ```
|
338
|
+
*
|
339
|
+
* @returns Animation controller object with stop() method
|
340
|
+
*/
|
341
|
+
showBitmapAnimation(bitmapDataArray, intervalMs = 1650, repeat = false, options) {
|
342
|
+
// Validation
|
343
|
+
if (!Array.isArray(bitmapDataArray) || bitmapDataArray.length === 0) {
|
344
|
+
throw new Error("showBitmapAnimation requires a non-empty array of bitmap data");
|
345
|
+
}
|
346
|
+
// Send complete animation package to iOS for device-controlled timing
|
347
|
+
const layout = {
|
348
|
+
layoutType: types_1.LayoutType.BITMAP_ANIMATION,
|
349
|
+
frames: bitmapDataArray,
|
350
|
+
interval: intervalMs,
|
351
|
+
repeat: repeat,
|
352
|
+
};
|
353
|
+
this.sendMessage(this.createDisplayEvent(layout, options?.view));
|
354
|
+
console.log(`🎬 Sent batched animation to iOS: ${bitmapDataArray.length} frames at ${intervalMs}ms${repeat ? " (repeating)" : ""}`);
|
355
|
+
// Return controller for compatibility
|
356
|
+
return {
|
357
|
+
stop: () => {
|
358
|
+
// Send stop command to iOS
|
359
|
+
this.clearView();
|
360
|
+
console.log("🛑 Animation stop requested");
|
361
|
+
},
|
362
|
+
};
|
363
|
+
}
|
281
364
|
}
|
282
365
|
exports.LayoutManager = LayoutManager;
|
@@ -4,8 +4,8 @@
|
|
4
4
|
* Audio functionality for App Sessions.
|
5
5
|
* Handles audio playback on connected glasses.
|
6
6
|
*/
|
7
|
-
import { AudioPlayResponse } from
|
8
|
-
import { Logger } from
|
7
|
+
import { AudioPlayResponse } from "../../../types";
|
8
|
+
import { Logger } from "pino";
|
9
9
|
/**
|
10
10
|
* Options for audio playback
|
11
11
|
*/
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../../../../src/app/session/modules/audio.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAEL,iBAAiB,EAGlB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,cAAc,CAAC,EAAE;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,IAAI,CAAyB;IACrC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAC,CAAM;IACtB,OAAO,CAAC,MAAM,CAAS;IAEvB,uDAAuD;IACvD,OAAO,CAAC,oBAAoB,
|
1
|
+
{"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../../../../src/app/session/modules/audio.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAEL,iBAAiB,EAGlB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,cAAc,CAAC,EAAE;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gDAAgD;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,IAAI,CAAyB;IACrC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAC,CAAM;IACtB,OAAO,CAAC,MAAM,CAAS;IAEvB,uDAAuD;IACvD,OAAO,CAAC,oBAAoB,CAMxB;IAEJ;;;;;;;;OAQG;gBAED,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,EAC5B,OAAO,CAAC,EAAE,GAAG,EACb,MAAM,CAAC,EAAE,MAAM;IAajB;;;;;;;;;;;;;OAaG;IACG,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAqEpE;;;;;;;;OAQG;IACH,SAAS,IAAI,IAAI;IAqBjB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,KAAK,CACT,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,eAAe,CAAC;IA+C3B;;;;;;;;OAQG;IACH,uBAAuB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAkC1D;;;;OAIG;IACH,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAO9C;;;OAGG;IACH,sBAAsB,IAAI,MAAM;IAIhC;;;OAGG;IACH,oBAAoB,IAAI,MAAM,EAAE;IAIhC;;;;OAIG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAW9C;;;OAGG;IACH,sBAAsB,IAAI,MAAM;IAyBhC;;;;OAIG;IACH,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAK3C;;;;OAIG;IACH,iBAAiB,IAAI;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE;CAI/C"}
|
@@ -71,7 +71,7 @@ class AudioManager {
|
|
71
71
|
try {
|
72
72
|
// Validate input
|
73
73
|
if (!options.audioUrl) {
|
74
|
-
reject(
|
74
|
+
reject("audioUrl must be provided");
|
75
75
|
return;
|
76
76
|
}
|
77
77
|
// Generate unique request ID
|
@@ -87,7 +87,7 @@ class AudioManager {
|
|
87
87
|
timestamp: new Date(),
|
88
88
|
audioUrl: options.audioUrl,
|
89
89
|
volume: options.volume ?? 1.0,
|
90
|
-
stopOtherAudio: options.stopOtherAudio ?? true
|
90
|
+
stopOtherAudio: options.stopOtherAudio ?? true,
|
91
91
|
};
|
92
92
|
// Send request to cloud
|
93
93
|
this.send(message);
|
@@ -97,7 +97,9 @@ class AudioManager {
|
|
97
97
|
// Use session's resource tracker for automatic cleanup
|
98
98
|
this.session.resources.setTimeout(() => {
|
99
99
|
if (this.pendingAudioRequests.has(requestId)) {
|
100
|
-
this.pendingAudioRequests
|
100
|
+
this.pendingAudioRequests
|
101
|
+
.get(requestId)
|
102
|
+
.reject("Audio play request timed out");
|
101
103
|
this.pendingAudioRequests.delete(requestId);
|
102
104
|
this.logger.warn({ requestId }, `🔊 Audio play request timed out`);
|
103
105
|
}
|
@@ -107,7 +109,9 @@ class AudioManager {
|
|
107
109
|
// Fallback to regular setTimeout if session not available
|
108
110
|
setTimeout(() => {
|
109
111
|
if (this.pendingAudioRequests.has(requestId)) {
|
110
|
-
this.pendingAudioRequests
|
112
|
+
this.pendingAudioRequests
|
113
|
+
.get(requestId)
|
114
|
+
.reject("Audio play request timed out");
|
111
115
|
this.pendingAudioRequests.delete(requestId);
|
112
116
|
this.logger.warn({ requestId }, `🔊 Audio play request timed out`);
|
113
117
|
}
|
@@ -116,7 +120,7 @@ class AudioManager {
|
|
116
120
|
}
|
117
121
|
catch (error) {
|
118
122
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
119
|
-
reject(
|
123
|
+
reject(`Failed to play audio: ${errorMessage}`);
|
120
124
|
}
|
121
125
|
});
|
122
126
|
}
|
@@ -136,7 +140,7 @@ class AudioManager {
|
|
136
140
|
type: types_1.AppToCloudMessageType.AUDIO_STOP_REQUEST,
|
137
141
|
packageName: this.packageName,
|
138
142
|
sessionId: this.sessionId,
|
139
|
-
timestamp: new Date()
|
143
|
+
timestamp: new Date(),
|
140
144
|
};
|
141
145
|
// Send request to cloud (one-way, no response expected)
|
142
146
|
this.send(message);
|
@@ -172,24 +176,24 @@ class AudioManager {
|
|
172
176
|
async speak(text, options = {}) {
|
173
177
|
// Validate input
|
174
178
|
if (!text) {
|
175
|
-
throw new Error(
|
179
|
+
throw new Error("text must be provided");
|
176
180
|
}
|
177
181
|
// Get the HTTPS server URL from the session
|
178
182
|
const baseUrl = this.session?.getHttpsServerUrl?.();
|
179
183
|
if (!baseUrl) {
|
180
|
-
throw new Error(
|
184
|
+
throw new Error("Cannot determine server URL for TTS endpoint");
|
181
185
|
}
|
182
186
|
// Build query parameters for the TTS endpoint
|
183
187
|
const queryParams = new URLSearchParams();
|
184
|
-
queryParams.append(
|
188
|
+
queryParams.append("text", text);
|
185
189
|
if (options.voice_id) {
|
186
|
-
queryParams.append(
|
190
|
+
queryParams.append("voice_id", options.voice_id);
|
187
191
|
}
|
188
192
|
if (options.model_id) {
|
189
|
-
queryParams.append(
|
193
|
+
queryParams.append("model_id", options.model_id);
|
190
194
|
}
|
191
195
|
if (options.voice_settings) {
|
192
|
-
queryParams.append(
|
196
|
+
queryParams.append("voice_settings", JSON.stringify(options.voice_settings));
|
193
197
|
}
|
194
198
|
// Construct the TTS URL
|
195
199
|
const ttsUrl = `${baseUrl}/api/tts?${queryParams.toString()}`;
|
@@ -197,7 +201,7 @@ class AudioManager {
|
|
197
201
|
// Use the existing playAudio method to play the TTS audio
|
198
202
|
return this.playAudio({
|
199
203
|
audioUrl: ttsUrl,
|
200
|
-
volume: options.volume
|
204
|
+
volume: options.volume,
|
201
205
|
});
|
202
206
|
}
|
203
207
|
// =====================================
|
@@ -219,14 +223,14 @@ class AudioManager {
|
|
219
223
|
pendingRequest.resolve({
|
220
224
|
success: response.success,
|
221
225
|
error: response.error,
|
222
|
-
duration: response.duration
|
226
|
+
duration: response.duration,
|
223
227
|
});
|
224
228
|
// Clean up
|
225
229
|
this.pendingAudioRequests.delete(response.requestId);
|
226
230
|
this.logger.info({
|
227
231
|
requestId: response.requestId,
|
228
232
|
success: response.success,
|
229
|
-
duration: response.duration
|
233
|
+
duration: response.duration,
|
230
234
|
}, `🔊 Audio play response received`);
|
231
235
|
}
|
232
236
|
else {
|
@@ -269,7 +273,7 @@ class AudioManager {
|
|
269
273
|
cancelAudioRequest(requestId) {
|
270
274
|
const pendingRequest = this.pendingAudioRequests.get(requestId);
|
271
275
|
if (pendingRequest) {
|
272
|
-
pendingRequest.reject(
|
276
|
+
pendingRequest.reject("Audio request cancelled");
|
273
277
|
this.pendingAudioRequests.delete(requestId);
|
274
278
|
this.logger.info({ requestId }, `🔊 Audio request cancelled`);
|
275
279
|
return true;
|
@@ -283,7 +287,7 @@ class AudioManager {
|
|
283
287
|
cancelAllAudioRequests() {
|
284
288
|
const count = this.pendingAudioRequests.size;
|
285
289
|
this.pendingAudioRequests.forEach((request, requestId) => {
|
286
|
-
request.reject(
|
290
|
+
request.reject("Audio request cancelled due to cleanup");
|
287
291
|
this.logger.debug({ requestId }, `🔊 Audio request cancelled during cleanup`);
|
288
292
|
});
|
289
293
|
this.pendingAudioRequests.clear();
|