soonspacejs 2.3.19 → 2.4.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 +11 -19
- package/dist/index.js +11 -19
- package/package.json +14 -6
- package/types/Interface/animation.d.ts +4 -4
- package/types/Interface/base.d.ts +2 -1
- package/types/Interface/manager.d.ts +1 -1
- package/types/Interface/viewport.d.ts +32 -4
- package/types/Library/BaseObject3D.d.ts +2 -1
- package/types/Library/Circle.d.ts +2 -0
- package/types/Library/Line.d.ts +2 -0
- package/types/Library/Model.d.ts +0 -2
- package/types/Library/Point.d.ts +2 -0
- package/types/Library/Polygon.d.ts +2 -0
- package/types/Library/Sbm.d.ts +0 -2
- package/types/Loader/DatLoader/DatLoader_DEPRECATED.d.ts +68 -0
- package/types/Loader/DatLoader/index.d.ts +59 -0
- package/types/Loader/DatLoader/pako_inflate.d.ts +2 -0
- package/types/Loader/DatLoader/parse-chunk/dracoCompress.d.ts +18 -0
- package/types/Loader/DatLoader/parse-chunk/gzipCompress.d.ts +13 -0
- package/types/Loader/DatLoader/parse-chunk/index.d.ts +22 -0
- package/types/Loader/DatLoader/parse-chunk/noCompress.d.ts +13 -0
- package/types/Loader/SbmLoader/SbkLoader.d.ts +1 -10
- package/types/Loader/SbmLoader/SbmLoader.d.ts +13 -9
- package/types/Loader/{utils → SbmLoader/utils}/generateSbm.d.ts +2 -2
- package/types/Manager/Canvas3DManage.d.ts +2 -2
- package/types/Manager/DefaultManage.d.ts +20 -11
- package/types/Manager/GroupManage.d.ts +7 -0
- package/types/Manager/HelperManage.d.ts +2 -2
- package/types/Manager/LightManage.d.ts +2 -1
- package/types/Manager/ModelManage.d.ts +27 -6
- package/types/Manager/PluginObjectManage.d.ts +3 -3
- package/types/Manager/PoiManage.d.ts +2 -2
- package/types/Manager/PoiNodeManage.d.ts +2 -2
- package/types/Manager/SbmManage.d.ts +2 -2
- package/types/Manager/TopologyManage.d.ts +2 -2
- package/types/Manager/index.d.ts +7 -5
- package/types/Shared/cloneDeep.d.ts +2 -0
- package/types/Shared/index.d.ts +6 -3
- package/types/Shared/map.d.ts +9 -1
- package/types/Shared/material.d.ts +2 -0
- package/types/Shared/network.d.ts +1 -0
- package/types/Shared/path.d.ts +1 -0
- package/types/Viewport/EffectManager.d.ts +44 -0
- package/types/Viewport/RendererManager.d.ts +2 -26
- package/types/Viewport/ViewHelper.d.ts +7 -0
- package/types/Viewport/index.d.ts +25 -11
- package/types/index.d.ts +18 -8
- package/types/Shared/sbmx.d.ts +0 -7
package/package.json
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "soonspacejs",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.1",
|
|
4
|
+
"homepage": "http://www.xwbuilders.com:8800/",
|
|
4
5
|
"description": "soonspacejs 2.x",
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
6
|
+
"module": "./dist/index.esm.js",
|
|
7
|
+
"main": "./dist/index.js",
|
|
8
|
+
"typings": "./types/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"import": "./dist/index.esm.js",
|
|
12
|
+
"require": "./dist/index.js",
|
|
13
|
+
"types": "./types/index.d.ts"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"unpkg": "./dist/index.js",
|
|
9
17
|
"keywords": [
|
|
10
18
|
"soonspacejs",
|
|
11
19
|
"threejs",
|
|
@@ -21,5 +29,5 @@
|
|
|
21
29
|
"localforage": "1.9.0",
|
|
22
30
|
"three": "0.139.0"
|
|
23
31
|
},
|
|
24
|
-
"gitHead": "
|
|
32
|
+
"gitHead": "9cccb30f9fe851aca8930345bfba6b7099314a5c"
|
|
25
33
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
declare type
|
|
2
|
-
declare type
|
|
1
|
+
declare type AnimationModeType = 'Linear.None' | 'Quadratic.In' | 'Quadratic.Out' | 'Quadratic.InOut' | 'Cubic.In' | 'Cubic.Out' | 'Cubic.InOut' | 'Quartic.In' | 'Quartic.Out' | 'Quartic.InOut' | 'Quintic.In' | 'Quintic.Out' | 'Quintic.InOut' | 'Sinusoidal.In' | 'Sinusoidal.Out' | 'Sinusoidal.InOut' | 'Exponential.In' | 'Exponential.Out' | 'Exponential.InOut' | 'Circular.In' | 'Circular.Out' | 'Circular.InOut' | 'Elastic.In' | 'Elastic.Out' | 'Elastic.InOut' | 'Back.In' | 'Back.Out' | 'Back.InOut' | 'Bounce.In' | 'Bounce.Out' | 'Bounce.InOut';
|
|
2
|
+
declare type AnimationModeValueType = (amount: number) => number;
|
|
3
3
|
interface AnimationOptions {
|
|
4
4
|
duration?: number;
|
|
5
5
|
delay?: number;
|
|
6
6
|
repeat?: number | boolean;
|
|
7
|
-
mode?:
|
|
7
|
+
mode?: AnimationModeType;
|
|
8
8
|
yoyo?: boolean;
|
|
9
9
|
}
|
|
10
|
-
export {
|
|
10
|
+
export { AnimationModeType, AnimationModeValueType, AnimationOptions, };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Color } from 'three';
|
|
1
2
|
interface IVector2 {
|
|
2
3
|
x: number;
|
|
3
4
|
y: number;
|
|
@@ -15,7 +16,7 @@ interface IVector3 extends IVector2 {
|
|
|
15
16
|
declare type Position = IVector3;
|
|
16
17
|
declare type Rotation = IVector3;
|
|
17
18
|
declare type Scale = IVector3;
|
|
18
|
-
declare type IColor = string | number;
|
|
19
|
+
declare type IColor = string | number | Color;
|
|
19
20
|
interface Level {
|
|
20
21
|
max: number | null;
|
|
21
22
|
min: number | null;
|
|
@@ -34,7 +34,6 @@ interface EdgeSelectOptions {
|
|
|
34
34
|
hideColor?: IColor;
|
|
35
35
|
edgeThickness?: number;
|
|
36
36
|
edgeStrength?: number;
|
|
37
|
-
pulsePeriod?: number;
|
|
38
37
|
}
|
|
39
38
|
interface StrokeSelectOptions extends BaseSelectOptions {
|
|
40
39
|
isOpacityShow?: boolean;
|
|
@@ -54,7 +53,7 @@ interface FogOptions {
|
|
|
54
53
|
far?: number;
|
|
55
54
|
}
|
|
56
55
|
interface SkyOptions {
|
|
57
|
-
|
|
56
|
+
enabled?: boolean;
|
|
58
57
|
position?: Position;
|
|
59
58
|
scalar?: number;
|
|
60
59
|
turbidity?: number;
|
|
@@ -66,6 +65,7 @@ interface SkyOptions {
|
|
|
66
65
|
interface ViewportOptions {
|
|
67
66
|
showInfo?: boolean;
|
|
68
67
|
showStats?: boolean;
|
|
68
|
+
showViewHelper?: boolean;
|
|
69
69
|
showGrid?: boolean | GridHelperOptions;
|
|
70
70
|
background?: {
|
|
71
71
|
color?: IColor | null;
|
|
@@ -79,6 +79,7 @@ interface ViewportOptions {
|
|
|
79
79
|
fog?: boolean | FogOptions;
|
|
80
80
|
controls?: ControlsOptions;
|
|
81
81
|
hoverEnabled?: boolean;
|
|
82
|
+
levelEnabled?: boolean;
|
|
82
83
|
closeInfoLog?: boolean;
|
|
83
84
|
closeWarnLog?: boolean;
|
|
84
85
|
useIndexedDB?: boolean;
|
|
@@ -89,12 +90,39 @@ interface ViewportState {
|
|
|
89
90
|
animationTotal: number;
|
|
90
91
|
}
|
|
91
92
|
export interface BloomOptions {
|
|
92
|
-
|
|
93
|
+
enabled?: boolean;
|
|
93
94
|
strength?: number;
|
|
94
95
|
radius?: number;
|
|
95
96
|
threshold?: number;
|
|
96
97
|
}
|
|
97
98
|
export interface SobelOptions {
|
|
98
|
-
|
|
99
|
+
enabled?: boolean;
|
|
100
|
+
}
|
|
101
|
+
export interface SSAOOptions {
|
|
102
|
+
enabled?: boolean;
|
|
103
|
+
distanceScaling?: boolean;
|
|
104
|
+
depthAwareUpsampling?: boolean;
|
|
105
|
+
samples?: number;
|
|
106
|
+
rings?: number;
|
|
107
|
+
worldDistanceThreshold?: number;
|
|
108
|
+
worldDistanceFalloff?: number;
|
|
109
|
+
worldProximityThreshold?: number;
|
|
110
|
+
worldProximityFalloff?: number;
|
|
111
|
+
distanceThreshold?: number;
|
|
112
|
+
distanceFalloff?: number;
|
|
113
|
+
rangeThreshold?: number;
|
|
114
|
+
rangeFalloff?: number;
|
|
115
|
+
minRadiusScale?: number;
|
|
116
|
+
luminanceInfluence?: number;
|
|
117
|
+
radius?: number;
|
|
118
|
+
intensity?: number;
|
|
119
|
+
bias?: number;
|
|
120
|
+
fade?: number;
|
|
121
|
+
color?: IColor;
|
|
122
|
+
resolutionScale?: number;
|
|
123
|
+
}
|
|
124
|
+
export interface ToneMappingOptions {
|
|
125
|
+
type?: 'None' | 'Linear' | 'Reinhard' | 'Cineon' | 'ACESFilmic';
|
|
126
|
+
exposure?: number;
|
|
99
127
|
}
|
|
100
128
|
export { CameraViewpointData, FlyToObjOptions, SurroundOptions, LabelOptions, InternalOptions, SelectModelOptions, EdgeSelectOptions, StrokeSelectOptions, OpacitySelectOptions, HighlightSelectOptions, EmissiveSelectOptions, FogOptions, SkyOptions, ViewportOptions, ViewportState, };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Object3D, Vector3, Euler, BaseEvent, Event } from 'three';
|
|
1
|
+
import { Object3D, Vector3, Euler, BaseEvent, Event, Box3 } from 'three';
|
|
2
2
|
import { Tween } from '@tweenjs/tween.js';
|
|
3
3
|
import { Position, Rotation, Scale, Level, AnimationOptions, Interpolate } from '../Interface';
|
|
4
4
|
interface BaseObject3DInfo {
|
|
@@ -25,6 +25,7 @@ declare class BaseObject3D<E extends BaseEvent = Event> extends Object3D<E> {
|
|
|
25
25
|
setScale(scale: Scale | Vector3, options?: AnimationOptions, onUpdate?: (source: Scale, tween: Tween<Scale>) => void, onStart?: (tween: Tween<Scale>) => void): Promise<void>;
|
|
26
26
|
sClone<T extends BaseObject3D>(recursive?: boolean): T;
|
|
27
27
|
sCopy<T extends BaseObject3D>(source: BaseObject3D, recursive?: boolean): T;
|
|
28
|
+
getBoundingBox(): Box3;
|
|
28
29
|
getSpaceAttribute(isFromWorld?: boolean): {
|
|
29
30
|
position: Vector3;
|
|
30
31
|
rotation: Euler;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { IColor } from '../Interface';
|
|
2
2
|
import { BaseMesh, BaseMeshInfo } from './BaseMesh';
|
|
3
|
+
import { GradientTextureOptions } from '../Shared';
|
|
3
4
|
interface CircleInfo extends BaseMeshInfo {
|
|
4
5
|
radius?: number;
|
|
5
6
|
color?: IColor;
|
|
6
7
|
opacity?: number;
|
|
8
|
+
gradient?: GradientTextureOptions;
|
|
7
9
|
}
|
|
8
10
|
declare type SetOptionsCircleInfo = Omit<CircleInfo, 'id'>;
|
|
9
11
|
declare class Circle extends BaseMesh {
|
package/types/Library/Line.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { GradientTextureOptions } from '../Shared';
|
|
1
2
|
import { Position, IColor } from '../Interface';
|
|
2
3
|
import { BaseMesh, BaseMeshInfo } from './BaseMesh';
|
|
3
4
|
interface LineInfo extends BaseMeshInfo {
|
|
@@ -5,6 +6,7 @@ interface LineInfo extends BaseMeshInfo {
|
|
|
5
6
|
width?: number;
|
|
6
7
|
color?: IColor;
|
|
7
8
|
opacity?: number;
|
|
9
|
+
gradient?: GradientTextureOptions;
|
|
8
10
|
}
|
|
9
11
|
declare type SetOptionsLineInfo = Omit<LineInfo, 'id'>;
|
|
10
12
|
declare class Line extends BaseMesh {
|
package/types/Library/Model.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Box3 } from 'three';
|
|
2
1
|
import { BaseObject3D, BaseObject3DInfo } from './BaseObject3D';
|
|
3
2
|
import { ObjectEvents, ObjectEventsListener } from '../Interface';
|
|
4
3
|
interface ModelInfo extends BaseObject3DInfo, ObjectEvents<Model> {
|
|
@@ -15,7 +14,6 @@ declare class Model extends BaseObject3D<ObjectEventsListener> implements Object
|
|
|
15
14
|
onDblClick: ((object: Model) => void) | null;
|
|
16
15
|
onRightClick: ((object: Model) => void) | null;
|
|
17
16
|
constructor(param: ModelInnerInfo);
|
|
18
|
-
getBoundingBox(): Box3;
|
|
19
17
|
eventPropagation(): void;
|
|
20
18
|
setEnvMap(dirPath: string, fileNames?: string[], options?: {
|
|
21
19
|
reflectivity?: number;
|
package/types/Library/Point.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { BaseMesh, BaseMeshInfo } from './BaseMesh';
|
|
2
2
|
import { IColor } from '../Interface';
|
|
3
|
+
import { GradientTextureOptions } from '../Shared';
|
|
3
4
|
interface PointInfo extends BaseMeshInfo {
|
|
4
5
|
radius?: number;
|
|
5
6
|
color?: IColor;
|
|
6
7
|
opacity?: number;
|
|
8
|
+
gradient?: GradientTextureOptions;
|
|
7
9
|
}
|
|
8
10
|
declare type SetOptionsPointInfo = Omit<PointInfo, 'id'>;
|
|
9
11
|
declare class Point extends BaseMesh {
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { IColor, PlaneIVector2 } from '../Interface';
|
|
2
2
|
import { BaseMesh, BaseMeshInfo } from './BaseMesh';
|
|
3
|
+
import { GradientTextureOptions } from '../Shared';
|
|
3
4
|
interface PolygonInfo extends BaseMeshInfo {
|
|
4
5
|
yHeight: number;
|
|
5
6
|
points: PlaneIVector2[];
|
|
6
7
|
color?: IColor;
|
|
7
8
|
opacity?: number;
|
|
9
|
+
gradient?: GradientTextureOptions;
|
|
8
10
|
}
|
|
9
11
|
declare type SetOptionsPolygonInfo = Omit<PolygonInfo, 'id'>;
|
|
10
12
|
declare class Polygon extends BaseMesh {
|
package/types/Library/Sbm.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Box3 } from 'three';
|
|
2
1
|
import { BaseObject3D, BaseObject3DInfo } from './BaseObject3D';
|
|
3
2
|
import { ObjectEvents, ObjectEventsListener } from '../Interface';
|
|
4
3
|
interface SbmInfo extends BaseObject3DInfo, ObjectEvents<Sbm> {
|
|
@@ -12,7 +11,6 @@ declare class Sbm extends BaseObject3D<ObjectEventsListener> implements ObjectEv
|
|
|
12
11
|
onDblClick: ((object: Sbm) => void) | null;
|
|
13
12
|
onRightClick: ((object: Sbm) => void) | null;
|
|
14
13
|
constructor(param: SbmInfo);
|
|
15
|
-
getBoundingBox(): Box3;
|
|
16
14
|
eventPropagation(): void;
|
|
17
15
|
setEnvMap(dirPath: string, fileNames?: string[], options?: {
|
|
18
16
|
reflectivity?: number;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import { Material } from 'three';
|
|
3
|
+
export interface TexturesIndexes {
|
|
4
|
+
name: string;
|
|
5
|
+
base_map: string;
|
|
6
|
+
nor_map: string;
|
|
7
|
+
color: {
|
|
8
|
+
r: number;
|
|
9
|
+
g: number;
|
|
10
|
+
b: number;
|
|
11
|
+
a: number;
|
|
12
|
+
};
|
|
13
|
+
metallic: number;
|
|
14
|
+
roughness: number;
|
|
15
|
+
alphamode: number;
|
|
16
|
+
use_list: string[];
|
|
17
|
+
}
|
|
18
|
+
export interface MaterialsMapValue {
|
|
19
|
+
material: Material;
|
|
20
|
+
materialIndex: number;
|
|
21
|
+
}
|
|
22
|
+
declare class DatLoader extends THREE.Loader {
|
|
23
|
+
loadedTextures: Set<string>;
|
|
24
|
+
loadedMaterialsMap: Map<string, MaterialsMapValue>;
|
|
25
|
+
loadedMaterials: THREE.Material[];
|
|
26
|
+
constructor();
|
|
27
|
+
/**
|
|
28
|
+
*
|
|
29
|
+
* @param buffer
|
|
30
|
+
* @param path
|
|
31
|
+
*/
|
|
32
|
+
parseAsync(buffer: ArrayBuffer, path: string): Promise<THREE.Mesh<THREE.BufferGeometry, THREE.Material[]>>;
|
|
33
|
+
private _createMeshByStream;
|
|
34
|
+
/**
|
|
35
|
+
* 创建 material
|
|
36
|
+
* @param path
|
|
37
|
+
* @returns
|
|
38
|
+
*/
|
|
39
|
+
private _createMaterial;
|
|
40
|
+
}
|
|
41
|
+
export { DatLoader, };
|
|
42
|
+
export interface SubMesh {
|
|
43
|
+
start: number;
|
|
44
|
+
count: number;
|
|
45
|
+
uuid: string;
|
|
46
|
+
alphaMode: number;
|
|
47
|
+
}
|
|
48
|
+
export interface ChunkInfo {
|
|
49
|
+
position: Float32Array;
|
|
50
|
+
normal: Int8Array;
|
|
51
|
+
color: Uint8Array;
|
|
52
|
+
texcoord: Float32Array;
|
|
53
|
+
indice: Uint32Array;
|
|
54
|
+
sub_mesh: SubMesh[];
|
|
55
|
+
}
|
|
56
|
+
export declare const parseChunk: (arraybuffer: ArrayBuffer) => {
|
|
57
|
+
position: Float32Array;
|
|
58
|
+
normal: Int8Array;
|
|
59
|
+
color: Uint8Array;
|
|
60
|
+
texcoord: Float32Array;
|
|
61
|
+
indice: Uint32Array;
|
|
62
|
+
sub_mesh: {
|
|
63
|
+
start: number;
|
|
64
|
+
count: number;
|
|
65
|
+
uuid: string;
|
|
66
|
+
alphaMode: number;
|
|
67
|
+
}[];
|
|
68
|
+
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import * as THREE from 'three';
|
|
2
|
+
import { Material } from 'three';
|
|
3
|
+
export interface SubMesh {
|
|
4
|
+
start: number;
|
|
5
|
+
count: number;
|
|
6
|
+
uuid: string;
|
|
7
|
+
alphaMode: number;
|
|
8
|
+
}
|
|
9
|
+
export interface ChunkInfo<T = number> {
|
|
10
|
+
position: ArrayLike<T>;
|
|
11
|
+
normal: ArrayLike<T>;
|
|
12
|
+
color: ArrayLike<T>;
|
|
13
|
+
texcoord: ArrayLike<T>;
|
|
14
|
+
indice: ArrayLike<T>;
|
|
15
|
+
sub_mesh: SubMesh[];
|
|
16
|
+
}
|
|
17
|
+
export interface TexturesIndexes {
|
|
18
|
+
name: string;
|
|
19
|
+
base_map: string;
|
|
20
|
+
nor_map: string;
|
|
21
|
+
color: {
|
|
22
|
+
r: number;
|
|
23
|
+
g: number;
|
|
24
|
+
b: number;
|
|
25
|
+
a: number;
|
|
26
|
+
};
|
|
27
|
+
metallic: number;
|
|
28
|
+
roughness: number;
|
|
29
|
+
alphamode: number;
|
|
30
|
+
use_list: string[];
|
|
31
|
+
}
|
|
32
|
+
export interface MaterialsMapValue {
|
|
33
|
+
material: Material;
|
|
34
|
+
materialIndex: number;
|
|
35
|
+
}
|
|
36
|
+
declare class DatLoader extends THREE.Loader {
|
|
37
|
+
loadedTextures: Set<string>;
|
|
38
|
+
loadedMaterialsMap: Map<string, MaterialsMapValue>;
|
|
39
|
+
loadedMaterials: THREE.Material[];
|
|
40
|
+
dracoDecoderPath: string | null;
|
|
41
|
+
workerPool: any;
|
|
42
|
+
workerSourceURL: string;
|
|
43
|
+
constructor();
|
|
44
|
+
/**
|
|
45
|
+
*
|
|
46
|
+
* @param buffer
|
|
47
|
+
* @param path
|
|
48
|
+
*/
|
|
49
|
+
parseAsync(buffer: ArrayBuffer, path: string): Promise<THREE.Mesh<THREE.BufferGeometry, THREE.Material[]> | undefined>;
|
|
50
|
+
private _initWorkerCreator;
|
|
51
|
+
private _createMeshByStream;
|
|
52
|
+
/**
|
|
53
|
+
* 创建 material
|
|
54
|
+
* @param path
|
|
55
|
+
* @returns
|
|
56
|
+
*/
|
|
57
|
+
private _createMaterial;
|
|
58
|
+
}
|
|
59
|
+
export { DatLoader, };
|