soonspacejs 2.2.39 → 2.3.3
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 +15 -5
- package/dist/index.js +15 -5
- package/package.json +4 -3
- package/types/Interface/animation.d.ts +1 -0
- package/types/Interface/sbmCache.d.ts +17 -0
- package/types/Interface/signals.d.ts +1 -1
- package/types/Library/BaseMesh.d.ts +2 -2
- package/types/Library/Ground.d.ts +2 -2
- package/types/Loader/SbmLoader/SDataView.d.ts +1 -1
- package/types/Loader/SbmLoader/SbkLoader.d.ts +17 -5
- package/types/Loader/SbmLoader/SbmLoader.d.ts +1 -1
- package/types/Loader/SbmLoader/index.d.ts +2 -1
- package/types/Loader/SbmObjectLoader.d.ts +25 -0
- package/types/Loader/utils/generateSbm.d.ts +13 -0
- package/types/Manager/SbmManage.d.ts +2 -1
- package/types/Renderer/CSS2DHalfRenderer.d.ts +7 -0
- package/types/Renderer/CSS3DRenderer.d.ts +7 -0
- package/types/Viewport/index.d.ts +3 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "soonspacejs",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.3",
|
|
4
4
|
"description": "soonspacejs 2.x",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.esm.js",
|
|
@@ -17,8 +17,9 @@
|
|
|
17
17
|
"@robotlegsjs/signals": "1.1.0",
|
|
18
18
|
"@soonspacejs/xml2json": "0.0.2",
|
|
19
19
|
"@tweenjs/tween.js": "18.6.4",
|
|
20
|
+
"@types/three": "^0.135.0",
|
|
20
21
|
"localforage": "1.9.0",
|
|
21
|
-
"three": "0.
|
|
22
|
+
"three": "^0.136.0"
|
|
22
23
|
},
|
|
23
|
-
"gitHead": "
|
|
24
|
+
"gitHead": "0271a7689dd40a9e706a54b7d374eb4c16cc3c44"
|
|
24
25
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface MaterialsCache {
|
|
2
|
+
[key: string]: {
|
|
3
|
+
materialInfo: number[];
|
|
4
|
+
textureUrl?: string;
|
|
5
|
+
};
|
|
6
|
+
}
|
|
7
|
+
export interface MeshsCache {
|
|
8
|
+
[key: string]: {
|
|
9
|
+
materialId: string;
|
|
10
|
+
position: ArrayBuffer;
|
|
11
|
+
uv: ArrayBuffer;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export interface SbmCache {
|
|
15
|
+
materialsCache: MaterialsCache;
|
|
16
|
+
meshsCache: MeshsCache;
|
|
17
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Box3, Vector3, Euler, Mesh,
|
|
1
|
+
import { Box3, Vector3, Euler, Mesh, BufferGeometry, Material } from 'three';
|
|
2
2
|
import { Position, Rotation, Scale, Level, AnimationOptions } from '../Interface';
|
|
3
3
|
import { BaseObject3DInfo } from './BaseObject3D';
|
|
4
4
|
interface BaseMeshInfo extends BaseObject3DInfo {
|
|
@@ -10,7 +10,7 @@ declare class BaseMesh extends Mesh {
|
|
|
10
10
|
level: Level;
|
|
11
11
|
isEventPropagation: boolean;
|
|
12
12
|
autoUpdate: boolean;
|
|
13
|
-
constructor(geometry:
|
|
13
|
+
constructor(geometry: BufferGeometry, material: Material | Material[], param: BaseMeshInfo, type?: string);
|
|
14
14
|
show(): void;
|
|
15
15
|
hide(): void;
|
|
16
16
|
setMove(position: Position | Vector3, options?: AnimationOptions): Promise<void>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { BaseMesh, BaseMeshInfo } from './BaseMesh';
|
|
2
|
-
import {
|
|
2
|
+
import { BufferGeometry, Material } from 'three';
|
|
3
3
|
interface GroundInfo extends BaseMeshInfo {
|
|
4
4
|
}
|
|
5
5
|
declare class Ground extends BaseMesh {
|
|
6
|
-
constructor(geometry:
|
|
6
|
+
constructor(geometry: BufferGeometry, material: Material, param: GroundInfo);
|
|
7
7
|
}
|
|
8
8
|
export { Ground, GroundInfo };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
declare class SDataView extends DataView {
|
|
2
2
|
appKeys: number[];
|
|
3
3
|
isLE: boolean;
|
|
4
|
-
constructor(buffer: ArrayBuffer, appKeys: number[]
|
|
4
|
+
constructor(buffer: ArrayBuffer, appKeys: number[]);
|
|
5
5
|
byteRevers(byte: number, offset: number): number;
|
|
6
6
|
getSoonUint8(byteOffset: number): number;
|
|
7
7
|
getSoonUint16(byteOffset: number): number;
|
|
@@ -1,36 +1,48 @@
|
|
|
1
1
|
import { Sbm, SbmInfo } from '../../Library';
|
|
2
2
|
import SDataView from './SDataView';
|
|
3
3
|
import { ModelLoadingProgressCallback } from '../../Interface';
|
|
4
|
+
import { SbmCache } from '../../Interface/sbmCache';
|
|
4
5
|
declare class SbkLoader {
|
|
5
6
|
materials: Map<string, any>;
|
|
6
7
|
sbmInfo: SbmInfo | null;
|
|
7
|
-
isLE: boolean;
|
|
8
8
|
constructor();
|
|
9
9
|
/**
|
|
10
10
|
* 加载模型
|
|
11
11
|
* @param sbmInfo 模型信息
|
|
12
12
|
* @param onProgress 模型加载进度回填函数
|
|
13
13
|
*/
|
|
14
|
-
load(sbmInfo: SbmInfo, onProgress?: ModelLoadingProgressCallback): Promise<Sbm
|
|
14
|
+
load(sbmInfo: SbmInfo, onProgress?: ModelLoadingProgressCallback): Promise<Sbm | {
|
|
15
|
+
sbm: Sbm;
|
|
16
|
+
caches: SbmCache;
|
|
17
|
+
}>;
|
|
15
18
|
/**
|
|
16
19
|
* 解析模型
|
|
17
20
|
* @param buffer 模型二进制原数据
|
|
18
21
|
* @param sbmInfo 模型信息
|
|
19
22
|
* @param onProgress 模型加载进度回填函数
|
|
20
23
|
*/
|
|
21
|
-
|
|
24
|
+
parseBuffer(buffer: ArrayBuffer, sbmInfo: SbmInfo, onProgress?: ModelLoadingProgressCallback): Promise<Sbm | {
|
|
25
|
+
sbm: Sbm;
|
|
26
|
+
caches: SbmCache;
|
|
27
|
+
}>;
|
|
22
28
|
/**
|
|
23
29
|
* @param dataView
|
|
24
30
|
* @param offset
|
|
25
31
|
* @param onProgress
|
|
26
32
|
*/
|
|
27
|
-
_parseV2(dataView: SDataView,
|
|
33
|
+
_parseV2(dataView: SDataView, onProgress?: ModelLoadingProgressCallback): Promise<{
|
|
34
|
+
sbm: Sbm;
|
|
35
|
+
caches: SbmCache;
|
|
36
|
+
}>;
|
|
28
37
|
/**
|
|
29
38
|
* @param dataView
|
|
30
39
|
* @param offset
|
|
31
40
|
* @param onProgress
|
|
32
41
|
*/
|
|
33
|
-
_parseV3(dataView: SDataView,
|
|
42
|
+
_parseV3(dataView: SDataView, onProgress?: ModelLoadingProgressCallback): Promise<{
|
|
43
|
+
sbm: Sbm;
|
|
44
|
+
caches: SbmCache;
|
|
45
|
+
}>;
|
|
34
46
|
/**
|
|
35
47
|
* 获取材质贴图路径
|
|
36
48
|
* @param modelUrl 模型资源路径
|
|
@@ -17,7 +17,7 @@ declare class SbmLoader {
|
|
|
17
17
|
* @param sbmInfo 模型信息
|
|
18
18
|
* @param onProgress 模型加载进度回填函数
|
|
19
19
|
*/
|
|
20
|
-
|
|
20
|
+
parseBuffer(buffer: ArrayBuffer, sbmInfo: SbmInfo, onProgress?: ModelLoadingProgressCallback): Promise<Sbm>;
|
|
21
21
|
/**
|
|
22
22
|
* @param dataView
|
|
23
23
|
* @param offset
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Material } from "three";
|
|
2
|
+
import { Sbm, SbmInfo } from "../Library";
|
|
3
|
+
import { SbmCache } from "../Interface/sbmCache";
|
|
4
|
+
declare class SbmObjectLoader {
|
|
5
|
+
materials: Map<string, Material>;
|
|
6
|
+
constructor();
|
|
7
|
+
/**
|
|
8
|
+
* @example
|
|
9
|
+
* {
|
|
10
|
+
* materialsCache: {
|
|
11
|
+
* 0: {textureUrl:'xxx.png', materialInfo: [0,0,0,...]}
|
|
12
|
+
* },
|
|
13
|
+
* meshsCache: {
|
|
14
|
+
* materialId: 0,
|
|
15
|
+
* position: [0,0,0,...],
|
|
16
|
+
* uv: [0,0,0,...],
|
|
17
|
+
* }
|
|
18
|
+
* }
|
|
19
|
+
* @param sbmObject
|
|
20
|
+
* @param sbmInfo
|
|
21
|
+
* @returns
|
|
22
|
+
*/
|
|
23
|
+
parseObject(sbmObject: SbmCache, sbmInfo: SbmInfo): Sbm;
|
|
24
|
+
}
|
|
25
|
+
export default SbmObjectLoader;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Texture, MeshPhongMaterial } from "three";
|
|
2
|
+
/**
|
|
3
|
+
* 生成 sbm 纹理
|
|
4
|
+
* @param url
|
|
5
|
+
*/
|
|
6
|
+
export declare const generateSbmTexture: (textureUrl: string) => Texture;
|
|
7
|
+
/**
|
|
8
|
+
* 生成 sbm 材质
|
|
9
|
+
* @param materialId
|
|
10
|
+
* @param arr
|
|
11
|
+
* @param texture
|
|
12
|
+
*/
|
|
13
|
+
export declare const generateSbmMaterial: (materialId: string, arr: number[], texture: Texture | null) => MeshPhongMaterial;
|
|
@@ -3,13 +3,14 @@ import DefaultManage from './DefaultManage';
|
|
|
3
3
|
import Viewport from '../Viewport';
|
|
4
4
|
import { BaseObject3D, Group, GroupInfo, Sbm, SbmInfo } from '../Library';
|
|
5
5
|
import { CloneSbmInfo, ModelLoadingProgressCallback, GroupProgressCallback } from '../Interface';
|
|
6
|
+
import { SbmCache } from '../Interface/sbmCache';
|
|
6
7
|
declare class SbmManage extends DefaultManage {
|
|
7
8
|
readonly viewport: Viewport;
|
|
8
9
|
modelMaps: Map<string, Sbm>;
|
|
9
10
|
store: typeof localforage;
|
|
10
11
|
constructor(viewport: Viewport);
|
|
11
12
|
load(sbmInfo: SbmInfo, onProgress?: ModelLoadingProgressCallback): Promise<Sbm>;
|
|
12
|
-
parse(data: ArrayBuffer, sbmInfo: SbmInfo, onProgress?: ModelLoadingProgressCallback): Promise<Sbm>;
|
|
13
|
+
parse(data: ArrayBuffer | SbmCache, sbmInfo: SbmInfo, onProgress?: ModelLoadingProgressCallback): Promise<Sbm>;
|
|
13
14
|
clone(model: Sbm, sbmInfo: CloneSbmInfo, parent?: BaseObject3D | null): Promise<Sbm>;
|
|
14
15
|
loadToGroup(groupInfo: GroupInfo, sbmInfoList: SbmInfo[], onProgress?: GroupProgressCallback): Promise<Group>;
|
|
15
16
|
addForGroup(groupId: GroupInfo['id'], sbmInfoList: SbmInfo[], onProgress?: GroupProgressCallback): Promise<Group | null>;
|
|
@@ -11,6 +11,13 @@ declare class CSS2DHalfObject extends Object3D {
|
|
|
11
11
|
declare class CSS2DHalfRenderer {
|
|
12
12
|
domElement: HTMLElement;
|
|
13
13
|
cameraElement: HTMLElement;
|
|
14
|
+
cache: {
|
|
15
|
+
camera: {
|
|
16
|
+
fov: number;
|
|
17
|
+
style: string;
|
|
18
|
+
};
|
|
19
|
+
objects: WeakMap<object, any>;
|
|
20
|
+
};
|
|
14
21
|
constructor(domElement?: HTMLElement, cameraElement?: HTMLElement);
|
|
15
22
|
setSize(width: number, height: number): void;
|
|
16
23
|
renderObject(object: Object3D, scene: Scene, camera: PerspectiveCamera | OrthographicCamera, cameraCSSMatrix: string): void;
|
|
@@ -11,6 +11,13 @@ declare class CSS3DObject extends Object3D {
|
|
|
11
11
|
declare class CSS3DRenderer {
|
|
12
12
|
domElement: HTMLElement;
|
|
13
13
|
cameraElement: HTMLElement;
|
|
14
|
+
cache: {
|
|
15
|
+
camera: {
|
|
16
|
+
fov: number;
|
|
17
|
+
style: string;
|
|
18
|
+
};
|
|
19
|
+
objects: WeakMap<object, any>;
|
|
20
|
+
};
|
|
14
21
|
constructor(domElement?: HTMLElement, cameraElement?: HTMLElement);
|
|
15
22
|
setSize(width: number, height: number): void;
|
|
16
23
|
renderObject(object: Object3D, scene: Scene, camera: PerspectiveCamera | OrthographicCamera, cameraCSSMatrix: string): void;
|
|
@@ -65,12 +65,12 @@ declare class Viewport {
|
|
|
65
65
|
top: number;
|
|
66
66
|
};
|
|
67
67
|
getPositionByOffset(offset: OffsetPoint, z?: number): Vector3;
|
|
68
|
-
getIntersects(event: MouseEvent | TouchEvent | OffsetPoint, objects?: Object3D[]): Intersection[];
|
|
69
|
-
rayClash(startPoint?: Vector3, dir?: Vector3, objects?: Object3D[]): Intersection[];
|
|
68
|
+
getIntersects(event: MouseEvent | TouchEvent | OffsetPoint, objects?: Object3D<import("three").Event>[]): Intersection<Object3D<import("three").Event>>[];
|
|
69
|
+
rayClash(startPoint?: Vector3, dir?: Vector3, objects?: Object3D<import("three").Event>[]): Intersection<Object3D<import("three").Event>>[];
|
|
70
70
|
setHoverEnabled(enabled: boolean): void;
|
|
71
71
|
clearSignals(): void;
|
|
72
72
|
dispose(): Promise<void>;
|
|
73
|
-
|
|
73
|
+
_signalsEventListenr(): void;
|
|
74
74
|
_containerAddEventListener(container: HTMLElement): void;
|
|
75
75
|
/**
|
|
76
76
|
* 触发场景交互事件
|