@reearth/ezu 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE-APACHE +201 -0
- package/LICENSE-MIT +21 -0
- package/README.md +88 -0
- package/bundler/ezu.d.ts +129 -0
- package/bundler/ezu.js +9 -0
- package/bundler/ezu_bg.js +577 -0
- package/bundler/ezu_bg.wasm +0 -0
- package/bundler/ezu_bg.wasm.d.ts +36 -0
- package/nodejs/ezu.d.ts +129 -0
- package/nodejs/ezu.js +585 -0
- package/nodejs/ezu_bg.wasm +0 -0
- package/nodejs/ezu_bg.wasm.d.ts +36 -0
- package/nodejs/package.json +1 -0
- package/package.json +63 -0
- package/web/ezu.d.ts +190 -0
- package/web/ezu.js +677 -0
- package/web/ezu_bg.wasm +0 -0
- package/web/ezu_bg.wasm.d.ts +36 -0
package/nodejs/ezu.js
ADDED
|
@@ -0,0 +1,585 @@
|
|
|
1
|
+
/* @ts-self-types="./ezu.d.ts" */
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Buffered log sink that captures `tracing` events from the renderer.
|
|
5
|
+
*
|
|
6
|
+
* Construct once near the top of your bootstrap, then either set a
|
|
7
|
+
* callback for live forwarding (`onEvent(e => console.log(e))`) or
|
|
8
|
+
* `drainLines()` periodically to flush into a UI panel.
|
|
9
|
+
*/
|
|
10
|
+
class LogSink {
|
|
11
|
+
__destroy_into_raw() {
|
|
12
|
+
const ptr = this.__wbg_ptr;
|
|
13
|
+
this.__wbg_ptr = 0;
|
|
14
|
+
LogSinkFinalization.unregister(this);
|
|
15
|
+
return ptr;
|
|
16
|
+
}
|
|
17
|
+
free() {
|
|
18
|
+
const ptr = this.__destroy_into_raw();
|
|
19
|
+
wasm.__wbg_logsink_free(ptr, 0);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Drop all buffered records without returning them.
|
|
23
|
+
*/
|
|
24
|
+
clear() {
|
|
25
|
+
wasm.logsink_clear(this.__wbg_ptr);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Drain every buffered record. Returns a JS array of structured
|
|
29
|
+
* objects `{ level, target, message, fields, timestampMs }`.
|
|
30
|
+
* @returns {Array<any>}
|
|
31
|
+
*/
|
|
32
|
+
drain() {
|
|
33
|
+
const ret = wasm.logsink_drain(this.__wbg_ptr);
|
|
34
|
+
return ret;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Drain buffered records and return pre-formatted strings — the
|
|
38
|
+
* same shape the CLI prints. Convenient for `console.log(lines.join('\n'))`.
|
|
39
|
+
* @returns {string[]}
|
|
40
|
+
*/
|
|
41
|
+
drainLines() {
|
|
42
|
+
const ret = wasm.logsink_drainLines(this.__wbg_ptr);
|
|
43
|
+
var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
|
|
44
|
+
wasm.__wbindgen_free_command_export(ret[0], ret[1] * 4, 4);
|
|
45
|
+
return v1;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* `true` if no records are buffered.
|
|
49
|
+
* @returns {boolean}
|
|
50
|
+
*/
|
|
51
|
+
isEmpty() {
|
|
52
|
+
const ret = wasm.logsink_isEmpty(this.__wbg_ptr);
|
|
53
|
+
return ret !== 0;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Number of records currently buffered.
|
|
57
|
+
* @returns {number}
|
|
58
|
+
*/
|
|
59
|
+
get len() {
|
|
60
|
+
const ret = wasm.logsink_len(this.__wbg_ptr);
|
|
61
|
+
return ret >>> 0;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Install (idempotently) the global tracing subscriber. `level` is
|
|
65
|
+
* an `EnvFilter` string — e.g. `"info"`, `"debug"`,
|
|
66
|
+
* `"info,ezu_graph::eval=debug"`. Honoured on first call only.
|
|
67
|
+
* @param {string} level
|
|
68
|
+
*/
|
|
69
|
+
constructor(level) {
|
|
70
|
+
const ptr0 = passStringToWasm0(level, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);
|
|
71
|
+
const len0 = WASM_VECTOR_LEN;
|
|
72
|
+
const ret = wasm.logsink_new(ptr0, len0);
|
|
73
|
+
if (ret[2]) {
|
|
74
|
+
throw takeFromExternrefTable0(ret[1]);
|
|
75
|
+
}
|
|
76
|
+
this.__wbg_ptr = ret[0];
|
|
77
|
+
LogSinkFinalization.register(this, this.__wbg_ptr, this);
|
|
78
|
+
return this;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Set (or clear with `null` / `undefined`) the per-event JS
|
|
82
|
+
* callback. The callback receives a structured record object.
|
|
83
|
+
* @param {Function | null} [callback]
|
|
84
|
+
*/
|
|
85
|
+
onEvent(callback) {
|
|
86
|
+
wasm.logsink_onEvent(this.__wbg_ptr, isLikeNone(callback) ? 0 : addToExternrefTable0(callback));
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Resize the ring-buffer cap. Older entries are evicted FIFO once
|
|
90
|
+
* the buffer reaches the new cap. Default is 4096.
|
|
91
|
+
* @param {number} cap
|
|
92
|
+
*/
|
|
93
|
+
setCapacity(cap) {
|
|
94
|
+
wasm.logsink_setCapacity(this.__wbg_ptr, cap);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
if (Symbol.dispose) LogSink.prototype[Symbol.dispose] = LogSink.prototype.free;
|
|
98
|
+
exports.LogSink = LogSink;
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Stateful WASM renderer.
|
|
102
|
+
*/
|
|
103
|
+
class Renderer {
|
|
104
|
+
__destroy_into_raw() {
|
|
105
|
+
const ptr = this.__wbg_ptr;
|
|
106
|
+
this.__wbg_ptr = 0;
|
|
107
|
+
RendererFinalization.unregister(this);
|
|
108
|
+
return ptr;
|
|
109
|
+
}
|
|
110
|
+
free() {
|
|
111
|
+
const ptr = this.__destroy_into_raw();
|
|
112
|
+
wasm.__wbg_renderer_free(ptr, 0);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Number of brushes currently registered.
|
|
116
|
+
* @returns {number}
|
|
117
|
+
*/
|
|
118
|
+
brushCount() {
|
|
119
|
+
const ret = wasm.renderer_brushCount(this.__wbg_ptr);
|
|
120
|
+
return ret >>> 0;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Drop every registered brush.
|
|
124
|
+
*/
|
|
125
|
+
clearBrushes() {
|
|
126
|
+
wasm.renderer_clearBrushes(this.__wbg_ptr);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Build a renderer from a style JSON document.
|
|
130
|
+
* @param {string} style_json
|
|
131
|
+
*/
|
|
132
|
+
constructor(style_json) {
|
|
133
|
+
const ptr0 = passStringToWasm0(style_json, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);
|
|
134
|
+
const len0 = WASM_VECTOR_LEN;
|
|
135
|
+
const ret = wasm.renderer_new(ptr0, len0);
|
|
136
|
+
if (ret[2]) {
|
|
137
|
+
throw takeFromExternrefTable0(ret[1]);
|
|
138
|
+
}
|
|
139
|
+
this.__wbg_ptr = ret[0];
|
|
140
|
+
RendererFinalization.register(this, this.__wbg_ptr, this);
|
|
141
|
+
return this;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Register a `.myb` brush under `name` so a `brush-file` node with
|
|
145
|
+
* `src: "@name"` (via the style's `assets` map) resolves to it.
|
|
146
|
+
* Re-registering the same name replaces the previous entry.
|
|
147
|
+
* @param {string} name
|
|
148
|
+
* @param {string} myb_json
|
|
149
|
+
*/
|
|
150
|
+
registerBrush(name, myb_json) {
|
|
151
|
+
const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);
|
|
152
|
+
const len0 = WASM_VECTOR_LEN;
|
|
153
|
+
const ptr1 = passStringToWasm0(myb_json, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);
|
|
154
|
+
const len1 = WASM_VECTOR_LEN;
|
|
155
|
+
const ret = wasm.renderer_registerBrush(this.__wbg_ptr, ptr0, len0, ptr1, len1);
|
|
156
|
+
if (ret[1]) {
|
|
157
|
+
throw takeFromExternrefTable0(ret[0]);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Render a single tile to PNG bytes using the style's `tile-size` / `pad`.
|
|
162
|
+
* Pass `null` for `mvtBytes` to get a paper-only tile.
|
|
163
|
+
*
|
|
164
|
+
* Optional `options`: `{ png: { compression: 'fast' | 'default' | 'best' } }`.
|
|
165
|
+
* @param {Uint8Array | null | undefined} mvt_bytes
|
|
166
|
+
* @param {number} z
|
|
167
|
+
* @param {number} x
|
|
168
|
+
* @param {number} y
|
|
169
|
+
* @param {object | null} [options]
|
|
170
|
+
* @returns {Uint8Array}
|
|
171
|
+
*/
|
|
172
|
+
render(mvt_bytes, z, x, y, options) {
|
|
173
|
+
var ptr0 = isLikeNone(mvt_bytes) ? 0 : passArray8ToWasm0(mvt_bytes, wasm.__wbindgen_malloc_command_export);
|
|
174
|
+
var len0 = WASM_VECTOR_LEN;
|
|
175
|
+
const ret = wasm.renderer_render(this.__wbg_ptr, ptr0, len0, z, x, y, isLikeNone(options) ? 0 : addToExternrefTable0(options));
|
|
176
|
+
if (ret[3]) {
|
|
177
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
178
|
+
}
|
|
179
|
+
var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
180
|
+
wasm.__wbindgen_free_command_export(ret[0], ret[1] * 1, 1);
|
|
181
|
+
return v2;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Like `render` but with `tile_size` / `pad` overridden — useful for
|
|
185
|
+
* hi-DPI / preview rendering without mutating the style.
|
|
186
|
+
* @param {Uint8Array | null | undefined} mvt_bytes
|
|
187
|
+
* @param {number} z
|
|
188
|
+
* @param {number} x
|
|
189
|
+
* @param {number} y
|
|
190
|
+
* @param {number} tile_size
|
|
191
|
+
* @param {number} pad
|
|
192
|
+
* @param {object | null} [options]
|
|
193
|
+
* @returns {Uint8Array}
|
|
194
|
+
*/
|
|
195
|
+
renderAt(mvt_bytes, z, x, y, tile_size, pad, options) {
|
|
196
|
+
var ptr0 = isLikeNone(mvt_bytes) ? 0 : passArray8ToWasm0(mvt_bytes, wasm.__wbindgen_malloc_command_export);
|
|
197
|
+
var len0 = WASM_VECTOR_LEN;
|
|
198
|
+
const ret = wasm.renderer_renderAt(this.__wbg_ptr, ptr0, len0, z, x, y, tile_size, pad, isLikeNone(options) ? 0 : addToExternrefTable0(options));
|
|
199
|
+
if (ret[3]) {
|
|
200
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
201
|
+
}
|
|
202
|
+
var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
203
|
+
wasm.__wbindgen_free_command_export(ret[0], ret[1] * 1, 1);
|
|
204
|
+
return v2;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Render a single tile to straight RGBA8 bytes (`tile_w * tile_h * 4`).
|
|
208
|
+
* @param {Uint8Array | null | undefined} mvt_bytes
|
|
209
|
+
* @param {number} z
|
|
210
|
+
* @param {number} x
|
|
211
|
+
* @param {number} y
|
|
212
|
+
* @returns {Uint8Array}
|
|
213
|
+
*/
|
|
214
|
+
renderRgba(mvt_bytes, z, x, y) {
|
|
215
|
+
var ptr0 = isLikeNone(mvt_bytes) ? 0 : passArray8ToWasm0(mvt_bytes, wasm.__wbindgen_malloc_command_export);
|
|
216
|
+
var len0 = WASM_VECTOR_LEN;
|
|
217
|
+
const ret = wasm.renderer_renderRgba(this.__wbg_ptr, ptr0, len0, z, x, y);
|
|
218
|
+
if (ret[3]) {
|
|
219
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
220
|
+
}
|
|
221
|
+
var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
222
|
+
wasm.__wbindgen_free_command_export(ret[0], ret[1] * 1, 1);
|
|
223
|
+
return v2;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Like `renderRgba` but with `tile_size` / `pad` overridden.
|
|
227
|
+
* @param {Uint8Array | null | undefined} mvt_bytes
|
|
228
|
+
* @param {number} z
|
|
229
|
+
* @param {number} x
|
|
230
|
+
* @param {number} y
|
|
231
|
+
* @param {number} tile_size
|
|
232
|
+
* @param {number} pad
|
|
233
|
+
* @returns {Uint8Array}
|
|
234
|
+
*/
|
|
235
|
+
renderRgbaAt(mvt_bytes, z, x, y, tile_size, pad) {
|
|
236
|
+
var ptr0 = isLikeNone(mvt_bytes) ? 0 : passArray8ToWasm0(mvt_bytes, wasm.__wbindgen_malloc_command_export);
|
|
237
|
+
var len0 = WASM_VECTOR_LEN;
|
|
238
|
+
const ret = wasm.renderer_renderRgbaAt(this.__wbg_ptr, ptr0, len0, z, x, y, tile_size, pad);
|
|
239
|
+
if (ret[3]) {
|
|
240
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
241
|
+
}
|
|
242
|
+
var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
243
|
+
wasm.__wbindgen_free_command_export(ret[0], ret[1] * 1, 1);
|
|
244
|
+
return v2;
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Render a single tile to lossless WebP bytes. Smaller than PNG
|
|
248
|
+
* for the same painterly content and decoded natively by every
|
|
249
|
+
* modern browser. WebP is lossless-only via the pure-Rust
|
|
250
|
+
* `image-webp` codec; for lossy WebP, see the
|
|
251
|
+
* `OffscreenCanvas.convertToBlob` recipe in the crate README.
|
|
252
|
+
* @param {Uint8Array | null | undefined} mvt_bytes
|
|
253
|
+
* @param {number} z
|
|
254
|
+
* @param {number} x
|
|
255
|
+
* @param {number} y
|
|
256
|
+
* @param {object | null} [options]
|
|
257
|
+
* @returns {Uint8Array}
|
|
258
|
+
*/
|
|
259
|
+
renderWebp(mvt_bytes, z, x, y, options) {
|
|
260
|
+
var ptr0 = isLikeNone(mvt_bytes) ? 0 : passArray8ToWasm0(mvt_bytes, wasm.__wbindgen_malloc_command_export);
|
|
261
|
+
var len0 = WASM_VECTOR_LEN;
|
|
262
|
+
const ret = wasm.renderer_renderWebp(this.__wbg_ptr, ptr0, len0, z, x, y, isLikeNone(options) ? 0 : addToExternrefTable0(options));
|
|
263
|
+
if (ret[3]) {
|
|
264
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
265
|
+
}
|
|
266
|
+
var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
267
|
+
wasm.__wbindgen_free_command_export(ret[0], ret[1] * 1, 1);
|
|
268
|
+
return v2;
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Like `renderWebp` but with `tile_size` / `pad` overridden.
|
|
272
|
+
* @param {Uint8Array | null | undefined} mvt_bytes
|
|
273
|
+
* @param {number} z
|
|
274
|
+
* @param {number} x
|
|
275
|
+
* @param {number} y
|
|
276
|
+
* @param {number} tile_size
|
|
277
|
+
* @param {number} pad
|
|
278
|
+
* @param {object | null} [options]
|
|
279
|
+
* @returns {Uint8Array}
|
|
280
|
+
*/
|
|
281
|
+
renderWebpAt(mvt_bytes, z, x, y, tile_size, pad, options) {
|
|
282
|
+
var ptr0 = isLikeNone(mvt_bytes) ? 0 : passArray8ToWasm0(mvt_bytes, wasm.__wbindgen_malloc_command_export);
|
|
283
|
+
var len0 = WASM_VECTOR_LEN;
|
|
284
|
+
const ret = wasm.renderer_renderWebpAt(this.__wbg_ptr, ptr0, len0, z, x, y, tile_size, pad, isLikeNone(options) ? 0 : addToExternrefTable0(options));
|
|
285
|
+
if (ret[3]) {
|
|
286
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
287
|
+
}
|
|
288
|
+
var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
289
|
+
wasm.__wbindgen_free_command_export(ret[0], ret[1] * 1, 1);
|
|
290
|
+
return v2;
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Replace the active style. Returns the new node count. Invalidates
|
|
294
|
+
* the intermediate cache.
|
|
295
|
+
* @param {string} style_json
|
|
296
|
+
* @returns {number}
|
|
297
|
+
*/
|
|
298
|
+
setStyle(style_json) {
|
|
299
|
+
const ptr0 = passStringToWasm0(style_json, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);
|
|
300
|
+
const len0 = WASM_VECTOR_LEN;
|
|
301
|
+
const ret = wasm.renderer_setStyle(this.__wbg_ptr, ptr0, len0);
|
|
302
|
+
if (ret[2]) {
|
|
303
|
+
throw takeFromExternrefTable0(ret[1]);
|
|
304
|
+
}
|
|
305
|
+
return ret[0] >>> 0;
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* `tile-size` declared by the current style.
|
|
309
|
+
* @returns {number}
|
|
310
|
+
*/
|
|
311
|
+
get tileSize() {
|
|
312
|
+
const ret = wasm.renderer_tileSize(this.__wbg_ptr);
|
|
313
|
+
return ret >>> 0;
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Remove a brush by name. Returns `true` if the brush existed.
|
|
317
|
+
* @param {string} name
|
|
318
|
+
* @returns {boolean}
|
|
319
|
+
*/
|
|
320
|
+
unregisterBrush(name) {
|
|
321
|
+
const ptr0 = passStringToWasm0(name, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);
|
|
322
|
+
const len0 = WASM_VECTOR_LEN;
|
|
323
|
+
const ret = wasm.renderer_unregisterBrush(this.__wbg_ptr, ptr0, len0);
|
|
324
|
+
return ret !== 0;
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
if (Symbol.dispose) Renderer.prototype[Symbol.dispose] = Renderer.prototype.free;
|
|
328
|
+
exports.Renderer = Renderer;
|
|
329
|
+
|
|
330
|
+
/**
|
|
331
|
+
* Whether the wasm binary was compiled with `+simd128`. Lets the demo
|
|
332
|
+
* page label the renderer build accurately.
|
|
333
|
+
* @returns {boolean}
|
|
334
|
+
*/
|
|
335
|
+
function simdEnabled() {
|
|
336
|
+
const ret = wasm.simdEnabled();
|
|
337
|
+
return ret !== 0;
|
|
338
|
+
}
|
|
339
|
+
exports.simdEnabled = simdEnabled;
|
|
340
|
+
function __wbg_get_imports() {
|
|
341
|
+
const import0 = {
|
|
342
|
+
__proto__: null,
|
|
343
|
+
__wbg___wbindgen_string_get_d109740c0d18f4d7: function(arg0, arg1) {
|
|
344
|
+
const obj = arg1;
|
|
345
|
+
const ret = typeof(obj) === 'string' ? obj : undefined;
|
|
346
|
+
var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);
|
|
347
|
+
var len1 = WASM_VECTOR_LEN;
|
|
348
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
|
|
349
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
|
|
350
|
+
},
|
|
351
|
+
__wbg___wbindgen_throw_9c31b086c2b26051: function(arg0, arg1) {
|
|
352
|
+
throw new Error(getStringFromWasm0(arg0, arg1));
|
|
353
|
+
},
|
|
354
|
+
__wbg_call_dfde26266607c996: function() { return handleError(function (arg0, arg1, arg2) {
|
|
355
|
+
const ret = arg0.call(arg1, arg2);
|
|
356
|
+
return ret;
|
|
357
|
+
}, arguments); },
|
|
358
|
+
__wbg_error_a6fa202b58aa1cd3: function(arg0, arg1) {
|
|
359
|
+
let deferred0_0;
|
|
360
|
+
let deferred0_1;
|
|
361
|
+
try {
|
|
362
|
+
deferred0_0 = arg0;
|
|
363
|
+
deferred0_1 = arg1;
|
|
364
|
+
console.error(getStringFromWasm0(arg0, arg1));
|
|
365
|
+
} finally {
|
|
366
|
+
wasm.__wbindgen_free_command_export(deferred0_0, deferred0_1, 1);
|
|
367
|
+
}
|
|
368
|
+
},
|
|
369
|
+
__wbg_get_dcf82ab8aad1a593: function() { return handleError(function (arg0, arg1) {
|
|
370
|
+
const ret = Reflect.get(arg0, arg1);
|
|
371
|
+
return ret;
|
|
372
|
+
}, arguments); },
|
|
373
|
+
__wbg_instanceof_Object_03924e0dbda74bd8: function(arg0) {
|
|
374
|
+
let result;
|
|
375
|
+
try {
|
|
376
|
+
result = arg0 instanceof Object;
|
|
377
|
+
} catch (_) {
|
|
378
|
+
result = false;
|
|
379
|
+
}
|
|
380
|
+
const ret = result;
|
|
381
|
+
return ret;
|
|
382
|
+
},
|
|
383
|
+
__wbg_new_02d162bc6cf02f60: function() {
|
|
384
|
+
const ret = new Object();
|
|
385
|
+
return ret;
|
|
386
|
+
},
|
|
387
|
+
__wbg_new_1f236d63ba0c4784: function(arg0, arg1) {
|
|
388
|
+
const ret = new Error(getStringFromWasm0(arg0, arg1));
|
|
389
|
+
return ret;
|
|
390
|
+
},
|
|
391
|
+
__wbg_new_227d7c05414eb861: function() {
|
|
392
|
+
const ret = new Error();
|
|
393
|
+
return ret;
|
|
394
|
+
},
|
|
395
|
+
__wbg_new_310879b66b6e95e1: function() {
|
|
396
|
+
const ret = new Array();
|
|
397
|
+
return ret;
|
|
398
|
+
},
|
|
399
|
+
__wbg_now_81363d44c96dd239: function() {
|
|
400
|
+
const ret = Date.now();
|
|
401
|
+
return ret;
|
|
402
|
+
},
|
|
403
|
+
__wbg_push_b77c476b01548d0a: function(arg0, arg1) {
|
|
404
|
+
const ret = arg0.push(arg1);
|
|
405
|
+
return ret;
|
|
406
|
+
},
|
|
407
|
+
__wbg_set_a0e911be3da02782: function() { return handleError(function (arg0, arg1, arg2) {
|
|
408
|
+
const ret = Reflect.set(arg0, arg1, arg2);
|
|
409
|
+
return ret;
|
|
410
|
+
}, arguments); },
|
|
411
|
+
__wbg_set_name_e500733c75ec36b0: function(arg0, arg1, arg2) {
|
|
412
|
+
arg0.name = getStringFromWasm0(arg1, arg2);
|
|
413
|
+
},
|
|
414
|
+
__wbg_stack_3b0d974bbf31e44f: function(arg0, arg1) {
|
|
415
|
+
const ret = arg1.stack;
|
|
416
|
+
const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc_command_export, wasm.__wbindgen_realloc_command_export);
|
|
417
|
+
const len1 = WASM_VECTOR_LEN;
|
|
418
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
|
|
419
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
|
|
420
|
+
},
|
|
421
|
+
__wbindgen_cast_0000000000000001: function(arg0) {
|
|
422
|
+
// Cast intrinsic for `F64 -> Externref`.
|
|
423
|
+
const ret = arg0;
|
|
424
|
+
return ret;
|
|
425
|
+
},
|
|
426
|
+
__wbindgen_cast_0000000000000002: function(arg0, arg1) {
|
|
427
|
+
// Cast intrinsic for `Ref(String) -> Externref`.
|
|
428
|
+
const ret = getStringFromWasm0(arg0, arg1);
|
|
429
|
+
return ret;
|
|
430
|
+
},
|
|
431
|
+
__wbindgen_init_externref_table: function() {
|
|
432
|
+
const table = wasm.__wbindgen_externrefs;
|
|
433
|
+
const offset = table.grow(4);
|
|
434
|
+
table.set(0, undefined);
|
|
435
|
+
table.set(offset + 0, undefined);
|
|
436
|
+
table.set(offset + 1, null);
|
|
437
|
+
table.set(offset + 2, true);
|
|
438
|
+
table.set(offset + 3, false);
|
|
439
|
+
},
|
|
440
|
+
};
|
|
441
|
+
return {
|
|
442
|
+
__proto__: null,
|
|
443
|
+
"./ezu_bg.js": import0,
|
|
444
|
+
};
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
const LogSinkFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
448
|
+
? { register: () => {}, unregister: () => {} }
|
|
449
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_logsink_free(ptr, 1));
|
|
450
|
+
const RendererFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
451
|
+
? { register: () => {}, unregister: () => {} }
|
|
452
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_renderer_free(ptr, 1));
|
|
453
|
+
|
|
454
|
+
function addToExternrefTable0(obj) {
|
|
455
|
+
const idx = wasm.__externref_table_alloc_command_export();
|
|
456
|
+
wasm.__wbindgen_externrefs.set(idx, obj);
|
|
457
|
+
return idx;
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
function getArrayJsValueFromWasm0(ptr, len) {
|
|
461
|
+
ptr = ptr >>> 0;
|
|
462
|
+
const mem = getDataViewMemory0();
|
|
463
|
+
const result = [];
|
|
464
|
+
for (let i = ptr; i < ptr + 4 * len; i += 4) {
|
|
465
|
+
result.push(wasm.__wbindgen_externrefs.get(mem.getUint32(i, true)));
|
|
466
|
+
}
|
|
467
|
+
wasm.__externref_drop_slice_command_export(ptr, len);
|
|
468
|
+
return result;
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
function getArrayU8FromWasm0(ptr, len) {
|
|
472
|
+
ptr = ptr >>> 0;
|
|
473
|
+
return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
let cachedDataViewMemory0 = null;
|
|
477
|
+
function getDataViewMemory0() {
|
|
478
|
+
if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {
|
|
479
|
+
cachedDataViewMemory0 = new DataView(wasm.memory.buffer);
|
|
480
|
+
}
|
|
481
|
+
return cachedDataViewMemory0;
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
function getStringFromWasm0(ptr, len) {
|
|
485
|
+
return decodeText(ptr >>> 0, len);
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
let cachedUint8ArrayMemory0 = null;
|
|
489
|
+
function getUint8ArrayMemory0() {
|
|
490
|
+
if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
|
|
491
|
+
cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);
|
|
492
|
+
}
|
|
493
|
+
return cachedUint8ArrayMemory0;
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
function handleError(f, args) {
|
|
497
|
+
try {
|
|
498
|
+
return f.apply(this, args);
|
|
499
|
+
} catch (e) {
|
|
500
|
+
const idx = addToExternrefTable0(e);
|
|
501
|
+
wasm.__wbindgen_exn_store_command_export(idx);
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
function isLikeNone(x) {
|
|
506
|
+
return x === undefined || x === null;
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
function passArray8ToWasm0(arg, malloc) {
|
|
510
|
+
const ptr = malloc(arg.length * 1, 1) >>> 0;
|
|
511
|
+
getUint8ArrayMemory0().set(arg, ptr / 1);
|
|
512
|
+
WASM_VECTOR_LEN = arg.length;
|
|
513
|
+
return ptr;
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
function passStringToWasm0(arg, malloc, realloc) {
|
|
517
|
+
if (realloc === undefined) {
|
|
518
|
+
const buf = cachedTextEncoder.encode(arg);
|
|
519
|
+
const ptr = malloc(buf.length, 1) >>> 0;
|
|
520
|
+
getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);
|
|
521
|
+
WASM_VECTOR_LEN = buf.length;
|
|
522
|
+
return ptr;
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
let len = arg.length;
|
|
526
|
+
let ptr = malloc(len, 1) >>> 0;
|
|
527
|
+
|
|
528
|
+
const mem = getUint8ArrayMemory0();
|
|
529
|
+
|
|
530
|
+
let offset = 0;
|
|
531
|
+
|
|
532
|
+
for (; offset < len; offset++) {
|
|
533
|
+
const code = arg.charCodeAt(offset);
|
|
534
|
+
if (code > 0x7F) break;
|
|
535
|
+
mem[ptr + offset] = code;
|
|
536
|
+
}
|
|
537
|
+
if (offset !== len) {
|
|
538
|
+
if (offset !== 0) {
|
|
539
|
+
arg = arg.slice(offset);
|
|
540
|
+
}
|
|
541
|
+
ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;
|
|
542
|
+
const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);
|
|
543
|
+
const ret = cachedTextEncoder.encodeInto(arg, view);
|
|
544
|
+
|
|
545
|
+
offset += ret.written;
|
|
546
|
+
ptr = realloc(ptr, len, offset, 1) >>> 0;
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
WASM_VECTOR_LEN = offset;
|
|
550
|
+
return ptr;
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
function takeFromExternrefTable0(idx) {
|
|
554
|
+
const value = wasm.__wbindgen_externrefs.get(idx);
|
|
555
|
+
wasm.__externref_table_dealloc_command_export(idx);
|
|
556
|
+
return value;
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
|
|
560
|
+
cachedTextDecoder.decode();
|
|
561
|
+
function decodeText(ptr, len) {
|
|
562
|
+
return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
|
|
563
|
+
}
|
|
564
|
+
|
|
565
|
+
const cachedTextEncoder = new TextEncoder();
|
|
566
|
+
|
|
567
|
+
if (!('encodeInto' in cachedTextEncoder)) {
|
|
568
|
+
cachedTextEncoder.encodeInto = function (arg, view) {
|
|
569
|
+
const buf = cachedTextEncoder.encode(arg);
|
|
570
|
+
view.set(buf);
|
|
571
|
+
return {
|
|
572
|
+
read: arg.length,
|
|
573
|
+
written: buf.length
|
|
574
|
+
};
|
|
575
|
+
};
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
let WASM_VECTOR_LEN = 0;
|
|
579
|
+
|
|
580
|
+
const wasmPath = `${__dirname}/ezu_bg.wasm`;
|
|
581
|
+
const wasmBytes = require('fs').readFileSync(wasmPath);
|
|
582
|
+
const wasmModule = new WebAssembly.Module(wasmBytes);
|
|
583
|
+
let wasmInstance = new WebAssembly.Instance(wasmModule, __wbg_get_imports());
|
|
584
|
+
let wasm = wasmInstance.exports;
|
|
585
|
+
wasm.__wbindgen_start();
|
|
Binary file
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
export const memory: WebAssembly.Memory;
|
|
4
|
+
export const __wbg_logsink_free: (a: number, b: number) => void;
|
|
5
|
+
export const __wbg_renderer_free: (a: number, b: number) => void;
|
|
6
|
+
export const logsink_clear: (a: number) => void;
|
|
7
|
+
export const logsink_drain: (a: number) => any;
|
|
8
|
+
export const logsink_drainLines: (a: number) => [number, number];
|
|
9
|
+
export const logsink_isEmpty: (a: number) => number;
|
|
10
|
+
export const logsink_len: (a: number) => number;
|
|
11
|
+
export const logsink_new: (a: number, b: number) => [number, number, number];
|
|
12
|
+
export const logsink_onEvent: (a: number, b: number) => void;
|
|
13
|
+
export const logsink_setCapacity: (a: number, b: number) => void;
|
|
14
|
+
export const renderer_brushCount: (a: number) => number;
|
|
15
|
+
export const renderer_clearBrushes: (a: number) => void;
|
|
16
|
+
export const renderer_new: (a: number, b: number) => [number, number, number];
|
|
17
|
+
export const renderer_registerBrush: (a: number, b: number, c: number, d: number, e: number) => [number, number];
|
|
18
|
+
export const renderer_render: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
19
|
+
export const renderer_renderAt: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
|
|
20
|
+
export const renderer_renderRgba: (a: number, b: number, c: number, d: number, e: number, f: number) => [number, number, number, number];
|
|
21
|
+
export const renderer_renderRgbaAt: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => [number, number, number, number];
|
|
22
|
+
export const renderer_renderWebp: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
|
23
|
+
export const renderer_renderWebpAt: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => [number, number, number, number];
|
|
24
|
+
export const renderer_setStyle: (a: number, b: number, c: number) => [number, number, number];
|
|
25
|
+
export const renderer_tileSize: (a: number) => number;
|
|
26
|
+
export const renderer_unregisterBrush: (a: number, b: number, c: number) => number;
|
|
27
|
+
export const simdEnabled: () => number;
|
|
28
|
+
export const __wbindgen_malloc_command_export: (a: number, b: number) => number;
|
|
29
|
+
export const __wbindgen_realloc_command_export: (a: number, b: number, c: number, d: number) => number;
|
|
30
|
+
export const __wbindgen_exn_store_command_export: (a: number) => void;
|
|
31
|
+
export const __externref_table_alloc_command_export: () => number;
|
|
32
|
+
export const __wbindgen_externrefs: WebAssembly.Table;
|
|
33
|
+
export const __wbindgen_free_command_export: (a: number, b: number, c: number) => void;
|
|
34
|
+
export const __externref_drop_slice_command_export: (a: number, b: number) => void;
|
|
35
|
+
export const __externref_table_dealloc_command_export: (a: number) => void;
|
|
36
|
+
export const __wbindgen_start: () => void;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{ "type": "commonjs" }
|
package/package.json
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@reearth/ezu",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "Painterly map renderer — WebAssembly bindings",
|
|
5
|
+
"license": "MIT OR Apache-2.0",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "https://github.com/reearth/ezu"
|
|
9
|
+
},
|
|
10
|
+
"homepage": "https://github.com/reearth/ezu",
|
|
11
|
+
"keywords": ["map", "renderer", "wasm", "webassembly", "mvt", "painterly"],
|
|
12
|
+
"type": "module",
|
|
13
|
+
"packageManager": "npm@11.15.0",
|
|
14
|
+
"scripts": {
|
|
15
|
+
"prepublishOnly": "cd ../../.. && bash scripts/build-wasm-npm.sh"
|
|
16
|
+
},
|
|
17
|
+
"exports": {
|
|
18
|
+
".": {
|
|
19
|
+
"workerd": {
|
|
20
|
+
"types": "./bundler/ezu.d.ts",
|
|
21
|
+
"default": "./bundler/ezu.js"
|
|
22
|
+
},
|
|
23
|
+
"browser": {
|
|
24
|
+
"types": "./web/ezu.d.ts",
|
|
25
|
+
"default": "./web/ezu.js"
|
|
26
|
+
},
|
|
27
|
+
"node": {
|
|
28
|
+
"types": "./nodejs/ezu.d.ts",
|
|
29
|
+
"default": "./nodejs/ezu.js"
|
|
30
|
+
},
|
|
31
|
+
"import": {
|
|
32
|
+
"types": "./bundler/ezu.d.ts",
|
|
33
|
+
"default": "./bundler/ezu.js"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"./web": {
|
|
37
|
+
"types": "./web/ezu.d.ts",
|
|
38
|
+
"default": "./web/ezu.js"
|
|
39
|
+
},
|
|
40
|
+
"./bundler": {
|
|
41
|
+
"types": "./bundler/ezu.d.ts",
|
|
42
|
+
"default": "./bundler/ezu.js"
|
|
43
|
+
},
|
|
44
|
+
"./nodejs": {
|
|
45
|
+
"types": "./nodejs/ezu.d.ts",
|
|
46
|
+
"default": "./nodejs/ezu.js"
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"files": [
|
|
50
|
+
"web",
|
|
51
|
+
"bundler",
|
|
52
|
+
"nodejs",
|
|
53
|
+
"README.md",
|
|
54
|
+
"LICENSE-MIT",
|
|
55
|
+
"LICENSE-APACHE"
|
|
56
|
+
],
|
|
57
|
+
"sideEffects": [
|
|
58
|
+
"*.wasm",
|
|
59
|
+
"./web/ezu.js",
|
|
60
|
+
"./bundler/ezu.js",
|
|
61
|
+
"./nodejs/ezu.js"
|
|
62
|
+
]
|
|
63
|
+
}
|