@push.rocks/smartbrowser 4.0.2 → 4.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/classes.livebrowsercanvasrenderer.d.ts +61 -5
- package/dist_ts_web/classes.livebrowsercanvasrenderer.js +475 -134
- package/dist_ts_web/interfaces.livebrowsercanvas.d.ts +27 -1
- package/package.json +3 -3
- package/readme.hints.md +8 -6
- package/readme.md +10 -4
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/classes.livebrowsercanvasrenderer.ts +558 -144
- package/ts_web/interfaces.livebrowsercanvas.ts +29 -1
|
@@ -26,10 +26,11 @@ export interface ILiveBrowserCanvasClient {
|
|
|
26
26
|
requestArg: ILiveBrowserFrameAcknowledgementRequest,
|
|
27
27
|
optionsArg: ILiveBrowserCanvasOperationOptions,
|
|
28
28
|
): Promise<ILiveBrowserFrameAcknowledgement>;
|
|
29
|
+
/** Shared hosts return their effective viewport, which may be constrained by another viewer. */
|
|
29
30
|
setViewport(
|
|
30
31
|
viewportArg: ILiveBrowserViewport,
|
|
31
32
|
optionsArg: ILiveBrowserCanvasOperationOptions,
|
|
32
|
-
): Promise<void>;
|
|
33
|
+
): Promise<void | ILiveBrowserCanvasViewportResult>;
|
|
33
34
|
dispatchMouse(
|
|
34
35
|
inputArg: ILiveBrowserMouseInput,
|
|
35
36
|
optionsArg: ILiveBrowserCanvasOperationOptions,
|
|
@@ -48,6 +49,12 @@ export interface ILiveBrowserCanvasClient {
|
|
|
48
49
|
): Promise<void>;
|
|
49
50
|
}
|
|
50
51
|
|
|
52
|
+
export interface ILiveBrowserCanvasViewportResult {
|
|
53
|
+
viewport: ILiveBrowserViewport;
|
|
54
|
+
/** The authoritative revision, including when the aggregate viewport did not change. */
|
|
55
|
+
viewportRevision: number;
|
|
56
|
+
}
|
|
57
|
+
|
|
51
58
|
export interface ILiveBrowserCanvasOperationOptions {
|
|
52
59
|
/** Adapters must propagate this signal and reject promptly when it aborts. */
|
|
53
60
|
signal: AbortSignal;
|
|
@@ -81,3 +88,24 @@ export interface ILiveBrowserCanvasRendererOptions {
|
|
|
81
88
|
onError?: (errorArg: ILiveBrowserCanvasError) => void;
|
|
82
89
|
onFrameRendered?: (frameArg: ILiveBrowserFrame) => void;
|
|
83
90
|
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Cumulative renderer counters. Counts accumulate across runs of one instance;
|
|
94
|
+
* inputCommandsInFlight is the live value at the time of the call.
|
|
95
|
+
*/
|
|
96
|
+
export interface ILiveBrowserCanvasRendererStatistics {
|
|
97
|
+
/** Frame events delivered to an active run, including ones rejected by validation. */
|
|
98
|
+
framesReceived: number;
|
|
99
|
+
/** Frames whose bitmap decoded with matching dimensions. */
|
|
100
|
+
framesDecoded: number;
|
|
101
|
+
/** Frames retired without being drawn: superseded, stale, or replaced before presentation. */
|
|
102
|
+
framesSkipped: number;
|
|
103
|
+
/** Input submissions accepted by the renderer, including ones later merged. */
|
|
104
|
+
inputCommandsEnqueued: number;
|
|
105
|
+
/** Submissions merged into another command or dropped under queue pressure. */
|
|
106
|
+
inputCommandsCoalesced: number;
|
|
107
|
+
/** Client input operations currently awaiting a result. */
|
|
108
|
+
inputCommandsInFlight: number;
|
|
109
|
+
/** Duration of the most recently completed input dispatch in milliseconds; 0 before the first. */
|
|
110
|
+
lastInputRoundTripMs: number;
|
|
111
|
+
}
|