@takumi-rs/wasm 0.70.4 → 0.71.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/package.json +1 -1
- package/pkg/takumi_wasm.cjs +15 -6
- package/pkg/takumi_wasm.d.ts +64 -4
- package/pkg/takumi_wasm.js +22 -8
- package/pkg/takumi_wasm_bg.wasm +0 -0
- package/pkg/takumi_wasm_bg.wasm.d.ts +2 -1
package/package.json
CHANGED
package/pkg/takumi_wasm.cjs
CHANGED
|
@@ -61,6 +61,17 @@ class Renderer {
|
|
|
61
61
|
clearImageStore() {
|
|
62
62
|
wasm.renderer_clearImageStore(this.__wbg_ptr);
|
|
63
63
|
}
|
|
64
|
+
encodeFrames(frames, options) {
|
|
65
|
+
const ptr0 = passArrayJsValueToWasm0(frames, wasm.__wbindgen_malloc);
|
|
66
|
+
const len0 = WASM_VECTOR_LEN;
|
|
67
|
+
const ret = wasm.renderer_encodeFrames(this.__wbg_ptr, ptr0, len0, options);
|
|
68
|
+
if (ret[3]) {
|
|
69
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
70
|
+
}
|
|
71
|
+
var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
72
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
73
|
+
return v2;
|
|
74
|
+
}
|
|
64
75
|
loadFont(font) {
|
|
65
76
|
const ret = wasm.renderer_loadFont(this.__wbg_ptr, font);
|
|
66
77
|
if (ret[1]) {
|
|
@@ -104,16 +115,14 @@ class Renderer {
|
|
|
104
115
|
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
105
116
|
return v1;
|
|
106
117
|
}
|
|
107
|
-
renderAnimation(
|
|
108
|
-
const
|
|
109
|
-
const len0 = WASM_VECTOR_LEN;
|
|
110
|
-
const ret = wasm.renderer_renderAnimation(this.__wbg_ptr, ptr0, len0, options);
|
|
118
|
+
renderAnimation(options) {
|
|
119
|
+
const ret = wasm.renderer_renderAnimation(this.__wbg_ptr, options);
|
|
111
120
|
if (ret[3]) {
|
|
112
121
|
throw takeFromExternrefTable0(ret[2]);
|
|
113
122
|
}
|
|
114
|
-
var
|
|
123
|
+
var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
115
124
|
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
116
|
-
return
|
|
125
|
+
return v1;
|
|
117
126
|
}
|
|
118
127
|
renderAsDataUrl(node, options) {
|
|
119
128
|
let deferred2_0;
|
package/pkg/takumi_wasm.d.ts
CHANGED
|
@@ -40,13 +40,63 @@ export type RenderOptions = {
|
|
|
40
40
|
* @default 1.0
|
|
41
41
|
*/
|
|
42
42
|
devicePixelRatio?: number,
|
|
43
|
+
/**
|
|
44
|
+
* The animation timeline time in milliseconds.
|
|
45
|
+
*/
|
|
46
|
+
timeMs?: number,
|
|
43
47
|
};
|
|
44
48
|
|
|
45
49
|
export type RenderAnimationOptions = {
|
|
50
|
+
scenes: AnimationSceneSource[],
|
|
46
51
|
width: number,
|
|
47
52
|
height: number,
|
|
48
|
-
format?: "webp" | "apng",
|
|
53
|
+
format?: "webp" | "apng" | "gif",
|
|
54
|
+
/**
|
|
55
|
+
* The quality of WebP format (0-100). Ignored for APNG and GIF.
|
|
56
|
+
*/
|
|
57
|
+
quality?: number,
|
|
58
|
+
/**
|
|
59
|
+
* The resources fetched externally. You should collect the fetch tasks first using `extractResourceUrls` and then pass the resources here.
|
|
60
|
+
*/
|
|
61
|
+
fetchedResources?: ImageSource[],
|
|
49
62
|
drawDebugBorder?: boolean,
|
|
63
|
+
/**
|
|
64
|
+
* CSS stylesheets to apply before rendering.
|
|
65
|
+
*/
|
|
66
|
+
stylesheets?: string[],
|
|
67
|
+
/**
|
|
68
|
+
* Defines the ratio resolution of the image to the physical pixels.
|
|
69
|
+
* @default 1.0
|
|
70
|
+
*/
|
|
71
|
+
devicePixelRatio?: number,
|
|
72
|
+
/**
|
|
73
|
+
* Frames per second for timeline sampling.
|
|
74
|
+
*/
|
|
75
|
+
fps: number,
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export type EncodeFramesOptions = {
|
|
79
|
+
width: number,
|
|
80
|
+
height: number,
|
|
81
|
+
format?: "webp" | "apng" | "gif",
|
|
82
|
+
/**
|
|
83
|
+
* The quality of WebP format (0-100). Ignored for APNG and GIF.
|
|
84
|
+
*/
|
|
85
|
+
quality?: number,
|
|
86
|
+
/**
|
|
87
|
+
* The resources fetched externally. You should collect the fetch tasks first using `extractResourceUrls` and then pass the resources here.
|
|
88
|
+
*/
|
|
89
|
+
fetchedResources?: ImageSource[],
|
|
90
|
+
drawDebugBorder?: boolean,
|
|
91
|
+
/**
|
|
92
|
+
* CSS stylesheets to apply before rendering.
|
|
93
|
+
*/
|
|
94
|
+
stylesheets?: string[],
|
|
95
|
+
/**
|
|
96
|
+
* Defines the ratio resolution of the image to the physical pixels.
|
|
97
|
+
* @default 1.0
|
|
98
|
+
*/
|
|
99
|
+
devicePixelRatio?: number,
|
|
50
100
|
};
|
|
51
101
|
|
|
52
102
|
export type FontDetails = {
|
|
@@ -95,6 +145,11 @@ export type AnimationFrameSource = {
|
|
|
95
145
|
durationMs: number,
|
|
96
146
|
};
|
|
97
147
|
|
|
148
|
+
export type AnimationSceneSource = {
|
|
149
|
+
node: AnyNode,
|
|
150
|
+
durationMs: number,
|
|
151
|
+
};
|
|
152
|
+
|
|
98
153
|
|
|
99
154
|
|
|
100
155
|
/**
|
|
@@ -107,6 +162,10 @@ export class Renderer {
|
|
|
107
162
|
* Clears the renderer's internal image store.
|
|
108
163
|
*/
|
|
109
164
|
clearImageStore(): void;
|
|
165
|
+
/**
|
|
166
|
+
* Encodes a precomputed frame sequence into an animated image buffer.
|
|
167
|
+
*/
|
|
168
|
+
encodeFrames(frames: AnimationFrameSource[], options: EncodeFramesOptions): Uint8Array;
|
|
110
169
|
/**
|
|
111
170
|
* Loads a font into the renderer.
|
|
112
171
|
*/
|
|
@@ -132,9 +191,9 @@ export class Renderer {
|
|
|
132
191
|
*/
|
|
133
192
|
render(node: AnyNode, options?: RenderOptions | null): Uint8Array;
|
|
134
193
|
/**
|
|
135
|
-
* Renders
|
|
194
|
+
* Renders a sequential animation timeline into a buffer.
|
|
136
195
|
*/
|
|
137
|
-
renderAnimation(
|
|
196
|
+
renderAnimation(options: RenderAnimationOptions): Uint8Array;
|
|
138
197
|
/**
|
|
139
198
|
* Renders a node tree into a data URL.
|
|
140
199
|
*
|
|
@@ -161,13 +220,14 @@ export interface InitOutput {
|
|
|
161
220
|
readonly __wbg_renderer_free: (a: number, b: number) => void;
|
|
162
221
|
readonly collectNodeFetchTasks: (a: any) => [number, number, number, number];
|
|
163
222
|
readonly renderer_clearImageStore: (a: number) => void;
|
|
223
|
+
readonly renderer_encodeFrames: (a: number, b: number, c: number, d: any) => [number, number, number, number];
|
|
164
224
|
readonly renderer_loadFont: (a: number, b: any) => [number, number];
|
|
165
225
|
readonly renderer_loadFontWithInfo: (a: number, b: any) => [number, number];
|
|
166
226
|
readonly renderer_measure: (a: number, b: any, c: number) => [number, number, number];
|
|
167
227
|
readonly renderer_new: (a: number) => [number, number, number];
|
|
168
228
|
readonly renderer_putPersistentImage: (a: number, b: any) => [number, number];
|
|
169
229
|
readonly renderer_render: (a: number, b: any, c: number) => [number, number, number, number];
|
|
170
|
-
readonly renderer_renderAnimation: (a: number, b:
|
|
230
|
+
readonly renderer_renderAnimation: (a: number, b: any) => [number, number, number, number];
|
|
171
231
|
readonly renderer_renderAsDataUrl: (a: number, b: any, c: any) => [number, number, number, number];
|
|
172
232
|
readonly extractResourceUrls: (a: any) => [number, number, number, number];
|
|
173
233
|
readonly __wbindgen_malloc: (a: number, b: number) => number;
|
package/pkg/takumi_wasm.js
CHANGED
|
@@ -20,6 +20,23 @@ export class Renderer {
|
|
|
20
20
|
clearImageStore() {
|
|
21
21
|
wasm.renderer_clearImageStore(this.__wbg_ptr);
|
|
22
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Encodes a precomputed frame sequence into an animated image buffer.
|
|
25
|
+
* @param {AnimationFrameSource[]} frames
|
|
26
|
+
* @param {EncodeFramesOptions} options
|
|
27
|
+
* @returns {Uint8Array}
|
|
28
|
+
*/
|
|
29
|
+
encodeFrames(frames, options) {
|
|
30
|
+
const ptr0 = passArrayJsValueToWasm0(frames, wasm.__wbindgen_malloc);
|
|
31
|
+
const len0 = WASM_VECTOR_LEN;
|
|
32
|
+
const ret = wasm.renderer_encodeFrames(this.__wbg_ptr, ptr0, len0, options);
|
|
33
|
+
if (ret[3]) {
|
|
34
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
35
|
+
}
|
|
36
|
+
var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
37
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
38
|
+
return v2;
|
|
39
|
+
}
|
|
23
40
|
/**
|
|
24
41
|
* Loads a font into the renderer.
|
|
25
42
|
* @param {Font} font
|
|
@@ -92,21 +109,18 @@ export class Renderer {
|
|
|
92
109
|
return v1;
|
|
93
110
|
}
|
|
94
111
|
/**
|
|
95
|
-
* Renders
|
|
96
|
-
* @param {AnimationFrameSource[]} frames
|
|
112
|
+
* Renders a sequential animation timeline into a buffer.
|
|
97
113
|
* @param {RenderAnimationOptions} options
|
|
98
114
|
* @returns {Uint8Array}
|
|
99
115
|
*/
|
|
100
|
-
renderAnimation(
|
|
101
|
-
const
|
|
102
|
-
const len0 = WASM_VECTOR_LEN;
|
|
103
|
-
const ret = wasm.renderer_renderAnimation(this.__wbg_ptr, ptr0, len0, options);
|
|
116
|
+
renderAnimation(options) {
|
|
117
|
+
const ret = wasm.renderer_renderAnimation(this.__wbg_ptr, options);
|
|
104
118
|
if (ret[3]) {
|
|
105
119
|
throw takeFromExternrefTable0(ret[2]);
|
|
106
120
|
}
|
|
107
|
-
var
|
|
121
|
+
var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
108
122
|
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
109
|
-
return
|
|
123
|
+
return v1;
|
|
110
124
|
}
|
|
111
125
|
/**
|
|
112
126
|
* Renders a node tree into a data URL.
|
package/pkg/takumi_wasm_bg.wasm
CHANGED
|
Binary file
|
|
@@ -4,13 +4,14 @@ export const memory: WebAssembly.Memory;
|
|
|
4
4
|
export const __wbg_renderer_free: (a: number, b: number) => void;
|
|
5
5
|
export const collectNodeFetchTasks: (a: any) => [number, number, number, number];
|
|
6
6
|
export const renderer_clearImageStore: (a: number) => void;
|
|
7
|
+
export const renderer_encodeFrames: (a: number, b: number, c: number, d: any) => [number, number, number, number];
|
|
7
8
|
export const renderer_loadFont: (a: number, b: any) => [number, number];
|
|
8
9
|
export const renderer_loadFontWithInfo: (a: number, b: any) => [number, number];
|
|
9
10
|
export const renderer_measure: (a: number, b: any, c: number) => [number, number, number];
|
|
10
11
|
export const renderer_new: (a: number) => [number, number, number];
|
|
11
12
|
export const renderer_putPersistentImage: (a: number, b: any) => [number, number];
|
|
12
13
|
export const renderer_render: (a: number, b: any, c: number) => [number, number, number, number];
|
|
13
|
-
export const renderer_renderAnimation: (a: number, b:
|
|
14
|
+
export const renderer_renderAnimation: (a: number, b: any) => [number, number, number, number];
|
|
14
15
|
export const renderer_renderAsDataUrl: (a: number, b: any, c: any) => [number, number, number, number];
|
|
15
16
|
export const extractResourceUrls: (a: any) => [number, number, number, number];
|
|
16
17
|
export const __wbindgen_malloc: (a: number, b: number) => number;
|