@takumi-rs/wasm 0.67.3 → 0.68.1
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/bundlers/node.cjs +1 -1
- package/bundlers/node.mjs +1 -1
- package/package.json +1 -1
- package/pkg/takumi_wasm.cjs +44 -14
- package/pkg/takumi_wasm.d.ts +22 -2
- package/pkg/takumi_wasm.js +58 -16
- package/pkg/takumi_wasm_bg.wasm +0 -0
- package/pkg/takumi_wasm_bg.wasm.d.ts +3 -0
package/bundlers/node.cjs
CHANGED
package/bundlers/node.mjs
CHANGED
|
@@ -9,7 +9,7 @@ const __dirname = dirname(__filename);
|
|
|
9
9
|
const wasmPath = join(__dirname, "../pkg/takumi_wasm_bg.wasm");
|
|
10
10
|
const wasmBytes = readFileSync(wasmPath);
|
|
11
11
|
|
|
12
|
-
initSync(wasmBytes);
|
|
12
|
+
initSync({ module: wasmBytes });
|
|
13
13
|
|
|
14
14
|
export * from "../pkg/takumi_wasm";
|
|
15
15
|
export { default } from "../pkg/takumi_wasm";
|
package/package.json
CHANGED
package/pkg/takumi_wasm.cjs
CHANGED
|
@@ -33,6 +33,7 @@ __export(exports_takumi_wasm, {
|
|
|
33
33
|
extractResourceUrls: () => extractResourceUrls,
|
|
34
34
|
default: () => __wbg_init,
|
|
35
35
|
collectNodeFetchTasks: () => collectNodeFetchTasks,
|
|
36
|
+
WasmBuffer: () => WasmBuffer,
|
|
36
37
|
Renderer: () => Renderer
|
|
37
38
|
});
|
|
38
39
|
module.exports = __toCommonJS(exports_takumi_wasm);
|
|
@@ -129,13 +130,10 @@ class Renderer {
|
|
|
129
130
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
130
131
|
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
131
132
|
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
throw takeObject(r2);
|
|
133
|
+
if (r2) {
|
|
134
|
+
throw takeObject(r1);
|
|
135
135
|
}
|
|
136
|
-
|
|
137
|
-
wasm.__wbindgen_export4(r0, r1 * 1, 1);
|
|
138
|
-
return v1;
|
|
136
|
+
return WasmBuffer.__wrap(r0);
|
|
139
137
|
} finally {
|
|
140
138
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
141
139
|
}
|
|
@@ -149,13 +147,10 @@ class Renderer {
|
|
|
149
147
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
150
148
|
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
151
149
|
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
throw takeObject(r2);
|
|
150
|
+
if (r2) {
|
|
151
|
+
throw takeObject(r1);
|
|
155
152
|
}
|
|
156
|
-
|
|
157
|
-
wasm.__wbindgen_export4(r0, r1 * 1, 1);
|
|
158
|
-
return v2;
|
|
153
|
+
return WasmBuffer.__wrap(r0);
|
|
159
154
|
} finally {
|
|
160
155
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
161
156
|
}
|
|
@@ -188,6 +183,36 @@ class Renderer {
|
|
|
188
183
|
}
|
|
189
184
|
if (Symbol.dispose)
|
|
190
185
|
Renderer.prototype[Symbol.dispose] = Renderer.prototype.free;
|
|
186
|
+
|
|
187
|
+
class WasmBuffer {
|
|
188
|
+
static __wrap(ptr) {
|
|
189
|
+
ptr = ptr >>> 0;
|
|
190
|
+
const obj = Object.create(WasmBuffer.prototype);
|
|
191
|
+
obj.__wbg_ptr = ptr;
|
|
192
|
+
WasmBufferFinalization.register(obj, obj.__wbg_ptr, obj);
|
|
193
|
+
return obj;
|
|
194
|
+
}
|
|
195
|
+
__destroy_into_raw() {
|
|
196
|
+
const ptr = this.__wbg_ptr;
|
|
197
|
+
this.__wbg_ptr = 0;
|
|
198
|
+
WasmBufferFinalization.unregister(this);
|
|
199
|
+
return ptr;
|
|
200
|
+
}
|
|
201
|
+
free() {
|
|
202
|
+
const ptr = this.__destroy_into_raw();
|
|
203
|
+
wasm.__wbg_wasmbuffer_free(ptr, 0);
|
|
204
|
+
}
|
|
205
|
+
asUint8Array() {
|
|
206
|
+
const ret = wasm.wasmbuffer_asUint8Array(this.__wbg_ptr);
|
|
207
|
+
return takeObject(ret);
|
|
208
|
+
}
|
|
209
|
+
get byteLength() {
|
|
210
|
+
const ret = wasm.wasmbuffer_byte_length(this.__wbg_ptr);
|
|
211
|
+
return ret >>> 0;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
if (Symbol.dispose)
|
|
215
|
+
WasmBuffer.prototype[Symbol.dispose] = WasmBuffer.prototype.free;
|
|
191
216
|
function collectNodeFetchTasks(node) {
|
|
192
217
|
try {
|
|
193
218
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
@@ -436,14 +461,18 @@ function __wbg_get_imports() {
|
|
|
436
461
|
return addHeapObject(ret);
|
|
437
462
|
},
|
|
438
463
|
__wbindgen_cast_0000000000000003: function(arg0, arg1) {
|
|
464
|
+
const ret = getArrayU8FromWasm0(arg0, arg1);
|
|
465
|
+
return addHeapObject(ret);
|
|
466
|
+
},
|
|
467
|
+
__wbindgen_cast_0000000000000004: function(arg0, arg1) {
|
|
439
468
|
const ret = getStringFromWasm0(arg0, arg1);
|
|
440
469
|
return addHeapObject(ret);
|
|
441
470
|
},
|
|
442
|
-
|
|
471
|
+
__wbindgen_cast_0000000000000005: function(arg0) {
|
|
443
472
|
const ret = BigInt.asUintN(64, arg0);
|
|
444
473
|
return addHeapObject(ret);
|
|
445
474
|
},
|
|
446
|
-
|
|
475
|
+
__wbindgen_cast_0000000000000006: function(arg0, arg1) {
|
|
447
476
|
var v0 = getArrayJsValueFromWasm0(arg0, arg1).slice();
|
|
448
477
|
wasm.__wbindgen_export4(arg0, arg1 * 4, 4);
|
|
449
478
|
const ret = v0;
|
|
@@ -463,6 +492,7 @@ function __wbg_get_imports() {
|
|
|
463
492
|
};
|
|
464
493
|
}
|
|
465
494
|
var RendererFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {}, unregister: () => {} } : new FinalizationRegistry((ptr) => wasm.__wbg_renderer_free(ptr >>> 0, 1));
|
|
495
|
+
var WasmBufferFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {}, unregister: () => {} } : new FinalizationRegistry((ptr) => wasm.__wbg_wasmbuffer_free(ptr >>> 0, 1));
|
|
466
496
|
function addHeapObject(obj) {
|
|
467
497
|
if (heap_next === heap.length)
|
|
468
498
|
heap.push(heap.length + 1);
|
package/pkg/takumi_wasm.d.ts
CHANGED
|
@@ -126,11 +126,11 @@ export class Renderer {
|
|
|
126
126
|
/**
|
|
127
127
|
* Renders a node tree into an image buffer.
|
|
128
128
|
*/
|
|
129
|
-
render(node: AnyNode, options?: RenderOptions | null):
|
|
129
|
+
render(node: AnyNode, options?: RenderOptions | null): WasmBuffer;
|
|
130
130
|
/**
|
|
131
131
|
* Renders an animation sequence into a buffer.
|
|
132
132
|
*/
|
|
133
|
-
renderAnimation(frames: AnimationFrameSource[], options: RenderAnimationOptions):
|
|
133
|
+
renderAnimation(frames: AnimationFrameSource[], options: RenderAnimationOptions): WasmBuffer;
|
|
134
134
|
/**
|
|
135
135
|
* Renders a node tree into a data URL.
|
|
136
136
|
*
|
|
@@ -139,6 +139,23 @@ export class Renderer {
|
|
|
139
139
|
renderAsDataUrl(node: AnyNode, options: RenderOptions): string;
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
+
/**
|
|
143
|
+
* A zero-copy WASM buffer view holder.
|
|
144
|
+
*/
|
|
145
|
+
export class WasmBuffer {
|
|
146
|
+
private constructor();
|
|
147
|
+
free(): void;
|
|
148
|
+
[Symbol.dispose](): void;
|
|
149
|
+
/**
|
|
150
|
+
* Returns a Uint8Array view over WASM memory without cloning.
|
|
151
|
+
*/
|
|
152
|
+
asUint8Array(): Uint8Array;
|
|
153
|
+
/**
|
|
154
|
+
* Returns the buffer byte length.
|
|
155
|
+
*/
|
|
156
|
+
readonly byteLength: number;
|
|
157
|
+
}
|
|
158
|
+
|
|
142
159
|
/**
|
|
143
160
|
* Collects the fetch task urls from the node.
|
|
144
161
|
* @deprecated Use `extractResourceUrls` instead.
|
|
@@ -155,6 +172,7 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
|
|
|
155
172
|
export interface InitOutput {
|
|
156
173
|
readonly memory: WebAssembly.Memory;
|
|
157
174
|
readonly __wbg_renderer_free: (a: number, b: number) => void;
|
|
175
|
+
readonly __wbg_wasmbuffer_free: (a: number, b: number) => void;
|
|
158
176
|
readonly collectNodeFetchTasks: (a: number, b: number) => void;
|
|
159
177
|
readonly renderer_clearImageStore: (a: number) => void;
|
|
160
178
|
readonly renderer_loadFont: (a: number, b: number, c: number) => void;
|
|
@@ -165,6 +183,8 @@ export interface InitOutput {
|
|
|
165
183
|
readonly renderer_render: (a: number, b: number, c: number, d: number) => void;
|
|
166
184
|
readonly renderer_renderAnimation: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
167
185
|
readonly renderer_renderAsDataUrl: (a: number, b: number, c: number, d: number) => void;
|
|
186
|
+
readonly wasmbuffer_asUint8Array: (a: number) => number;
|
|
187
|
+
readonly wasmbuffer_byte_length: (a: number) => number;
|
|
168
188
|
readonly extractResourceUrls: (a: number, b: number) => void;
|
|
169
189
|
readonly __wbindgen_export: (a: number, b: number) => number;
|
|
170
190
|
readonly __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
|
package/pkg/takumi_wasm.js
CHANGED
|
@@ -117,7 +117,7 @@ export class Renderer {
|
|
|
117
117
|
* Renders a node tree into an image buffer.
|
|
118
118
|
* @param {AnyNode} node
|
|
119
119
|
* @param {RenderOptions | null} [options]
|
|
120
|
-
* @returns {
|
|
120
|
+
* @returns {WasmBuffer}
|
|
121
121
|
*/
|
|
122
122
|
render(node, options) {
|
|
123
123
|
try {
|
|
@@ -126,13 +126,10 @@ export class Renderer {
|
|
|
126
126
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
127
127
|
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
128
128
|
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
throw takeObject(r2);
|
|
129
|
+
if (r2) {
|
|
130
|
+
throw takeObject(r1);
|
|
132
131
|
}
|
|
133
|
-
|
|
134
|
-
wasm.__wbindgen_export4(r0, r1 * 1, 1);
|
|
135
|
-
return v1;
|
|
132
|
+
return WasmBuffer.__wrap(r0);
|
|
136
133
|
} finally {
|
|
137
134
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
138
135
|
}
|
|
@@ -141,7 +138,7 @@ export class Renderer {
|
|
|
141
138
|
* Renders an animation sequence into a buffer.
|
|
142
139
|
* @param {AnimationFrameSource[]} frames
|
|
143
140
|
* @param {RenderAnimationOptions} options
|
|
144
|
-
* @returns {
|
|
141
|
+
* @returns {WasmBuffer}
|
|
145
142
|
*/
|
|
146
143
|
renderAnimation(frames, options) {
|
|
147
144
|
try {
|
|
@@ -152,13 +149,10 @@ export class Renderer {
|
|
|
152
149
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
153
150
|
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
154
151
|
var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
throw takeObject(r2);
|
|
152
|
+
if (r2) {
|
|
153
|
+
throw takeObject(r1);
|
|
158
154
|
}
|
|
159
|
-
|
|
160
|
-
wasm.__wbindgen_export4(r0, r1 * 1, 1);
|
|
161
|
-
return v2;
|
|
155
|
+
return WasmBuffer.__wrap(r0);
|
|
162
156
|
} finally {
|
|
163
157
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
164
158
|
}
|
|
@@ -198,6 +192,46 @@ export class Renderer {
|
|
|
198
192
|
}
|
|
199
193
|
if (Symbol.dispose) Renderer.prototype[Symbol.dispose] = Renderer.prototype.free;
|
|
200
194
|
|
|
195
|
+
/**
|
|
196
|
+
* A zero-copy WASM buffer view holder.
|
|
197
|
+
*/
|
|
198
|
+
export class WasmBuffer {
|
|
199
|
+
static __wrap(ptr) {
|
|
200
|
+
ptr = ptr >>> 0;
|
|
201
|
+
const obj = Object.create(WasmBuffer.prototype);
|
|
202
|
+
obj.__wbg_ptr = ptr;
|
|
203
|
+
WasmBufferFinalization.register(obj, obj.__wbg_ptr, obj);
|
|
204
|
+
return obj;
|
|
205
|
+
}
|
|
206
|
+
__destroy_into_raw() {
|
|
207
|
+
const ptr = this.__wbg_ptr;
|
|
208
|
+
this.__wbg_ptr = 0;
|
|
209
|
+
WasmBufferFinalization.unregister(this);
|
|
210
|
+
return ptr;
|
|
211
|
+
}
|
|
212
|
+
free() {
|
|
213
|
+
const ptr = this.__destroy_into_raw();
|
|
214
|
+
wasm.__wbg_wasmbuffer_free(ptr, 0);
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Returns a Uint8Array view over WASM memory without cloning.
|
|
218
|
+
* @returns {Uint8Array}
|
|
219
|
+
*/
|
|
220
|
+
asUint8Array() {
|
|
221
|
+
const ret = wasm.wasmbuffer_asUint8Array(this.__wbg_ptr);
|
|
222
|
+
return takeObject(ret);
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Returns the buffer byte length.
|
|
226
|
+
* @returns {number}
|
|
227
|
+
*/
|
|
228
|
+
get byteLength() {
|
|
229
|
+
const ret = wasm.wasmbuffer_byte_length(this.__wbg_ptr);
|
|
230
|
+
return ret >>> 0;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
if (Symbol.dispose) WasmBuffer.prototype[Symbol.dispose] = WasmBuffer.prototype.free;
|
|
234
|
+
|
|
201
235
|
/**
|
|
202
236
|
* Collects the fetch task urls from the node.
|
|
203
237
|
* @deprecated Use `extractResourceUrls` instead.
|
|
@@ -455,16 +489,21 @@ function __wbg_get_imports() {
|
|
|
455
489
|
return addHeapObject(ret);
|
|
456
490
|
},
|
|
457
491
|
__wbindgen_cast_0000000000000003: function(arg0, arg1) {
|
|
492
|
+
// Cast intrinsic for `Ref(Slice(U8)) -> NamedExternref("Uint8Array")`.
|
|
493
|
+
const ret = getArrayU8FromWasm0(arg0, arg1);
|
|
494
|
+
return addHeapObject(ret);
|
|
495
|
+
},
|
|
496
|
+
__wbindgen_cast_0000000000000004: function(arg0, arg1) {
|
|
458
497
|
// Cast intrinsic for `Ref(String) -> Externref`.
|
|
459
498
|
const ret = getStringFromWasm0(arg0, arg1);
|
|
460
499
|
return addHeapObject(ret);
|
|
461
500
|
},
|
|
462
|
-
|
|
501
|
+
__wbindgen_cast_0000000000000005: function(arg0) {
|
|
463
502
|
// Cast intrinsic for `U64 -> Externref`.
|
|
464
503
|
const ret = BigInt.asUintN(64, arg0);
|
|
465
504
|
return addHeapObject(ret);
|
|
466
505
|
},
|
|
467
|
-
|
|
506
|
+
__wbindgen_cast_0000000000000006: function(arg0, arg1) {
|
|
468
507
|
var v0 = getArrayJsValueFromWasm0(arg0, arg1).slice();
|
|
469
508
|
wasm.__wbindgen_export4(arg0, arg1 * 4, 4);
|
|
470
509
|
// Cast intrinsic for `Vector(NamedExternref("AnimationFrameSource")) -> Externref`.
|
|
@@ -488,6 +527,9 @@ function __wbg_get_imports() {
|
|
|
488
527
|
const RendererFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
489
528
|
? { register: () => {}, unregister: () => {} }
|
|
490
529
|
: new FinalizationRegistry(ptr => wasm.__wbg_renderer_free(ptr >>> 0, 1));
|
|
530
|
+
const WasmBufferFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
531
|
+
? { register: () => {}, unregister: () => {} }
|
|
532
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_wasmbuffer_free(ptr >>> 0, 1));
|
|
491
533
|
|
|
492
534
|
function addHeapObject(obj) {
|
|
493
535
|
if (heap_next === heap.length) heap.push(heap.length + 1);
|
package/pkg/takumi_wasm_bg.wasm
CHANGED
|
Binary file
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
export const memory: WebAssembly.Memory;
|
|
4
4
|
export const __wbg_renderer_free: (a: number, b: number) => void;
|
|
5
|
+
export const __wbg_wasmbuffer_free: (a: number, b: number) => void;
|
|
5
6
|
export const collectNodeFetchTasks: (a: number, b: number) => void;
|
|
6
7
|
export const renderer_clearImageStore: (a: number) => void;
|
|
7
8
|
export const renderer_loadFont: (a: number, b: number, c: number) => void;
|
|
@@ -12,6 +13,8 @@ export const renderer_putPersistentImage: (a: number, b: number, c: number) => v
|
|
|
12
13
|
export const renderer_render: (a: number, b: number, c: number, d: number) => void;
|
|
13
14
|
export const renderer_renderAnimation: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
14
15
|
export const renderer_renderAsDataUrl: (a: number, b: number, c: number, d: number) => void;
|
|
16
|
+
export const wasmbuffer_asUint8Array: (a: number) => number;
|
|
17
|
+
export const wasmbuffer_byte_length: (a: number) => number;
|
|
15
18
|
export const extractResourceUrls: (a: number, b: number) => void;
|
|
16
19
|
export const __wbindgen_export: (a: number, b: number) => number;
|
|
17
20
|
export const __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
|