@rerun-io/web-viewer 0.17.0-alpha.7 → 0.17.0-alpha.9
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 +7 -3
- package/index.d.ts +20 -1
- package/index.d.ts.map +1 -1
- package/index.js +99 -22
- package/index.js.map +1 -1
- package/index.ts +129 -40
- package/package.json +11 -6
- package/re_viewer.d.ts +223 -139
- package/re_viewer.js +3545 -4
- package/re_viewer_bg.wasm +0 -0
- package/re_viewer_bg.wasm.d.ts +15 -11
- package/re_viewer_bg.js +0 -4080
package/README.md
CHANGED
|
@@ -21,7 +21,7 @@ $ npm i @rerun-io/web-viewer
|
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
ℹ️ Note:
|
|
24
|
-
The package version is equal to the supported Rerun SDK version.
|
|
24
|
+
The package version is equal to the supported Rerun SDK version, and [RRD files are not yet stable across different versions](https://github.com/rerun-io/rerun/issues/6410).
|
|
25
25
|
This means that `@rerun-io/web-viewer@0.10.0` can only connect to a data source (`.rrd` file, websocket connection, etc.) that originates from a Rerun SDK with version `0.10.0`!
|
|
26
26
|
|
|
27
27
|
## Usage
|
|
@@ -35,16 +35,20 @@ const rrd = "…";
|
|
|
35
35
|
const parentElement = document.body;
|
|
36
36
|
|
|
37
37
|
const viewer = new WebViewer();
|
|
38
|
-
await viewer.start(rrd, parentElement);
|
|
38
|
+
await viewer.start(rrd, parentElement, { width: "800px", height: "600px" });
|
|
39
39
|
// …
|
|
40
40
|
viewer.stop();
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
The `rrd` in the snippet above should be a URL pointing to either:
|
|
44
|
-
- A hosted `.rrd` file, such as <https://app.rerun.io/version/0.17.0-alpha.
|
|
44
|
+
- A hosted `.rrd` file, such as <https://app.rerun.io/version/0.17.0-alpha.9/examples/dna.rrd>
|
|
45
45
|
- A WebSocket connection to the SDK opened via the [`serve`](https://www.rerun.io/docs/reference/sdk-operating-modes#serve) API
|
|
46
46
|
|
|
47
47
|
If `rrd` is not set, the Viewer will display the same welcome screen as <https://app.rerun.io>.
|
|
48
|
+
This can be disabled by setting `hide_welcome_screen` to `true` in the options object of `viewer.start`.
|
|
49
|
+
|
|
50
|
+
⚠ It's important to set the viewer's width and height, as without it the viewer may not display correctly.
|
|
51
|
+
Setting the values to empty strings is valid, as long as you style the canvas through other means.
|
|
48
52
|
|
|
49
53
|
For a full example, see https://github.com/rerun-io/web-viewer-example.
|
|
50
54
|
You can open the example via CodeSandbox: https://codesandbox.io/s/github/rerun-io/web-viewer-example
|
package/index.d.ts
CHANGED
|
@@ -1,11 +1,30 @@
|
|
|
1
1
|
export type Panel = "top" | "blueprint" | "selection" | "time";
|
|
2
2
|
export type PanelState = "hidden" | "collapsed" | "expanded";
|
|
3
3
|
export type Backend = "webgpu" | "webgl";
|
|
4
|
-
interface WebViewerOptions {
|
|
4
|
+
export interface WebViewerOptions {
|
|
5
5
|
manifest_url?: string;
|
|
6
6
|
render_backend?: Backend;
|
|
7
7
|
hide_welcome_screen?: boolean;
|
|
8
8
|
allow_fullscreen?: boolean;
|
|
9
|
+
enable_history?: boolean;
|
|
10
|
+
width?: string;
|
|
11
|
+
height?: string;
|
|
12
|
+
}
|
|
13
|
+
/** @private */
|
|
14
|
+
export interface AppOptions extends WebViewerOptions {
|
|
15
|
+
url?: string;
|
|
16
|
+
manifest_url?: string;
|
|
17
|
+
render_backend?: Backend;
|
|
18
|
+
hide_welcome_screen?: boolean;
|
|
19
|
+
panel_state_overrides?: Partial<{
|
|
20
|
+
[K in Panel]: PanelState;
|
|
21
|
+
}>;
|
|
22
|
+
fullscreen?: FullscreenOptions;
|
|
23
|
+
enable_history?: boolean;
|
|
24
|
+
}
|
|
25
|
+
interface FullscreenOptions {
|
|
26
|
+
get_state: () => boolean;
|
|
27
|
+
on_toggle: () => void;
|
|
9
28
|
}
|
|
10
29
|
interface WebViewerEvents {
|
|
11
30
|
fullscreen: boolean;
|
package/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
|
package/index.js
CHANGED
|
@@ -1,10 +1,31 @@
|
|
|
1
|
-
let
|
|
1
|
+
let get_wasm_bindgen = null;
|
|
2
|
+
let _wasm_module = null;
|
|
3
|
+
/*<INLINE-MARKER>*/
|
|
4
|
+
async function fetch_viewer_js() {
|
|
5
|
+
return (await import("./re_viewer")).default;
|
|
6
|
+
}
|
|
7
|
+
async function fetch_viewer_wasm() {
|
|
8
|
+
return fetch(new URL("./re_viewer_bg.wasm", import.meta.url));
|
|
9
|
+
}
|
|
10
|
+
/*<INLINE-MARKER>*/
|
|
2
11
|
async function load() {
|
|
3
|
-
|
|
4
|
-
|
|
12
|
+
// instantiate wbg globals+module for every invocation of `load`,
|
|
13
|
+
// but don't load the JS/Wasm source every time
|
|
14
|
+
if (!get_wasm_bindgen || !_wasm_module) {
|
|
15
|
+
[get_wasm_bindgen, _wasm_module] = await Promise.all([
|
|
16
|
+
fetch_viewer_js(),
|
|
17
|
+
WebAssembly.compileStreaming(fetch_viewer_wasm()),
|
|
18
|
+
]);
|
|
5
19
|
}
|
|
6
|
-
|
|
7
|
-
|
|
20
|
+
let bindgen = get_wasm_bindgen();
|
|
21
|
+
await bindgen(_wasm_module);
|
|
22
|
+
return class extends bindgen.WebHandle {
|
|
23
|
+
free() {
|
|
24
|
+
super.free();
|
|
25
|
+
// @ts-expect-error
|
|
26
|
+
bindgen.deinit();
|
|
27
|
+
}
|
|
28
|
+
};
|
|
8
29
|
}
|
|
9
30
|
let _minimize_current_fullscreen_viewer = null;
|
|
10
31
|
function randomId() {
|
|
@@ -14,8 +35,13 @@ function randomId() {
|
|
|
14
35
|
.map((byte) => byte.toString(16).padStart(2, "0"))
|
|
15
36
|
.join("");
|
|
16
37
|
}
|
|
38
|
+
function delay(ms) {
|
|
39
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
40
|
+
}
|
|
17
41
|
export class WebViewer {
|
|
18
42
|
#id = randomId();
|
|
43
|
+
// NOTE: Using the handle requires wrapping all calls to its methods in try/catch.
|
|
44
|
+
// On failure, call `this.stop` to prevent a memory leak, then re-throw the error.
|
|
19
45
|
#handle = null;
|
|
20
46
|
#canvas = null;
|
|
21
47
|
#state = "stopped";
|
|
@@ -40,8 +66,14 @@ export class WebViewer {
|
|
|
40
66
|
return;
|
|
41
67
|
this.#state = "starting";
|
|
42
68
|
this.#canvas = document.createElement("canvas");
|
|
69
|
+
this.#canvas.style.width = options.width ?? "640px";
|
|
70
|
+
this.#canvas.style.height = options.height ?? "360px";
|
|
43
71
|
this.#canvas.id = this.#id;
|
|
44
72
|
parent.append(this.#canvas);
|
|
73
|
+
// This yield appears to be necessary to ensure that the canvas is attached to the DOM
|
|
74
|
+
// and visible. Without it we get occasionally get a panic about a failure to find a canvas
|
|
75
|
+
// element with the given ID.
|
|
76
|
+
await delay(0);
|
|
45
77
|
let WebHandle_class = await load();
|
|
46
78
|
if (this.#state !== "starting")
|
|
47
79
|
return;
|
|
@@ -52,12 +84,15 @@ export class WebViewer {
|
|
|
52
84
|
}
|
|
53
85
|
: undefined;
|
|
54
86
|
this.#handle = new WebHandle_class({ ...options, fullscreen });
|
|
55
|
-
|
|
87
|
+
try {
|
|
88
|
+
await this.#handle.start(this.#canvas.id);
|
|
89
|
+
}
|
|
90
|
+
catch (e) {
|
|
91
|
+
this.stop();
|
|
92
|
+
throw e;
|
|
93
|
+
}
|
|
56
94
|
if (this.#state !== "starting")
|
|
57
95
|
return;
|
|
58
|
-
if (this.#handle.has_panicked()) {
|
|
59
|
-
throw new Error(`Web viewer crashed: ${this.#handle.panic_message()}`);
|
|
60
|
-
}
|
|
61
96
|
this.#state = "ready";
|
|
62
97
|
this.#dispatch_event("ready");
|
|
63
98
|
if (rrd) {
|
|
@@ -132,9 +167,12 @@ export class WebViewer {
|
|
|
132
167
|
}
|
|
133
168
|
const urls = Array.isArray(rrd) ? rrd : [rrd];
|
|
134
169
|
for (const url of urls) {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
170
|
+
try {
|
|
171
|
+
this.#handle.add_receiver(url, options.follow_if_http);
|
|
172
|
+
}
|
|
173
|
+
catch (e) {
|
|
174
|
+
this.stop();
|
|
175
|
+
throw e;
|
|
138
176
|
}
|
|
139
177
|
}
|
|
140
178
|
}
|
|
@@ -151,9 +189,12 @@ export class WebViewer {
|
|
|
151
189
|
}
|
|
152
190
|
const urls = Array.isArray(rrd) ? rrd : [rrd];
|
|
153
191
|
for (const url of urls) {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
192
|
+
try {
|
|
193
|
+
this.#handle.remove_receiver(url);
|
|
194
|
+
}
|
|
195
|
+
catch (e) {
|
|
196
|
+
this.stop();
|
|
197
|
+
throw e;
|
|
157
198
|
}
|
|
158
199
|
}
|
|
159
200
|
}
|
|
@@ -170,8 +211,14 @@ export class WebViewer {
|
|
|
170
211
|
}
|
|
171
212
|
this.#state = "stopped";
|
|
172
213
|
this.#canvas?.remove();
|
|
173
|
-
|
|
174
|
-
|
|
214
|
+
try {
|
|
215
|
+
this.#handle?.destroy();
|
|
216
|
+
this.#handle?.free();
|
|
217
|
+
}
|
|
218
|
+
catch (e) {
|
|
219
|
+
this.#handle = null;
|
|
220
|
+
throw e;
|
|
221
|
+
}
|
|
175
222
|
this.#canvas = null;
|
|
176
223
|
this.#handle = null;
|
|
177
224
|
this.#fullscreen = false;
|
|
@@ -189,18 +236,36 @@ export class WebViewer {
|
|
|
189
236
|
throw new Error(`attempted to open channel \"${channel_name}\" in a stopped web viewer`);
|
|
190
237
|
}
|
|
191
238
|
const id = crypto.randomUUID();
|
|
192
|
-
|
|
239
|
+
try {
|
|
240
|
+
this.#handle.open_channel(id, channel_name);
|
|
241
|
+
}
|
|
242
|
+
catch (e) {
|
|
243
|
+
this.stop();
|
|
244
|
+
throw e;
|
|
245
|
+
}
|
|
193
246
|
const on_send = (/** @type {Uint8Array} */ data) => {
|
|
194
247
|
if (!this.#handle) {
|
|
195
248
|
throw new Error(`attempted to send data through channel \"${channel_name}\" to a stopped web viewer`);
|
|
196
249
|
}
|
|
197
|
-
|
|
250
|
+
try {
|
|
251
|
+
this.#handle.send_rrd_to_channel(id, data);
|
|
252
|
+
}
|
|
253
|
+
catch (e) {
|
|
254
|
+
this.stop();
|
|
255
|
+
throw e;
|
|
256
|
+
}
|
|
198
257
|
};
|
|
199
258
|
const on_close = () => {
|
|
200
259
|
if (!this.#handle) {
|
|
201
260
|
throw new Error(`attempted to send data through channel \"${channel_name}\" to a stopped web viewer`);
|
|
202
261
|
}
|
|
203
|
-
|
|
262
|
+
try {
|
|
263
|
+
this.#handle.close_channel(id);
|
|
264
|
+
}
|
|
265
|
+
catch (e) {
|
|
266
|
+
this.stop();
|
|
267
|
+
throw e;
|
|
268
|
+
}
|
|
204
269
|
};
|
|
205
270
|
const get_state = () => this.#state;
|
|
206
271
|
return new LogChannel(on_send, on_close, get_state);
|
|
@@ -215,7 +280,13 @@ export class WebViewer {
|
|
|
215
280
|
if (!this.#handle) {
|
|
216
281
|
throw new Error(`attempted to set ${panel} panel to ${state} in a stopped web viewer`);
|
|
217
282
|
}
|
|
218
|
-
|
|
283
|
+
try {
|
|
284
|
+
this.#handle.override_panel_state(panel, state);
|
|
285
|
+
}
|
|
286
|
+
catch (e) {
|
|
287
|
+
this.stop();
|
|
288
|
+
throw e;
|
|
289
|
+
}
|
|
219
290
|
}
|
|
220
291
|
/**
|
|
221
292
|
* Toggle panel overrides set via `override_panel_state`.
|
|
@@ -226,7 +297,13 @@ export class WebViewer {
|
|
|
226
297
|
if (!this.#handle) {
|
|
227
298
|
throw new Error(`attempted to toggle panel overrides in a stopped web viewer`);
|
|
228
299
|
}
|
|
229
|
-
|
|
300
|
+
try {
|
|
301
|
+
this.#handle.toggle_panel_overrides(value);
|
|
302
|
+
}
|
|
303
|
+
catch (e) {
|
|
304
|
+
this.stop();
|
|
305
|
+
throw e;
|
|
306
|
+
}
|
|
230
307
|
}
|
|
231
308
|
/**
|
|
232
309
|
* Toggle fullscreen mode.
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAEA,IAAI,gBAAgB,GAAuC,IAAI,CAAC;AAChE,IAAI,YAAY,GAA8B,IAAI,CAAC;AAEnD,mBAAmB;AACnB,KAAK,UAAU,eAAe;IAC5B,OAAO,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,iBAAiB;IAC9B,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,qBAAqB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAChE,CAAC;AACD,mBAAmB;AAEnB,KAAK,UAAU,IAAI;IACjB,iEAAiE;IACjE,+CAA+C;IAC/C,IAAI,CAAC,gBAAgB,IAAI,CAAC,YAAY,EAAE,CAAC;QACvC,CAAC,gBAAgB,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACnD,eAAe,EAAE;YACjB,WAAW,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC;SAClD,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACjC,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5B,OAAO,KAAM,SAAQ,OAAO,CAAC,SAAS;QACpC,IAAI;YACF,KAAK,CAAC,IAAI,EAAE,CAAC;YACb,mBAAmB;YACnB,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,IAAI,mCAAmC,GAAwB,IAAI,CAAC;AAEpE,SAAS,QAAQ;IACf,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACjC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;SACrB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SACjD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AA4DD,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,OAAO,SAAS;IACpB,GAAG,GAAG,QAAQ,EAAE,CAAC;IACjB,kFAAkF;IAClF,wFAAwF;IACxF,OAAO,GAAqB,IAAI,CAAC;IACjC,OAAO,GAA6B,IAAI,CAAC;IACzC,MAAM,GAAqC,SAAS,CAAC;IACrD,WAAW,GAAG,KAAK,CAAC;IACpB,iBAAiB,GAAG,KAAK,CAAC;IAE1B;QACE,WAAW,EAAE,CAAC;QACd,yBAAyB,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CACT,GAA6B,EAC7B,MAA0B,EAC1B,OAAgC;QAEhC,MAAM,KAAK,QAAQ,CAAC,IAAI,CAAC;QACzB,OAAO,KAAK,EAAE,CAAC;QAEf,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,IAAI,KAAK,CAAC;QAE3D,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO;QACtC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;QAEzB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC;QACtD,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE5B,sFAAsF;QACtF,2FAA2F;QAC3F,6BAA6B;QAC7B,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;QAEf,IAAI,eAAe,GAAG,MAAM,IAAI,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU;YAAE,OAAO;QAEvC,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB;YACvC,CAAC,CAAC;gBACE,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW;gBACjC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE;aAC1C;YACH,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,CAAC,OAAO,GAAG,IAAI,eAAe,CAAC,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,MAAM,CAAC,CAAC;QACV,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU;YAAE,OAAO;QAEvC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;QACtB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAE9B,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;QAED,OAAO;IACT,CAAC;IAED,UAAU,GAGN,IAAI,GAAG,EAAE,CAAC;IAOd,eAAe,CAAC,KAAU,EAAE,KAAW;QACrC,gCAAgC;QAChC,mGAAmG;QACnG,4FAA4F;QAC5F,8FAA8F;QAC9F,8FAA8F;QAC9F,UAAU,CAAC,GAAG,EAAE;YACd,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,SAAS,EAAE,CAAC;gBACd,KAAK,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;oBAC5D,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAChB,IAAI,IAAI;wBAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;QACH,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;IAeD,EAAE,CAAC,KAAU,EAAE,QAAa;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QAC1D,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACtC,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAeD,IAAI,CAAC,KAAU,EAAE,QAAa;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QAC1D,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACtC,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAaD,GAAG,CAAC,KAAU,EAAE,QAAa;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CACV,iHAAiH,CAClH,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC;IACjC,CAAC;IAED;;;;;;;;;OASG;IACH,IAAI,CAAC,GAAsB,EAAE,UAAwC,EAAE;QACrE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,wBAAwB,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;YACzD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,MAAM,CAAC,CAAC;YACV,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,GAAsB;QAC1B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,wBAAwB,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YACpC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,MAAM,CAAC,CAAC;YACV,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO;QACtC,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC/D,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAExB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAEvB,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;QACvB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,MAAM,CAAC,CAAC;QACV,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACH,YAAY,CAAC,eAAuB,qBAAqB;QACvD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,+BAA+B,YAAY,4BAA4B,CACxE,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAE/B,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,MAAM,CAAC,CAAC;QACV,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,yBAAyB,CAAC,IAAgB,EAAE,EAAE;YAC7D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CACb,4CAA4C,YAAY,4BAA4B,CACrF,CAAC;YACJ,CAAC;YAED,IAAI,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,MAAM,CAAC,CAAC;YACV,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CACb,4CAA4C,YAAY,4BAA4B,CACrF,CAAC;YACJ,CAAC;YAED,IAAI,CAAC;gBACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACjC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,MAAM,CAAC,CAAC;YACV,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;QAEpC,OAAO,IAAI,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACH,oBAAoB,CAAC,KAAY,EAAE,KAAiB;QAClD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,oBAAoB,KAAK,aAAa,KAAK,0BAA0B,CACtE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,sBAAsB,CAAC,KAAsB;QAC3C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAA4B,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAEpC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,SAAS,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IAErB,SAAS,GAAG,GAAG,EAAE;QACf,mCAAmC,EAAE,EAAE,CAAC;QAExC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAQ,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAE5C,MAAM,kBAAkB,GAAG,GAAG,EAAE;YAC9B,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;YACnC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YACvC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAC3C,CAAC,CAAC;QACF,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,CAAC,QAAoB,EAAE,EAAE,CAC1C,UAAU,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC,CAAC;QAEzE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QACvE,kBAAkB,EAAE,CAAC;QACrB,qBAAqB,CAAC,GAAG,EAAE;YACzB,IAAI,CAAC,IAAI,CAAC,WAAW;gBAAE,OAAO;YAC9B,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACzC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,IAAI,CAAC,WAAW;oBAAE,OAAO;gBAC9B,UAAU,EAAE,CAAC;gBAEb,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;gBACrD,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;gBAChE,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,GAAG,GAAG,EAAE;YACpB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACxD,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAEnE,kBAAkB,EAAE,CAAC;YACrB,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YACjD,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,IAAI,CAAC,WAAW;oBAAE,OAAO;gBAE7B,UAAU,EAAE,CAAC;gBACb,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;YAEH,mCAAmC,GAAG,IAAI,CAAC;YAC3C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC,CAAC;QAEF,mCAAmC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAC7D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC,CAAC;CACH;AAED,MAAM,OAAO,UAAU;IACrB,QAAQ,CAAC;IACT,SAAS,CAAC;IACV,UAAU,CAAC;IACX,OAAO,GAAG,KAAK,CAAC;IAEhB;;;;OAIG;IACH,YACE,OAAmC,EACnC,QAAoB,EACpB,SAAiD;QAEjD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,KAAK,OAAO,CAAC;IACxD,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,SAAqB;QAC5B,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QACxB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QACxB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;CACF;AAED,MAAM,OAAO,GAAG;IACd,eAAe,EAAE,8BAA8B;IAC/C,eAAe,EAAE,8BAA8B;IAC/C,eAAe,EAAE,8BAA8B;IAC/C,UAAU,EAAE,yBAAyB;CACtC,CAAC;AAEF,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC,MAAM,GAAG,GAAG;SACH,OAAO,CAAC,eAAe;SACvB,OAAO,CAAC,eAAe;;;;;KAK3B,OAAO,CAAC,eAAe;;;;;KAKvB,OAAO,CAAC,UAAU;sBACD,mBAAmB,GAAG,IAAI;;;KAG3C,OAAO,CAAC,eAAe;;;;;;CAM3B,CAAC;AAEF,SAAS,WAAW;IAClB,MAAM,EAAE,GAAG,sBAAsB,CAAC;IAElC,IAAI,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;QAChC,mBAAmB;QACnB,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,yBAAyB;IAChC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;QACrC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxB,mCAAmC,EAAE,EAAE,CAAC;QAC1C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/index.ts
CHANGED
|
@@ -1,28 +1,36 @@
|
|
|
1
|
-
import type { WebHandle } from "./re_viewer
|
|
1
|
+
import type { WebHandle, wasm_bindgen } from "./re_viewer";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
manifest_url?: string;
|
|
6
|
-
render_backend?: Backend;
|
|
7
|
-
hide_welcome_screen?: boolean;
|
|
8
|
-
panel_state_overrides?: Partial<{
|
|
9
|
-
[K in Panel]: PanelState;
|
|
10
|
-
}>;
|
|
11
|
-
fullscreen?: FullscreenOptions;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
type WebHandleConstructor = {
|
|
15
|
-
new (app_options?: AppOptions): WebHandle;
|
|
16
|
-
};
|
|
3
|
+
let get_wasm_bindgen: (() => typeof wasm_bindgen) | null = null;
|
|
4
|
+
let _wasm_module: WebAssembly.Module | null = null;
|
|
17
5
|
|
|
18
|
-
|
|
6
|
+
/*<INLINE-MARKER>*/
|
|
7
|
+
async function fetch_viewer_js() {
|
|
8
|
+
return (await import("./re_viewer")).default;
|
|
9
|
+
}
|
|
19
10
|
|
|
20
|
-
async function
|
|
21
|
-
|
|
22
|
-
|
|
11
|
+
async function fetch_viewer_wasm() {
|
|
12
|
+
return fetch(new URL("./re_viewer_bg.wasm", import.meta.url));
|
|
13
|
+
}
|
|
14
|
+
/*<INLINE-MARKER>*/
|
|
15
|
+
|
|
16
|
+
async function load(): Promise<typeof wasm_bindgen.WebHandle> {
|
|
17
|
+
// instantiate wbg globals+module for every invocation of `load`,
|
|
18
|
+
// but don't load the JS/Wasm source every time
|
|
19
|
+
if (!get_wasm_bindgen || !_wasm_module) {
|
|
20
|
+
[get_wasm_bindgen, _wasm_module] = await Promise.all([
|
|
21
|
+
fetch_viewer_js(),
|
|
22
|
+
WebAssembly.compileStreaming(fetch_viewer_wasm()),
|
|
23
|
+
]);
|
|
23
24
|
}
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
let bindgen = get_wasm_bindgen();
|
|
26
|
+
await bindgen(_wasm_module);
|
|
27
|
+
return class extends bindgen.WebHandle {
|
|
28
|
+
free() {
|
|
29
|
+
super.free();
|
|
30
|
+
// @ts-expect-error
|
|
31
|
+
bindgen.deinit();
|
|
32
|
+
}
|
|
33
|
+
};
|
|
26
34
|
}
|
|
27
35
|
|
|
28
36
|
let _minimize_current_fullscreen_viewer: (() => void) | null = null;
|
|
@@ -39,11 +47,31 @@ export type Panel = "top" | "blueprint" | "selection" | "time";
|
|
|
39
47
|
export type PanelState = "hidden" | "collapsed" | "expanded";
|
|
40
48
|
export type Backend = "webgpu" | "webgl";
|
|
41
49
|
|
|
42
|
-
interface WebViewerOptions {
|
|
50
|
+
export interface WebViewerOptions {
|
|
43
51
|
manifest_url?: string;
|
|
44
52
|
render_backend?: Backend;
|
|
45
53
|
hide_welcome_screen?: boolean;
|
|
46
54
|
allow_fullscreen?: boolean;
|
|
55
|
+
enable_history?: boolean;
|
|
56
|
+
|
|
57
|
+
width?: string;
|
|
58
|
+
height?: string;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// `AppOptions` and `WebViewerOptions` must be compatible
|
|
62
|
+
// otherwise we need to restructure how we pass options to the viewer
|
|
63
|
+
|
|
64
|
+
/** @private */
|
|
65
|
+
export interface AppOptions extends WebViewerOptions {
|
|
66
|
+
url?: string;
|
|
67
|
+
manifest_url?: string;
|
|
68
|
+
render_backend?: Backend;
|
|
69
|
+
hide_welcome_screen?: boolean;
|
|
70
|
+
panel_state_overrides?: Partial<{
|
|
71
|
+
[K in Panel]: PanelState;
|
|
72
|
+
}>;
|
|
73
|
+
fullscreen?: FullscreenOptions;
|
|
74
|
+
enable_history?: boolean;
|
|
47
75
|
}
|
|
48
76
|
|
|
49
77
|
interface FullscreenOptions {
|
|
@@ -73,8 +101,14 @@ type EventsWithoutValue = {
|
|
|
73
101
|
|
|
74
102
|
type Cancel = () => void;
|
|
75
103
|
|
|
104
|
+
function delay(ms: number) {
|
|
105
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
106
|
+
}
|
|
107
|
+
|
|
76
108
|
export class WebViewer {
|
|
77
109
|
#id = randomId();
|
|
110
|
+
// NOTE: Using the handle requires wrapping all calls to its methods in try/catch.
|
|
111
|
+
// On failure, call `this.stop` to prevent a memory leak, then re-throw the error.
|
|
78
112
|
#handle: WebHandle | null = null;
|
|
79
113
|
#canvas: HTMLCanvasElement | null = null;
|
|
80
114
|
#state: "ready" | "starting" | "stopped" = "stopped";
|
|
@@ -107,9 +141,16 @@ export class WebViewer {
|
|
|
107
141
|
this.#state = "starting";
|
|
108
142
|
|
|
109
143
|
this.#canvas = document.createElement("canvas");
|
|
144
|
+
this.#canvas.style.width = options.width ?? "640px";
|
|
145
|
+
this.#canvas.style.height = options.height ?? "360px";
|
|
110
146
|
this.#canvas.id = this.#id;
|
|
111
147
|
parent.append(this.#canvas);
|
|
112
148
|
|
|
149
|
+
// This yield appears to be necessary to ensure that the canvas is attached to the DOM
|
|
150
|
+
// and visible. Without it we get occasionally get a panic about a failure to find a canvas
|
|
151
|
+
// element with the given ID.
|
|
152
|
+
await delay(0);
|
|
153
|
+
|
|
113
154
|
let WebHandle_class = await load();
|
|
114
155
|
if (this.#state !== "starting") return;
|
|
115
156
|
|
|
@@ -121,12 +162,13 @@ export class WebViewer {
|
|
|
121
162
|
: undefined;
|
|
122
163
|
|
|
123
164
|
this.#handle = new WebHandle_class({ ...options, fullscreen });
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
throw
|
|
165
|
+
try {
|
|
166
|
+
await this.#handle.start(this.#canvas.id);
|
|
167
|
+
} catch (e) {
|
|
168
|
+
this.stop();
|
|
169
|
+
throw e;
|
|
129
170
|
}
|
|
171
|
+
if (this.#state !== "starting") return;
|
|
130
172
|
|
|
131
173
|
this.#state = "ready";
|
|
132
174
|
this.#dispatch_event("ready");
|
|
@@ -255,11 +297,14 @@ export class WebViewer {
|
|
|
255
297
|
if (!this.#handle) {
|
|
256
298
|
throw new Error(`attempted to open \`${rrd}\` in a stopped viewer`);
|
|
257
299
|
}
|
|
300
|
+
|
|
258
301
|
const urls = Array.isArray(rrd) ? rrd : [rrd];
|
|
259
302
|
for (const url of urls) {
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
303
|
+
try {
|
|
304
|
+
this.#handle.add_receiver(url, options.follow_if_http);
|
|
305
|
+
} catch (e) {
|
|
306
|
+
this.stop();
|
|
307
|
+
throw e;
|
|
263
308
|
}
|
|
264
309
|
}
|
|
265
310
|
}
|
|
@@ -275,11 +320,14 @@ export class WebViewer {
|
|
|
275
320
|
if (!this.#handle) {
|
|
276
321
|
throw new Error(`attempted to close \`${rrd}\` in a stopped viewer`);
|
|
277
322
|
}
|
|
323
|
+
|
|
278
324
|
const urls = Array.isArray(rrd) ? rrd : [rrd];
|
|
279
325
|
for (const url of urls) {
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
326
|
+
try {
|
|
327
|
+
this.#handle.remove_receiver(url);
|
|
328
|
+
} catch (e) {
|
|
329
|
+
this.stop();
|
|
330
|
+
throw e;
|
|
283
331
|
}
|
|
284
332
|
}
|
|
285
333
|
}
|
|
@@ -298,8 +346,14 @@ export class WebViewer {
|
|
|
298
346
|
this.#state = "stopped";
|
|
299
347
|
|
|
300
348
|
this.#canvas?.remove();
|
|
301
|
-
|
|
302
|
-
|
|
349
|
+
|
|
350
|
+
try {
|
|
351
|
+
this.#handle?.destroy();
|
|
352
|
+
this.#handle?.free();
|
|
353
|
+
} catch (e) {
|
|
354
|
+
this.#handle = null;
|
|
355
|
+
throw e;
|
|
356
|
+
}
|
|
303
357
|
|
|
304
358
|
this.#canvas = null;
|
|
305
359
|
this.#handle = null;
|
|
@@ -320,25 +374,48 @@ export class WebViewer {
|
|
|
320
374
|
`attempted to open channel \"${channel_name}\" in a stopped web viewer`,
|
|
321
375
|
);
|
|
322
376
|
}
|
|
377
|
+
|
|
323
378
|
const id = crypto.randomUUID();
|
|
324
|
-
|
|
379
|
+
|
|
380
|
+
try {
|
|
381
|
+
this.#handle.open_channel(id, channel_name);
|
|
382
|
+
} catch (e) {
|
|
383
|
+
this.stop();
|
|
384
|
+
throw e;
|
|
385
|
+
}
|
|
386
|
+
|
|
325
387
|
const on_send = (/** @type {Uint8Array} */ data: Uint8Array) => {
|
|
326
388
|
if (!this.#handle) {
|
|
327
389
|
throw new Error(
|
|
328
390
|
`attempted to send data through channel \"${channel_name}\" to a stopped web viewer`,
|
|
329
391
|
);
|
|
330
392
|
}
|
|
331
|
-
|
|
393
|
+
|
|
394
|
+
try {
|
|
395
|
+
this.#handle.send_rrd_to_channel(id, data);
|
|
396
|
+
} catch (e) {
|
|
397
|
+
this.stop();
|
|
398
|
+
throw e;
|
|
399
|
+
}
|
|
332
400
|
};
|
|
401
|
+
|
|
333
402
|
const on_close = () => {
|
|
334
403
|
if (!this.#handle) {
|
|
335
404
|
throw new Error(
|
|
336
405
|
`attempted to send data through channel \"${channel_name}\" to a stopped web viewer`,
|
|
337
406
|
);
|
|
338
407
|
}
|
|
339
|
-
|
|
408
|
+
|
|
409
|
+
try {
|
|
410
|
+
this.#handle.close_channel(id);
|
|
411
|
+
} catch (e) {
|
|
412
|
+
this.stop();
|
|
413
|
+
throw e;
|
|
414
|
+
}
|
|
340
415
|
};
|
|
416
|
+
|
|
341
417
|
const get_state = () => this.#state;
|
|
418
|
+
|
|
342
419
|
return new LogChannel(on_send, on_close, get_state);
|
|
343
420
|
}
|
|
344
421
|
|
|
@@ -354,7 +431,13 @@ export class WebViewer {
|
|
|
354
431
|
`attempted to set ${panel} panel to ${state} in a stopped web viewer`,
|
|
355
432
|
);
|
|
356
433
|
}
|
|
357
|
-
|
|
434
|
+
|
|
435
|
+
try {
|
|
436
|
+
this.#handle.override_panel_state(panel, state);
|
|
437
|
+
} catch (e) {
|
|
438
|
+
this.stop();
|
|
439
|
+
throw e;
|
|
440
|
+
}
|
|
358
441
|
}
|
|
359
442
|
|
|
360
443
|
/**
|
|
@@ -368,7 +451,13 @@ export class WebViewer {
|
|
|
368
451
|
`attempted to toggle panel overrides in a stopped web viewer`,
|
|
369
452
|
);
|
|
370
453
|
}
|
|
371
|
-
|
|
454
|
+
|
|
455
|
+
try {
|
|
456
|
+
this.#handle.toggle_panel_overrides(value as boolean | undefined);
|
|
457
|
+
} catch (e) {
|
|
458
|
+
this.stop();
|
|
459
|
+
throw e;
|
|
460
|
+
}
|
|
372
461
|
}
|
|
373
462
|
|
|
374
463
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rerun-io/web-viewer",
|
|
3
|
-
"version": "0.17.0-alpha.
|
|
3
|
+
"version": "0.17.0-alpha.9",
|
|
4
4
|
"description": "Embed the Rerun web viewer in your app",
|
|
5
5
|
"licenses": [
|
|
6
6
|
{
|
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
}
|
|
12
12
|
],
|
|
13
13
|
"scripts": {
|
|
14
|
-
"build:wasm": "
|
|
15
|
-
"build:js": "tsc",
|
|
14
|
+
"build:wasm": "node build-wasm.mjs --mode release",
|
|
15
|
+
"build:js": "tsc && node bundle.mjs",
|
|
16
16
|
"build": "npm run build:wasm && npm run build:js",
|
|
17
|
-
"build:wasm:debug": "
|
|
17
|
+
"build:wasm:debug": "node build-wasm.mjs --mode debug",
|
|
18
18
|
"build:debug": "npm run build:wasm:debug && npm run build:js"
|
|
19
19
|
},
|
|
20
20
|
"repository": {
|
|
@@ -28,6 +28,8 @@
|
|
|
28
28
|
},
|
|
29
29
|
"homepage": "https://rerun.io",
|
|
30
30
|
"type": "module",
|
|
31
|
+
"main": "index.js",
|
|
32
|
+
"types": "index.d.ts",
|
|
31
33
|
"exports": {
|
|
32
34
|
".": {
|
|
33
35
|
"types": "./index.d.ts",
|
|
@@ -36,16 +38,19 @@
|
|
|
36
38
|
"./re_viewer.js": {
|
|
37
39
|
"types": "./re_viewer.d.ts",
|
|
38
40
|
"import": "./re_viewer.js"
|
|
41
|
+
},
|
|
42
|
+
"./inlined.js": {
|
|
43
|
+
"types": "./inlined.d.ts",
|
|
44
|
+
"import": "./inlined.js"
|
|
39
45
|
}
|
|
40
46
|
},
|
|
41
47
|
"files": [
|
|
42
|
-
"index.ts",
|
|
43
48
|
"index.d.ts",
|
|
44
49
|
"index.d.ts.map",
|
|
45
50
|
"index.js",
|
|
46
51
|
"index.js.map",
|
|
52
|
+
"index.ts",
|
|
47
53
|
"package.json",
|
|
48
|
-
"re_viewer_bg.js",
|
|
49
54
|
"re_viewer_bg.wasm",
|
|
50
55
|
"re_viewer_bg.wasm.d.ts",
|
|
51
56
|
"re_viewer.d.ts",
|