soonspacejs 2.11.71 → 2.12.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "soonspacejs",
3
- "version": "2.11.71",
3
+ "version": "2.12.0",
4
4
  "homepage": "https://www.xwbuilders.com/soonspacejs/",
5
5
  "description": "soonspacejs 2.x",
6
6
  "module": "./dist/index.esm.js",
@@ -27,8 +27,8 @@
27
27
  "license": "UNLICENSED",
28
28
  "peerDependencies": {
29
29
  "camera-controls": ">=2.9.0",
30
- "three": ">=0.169.0",
31
- "three-mesh-bvh": ">=0.7.6"
30
+ "three": ">=0.172.0",
31
+ "three-mesh-bvh": ">=0.8.3"
32
32
  },
33
- "gitHead": "5baf7b852185a264678d38a3b40739c5308beded"
33
+ "gitHead": "24bd48245224b4fabb712d9ef722fa61700dfca8"
34
34
  }
@@ -0,0 +1,19 @@
1
+ import { Group, Light, Object3D } from 'three';
2
+ import { BaseObject3D, Canvas3D, Decal, Model, PluginObject, Poi, PoiNode, Topology } from '../Library';
3
+ declare class ObjectsCache {
4
+ objects: Map<BaseObject3D['sid'], Object3D>;
5
+ classified: {
6
+ Group: Set<Group<import("three").Object3DEventMap>>;
7
+ Light: Set<Light<import("three").LightShadow<import("three").Camera> | undefined>>;
8
+ Model: Set<Model>;
9
+ Poi: Set<Poi>;
10
+ PoiNode: Set<PoiNode>;
11
+ Canvas3D: Set<Canvas3D>;
12
+ Topology: Set<Topology>;
13
+ Helper: Set<Object3D<import("three").Object3DEventMap>>;
14
+ Decal: Set<Decal>;
15
+ PluginObject: Set<PluginObject>;
16
+ };
17
+ dispose(): void;
18
+ }
19
+ export { ObjectsCache, };
@@ -0,0 +1 @@
1
+ export { ObjectsCache, } from './ObjectsCache';
@@ -11,4 +11,4 @@ declare class Controls extends CameraControls {
11
11
  constructor(viewport: Viewport);
12
12
  setOptions(options: ControlsOptions): void;
13
13
  }
14
- export { Controls, };
14
+ export default Controls;
@@ -1,22 +1,7 @@
1
- import { Box3, DirectionalLight, HemisphereLight, SpotLight, PointLight, RectAreaLight, Object3D, Light } from 'three';
1
+ import { Box3, DirectionalLight, HemisphereLight, SpotLight, PointLight, RectAreaLight } from 'three';
2
2
  import { BaseObjectInfo, IColor, IVector2, Position, Rotation, Scale } from './base';
3
- import { BaseObject3D, Canvas3D, Group, Model, ModelInfo, PluginObject, Poi, PoiInfo, PoiNode, Topology, Decal } from '../Library';
3
+ import { BaseObject3D, ModelInfo, PoiInfo } from '../Library';
4
4
  import { AnimationOptions } from './animation';
5
- export type ManageCache = {
6
- objects: Map<BaseObject3D['sid'], Object3D>;
7
- classified: {
8
- Group: Set<Group>;
9
- Light: Set<Light>;
10
- Model: Set<Model>;
11
- Poi: Set<Poi>;
12
- PoiNode: Set<PoiNode>;
13
- Canvas3D: Set<Canvas3D>;
14
- Topology: Set<Topology>;
15
- Helper: Set<Object3D>;
16
- Decal: Set<Decal>;
17
- PluginObject: Set<PluginObject>;
18
- };
19
- };
20
5
  interface UserDataPropertyFindFunc<T = BaseObject3D['userData']> {
21
6
  (userData: T): T;
22
7
  }
@@ -10,6 +10,9 @@ interface PoiNodeInfo extends BaseObject3DInfo {
10
10
  onChange?: (visible: boolean) => void;
11
11
  scaleFixed?: ScaleFixed | null;
12
12
  }
13
+ export declare function isPoiNode2D(type: PoiNodeInfo['type']): boolean;
14
+ export declare function isPoiNode25D(type: PoiNodeInfo['type']): boolean;
15
+ export declare function isPoiNode3D(type: PoiNodeInfo['type']): boolean;
13
16
  declare class PoiNode extends BaseObject3D {
14
17
  readonly elementType: PoiNodeInfo['type'];
15
18
  readonly element: PoiNodeInfo['element'];
@@ -2,11 +2,11 @@ import { Object3D } from 'three';
2
2
  import Viewport from '../Viewport';
3
3
  import { Group, GroupInfo, Canvas3D, Canvas3DInfo } from '../Library';
4
4
  import DefaultManage from './DefaultManage';
5
- import { ManageCache } from '../Interface';
5
+ import { ObjectsCache } from '../Cache';
6
6
  declare class Canvas3DManage extends DefaultManage {
7
7
  readonly viewport: Viewport;
8
- readonly cache: ManageCache;
9
- constructor(viewport: Viewport, cache: ManageCache);
8
+ readonly cache: ObjectsCache;
9
+ constructor(viewport: Viewport, cache: ObjectsCache);
10
10
  create(info: Canvas3DInfo, parent?: Object3D | null): Canvas3D;
11
11
  createToGroup(groupInfo: GroupInfo, canvas3DInfo: Canvas3DInfo[]): Group;
12
12
  addForGroup(group: Group | null, canvas3DInfo: Canvas3DInfo[]): Group | null;
@@ -1,12 +1,12 @@
1
1
  import { Object3D } from 'three';
2
2
  import Viewport from '../Viewport';
3
3
  import DefaultManage from './DefaultManage';
4
- import { ManageCache } from '../Interface';
4
+ import { ObjectsCache } from '../Cache';
5
5
  import { Decal, DecalGeometryInfo, DecalInfo } from '../Library';
6
6
  declare class DecalManage extends DefaultManage {
7
7
  readonly viewport: Viewport;
8
- readonly cache: ManageCache;
9
- constructor(viewport: Viewport, cache: ManageCache);
8
+ readonly cache: ObjectsCache;
9
+ constructor(viewport: Viewport, cache: ObjectsCache);
10
10
  /**
11
11
  * 创建贴花
12
12
  */
@@ -1,9 +1,9 @@
1
- import { ManageCache } from '../Interface';
1
+ import { ObjectsCache } from '../Cache';
2
2
  import Viewport from '../Viewport';
3
3
  import DefaultManage from './DefaultManage';
4
4
  declare class GroupManage extends DefaultManage {
5
5
  readonly viewport: Viewport;
6
- readonly cache: ManageCache;
7
- constructor(viewport: Viewport, cache: ManageCache);
6
+ readonly cache: ObjectsCache;
7
+ constructor(viewport: Viewport, cache: ObjectsCache);
8
8
  }
9
9
  export default GroupManage;
@@ -2,12 +2,13 @@ import Viewport from '../Viewport';
2
2
  import DefaultManage from './DefaultManage';
3
3
  import { GridHelper, AxesHelper, Box3Helper, DirectionalLightHelper, HemisphereLightHelper, SpotLightHelper, PointLightHelper } from 'three';
4
4
  import { RectAreaLightHelper } from 'three/examples/jsm/helpers/RectAreaLightHelper.js';
5
- import { GridHelperOptions, AxesHelperOptions, BoxHelperOptions, PlaneHelperOptions, GroundHelperOptions, DirectionalLightHelperOptions, HemisphereLightHelperOptions, SpotLightHelperOptions, PointLightHelperOptions, RectAreaLightHelperOptions, ManageCache } from '../Interface';
5
+ import { GridHelperOptions, AxesHelperOptions, BoxHelperOptions, PlaneHelperOptions, GroundHelperOptions, DirectionalLightHelperOptions, HemisphereLightHelperOptions, SpotLightHelperOptions, PointLightHelperOptions, RectAreaLightHelperOptions } from '../Interface';
6
6
  import { BaseMesh, Ground } from '../Library';
7
+ import { ObjectsCache } from '../Cache';
7
8
  declare class HelperManage extends DefaultManage {
8
9
  readonly viewport: Viewport;
9
- readonly cache: ManageCache;
10
- constructor(viewport: Viewport, cache: ManageCache);
10
+ readonly cache: ObjectsCache;
11
+ constructor(viewport: Viewport, cache: ObjectsCache);
11
12
  addGridHelper(options: GridHelperOptions): GridHelper;
12
13
  addAxesHelper(options: AxesHelperOptions): AxesHelper;
13
14
  addBoxHelper(options: BoxHelperOptions): Box3Helper;
@@ -1,11 +1,12 @@
1
1
  import { AmbientLight, DirectionalLight, HemisphereLight, SpotLight, PointLight, RectAreaLight } from 'three';
2
2
  import DefaultManage from './DefaultManage';
3
3
  import Viewport from '../Viewport';
4
- import { AmbientLightOptions, DirectionalLightOptions, HemisphereLightOptions, SpotLightOptions, PointLightOptions, RectAreaLightOptions, ManageCache } from '../Interface';
4
+ import { AmbientLightOptions, DirectionalLightOptions, HemisphereLightOptions, SpotLightOptions, PointLightOptions, RectAreaLightOptions } from '../Interface';
5
+ import { ObjectsCache } from '../Cache';
5
6
  declare class LightManage extends DefaultManage {
6
7
  readonly viewport: Viewport;
7
- readonly cache: ManageCache;
8
- constructor(viewport: Viewport, cache: ManageCache);
8
+ readonly cache: ObjectsCache;
9
+ constructor(viewport: Viewport, cache: ObjectsCache);
9
10
  createAmbientLight(options: AmbientLightOptions): AmbientLight;
10
11
  setAmbientLight(light: AmbientLight | null, options: AmbientLightOptions): boolean;
11
12
  createDirectionalLight(options: DirectionalLightOptions): DirectionalLight;
@@ -6,11 +6,12 @@ import { FBXLoader } from '../Loader/FBXLoader.js';
6
6
  import { OBJLoader } from '../Loader/OBJLoader.js';
7
7
  import Viewport from '../Viewport';
8
8
  import { Group, GroupInfo, Model, ModelInfo } from '../Library';
9
- import { CloneModelInfo, ManageCache } from '../Interface';
9
+ import { CloneModelInfo } from '../Interface';
10
+ import { ObjectsCache } from '../Cache';
10
11
  import DefaultManage from './DefaultManage';
11
12
  declare class ModelManage extends DefaultManage {
12
13
  readonly viewport: Viewport;
13
- readonly cache: ManageCache;
14
+ readonly cache: ObjectsCache;
14
15
  /**
15
16
  * 场景是否卸载
16
17
  */
@@ -28,7 +29,7 @@ declare class ModelManage extends DefaultManage {
28
29
  fbxLoader: FBXLoader;
29
30
  objLoader: OBJLoader;
30
31
  stlLoader: STLLoader;
31
- constructor(viewport: Viewport, cache: ManageCache);
32
+ constructor(viewport: Viewport, cache: ObjectsCache);
32
33
  /**
33
34
  * 设置 draco path
34
35
  * @param path
@@ -2,11 +2,11 @@ import { Object3D } from 'three';
2
2
  import DefaultManage from './DefaultManage';
3
3
  import { PluginObject, PluginObjectInfo } from '../Library';
4
4
  import Viewport from '../Viewport';
5
- import { ManageCache } from '../Interface';
5
+ import { ObjectsCache } from '../Cache';
6
6
  declare class PluginManage extends DefaultManage {
7
7
  readonly viewport: Viewport;
8
- readonly cache: ManageCache;
9
- constructor(viewport: Viewport, cache: ManageCache);
8
+ readonly cache: ObjectsCache;
9
+ constructor(viewport: Viewport, cache: ObjectsCache);
10
10
  createObject(info: PluginObjectInfo, object?: Object3D): PluginObject;
11
11
  addToObject(pluginObject: PluginObject | null, object: Object3D): PluginObject | null;
12
12
  }
@@ -1,13 +1,14 @@
1
1
  import { SpriteMaterial, Texture, CanvasTexture, Object3D, MeshBasicMaterial, Mesh } from 'three';
2
2
  import DefaultManage from './DefaultManage';
3
3
  import { Poi, PoiInfo, Group, GroupInfo, Icon, NameCanvasInfo } from '../Library';
4
- import { ClonePoiInfo, ManageCache, PoiType } from '../Interface';
4
+ import { ClonePoiInfo, PoiType } from '../Interface';
5
5
  import Viewport from '../Viewport';
6
+ import { ObjectsCache } from '../Cache';
6
7
  declare class PoiManage extends DefaultManage {
7
8
  readonly viewport: Viewport;
8
- readonly cache: ManageCache;
9
+ readonly cache: ObjectsCache;
9
10
  textures: Map<string, Texture>;
10
- constructor(viewport: Viewport, cache: ManageCache);
11
+ constructor(viewport: Viewport, cache: ObjectsCache);
11
12
  _createIcon(info: PoiInfo): Mesh<import("three").BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").Object3DEventMap> | Icon;
12
13
  _createIconMaterial({ url, type, }: PoiInfo): MeshBasicMaterial | SpriteMaterial | undefined;
13
14
  _createText(info: PoiInfo): Mesh<import("three").BufferGeometry<import("three").NormalBufferAttributes>, import("three").Material | import("three").Material[], import("three").Object3DEventMap> | Icon;
@@ -1,11 +1,11 @@
1
1
  import DefaultManage from './DefaultManage';
2
2
  import Viewport from '../Viewport';
3
3
  import { PoiNode, PoiNodeInfo, Group, GroupInfo } from '../Library';
4
- import { ManageCache } from '../Interface';
4
+ import { ObjectsCache } from '../Cache';
5
5
  declare class PoiNodeManage extends DefaultManage {
6
6
  readonly viewport: Viewport;
7
- readonly cache: ManageCache;
8
- constructor(viewport: Viewport, cache: ManageCache);
7
+ readonly cache: ObjectsCache;
8
+ constructor(viewport: Viewport, cache: ObjectsCache);
9
9
  create(info: PoiNodeInfo): PoiNode;
10
10
  createToGroup(groupInfo: GroupInfo, poiNodeInfo: PoiNodeInfo[]): Group;
11
11
  addForGroup(group: Group | null, poiNodeInfo: PoiNodeInfo[]): Group | null;
@@ -1,15 +1,16 @@
1
1
  import DefaultManage from './DefaultManage';
2
2
  import { Group, GroupInfo, Topology, Node, TopologyInfo } from '../Library';
3
- import { TopologyInfoForGml, ShortestPathInfo, ShortestPathByMultipleStartPoints, ShortestPathByMultipleEndPoints, TopologyNodeInfo, TopologyInnerNodeInfo, Position, TopologyPassableInfo, ManageCache } from '../Interface';
3
+ import { TopologyInfoForGml, ShortestPathInfo, ShortestPathByMultipleStartPoints, ShortestPathByMultipleEndPoints, TopologyNodeInfo, TopologyInnerNodeInfo, Position, TopologyPassableInfo } from '../Interface';
4
4
  import Viewport from '../Viewport';
5
5
  import { Dijkstras } from '../Math/dijkstra';
6
6
  import { DijkstraWorker } from '../Math/dijkstra/DijkstraWorker';
7
+ import { ObjectsCache } from '../Cache';
7
8
  declare class TopologyManage extends DefaultManage {
8
9
  readonly viewport: Viewport;
9
- readonly cache: ManageCache;
10
+ readonly cache: ObjectsCache;
10
11
  dijkstra: Dijkstras;
11
12
  dijkstraWorker: DijkstraWorker;
12
- constructor(viewport: Viewport, cache: ManageCache);
13
+ constructor(viewport: Viewport, cache: ObjectsCache);
13
14
  createFromGml(topologyInfoForGml: TopologyInfoForGml): Promise<Topology>;
14
15
  create(topologyInfo: TopologyInfo): Topology;
15
16
  /**
@@ -11,7 +11,8 @@ import HelperManage from './HelperManage';
11
11
  import PluginObjectManage from './PluginObjectManage';
12
12
  import GroupManage from './GroupManage';
13
13
  import DecalManage from './DecalManage';
14
- import { ManageCache, UserDataPropertyFindFunc } from '../Interface';
14
+ import { UserDataPropertyFindFunc } from '../Interface';
15
+ import { ObjectsCache } from '../Cache';
15
16
  interface ManagerStore {
16
17
  groupManager: GroupManage;
17
18
  lightManager: LightManage;
@@ -26,10 +27,10 @@ interface ManagerStore {
26
27
  }
27
28
  declare class Manager {
28
29
  readonly viewport: Viewport;
30
+ readonly cache: ObjectsCache;
29
31
  readonly scene: import("three").Scene;
30
- readonly cache: ManageCache;
31
32
  readonly store: ManagerStore;
32
- constructor(viewport: Viewport);
33
+ constructor(viewport: Viewport, cache: ObjectsCache);
33
34
  /**
34
35
  * level update
35
36
  * @returns
@@ -1,5 +1,7 @@
1
- import { Camera, Object3D, Scene } from 'three';
1
+ import { Camera, Object3D } from 'three';
2
+ import { ObjectsCache } from '../Cache';
2
3
  import Viewport from '../Viewport';
4
+ type PoiNodeSet = ObjectsCache['classified']['PoiNode'];
3
5
  declare class CSS2DObject extends Object3D {
4
6
  isCSS2DObject: boolean;
5
7
  element: HTMLElement;
@@ -16,7 +18,7 @@ declare class CSS2DRenderer {
16
18
  width: number;
17
19
  height: number;
18
20
  };
19
- render: (scene: Scene, camera: Camera) => void;
21
+ render: (poiNodeSet: PoiNodeSet, camera: Camera) => void;
20
22
  setSize: (width: number, height: number) => void;
21
23
  constructor(viewport: Viewport);
22
24
  }
@@ -1,5 +1,7 @@
1
- import { Object3D, OrthographicCamera, PerspectiveCamera, Scene } from 'three';
1
+ import { Object3D, OrthographicCamera, PerspectiveCamera } from 'three';
2
+ import { ObjectsCache } from '../Cache';
2
3
  import Viewport from '../Viewport';
4
+ type PoiNodeSet = ObjectsCache['classified']['PoiNode'];
3
5
  declare class CSS3DObject extends Object3D {
4
6
  isCSS3DObject: boolean;
5
7
  element: HTMLElement;
@@ -19,7 +21,7 @@ declare class CSS3DRenderer {
19
21
  width: number;
20
22
  height: number;
21
23
  };
22
- render: (scene: Scene, camera: PerspectiveCamera | OrthographicCamera) => void;
24
+ render: (poiNodeSet: PoiNodeSet, camera: PerspectiveCamera | OrthographicCamera) => void;
23
25
  setSize: (width: number, height: number) => void;
24
26
  constructor(viewport: Viewport);
25
27
  }
@@ -1,5 +1,5 @@
1
1
  import { Box3, PerspectiveCamera, OrthographicCamera, Vector3, Euler, Object3D } from 'three';
2
- import { Rotation, Position, AnimationOptions, FlyToViewpoint, FlyToObjOptions, SurroundOptions, LabelOptions, CameraViewpointData, CameraViewpointDataLegacy, FlyToOptions, CameraType } from '../Interface';
2
+ import { Rotation, Position, FlyToViewpoint, FlyToObjOptions, SurroundOptions, LabelOptions, CameraViewpointData, CameraViewpointDataLegacy, FlyToOptions, CameraType } from '../Interface';
3
3
  import Viewport from '.';
4
4
  declare class CameraManager {
5
5
  viewport: Viewport;
@@ -25,14 +25,6 @@ declare class CameraManager {
25
25
  setCamera(cameraType: CameraType, viewpoint?: CameraViewpointData, enableTransition?: boolean): Promise<void>;
26
26
  getCameraViewpoint(): CameraViewpointData;
27
27
  setCameraViewpoint(data: CameraViewpointData | CameraViewpointDataLegacy, enableTransition?: boolean): Promise<void>;
28
- /**
29
- * @deprecated
30
- */
31
- moveTo(position: Position, options?: AnimationOptions): Promise<void>;
32
- /**
33
- * @deprecated
34
- */
35
- rotateTo(rotation: Euler, options?: AnimationOptions): Promise<void>;
36
28
  flyTo(position: Position, rotation?: FlyToViewpoint | Rotation | Euler, options?: FlyToOptions): Promise<void>;
37
29
  flyToObj(object: Object3D | Box3, viewpoint?: FlyToViewpoint, options?: FlyToObjOptions): Promise<void>;
38
30
  surroundOnTarget(target: Position, options?: SurroundOptions): Promise<void>;
@@ -2,6 +2,11 @@ import { WebGLRenderer } from 'three';
2
2
  import { CSS2DRenderer, CSS3DRenderer } from '../Renderer';
3
3
  import { InternalOptions } from '../Interface';
4
4
  import Viewport from '.';
5
+ declare module 'three/src/renderers/WebGLRenderer' {
6
+ interface WebGLRenderer {
7
+ autoInstancing: boolean;
8
+ }
9
+ }
5
10
  declare class RendererManager {
6
11
  readonly viewport: Viewport;
7
12
  internalOptions: InternalOptions;
@@ -1,5 +1,5 @@
1
1
  import { Camera, Object3D, WebGLRenderer } from 'three';
2
- import { Controls } from '../Controls';
2
+ import Controls from '../Controls';
3
3
  declare class ViewHelper extends Object3D {
4
4
  camera: Camera;
5
5
  controls: Controls;
@@ -10,18 +10,20 @@ import RendererManager from './RendererManager';
10
10
  import CameraManager from './CameraManager';
11
11
  import EffectManager from './EffectManager';
12
12
  import Bvh from './Bvh';
13
- import { Controls } from '../Controls';
13
+ import Controls from '../Controls';
14
14
  import { Model } from '../Library';
15
15
  import { IColorSpace, SkyOptions, IColor, OffsetPoint, Position, ViewportOptions, ViewportState, ModelAnimationFindFunc, SignalsState, ToneMappingOptions, SSAOOptions, BloomOptions, IntersectsOptions, EnvironmentOptions } from '../Interface';
16
16
  import EventHandler from './EventHandler';
17
17
  import Info from './Info';
18
18
  import { ViewHelper } from './ViewHelper';
19
+ import { ObjectsCache } from '../Cache';
19
20
  export declare const innerRenderState: {
20
21
  needsUpdate: boolean;
21
22
  };
22
23
  declare class Viewport {
23
- options: ViewportOptions;
24
- signals: SignalsState;
24
+ readonly options: ViewportOptions;
25
+ readonly signals: SignalsState;
26
+ readonly cache: ObjectsCache;
25
27
  clock: Clock;
26
28
  raycaster: Raycaster;
27
29
  scene: Scene;
@@ -57,9 +59,10 @@ declare class Viewport {
57
59
  postRender: Map<string | number, () => void>;
58
60
  private _loop;
59
61
  resizeObserver: ResizeObserver;
60
- constructor(options: ViewportOptions, signals: SignalsState);
62
+ constructor(options: ViewportOptions, signals: SignalsState, cache: ObjectsCache);
61
63
  _initInfo(): void;
62
64
  _initStats(): void;
65
+ setAutoInstancing(enabled: boolean): void;
63
66
  /**
64
67
  ***************************** post-processing ***************************
65
68
  */
package/types/index.d.ts CHANGED
@@ -16,8 +16,9 @@ import { PathAnimation, PathAnimationOptions } from './Animation/path-animation'
16
16
  import { CreatePathAnimationOptions, CreatePathAnimationActionForCameraOptions, CreateBonePathAnimationOptions, AnimationPath } from './Animation/createPathAnimation';
17
17
  import * as library from './Library';
18
18
  import { BaseObject3D, Model, ModelInfo, Poi, PoiInfo, PoiNode, PoiNodeInfo, Topology, TopologyInfo, Group, GroupInfo, Canvas3D, Canvas3DInfo, PluginObject, PluginObjectInfo, DecalInfo, Decal, DecalGeometryInfo, PoiMeshInfo, PolygonPoiMeshInfo } from './Library';
19
- import { Controls } from './Controls';
19
+ import { ObjectsCache } from './Cache';
20
20
  import Viewport from './Viewport';
21
+ import Controls from './Controls';
21
22
  import Manager from './Manager';
22
23
  import { BaseObjectInfo, ViewportOptions, SceneGlobalEvents, PluginsConstructor, IColor, Position, Rotation, OffsetPoint, ModelAnimationFindFunc, TopologyNodeInfo, FlyToViewpoint, FlyToOptions, FlyToObjOptions, SurroundOptions, LabelOptions, EdgeSelectOptions, StrokeSelectOptions, OpacitySelectOptions, HighlightSelectOptions, EmissiveSelectOptions, FogOptions, UserDataPropertyFindFunc, AmbientLightOptions, DirectionalLightOptions, HemisphereLightOptions, SpotLightOptions, PointLightOptions, CloneModelInfo, ClonePoiInfo, ShortestPathInfo, ShortestPathByMultipleStartPoints, ShortestPathByMultipleEndPoints, TopologyInfoForGml, GridHelperOptions, AxesHelperOptions, BoxHelperOptions, PlaneHelperOptions, GroundHelperOptions, DirectionalLightHelperOptions, HemisphereLightHelperOptions, SpotLightHelperOptions, PointLightHelperOptions, SignalsState, ControlsOptions, RectAreaLightOptions, RectAreaLightHelperOptions, SkyOptions, IColorSpace, ToneMappingOptions, SSAOOptions, BloomOptions, IVector3, EnvironmentOptions, PluginsConstructorWithOptions, TopologyPassableInfo, CameraViewpointData, CameraViewpointDataLegacy, CameraType } from './Interface';
23
24
  import { BoxSpace, FindObjectsNearPosition, FindNearbyObjects, SetTextureOptions } from './tools';
@@ -74,8 +75,9 @@ declare class SoonSpace {
74
75
  readonly options: InitOptions;
75
76
  readonly domElement: HTMLElement | null;
76
77
  readonly signals: SignalsState;
77
- readonly controls: Controls;
78
+ readonly objectsCache: ObjectsCache;
78
79
  readonly viewport: Viewport;
80
+ readonly controls: Controls;
79
81
  readonly manager: Manager;
80
82
  readonly plugins: Record<string, any>;
81
83
  constructor(params: SoonSpaceConstructor);
@@ -141,10 +143,7 @@ declare class SoonSpace {
141
143
  /******* Viewport methods */
142
144
  /******/
143
145
  /******/
144
- /**
145
- * 设置空间反射
146
- * @param options
147
- */
146
+ setAutoInstancing(enabled: boolean): void;
148
147
  /**
149
148
  * 设置泛光
150
149
  * @param bloom