soonspacejs 3.0.0-alpha.8 → 3.0.0-alpha.9

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": "3.0.0-alpha.8",
3
+ "version": "3.0.0-alpha.9",
4
4
  "homepage": "https://www.xwbuilders.com/soonspacejs/",
5
5
  "description": "SoonSpace.js 3.0 alpha",
6
6
  "module": "./dist/index.esm.js",
@@ -1 +1,4 @@
1
- export declare const FileRequestHeaders: {};
1
+ /** Default headers for SDK-owned HTTP(S) resource requests. */
2
+ export declare const RequestHeaders: Record<string, string>;
3
+ /** Backwards-compatible alias. Both names refer to the same mutable object. */
4
+ export declare const FileRequestHeaders: Record<string, string>;
@@ -43,6 +43,8 @@ export declare class EntityCollection {
43
43
  attach(entity: Entity, object: Object3D): void;
44
44
  detach(entity: Entity, object: Object3D): void;
45
45
  pick(raycaster: Raycaster): EntityHit[];
46
+ /** On-demand source surfaces for drawing/projection. These meshes never enter the scene. */
47
+ pickSurfaces(raycaster: Raycaster): EntityHit[];
46
48
  /** Fresh world bounds from committed transforms, including hidden content. */
47
49
  getBounds(entity: Entity, options?: {
48
50
  includeDescendants?: boolean;
@@ -0,0 +1,24 @@
1
+ import { CubeTextureLoader, FileLoader, ImageLoader, LoadingManager, TextureLoader } from 'three';
2
+ import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js';
3
+ import { DRACOLoader } from 'three/examples/jsm/loaders/DRACOLoader.js';
4
+ import { KTX2Loader } from 'three/examples/jsm/loaders/KTX2Loader.js';
5
+ /** Only SDK-owned instances are adapted; resolve before snapshotting the actual request. */
6
+ export declare function configureRequestLoader<T extends {
7
+ load: any;
8
+ path: string;
9
+ requestHeader: any;
10
+ manager: LoadingManager;
11
+ }>(loader: T): T;
12
+ /** @internal Add parent-local headers only to copies of SDK-adapted handlers. */
13
+ export declare function withRequestHeaders<T extends {
14
+ requestHeader: any;
15
+ }>(loader: T, parentHeaders?: HeadersInit): T;
16
+ export declare function createFileLoader(manager?: LoadingManager): FileLoader;
17
+ export declare function createImageLoader(manager?: LoadingManager): ImageLoader;
18
+ /** @internal Preserve the historical shared imageLoader FileLoader/Blob transport. */
19
+ export declare function createFileImageLoader(manager?: LoadingManager): ImageLoader;
20
+ export declare function createTextureLoader(manager?: LoadingManager): TextureLoader;
21
+ export declare function createCubeTextureLoader(manager?: LoadingManager): CubeTextureLoader;
22
+ export declare function configureGLTFLoader(loader: GLTFLoader): GLTFLoader;
23
+ export declare function configureDRACOLoader(loader: DRACOLoader): DRACOLoader;
24
+ export declare function configureKTX2Loader(loader: KTX2Loader): KTX2Loader;
@@ -1,7 +1,8 @@
1
- import { ImageLoader, TextureLoader } from 'three';
2
1
  import { HDRLoader } from 'three/examples/jsm/loaders/HDRLoader.js';
2
+ export * from './request';
3
+ export { configureRequestLoader, createFileLoader, createImageLoader, createTextureLoader, createCubeTextureLoader, configureGLTFLoader, } from '../Loader/request-loaders';
3
4
  export type FileResponseType = 'json' | 'arraybuffer' | 'blob' | 'document' | 'text';
4
5
  export declare const fetchFile: <T = any>(url: string, responseType: FileResponseType) => Promise<T>;
5
- export declare const imageLoader: ImageLoader;
6
- export declare const textureLoader: TextureLoader;
6
+ export declare const imageLoader: import('three').ImageLoader;
7
+ export declare const textureLoader: import('three').TextureLoader;
7
8
  export declare const rgbeLoader: HDRLoader;
@@ -0,0 +1,4 @@
1
+ /** Snapshot defaults and explicit headers. Explicit names win case-insensitively. */
2
+ export declare function getRequestHeaders(input: string | URL | Request, headers?: HeadersInit): Record<string, string>;
3
+ /** Keep the caller's Request/RequestInit semantics and snapshot at dispatch time. */
4
+ export declare function fetchResource(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;
@@ -127,7 +127,7 @@ declare class Viewport {
127
127
  top: number;
128
128
  };
129
129
  getPositionByOffset(offset: OffsetPoint, z?: number, scalar?: number): Vector3;
130
- getIntersects(event: MouseEvent | TouchEvent | OffsetPoint, objects?: Object3D<import('three').Object3DEventMap>[], options?: IntersectsOptions): Intersection<Object3D<import('three').Object3DEventMap>>[];
130
+ getIntersects(event: MouseEvent | TouchEvent | OffsetPoint, objects?: Object3D | Object3D[], options?: IntersectsOptions): Intersection<Object3D<import('three').Object3DEventMap>>[];
131
131
  rayClash(startPoint?: Vector3, dir?: Vector3, objects?: Mesh<import('three').BufferGeometry<import('three').NormalBufferAttributes, import('three').BufferGeometryEventMap>, Material<import('three').MaterialEventMap> | Material<import('three').MaterialEventMap>[], import('three').Object3DEventMap>[]): Intersection<Object3D<import('three').Object3DEventMap>>[];
132
132
  clearSignals(): void;
133
133
  /**
package/types/index.d.ts CHANGED
@@ -14,6 +14,7 @@ import { Camera } from 'three';
14
14
  import { CanvasTexture } from 'three';
15
15
  import { ColorRepresentation } from 'three';
16
16
  import { CubeTexture } from 'three';
17
+ import { CubeTextureLoader } from 'three';
17
18
  import { Curve } from 'three';
18
19
  import type { CurvePath } from 'three';
19
20
  import { DataTexture } from 'three';
@@ -29,6 +30,7 @@ import type { EulerOrder } from 'three';
29
30
  import { Event as Event_2 } from 'three';
30
31
  import { EventDispatcher } from 'three';
31
32
  import { EventListener as EventListener_2 } from 'three';
33
+ import { FileLoader } from 'three';
32
34
  import { GLTFExporterOptions } from 'three/examples/jsm/exporters/GLTFExporter.js';
33
35
  import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader.js';
34
36
  import { GridHelper } from 'three';
@@ -1274,6 +1276,16 @@ export declare type ClonePoiInfo = Omit<PoiInfo, 'url' | 'type'>;
1274
1276
  */
1275
1277
  declare function computeTargetByRotation(position: IVector3, rotation: Rotation, scalar?: number): Vector3;
1276
1278
 
1279
+ declare function configureGLTFLoader(loader: GLTFLoader): GLTFLoader;
1280
+
1281
+ /** Only SDK-owned instances are adapted; resolve before snapshotting the actual request. */
1282
+ declare function configureRequestLoader<T extends {
1283
+ load: any;
1284
+ path: string;
1285
+ requestHeader: any;
1286
+ manager: LoadingManager;
1287
+ }>(loader: T): T;
1288
+
1277
1289
  /**
1278
1290
  * 以等分链的方式配置几何体的顶点权重
1279
1291
  * @param options - 选项
@@ -1586,6 +1598,8 @@ export declare interface CreateChainSkinnedMeshForMeshOptions_Base {
1586
1598
  skeleton: Skeleton;
1587
1599
  }
1588
1600
 
1601
+ declare function createCubeTextureLoader(manager?: LoadingManager): CubeTextureLoader;
1602
+
1589
1603
  export declare function createCurveAnimationClip(options: CreateCurveAnimationClipByCurveOptions): CreateCurveAnimationClipReturn;
1590
1604
 
1591
1605
  export declare function createCurveAnimationClip(options: CreateCurveAnimationClipByPolylineOptions): CreateCurveAnimationClipReturn;
@@ -1694,6 +1708,8 @@ export declare interface CreateCurveAnimationClipReturn {
1694
1708
  */
1695
1709
  export declare function createEqualChainBones(boneOpts: EqualChainBoneOptions): Bone[];
1696
1710
 
1711
+ declare function createFileLoader(manager?: LoadingManager): FileLoader;
1712
+
1697
1713
  /**
1698
1714
  * 创建 查找位置附近的 box 空间范围内的物体
1699
1715
  * @param boxSpace - 描述查找空间的信息对象
@@ -1727,6 +1743,8 @@ export declare function createFindObjectsNearPath(points: Vector3[], radius: num
1727
1743
  */
1728
1744
  export declare function createGuiAnimationController(action: AnimationAction): GuiAnimationController;
1729
1745
 
1746
+ declare function createImageLoader(manager?: LoadingManager): ImageLoader;
1747
+
1730
1748
  /**
1731
1749
  * createKeyframeTracksOfCurveAnimationByPolyline 的选项
1732
1750
  */
@@ -1831,6 +1849,8 @@ export declare function createPlaneMatrix(points: Vector3[]): Matrix3;
1831
1849
 
1832
1850
  export declare function createTexture(image: string | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement, cache?: boolean, textureCache?: Map<string, Texture>): Texture<unknown, TextureEventMap>;
1833
1851
 
1852
+ declare function createTextureLoader(manager?: LoadingManager): TextureLoader;
1853
+
1834
1854
  /**
1835
1855
  * 创建 uv 变换矩阵
1836
1856
  * @remarks
@@ -2188,6 +2208,8 @@ export declare class EntityCollection {
2188
2208
  attach(entity: Entity, object: Object3D): void;
2189
2209
  detach(entity: Entity, object: Object3D): void;
2190
2210
  pick(raycaster: Raycaster): EntityHit[];
2211
+ /** On-demand source surfaces for drawing/projection. These meshes never enter the scene. */
2212
+ pickSurfaces(raycaster: Raycaster): EntityHit[];
2191
2213
  /** Fresh world bounds from committed transforms, including hidden content. */
2192
2214
  getBounds(entity: Entity, options?: {
2193
2215
  includeDescendants?: boolean;
@@ -2315,7 +2337,11 @@ declare class FBXLoader extends Loader<any, string> {
2315
2337
 
2316
2338
  declare const fetchFile: <T = any>(url: string, responseType: FileResponseType) => Promise<T>;
2317
2339
 
2318
- export declare const FileRequestHeaders: {};
2340
+ /** Keep the caller's Request/RequestInit semantics and snapshot at dispatch time. */
2341
+ declare function fetchResource(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;
2342
+
2343
+ /** Backwards-compatible alias. Both names refer to the same mutable object. */
2344
+ export declare const FileRequestHeaders: Record<string, string>;
2319
2345
 
2320
2346
  declare type FileResponseType = 'json' | 'arraybuffer' | 'blob' | 'document' | 'text';
2321
2347
 
@@ -2666,6 +2692,9 @@ export declare function getPolygonGeometryInfo(points: Vector3[]): {
2666
2692
  position: Vector3;
2667
2693
  };
2668
2694
 
2695
+ /** Snapshot defaults and explicit headers. Explicit names win case-insensitively. */
2696
+ declare function getRequestHeaders(input: string | URL | Request, headers?: HeadersInit): Record<string, string>;
2697
+
2669
2698
  /**
2670
2699
  * 获取根骨骼
2671
2700
  * @remarks
@@ -4231,6 +4260,9 @@ declare class RendererManager {
4231
4260
  */
4232
4261
  export declare function renderLoop(frameFun: (time: DOMHighResTimeStamp) => void): () => void;
4233
4262
 
4263
+ /** Default headers for SDK-owned HTTP(S) resource requests. */
4264
+ export declare const RequestHeaders: Record<string, string>;
4265
+
4234
4266
  export declare class ResourceLease<T> {
4235
4267
  readonly registry: ModelResources;
4236
4268
  private record;
@@ -4490,11 +4522,19 @@ declare namespace shared {
4490
4522
  cloneDeep,
4491
4523
  cloneMaterials,
4492
4524
  disposeMaterials,
4525
+ configureRequestLoader,
4526
+ createFileLoader,
4527
+ createImageLoader,
4528
+ createTextureLoader,
4529
+ createCubeTextureLoader,
4530
+ configureGLTFLoader,
4493
4531
  FileResponseType,
4494
4532
  fetchFile,
4495
4533
  imageLoader,
4496
4534
  textureLoader,
4497
4535
  rgbeLoader,
4536
+ getRequestHeaders,
4537
+ fetchResource,
4498
4538
  isObjectBehindCamera,
4499
4539
  isObjectOccludeVisible,
4500
4540
  poiNodeOccludeHandler,
@@ -6740,7 +6780,7 @@ declare class Viewport {
6740
6780
  top: number;
6741
6781
  };
6742
6782
  getPositionByOffset(offset: OffsetPoint, z?: number, scalar?: number): Vector3;
6743
- getIntersects(event: MouseEvent | TouchEvent | OffsetPoint, objects?: Object3D<Object3DEventMap>[], options?: IntersectsOptions): Intersection<Object3D<Object3DEventMap>>[];
6783
+ getIntersects(event: MouseEvent | TouchEvent | OffsetPoint, objects?: Object3D | Object3D[], options?: IntersectsOptions): Intersection<Object3D<Object3DEventMap>>[];
6744
6784
  rayClash(startPoint?: Vector3, dir?: Vector3, objects?: Mesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, Material<MaterialEventMap> | Material<MaterialEventMap>[], Object3DEventMap>[]): Intersection<Object3D<Object3DEventMap>>[];
6745
6785
  clearSignals(): void;
6746
6786
  /**