@openheart/tavio-renderer 2.6.6 → 2.6.8
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/build/esm/assets/{tavio-Bg15-kQi.js → tavio-DYKieVDY.js} +4 -4
- package/build/esm/assets/{workerHelpers-DAGUqfaD.js → workerHelpers-Cm8a3odL.js} +1 -1
- package/build/esm/index.js +65 -13
- package/build/esm/types/viewer/canvas.d.ts +10 -0
- package/build/esm/types/viewer/driver/coreDriver.d.ts +51 -0
- package/build/esm/types/viewer/driver/iCoreDriver.d.ts +8 -0
- package/build/esm/types/viewer/driver/offscreenDriver.d.ts +7 -0
- package/build/esm/types/viewer/tavioMesh/tavioMesh.d.ts +5 -0
- package/build/esm/wasm/pkg/no-thread/tavio.d.ts +2 -2
- package/build/esm/wasm/pkg/no-thread/tavio.js +6 -6
- package/build/esm/wasm/pkg/no-thread/tavio_bg.wasm +0 -0
- package/build/esm/wasm/pkg/no-thread/tavio_bg.wasm.d.ts +2 -2
- package/build/esm/wasm/pkg/thread/tavio.d.ts +3 -3
- package/build/esm/wasm/pkg/thread/tavio.js +10 -10
- package/build/esm/wasm/pkg/thread/tavio_bg.wasm +0 -0
- package/build/esm/wasm/pkg/thread/tavio_bg.wasm.d.ts +3 -3
- package/package.json +1 -1
|
@@ -100,6 +100,16 @@ export declare class Core extends EventEmitter {
|
|
|
100
100
|
* @param quality - 画質(0〜1)。"image/jpeg" や "image/webp" のときのみ有効
|
|
101
101
|
*/
|
|
102
102
|
captureImage(type?: string, quality?: number): Promise<Blob>;
|
|
103
|
+
/**
|
|
104
|
+
* 現在の描画内容を ImageBitmap として取得する(動画の書き出しなど、フレーム単位で連続して取得する用途)。
|
|
105
|
+
* OffscreenCanvas(Worker)で描画している場合も取得できる。
|
|
106
|
+
* 使い終わった ImageBitmap は呼び出し側で close() すること
|
|
107
|
+
* @param options.cameraPathProgress - 指定すると、描画の前にカメラパス上のこの位置(0.0 ~ 1.0)へ
|
|
108
|
+
* イージングなしでカメラを移動する(カメラパスのコントロールが有効なときのみ反映される)
|
|
109
|
+
*/
|
|
110
|
+
captureFrame(options?: {
|
|
111
|
+
cameraPathProgress?: number;
|
|
112
|
+
}): Promise<ImageBitmap>;
|
|
103
113
|
addTavioMesh(name: string): void;
|
|
104
114
|
removeTavioMesh(name: string, renderViewName?: string | Symbol): void;
|
|
105
115
|
removeTavioMeshAllRenderView(name: string): void;
|
|
@@ -334,6 +334,48 @@ export declare class CoreDriver extends EventEmitter implements iCoreDriver {
|
|
|
334
334
|
* @param format - ファイル形式
|
|
335
335
|
*/
|
|
336
336
|
exportMeshWasm(name: string, format: Parameters<typeof TavioMesh.prototype.exportMeshWasm>[0]): Promise<Uint8Array>;
|
|
337
|
+
/**
|
|
338
|
+
* 描画内容の取得(captureImage / captureFrame)のために、その場で1フレーム描画する
|
|
339
|
+
* 一時停止中でも取得できるよう、この1フレームだけ描画してから一時停止状態に戻す
|
|
340
|
+
* @private
|
|
341
|
+
*/
|
|
342
|
+
private _renderOnceForCapture;
|
|
343
|
+
/**
|
|
344
|
+
* いずれかのレンダービューで、スプラットのソート(深度の焼き込みを含む)が進行中かどうか
|
|
345
|
+
* @private
|
|
346
|
+
*/
|
|
347
|
+
private _isAnySortInProgress;
|
|
348
|
+
/**
|
|
349
|
+
* 進行中のスプラットのソートがすべて終わるまで待つ。進行中でなければすぐに返る。
|
|
350
|
+
* ソートの完了は TavioMesh の "sort" イベントで検知する(イベントの直後にソート中フラグが下りる)。
|
|
351
|
+
* worker の異常などで完了しない場合に備えて、timeoutMs を過ぎたら待つのをやめる
|
|
352
|
+
* @param timeoutMs - 待ち時間の上限(ms)
|
|
353
|
+
* @private
|
|
354
|
+
*/
|
|
355
|
+
private _waitForSortSettled;
|
|
356
|
+
/**
|
|
357
|
+
* 直前に発行した GPU コマンドが完了するまで待つ(GPU フェンスをポーリングする)。
|
|
358
|
+
* WebGL2 でない環境やフェンスが無い場合はすぐに返る。timeoutMs を過ぎたら待つのをやめる
|
|
359
|
+
* @param timeoutMs - 待ち時間の上限(ms)
|
|
360
|
+
* @private
|
|
361
|
+
*/
|
|
362
|
+
private _waitForGpuIdle;
|
|
363
|
+
/**
|
|
364
|
+
* 現在の描画内容を ImageBitmap として取得する(動画の書き出しなど、フレーム単位で連続して取得する用途)
|
|
365
|
+
* 描画の途中経過ではなく確定した内容を返すために、取得の前に次の順で描画を落ち着かせる
|
|
366
|
+
* 1. カメラを移動し、1フレーム描画する(カメラの行列を更新し、視野が変わっていれば深度の焼き込みとソートが始まる)
|
|
367
|
+
* 2. 進行中のソートを待つ。描画でソートが始まらなかった(視野の変化が小さい)場合は、現在のカメラで強制的にソートして待つ
|
|
368
|
+
* 3. ソート結果を反映して1フレーム描画し、GPU の処理完了を待つ
|
|
369
|
+
* 4. 同じタスク内で canvas の内容を複製する(createImageBitmap は canvas を元にする場合、呼び出し時点の内容を複製する)
|
|
370
|
+
* OffscreenCanvas(Worker)では OffscreenDriver から RPC で呼び出され、ImageBitmap は transfer で返る
|
|
371
|
+
* @param options.cameraPathProgress - 指定すると、描画の前にカメラパス上のこの位置(0.0 ~ 1.0)へ
|
|
372
|
+
* イージングなしでカメラを移動する(カメラパスのコントロールが有効なときのみ反映される)。
|
|
373
|
+
* 数値でない値・NaN は無視する。animatePath 等のアニメーション中に呼ぶとアニメーション側の
|
|
374
|
+
* 更新で上書きされるため、呼び出し側でアニメーションを止めてから使うこと
|
|
375
|
+
*/
|
|
376
|
+
captureFrame(options?: {
|
|
377
|
+
cameraPathProgress?: number;
|
|
378
|
+
}): Promise<ImageBitmap>;
|
|
337
379
|
/**
|
|
338
380
|
* 現在の描画内容を画像として取得する
|
|
339
381
|
* preserveDrawingBuffer が無効でも取得できるよう、その場で1フレーム描画し、同じタスク内で
|
|
@@ -828,6 +870,15 @@ export declare class CoreDriver extends EventEmitter implements iCoreDriver {
|
|
|
828
870
|
* @param force - イージング(補間)を行わず即座にカメラへ反映するかどうか [default: false]
|
|
829
871
|
*/
|
|
830
872
|
updateCameraPath(time: number, force?: boolean): void;
|
|
873
|
+
/**
|
|
874
|
+
* カメラパスが有効な場合、指定された時間の位置と姿勢を TransferControls(force 時はカメラ本体にも)へ設定する。
|
|
875
|
+
* 描画の再開(start)は行わないため、その場で描画する captureFrame のように呼び出し側で描画を制御したい場合に使う
|
|
876
|
+
* @param time - 設定する時間(0.0 ~ 1.0)
|
|
877
|
+
* @param force - イージング(補間)を行わず即座にカメラへ反映するかどうか
|
|
878
|
+
* @returns カメラパスが有効で値を設定できた場合は true
|
|
879
|
+
* @private
|
|
880
|
+
*/
|
|
881
|
+
private _applyCameraPath;
|
|
831
882
|
/**
|
|
832
883
|
* カメラパスを名前と座標データで追加登録する
|
|
833
884
|
* @param name - カメラパスの識別名
|
|
@@ -66,6 +66,14 @@ export interface iCoreDriver extends EventEmitter {
|
|
|
66
66
|
* @param quality - 画質(0〜1)。"image/jpeg" や "image/webp" のときのみ有効
|
|
67
67
|
*/
|
|
68
68
|
captureImage(type?: string, quality?: number): Promise<Blob>;
|
|
69
|
+
/**
|
|
70
|
+
* 現在の描画内容を ImageBitmap として取得する(動画の書き出しなど、フレーム単位で連続して取得する用途)
|
|
71
|
+
* @param options.cameraPathProgress - 指定すると、描画の前にカメラパス上のこの位置(0.0 ~ 1.0)へ
|
|
72
|
+
* イージングなしでカメラを移動する(カメラパスのコントロールが有効なときのみ反映される)
|
|
73
|
+
*/
|
|
74
|
+
captureFrame(options?: {
|
|
75
|
+
cameraPathProgress?: number;
|
|
76
|
+
}): Promise<ImageBitmap>;
|
|
69
77
|
addTavioMesh(name: string): void;
|
|
70
78
|
removeTavioMesh(name: string, renderViewName?: string | Symbol): void;
|
|
71
79
|
removeTavioMeshAllRenderView(name: string): void;
|
|
@@ -153,6 +153,13 @@ export declare class OffscreenDriver extends EventEmitter implements iCoreDriver
|
|
|
153
153
|
* (Blob は構造化複製で Worker からメインスレッドへ返る)
|
|
154
154
|
*/
|
|
155
155
|
captureImage(type?: string, quality?: number): Promise<Blob>;
|
|
156
|
+
/**
|
|
157
|
+
* Worker 内の OffscreenCanvas で描画した内容を ImageBitmap として取得する
|
|
158
|
+
* (ImageBitmap は Worker からメインスレッドへ transfer で返るため複製は発生しない)
|
|
159
|
+
*/
|
|
160
|
+
captureFrame(options?: {
|
|
161
|
+
cameraPathProgress?: number;
|
|
162
|
+
}): Promise<ImageBitmap>;
|
|
156
163
|
addTavioMesh(name: string): void;
|
|
157
164
|
getFirstMeshName(): Promise<string | null>;
|
|
158
165
|
createRenderView(name: string | Symbol): void;
|
|
@@ -275,6 +275,11 @@ export declare class TavioMesh extends EventEmitter {
|
|
|
275
275
|
* 点描画用の Points インスタンスを返す
|
|
276
276
|
*/
|
|
277
277
|
getPoints(): Points | null;
|
|
278
|
+
/**
|
|
279
|
+
* 指定のレンダービュー向けのソート(深度の焼き込みから並び順の反映まで)が進行中かどうかを返す
|
|
280
|
+
* @param renderViewName - レンダービューの名前
|
|
281
|
+
*/
|
|
282
|
+
isSorting(renderViewName: string | Symbol): boolean;
|
|
278
283
|
/**
|
|
279
284
|
* メッシュのインスタンスを返す
|
|
280
285
|
*/
|
|
@@ -92,8 +92,8 @@ export interface InitOutput {
|
|
|
92
92
|
readonly registerEventHandler: (a: number) => number;
|
|
93
93
|
readonly resolveGaussianEdits: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
|
|
94
94
|
readonly sort: (a: number, b: number, c: number) => number;
|
|
95
|
-
readonly
|
|
96
|
-
readonly
|
|
95
|
+
readonly __wasm_bindgen_func_elem_2978: (a: number, b: number, c: number, d: number) => void;
|
|
96
|
+
readonly __wasm_bindgen_func_elem_2980: (a: number, b: number, c: number, d: number) => void;
|
|
97
97
|
readonly __wasm_bindgen_func_elem_1190: (a: number, b: number, c: number) => void;
|
|
98
98
|
readonly __wbindgen_export: (a: number, b: number) => number;
|
|
99
99
|
readonly __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
|
|
@@ -618,7 +618,7 @@ function __wbg_get_imports() {
|
|
|
618
618
|
const a = state0.a;
|
|
619
619
|
state0.a = 0;
|
|
620
620
|
try {
|
|
621
|
-
return
|
|
621
|
+
return __wasm_bindgen_func_elem_2980(a, state0.b, arg0, arg1);
|
|
622
622
|
} finally {
|
|
623
623
|
state0.a = a;
|
|
624
624
|
}
|
|
@@ -762,7 +762,7 @@ function __wbg_get_imports() {
|
|
|
762
762
|
},
|
|
763
763
|
__wbindgen_generic_0000000000000002: function(arg0, arg1) {
|
|
764
764
|
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 632, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
|
|
765
|
-
const ret = makeMutClosure(arg0, arg1,
|
|
765
|
+
const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_2978);
|
|
766
766
|
return addHeapObject(ret);
|
|
767
767
|
},
|
|
768
768
|
__wbindgen_generic_0000000000000003: function(arg0) {
|
|
@@ -831,14 +831,14 @@ function __wasm_bindgen_func_elem_1190(arg0, arg1, arg2) {
|
|
|
831
831
|
wasm.__wasm_bindgen_func_elem_1190(arg0, arg1, addHeapObject(arg2));
|
|
832
832
|
}
|
|
833
833
|
|
|
834
|
-
function
|
|
835
|
-
wasm.
|
|
834
|
+
function __wasm_bindgen_func_elem_2980(arg0, arg1, arg2, arg3) {
|
|
835
|
+
wasm.__wasm_bindgen_func_elem_2980(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
|
|
836
836
|
}
|
|
837
837
|
|
|
838
|
-
function
|
|
838
|
+
function __wasm_bindgen_func_elem_2978(arg0, arg1, arg2) {
|
|
839
839
|
try {
|
|
840
840
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
841
|
-
wasm.
|
|
841
|
+
wasm.__wasm_bindgen_func_elem_2978(retptr, arg0, arg1, addHeapObject(arg2));
|
|
842
842
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
843
843
|
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
844
844
|
if (r1) {
|
|
Binary file
|
|
@@ -27,8 +27,8 @@ export const main: () => void;
|
|
|
27
27
|
export const registerEventHandler: (a: number) => number;
|
|
28
28
|
export const resolveGaussianEdits: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
|
|
29
29
|
export const sort: (a: number, b: number, c: number) => number;
|
|
30
|
-
export const
|
|
31
|
-
export const
|
|
30
|
+
export const __wasm_bindgen_func_elem_2978: (a: number, b: number, c: number, d: number) => void;
|
|
31
|
+
export const __wasm_bindgen_func_elem_2980: (a: number, b: number, c: number, d: number) => void;
|
|
32
32
|
export const __wasm_bindgen_func_elem_1190: (a: number, b: number, c: number) => void;
|
|
33
33
|
export const __wbindgen_export: (a: number, b: number) => number;
|
|
34
34
|
export const __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
|
|
@@ -110,10 +110,10 @@ export interface InitOutput {
|
|
|
110
110
|
readonly wbg_rayon_poolbuilder_numThreads: (a: number) => number;
|
|
111
111
|
readonly wbg_rayon_poolbuilder_receiver: (a: number) => number;
|
|
112
112
|
readonly wbg_rayon_start_worker: (a: number) => void;
|
|
113
|
-
readonly
|
|
114
|
-
readonly
|
|
113
|
+
readonly __wasm_bindgen_func_elem_3149: (a: number, b: number, c: number, d: number) => void;
|
|
114
|
+
readonly __wasm_bindgen_func_elem_3152: (a: number, b: number, c: number, d: number) => void;
|
|
115
115
|
readonly __wasm_bindgen_func_elem_1228: (a: number, b: number, c: number) => void;
|
|
116
|
-
readonly
|
|
116
|
+
readonly __wasm_bindgen_func_elem_3151: (a: number, b: number, c: number) => void;
|
|
117
117
|
readonly memory: WebAssembly.Memory;
|
|
118
118
|
readonly __wbindgen_export: (a: number, b: number) => number;
|
|
119
119
|
readonly __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
|
|
@@ -690,7 +690,7 @@ function __wbg_get_imports(memory) {
|
|
|
690
690
|
const a = state0.a;
|
|
691
691
|
state0.a = 0;
|
|
692
692
|
try {
|
|
693
|
-
return
|
|
693
|
+
return __wasm_bindgen_func_elem_3152(a, state0.b, arg0, arg1);
|
|
694
694
|
} finally {
|
|
695
695
|
state0.a = a;
|
|
696
696
|
}
|
|
@@ -728,7 +728,7 @@ function __wbg_get_imports(memory) {
|
|
|
728
728
|
const a = state0.a;
|
|
729
729
|
state0.a = 0;
|
|
730
730
|
try {
|
|
731
|
-
return
|
|
731
|
+
return __wasm_bindgen_func_elem_3152(a, state0.b, arg0, arg1);
|
|
732
732
|
} finally {
|
|
733
733
|
state0.a = a;
|
|
734
734
|
}
|
|
@@ -906,12 +906,12 @@ function __wbg_get_imports(memory) {
|
|
|
906
906
|
},
|
|
907
907
|
__wbindgen_generic_0000000000000002: function(arg0, arg1) {
|
|
908
908
|
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 640, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`.
|
|
909
|
-
const ret = makeMutClosure(arg0, arg1,
|
|
909
|
+
const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_3149);
|
|
910
910
|
return addHeapObject(ret);
|
|
911
911
|
},
|
|
912
912
|
__wbindgen_generic_0000000000000003: function(arg0, arg1) {
|
|
913
913
|
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 659, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
|
|
914
|
-
const ret = makeMutClosure(arg0, arg1,
|
|
914
|
+
const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_3151);
|
|
915
915
|
return addHeapObject(ret);
|
|
916
916
|
},
|
|
917
917
|
__wbindgen_generic_0000000000000004: function(arg0) {
|
|
@@ -995,18 +995,18 @@ function __wasm_bindgen_func_elem_1228(arg0, arg1, arg2) {
|
|
|
995
995
|
wasm.__wasm_bindgen_func_elem_1228(arg0, arg1, addHeapObject(arg2));
|
|
996
996
|
}
|
|
997
997
|
|
|
998
|
-
function
|
|
999
|
-
wasm.
|
|
998
|
+
function __wasm_bindgen_func_elem_3151(arg0, arg1, arg2) {
|
|
999
|
+
wasm.__wasm_bindgen_func_elem_3151(arg0, arg1, addHeapObject(arg2));
|
|
1000
1000
|
}
|
|
1001
1001
|
|
|
1002
|
-
function
|
|
1003
|
-
wasm.
|
|
1002
|
+
function __wasm_bindgen_func_elem_3152(arg0, arg1, arg2, arg3) {
|
|
1003
|
+
wasm.__wasm_bindgen_func_elem_3152(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
|
|
1004
1004
|
}
|
|
1005
1005
|
|
|
1006
|
-
function
|
|
1006
|
+
function __wasm_bindgen_func_elem_3149(arg0, arg1, arg2) {
|
|
1007
1007
|
try {
|
|
1008
1008
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
1009
|
-
wasm.
|
|
1009
|
+
wasm.__wasm_bindgen_func_elem_3149(retptr, arg0, arg1, addHeapObject(arg2));
|
|
1010
1010
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
1011
1011
|
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
1012
1012
|
if (r1) {
|
|
Binary file
|
|
@@ -32,10 +32,10 @@ export const wbg_rayon_poolbuilder_build: (a: number) => void;
|
|
|
32
32
|
export const wbg_rayon_poolbuilder_numThreads: (a: number) => number;
|
|
33
33
|
export const wbg_rayon_poolbuilder_receiver: (a: number) => number;
|
|
34
34
|
export const wbg_rayon_start_worker: (a: number) => void;
|
|
35
|
-
export const
|
|
36
|
-
export const
|
|
35
|
+
export const __wasm_bindgen_func_elem_3149: (a: number, b: number, c: number, d: number) => void;
|
|
36
|
+
export const __wasm_bindgen_func_elem_3152: (a: number, b: number, c: number, d: number) => void;
|
|
37
37
|
export const __wasm_bindgen_func_elem_1228: (a: number, b: number, c: number) => void;
|
|
38
|
-
export const
|
|
38
|
+
export const __wasm_bindgen_func_elem_3151: (a: number, b: number, c: number) => void;
|
|
39
39
|
export const memory: WebAssembly.Memory;
|
|
40
40
|
export const __wbindgen_export: (a: number, b: number) => number;
|
|
41
41
|
export const __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
|