@openheart/tavio-renderer 2.2.9-without-wasm

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.
Files changed (32) hide show
  1. package/README.md +25 -0
  2. package/build/esm/index.js +41928 -0
  3. package/build/esm/types/animation/animationController.d.ts +133 -0
  4. package/build/esm/types/camera/cameraCollider.d.ts +54 -0
  5. package/build/esm/types/camera/cameraPath.d.ts +120 -0
  6. package/build/esm/types/camera/cameraPathControls.d.ts +73 -0
  7. package/build/esm/types/camera/cameraPathManager.d.ts +67 -0
  8. package/build/esm/types/camera/flightControls.d.ts +76 -0
  9. package/build/esm/types/camera/orbitControls.d.ts +192 -0
  10. package/build/esm/types/camera/transferControls.d.ts +122 -0
  11. package/build/esm/types/editor/selector/boxSelector.d.ts +45 -0
  12. package/build/esm/types/editor/selector/selector.d.ts +145 -0
  13. package/build/esm/types/editor/selector/sphereSelector.d.ts +45 -0
  14. package/build/esm/types/extension/InstancedMeshEX.d.ts +101 -0
  15. package/build/esm/types/global.iife.d.ts +9 -0
  16. package/build/esm/types/loader/streamLoader.d.ts +21 -0
  17. package/build/esm/types/main.d.ts +0 -0
  18. package/build/esm/types/math/easing.d.ts +18 -0
  19. package/build/esm/types/math/interpolation.d.ts +70 -0
  20. package/build/esm/types/module.d.ts +5 -0
  21. package/build/esm/types/types/global.d.ts +23 -0
  22. package/build/esm/types/utility/console.d.ts +6 -0
  23. package/build/esm/types/utility/plyDecoder.d.ts +97 -0
  24. package/build/esm/types/utility/utility.d.ts +47 -0
  25. package/build/esm/types/viewer/canvas.d.ts +1108 -0
  26. package/build/esm/types/viewer/tavioMesh.d.ts +436 -0
  27. package/build/esm/types/wasm-bindings/wasm-worker-client.d.ts +57 -0
  28. package/build/esm/types/wasm-bindings/wasm-worker.d.ts +49 -0
  29. package/build/esm/types/wasm-bindings/wasm.d.ts +5 -0
  30. package/build/esm/types/worker/splatWorker.d.ts +16 -0
  31. package/build/esm/types/worker/tavioWorker.d.ts +61 -0
  32. package/package.json +46 -0
@@ -0,0 +1,18 @@
1
+ /**
2
+ * ease-out (cubic)
3
+ * @param t - 進行度 (0.0 ~ 1.0)
4
+ * @returns イージング後の値 (0.0 ~ 1.0)
5
+ */
6
+ export declare function easeOutCubic(t: number): number;
7
+ /**
8
+ * ease-out (quadratic)
9
+ * @param t - 進行度 (0.0 ~ 1.0)
10
+ * @returns イージング後の値 (0.0 ~ 1.0)
11
+ */
12
+ export declare function easeOutQuad(t: number): number;
13
+ /**
14
+ * ease-in-out (quadratic)
15
+ * @param t - 進行度 (0.0 ~ 1.0)
16
+ * @returns イージング後の値 (0.0 ~ 1.0)
17
+ */
18
+ export declare function easeInOutQuad(t: number): number;
@@ -0,0 +1,70 @@
1
+ import { Vector3 } from 'three';
2
+ /**
3
+ * 正規化した値を返す(0.0 ~ 1.0)
4
+ * @param t - 対象の値
5
+ */
6
+ export declare function saturate(t: number): number;
7
+ /**
8
+ * XYZ の各要素をまとめて保持する
9
+ */
10
+ export interface iHerimite3 {
11
+ x: Hermite;
12
+ y: Hermite;
13
+ z: Hermite;
14
+ }
15
+ /**
16
+ * エルミート補間を計算する
17
+ */
18
+ export declare class Hermite {
19
+ private c0;
20
+ private c1;
21
+ private c2;
22
+ private c3;
23
+ /**
24
+ * @param x0 - 開始点
25
+ * @param x1 - 終了点
26
+ * @param t0 - 開始時の傾き
27
+ * @param t0 - 終了時の傾き
28
+ */
29
+ constructor(x0: number, x1: number, t0: number, t1: number);
30
+ /**
31
+ * 係数を設定する
32
+ * @param x0 - 開始点
33
+ * @param x1 - 終了点
34
+ * @param t0 - 開始時の傾き
35
+ * @param t0 - 終了時の傾き
36
+ */
37
+ set(x0: number, x1: number, t0: number, t1: number): this;
38
+ /**
39
+ * 設定されている係数から時間あたりの補間結果を返す
40
+ * @param t - 取得したい時間(0.0 ~ 1.0)
41
+ */
42
+ get(t: number): number;
43
+ }
44
+ /**
45
+ * スプライン補間を行うためのユーティリティクラス
46
+ */
47
+ export declare class CatmullRomSpline {
48
+ private hermiteList;
49
+ pointList: Vector3[];
50
+ tension: number;
51
+ /**
52
+ * @param tension - 引っ張る力
53
+ */
54
+ constructor(tension?: number);
55
+ /**
56
+ * 制御点を追加する
57
+ * @param v - 追加する制御点
58
+ */
59
+ add(v: Vector3): this;
60
+ /**
61
+ * 制御点を取り除く
62
+ * @param index - 取り除く対象のインデックス
63
+ */
64
+ remove(index: number): this;
65
+ /**
66
+ * 時間あたりの補間結果を返す
67
+ * @param t - 取得したい時間(0.0 ~ 1.0)
68
+ */
69
+ get(t: number): Vector3;
70
+ }
@@ -0,0 +1,5 @@
1
+ import { Core, TavioError, TavioErrorCode } from './viewer/canvas';
2
+ import { iAnimationConfig } from './animation/animationController';
3
+ export { Core, TavioError, TavioErrorCode };
4
+ export type { iAnimationConfig };
5
+ export default Core;
@@ -0,0 +1,23 @@
1
+ declare module '*.vert' {
2
+ const content: any;
3
+ export default content;
4
+ }
5
+ declare module '*.frag' {
6
+ const content: any;
7
+ export default content;
8
+ }
9
+
10
+ // Vite Worker imports
11
+ type WorkerConstructor = {
12
+ new (): Worker;
13
+ };
14
+ declare module '*?worker&inline' {
15
+ const workerConstructor: WorkerConstructor;
16
+ export default workerConstructor;
17
+ }
18
+ declare module '*?worker' {
19
+ const workerConstructor: WorkerConstructor;
20
+ export default workerConstructor;
21
+ }
22
+
23
+ declare var PRODUCTION_BUILD: boolean;
@@ -0,0 +1,6 @@
1
+ export declare class ConsoleOutput {
2
+ label: string;
3
+ constructor(label?: string);
4
+ log(out: any): void;
5
+ warn(out: any): void;
6
+ }
@@ -0,0 +1,97 @@
1
+ type tTypedArray = Float64Array | Float32Array | Int32Array | Uint32Array | Int16Array | Uint16Array | Uint8Array;
2
+ export interface iPlyElement {
3
+ type: string;
4
+ name: string;
5
+ data: tTypedArray;
6
+ }
7
+ export interface iPlyData {
8
+ headerByteLength: number;
9
+ format: string;
10
+ count: number;
11
+ size: number;
12
+ element: iPlyElement[];
13
+ comment: string[];
14
+ }
15
+ export interface iSplatData {
16
+ splatBuffer: ArrayBufferLike;
17
+ sphericalHarmonicsBuffer: Float32Array;
18
+ }
19
+ export interface iTavioData extends iSplatData {
20
+ position: Float32Array;
21
+ color: Uint8ClampedArray;
22
+ scaleMinX: number;
23
+ scaleMinY: number;
24
+ scaleMinZ: number;
25
+ alphaMin: number;
26
+ scaleMaxX: number;
27
+ scaleMaxY: number;
28
+ scaleMaxZ: number;
29
+ alphaMax: number;
30
+ }
31
+ /**
32
+ * PLY 形式の中身確認用簡易デコーダ
33
+ */
34
+ export declare class PlyDecoder {
35
+ /** ヘッダとして読み込むバイト長 */
36
+ static HEADER_READ_BYTE_LENGTH: number;
37
+ /** splat データの1つあたりのバイトサイズ */
38
+ static ROW_LENGTH: number;
39
+ /** tavio の 3DGS データの1つあたりのバイトサイズ */
40
+ static ROW_LENGTH_TAVIO: number;
41
+ /** 球面調和関数の交流成分の数 */
42
+ static SPHERICAL_HARMONICS_BASE_ELEMENT: number;
43
+ /** 直流成分の係数 */
44
+ static SH_C0: number;
45
+ /** .ply のプロパティのデータタイプと対応付けを行うためのデータ構造 */
46
+ static PROPERTY_TYPE: {
47
+ double: string;
48
+ float: string;
49
+ int: string;
50
+ uint: string;
51
+ short: string;
52
+ ushort: string;
53
+ uchar: string;
54
+ };
55
+ static PROPERTY_TYPED_ARRAY: {
56
+ double: Float64ArrayConstructor;
57
+ float: Float32ArrayConstructor;
58
+ int: Int32ArrayConstructor;
59
+ uint: Uint32ArrayConstructor;
60
+ short: Int16ArrayConstructor;
61
+ ushort: Uint16ArrayConstructor;
62
+ uchar: Uint8ArrayConstructor;
63
+ };
64
+ static PROPERTY_BYTE_LENGTH: {
65
+ double: number;
66
+ float: number;
67
+ int: number;
68
+ uint: number;
69
+ short: number;
70
+ ushort: number;
71
+ uchar: number;
72
+ };
73
+ /**
74
+ * ply のヘッダ文字列をデコードする
75
+ * @param buffer - ply 由来の ArrayBuffer データ
76
+ */
77
+ static decodeHeader(buffer: ArrayBufferLike): iPlyData;
78
+ /**
79
+ * ply のバイナリ部分をデコードする
80
+ * @param out - ヘッダ情報(decodeHeader の戻り値)
81
+ * @param buffer - ply 由来の ArrayBuffer データ
82
+ */
83
+ static decodeBinary(out: iPlyData, buffer: ArrayBufferLike): void;
84
+ /**
85
+ * ply データから splat および球面調和関数の交流成分のデータを生成する
86
+ * @param data - ヘッダ情報(decodeHeader の戻り値)
87
+ */
88
+ static createSplat(data: iPlyData): iSplatData;
89
+ /**
90
+ * ply データから tavio および球面調和関数の交流成分のデータを生成する
91
+ * @param data - ヘッダ情報(decodeHeader の戻り値)
92
+ * @param start - 対象の 3D ガウシアンの開始インデックス
93
+ * @param end - 対象の 3D ガウシアンの終了インデックス
94
+ */
95
+ static createTavio(data: iPlyData): iTavioData;
96
+ }
97
+ export {};
@@ -0,0 +1,47 @@
1
+ export interface iQuaternion {
2
+ w: number;
3
+ x: number;
4
+ y: number;
5
+ z: number;
6
+ }
7
+ export interface iOctahedralQuaternion {
8
+ u: number;
9
+ v: number;
10
+ w: number;
11
+ }
12
+ /**
13
+ * ファイルをロードし ArrayBuffer で解決する Promise を返す
14
+ * @param path - ロードの対象となる URL
15
+ */
16
+ export declare function loadArrayBuffer(path: string): Promise<ArrayBufferLike>;
17
+ /**
18
+ * ファイルをロードしテキストで解決する Promise を返す
19
+ * @param path - ロードの対象となる URL
20
+ */
21
+ export declare function loadFile(path: string): Promise<string>;
22
+ /**
23
+ * ファイルをロードし JSON にパースしたうえで解決する Promise を返す
24
+ * @param path - ロードの対象となる URL
25
+ */
26
+ export declare function loadJson(path: string): Promise<any>;
27
+ /**
28
+ * 正の整数を受け取り指定された位置のビットが立っているかどうかを真偽値で返す
29
+ * @param value - 調査する値
30
+ * @param target - 対象となるビット数
31
+ */
32
+ export declare function checkBit(value: number, target: number): boolean;
33
+ /**
34
+ * quaternion を octahedral quaternion に変換して返す
35
+ * @param w - クォータニオンの w 成分
36
+ * @param x - クォータニオンの x 成分
37
+ * @param y - クォータニオンの y 成分
38
+ * @param z - クォータニオンの z 成分
39
+ */
40
+ export declare function convertQuaternion(w: number, x: number, y: number, z: number): iOctahedralQuaternion;
41
+ /**
42
+ * octahedral quaternion を quaternion に変換する
43
+ * @param u - octahedral quaternion の u 成分
44
+ * @param v - octahedral quaternion の v 成分
45
+ * @param t - octahedral quaternion の w 成分
46
+ */
47
+ export declare function revertQuaternion(u: number, v: number, t: number): iQuaternion;