soonspacejs 2.16.0 → 2.16.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/dist/index.esm.js +5994 -5539
- package/package.json +1 -1
- package/types/Shared/auto-batch.d.ts +4 -0
- package/types/Shared/viewport.d.ts +1 -1
- package/types/Viewport/AutoBatchedMesh.d.ts +5 -1
- package/types/Viewport/AutoInstancingManager.d.ts +3 -1
- package/types/Viewport/Bvh/GenerateMeshBVHWorker.d.ts +3 -0
- package/types/Viewport/Bvh/index.d.ts +8 -1
- package/types/Viewport/Info.d.ts +3 -0
- package/types/Viewport/index.d.ts +1 -0
package/package.json
CHANGED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Object3D } from 'three';
|
|
2
|
+
export declare function setAutoBatchMaterialKey(object: Object3D, key: string): void;
|
|
3
|
+
export declare function getAutoBatchMaterialKey(object: Object3D): string | undefined;
|
|
4
|
+
export declare function deleteAutoBatchMaterialKey(object: Object3D): void;
|
|
@@ -7,7 +7,7 @@ declare function IVector3ToEuler(val: IVector3 | Euler): Euler;
|
|
|
7
7
|
* @param object
|
|
8
8
|
* @returns
|
|
9
9
|
*/
|
|
10
|
-
declare function getBoundingBox(object: Object3D, precise?: boolean): Box3;
|
|
10
|
+
declare function getBoundingBox(object: Object3D, precise?: boolean, cachedBounds?: Box3 | null): Box3;
|
|
11
11
|
declare function rotationAxisFix(axis: AxisType, source: Euler, target: Euler): Euler;
|
|
12
12
|
declare function rotationAFix(source: Euler, target: Euler): Euler;
|
|
13
13
|
declare function deg2Euler(deg: number): number;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BatchedMesh, Mesh } from 'three';
|
|
1
|
+
import { BatchedMesh, Material, Mesh } from 'three';
|
|
2
2
|
export interface AutoBatchedCandidate<T> {
|
|
3
3
|
source: Mesh;
|
|
4
4
|
value: T;
|
|
@@ -6,6 +6,8 @@ export interface AutoBatchedCandidate<T> {
|
|
|
6
6
|
export interface AutoBatchedMeshBatch<T> {
|
|
7
7
|
proxy: BatchedMesh;
|
|
8
8
|
values: T[];
|
|
9
|
+
usesInstanceColor: boolean;
|
|
10
|
+
ownedMaterial?: Material;
|
|
9
11
|
}
|
|
10
12
|
interface CreateAutoBatchedMeshOptions {
|
|
11
13
|
minInstances: number;
|
|
@@ -15,5 +17,7 @@ export interface AutoBatchedMeshResult<T> {
|
|
|
15
17
|
batches: AutoBatchedMeshBatch<T>[];
|
|
16
18
|
batchedValues: Set<T>;
|
|
17
19
|
}
|
|
20
|
+
export declare function getAutoBatchedMaterialKey(source: Mesh): string | null;
|
|
21
|
+
export declare function getAutoBatchedMaterialColor(source: Mesh): number | null;
|
|
18
22
|
export declare function createAutoBatchedMeshes<T>(candidates: AutoBatchedCandidate<T>[], options: CreateAutoBatchedMeshOptions): AutoBatchedMeshResult<T>;
|
|
19
23
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Group as ThreeGroup, Mesh, Object3D, Raycaster, Intersection } from 'three';
|
|
1
|
+
import { Box3, Group as ThreeGroup, Mesh, Object3D, Raycaster, Intersection } from 'three';
|
|
2
2
|
import { default as Viewport } from '.';
|
|
3
3
|
export interface AutoInstancingOptions {
|
|
4
4
|
/**
|
|
@@ -63,6 +63,7 @@ declare class AutoInstancingManager {
|
|
|
63
63
|
registerRoot(root: Object3D, options?: AutoInstancingOptions): AutoInstancingStats | null;
|
|
64
64
|
unregisterRoot(root: Object3D, excludeFromAutoMode?: boolean): void;
|
|
65
65
|
getStats(root?: Object3D): AutoInstancingStats | AutoInstancingStats[] | null;
|
|
66
|
+
getBounds(root: Object3D): Box3 | null;
|
|
66
67
|
requestSync(): void;
|
|
67
68
|
markBeforeRenderListenerSafe(listener: () => void): void;
|
|
68
69
|
unmarkBeforeRenderListenerSafe(listener: () => void): void;
|
|
@@ -79,6 +80,7 @@ declare class AutoInstancingManager {
|
|
|
79
80
|
dispose(): void;
|
|
80
81
|
private _createBinding;
|
|
81
82
|
private _syncRoot;
|
|
83
|
+
private _updateRootBounds;
|
|
82
84
|
private _updateProxyBindings;
|
|
83
85
|
private _syncInstancedMeshBounds;
|
|
84
86
|
private _isSourceWorldVisible;
|
|
@@ -3,7 +3,10 @@ import { WorkerPool } from 'three/examples/jsm/utils/WorkerPool.js';
|
|
|
3
3
|
import { MeshBVH } from 'three-mesh-bvh';
|
|
4
4
|
declare class GenerateMeshBVHWorker {
|
|
5
5
|
workerPool: WorkerPool;
|
|
6
|
+
private pendingRejectors;
|
|
7
|
+
private disposed;
|
|
6
8
|
constructor();
|
|
9
|
+
private _createAbortError;
|
|
7
10
|
generate(geometry: BufferGeometry, options?: any): Promise<MeshBVH | undefined>;
|
|
8
11
|
dispose(): void;
|
|
9
12
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { default as Viewport } from '..';
|
|
2
|
+
import { GenerateMeshBVHWorker } from './GenerateMeshBVHWorker';
|
|
2
3
|
export type ModelsBoundsTreeOptions = {
|
|
3
4
|
type?: 'block' | 'slice' | 'worker';
|
|
4
5
|
force?: boolean;
|
|
@@ -10,8 +11,14 @@ declare class Bvh {
|
|
|
10
11
|
cameraChanging: boolean;
|
|
11
12
|
timer: number | null;
|
|
12
13
|
computedGeometriesUuid: Map<string, string>;
|
|
13
|
-
|
|
14
|
+
inFlightGeometryBuilds: Map<string, Promise<void>>;
|
|
15
|
+
frameHandles: Set<number>;
|
|
16
|
+
sliceRejectors: Set<(reason: Error) => void>;
|
|
17
|
+
disposed: boolean;
|
|
18
|
+
generateMeshBVHWorker: GenerateMeshBVHWorker;
|
|
14
19
|
constructor(viewport: Viewport);
|
|
20
|
+
private _createAbortError;
|
|
21
|
+
private _requestFrame;
|
|
15
22
|
computeModelsBoundsTree(options?: ModelsBoundsTreeOptions): Promise<void>;
|
|
16
23
|
dispose(): void;
|
|
17
24
|
}
|
package/types/Viewport/Info.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ declare class Info {
|
|
|
4
4
|
readonly scene: Scene;
|
|
5
5
|
readonly signals: SignalsState;
|
|
6
6
|
container: HTMLDivElement;
|
|
7
|
+
private renderStateFrame;
|
|
8
|
+
private disposed;
|
|
7
9
|
state: {
|
|
8
10
|
objects: number;
|
|
9
11
|
meshes: number;
|
|
@@ -13,5 +15,6 @@ declare class Info {
|
|
|
13
15
|
};
|
|
14
16
|
constructor(scene: Scene, signals: SignalsState);
|
|
15
17
|
addListeners(): void;
|
|
18
|
+
dispose(): void;
|
|
16
19
|
}
|
|
17
20
|
export default Info;
|
|
@@ -60,6 +60,7 @@ declare class Viewport {
|
|
|
60
60
|
postRender: Map<string | number, () => void>;
|
|
61
61
|
private _loop;
|
|
62
62
|
private outlineSelection;
|
|
63
|
+
private pendingRenderResolvers;
|
|
63
64
|
resizeObserver: ResizeObserver;
|
|
64
65
|
constructor(options: ViewportOptions, signals: SignalsState, cache: ObjectsCache);
|
|
65
66
|
_initInfo(): void;
|