@iwsdk/core 0.4.2 → 0.5.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/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/vendor/draco/gltf/draco_encoder.js +0 -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 +48 -19
- package/LICENSE +0 -21
- 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
|
@@ -28,14 +28,16 @@ export declare class CacheManager {
|
|
|
28
28
|
static getPromise<T>(url: string): Promise<T> | undefined;
|
|
29
29
|
/** Store an in-flight promise for URL. */
|
|
30
30
|
static setPromise<T>(url: string, promise: Promise<T>): void;
|
|
31
|
-
/** Remove in-flight promise
|
|
32
|
-
static deletePromise(url: string):
|
|
31
|
+
/** Remove an in-flight promise, optionally only when it is still current. */
|
|
32
|
+
static deletePromise(url: string, expected?: Promise<unknown>): boolean;
|
|
33
33
|
/** True if an asset has been cached for URL. */
|
|
34
34
|
static hasAsset(url: string): boolean;
|
|
35
35
|
/** Retrieve a cached asset by URL. */
|
|
36
36
|
static getAsset<T>(url: string): T | undefined;
|
|
37
37
|
/** Store an asset by URL. */
|
|
38
38
|
static setAsset<T>(url: string, asset: T): void;
|
|
39
|
+
/** Remove one cached asset by logical key or URL. */
|
|
40
|
+
static deleteAsset(keyOrUrl: string): boolean;
|
|
39
41
|
/** Lookup asset by logical key or direct URL. */
|
|
40
42
|
static getAssetByKey(key: string): any;
|
|
41
43
|
/** Clear caches (useful during tests). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache-manager.d.ts","sourceRoot":"","sources":["../../src/asset/cache-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;GASG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAA0B;IAC9C,OAAO,CAAC,MAAM,CAAC,YAAY,CAAmC;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA6B;IAEpD,0CAA0C;IAC1C,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAIlD,2CAA2C;IAC3C,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAI3C,mDAAmD;IACnD,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIvC,kDAAkD;IAClD,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS;IAIzD,0CAA0C;IAC1C,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;IAI5D,
|
|
1
|
+
{"version":3,"file":"cache-manager.d.ts","sourceRoot":"","sources":["../../src/asset/cache-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;GASG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAA0B;IAC9C,OAAO,CAAC,MAAM,CAAC,YAAY,CAAmC;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA6B;IAEpD,0CAA0C;IAC1C,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAIlD,2CAA2C;IAC3C,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAI3C,mDAAmD;IACnD,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIvC,kDAAkD;IAClD,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS;IAIzD,0CAA0C;IAC1C,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;IAI5D,6EAA6E;IAC7E,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO;IAOvE,gDAAgD;IAChD,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIrC,sCAAsC;IACtC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAI9C,6BAA6B;IAC7B,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAI/C,qDAAqD;IACrD,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI7C,iDAAiD;IACjD,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAetC,0CAA0C;IAC1C,MAAM,CAAC,KAAK,IAAI,IAAI;CAKrB"}
|
|
@@ -36,9 +36,12 @@ class CacheManager {
|
|
|
36
36
|
static setPromise(url, promise) {
|
|
37
37
|
this.promiseCache.set(url, promise);
|
|
38
38
|
}
|
|
39
|
-
/** Remove in-flight promise
|
|
40
|
-
static deletePromise(url) {
|
|
41
|
-
this.promiseCache.
|
|
39
|
+
/** Remove an in-flight promise, optionally only when it is still current. */
|
|
40
|
+
static deletePromise(url, expected) {
|
|
41
|
+
if (expected != null && this.promiseCache.get(url) !== expected) {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
return this.promiseCache.delete(url);
|
|
42
45
|
}
|
|
43
46
|
/** True if an asset has been cached for URL. */
|
|
44
47
|
static hasAsset(url) {
|
|
@@ -52,6 +55,10 @@ class CacheManager {
|
|
|
52
55
|
static setAsset(url, asset) {
|
|
53
56
|
this.cache.set(url, asset);
|
|
54
57
|
}
|
|
58
|
+
/** Remove one cached asset by logical key or URL. */
|
|
59
|
+
static deleteAsset(keyOrUrl) {
|
|
60
|
+
return this.cache.delete(this.resolveUrl(keyOrUrl));
|
|
61
|
+
}
|
|
55
62
|
/** Lookup asset by logical key or direct URL. */
|
|
56
63
|
static getAssetByKey(key) {
|
|
57
64
|
// First check if this is a URL (direct cache access)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache-manager.js","sources":["../../src/asset/cache-manager.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;AAKG;AAEH;;;;;;;;;AASG;MACU,YAAY,CAAA;;AAMvB,IAAA,OAAO,WAAW,CAAC,GAAW,EAAE,GAAW,EAAA;QACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;IAC7B;;IAGA,OAAO,UAAU,CAAC,QAAgB,EAAA;;QAChC,OAAO,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,QAAQ;IAChD;;IAGA,OAAO,UAAU,CAAC,GAAW,EAAA;QAC3B,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;IACnC;;IAGA,OAAO,UAAU,CAAI,GAAW,EAAA;QAC9B,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAe;IACjD;;AAGA,IAAA,OAAO,UAAU,CAAI,GAAW,EAAE,OAAmB,EAAA;QACnD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC;IACrC;;
|
|
1
|
+
{"version":3,"file":"cache-manager.js","sources":["../../src/asset/cache-manager.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;AAKG;AAEH;;;;;;;;;AASG;MACU,YAAY,CAAA;;AAMvB,IAAA,OAAO,WAAW,CAAC,GAAW,EAAE,GAAW,EAAA;QACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;IAC7B;;IAGA,OAAO,UAAU,CAAC,QAAgB,EAAA;;QAChC,OAAO,CAAA,EAAA,GAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,QAAQ;IAChD;;IAGA,OAAO,UAAU,CAAC,GAAW,EAAA;QAC3B,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;IACnC;;IAGA,OAAO,UAAU,CAAI,GAAW,EAAA;QAC9B,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAe;IACjD;;AAGA,IAAA,OAAO,UAAU,CAAI,GAAW,EAAE,OAAmB,EAAA;QACnD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC;IACrC;;AAGA,IAAA,OAAO,aAAa,CAAC,GAAW,EAAE,QAA2B,EAAA;AAC3D,QAAA,IAAI,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;AAC/D,YAAA,OAAO,KAAK;QACd;QACA,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC;IACtC;;IAGA,OAAO,QAAQ,CAAC,GAAW,EAAA;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;IAC5B;;IAGA,OAAO,QAAQ,CAAI,GAAW,EAAA;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAM;IACjC;;AAGA,IAAA,OAAO,QAAQ,CAAI,GAAW,EAAE,KAAQ,EAAA;QACtC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;IAC5B;;IAGA,OAAO,WAAW,CAAC,QAAgB,EAAA;AACjC,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACrD;;IAGA,OAAO,aAAa,CAAC,GAAW,EAAA;;QAE9B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;QAC5B;;QAGA,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;QAClC,IAAI,GAAG,EAAE;YACP,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;QAC5B;AAEA,QAAA,OAAO,SAAS;IAClB;;AAGA,IAAA,OAAO,KAAK,GAAA;AACV,QAAA,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;AAClB,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;AACzB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;IACvB;;AA9Ee,YAAA,CAAA,KAAK,GAAG,IAAI,GAAG,EAAe;AAC9B,YAAA,CAAA,YAAY,GAAG,IAAI,GAAG,EAAwB;AAC9C,YAAA,CAAA,QAAQ,GAAG,IAAI,GAAG,EAAkB;;;;"}
|
|
@@ -14,7 +14,7 @@ export declare class AudioAssetLoader {
|
|
|
14
14
|
private static audioLoader;
|
|
15
15
|
static init(loadingManager: LoadingManager): void;
|
|
16
16
|
/** Load an AudioBuffer (URL or logical key), returning a cached instance when possible. */
|
|
17
|
-
static loadAudio(urlOrKey: string): Promise<AudioBuffer>;
|
|
17
|
+
static loadAudio(urlOrKey: string, timeoutMs?: number): Promise<AudioBuffer>;
|
|
18
18
|
/** Get a cached AudioBuffer by logical key. */
|
|
19
19
|
static getAudio(key: string): AudioBuffer | null;
|
|
20
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audio-loader.d.ts","sourceRoot":"","sources":["../../../src/asset/loaders/audio-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAe,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"audio-loader.d.ts","sourceRoot":"","sources":["../../../src/asset/loaders/audio-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAe,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAOrE;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,WAAW,CAAc;IAExC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI;IAIjD,2FAA2F;IAC3F,MAAM,CAAC,SAAS,CACd,QAAQ,EAAE,MAAM,EAChB,SAAS,SAAgC,GACxC,OAAO,CAAC,WAAW,CAAC;IAWvB,+CAA+C;IAC/C,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;CAGjD"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import '../../runtime/three.js';
|
|
2
2
|
import { CacheManager } from '../cache-manager.js';
|
|
3
|
+
import { DEFAULT_ASSET_LOAD_TIMEOUT_MS, loadCachedAsset } from './cached-asset-load.js';
|
|
3
4
|
import { AudioLoader } from 'three';
|
|
4
5
|
|
|
5
6
|
/**
|
|
@@ -18,34 +19,15 @@ class AudioAssetLoader {
|
|
|
18
19
|
this.audioLoader = new AudioLoader(loadingManager);
|
|
19
20
|
}
|
|
20
21
|
/** Load an AudioBuffer (URL or logical key), returning a cached instance when possible. */
|
|
21
|
-
static
|
|
22
|
-
// Resolve URL from key if needed
|
|
22
|
+
static loadAudio(urlOrKey, timeoutMs = DEFAULT_ASSET_LOAD_TIMEOUT_MS) {
|
|
23
23
|
const url = CacheManager.resolveUrl(urlOrKey);
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
if (CacheManager.hasAsset(url)) {
|
|
31
|
-
resolve(CacheManager.getAsset(url));
|
|
32
|
-
CacheManager.deletePromise(url);
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
// Load using Three.js AudioLoader
|
|
36
|
-
this.audioLoader.load(url, (buffer) => {
|
|
37
|
-
CacheManager.setAsset(url, buffer);
|
|
38
|
-
resolve(buffer);
|
|
39
|
-
CacheManager.deletePromise(url);
|
|
40
|
-
}, undefined, // progress callback
|
|
41
|
-
(error) => {
|
|
42
|
-
reject(error);
|
|
43
|
-
CacheManager.deletePromise(url);
|
|
44
|
-
});
|
|
45
|
-
}
|
|
24
|
+
return loadCachedAsset({
|
|
25
|
+
load: (resolve, reject) => {
|
|
26
|
+
this.audioLoader.load(url, resolve, undefined, reject);
|
|
27
|
+
},
|
|
28
|
+
timeoutMs,
|
|
29
|
+
url,
|
|
46
30
|
});
|
|
47
|
-
CacheManager.setPromise(url, loadingPromise);
|
|
48
|
-
return loadingPromise;
|
|
49
31
|
}
|
|
50
32
|
/** Get a cached AudioBuffer by logical key. */
|
|
51
33
|
static getAudio(key) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audio-loader.js","sources":["../../../src/asset/loaders/audio-loader.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"audio-loader.js","sources":["../../../src/asset/loaders/audio-loader.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAAA;;;;;AAKG;AASH;;;;AAIG;MACU,gBAAgB,CAAA;IAG3B,OAAO,IAAI,CAAC,cAA8B,EAAA;QACxC,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,cAAc,CAAC;IACpD;;AAGA,IAAA,OAAO,SAAS,CACd,QAAgB,EAChB,SAAS,GAAG,6BAA6B,EAAA;QAEzC,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC;AAC7C,QAAA,OAAO,eAAe,CAAC;AACrB,YAAA,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAI;AACxB,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC;YACxD,CAAC;YACD,SAAS;YACT,GAAG;AACJ,SAAA,CAAC;IACJ;;IAGA,OAAO,QAAQ,CAAC,GAAW,EAAA;QACzB,OAAQ,YAAY,CAAC,aAAa,CAAC,GAAG,CAAiB,IAAI,IAAI;IACjE;AACD;;;;"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
/** Default upper bound for one asset load. @category Assets */
|
|
8
|
+
export declare const DEFAULT_ASSET_LOAD_TIMEOUT_MS = 30000;
|
|
9
|
+
/** Low-level timeout raised by an individual asset loader. */
|
|
10
|
+
export declare class AssetLoadTimeoutError extends Error {
|
|
11
|
+
readonly url: string;
|
|
12
|
+
readonly timeoutMs: number;
|
|
13
|
+
constructor(url: string, timeoutMs: number);
|
|
14
|
+
}
|
|
15
|
+
export interface CachedAssetLoadOptions<T> {
|
|
16
|
+
/** Dispose a late result that arrives after its request timed out. */
|
|
17
|
+
discard?: (asset: T) => void;
|
|
18
|
+
/** Start the underlying loader. The optional return value cancels it. */
|
|
19
|
+
load: (resolve: (asset: T) => void, reject: (error: unknown) => void) => (() => void) | void;
|
|
20
|
+
/** Replace, rather than join, an existing in-flight request. */
|
|
21
|
+
replacePending?: boolean;
|
|
22
|
+
timeoutMs?: number;
|
|
23
|
+
url: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Run one cache-backed load with request de-duplication and a finite timeout.
|
|
27
|
+
*
|
|
28
|
+
* Late callbacks are ignored after timeout and cannot publish into the cache.
|
|
29
|
+
* A loader may provide `discard` to release resources created by such a late
|
|
30
|
+
* callback. Replaced requests still settle for their original callers, but
|
|
31
|
+
* only the currently registered request may update shared cache state.
|
|
32
|
+
*/
|
|
33
|
+
export declare function loadCachedAsset<T>({ discard, load, replacePending, timeoutMs, url, }: CachedAssetLoadOptions<T>): Promise<T>;
|
|
34
|
+
export declare function assertAssetLoadTimeout(timeoutMs: number): void;
|
|
35
|
+
//# sourceMappingURL=cached-asset-load.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cached-asset-load.d.ts","sourceRoot":"","sources":["../../../src/asset/loaders/cached-asset-load.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,+DAA+D;AAC/D,eAAO,MAAM,6BAA6B,QAAS,CAAC;AAEpD,8DAA8D;AAC9D,qBAAa,qBAAsB,SAAQ,KAAK;IAE5C,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM;gBADjB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM;CAK7B;AAED,MAAM,WAAW,sBAAsB,CAAC,CAAC;IACvC,sEAAsE;IACtE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,yEAAyE;IACzE,IAAI,EAAE,CACJ,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,EAC3B,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,KAC7B,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IACzB,gEAAgE;IAChE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,EACjC,OAAO,EACP,IAAI,EACJ,cAAsB,EACtB,SAAyC,EACzC,GAAG,GACJ,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAoExC;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAI9D"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { CacheManager } from '../cache-manager.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
5
|
+
*
|
|
6
|
+
* This source code is licensed under the MIT license found in the
|
|
7
|
+
* LICENSE file in the root directory of this source tree.
|
|
8
|
+
*/
|
|
9
|
+
/** Default upper bound for one asset load. @category Assets */
|
|
10
|
+
const DEFAULT_ASSET_LOAD_TIMEOUT_MS = 30000;
|
|
11
|
+
/** Low-level timeout raised by an individual asset loader. */
|
|
12
|
+
class AssetLoadTimeoutError extends Error {
|
|
13
|
+
constructor(url, timeoutMs) {
|
|
14
|
+
super(`Asset load timed out after ${timeoutMs} ms: ${url}`);
|
|
15
|
+
this.url = url;
|
|
16
|
+
this.timeoutMs = timeoutMs;
|
|
17
|
+
this.name = 'AssetLoadTimeoutError';
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Run one cache-backed load with request de-duplication and a finite timeout.
|
|
22
|
+
*
|
|
23
|
+
* Late callbacks are ignored after timeout and cannot publish into the cache.
|
|
24
|
+
* A loader may provide `discard` to release resources created by such a late
|
|
25
|
+
* callback. Replaced requests still settle for their original callers, but
|
|
26
|
+
* only the currently registered request may update shared cache state.
|
|
27
|
+
*/
|
|
28
|
+
function loadCachedAsset({ discard, load, replacePending = false, timeoutMs = DEFAULT_ASSET_LOAD_TIMEOUT_MS, url, }) {
|
|
29
|
+
assertAssetLoadTimeout(timeoutMs);
|
|
30
|
+
if (!replacePending) {
|
|
31
|
+
const pending = CacheManager.getPromise(url);
|
|
32
|
+
if (pending != null) {
|
|
33
|
+
return pending;
|
|
34
|
+
}
|
|
35
|
+
const cached = CacheManager.getAsset(url);
|
|
36
|
+
if (cached != null) {
|
|
37
|
+
return Promise.resolve(cached);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
let active = true;
|
|
41
|
+
let cancel;
|
|
42
|
+
let resolvePromise;
|
|
43
|
+
let rejectPromise;
|
|
44
|
+
const promise = new Promise((resolve, reject) => {
|
|
45
|
+
resolvePromise = resolve;
|
|
46
|
+
rejectPromise = reject;
|
|
47
|
+
});
|
|
48
|
+
CacheManager.setPromise(url, promise);
|
|
49
|
+
const timer = setTimeout(() => {
|
|
50
|
+
if (!active) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
active = false;
|
|
54
|
+
try {
|
|
55
|
+
cancel === null || cancel === void 0 ? void 0 : cancel();
|
|
56
|
+
}
|
|
57
|
+
catch (_a) {
|
|
58
|
+
// Timeout identity wins; cancellation is best-effort cleanup only.
|
|
59
|
+
}
|
|
60
|
+
CacheManager.deletePromise(url, promise);
|
|
61
|
+
rejectPromise(new AssetLoadTimeoutError(url, timeoutMs));
|
|
62
|
+
}, timeoutMs);
|
|
63
|
+
const resolve = (asset) => {
|
|
64
|
+
if (!active) {
|
|
65
|
+
discard === null || discard === void 0 ? void 0 : discard(asset);
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
active = false;
|
|
69
|
+
clearTimeout(timer);
|
|
70
|
+
if (CacheManager.getPromise(url) === promise) {
|
|
71
|
+
CacheManager.setAsset(url, asset);
|
|
72
|
+
CacheManager.deletePromise(url, promise);
|
|
73
|
+
}
|
|
74
|
+
resolvePromise(asset);
|
|
75
|
+
};
|
|
76
|
+
const reject = (error) => {
|
|
77
|
+
if (!active) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
active = false;
|
|
81
|
+
clearTimeout(timer);
|
|
82
|
+
CacheManager.deletePromise(url, promise);
|
|
83
|
+
rejectPromise(error);
|
|
84
|
+
};
|
|
85
|
+
try {
|
|
86
|
+
cancel = load(resolve, reject);
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
reject(error);
|
|
90
|
+
}
|
|
91
|
+
return promise;
|
|
92
|
+
}
|
|
93
|
+
function assertAssetLoadTimeout(timeoutMs) {
|
|
94
|
+
if (!Number.isFinite(timeoutMs) || timeoutMs <= 0) {
|
|
95
|
+
throw new Error('Asset load timeout must be a positive finite number');
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export { AssetLoadTimeoutError, DEFAULT_ASSET_LOAD_TIMEOUT_MS, assertAssetLoadTimeout, loadCachedAsset };
|
|
100
|
+
//# sourceMappingURL=cached-asset-load.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cached-asset-load.js","sources":["../../../src/asset/loaders/cached-asset-load.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,22 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { GLTF } from 'three/examples/jsm/loaders/GLTFLoader.js';
|
|
8
8
|
import { LoadingManager, WebGLRenderer } from '../../runtime/index.js';
|
|
9
|
+
/** Default maximum combined response size for one staged model. */
|
|
10
|
+
export declare const DEFAULT_MAX_MODEL_PAYLOAD_BYTES: number;
|
|
11
|
+
/** Default maximum combined primary-response size for staged scene models. */
|
|
12
|
+
export declare const DEFAULT_MAX_TOTAL_MODEL_PAYLOAD_BYTES: number;
|
|
13
|
+
/** Exact response-byte result from a detached, non-caching glTF load. */
|
|
14
|
+
export interface DetachedGLTFLoad {
|
|
15
|
+
gltf: GLTF;
|
|
16
|
+
payloadBytes: number;
|
|
17
|
+
}
|
|
18
|
+
/** Error raised when an actual model response exceeds its configured ceiling. */
|
|
19
|
+
export declare class GLTFPayloadLimitError extends Error {
|
|
20
|
+
readonly url: string;
|
|
21
|
+
readonly actualBytes: number;
|
|
22
|
+
readonly limitBytes: number;
|
|
23
|
+
constructor(url: string, actualBytes: number, limitBytes: number);
|
|
24
|
+
}
|
|
9
25
|
/** Options for retrieving a cached GLTF. @category Assets */
|
|
10
26
|
export interface GetGLTFOptions {
|
|
11
27
|
/**
|
|
@@ -43,7 +59,16 @@ export declare class GLTFAssetLoader {
|
|
|
43
59
|
* suitable for placing into multiple entities, call {@link GLTFAssetLoader.getGLTF}
|
|
44
60
|
* (or `AssetManager.getGLTF`) by key after the load resolves.
|
|
45
61
|
*/
|
|
46
|
-
static loadGLTF(
|
|
62
|
+
static loadGLTF(urlOrKey: string, key?: string, timeoutMs?: number): Promise<GLTF>;
|
|
63
|
+
/**
|
|
64
|
+
* Fetch and parse a glTF without touching the shared URL, promise, or key
|
|
65
|
+
* caches. The glTF/GLB response plus external glTF buffers and images are
|
|
66
|
+
* measured from their actual decoded bytes; `Content-Length` is used only as
|
|
67
|
+
* an early rejection signal.
|
|
68
|
+
*/
|
|
69
|
+
static loadGLTFDetached(url: string, maxPayloadBytes?: number): Promise<DetachedGLTFLoad>;
|
|
70
|
+
/** Clone a glTF object tree while retaining its renderer resources by reference. */
|
|
71
|
+
static cloneGLTF(gltf: GLTF): GLTF;
|
|
47
72
|
/**
|
|
48
73
|
* Get a cached GLTF by logical key.
|
|
49
74
|
*
|
|
@@ -62,4 +87,6 @@ export declare class GLTFAssetLoader {
|
|
|
62
87
|
*/
|
|
63
88
|
static getGLTF(key: string, options?: GetGLTFOptions): GLTF | null;
|
|
64
89
|
}
|
|
90
|
+
/** Dispose every renderer resource reachable from a detached glTF scene tree. */
|
|
91
|
+
export declare function disposeGLTFResources(gltf: GLTF): void;
|
|
65
92
|
//# sourceMappingURL=gltf-loader.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gltf-loader.d.ts","sourceRoot":"","sources":["../../../src/asset/loaders/gltf-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"gltf-loader.d.ts","sourceRoot":"","sources":["../../../src/asset/loaders/gltf-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,EAAE,IAAI,EAAc,MAAM,0CAA0C,CAAC;AAG5E,OAAO,EAEL,cAAc,EAKd,aAAa,EACd,MAAM,wBAAwB,CAAC;AAOhC,mEAAmE;AACnE,eAAO,MAAM,+BAA+B,QAAgC,CAAC;AAE7E,8EAA8E;AAC9E,eAAO,MAAM,qCAAqC,QACb,CAAC;AAEtC,yEAAyE;AACzE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,IAAI,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,iFAAiF;AACjF,qBAAa,qBAAsB,SAAQ,KAAK;IAE5C,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM;gBAFlB,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM;CAO9B;AAED,6DAA6D;AAC7D,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAID;;;;GAIG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,UAAU,CAAa;IACtC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAc;IACxC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAa;IAEtC;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CACT,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE;QACP,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;KACxB,GACL,IAAI;IAmBP;;;;;;;OAOG;IACH,MAAM,CAAC,QAAQ,CACb,QAAQ,EAAE,MAAM,EAChB,GAAG,CAAC,EAAE,MAAM,EACZ,SAAS,SAAgC,GACxC,OAAO,CAAC,IAAI,CAAC;IAoBhB;;;;;OAKG;WACU,gBAAgB,CAC3B,GAAG,EAAE,MAAM,EACX,eAAe,SAAkC,GAChD,OAAO,CAAC,gBAAgB,CAAC;IA2D5B,oFAAoF;IACpF,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAQlC;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,IAAI,GAAG,IAAI;CAUvE;AAED,iFAAiF;AACjF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAgDrD"}
|