@rerun-io/web-viewer 0.0.3 → 0.0.4
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 +11 -4
- package/index.d.ts.map +1 -1
- package/index.js +13 -10
- package/package.json +8 -5
- package/re_viewer.d.ts +256 -0
- package/re_viewer.js +2695 -4
- package/re_viewer_bg.wasm +0 -0
- package/re_viewer_bg.wasm.d.ts +97 -0
- package/re_viewer_bg.js +0 -3111
package/README.md
CHANGED
|
@@ -12,12 +12,14 @@ Embed the Rerun web viewer within your app.
|
|
|
12
12
|
npm i @rerun-io/web-viewer
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
##
|
|
15
|
+
## Usage
|
|
16
|
+
|
|
17
|
+
The web viewer is an object which manages a canvas element:
|
|
16
18
|
|
|
17
19
|
```js
|
|
18
20
|
import { WebViewer } from "@rerun-io/web-viewer";
|
|
19
21
|
|
|
20
|
-
const URL = "
|
|
22
|
+
const URL = "…";
|
|
21
23
|
const parentElement = document.body;
|
|
22
24
|
|
|
23
25
|
const viewer = new WebViewer();
|
|
@@ -27,9 +29,14 @@ await viewer.start(URL, parentElement);
|
|
|
27
29
|
viewer.stop();
|
|
28
30
|
```
|
|
29
31
|
|
|
32
|
+
You can style this canvas element however you wish.
|
|
33
|
+
|
|
34
|
+
For a live example, see https://github.com/rerun-io/web-viewer-example.
|
|
35
|
+
|
|
30
36
|
ℹ️ Note:
|
|
31
|
-
This package only targets recent browsers.
|
|
32
|
-
|
|
37
|
+
This package only targets recent versions of browsers.
|
|
38
|
+
If your target browser does not support Wasm imports or top-level await,
|
|
39
|
+
you may need to install additional plugins for your bundler.
|
|
33
40
|
|
|
34
41
|
## Development
|
|
35
42
|
|
package/index.d.ts.map
CHANGED
package/index.js
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
/** @
|
|
1
|
+
import init, { WebHandle } from "./re_viewer.js";
|
|
2
|
+
|
|
3
|
+
/** @type {(import("./re_viewer").InitOutput) | null} */
|
|
4
|
+
let module = null;
|
|
5
|
+
|
|
6
|
+
/** @returns {Promise<(import("./re_viewer").InitOutput)>} */
|
|
4
7
|
async function load() {
|
|
5
|
-
if (
|
|
6
|
-
return
|
|
8
|
+
if (module) {
|
|
9
|
+
return module;
|
|
7
10
|
}
|
|
8
|
-
|
|
9
|
-
return
|
|
11
|
+
module = await init(new URL("./re_viewer_bg.wasm", import.meta.url));
|
|
12
|
+
return module;
|
|
10
13
|
}
|
|
11
14
|
|
|
12
15
|
/** @returns {string} */
|
|
@@ -19,7 +22,7 @@ function randomId() {
|
|
|
19
22
|
}
|
|
20
23
|
|
|
21
24
|
export class WebViewer {
|
|
22
|
-
/** @type {
|
|
25
|
+
/** @type {WebHandle | null} */
|
|
23
26
|
#handle = null;
|
|
24
27
|
|
|
25
28
|
/** @type {HTMLCanvasElement | null} */
|
|
@@ -35,8 +38,8 @@ export class WebViewer {
|
|
|
35
38
|
canvas.id = randomId();
|
|
36
39
|
parent.append(canvas);
|
|
37
40
|
|
|
38
|
-
|
|
39
|
-
const handle = new
|
|
41
|
+
await load();
|
|
42
|
+
const handle = new WebHandle();
|
|
40
43
|
await handle.start(canvas.id, url);
|
|
41
44
|
if (handle.has_panicked()) {
|
|
42
45
|
throw new Error(`Web viewer crashed: ${handle.panic_message()}`);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rerun-io/web-viewer",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"description": "Embed the Rerun web viewer in your app",
|
|
5
5
|
"private": false,
|
|
6
6
|
"scripts": {
|
|
@@ -26,16 +26,19 @@
|
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
"files": [
|
|
29
|
-
"package.json",
|
|
30
|
-
"tsconfig.json",
|
|
31
29
|
"index.d.ts",
|
|
32
30
|
"index.d.ts.map",
|
|
33
31
|
"index.js",
|
|
34
|
-
"
|
|
32
|
+
"package.json",
|
|
35
33
|
"re_viewer_bg.js",
|
|
36
|
-
"re_viewer_bg.wasm"
|
|
34
|
+
"re_viewer_bg.wasm",
|
|
35
|
+
"re_viewer_bg.wasm.d.ts",
|
|
36
|
+
"re_viewer.d.ts",
|
|
37
|
+
"re_viewer.js",
|
|
38
|
+
"tsconfig.json"
|
|
37
39
|
],
|
|
38
40
|
"devDependencies": {
|
|
39
41
|
"dts-buddy": "^0.3.0"
|
|
40
42
|
}
|
|
41
43
|
}
|
|
44
|
+
|
package/re_viewer.d.ts
ADDED
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* Used to set the "email" property in the analytics config,
|
|
5
|
+
* in the same way as `rerun analytics email YOURNAME@rerun.io`.
|
|
6
|
+
*
|
|
7
|
+
* This one just panics when it fails, as it's only ever really run
|
|
8
|
+
* by rerun employees manually in `app.rerun.io` and `demo.rerun.io`.
|
|
9
|
+
* @param {string} email
|
|
10
|
+
*/
|
|
11
|
+
export function set_email(email: string): void;
|
|
12
|
+
/**
|
|
13
|
+
* @returns {boolean}
|
|
14
|
+
*/
|
|
15
|
+
export function is_webgpu_build(): boolean;
|
|
16
|
+
/**
|
|
17
|
+
*/
|
|
18
|
+
export class IntoUnderlyingByteSource {
|
|
19
|
+
free(): void;
|
|
20
|
+
/**
|
|
21
|
+
* @param {any} controller
|
|
22
|
+
*/
|
|
23
|
+
start(controller: any): void;
|
|
24
|
+
/**
|
|
25
|
+
* @param {any} controller
|
|
26
|
+
* @returns {Promise<any>}
|
|
27
|
+
*/
|
|
28
|
+
pull(controller: any): Promise<any>;
|
|
29
|
+
/**
|
|
30
|
+
*/
|
|
31
|
+
cancel(): void;
|
|
32
|
+
/**
|
|
33
|
+
*/
|
|
34
|
+
readonly autoAllocateChunkSize: number;
|
|
35
|
+
/**
|
|
36
|
+
*/
|
|
37
|
+
readonly type: string;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
*/
|
|
41
|
+
export class IntoUnderlyingSink {
|
|
42
|
+
free(): void;
|
|
43
|
+
/**
|
|
44
|
+
* @param {any} chunk
|
|
45
|
+
* @returns {Promise<any>}
|
|
46
|
+
*/
|
|
47
|
+
write(chunk: any): Promise<any>;
|
|
48
|
+
/**
|
|
49
|
+
* @returns {Promise<any>}
|
|
50
|
+
*/
|
|
51
|
+
close(): Promise<any>;
|
|
52
|
+
/**
|
|
53
|
+
* @param {any} reason
|
|
54
|
+
* @returns {Promise<any>}
|
|
55
|
+
*/
|
|
56
|
+
abort(reason: any): Promise<any>;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
*/
|
|
60
|
+
export class IntoUnderlyingSource {
|
|
61
|
+
free(): void;
|
|
62
|
+
/**
|
|
63
|
+
* @param {any} controller
|
|
64
|
+
* @returns {Promise<any>}
|
|
65
|
+
*/
|
|
66
|
+
pull(controller: any): Promise<any>;
|
|
67
|
+
/**
|
|
68
|
+
*/
|
|
69
|
+
cancel(): void;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Raw options for [`pipeTo()`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream/pipeTo).
|
|
73
|
+
*/
|
|
74
|
+
export class PipeOptions {
|
|
75
|
+
free(): void;
|
|
76
|
+
/**
|
|
77
|
+
*/
|
|
78
|
+
readonly preventAbort: boolean;
|
|
79
|
+
/**
|
|
80
|
+
*/
|
|
81
|
+
readonly preventCancel: boolean;
|
|
82
|
+
/**
|
|
83
|
+
*/
|
|
84
|
+
readonly preventClose: boolean;
|
|
85
|
+
/**
|
|
86
|
+
*/
|
|
87
|
+
readonly signal: AbortSignal | undefined;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
*/
|
|
91
|
+
export class QueuingStrategy {
|
|
92
|
+
free(): void;
|
|
93
|
+
/**
|
|
94
|
+
*/
|
|
95
|
+
readonly highWaterMark: number;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Raw options for [`getReader()`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream/getReader).
|
|
99
|
+
*/
|
|
100
|
+
export class ReadableStreamGetReaderOptions {
|
|
101
|
+
free(): void;
|
|
102
|
+
/**
|
|
103
|
+
*/
|
|
104
|
+
readonly mode: any;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
*/
|
|
108
|
+
export class WebHandle {
|
|
109
|
+
free(): void;
|
|
110
|
+
/**
|
|
111
|
+
*/
|
|
112
|
+
constructor();
|
|
113
|
+
/**
|
|
114
|
+
* The `url` is an optional URL to either an .rrd file over http, or a Rerun WebSocket server.
|
|
115
|
+
* @param {string} canvas_id
|
|
116
|
+
* @param {string | undefined} url
|
|
117
|
+
* @returns {Promise<void>}
|
|
118
|
+
*/
|
|
119
|
+
start(canvas_id: string, url?: string): Promise<void>;
|
|
120
|
+
/**
|
|
121
|
+
*/
|
|
122
|
+
destroy(): void;
|
|
123
|
+
/**
|
|
124
|
+
* @returns {boolean}
|
|
125
|
+
*/
|
|
126
|
+
has_panicked(): boolean;
|
|
127
|
+
/**
|
|
128
|
+
* @returns {string | undefined}
|
|
129
|
+
*/
|
|
130
|
+
panic_message(): string | undefined;
|
|
131
|
+
/**
|
|
132
|
+
* @returns {string | undefined}
|
|
133
|
+
*/
|
|
134
|
+
panic_callstack(): string | undefined;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
|
|
138
|
+
|
|
139
|
+
export interface InitOutput {
|
|
140
|
+
readonly memory: WebAssembly.Memory;
|
|
141
|
+
readonly __wbg_webhandle_free: (a: number) => void;
|
|
142
|
+
readonly webhandle_new: () => number;
|
|
143
|
+
readonly webhandle_start: (a: number, b: number, c: number, d: number, e: number) => number;
|
|
144
|
+
readonly webhandle_destroy: (a: number) => void;
|
|
145
|
+
readonly webhandle_has_panicked: (a: number) => number;
|
|
146
|
+
readonly webhandle_panic_message: (a: number, b: number) => void;
|
|
147
|
+
readonly webhandle_panic_callstack: (a: number, b: number) => void;
|
|
148
|
+
readonly set_email: (a: number, b: number) => void;
|
|
149
|
+
readonly is_webgpu_build: () => number;
|
|
150
|
+
readonly wgpu_compute_pass_set_pipeline: (a: number, b: number) => void;
|
|
151
|
+
readonly wgpu_compute_pass_set_bind_group: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
152
|
+
readonly wgpu_compute_pass_set_push_constant: (a: number, b: number, c: number, d: number) => void;
|
|
153
|
+
readonly wgpu_compute_pass_insert_debug_marker: (a: number, b: number, c: number) => void;
|
|
154
|
+
readonly wgpu_compute_pass_push_debug_group: (a: number, b: number, c: number) => void;
|
|
155
|
+
readonly wgpu_compute_pass_pop_debug_group: (a: number) => void;
|
|
156
|
+
readonly wgpu_compute_pass_write_timestamp: (a: number, b: number, c: number) => void;
|
|
157
|
+
readonly wgpu_compute_pass_begin_pipeline_statistics_query: (a: number, b: number, c: number) => void;
|
|
158
|
+
readonly wgpu_compute_pass_end_pipeline_statistics_query: (a: number) => void;
|
|
159
|
+
readonly wgpu_compute_pass_dispatch_workgroups: (a: number, b: number, c: number, d: number) => void;
|
|
160
|
+
readonly wgpu_compute_pass_dispatch_workgroups_indirect: (a: number, b: number, c: number) => void;
|
|
161
|
+
readonly wgpu_render_bundle_set_pipeline: (a: number, b: number) => void;
|
|
162
|
+
readonly wgpu_render_bundle_set_bind_group: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
163
|
+
readonly wgpu_render_bundle_set_vertex_buffer: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
164
|
+
readonly wgpu_render_bundle_set_push_constants: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
165
|
+
readonly wgpu_render_bundle_draw: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
166
|
+
readonly wgpu_render_bundle_draw_indexed: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
167
|
+
readonly wgpu_render_bundle_draw_indirect: (a: number, b: number, c: number) => void;
|
|
168
|
+
readonly wgpu_render_bundle_draw_indexed_indirect: (a: number, b: number, c: number) => void;
|
|
169
|
+
readonly wgpu_render_pass_set_pipeline: (a: number, b: number) => void;
|
|
170
|
+
readonly wgpu_render_pass_set_bind_group: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
171
|
+
readonly wgpu_render_pass_set_vertex_buffer: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
172
|
+
readonly wgpu_render_pass_set_push_constants: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
173
|
+
readonly wgpu_render_pass_draw: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
174
|
+
readonly wgpu_render_pass_draw_indexed: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
175
|
+
readonly wgpu_render_pass_draw_indirect: (a: number, b: number, c: number) => void;
|
|
176
|
+
readonly wgpu_render_pass_draw_indexed_indirect: (a: number, b: number, c: number) => void;
|
|
177
|
+
readonly wgpu_render_pass_multi_draw_indirect: (a: number, b: number, c: number, d: number) => void;
|
|
178
|
+
readonly wgpu_render_pass_multi_draw_indexed_indirect: (a: number, b: number, c: number, d: number) => void;
|
|
179
|
+
readonly wgpu_render_pass_multi_draw_indirect_count: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
180
|
+
readonly wgpu_render_pass_multi_draw_indexed_indirect_count: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
|
|
181
|
+
readonly wgpu_render_pass_set_blend_constant: (a: number, b: number) => void;
|
|
182
|
+
readonly wgpu_render_pass_set_scissor_rect: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
183
|
+
readonly wgpu_render_pass_set_viewport: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => void;
|
|
184
|
+
readonly wgpu_render_pass_set_stencil_reference: (a: number, b: number) => void;
|
|
185
|
+
readonly wgpu_render_pass_insert_debug_marker: (a: number, b: number, c: number) => void;
|
|
186
|
+
readonly wgpu_render_pass_push_debug_group: (a: number, b: number, c: number) => void;
|
|
187
|
+
readonly wgpu_render_pass_pop_debug_group: (a: number) => void;
|
|
188
|
+
readonly wgpu_render_pass_write_timestamp: (a: number, b: number, c: number) => void;
|
|
189
|
+
readonly wgpu_render_pass_begin_pipeline_statistics_query: (a: number, b: number, c: number) => void;
|
|
190
|
+
readonly wgpu_render_pass_end_pipeline_statistics_query: (a: number) => void;
|
|
191
|
+
readonly wgpu_render_pass_execute_bundles: (a: number, b: number, c: number) => void;
|
|
192
|
+
readonly wgpu_render_pass_set_index_buffer: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
193
|
+
readonly wgpu_render_bundle_set_index_buffer: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
194
|
+
readonly wgpu_render_bundle_pop_debug_group: (a: number) => void;
|
|
195
|
+
readonly wgpu_render_bundle_insert_debug_marker: (a: number, b: number) => void;
|
|
196
|
+
readonly wgpu_render_bundle_push_debug_group: (a: number, b: number) => void;
|
|
197
|
+
readonly __wbg_readablestreamgetreaderoptions_free: (a: number) => void;
|
|
198
|
+
readonly readablestreamgetreaderoptions_mode: (a: number) => number;
|
|
199
|
+
readonly __wbg_pipeoptions_free: (a: number) => void;
|
|
200
|
+
readonly pipeoptions_preventClose: (a: number) => number;
|
|
201
|
+
readonly pipeoptions_preventCancel: (a: number) => number;
|
|
202
|
+
readonly pipeoptions_preventAbort: (a: number) => number;
|
|
203
|
+
readonly pipeoptions_signal: (a: number) => number;
|
|
204
|
+
readonly __wbg_intounderlyingsink_free: (a: number) => void;
|
|
205
|
+
readonly intounderlyingsink_write: (a: number, b: number) => number;
|
|
206
|
+
readonly intounderlyingsink_close: (a: number) => number;
|
|
207
|
+
readonly intounderlyingsink_abort: (a: number, b: number) => number;
|
|
208
|
+
readonly __wbg_intounderlyingbytesource_free: (a: number) => void;
|
|
209
|
+
readonly intounderlyingbytesource_type: (a: number, b: number) => void;
|
|
210
|
+
readonly intounderlyingbytesource_autoAllocateChunkSize: (a: number) => number;
|
|
211
|
+
readonly intounderlyingbytesource_start: (a: number, b: number) => void;
|
|
212
|
+
readonly intounderlyingbytesource_pull: (a: number, b: number) => number;
|
|
213
|
+
readonly intounderlyingbytesource_cancel: (a: number) => void;
|
|
214
|
+
readonly __wbg_queuingstrategy_free: (a: number) => void;
|
|
215
|
+
readonly queuingstrategy_highWaterMark: (a: number) => number;
|
|
216
|
+
readonly __wbg_intounderlyingsource_free: (a: number) => void;
|
|
217
|
+
readonly intounderlyingsource_pull: (a: number, b: number) => number;
|
|
218
|
+
readonly intounderlyingsource_cancel: (a: number) => void;
|
|
219
|
+
readonly __wbindgen_malloc: (a: number, b: number) => number;
|
|
220
|
+
readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
|
|
221
|
+
readonly __wbindgen_export_2: WebAssembly.Table;
|
|
222
|
+
readonly _dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h19f36e795f279e4e: (a: number, b: number) => void;
|
|
223
|
+
readonly wasm_bindgen__convert__closures__invoke0_mut__hbb2d466e4a580595: (a: number, b: number) => void;
|
|
224
|
+
readonly _dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hf64c3fc72d424f95: (a: number, b: number) => void;
|
|
225
|
+
readonly _dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hcda1bc7f6baacddd: (a: number, b: number, c: number) => void;
|
|
226
|
+
readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
|
|
227
|
+
readonly _dyn_core__ops__function__FnMut_____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h3960a85cd94e1623: (a: number, b: number, c: number) => void;
|
|
228
|
+
readonly _dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h00f3b5d0b78ac098: (a: number, b: number, c: number) => void;
|
|
229
|
+
readonly _dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hf62c39bd238416f9: (a: number, b: number, c: number) => void;
|
|
230
|
+
readonly _dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hefb91f3bd6a8bfc9: (a: number, b: number, c: number) => void;
|
|
231
|
+
readonly _dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hbc8a650979ad564c: (a: number, b: number, c: number) => void;
|
|
232
|
+
readonly __wbindgen_free: (a: number, b: number, c: number) => void;
|
|
233
|
+
readonly __wbindgen_exn_store: (a: number) => void;
|
|
234
|
+
readonly wasm_bindgen__convert__closures__invoke2_mut__h1cdbc2433d9b182f: (a: number, b: number, c: number, d: number) => void;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
export type SyncInitInput = BufferSource | WebAssembly.Module;
|
|
238
|
+
/**
|
|
239
|
+
* Instantiates the given `module`, which can either be bytes or
|
|
240
|
+
* a precompiled `WebAssembly.Module`.
|
|
241
|
+
*
|
|
242
|
+
* @param {SyncInitInput} module
|
|
243
|
+
*
|
|
244
|
+
* @returns {InitOutput}
|
|
245
|
+
*/
|
|
246
|
+
export function initSync(module: SyncInitInput): InitOutput;
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* If `module_or_path` is {RequestInfo} or {URL}, makes a request and
|
|
250
|
+
* for everything else, calls `WebAssembly.instantiate` directly.
|
|
251
|
+
*
|
|
252
|
+
* @param {InitInput | Promise<InitInput>} module_or_path
|
|
253
|
+
*
|
|
254
|
+
* @returns {Promise<InitOutput>}
|
|
255
|
+
*/
|
|
256
|
+
export default function __wbg_init (module_or_path: InitInput | Promise<InitInput>): Promise<InitOutput>;
|