@iwsdk/core 0.4.2 → 0.5.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/README.md +4 -7
- package/dist/asset/asset-manager.d.ts +136 -8
- package/dist/asset/asset-manager.d.ts.map +1 -1
- package/dist/asset/asset-manager.js +491 -47
- package/dist/asset/asset-manager.js.map +1 -1
- package/dist/asset/cache-manager.d.ts +4 -2
- package/dist/asset/cache-manager.d.ts.map +1 -1
- package/dist/asset/cache-manager.js +10 -3
- package/dist/asset/cache-manager.js.map +1 -1
- package/dist/asset/loaders/audio-loader.d.ts +1 -1
- package/dist/asset/loaders/audio-loader.d.ts.map +1 -1
- package/dist/asset/loaders/audio-loader.js +8 -26
- package/dist/asset/loaders/audio-loader.js.map +1 -1
- package/dist/asset/loaders/cached-asset-load.d.ts +35 -0
- package/dist/asset/loaders/cached-asset-load.d.ts.map +1 -0
- package/dist/asset/loaders/cached-asset-load.js +100 -0
- package/dist/asset/loaders/cached-asset-load.js.map +1 -0
- package/dist/asset/loaders/gltf-loader.d.ts +28 -1
- package/dist/asset/loaders/gltf-loader.d.ts.map +1 -1
- package/dist/asset/loaders/gltf-loader.js +254 -33
- package/dist/asset/loaders/gltf-loader.js.map +1 -1
- package/dist/asset/loaders/hdr-texture-loader.d.ts +1 -1
- package/dist/asset/loaders/hdr-texture-loader.d.ts.map +1 -1
- package/dist/asset/loaders/hdr-texture-loader.js +19 -29
- package/dist/asset/loaders/hdr-texture-loader.js.map +1 -1
- package/dist/asset/loaders/texture-loader.d.ts +1 -1
- package/dist/asset/loaders/texture-loader.d.ts.map +1 -1
- package/dist/asset/loaders/texture-loader.js +9 -26
- package/dist/asset/loaders/texture-loader.js.map +1 -1
- package/dist/asset/loaders/uikitml-loader.d.ts +12 -0
- package/dist/asset/loaders/uikitml-loader.d.ts.map +1 -0
- package/dist/asset/loaders/uikitml-loader.js +44 -0
- package/dist/asset/loaders/uikitml-loader.js.map +1 -0
- package/dist/audio/audio-pool.d.ts +7 -0
- package/dist/audio/audio-pool.d.ts.map +1 -1
- package/dist/audio/audio-pool.js.map +1 -1
- package/dist/audio/audio-system.d.ts +1 -0
- package/dist/audio/audio-system.d.ts.map +1 -1
- package/dist/audio/audio-system.js +16 -2
- package/dist/audio/audio-system.js.map +1 -1
- package/dist/camera/camera-system.d.ts.map +1 -1
- package/dist/camera/camera-system.js +5 -3
- package/dist/camera/camera-system.js.map +1 -1
- package/dist/depth/depth-sensing-system.d.ts.map +1 -1
- package/dist/depth/depth-sensing-system.js +31 -10
- package/dist/depth/depth-sensing-system.js.map +1 -1
- package/dist/ecs/builtin-components.d.ts +1239 -0
- package/dist/ecs/builtin-components.d.ts.map +1 -0
- package/dist/ecs/builtin-components.js +87 -0
- package/dist/ecs/builtin-components.js.map +1 -0
- package/dist/ecs/component-editor-metadata.d.ts +19 -0
- package/dist/ecs/component-editor-metadata.d.ts.map +1 -0
- package/dist/ecs/component-editor-metadata.js +19 -0
- package/dist/ecs/component-editor-metadata.js.map +1 -0
- package/dist/ecs/component-manifest.d.ts +24 -0
- package/dist/ecs/component-manifest.d.ts.map +1 -0
- package/dist/ecs/component-manifest.js +121 -0
- package/dist/ecs/component-manifest.js.map +1 -0
- package/dist/ecs/component.d.ts +1 -0
- package/dist/ecs/component.d.ts.map +1 -1
- package/dist/ecs/entity.d.ts +20 -2
- package/dist/ecs/entity.d.ts.map +1 -1
- package/dist/ecs/entity.js +59 -3
- package/dist/ecs/entity.js.map +1 -1
- package/dist/ecs/index.d.ts +3 -1
- package/dist/ecs/index.d.ts.map +1 -1
- package/dist/ecs/system.d.ts +9 -0
- package/dist/ecs/system.d.ts.map +1 -1
- package/dist/ecs/system.js.map +1 -1
- package/dist/ecs/world.d.ts +158 -4
- package/dist/ecs/world.d.ts.map +1 -1
- package/dist/ecs/world.js +304 -5
- package/dist/ecs/world.js.map +1 -1
- package/dist/environment/dome-gradient.d.ts +2 -1
- package/dist/environment/dome-gradient.d.ts.map +1 -1
- package/dist/environment/dome-gradient.js +2 -1
- package/dist/environment/dome-gradient.js.map +1 -1
- package/dist/environment/environment-system.d.ts +19 -3
- package/dist/environment/environment-system.d.ts.map +1 -1
- package/dist/environment/environment-system.js +78 -48
- package/dist/environment/environment-system.js.map +1 -1
- package/dist/environment/gradient-environment.d.ts.map +1 -1
- package/dist/environment/gradient-environment.js +13 -7
- package/dist/environment/gradient-environment.js.map +1 -1
- package/dist/environment/scene-ar-environment.d.ts +39 -0
- package/dist/environment/scene-ar-environment.d.ts.map +1 -0
- package/dist/environment/scene-ar-environment.js +93 -0
- package/dist/environment/scene-ar-environment.js.map +1 -0
- package/dist/grab/grab-helpers.d.ts +39 -0
- package/dist/grab/grab-helpers.d.ts.map +1 -0
- package/dist/grab/grab-helpers.js +59 -0
- package/dist/grab/grab-helpers.js.map +1 -0
- package/dist/grab/grab-system.d.ts +45 -0
- package/dist/grab/grab-system.d.ts.map +1 -1
- package/dist/grab/grab-system.js +67 -5
- package/dist/grab/grab-system.js.map +1 -1
- package/dist/grab/grab-warnings.d.ts +14 -0
- package/dist/grab/grab-warnings.d.ts.map +1 -0
- package/dist/grab/grab-warnings.js +53 -0
- package/dist/grab/grab-warnings.js.map +1 -0
- package/dist/grab/handles.d.ts.map +1 -1
- package/dist/grab/handles.js +8 -3
- package/dist/grab/handles.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +42 -16
- package/dist/index.js.map +1 -1
- package/dist/init/world-initializer.d.ts +11 -7
- package/dist/init/world-initializer.d.ts.map +1 -1
- package/dist/init/world-initializer.js +118 -57
- package/dist/init/world-initializer.js.map +1 -1
- package/dist/init/xr.d.ts +0 -1
- package/dist/init/xr.d.ts.map +1 -1
- package/dist/init/xr.js +12 -3
- package/dist/init/xr.js.map +1 -1
- package/dist/input/input-system.d.ts.map +1 -1
- package/dist/input/input-system.js +26 -11
- package/dist/input/input-system.js.map +1 -1
- package/dist/layers/xr-layer-state.d.ts +47 -0
- package/dist/layers/xr-layer-state.d.ts.map +1 -0
- package/dist/layers/xr-layer-state.js +23 -0
- package/dist/layers/xr-layer-state.js.map +1 -0
- package/dist/layers/xr-layer-system.d.ts +45 -93
- package/dist/layers/xr-layer-system.d.ts.map +1 -1
- package/dist/layers/xr-layer-system.js +4 -25
- package/dist/layers/xr-layer-system.js.map +1 -1
- package/dist/level/index.d.ts +6 -2
- package/dist/level/index.d.ts.map +1 -1
- package/dist/level/level-component-applier.d.ts +24 -0
- package/dist/level/level-component-applier.d.ts.map +1 -0
- package/dist/level/level-component-applier.js +199 -0
- package/dist/level/level-component-applier.js.map +1 -0
- package/dist/level/level-player-rig.d.ts +17 -0
- package/dist/level/level-player-rig.d.ts.map +1 -0
- package/dist/level/level-player-rig.js +113 -0
- package/dist/level/level-player-rig.js.map +1 -0
- package/dist/level/level-scene-environment.d.ts +28 -0
- package/dist/level/level-scene-environment.d.ts.map +1 -0
- package/dist/level/level-scene-environment.js +121 -0
- package/dist/level/level-scene-environment.js.map +1 -0
- package/dist/level/level-scene-json-importer.d.ts +53 -0
- package/dist/level/level-scene-json-importer.d.ts.map +1 -0
- package/dist/level/level-scene-json-importer.js +256 -0
- package/dist/level/level-scene-json-importer.js.map +1 -0
- package/dist/level/level-scene-material.d.ts +22 -0
- package/dist/level/level-scene-material.d.ts.map +1 -0
- package/dist/level/level-scene-material.js +231 -0
- package/dist/level/level-scene-material.js.map +1 -0
- package/dist/level/level-scene-object.d.ts +49 -0
- package/dist/level/level-scene-object.d.ts.map +1 -0
- package/dist/level/level-scene-object.js +396 -0
- package/dist/level/level-scene-object.js.map +1 -0
- package/dist/level/level-scene-primitive.d.ts +21 -0
- package/dist/level/level-scene-primitive.d.ts.map +1 -0
- package/dist/level/level-scene-primitive.js +159 -0
- package/dist/level/level-scene-primitive.js.map +1 -0
- package/dist/level/level-system.d.ts +14 -20
- package/dist/level/level-system.d.ts.map +1 -1
- package/dist/level/level-system.js +114 -49
- package/dist/level/level-system.js.map +1 -1
- package/dist/lighting/index.d.ts +10 -0
- package/dist/lighting/index.d.ts.map +1 -0
- package/dist/lighting/index.js +4 -0
- package/dist/lighting/index.js.map +1 -0
- package/dist/lighting/light-binding.d.ts +76 -0
- package/dist/lighting/light-binding.d.ts.map +1 -0
- package/dist/lighting/light-binding.js +229 -0
- package/dist/lighting/light-binding.js.map +1 -0
- package/dist/lighting/light-components.d.ts +885 -0
- package/dist/lighting/light-components.d.ts.map +1 -0
- package/dist/lighting/light-components.js +146 -0
- package/dist/lighting/light-components.js.map +1 -0
- package/dist/lighting/light-system.d.ts +919 -0
- package/dist/lighting/light-system.d.ts.map +1 -0
- package/dist/lighting/light-system.js +244 -0
- package/dist/lighting/light-system.js.map +1 -0
- package/dist/locomotion/locomotion-environment.d.ts +27 -0
- package/dist/locomotion/locomotion-environment.d.ts.map +1 -0
- package/dist/locomotion/locomotion-environment.js +22 -0
- package/dist/locomotion/locomotion-environment.js.map +1 -0
- package/dist/locomotion/locomotion.d.ts +5 -34
- package/dist/locomotion/locomotion.d.ts.map +1 -1
- package/dist/locomotion/locomotion.js +33 -31
- package/dist/locomotion/locomotion.js.map +1 -1
- package/dist/locomotion/materials/line.js +1 -1
- package/dist/locomotion/slide.d.ts.map +1 -1
- package/dist/locomotion/slide.js +2 -2
- package/dist/locomotion/slide.js.map +1 -1
- package/dist/mcp/ecs-debug-tools.d.ts.map +1 -1
- package/dist/mcp/ecs-debug-tools.js +10 -2
- package/dist/mcp/ecs-debug-tools.js.map +1 -1
- package/dist/mcp/mcp-runtime.d.ts.map +1 -1
- package/dist/mcp/mcp-runtime.js +4 -1
- package/dist/mcp/mcp-runtime.js.map +1 -1
- package/dist/mcp/scene-tools.d.ts +152 -1
- package/dist/mcp/scene-tools.d.ts.map +1 -1
- package/dist/mcp/scene-tools.js +538 -8
- package/dist/mcp/scene-tools.js.map +1 -1
- package/dist/physics/index.js +11 -4
- package/dist/physics/index.js.map +1 -1
- package/dist/physics/physics-system.d.ts +704 -11
- package/dist/physics/physics-system.d.ts.map +1 -1
- package/dist/physics/physics-system.js +307 -25
- package/dist/physics/physics-system.js.map +1 -1
- package/dist/physics/physicsBody.d.ts +40 -1
- package/dist/physics/physicsBody.d.ts.map +1 -1
- package/dist/physics/physicsBody.js +39 -0
- package/dist/physics/physicsBody.js.map +1 -1
- package/dist/physics/physicsManipulation.d.ts +1 -1
- package/dist/physics/physicsManipulation.d.ts.map +1 -1
- package/dist/physics/physicsShape.d.ts +5 -3
- package/dist/physics/physicsShape.d.ts.map +1 -1
- package/dist/physics/physicsShape.js +2 -1
- package/dist/physics/physicsShape.js.map +1 -1
- package/dist/physics/utils.d.ts +10 -0
- package/dist/physics/utils.d.ts.map +1 -1
- package/dist/physics/utils.js +82 -48
- package/dist/physics/utils.js.map +1 -1
- package/dist/project/index.d.ts +11 -0
- package/dist/project/index.d.ts.map +1 -0
- package/dist/project/index.js +5 -0
- package/dist/project/index.js.map +1 -0
- package/dist/project/normalize.d.ts +19 -0
- package/dist/project/normalize.d.ts.map +1 -0
- package/dist/project/normalize.js +206 -0
- package/dist/project/normalize.js.map +1 -0
- package/dist/project/paths.d.ts +21 -0
- package/dist/project/paths.d.ts.map +1 -0
- package/dist/project/paths.js +75 -0
- package/dist/project/paths.js.map +1 -0
- package/dist/project/types.d.ts +159 -0
- package/dist/project/types.d.ts.map +1 -0
- package/dist/project/types.js +11 -0
- package/dist/project/types.js.map +1 -0
- package/dist/project/validation.d.ts +17 -0
- package/dist/project/validation.d.ts.map +1 -0
- package/dist/project/validation.js +501 -0
- package/dist/project/validation.js.map +1 -0
- package/dist/scene-understanding/scene-understanding-system.d.ts +23 -2
- package/dist/scene-understanding/scene-understanding-system.d.ts.map +1 -1
- package/dist/scene-understanding/scene-understanding-system.js +76 -54
- package/dist/scene-understanding/scene-understanding-system.js.map +1 -1
- package/dist/schemas/iwsdk-project.v1.schema.json +305 -0
- package/dist/transform/transform-component.d.ts +32 -0
- package/dist/transform/transform-component.d.ts.map +1 -0
- package/dist/transform/transform-component.js +24 -0
- package/dist/transform/transform-component.js.map +1 -0
- package/dist/transform/transform.d.ts +9 -42
- package/dist/transform/transform.d.ts.map +1 -1
- package/dist/transform/transform.js +8 -25
- package/dist/transform/transform.js.map +1 -1
- package/dist/ui/document.d.ts +9 -2
- package/dist/ui/document.d.ts.map +1 -1
- package/dist/ui/document.js +30 -5
- package/dist/ui/document.js.map +1 -1
- package/dist/ui/follow-component.d.ts +57 -0
- package/dist/ui/follow-component.d.ts.map +1 -0
- package/dist/ui/follow-component.js +38 -0
- package/dist/ui/follow-component.js.map +1 -0
- package/dist/ui/follow.d.ts +28 -102
- package/dist/ui/follow.d.ts.map +1 -1
- package/dist/ui/follow.js +10 -48
- package/dist/ui/follow.js.map +1 -1
- package/dist/ui/index.d.ts +3 -0
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/panel-components.d.ts +29 -0
- package/dist/ui/panel-components.d.ts.map +1 -0
- package/dist/ui/panel-components.js +22 -0
- package/dist/ui/panel-components.js.map +1 -0
- package/dist/ui/screenspace-component.d.ts +39 -0
- package/dist/ui/screenspace-component.d.ts.map +1 -0
- package/dist/ui/screenspace-component.js +21 -0
- package/dist/ui/screenspace-component.js.map +1 -0
- package/dist/ui/screenspace.d.ts +47 -135
- package/dist/ui/screenspace.d.ts.map +1 -1
- package/dist/ui/screenspace.js +127 -65
- package/dist/ui/screenspace.js.map +1 -1
- package/dist/ui/ui.d.ts +20 -122
- package/dist/ui/ui.d.ts.map +1 -1
- package/dist/ui/ui.js +44 -107
- package/dist/ui/ui.js.map +1 -1
- package/dist/ui/uikitml-asset.d.ts +25 -0
- package/dist/ui/uikitml-asset.d.ts.map +1 -0
- package/dist/ui/uikitml-asset.js +56 -0
- package/dist/ui/uikitml-asset.js.map +1 -0
- package/dist/ui/uikitml.d.ts +41 -0
- package/dist/ui/uikitml.d.ts.map +1 -0
- package/dist/ui/uikitml.js +119 -0
- package/dist/ui/uikitml.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/visibility/visibility-component.d.ts +14 -0
- package/dist/visibility/visibility-component.d.ts.map +1 -0
- package/dist/visibility/visibility-component.js +15 -0
- package/dist/visibility/visibility-component.js.map +1 -0
- package/dist/visibility/visibility.d.ts +3 -10
- package/dist/visibility/visibility.d.ts.map +1 -1
- package/dist/visibility/visibility.js +9 -12
- package/dist/visibility/visibility.js.map +1 -1
- package/package.json +36 -8
- package/dist/ecs/component-registry.d.ts +0 -54
- package/dist/ecs/component-registry.d.ts.map +0 -1
- package/dist/ecs/component-registry.js +0 -86
- package/dist/ecs/component-registry.js.map +0 -1
- package/dist/level/level-entity-creator.d.ts +0 -27
- package/dist/level/level-entity-creator.d.ts.map +0 -1
- package/dist/level/level-entity-creator.js +0 -108
- package/dist/level/level-entity-creator.js.map +0 -1
- package/dist/level/level-glxf-importer.d.ts +0 -23
- package/dist/level/level-glxf-importer.d.ts.map +0 -1
- package/dist/level/level-glxf-importer.js +0 -40
- package/dist/level/level-glxf-importer.js.map +0 -1
package/README.md
CHANGED
|
@@ -68,15 +68,12 @@ cube.addComponent(OneHandGrabbable, { rotate: true, translate: true });
|
|
|
68
68
|
For the best development experience, use our Vite plugins:
|
|
69
69
|
|
|
70
70
|
```bash
|
|
71
|
-
npm install -D @iwsdk/vite-plugin-dev
|
|
71
|
+
npm install -D @iwsdk/vite-plugin-dev
|
|
72
72
|
```
|
|
73
73
|
|
|
74
|
-
| Plugin
|
|
75
|
-
|
|
|
76
|
-
| `@iwsdk/vite-plugin-dev`
|
|
77
|
-
| `@iwsdk/vite-plugin-gltf-optimizer` | GLTF/GLB optimization during build |
|
|
78
|
-
| `@iwsdk/vite-plugin-uikitml` | Compile HTML-like UI templates to spatial UI |
|
|
79
|
-
| `@iwsdk/vite-plugin-metaspatial` | Meta Spatial Editor integration |
|
|
74
|
+
| Plugin | Description |
|
|
75
|
+
| ------------------------ | ----------------------------------------------- |
|
|
76
|
+
| `@iwsdk/vite-plugin-dev` | XR emulation, AI agent tooling, and dev browser |
|
|
80
77
|
|
|
81
78
|
## Documentation
|
|
82
79
|
|
|
@@ -6,9 +6,22 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { GLTF } from 'three/examples/jsm/loaders/GLTFLoader.js';
|
|
8
8
|
import type { World } from '../ecs/world.js';
|
|
9
|
-
import { LoadingManager, Texture, WebGLRenderer } from '../runtime/index.js';
|
|
9
|
+
import { LoadingManager, Object3D, Texture, WebGLRenderer } from '../runtime/index.js';
|
|
10
10
|
import { GetGLTFOptions } from './loaders/gltf-loader.js';
|
|
11
11
|
export type { GetGLTFOptions } from './loaders/gltf-loader.js';
|
|
12
|
+
export { DEFAULT_MAX_MODEL_PAYLOAD_BYTES, DEFAULT_MAX_TOTAL_MODEL_PAYLOAD_BYTES, GLTFPayloadLimitError, } from './loaders/gltf-loader.js';
|
|
13
|
+
export { AssetLoadTimeoutError, DEFAULT_ASSET_LOAD_TIMEOUT_MS, } from './loaders/cached-asset-load.js';
|
|
14
|
+
/** Payload ceilings applied to detached model resource preflight. */
|
|
15
|
+
export interface GLTFLoadTransactionLimits {
|
|
16
|
+
maxModelPayloadBytes?: number;
|
|
17
|
+
maxTotalModelPayloadBytes?: number;
|
|
18
|
+
}
|
|
19
|
+
export interface StagedGLTFLoad {
|
|
20
|
+
gltf: GLTF;
|
|
21
|
+
payloadBytes: number;
|
|
22
|
+
source: 'cache' | 'detached';
|
|
23
|
+
url: string;
|
|
24
|
+
}
|
|
12
25
|
/**
|
|
13
26
|
* Asset types supported by the {@link AssetManager}.
|
|
14
27
|
* @category Assets
|
|
@@ -17,23 +30,91 @@ export declare enum AssetType {
|
|
|
17
30
|
GLTF = "gltf",// 3D models (cached)
|
|
18
31
|
Audio = "audio",// Audio buffers (cached)
|
|
19
32
|
Texture = "texture",// 3D textures (cached)
|
|
20
|
-
HDRTexture = "hdr-texture"
|
|
33
|
+
HDRTexture = "hdr-texture",// HDR/EXR equirect textures (cached)
|
|
34
|
+
UIKitML = "uikitml"
|
|
21
35
|
}
|
|
36
|
+
export interface LoadableAssetManifestEntry {
|
|
37
|
+
url: string;
|
|
38
|
+
type: AssetType;
|
|
39
|
+
priority?: 'critical' | 'background' | 'lazy';
|
|
40
|
+
/** Human-readable label used by authoring tools. */
|
|
41
|
+
name?: string;
|
|
42
|
+
}
|
|
43
|
+
export type AssetManifestEntry = LoadableAssetManifestEntry | Object3D;
|
|
22
44
|
/**
|
|
23
|
-
*
|
|
45
|
+
* Application asset catalog. Parentless Object3D entries are immutable
|
|
46
|
+
* renderable prototypes; URL entries are loaded and cached by type.
|
|
24
47
|
* @category Assets
|
|
25
48
|
*/
|
|
26
49
|
export interface AssetManifest {
|
|
27
|
-
[key: string]:
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
50
|
+
[key: string]: AssetManifestEntry;
|
|
51
|
+
}
|
|
52
|
+
/** Non-enumerable marker carried by manifests created with defineAssets. */
|
|
53
|
+
export declare const ASSET_MANIFEST_BRAND: unique symbol;
|
|
54
|
+
export type DefinedAssetManifest<T extends AssetManifest = AssetManifest> = Readonly<T> & {
|
|
55
|
+
readonly [ASSET_MANIFEST_BRAND]: 1;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Declare the complete application asset catalog shared by runtime/editor.
|
|
59
|
+
* The returned container is frozen; entry objects and Three.js prototypes are
|
|
60
|
+
* intentionally left mutable and retain their original identities.
|
|
61
|
+
*/
|
|
62
|
+
export declare function defineAssets<const T extends AssetManifest>(assets: T): DefinedAssetManifest<T>;
|
|
63
|
+
/** Structured identity for critical, background, and on-demand failures. */
|
|
64
|
+
export declare class AssetLoadError extends Error {
|
|
65
|
+
readonly assetId: string;
|
|
66
|
+
readonly url: string;
|
|
67
|
+
readonly cause: unknown;
|
|
68
|
+
constructor(assetId: string, url: string, cause: unknown);
|
|
69
|
+
}
|
|
70
|
+
export interface RenderableAssetInfo {
|
|
71
|
+
id: string;
|
|
72
|
+
kind: 'gltf' | 'primitive' | 'procedural';
|
|
73
|
+
name: string;
|
|
74
|
+
bounds?: {
|
|
75
|
+
min: [number, number, number];
|
|
76
|
+
max: [number, number, number];
|
|
31
77
|
};
|
|
32
78
|
}
|
|
79
|
+
/** Asset metadata exposed to authoring tools. */
|
|
80
|
+
export interface AuthoringAssetInfo extends Omit<RenderableAssetInfo, 'kind'> {
|
|
81
|
+
kind: 'gltf' | 'primitive' | 'procedural' | 'uikitml';
|
|
82
|
+
url?: string;
|
|
83
|
+
}
|
|
84
|
+
export interface AssetRegistryOptions {
|
|
85
|
+
instantiateUIKitML?: (assetId: string) => Promise<Object3D>;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* World-owned view of the application's renderable asset manifest.
|
|
89
|
+
*
|
|
90
|
+
* The registry never places registered prototypes into a scene. Each request
|
|
91
|
+
* returns a hierarchy clone while retaining shared geometry and material
|
|
92
|
+
* references, matching the existing glTF cache behavior.
|
|
93
|
+
*/
|
|
94
|
+
export declare class RenderableAssetRegistry {
|
|
95
|
+
private readonly options;
|
|
96
|
+
private readonly manifest;
|
|
97
|
+
constructor(manifest?: AssetManifest, options?: AssetRegistryOptions);
|
|
98
|
+
preload(): Promise<void>;
|
|
99
|
+
has(id: string): boolean;
|
|
100
|
+
/** Return whether an id instantiates as a conventional model hierarchy. */
|
|
101
|
+
hasRenderable(id: string): boolean;
|
|
102
|
+
/** Return whether an id is available to authoring, including UIKitML. */
|
|
103
|
+
hasAuthoringAsset(id: string): boolean;
|
|
104
|
+
/** Resolve the authoring kind for a manifest id. */
|
|
105
|
+
kind(id: string): AuthoringAssetInfo['kind'] | undefined;
|
|
106
|
+
list(): RenderableAssetInfo[];
|
|
107
|
+
/** List placeable model and UIKitML assets for authoring tools. */
|
|
108
|
+
catalog(): AuthoringAssetInfo[];
|
|
109
|
+
bounds(id: string): RenderableAssetInfo['bounds'] | undefined;
|
|
110
|
+
instantiate<T extends Object3D = Object3D>(id: string): Promise<T>;
|
|
111
|
+
}
|
|
33
112
|
/** Loader-level options for GLTF/HDR loaders. @category Assets */
|
|
34
113
|
export interface AssetManagerOptions {
|
|
35
114
|
dracoDecoderPath: string;
|
|
36
115
|
ktx2TranscoderPath: string;
|
|
116
|
+
/** Finite upper bound for every critical/background/on-demand load. */
|
|
117
|
+
loadTimeoutMs: number;
|
|
37
118
|
}
|
|
38
119
|
/**
|
|
39
120
|
* Centralized asset loader with caching and priority‑based preloading.
|
|
@@ -47,13 +128,28 @@ export interface AssetManagerOptions {
|
|
|
47
128
|
export declare class AssetManager {
|
|
48
129
|
static loadingManager: LoadingManager;
|
|
49
130
|
static world: World;
|
|
131
|
+
private static loadTimeoutMs;
|
|
132
|
+
private static readonly manifestEntries;
|
|
50
133
|
/**
|
|
51
134
|
* Initialize loaders and bind to the current world/renderer.
|
|
52
135
|
*/
|
|
53
136
|
static init(renderer: WebGLRenderer, world: World, options?: Partial<AssetManagerOptions>): void;
|
|
137
|
+
/** Configure the finite timeout used by subsequent asset loads. */
|
|
138
|
+
static setLoadTimeout(timeoutMs: number): void;
|
|
139
|
+
/** Register catalog identity without starting network requests. */
|
|
140
|
+
static registerManifest(manifest: AssetManifest): void;
|
|
54
141
|
/** Preload assets with critical/background prioritization. */
|
|
55
142
|
static preloadAssets(manifest: AssetManifest): Promise<void>;
|
|
56
143
|
private static loadAssetByType;
|
|
144
|
+
/** Load one registered manifest entry by asset ID. */
|
|
145
|
+
static loadAsset(assetId: string): Promise<GLTF | AudioBuffer | Texture | string>;
|
|
146
|
+
static loadGLTFById(assetId: string): Promise<GLTF>;
|
|
147
|
+
static loadAudioById(assetId: string): Promise<AudioBuffer>;
|
|
148
|
+
static loadTextureById(assetId: string): Promise<Texture>;
|
|
149
|
+
static loadHDRTextureById(assetId: string): Promise<Texture>;
|
|
150
|
+
static loadUIKitMLById(assetId: string): Promise<string>;
|
|
151
|
+
private static loadTypedManifestAsset;
|
|
152
|
+
private static requireManifestEntry;
|
|
57
153
|
/**
|
|
58
154
|
* Load a GLTF by URL; optionally register a logical key.
|
|
59
155
|
*
|
|
@@ -62,7 +158,9 @@ export declare class AssetManager {
|
|
|
62
158
|
* after the load resolves to retrieve a clone suitable for placing into
|
|
63
159
|
* multiple entities.
|
|
64
160
|
*/
|
|
65
|
-
static loadGLTF(
|
|
161
|
+
static loadGLTF(urlOrKey: string, key?: string): Promise<GLTF>;
|
|
162
|
+
/** Create an isolated glTF load transaction for scene resource preflight. */
|
|
163
|
+
static createGLTFLoadTransaction(limits?: GLTFLoadTransactionLimits): GLTFLoadTransaction;
|
|
66
164
|
/** Fetch any cached asset by logical key. */
|
|
67
165
|
static getAsset(key: string): any;
|
|
68
166
|
/** Load an AudioBuffer by URL; optionally register a logical key. */
|
|
@@ -73,6 +171,10 @@ export declare class AssetManager {
|
|
|
73
171
|
static loadTexture(url: string, key?: string): Promise<Texture>;
|
|
74
172
|
/** Get a cached Texture by logical key. */
|
|
75
173
|
static getTexture(key: string): Texture | null;
|
|
174
|
+
/** Load and cache UIKitML source by URL or manifest key. */
|
|
175
|
+
static loadUIKitML(urlOrKey: string, key?: string, forceReload?: boolean): Promise<string>;
|
|
176
|
+
/** Get cached UIKitML source by URL or manifest key. */
|
|
177
|
+
static getUIKitML(keyOrUrl: string): string | null;
|
|
76
178
|
/** Load an HDR equirectangular texture; optionally register a logical key. */
|
|
77
179
|
static loadHDRTexture(url: string, key?: string): Promise<Texture>;
|
|
78
180
|
/**
|
|
@@ -86,4 +188,30 @@ export declare class AssetManager {
|
|
|
86
188
|
*/
|
|
87
189
|
static getGLTF(key: string, options?: GetGLTFOptions): GLTF | null;
|
|
88
190
|
}
|
|
191
|
+
/**
|
|
192
|
+
* Stages model resources without mutating shared AssetManager caches. A
|
|
193
|
+
* successful scene commit adopts owned resources; rollback disposes them.
|
|
194
|
+
*/
|
|
195
|
+
export declare class GLTFLoadTransaction {
|
|
196
|
+
private readonly maxModelPayloadBytes;
|
|
197
|
+
private readonly maxTotalModelPayloadBytes;
|
|
198
|
+
private readonly stagedByUrl;
|
|
199
|
+
private readonly urlByKey;
|
|
200
|
+
private state;
|
|
201
|
+
private totalPayloadBytes;
|
|
202
|
+
constructor(limits?: GLTFLoadTransactionLimits);
|
|
203
|
+
/** Stage one logical key. Repeated URLs share one detached response. */
|
|
204
|
+
stage(url: string, key: string): Promise<StagedGLTFLoad>;
|
|
205
|
+
/** Retrieve a clone for materialization without transferring ownership. */
|
|
206
|
+
getGLTF(key: string, options?: GetGLTFOptions): GLTF | null;
|
|
207
|
+
/** Exact newly fetched primary-response bytes in this transaction. */
|
|
208
|
+
get payloadBytes(): number;
|
|
209
|
+
/** Verify cache ownership can transfer synchronously after scene install. */
|
|
210
|
+
assertCanCommit(): void;
|
|
211
|
+
/** Atomically transfer staged resources and logical keys to the shared cache. */
|
|
212
|
+
commit(): void;
|
|
213
|
+
/** Dispose all transaction-owned model resources; cached resources are borrowed. */
|
|
214
|
+
rollback(): void;
|
|
215
|
+
private assertOpen;
|
|
216
|
+
}
|
|
89
217
|
//# sourceMappingURL=asset-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset-manager.d.ts","sourceRoot":"","sources":["../../src/asset/asset-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"asset-manager.d.ts","sourceRoot":"","sources":["../../src/asset/asset-manager.ts"],"names":[],"mappings":"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"}
|