@openheart/tavio-renderer 2.2.12-without-wasm → 2.3.1-withWasm

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.
@@ -0,0 +1,37 @@
1
+ import { Euler, IUniform, Vector3 } from 'three';
2
+ import { WasmDecodeBodyEvent, WasmDecodeHeaderEvent } from './wasm-worker-client';
3
+ export declare function wasmBuildSourceProperty(event: WasmDecodeHeaderEvent, sourceIndex: number, sourceVertexOffset: number): {
4
+ ready: boolean;
5
+ index: number;
6
+ type: "tavio" | "splat" | "ply" | "spz" | "sog";
7
+ vertexCount: number;
8
+ vertexOffset: number;
9
+ featureBits: number;
10
+ containmentRadius: {
11
+ per100: any;
12
+ };
13
+ magicNumber: string;
14
+ majorVersion: number;
15
+ minorVersion: number;
16
+ transform: {
17
+ translation: Vector3;
18
+ rotation: Euler;
19
+ scale: number;
20
+ };
21
+ billboard: boolean;
22
+ };
23
+ export declare function wasmBuildSharedData(event: WasmDecodeHeaderEvent, prototype: object, gaussianCount: number, generalDataSize: number, orderDataSize: number): any;
24
+ export declare function wasmBuildWorkerUpdateMessage(event: WasmDecodeBodyEvent, uniforms: {
25
+ [uniform: string]: IUniform;
26
+ }, sourceIndex: number, usingSharedArrayBuffer: boolean): {
27
+ message: any;
28
+ transfer: ArrayBufferLike[];
29
+ };
30
+ export declare function wasmUpdateUniforms(event: WasmDecodeBodyEvent, uniforms: {
31
+ [uniform: string]: IUniform;
32
+ }, sourceIndex: number): void;
33
+ export declare function requestWorkerBuffer(worker: Worker): Promise<{
34
+ gaussianData: Uint8Array;
35
+ sphericalHarmonicsData: Float32Array;
36
+ }>;
37
+ export declare function downloadAsFile(bytes: Uint8Array, filename: string): void;
@@ -2,25 +2,82 @@ import { WasmFnMap, WasmWorkerInitOptions } from './wasm-worker';
2
2
  type AsyncWasmFnMap = {
3
3
  [K in Exclude<keyof WasmFnMap, "registerEventHandler">]: WasmFnMap[K] extends (...args: infer A) => infer R ? (...args: A) => Promise<Awaited<R>> : never;
4
4
  };
5
- type WasmEvent = {
6
- type: "decode:fileSize";
7
- fileSize: number;
8
- } | {
5
+ type HeaderByFormat = {
6
+ tavio: {
7
+ version: number[];
8
+ totalPointCount: number;
9
+ featureFlags: number;
10
+ };
11
+ splat: null;
12
+ ply: {
13
+ majorVersion: number;
14
+ minorVersion: number;
15
+ encoding: string;
16
+ comments: string[];
17
+ };
18
+ spz: {
19
+ magic: string;
20
+ version: number;
21
+ num_points: number;
22
+ sh_degree: number;
23
+ fractionalBits: number;
24
+ flags: number;
25
+ };
26
+ sog: {
27
+ version: number;
28
+ count: number;
29
+ antialias?: boolean;
30
+ };
31
+ };
32
+ export type WasmDecodeHeaderEvent = {
9
33
  type: "decode:header";
10
- data: any;
34
+ totalPointCount: number;
35
+ sharedGaussianBuffer: SharedArrayBuffer | null;
36
+ sharedShBuffer: SharedArrayBuffer | null;
37
+ } & ({
38
+ format: "tavio";
39
+ header: HeaderByFormat["tavio"];
40
+ } | {
41
+ format: "splat";
42
+ header: HeaderByFormat["splat"];
43
+ } | {
44
+ format: "ply";
45
+ header: HeaderByFormat["ply"];
11
46
  } | {
47
+ format: "spz";
48
+ header: HeaderByFormat["spz"];
49
+ } | {
50
+ format: "sog";
51
+ header: HeaderByFormat["sog"];
52
+ });
53
+ export type WasmDecodeBodyEvent = {
54
+ type: "decode:body";
55
+ pointCount: number;
56
+ gaussianBuffer: Uint8Array | null;
57
+ shBuffer?: Float32Array | null;
58
+ point: Float32Array;
59
+ color: Uint8ClampedArray;
60
+ scaleMinValues: Float32Array;
61
+ scaleMaxValues: Float32Array;
62
+ alphaMinValue: number;
63
+ alphaMaxValue: number;
64
+ };
65
+ export type WasmEvent = {
66
+ type: "decode:fileSize";
67
+ fileSize: number;
68
+ } | WasmDecodeHeaderEvent | WasmDecodeBodyEvent | {
12
69
  type: "decode:chunkMain";
13
70
  chunkIndex: number;
14
71
  pointCount: number;
15
72
  data: Uint8Array;
16
- scaleMinValues: Float32Array[];
17
- scaleMaxValues: Float32Array[];
18
- alphaMinValues: Float32Array[];
19
- alphaMaxValues: Float32Array[];
73
+ scaleMinValues: Float32Array;
74
+ scaleMaxValues: Float32Array;
75
+ alphaMinValue: number;
76
+ alphaMaxValue: number;
20
77
  } | {
21
78
  type: "decode:chunkMainHeader";
22
79
  chunkIndex: number;
23
- data: any;
80
+ chunkMainHader: any;
24
81
  } | {
25
82
  type: "decode:chunkMainSphericalHarmonics";
26
83
  chunkIndex: number;
@@ -36,7 +93,7 @@ type WasmEvent = {
36
93
  } | {
37
94
  type: "decode:color";
38
95
  chunkIndex: number;
39
- data: Uint8Array;
96
+ data: Uint8ClampedArray;
40
97
  };
41
98
  type WasmEventHandler = (e: WasmEvent) => void;
42
99
  export declare class TavioWasmWorkerClient {
@@ -8,14 +8,6 @@
8
8
 
9
9
  type ReadableStreamType = "bytes";
10
10
 
11
- interface DecodeOptions {
12
- decodeMode?: "sync" | "parallel";
13
- maxDecodePoints?: number;
14
- useSphericalHarmonics?: boolean;
15
- }
16
-
17
-
18
-
19
11
  export class IntoUnderlyingByteSource {
20
12
  private constructor();
21
13
  free(): void;
@@ -44,7 +36,23 @@ export class IntoUnderlyingSource {
44
36
  pull(controller: ReadableStreamDefaultController): Promise<any>;
45
37
  }
46
38
 
47
- export function decodeTavio(url: string, decode_options: DecodeOptions): Promise<void>;
39
+ export function decodePly(url: string, decode_options: any): Promise<void>;
40
+
41
+ export function decodeSog(url: string, decode_options: any): Promise<void>;
42
+
43
+ export function decodeSplat(url: string, decode_options: any): Promise<void>;
44
+
45
+ export function decodeSpz(url: string, decode_options: any): Promise<void>;
46
+
47
+ export function decodeTavio(url: string, decode_options: any): Promise<void>;
48
+
49
+ export function encodePly(point_count: number, gaussian_buffer: Uint8Array, sh_buffer: Float32Array | null | undefined, scale_min_values: Float32Array, scale_max_values: Float32Array, alpha_min_value: number, alpha_max_value: number): Uint8Array;
50
+
51
+ export function encodeSplat(point_count: number, gaussian_buffer: Uint8Array, scale_min_values: Float32Array, scale_max_values: Float32Array, alpha_min_value: number, alpha_max_value: number): Uint8Array;
52
+
53
+ export function encodeSpz(point_count: number, gaussian_buffer: Uint8Array, sh_buffer: Float32Array | null | undefined, scale_min_values: Float32Array, scale_max_values: Float32Array, alpha_min_value: number, alpha_max_value: number): Uint8Array;
54
+
55
+ export function encodeTavio(point_count: number, gaussian_buffer: Uint8Array, _sh_buffer: Float32Array | null | undefined, scale_min_values: Float32Array, scale_max_values: Float32Array, alpha_min_value: number, alpha_max_value: number): Uint8Array;
48
56
 
49
57
  export function main(): void;
50
58
 
@@ -56,32 +64,39 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
56
64
 
57
65
  export interface InitOutput {
58
66
  readonly memory: WebAssembly.Memory;
59
- readonly decodeTavio: (a: number, b: number, c: number) => number;
60
- readonly main: () => void;
67
+ readonly decodePly: (a: number, b: number, c: number) => number;
68
+ readonly encodePly: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
61
69
  readonly registerEventHandler: (a: number) => number;
70
+ readonly decodeSog: (a: number, b: number, c: number) => number;
71
+ readonly decodeTavio: (a: number, b: number, c: number) => number;
72
+ readonly encodeTavio: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
73
+ readonly decodeSplat: (a: number, b: number, c: number) => number;
74
+ readonly decodeSpz: (a: number, b: number, c: number) => number;
75
+ readonly encodeSplat: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number) => void;
76
+ readonly encodeSpz: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
62
77
  readonly sort: (a: number, b: number, c: number) => number;
63
- readonly __wbg_intounderlyingsource_free: (a: number, b: number) => void;
64
- readonly intounderlyingsource_cancel: (a: number) => void;
65
- readonly intounderlyingsource_pull: (a: number, b: number) => number;
78
+ readonly main: () => void;
66
79
  readonly __wbg_intounderlyingbytesource_free: (a: number, b: number) => void;
67
- readonly __wbg_intounderlyingsink_free: (a: number, b: number) => void;
68
80
  readonly intounderlyingbytesource_autoAllocateChunkSize: (a: number) => number;
69
81
  readonly intounderlyingbytesource_cancel: (a: number) => void;
70
82
  readonly intounderlyingbytesource_pull: (a: number, b: number) => number;
71
83
  readonly intounderlyingbytesource_start: (a: number, b: number) => void;
72
84
  readonly intounderlyingbytesource_type: (a: number) => number;
85
+ readonly __wbg_intounderlyingsource_free: (a: number, b: number) => void;
86
+ readonly intounderlyingsource_cancel: (a: number) => void;
87
+ readonly intounderlyingsource_pull: (a: number, b: number) => number;
88
+ readonly __wbg_intounderlyingsink_free: (a: number, b: number) => void;
73
89
  readonly intounderlyingsink_abort: (a: number, b: number) => number;
74
90
  readonly intounderlyingsink_close: (a: number) => number;
75
91
  readonly intounderlyingsink_write: (a: number, b: number) => number;
76
- readonly __wasm_bindgen_func_elem_388: (a: number, b: number) => void;
77
- readonly __wasm_bindgen_func_elem_741: (a: number, b: number) => void;
78
- readonly __wasm_bindgen_func_elem_730: (a: number, b: number, c: number, d: number) => void;
79
- readonly __wasm_bindgen_func_elem_1624: (a: number, b: number, c: number, d: number) => void;
80
- readonly __wasm_bindgen_func_elem_400: (a: number, b: number, c: number) => void;
92
+ readonly __wasm_bindgen_func_elem_2673: (a: number, b: number, c: number, d: number) => void;
93
+ readonly __wasm_bindgen_func_elem_2675: (a: number, b: number, c: number, d: number) => void;
94
+ readonly __wasm_bindgen_func_elem_955: (a: number, b: number, c: number) => void;
81
95
  readonly __wbindgen_export: (a: number, b: number) => number;
82
96
  readonly __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
83
97
  readonly __wbindgen_export3: (a: number) => void;
84
98
  readonly __wbindgen_export4: (a: number, b: number, c: number) => void;
99
+ readonly __wbindgen_export5: (a: number, b: number) => void;
85
100
  readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
86
101
  readonly __wbindgen_start: () => void;
87
102
  }