@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/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
+ }