@rerun-io/web-viewer 0.31.1 → 0.31.3
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 +2 -2
- package/index.d.ts +24 -1
- package/index.d.ts.map +1 -1
- package/index.js +107 -24
- package/index.js.map +1 -1
- package/index.ts +149 -22
- package/package.json +1 -1
- package/re_viewer.d.ts +6 -6
- package/re_viewer.js +31 -31
- package/re_viewer_bg.wasm +0 -0
- package/re_viewer_bg.wasm.d.ts +6 -6
package/README.md
CHANGED
|
@@ -28,7 +28,7 @@ This means that:
|
|
|
28
28
|
|
|
29
29
|
## Usage
|
|
30
30
|
|
|
31
|
-
The entrypoint for this packages is the [`WebViewer`](https://ref.rerun.io/docs/js/0.31.
|
|
31
|
+
The entrypoint for this packages is the [`WebViewer`](https://ref.rerun.io/docs/js/0.31.3/web-viewer/classes/WebViewer.html) class.
|
|
32
32
|
The web viewer is an object which manages a canvas element:
|
|
33
33
|
|
|
34
34
|
```js
|
|
@@ -44,7 +44,7 @@ viewer.stop();
|
|
|
44
44
|
```
|
|
45
45
|
|
|
46
46
|
The `rrd` in the snippet above should be a URL pointing to either:
|
|
47
|
-
- A hosted `.rrd` file, such as <https://app.rerun.io/version/0.31.
|
|
47
|
+
- A hosted `.rrd` file, such as <https://app.rerun.io/version/0.31.3/examples/dna.rrd>
|
|
48
48
|
- A gRPC connection to the SDK opened via the [`serve`](https://www.rerun.io/docs/reference/sdk/operating-modes#serve) API
|
|
49
49
|
|
|
50
50
|
If `rrd` is not set, the Viewer will display the same welcome screen as <https://app.rerun.io>.
|
package/index.d.ts
CHANGED
|
@@ -2,6 +2,12 @@ export type Panel = "top" | "blueprint" | "selection" | "time";
|
|
|
2
2
|
export type PanelState = "hidden" | "collapsed" | "expanded";
|
|
3
3
|
export type Backend = "webgpu" | "webgl";
|
|
4
4
|
export type VideoDecoder = "auto" | "prefer_software" | "prefer_hardware";
|
|
5
|
+
export interface LoginOptions {
|
|
6
|
+
/** URL to redirect to after successful OAuth login (e.g. "/signed-in" or "https://example.com/signed-in"). */
|
|
7
|
+
signed_in_url: string;
|
|
8
|
+
/** URL to redirect to after logout (e.g. "/signed-out" or "https://example.com/signed-out"). */
|
|
9
|
+
signed_out_url: string;
|
|
10
|
+
}
|
|
5
11
|
export interface WebViewerOptions {
|
|
6
12
|
/** Url to the example manifest. Unused if `hide_welcome_screen` is set to `true`. */
|
|
7
13
|
manifest_url?: string;
|
|
@@ -44,6 +50,23 @@ export interface WebViewerOptions {
|
|
|
44
50
|
* If not set, the viewer uses the previously persisted theme preference or defaults to "system".
|
|
45
51
|
*/
|
|
46
52
|
theme?: "dark" | "light" | "system";
|
|
53
|
+
/**
|
|
54
|
+
* Enable OAuth login in the viewer.
|
|
55
|
+
*
|
|
56
|
+
* When set, the viewer shows login UI and uses the provided URLs for OAuth redirects.
|
|
57
|
+
*
|
|
58
|
+
* To use this:
|
|
59
|
+
* 1. Host the `signed-in.html` and `signed-out.html` pages alongside your viewer.
|
|
60
|
+
* Templates can be found at:
|
|
61
|
+
* - https://github.com/rerun-io/rerun/blob/main/crates/viewer/re_web_viewer_server/web_viewer/signed-in.html
|
|
62
|
+
* - https://github.com/rerun-io/rerun/blob/main/crates/viewer/re_web_viewer_server/web_viewer/signed-out.html
|
|
63
|
+
* 2. Set the URLs to those pages here.
|
|
64
|
+
* 3. Contact your Rerun representative to have the redirect URLs
|
|
65
|
+
* and origin whitelisted in the OAuth configuration.
|
|
66
|
+
*
|
|
67
|
+
* When not set (default), login UI is hidden. Token-based auth still works.
|
|
68
|
+
*/
|
|
69
|
+
login?: LoginOptions;
|
|
47
70
|
}
|
|
48
71
|
/**
|
|
49
72
|
* The public interface is @see {WebViewerOptions}. This adds a few additional, internal options.
|
|
@@ -198,7 +221,7 @@ export type EventsWithoutValue = {
|
|
|
198
221
|
* ```
|
|
199
222
|
*
|
|
200
223
|
* Data may be provided to the Viewer as:
|
|
201
|
-
* - An HTTP file URL, e.g. `viewer.start("https://app.rerun.io/version/0.31.
|
|
224
|
+
* - An HTTP file URL, e.g. `viewer.start("https://app.rerun.io/version/0.31.3/examples/dna.rrd")`
|
|
202
225
|
* - A Rerun gRPC URL, e.g. `viewer.start("rerun+http://127.0.0.1:9876/proxy")`
|
|
203
226
|
* - A stream of log messages, via {@link WebViewer.open_channel}.
|
|
204
227
|
*
|
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
|
@@ -4,23 +4,82 @@ async function fetch_viewer_js(base_url) {
|
|
|
4
4
|
// @ts-ignore
|
|
5
5
|
return (await import("./re_viewer")).default;
|
|
6
6
|
}
|
|
7
|
-
async function fetch_viewer_wasm(base_url) {
|
|
7
|
+
async function fetch_viewer_wasm(base_url, on_progress) {
|
|
8
8
|
//!<INLINE-MARKER-OPEN>
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
const url = base_url
|
|
10
|
+
? new URL("./re_viewer_bg.wasm", base_url)
|
|
11
|
+
: new URL("./re_viewer_bg.wasm", import.meta.url);
|
|
12
|
+
const response = await fetch(url);
|
|
13
|
+
if (!response.ok) {
|
|
14
|
+
throw new Error(`Failed to fetch viewer WASM: ${response.status} ${response.statusText}`);
|
|
15
|
+
}
|
|
16
|
+
return wrap_fetch_with_progress(response, on_progress);
|
|
15
17
|
//!<INLINE-MARKER-CLOSE>
|
|
16
18
|
}
|
|
17
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Estimates total uncompressed bytes for progress display.
|
|
21
|
+
* This is a rough estimate — do NOT use for truncation detection.
|
|
22
|
+
*/
|
|
23
|
+
function estimate_total_bytes(response) {
|
|
24
|
+
// When served with `rerun-final-length`, use that (set by `re_web_viewer_server`).
|
|
25
|
+
const final_length = response.headers.get("rerun-final-length");
|
|
26
|
+
if (final_length != null)
|
|
27
|
+
return parseInt(final_length, 10);
|
|
28
|
+
// When gzip-compressed, try the GCS uncompressed-size header.
|
|
29
|
+
if (response.headers.get("content-encoding") === "gzip") {
|
|
30
|
+
const uncompressed = response.headers.get("x-goog-meta-uncompressed-size");
|
|
31
|
+
if (uncompressed != null)
|
|
32
|
+
return parseInt(uncompressed, 10);
|
|
33
|
+
// Fall back to content-length * 3 (good empirical approximation for gzip'd wasm).
|
|
34
|
+
const cl = response.headers.get("content-length");
|
|
35
|
+
if (cl != null)
|
|
36
|
+
return parseInt(cl, 10) * 3;
|
|
37
|
+
}
|
|
38
|
+
// Uncompressed: content-length is the exact size.
|
|
39
|
+
const cl = response.headers.get("content-length");
|
|
40
|
+
if (cl != null)
|
|
41
|
+
return parseInt(cl, 10);
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Wraps a fetch response to track download progress.
|
|
46
|
+
*/
|
|
47
|
+
function wrap_fetch_with_progress(response, on_progress) {
|
|
48
|
+
const total_bytes = estimate_total_bytes(response);
|
|
49
|
+
if (!response.body)
|
|
50
|
+
return response;
|
|
51
|
+
let received = 0;
|
|
52
|
+
const body = response.body;
|
|
53
|
+
const tracked = new ReadableStream({
|
|
54
|
+
async start(controller) {
|
|
55
|
+
const reader = body.getReader();
|
|
56
|
+
while (true) {
|
|
57
|
+
const { done, value } = await reader.read();
|
|
58
|
+
if (done)
|
|
59
|
+
break;
|
|
60
|
+
received += value.byteLength;
|
|
61
|
+
on_progress?.(received, total_bytes);
|
|
62
|
+
controller.enqueue(value);
|
|
63
|
+
}
|
|
64
|
+
controller.close();
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
return new Response(tracked, {
|
|
68
|
+
status: response.status,
|
|
69
|
+
statusText: response.statusText,
|
|
70
|
+
headers: response.headers,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
function format_mib(bytes) {
|
|
74
|
+
return (bytes / (1024 * 1024)).toFixed(1) + " MiB";
|
|
75
|
+
}
|
|
76
|
+
async function load(base_url, on_progress) {
|
|
18
77
|
// instantiate wbg globals+module for every invocation of `load`,
|
|
19
78
|
// but don't load the JS/Wasm source every time
|
|
20
79
|
if (!get_wasm_bindgen || !_wasm_module) {
|
|
21
80
|
[get_wasm_bindgen, _wasm_module] = await Promise.all([
|
|
22
81
|
fetch_viewer_js(base_url),
|
|
23
|
-
WebAssembly.compileStreaming(fetch_viewer_wasm(base_url)),
|
|
82
|
+
WebAssembly.compileStreaming(fetch_viewer_wasm(base_url, on_progress)),
|
|
24
83
|
]);
|
|
25
84
|
}
|
|
26
85
|
let bindgen = get_wasm_bindgen();
|
|
@@ -44,6 +103,10 @@ function randomId() {
|
|
|
44
103
|
function delay(ms) {
|
|
45
104
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
46
105
|
}
|
|
106
|
+
/** Resolve a potentially relative URL against the current origin. */
|
|
107
|
+
function resolveAbsoluteUrl(url) {
|
|
108
|
+
return new URL(url, window.location.href).toString();
|
|
109
|
+
}
|
|
47
110
|
/**
|
|
48
111
|
* Rerun Web Viewer
|
|
49
112
|
*
|
|
@@ -53,7 +116,7 @@ function delay(ms) {
|
|
|
53
116
|
* ```
|
|
54
117
|
*
|
|
55
118
|
* Data may be provided to the Viewer as:
|
|
56
|
-
* - An HTTP file URL, e.g. `viewer.start("https://app.rerun.io/version/0.31.
|
|
119
|
+
* - An HTTP file URL, e.g. `viewer.start("https://app.rerun.io/version/0.31.3/examples/dna.rrd")`
|
|
57
120
|
* - A Rerun gRPC URL, e.g. `viewer.start("rerun+http://127.0.0.1:9876/proxy")`
|
|
58
121
|
* - A stream of log messages, via {@link WebViewer.open_channel}.
|
|
59
122
|
*
|
|
@@ -99,22 +162,35 @@ export class WebViewer {
|
|
|
99
162
|
this.#canvas.style.width = options.width ?? "640px";
|
|
100
163
|
this.#canvas.style.height = options.height ?? "360px";
|
|
101
164
|
parent.append(this.#canvas);
|
|
102
|
-
// Show loading
|
|
165
|
+
// Show loading progress bar
|
|
103
166
|
this.#loader = document.createElement("div");
|
|
104
|
-
this.#loader.id = "rerun-loader";
|
|
105
167
|
this.#loader.innerHTML = `
|
|
106
|
-
<style>
|
|
107
|
-
@keyframes rerun-spin { to { transform: rotate(360deg); } }
|
|
108
|
-
</style>
|
|
109
168
|
<div style="display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; background-color: #1c1c1c; font-family: sans-serif; color: white;">
|
|
110
|
-
<div style="
|
|
111
|
-
<div style="
|
|
169
|
+
<div style="margin-bottom: 16px;">Loading Rerun\u2026</div>
|
|
170
|
+
<div style="width: 200px;">
|
|
171
|
+
<div style="background: #333; border-radius: 4px; height: 6px; overflow: hidden;">
|
|
172
|
+
<div class="rerun-progress-bar" style="background: white; height: 100%; width: 0%; transition: width 0.2s;"></div>
|
|
173
|
+
</div>
|
|
174
|
+
<div class="rerun-progress-text" style="margin-top: 6px; font-size: 12px; color: #999;"></div>
|
|
175
|
+
</div>
|
|
112
176
|
</div>
|
|
113
177
|
`;
|
|
114
178
|
this.#loader.style.position = "absolute";
|
|
115
179
|
this.#loader.style.inset = "0";
|
|
116
180
|
parent.style.position = "relative";
|
|
117
181
|
parent.append(this.#loader);
|
|
182
|
+
const progress_bar = this.#loader.querySelector(".rerun-progress-bar");
|
|
183
|
+
const progress_text = this.#loader.querySelector(".rerun-progress-text");
|
|
184
|
+
const on_progress = (received, total) => {
|
|
185
|
+
if (total != null && total > 0) {
|
|
186
|
+
const pct = Math.min((received / total) * 100, 100);
|
|
187
|
+
progress_bar.style.width = pct.toFixed(1) + "%";
|
|
188
|
+
progress_text.textContent = `${Math.round(pct)}%`;
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
progress_text.textContent = format_mib(received);
|
|
192
|
+
}
|
|
193
|
+
};
|
|
118
194
|
// This yield appears to be necessary to ensure that the canvas is attached to the DOM
|
|
119
195
|
// and visible. Without it we get occasionally get a panic about a failure to find a canvas
|
|
120
196
|
// element with the given ID.
|
|
@@ -125,7 +201,7 @@ export class WebViewer {
|
|
|
125
201
|
}
|
|
126
202
|
let WebHandle_class;
|
|
127
203
|
try {
|
|
128
|
-
WebHandle_class = await load(base_url);
|
|
204
|
+
WebHandle_class = await load(base_url, on_progress);
|
|
129
205
|
}
|
|
130
206
|
catch (e) {
|
|
131
207
|
this.#clearLoader();
|
|
@@ -151,8 +227,15 @@ export class WebViewer {
|
|
|
151
227
|
let event = JSON.parse(event_json);
|
|
152
228
|
this.#dispatch_event(event.type, event);
|
|
153
229
|
};
|
|
230
|
+
const login = options.login
|
|
231
|
+
? {
|
|
232
|
+
signed_in_url: resolveAbsoluteUrl(options.login.signed_in_url),
|
|
233
|
+
signed_out_url: resolveAbsoluteUrl(options.login.signed_out_url),
|
|
234
|
+
}
|
|
235
|
+
: undefined;
|
|
154
236
|
this.#handle = new WebHandle_class({
|
|
155
237
|
...options,
|
|
238
|
+
login,
|
|
156
239
|
fullscreen,
|
|
157
240
|
on_viewer_event,
|
|
158
241
|
});
|
|
@@ -335,20 +418,20 @@ export class WebViewer {
|
|
|
335
418
|
const parent = this.canvas.parentElement;
|
|
336
419
|
parent.innerHTML = `
|
|
337
420
|
<div style="display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; color: white; font-family: sans-serif; background-color: #1c1c1c;">
|
|
338
|
-
<h1
|
|
339
|
-
<pre
|
|
340
|
-
<button
|
|
421
|
+
<h1 class="rerun-fail-message"></h1>
|
|
422
|
+
<pre class="rerun-fail-error" style="text-align: left; white-space: pre-wrap; word-break: break-word; max-width: 90vw;"></pre>
|
|
423
|
+
<button class="rerun-fail-clear-cache">Clear caches and reload</button>
|
|
341
424
|
</div>
|
|
342
425
|
`;
|
|
343
|
-
|
|
344
|
-
const errorEl =
|
|
426
|
+
parent.querySelector(".rerun-fail-message").textContent = message;
|
|
427
|
+
const errorEl = parent.querySelector(".rerun-fail-error");
|
|
345
428
|
if (error_message) {
|
|
346
429
|
errorEl.textContent = error_message;
|
|
347
430
|
}
|
|
348
431
|
else {
|
|
349
432
|
errorEl.remove();
|
|
350
433
|
}
|
|
351
|
-
|
|
434
|
+
parent.querySelector(".rerun-fail-clear-cache").addEventListener("click", async () => {
|
|
352
435
|
if ("caches" in window) {
|
|
353
436
|
const keys = await caches.keys();
|
|
354
437
|
await Promise.all(keys.map((key) => caches.delete(key)));
|
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":"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"}
|
package/index.ts
CHANGED
|
@@ -9,23 +9,98 @@ async function fetch_viewer_js(base_url?: string): Promise<(() => typeof wasm_bi
|
|
|
9
9
|
return (await import("./re_viewer")).default;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
async function fetch_viewer_wasm(
|
|
12
|
+
async function fetch_viewer_wasm(
|
|
13
|
+
base_url?: string,
|
|
14
|
+
on_progress?: (received: number, total: number | null) => void,
|
|
15
|
+
): Promise<Response> {
|
|
13
16
|
//!<INLINE-MARKER-OPEN>
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
const url = base_url
|
|
18
|
+
? new URL("./re_viewer_bg.wasm", base_url)
|
|
19
|
+
: new URL("./re_viewer_bg.wasm", import.meta.url);
|
|
20
|
+
const response = await fetch(url);
|
|
21
|
+
if (!response.ok) {
|
|
22
|
+
throw new Error(
|
|
23
|
+
`Failed to fetch viewer WASM: ${response.status} ${response.statusText}`,
|
|
24
|
+
);
|
|
18
25
|
}
|
|
26
|
+
return wrap_fetch_with_progress(response, on_progress);
|
|
19
27
|
//!<INLINE-MARKER-CLOSE>
|
|
20
28
|
}
|
|
21
29
|
|
|
22
|
-
|
|
30
|
+
/**
|
|
31
|
+
* Estimates total uncompressed bytes for progress display.
|
|
32
|
+
* This is a rough estimate — do NOT use for truncation detection.
|
|
33
|
+
*/
|
|
34
|
+
function estimate_total_bytes(response: Response): number | null {
|
|
35
|
+
// When served with `rerun-final-length`, use that (set by `re_web_viewer_server`).
|
|
36
|
+
const final_length = response.headers.get("rerun-final-length");
|
|
37
|
+
if (final_length != null) return parseInt(final_length, 10);
|
|
38
|
+
|
|
39
|
+
// When gzip-compressed, try the GCS uncompressed-size header.
|
|
40
|
+
if (response.headers.get("content-encoding") === "gzip") {
|
|
41
|
+
const uncompressed = response.headers.get("x-goog-meta-uncompressed-size");
|
|
42
|
+
if (uncompressed != null) return parseInt(uncompressed, 10);
|
|
43
|
+
|
|
44
|
+
// Fall back to content-length * 3 (good empirical approximation for gzip'd wasm).
|
|
45
|
+
const cl = response.headers.get("content-length");
|
|
46
|
+
if (cl != null) return parseInt(cl, 10) * 3;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// Uncompressed: content-length is the exact size.
|
|
50
|
+
const cl = response.headers.get("content-length");
|
|
51
|
+
if (cl != null) return parseInt(cl, 10);
|
|
52
|
+
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Wraps a fetch response to track download progress.
|
|
58
|
+
*/
|
|
59
|
+
function wrap_fetch_with_progress(
|
|
60
|
+
response: Response,
|
|
61
|
+
on_progress?: (received: number, total: number | null) => void,
|
|
62
|
+
): Response {
|
|
63
|
+
const total_bytes = estimate_total_bytes(response);
|
|
64
|
+
|
|
65
|
+
if (!response.body) return response;
|
|
66
|
+
|
|
67
|
+
let received = 0;
|
|
68
|
+
const body = response.body;
|
|
69
|
+
const tracked = new ReadableStream({
|
|
70
|
+
async start(controller) {
|
|
71
|
+
const reader = body.getReader();
|
|
72
|
+
while (true) {
|
|
73
|
+
const { done, value } = await reader.read();
|
|
74
|
+
if (done) break;
|
|
75
|
+
received += value.byteLength;
|
|
76
|
+
on_progress?.(received, total_bytes);
|
|
77
|
+
controller.enqueue(value);
|
|
78
|
+
}
|
|
79
|
+
controller.close();
|
|
80
|
+
},
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
return new Response(tracked, {
|
|
84
|
+
status: response.status,
|
|
85
|
+
statusText: response.statusText,
|
|
86
|
+
headers: response.headers,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
function format_mib(bytes: number): string {
|
|
91
|
+
return (bytes / (1024 * 1024)).toFixed(1) + " MiB";
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
async function load(
|
|
95
|
+
base_url?: string,
|
|
96
|
+
on_progress?: (received: number, total: number | null) => void,
|
|
97
|
+
): Promise<typeof wasm_bindgen.WebHandle> {
|
|
23
98
|
// instantiate wbg globals+module for every invocation of `load`,
|
|
24
99
|
// but don't load the JS/Wasm source every time
|
|
25
100
|
if (!get_wasm_bindgen || !_wasm_module) {
|
|
26
101
|
[get_wasm_bindgen, _wasm_module] = await Promise.all([
|
|
27
102
|
fetch_viewer_js(base_url),
|
|
28
|
-
WebAssembly.compileStreaming(fetch_viewer_wasm(base_url)),
|
|
103
|
+
WebAssembly.compileStreaming(fetch_viewer_wasm(base_url, on_progress)),
|
|
29
104
|
]);
|
|
30
105
|
}
|
|
31
106
|
let bindgen = get_wasm_bindgen();
|
|
@@ -54,6 +129,13 @@ export type PanelState = "hidden" | "collapsed" | "expanded";
|
|
|
54
129
|
export type Backend = "webgpu" | "webgl";
|
|
55
130
|
export type VideoDecoder = "auto" | "prefer_software" | "prefer_hardware";
|
|
56
131
|
|
|
132
|
+
export interface LoginOptions {
|
|
133
|
+
/** URL to redirect to after successful OAuth login (e.g. "/signed-in" or "https://example.com/signed-in"). */
|
|
134
|
+
signed_in_url: string;
|
|
135
|
+
/** URL to redirect to after logout (e.g. "/signed-out" or "https://example.com/signed-out"). */
|
|
136
|
+
signed_out_url: string;
|
|
137
|
+
}
|
|
138
|
+
|
|
57
139
|
// NOTE: When changing these options, consider how it affects the `web-viewer-react` package:
|
|
58
140
|
// - Should this option be exposed?
|
|
59
141
|
// - Should changing this option result in the viewer being restarted?
|
|
@@ -108,6 +190,24 @@ export interface WebViewerOptions {
|
|
|
108
190
|
* If not set, the viewer uses the previously persisted theme preference or defaults to "system".
|
|
109
191
|
*/
|
|
110
192
|
theme?: "dark" | "light" | "system";
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* Enable OAuth login in the viewer.
|
|
196
|
+
*
|
|
197
|
+
* When set, the viewer shows login UI and uses the provided URLs for OAuth redirects.
|
|
198
|
+
*
|
|
199
|
+
* To use this:
|
|
200
|
+
* 1. Host the `signed-in.html` and `signed-out.html` pages alongside your viewer.
|
|
201
|
+
* Templates can be found at:
|
|
202
|
+
* - https://github.com/rerun-io/rerun/blob/main/crates/viewer/re_web_viewer_server/web_viewer/signed-in.html
|
|
203
|
+
* - https://github.com/rerun-io/rerun/blob/main/crates/viewer/re_web_viewer_server/web_viewer/signed-out.html
|
|
204
|
+
* 2. Set the URLs to those pages here.
|
|
205
|
+
* 3. Contact your Rerun representative to have the redirect URLs
|
|
206
|
+
* and origin whitelisted in the OAuth configuration.
|
|
207
|
+
*
|
|
208
|
+
* When not set (default), login UI is hidden. Token-based auth still works.
|
|
209
|
+
*/
|
|
210
|
+
login?: LoginOptions;
|
|
111
211
|
}
|
|
112
212
|
|
|
113
213
|
// `AppOptions` and `WebViewerOptions` must be compatible
|
|
@@ -307,6 +407,11 @@ function delay(ms: number) {
|
|
|
307
407
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
308
408
|
}
|
|
309
409
|
|
|
410
|
+
/** Resolve a potentially relative URL against the current origin. */
|
|
411
|
+
function resolveAbsoluteUrl(url: string): string {
|
|
412
|
+
return new URL(url, window.location.href).toString();
|
|
413
|
+
}
|
|
414
|
+
|
|
310
415
|
/**
|
|
311
416
|
* Rerun Web Viewer
|
|
312
417
|
*
|
|
@@ -316,7 +421,7 @@ function delay(ms: number) {
|
|
|
316
421
|
* ```
|
|
317
422
|
*
|
|
318
423
|
* Data may be provided to the Viewer as:
|
|
319
|
-
* - An HTTP file URL, e.g. `viewer.start("https://app.rerun.io/version/0.31.
|
|
424
|
+
* - An HTTP file URL, e.g. `viewer.start("https://app.rerun.io/version/0.31.3/examples/dna.rrd")`
|
|
320
425
|
* - A Rerun gRPC URL, e.g. `viewer.start("rerun+http://127.0.0.1:9876/proxy")`
|
|
321
426
|
* - A stream of log messages, via {@link WebViewer.open_channel}.
|
|
322
427
|
*
|
|
@@ -371,16 +476,17 @@ export class WebViewer {
|
|
|
371
476
|
this.#canvas.style.height = options.height ?? "360px";
|
|
372
477
|
parent.append(this.#canvas);
|
|
373
478
|
|
|
374
|
-
// Show loading
|
|
479
|
+
// Show loading progress bar
|
|
375
480
|
this.#loader = document.createElement("div");
|
|
376
|
-
this.#loader.id = "rerun-loader";
|
|
377
481
|
this.#loader.innerHTML = `
|
|
378
|
-
<style>
|
|
379
|
-
@keyframes rerun-spin { to { transform: rotate(360deg); } }
|
|
380
|
-
</style>
|
|
381
482
|
<div style="display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; background-color: #1c1c1c; font-family: sans-serif; color: white;">
|
|
382
|
-
<div style="
|
|
383
|
-
<div style="
|
|
483
|
+
<div style="margin-bottom: 16px;">Loading Rerun\u2026</div>
|
|
484
|
+
<div style="width: 200px;">
|
|
485
|
+
<div style="background: #333; border-radius: 4px; height: 6px; overflow: hidden;">
|
|
486
|
+
<div class="rerun-progress-bar" style="background: white; height: 100%; width: 0%; transition: width 0.2s;"></div>
|
|
487
|
+
</div>
|
|
488
|
+
<div class="rerun-progress-text" style="margin-top: 6px; font-size: 12px; color: #999;"></div>
|
|
489
|
+
</div>
|
|
384
490
|
</div>
|
|
385
491
|
`;
|
|
386
492
|
this.#loader.style.position = "absolute";
|
|
@@ -388,6 +494,19 @@ export class WebViewer {
|
|
|
388
494
|
parent.style.position = "relative";
|
|
389
495
|
parent.append(this.#loader);
|
|
390
496
|
|
|
497
|
+
const progress_bar = this.#loader.querySelector(".rerun-progress-bar") as HTMLElement;
|
|
498
|
+
const progress_text = this.#loader.querySelector(".rerun-progress-text") as HTMLElement;
|
|
499
|
+
|
|
500
|
+
const on_progress = (received: number, total: number | null) => {
|
|
501
|
+
if (total != null && total > 0) {
|
|
502
|
+
const pct = Math.min((received / total) * 100, 100);
|
|
503
|
+
progress_bar.style.width = pct.toFixed(1) + "%";
|
|
504
|
+
progress_text.textContent = `${Math.round(pct)}%`;
|
|
505
|
+
} else {
|
|
506
|
+
progress_text.textContent = format_mib(received);
|
|
507
|
+
}
|
|
508
|
+
};
|
|
509
|
+
|
|
391
510
|
// This yield appears to be necessary to ensure that the canvas is attached to the DOM
|
|
392
511
|
// and visible. Without it we get occasionally get a panic about a failure to find a canvas
|
|
393
512
|
// element with the given ID.
|
|
@@ -400,7 +519,7 @@ export class WebViewer {
|
|
|
400
519
|
|
|
401
520
|
let WebHandle_class: typeof wasm_bindgen.WebHandle;
|
|
402
521
|
try {
|
|
403
|
-
WebHandle_class = await load(base_url);
|
|
522
|
+
WebHandle_class = await load(base_url, on_progress);
|
|
404
523
|
} catch (e) {
|
|
405
524
|
this.#clearLoader();
|
|
406
525
|
this.#fail("Failed to load rerun", String(e));
|
|
@@ -432,8 +551,16 @@ export class WebViewer {
|
|
|
432
551
|
);
|
|
433
552
|
}
|
|
434
553
|
|
|
554
|
+
const login = options.login
|
|
555
|
+
? {
|
|
556
|
+
signed_in_url: resolveAbsoluteUrl(options.login.signed_in_url),
|
|
557
|
+
signed_out_url: resolveAbsoluteUrl(options.login.signed_out_url),
|
|
558
|
+
}
|
|
559
|
+
: undefined;
|
|
560
|
+
|
|
435
561
|
this.#handle = new WebHandle_class({
|
|
436
562
|
...options,
|
|
563
|
+
login,
|
|
437
564
|
fullscreen,
|
|
438
565
|
on_viewer_event,
|
|
439
566
|
});
|
|
@@ -686,22 +813,22 @@ export class WebViewer {
|
|
|
686
813
|
const parent = this.canvas.parentElement;
|
|
687
814
|
parent.innerHTML = `
|
|
688
815
|
<div style="display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; color: white; font-family: sans-serif; background-color: #1c1c1c;">
|
|
689
|
-
<h1
|
|
690
|
-
<pre
|
|
691
|
-
<button
|
|
816
|
+
<h1 class="rerun-fail-message"></h1>
|
|
817
|
+
<pre class="rerun-fail-error" style="text-align: left; white-space: pre-wrap; word-break: break-word; max-width: 90vw;"></pre>
|
|
818
|
+
<button class="rerun-fail-clear-cache">Clear caches and reload</button>
|
|
692
819
|
</div>
|
|
693
820
|
`;
|
|
694
821
|
|
|
695
|
-
|
|
822
|
+
parent.querySelector(".rerun-fail-message")!.textContent = message;
|
|
696
823
|
|
|
697
|
-
const errorEl =
|
|
824
|
+
const errorEl = parent.querySelector(".rerun-fail-error")!;
|
|
698
825
|
if (error_message) {
|
|
699
826
|
errorEl.textContent = error_message;
|
|
700
827
|
} else {
|
|
701
828
|
errorEl.remove();
|
|
702
829
|
}
|
|
703
830
|
|
|
704
|
-
|
|
831
|
+
parent.querySelector(".rerun-fail-clear-cache")!.addEventListener("click", async () => {
|
|
705
832
|
if ("caches" in window) {
|
|
706
833
|
const keys = await caches.keys();
|
|
707
834
|
await Promise.all(keys.map((key) => caches.delete(key)));
|
package/package.json
CHANGED
package/re_viewer.d.ts
CHANGED
|
@@ -154,23 +154,23 @@ declare interface InitOutput {
|
|
|
154
154
|
readonly intounderlyingsink_write: (a: number, b: any) => any;
|
|
155
155
|
readonly intounderlyingsource_cancel: (a: number) => void;
|
|
156
156
|
readonly intounderlyingsource_pull: (a: number, b: any) => any;
|
|
157
|
-
readonly
|
|
157
|
+
readonly wasm_bindgen__closure__destroy__h8f4f3806b58518a4: (a: number, b: number) => void;
|
|
158
158
|
readonly wasm_bindgen__closure__destroy__h262be31389235739: (a: number, b: number) => void;
|
|
159
159
|
readonly wasm_bindgen__closure__destroy__h009b1949dd23509e: (a: number, b: number) => void;
|
|
160
160
|
readonly wasm_bindgen__closure__destroy__h4831490904c51c4c: (a: number, b: number) => void;
|
|
161
|
-
readonly
|
|
161
|
+
readonly wasm_bindgen__closure__destroy__h435275604416b4c4: (a: number, b: number) => void;
|
|
162
162
|
readonly wasm_bindgen__closure__destroy__hc04567db35d69bbb: (a: number, b: number) => void;
|
|
163
163
|
readonly wasm_bindgen__closure__destroy__h7508dffd5ebd1071: (a: number, b: number) => void;
|
|
164
|
-
readonly
|
|
164
|
+
readonly wasm_bindgen__closure__destroy__hd2256339953da448: (a: number, b: number) => void;
|
|
165
165
|
readonly wasm_bindgen__closure__destroy__hdf5301baa32f3642: (a: number, b: number) => void;
|
|
166
|
-
readonly
|
|
166
|
+
readonly wasm_bindgen__convert__closures_____invoke__hd79b37d5382af24e: (a: number, b: number, c: any) => [number, number];
|
|
167
167
|
readonly wasm_bindgen__convert__closures_____invoke__h7b69018c055b28d9: (a: number, b: number, c: any, d: any) => void;
|
|
168
168
|
readonly wasm_bindgen__convert__closures_____invoke__h30eecf65af9bedc4: (a: number, b: number, c: any) => void;
|
|
169
169
|
readonly wasm_bindgen__convert__closures_____invoke__h5892311f8cd076ed: (a: number, b: number) => [number, number];
|
|
170
170
|
readonly wasm_bindgen__convert__closures_____invoke__hac35f030ac1644df: (a: number, b: number, c: any) => void;
|
|
171
|
-
readonly
|
|
171
|
+
readonly wasm_bindgen__convert__closures_____invoke__ha9e5ee82a50af13e: (a: number, b: number, c: any) => void;
|
|
172
172
|
readonly wasm_bindgen__convert__closures_____invoke__he9e5b44ef7305075: (a: number, b: number, c: any) => void;
|
|
173
|
-
readonly
|
|
173
|
+
readonly wasm_bindgen__convert__closures_____invoke__hc2ea18298d59749f: (a: number, b: number, c: any) => void;
|
|
174
174
|
readonly wasm_bindgen__convert__closures_____invoke__h34c0e2e8ad33c7ee: (a: number, b: number) => void;
|
|
175
175
|
readonly wasm_bindgen__convert__closures_____invoke__had4f08a0af1088c9: (a: number, b: number) => void;
|
|
176
176
|
readonly wasm_bindgen__convert__closures_____invoke__h0236d1cdfad95b17: (a: number, b: number) => void;
|
package/re_viewer.js
CHANGED
|
@@ -1019,7 +1019,7 @@ const exports = { __proto__: null };
|
|
|
1019
1019
|
getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
|
|
1020
1020
|
getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
|
|
1021
1021
|
},
|
|
1022
|
-
|
|
1022
|
+
__wbg_debug_24780e01592852a7: function(arg0, arg1) {
|
|
1023
1023
|
console.debug(getStringFromWasm0(arg0, arg1));
|
|
1024
1024
|
},
|
|
1025
1025
|
__wbg_decode_2790e16d13fc7dfa: function() { return handleError(function (arg0, arg1) {
|
|
@@ -1643,7 +1643,7 @@ const exports = { __proto__: null };
|
|
|
1643
1643
|
const ret = arg0.info;
|
|
1644
1644
|
return ret;
|
|
1645
1645
|
},
|
|
1646
|
-
|
|
1646
|
+
__wbg_info_ceece52d2b52e4fd: function(arg0, arg1) {
|
|
1647
1647
|
console.info(getStringFromWasm0(arg0, arg1));
|
|
1648
1648
|
},
|
|
1649
1649
|
__wbg_inlineSize_3e4e7e8c813884fd: function(arg0) {
|
|
@@ -2185,10 +2185,6 @@ const exports = { __proto__: null };
|
|
|
2185
2185
|
const ret = new Date();
|
|
2186
2186
|
return ret;
|
|
2187
2187
|
},
|
|
2188
|
-
__wbg_new_0b0067972bfbaaa6: function() {
|
|
2189
|
-
const ret = new Error();
|
|
2190
|
-
return ret;
|
|
2191
|
-
},
|
|
2192
2188
|
__wbg_new_2e2be9617c4407d5: function() { return handleError(function (arg0) {
|
|
2193
2189
|
const ret = new ResizeObserver(arg0);
|
|
2194
2190
|
return ret;
|
|
@@ -2205,6 +2201,10 @@ const exports = { __proto__: null };
|
|
|
2205
2201
|
const ret = new Headers();
|
|
2206
2202
|
return ret;
|
|
2207
2203
|
}, arguments); },
|
|
2204
|
+
__wbg_new_644c52e905f29e58: function() {
|
|
2205
|
+
const ret = new Error();
|
|
2206
|
+
return ret;
|
|
2207
|
+
},
|
|
2208
2208
|
__wbg_new_72b49615380db768: function(arg0, arg1) {
|
|
2209
2209
|
const ret = new Error(getStringFromWasm0(arg0, arg1));
|
|
2210
2210
|
return ret;
|
|
@@ -3282,7 +3282,7 @@ const exports = { __proto__: null };
|
|
|
3282
3282
|
getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
|
|
3283
3283
|
getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
|
|
3284
3284
|
},
|
|
3285
|
-
|
|
3285
|
+
__wbg_stack_d996d0cf368a9c8e: function(arg0, arg1) {
|
|
3286
3286
|
const ret = arg1.stack;
|
|
3287
3287
|
const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
3288
3288
|
const len1 = WASM_VECTOR_LEN;
|
|
@@ -3355,7 +3355,7 @@ const exports = { __proto__: null };
|
|
|
3355
3355
|
const ret = JSON.stringify(arg0);
|
|
3356
3356
|
return ret;
|
|
3357
3357
|
}, arguments); },
|
|
3358
|
-
|
|
3358
|
+
__wbg_structuredClone_d070f18b044247f0: function() { return handleError(function (arg0) {
|
|
3359
3359
|
const ret = window.structuredClone(arg0);
|
|
3360
3360
|
return ret;
|
|
3361
3361
|
}, arguments); },
|
|
@@ -3473,7 +3473,7 @@ const exports = { __proto__: null };
|
|
|
3473
3473
|
const ret = arg0.touches;
|
|
3474
3474
|
return ret;
|
|
3475
3475
|
},
|
|
3476
|
-
|
|
3476
|
+
__wbg_trace_d1ad8370b521203c: function(arg0, arg1) {
|
|
3477
3477
|
console.trace(getStringFromWasm0(arg0, arg1));
|
|
3478
3478
|
},
|
|
3479
3479
|
__wbg_type_9a3860e6dd3a4156: function(arg0, arg1) {
|
|
@@ -3674,7 +3674,7 @@ const exports = { __proto__: null };
|
|
|
3674
3674
|
__wbg_viewport_df236eac68bc7467: function(arg0, arg1, arg2, arg3, arg4) {
|
|
3675
3675
|
arg0.viewport(arg1, arg2, arg3, arg4);
|
|
3676
3676
|
},
|
|
3677
|
-
|
|
3677
|
+
__wbg_warn_61b84b03dc149802: function(arg0, arg1) {
|
|
3678
3678
|
console.warn(getStringFromWasm0(arg0, arg1));
|
|
3679
3679
|
},
|
|
3680
3680
|
__wbg_width_5901d980713eb80b: function(arg0) {
|
|
@@ -3717,61 +3717,61 @@ const exports = { __proto__: null };
|
|
|
3717
3717
|
},
|
|
3718
3718
|
__wbindgen_cast_0000000000000001: function(arg0, arg1) {
|
|
3719
3719
|
// Cast intrinsic for `Closure(Closure { dtor_idx: 1, function: Function { arguments: [NamedExternref("PopStateEvent")], shim_idx: 2, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
|
|
3720
|
-
const ret = makeMutClosure(arg0, arg1, wasm.
|
|
3720
|
+
const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h8f4f3806b58518a4, wasm_bindgen__convert__closures_____invoke__hd79b37d5382af24e);
|
|
3721
3721
|
return ret;
|
|
3722
3722
|
},
|
|
3723
3723
|
__wbindgen_cast_0000000000000002: function(arg0, arg1) {
|
|
3724
|
-
// Cast intrinsic for `Closure(Closure { dtor_idx:
|
|
3724
|
+
// Cast intrinsic for `Closure(Closure { dtor_idx: 1353, function: Function { arguments: [], shim_idx: 1354, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
|
|
3725
3725
|
const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h262be31389235739, wasm_bindgen__convert__closures_____invoke__h34c0e2e8ad33c7ee);
|
|
3726
3726
|
return ret;
|
|
3727
3727
|
},
|
|
3728
3728
|
__wbindgen_cast_0000000000000003: function(arg0, arg1) {
|
|
3729
|
-
// Cast intrinsic for `Closure(Closure { dtor_idx:
|
|
3729
|
+
// Cast intrinsic for `Closure(Closure { dtor_idx: 21539, function: Function { arguments: [NamedExternref("Array<any>")], shim_idx: 21540, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
|
|
3730
3730
|
const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h009b1949dd23509e, wasm_bindgen__convert__closures_____invoke__h30eecf65af9bedc4);
|
|
3731
3731
|
return ret;
|
|
3732
3732
|
},
|
|
3733
3733
|
__wbindgen_cast_0000000000000004: function(arg0, arg1) {
|
|
3734
|
-
// Cast intrinsic for `Closure(Closure { dtor_idx:
|
|
3734
|
+
// Cast intrinsic for `Closure(Closure { dtor_idx: 21539, function: Function { arguments: [NamedExternref("Event")], shim_idx: 21540, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
|
|
3735
3735
|
const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h009b1949dd23509e, wasm_bindgen__convert__closures_____invoke__h30eecf65af9bedc4);
|
|
3736
3736
|
return ret;
|
|
3737
3737
|
},
|
|
3738
3738
|
__wbindgen_cast_0000000000000005: function(arg0, arg1) {
|
|
3739
|
-
// Cast intrinsic for `Closure(Closure { dtor_idx:
|
|
3739
|
+
// Cast intrinsic for `Closure(Closure { dtor_idx: 21539, function: Function { arguments: [], shim_idx: 21541, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
|
|
3740
3740
|
const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h009b1949dd23509e, wasm_bindgen__convert__closures_____invoke__h5892311f8cd076ed);
|
|
3741
3741
|
return ret;
|
|
3742
3742
|
},
|
|
3743
3743
|
__wbindgen_cast_0000000000000006: function(arg0, arg1) {
|
|
3744
|
-
// Cast intrinsic for `Closure(Closure { dtor_idx:
|
|
3744
|
+
// Cast intrinsic for `Closure(Closure { dtor_idx: 22146, function: Function { arguments: [NamedExternref("GPUUncapturedErrorEvent")], shim_idx: 22147, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
|
|
3745
3745
|
const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h4831490904c51c4c, wasm_bindgen__convert__closures_____invoke__hac35f030ac1644df);
|
|
3746
3746
|
return ret;
|
|
3747
3747
|
},
|
|
3748
3748
|
__wbindgen_cast_0000000000000007: function(arg0, arg1) {
|
|
3749
|
-
// Cast intrinsic for `Closure(Closure { dtor_idx:
|
|
3750
|
-
const ret = makeMutClosure(arg0, arg1, wasm.
|
|
3749
|
+
// Cast intrinsic for `Closure(Closure { dtor_idx: 26090, function: Function { arguments: [NamedExternref("Error")], shim_idx: 26091, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
|
|
3750
|
+
const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h435275604416b4c4, wasm_bindgen__convert__closures_____invoke__ha9e5ee82a50af13e);
|
|
3751
3751
|
return ret;
|
|
3752
3752
|
},
|
|
3753
3753
|
__wbindgen_cast_0000000000000008: function(arg0, arg1) {
|
|
3754
|
-
// Cast intrinsic for `Closure(Closure { dtor_idx:
|
|
3755
|
-
const ret = makeMutClosure(arg0, arg1, wasm.
|
|
3754
|
+
// Cast intrinsic for `Closure(Closure { dtor_idx: 26090, function: Function { arguments: [NamedExternref("VideoFrame")], shim_idx: 26091, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
|
|
3755
|
+
const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h435275604416b4c4, wasm_bindgen__convert__closures_____invoke__ha9e5ee82a50af13e);
|
|
3756
3756
|
return ret;
|
|
3757
3757
|
},
|
|
3758
3758
|
__wbindgen_cast_0000000000000009: function(arg0, arg1) {
|
|
3759
|
-
// Cast intrinsic for `Closure(Closure { dtor_idx:
|
|
3759
|
+
// Cast intrinsic for `Closure(Closure { dtor_idx: 26536, function: Function { arguments: [], shim_idx: 26537, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
|
|
3760
3760
|
const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__hc04567db35d69bbb, wasm_bindgen__convert__closures_____invoke__had4f08a0af1088c9);
|
|
3761
3761
|
return ret;
|
|
3762
3762
|
},
|
|
3763
3763
|
__wbindgen_cast_000000000000000a: function(arg0, arg1) {
|
|
3764
|
-
// Cast intrinsic for `Closure(Closure { dtor_idx:
|
|
3764
|
+
// Cast intrinsic for `Closure(Closure { dtor_idx: 31050, function: Function { arguments: [Externref], shim_idx: 31051, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
|
|
3765
3765
|
const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h7508dffd5ebd1071, wasm_bindgen__convert__closures_____invoke__he9e5b44ef7305075);
|
|
3766
3766
|
return ret;
|
|
3767
3767
|
},
|
|
3768
3768
|
__wbindgen_cast_000000000000000b: function(arg0, arg1) {
|
|
3769
|
-
// Cast intrinsic for `Closure(Closure { dtor_idx:
|
|
3770
|
-
const ret = makeMutClosure(arg0, arg1, wasm.
|
|
3769
|
+
// Cast intrinsic for `Closure(Closure { dtor_idx: 3664, function: Function { arguments: [NamedExternref("StorageEvent")], shim_idx: 3665, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
|
|
3770
|
+
const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__hd2256339953da448, wasm_bindgen__convert__closures_____invoke__hc2ea18298d59749f);
|
|
3771
3771
|
return ret;
|
|
3772
3772
|
},
|
|
3773
3773
|
__wbindgen_cast_000000000000000c: function(arg0, arg1) {
|
|
3774
|
-
// Cast intrinsic for `Closure(Closure { dtor_idx:
|
|
3774
|
+
// Cast intrinsic for `Closure(Closure { dtor_idx: 5905, function: Function { arguments: [], shim_idx: 5906, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
|
|
3775
3775
|
const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__hdf5301baa32f3642, wasm_bindgen__convert__closures_____invoke__h0236d1cdfad95b17);
|
|
3776
3776
|
return ret;
|
|
3777
3777
|
},
|
|
@@ -3863,20 +3863,20 @@ const exports = { __proto__: null };
|
|
|
3863
3863
|
wasm.wasm_bindgen__convert__closures_____invoke__hac35f030ac1644df(arg0, arg1, arg2);
|
|
3864
3864
|
}
|
|
3865
3865
|
|
|
3866
|
-
function
|
|
3867
|
-
wasm.
|
|
3866
|
+
function wasm_bindgen__convert__closures_____invoke__ha9e5ee82a50af13e(arg0, arg1, arg2) {
|
|
3867
|
+
wasm.wasm_bindgen__convert__closures_____invoke__ha9e5ee82a50af13e(arg0, arg1, arg2);
|
|
3868
3868
|
}
|
|
3869
3869
|
|
|
3870
3870
|
function wasm_bindgen__convert__closures_____invoke__he9e5b44ef7305075(arg0, arg1, arg2) {
|
|
3871
3871
|
wasm.wasm_bindgen__convert__closures_____invoke__he9e5b44ef7305075(arg0, arg1, arg2);
|
|
3872
3872
|
}
|
|
3873
3873
|
|
|
3874
|
-
function
|
|
3875
|
-
wasm.
|
|
3874
|
+
function wasm_bindgen__convert__closures_____invoke__hc2ea18298d59749f(arg0, arg1, arg2) {
|
|
3875
|
+
wasm.wasm_bindgen__convert__closures_____invoke__hc2ea18298d59749f(arg0, arg1, arg2);
|
|
3876
3876
|
}
|
|
3877
3877
|
|
|
3878
|
-
function
|
|
3879
|
-
const ret = wasm.
|
|
3878
|
+
function wasm_bindgen__convert__closures_____invoke__hd79b37d5382af24e(arg0, arg1, arg2) {
|
|
3879
|
+
const ret = wasm.wasm_bindgen__convert__closures_____invoke__hd79b37d5382af24e(arg0, arg1, arg2);
|
|
3880
3880
|
if (ret[1]) {
|
|
3881
3881
|
throw takeFromExternrefTable0(ret[0]);
|
|
3882
3882
|
}
|
package/re_viewer_bg.wasm
CHANGED
|
Binary file
|
package/re_viewer_bg.wasm.d.ts
CHANGED
|
@@ -54,23 +54,23 @@ export const intounderlyingsink_close: (a: number) => any;
|
|
|
54
54
|
export const intounderlyingsink_write: (a: number, b: any) => any;
|
|
55
55
|
export const intounderlyingsource_cancel: (a: number) => void;
|
|
56
56
|
export const intounderlyingsource_pull: (a: number, b: any) => any;
|
|
57
|
-
export const
|
|
57
|
+
export const wasm_bindgen__closure__destroy__h8f4f3806b58518a4: (a: number, b: number) => void;
|
|
58
58
|
export const wasm_bindgen__closure__destroy__h262be31389235739: (a: number, b: number) => void;
|
|
59
59
|
export const wasm_bindgen__closure__destroy__h009b1949dd23509e: (a: number, b: number) => void;
|
|
60
60
|
export const wasm_bindgen__closure__destroy__h4831490904c51c4c: (a: number, b: number) => void;
|
|
61
|
-
export const
|
|
61
|
+
export const wasm_bindgen__closure__destroy__h435275604416b4c4: (a: number, b: number) => void;
|
|
62
62
|
export const wasm_bindgen__closure__destroy__hc04567db35d69bbb: (a: number, b: number) => void;
|
|
63
63
|
export const wasm_bindgen__closure__destroy__h7508dffd5ebd1071: (a: number, b: number) => void;
|
|
64
|
-
export const
|
|
64
|
+
export const wasm_bindgen__closure__destroy__hd2256339953da448: (a: number, b: number) => void;
|
|
65
65
|
export const wasm_bindgen__closure__destroy__hdf5301baa32f3642: (a: number, b: number) => void;
|
|
66
|
-
export const
|
|
66
|
+
export const wasm_bindgen__convert__closures_____invoke__hd79b37d5382af24e: (a: number, b: number, c: any) => [number, number];
|
|
67
67
|
export const wasm_bindgen__convert__closures_____invoke__h7b69018c055b28d9: (a: number, b: number, c: any, d: any) => void;
|
|
68
68
|
export const wasm_bindgen__convert__closures_____invoke__h30eecf65af9bedc4: (a: number, b: number, c: any) => void;
|
|
69
69
|
export const wasm_bindgen__convert__closures_____invoke__h5892311f8cd076ed: (a: number, b: number) => [number, number];
|
|
70
70
|
export const wasm_bindgen__convert__closures_____invoke__hac35f030ac1644df: (a: number, b: number, c: any) => void;
|
|
71
|
-
export const
|
|
71
|
+
export const wasm_bindgen__convert__closures_____invoke__ha9e5ee82a50af13e: (a: number, b: number, c: any) => void;
|
|
72
72
|
export const wasm_bindgen__convert__closures_____invoke__he9e5b44ef7305075: (a: number, b: number, c: any) => void;
|
|
73
|
-
export const
|
|
73
|
+
export const wasm_bindgen__convert__closures_____invoke__hc2ea18298d59749f: (a: number, b: number, c: any) => void;
|
|
74
74
|
export const wasm_bindgen__convert__closures_____invoke__h34c0e2e8ad33c7ee: (a: number, b: number) => void;
|
|
75
75
|
export const wasm_bindgen__convert__closures_____invoke__had4f08a0af1088c9: (a: number, b: number) => void;
|
|
76
76
|
export const wasm_bindgen__convert__closures_____invoke__h0236d1cdfad95b17: (a: number, b: number) => void;
|