@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 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.1/web-viewer/classes/WebViewer.html) class.
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.1/examples/dna.rrd>
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.1/examples/dna.rrd")`
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":"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"}
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
- if (base_url) {
10
- return fetch(new URL("./re_viewer_bg.wasm", base_url));
11
- }
12
- else {
13
- return fetch(new URL("./re_viewer_bg.wasm", import.meta.url));
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
- async function load(base_url) {
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.1/examples/dna.rrd")`
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 spinner
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="width: 40px; height: 40px; border: 3px solid #444; border-top-color: white; border-radius: 50%; animation: rerun-spin 1s linear infinite;"></div>
111
- <div style="margin-top: 16px;">Loading Rerun…</div>
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 id="fail-message"></h1>
339
- <pre id="fail-error" style="text-align: left;"></pre>
340
- <button id="fail-clear-cache">Clear caches and reload</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
- document.getElementById("fail-message").textContent = message;
344
- const errorEl = document.getElementById("fail-error");
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
- document.getElementById("fail-clear-cache").addEventListener("click", async () => {
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(base_url?: string): Promise<Response> {
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
- if (base_url) {
15
- return fetch(new URL("./re_viewer_bg.wasm", base_url))
16
- } else {
17
- return fetch(new URL("./re_viewer_bg.wasm", import.meta.url));
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
- async function load(base_url?: string): Promise<typeof wasm_bindgen.WebHandle> {
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.1/examples/dna.rrd")`
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 spinner
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="width: 40px; height: 40px; border: 3px solid #444; border-top-color: white; border-radius: 50%; animation: rerun-spin 1s linear infinite;"></div>
383
- <div style="margin-top: 16px;">Loading Rerun…</div>
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 id="fail-message"></h1>
690
- <pre id="fail-error" style="text-align: left;"></pre>
691
- <button id="fail-clear-cache">Clear caches and reload</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
- document.getElementById("fail-message")!.textContent = message;
822
+ parent.querySelector(".rerun-fail-message")!.textContent = message;
696
823
 
697
- const errorEl = document.getElementById("fail-error")!;
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
- document.getElementById("fail-clear-cache")!.addEventListener("click", async () => {
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rerun-io/web-viewer",
3
- "version": "0.31.1",
3
+ "version": "0.31.3",
4
4
  "description": "Embed the Rerun web viewer in your app",
5
5
  "licenses": [
6
6
  {
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 wasm_bindgen__closure__destroy__h76ed0acbc6f7fdcb: (a: number, b: number) => void;
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 wasm_bindgen__closure__destroy__h36a37bc554204de9: (a: number, b: number) => void;
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 wasm_bindgen__closure__destroy__ha14ceff5dd905bd1: (a: number, b: number) => void;
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 wasm_bindgen__convert__closures_____invoke__hb97850598ac81ed3: (a: number, b: number, c: any) => [number, number];
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 wasm_bindgen__convert__closures_____invoke__h0c1ec2a1301fa24c: (a: number, b: number, c: any) => void;
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 wasm_bindgen__convert__closures_____invoke__ha3af8df19df1f59c: (a: number, b: number, c: any) => void;
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
- __wbg_debug_eb2e1266ddb5ff20: function(arg0, arg1) {
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
- __wbg_info_d3205b56603d0011: function(arg0, arg1) {
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
- __wbg_stack_c36fdea956bdf06f: function(arg0, arg1) {
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
- __wbg_structuredClone_5cf7c80cf113ab1c: function() { return handleError(function (arg0) {
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
- __wbg_trace_04421d1ebfa3afdc: function(arg0, arg1) {
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
- __wbg_warn_f6ff786a35dbae1b: function(arg0, arg1) {
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.wasm_bindgen__closure__destroy__h76ed0acbc6f7fdcb, wasm_bindgen__convert__closures_____invoke__hb97850598ac81ed3);
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: 1352, function: Function { arguments: [], shim_idx: 1353, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
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: 21532, function: Function { arguments: [NamedExternref("Array<any>")], shim_idx: 21533, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
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: 21532, function: Function { arguments: [NamedExternref("Event")], shim_idx: 21533, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
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: 21532, function: Function { arguments: [], shim_idx: 21534, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
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: 22137, function: Function { arguments: [NamedExternref("GPUUncapturedErrorEvent")], shim_idx: 22138, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
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: 26077, function: Function { arguments: [NamedExternref("Error")], shim_idx: 26078, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
3750
- const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h36a37bc554204de9, wasm_bindgen__convert__closures_____invoke__h0c1ec2a1301fa24c);
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: 26077, function: Function { arguments: [NamedExternref("VideoFrame")], shim_idx: 26078, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
3755
- const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__h36a37bc554204de9, wasm_bindgen__convert__closures_____invoke__h0c1ec2a1301fa24c);
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: 26523, function: Function { arguments: [], shim_idx: 26524, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
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: 31039, function: Function { arguments: [Externref], shim_idx: 31040, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
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: 3663, function: Function { arguments: [NamedExternref("StorageEvent")], shim_idx: 3664, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
3770
- const ret = makeMutClosure(arg0, arg1, wasm.wasm_bindgen__closure__destroy__ha14ceff5dd905bd1, wasm_bindgen__convert__closures_____invoke__ha3af8df19df1f59c);
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: 5903, function: Function { arguments: [], shim_idx: 5904, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
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 wasm_bindgen__convert__closures_____invoke__h0c1ec2a1301fa24c(arg0, arg1, arg2) {
3867
- wasm.wasm_bindgen__convert__closures_____invoke__h0c1ec2a1301fa24c(arg0, arg1, arg2);
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 wasm_bindgen__convert__closures_____invoke__ha3af8df19df1f59c(arg0, arg1, arg2) {
3875
- wasm.wasm_bindgen__convert__closures_____invoke__ha3af8df19df1f59c(arg0, arg1, arg2);
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 wasm_bindgen__convert__closures_____invoke__hb97850598ac81ed3(arg0, arg1, arg2) {
3879
- const ret = wasm.wasm_bindgen__convert__closures_____invoke__hb97850598ac81ed3(arg0, arg1, arg2);
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
@@ -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 wasm_bindgen__closure__destroy__h76ed0acbc6f7fdcb: (a: number, b: number) => void;
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 wasm_bindgen__closure__destroy__h36a37bc554204de9: (a: number, b: number) => void;
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 wasm_bindgen__closure__destroy__ha14ceff5dd905bd1: (a: number, b: number) => void;
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 wasm_bindgen__convert__closures_____invoke__hb97850598ac81ed3: (a: number, b: number, c: any) => [number, number];
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 wasm_bindgen__convert__closures_____invoke__h0c1ec2a1301fa24c: (a: number, b: number, c: any) => void;
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 wasm_bindgen__convert__closures_____invoke__ha3af8df19df1f59c: (a: number, b: number, c: any) => void;
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;