@glassly/miniapp 0.1.0-dev.117 → 0.1.0-dev.119
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.
|
@@ -210,10 +210,12 @@ export interface NativeNavResult {
|
|
|
210
210
|
reason?: string;
|
|
211
211
|
}
|
|
212
212
|
/**
|
|
213
|
-
* Outcome of a render request
|
|
214
|
-
*
|
|
215
|
-
*
|
|
216
|
-
*
|
|
213
|
+
* Outcome of a render request. "displayed" = the host accepted the frame;
|
|
214
|
+
* on scene devices it resolves once the glasses have the frame and its
|
|
215
|
+
* transitions have finished playing (`presented`), or once the host knows
|
|
216
|
+
* the frame won't show right now (`presented: false`, `reason` says why —
|
|
217
|
+
* dashboard covering the view, screen off, nav UI up, glasses busy).
|
|
218
|
+
* "blocked" = another app owns the display (or the request failed).
|
|
217
219
|
*/
|
|
218
220
|
export interface RenderResult {
|
|
219
221
|
status: "displayed" | "blocked";
|
|
@@ -221,6 +223,13 @@ export interface RenderResult {
|
|
|
221
223
|
degraded?: boolean;
|
|
222
224
|
/** Ids of elements the host dropped (budget/bounds/device limits) — dropped is never silent. */
|
|
223
225
|
dropped?: string[];
|
|
226
|
+
/**
|
|
227
|
+
* The glasses showed this frame's content before the promise resolved.
|
|
228
|
+
* Absent on legacy/degrade paths, where "displayed" still just means sent.
|
|
229
|
+
*/
|
|
230
|
+
presented?: boolean;
|
|
231
|
+
/** A newer render() from this app landed before this one was reported; its content is on screen. */
|
|
232
|
+
superseded?: boolean;
|
|
224
233
|
reason?: string;
|
|
225
234
|
}
|
|
226
235
|
export declare class DisplayManager {
|
|
@@ -240,8 +249,12 @@ export declare class DisplayManager {
|
|
|
240
249
|
* over-budget elements are dropped tail-first; both are reported via the
|
|
241
250
|
* result, never silently.
|
|
242
251
|
*
|
|
243
|
-
* Awaiting is OPT-IN — a plain fire-and-forget call is fine.
|
|
244
|
-
* promise
|
|
252
|
+
* Awaiting is OPT-IN — a plain fire-and-forget call is fine. Awaited, the
|
|
253
|
+
* promise resolves once the glasses have the frame and any transitions it
|
|
254
|
+
* started have finished (see `RenderResult.presented`), so `await` in a
|
|
255
|
+
* loop paces you at the real display rate. Frames that arrive faster than
|
|
256
|
+
* the host sends them are folded into the next one; each still resolves
|
|
257
|
+
* when its content is on screen. The returned promise never rejects.
|
|
245
258
|
*
|
|
246
259
|
* @example
|
|
247
260
|
* const result = await session.display.render([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../src/modules/display.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../src/modules/display.ts"],"names":[],"mappings":"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"}
|
package/dist/modules/display.js
CHANGED
|
@@ -27,8 +27,12 @@ export class DisplayManager {
|
|
|
27
27
|
* over-budget elements are dropped tail-first; both are reported via the
|
|
28
28
|
* result, never silently.
|
|
29
29
|
*
|
|
30
|
-
* Awaiting is OPT-IN — a plain fire-and-forget call is fine.
|
|
31
|
-
* promise
|
|
30
|
+
* Awaiting is OPT-IN — a plain fire-and-forget call is fine. Awaited, the
|
|
31
|
+
* promise resolves once the glasses have the frame and any transitions it
|
|
32
|
+
* started have finished (see `RenderResult.presented`), so `await` in a
|
|
33
|
+
* loop paces you at the real display rate. Frames that arrive faster than
|
|
34
|
+
* the host sends them are folded into the next one; each still resolves
|
|
35
|
+
* when its content is on screen. The returned promise never rejects.
|
|
32
36
|
*
|
|
33
37
|
* @example
|
|
34
38
|
* const result = await session.display.render([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display.js","sourceRoot":"","sources":["../../src/modules/display.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAC,kBAAkB,EAAC,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"display.js","sourceRoot":"","sources":["../../src/modules/display.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAC,kBAAkB,EAAC,MAAM,aAAa,CAAA;AAyO9C,MAAM,OAAO,cAAc;IACzB,YAA6B,OAAuB;QAAvB,YAAO,GAAP,OAAO,CAAgB;IAAG,CAAC;IAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,MAAM,CAAC,QAAyB,EAAE,UAAyB,EAAE;QAC3D,OAAO,IAAI,CAAC,OAAO;aAChB,WAAW,CAAe;YACzB,IAAI,EAAE,kBAAkB,CAAC,MAAM;YAC/B,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,MAAM;YAC5B,QAAQ;YACR,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACf,MAAM,EAAE,SAAkB;YAC1B,MAAM,EACJ,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,SAAS,IAAI,GAAG;gBACzD,CAAC,CAAC,MAAM,CAAE,GAA0B,CAAC,OAAO,CAAC;gBAC7C,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SAClB,CAAC,CAAC,CAAA;IACP,CAAC;IAED,oDAAoD;IACpD,iBAAiB,CAAC,IAAmB;QACnC,OAAO,IAAI,CAAC,aAAa,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC,CAAA;IACnD,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAAC,IAAY,EAAE,UAAoD,EAAE;QACvF,OAAO,IAAI,CAAC,aAAa,CAAC,EAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,EAAC,IAAI,EAAE,GAAG,OAAO,EAAC,EAAC,CAAC,CAAA;IAC1E,CAAC;IAED,0EAA0E;IAC1E,wBAAwB,CAAC,IAAY;QACnC,OAAO,IAAI,CAAC,aAAa,CAAC,EAAC,MAAM,EAAE,cAAc,EAAE,GAAG,EAAE,EAAC,IAAI,EAAC,EAAC,CAAC,CAAA;IAClE,CAAC;IAEO,aAAa,CAAC,OAAgC;QACpD,OAAO,IAAI,CAAC,OAAO;aAChB,WAAW,CAAkB,EAAC,IAAI,EAAE,kBAAkB,CAAC,UAAU,EAAE,GAAG,OAAO,EAAC,CAAC;aAC/E,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACf,MAAM,EAAE,aAAsB;YAC9B,MAAM,EACJ,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,SAAS,IAAI,GAAG;gBACzD,CAAC,CAAC,MAAM,CAAE,GAA0B,CAAC,OAAO,CAAC;gBAC7C,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SAClB,CAAC,CAAC,CAAA;IACP,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@glassly/miniapp",
|
|
3
|
-
"version": "0.1.0-dev.
|
|
3
|
+
"version": "0.1.0-dev.119",
|
|
4
4
|
"description": "SDK for building Glassly local miniapps (browser/WebView)",
|
|
5
5
|
"author": "Glassly Labs",
|
|
6
6
|
"license": "MIT",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
}
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@glassly/cloud-protocol": "0.1.0-dev.
|
|
60
|
+
"@glassly/cloud-protocol": "0.1.0-dev.119",
|
|
61
61
|
"eventemitter3": "^5.0.1"
|
|
62
62
|
},
|
|
63
63
|
"devDependencies": {
|
package/src/modules/display.ts
CHANGED
|
@@ -219,10 +219,12 @@ export interface NativeNavResult {
|
|
|
219
219
|
}
|
|
220
220
|
|
|
221
221
|
/**
|
|
222
|
-
* Outcome of a render request
|
|
223
|
-
*
|
|
224
|
-
*
|
|
225
|
-
*
|
|
222
|
+
* Outcome of a render request. "displayed" = the host accepted the frame;
|
|
223
|
+
* on scene devices it resolves once the glasses have the frame and its
|
|
224
|
+
* transitions have finished playing (`presented`), or once the host knows
|
|
225
|
+
* the frame won't show right now (`presented: false`, `reason` says why —
|
|
226
|
+
* dashboard covering the view, screen off, nav UI up, glasses busy).
|
|
227
|
+
* "blocked" = another app owns the display (or the request failed).
|
|
226
228
|
*/
|
|
227
229
|
export interface RenderResult {
|
|
228
230
|
status: "displayed" | "blocked"
|
|
@@ -230,6 +232,13 @@ export interface RenderResult {
|
|
|
230
232
|
degraded?: boolean
|
|
231
233
|
/** Ids of elements the host dropped (budget/bounds/device limits) — dropped is never silent. */
|
|
232
234
|
dropped?: string[]
|
|
235
|
+
/**
|
|
236
|
+
* The glasses showed this frame's content before the promise resolved.
|
|
237
|
+
* Absent on legacy/degrade paths, where "displayed" still just means sent.
|
|
238
|
+
*/
|
|
239
|
+
presented?: boolean
|
|
240
|
+
/** A newer render() from this app landed before this one was reported; its content is on screen. */
|
|
241
|
+
superseded?: boolean
|
|
233
242
|
reason?: string
|
|
234
243
|
}
|
|
235
244
|
|
|
@@ -250,8 +259,12 @@ export class DisplayManager {
|
|
|
250
259
|
* over-budget elements are dropped tail-first; both are reported via the
|
|
251
260
|
* result, never silently.
|
|
252
261
|
*
|
|
253
|
-
* Awaiting is OPT-IN — a plain fire-and-forget call is fine.
|
|
254
|
-
* promise
|
|
262
|
+
* Awaiting is OPT-IN — a plain fire-and-forget call is fine. Awaited, the
|
|
263
|
+
* promise resolves once the glasses have the frame and any transitions it
|
|
264
|
+
* started have finished (see `RenderResult.presented`), so `await` in a
|
|
265
|
+
* loop paces you at the real display rate. Frames that arrive faster than
|
|
266
|
+
* the host sends them are folded into the next one; each still resolves
|
|
267
|
+
* when its content is on screen. The returned promise never rejects.
|
|
255
268
|
*
|
|
256
269
|
* @example
|
|
257
270
|
* const result = await session.display.render([
|