@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dome-gradient.js","sources":["../../src/environment/dome-gradient.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;;;AAKG;AAGH
|
|
1
|
+
{"version":3,"file":"dome-gradient.js","sources":["../../src/environment/dome-gradient.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;;;AAKG;AAGH;;;;;;;;;AASG;AACI,MAAM,YAAY,GAAG,eAAe,CACzC,cAAc,EACd;AACE,IAAA,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;AAClE,IAAA,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;AACtE,IAAA,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE;IACpE,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;IAChD,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;CACrD,EACD,kCAAkC;;;;"}
|
|
@@ -4,6 +4,18 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
+
import { Color } from '../runtime/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* Compute sky/equator/ground hex colors from RGB views, reusing a single shared
|
|
10
|
+
* `Color` scratch object (`out`) instead of allocating one `Color` per channel
|
|
11
|
+
* per frame. Each `getHex()` is read before the next `setRGB()` overwrites
|
|
12
|
+
* `out`, so the shared instance is safe.
|
|
13
|
+
*/
|
|
14
|
+
export declare function computeGradientHexes(out: Color, sky: ArrayLike<number>, equator: ArrayLike<number>, ground: ArrayLike<number>): {
|
|
15
|
+
skyHex: number;
|
|
16
|
+
equatorHex: number;
|
|
17
|
+
groundHex: number;
|
|
18
|
+
};
|
|
7
19
|
declare const EnvironmentSystem_base: import("elics").SystemConstructor<import("elics").SystemSchema, {
|
|
8
20
|
domeTextures: {
|
|
9
21
|
required: import("elics").Component<{}>[];
|
|
@@ -35,10 +47,10 @@ declare const EnvironmentSystem_base: import("elics").SystemConstructor<import("
|
|
|
35
47
|
* Unified background and image‑based lighting system.
|
|
36
48
|
*
|
|
37
49
|
* @remarks
|
|
38
|
-
* -
|
|
50
|
+
* - {@link DomeTexture} writes an HDR/LDR equirectangular texture to `scene.background`; {@link DomeGradient} renders a procedural, clipping-proof sky mesh.
|
|
39
51
|
* - IBL is driven by {@link IBLTexture} ("room" or HDR/LDR equirect via PMREM) or {@link IBLGradient} (PMREM of a gradient scene) and writes to `scene.environment`.
|
|
40
52
|
* - Rotation and intensity hooks forward to `scene.backgroundRotation`, `scene.backgroundIntensity`, and `scene.environmentRotation`, `scene.environmentIntensity`.
|
|
41
|
-
* -
|
|
53
|
+
* - AR sessions always hide authored backgrounds for passthrough while retaining IBL.
|
|
42
54
|
* - PMREM targets are regenerated only when sources change; the dome mesh and geometry are reused.
|
|
43
55
|
*
|
|
44
56
|
* @category Environment & Lighting
|
|
@@ -64,6 +76,7 @@ export declare class EnvironmentSystem extends EnvironmentSystem_base {
|
|
|
64
76
|
private recenterYawOffset;
|
|
65
77
|
private resetListenerCleanup;
|
|
66
78
|
private needsResetListener;
|
|
79
|
+
private arEnvironment;
|
|
67
80
|
init(): void;
|
|
68
81
|
update(): void;
|
|
69
82
|
private processBackground;
|
|
@@ -82,9 +95,12 @@ export declare class EnvironmentSystem extends EnvironmentSystem_base {
|
|
|
82
95
|
private onXRSessionEnd;
|
|
83
96
|
private onReferenceSpaceReset;
|
|
84
97
|
private applyRecenterCompensation;
|
|
85
|
-
private
|
|
98
|
+
private updateSceneARMode;
|
|
86
99
|
private ensureGradientDome;
|
|
87
100
|
private clearGradientDome;
|
|
101
|
+
private clearGradientEnvironment;
|
|
102
|
+
private clearBackgroundSource;
|
|
103
|
+
private clearIBLSource;
|
|
88
104
|
}
|
|
89
105
|
export {};
|
|
90
106
|
//# sourceMappingURL=environment-system.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment-system.d.ts","sourceRoot":"","sources":["../../src/environment/environment-system.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"environment-system.d.ts","sourceRoot":"","sources":["../../src/environment/environment-system.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,OAAO,EAEL,KAAK,EAQN,MAAM,qBAAqB,CAAC;AAW7B;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,KAAK,EACV,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,EACtB,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,EAC1B,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,GACxB;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAK3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,iBAAkB,SAAQ,sBAKrC;IACA,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,gBAAgB,CAAC,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,OAAO,CAAC,aAAa,CAAgC;IAErD,IAAI,IAAI,IAAI;IAiCZ,MAAM,IAAI,IAAI;YAoDA,iBAAiB;IAwB/B,OAAO,CAAC,+BAA+B;YASzB,2BAA2B;IAoBzC,OAAO,CAAC,qBAAqB;YAef,kBAAkB;YAgClB,UAAU;IAwBxB,OAAO,CAAC,oBAAoB;YASd,gBAAgB;IAwB9B,OAAO,CAAC,cAAc;YAaR,iBAAiB;IAsD/B,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,gBAAgB,CAStB;IAEF,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,cAAc,CAMpB;IAEF,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,yBAAyB;IA2BjC,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,kBAAkB;IAkC1B,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,wBAAwB;IAQhC,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,cAAc;CAUvB"}
|
|
@@ -9,6 +9,7 @@ import { DomeTexture } from './dome-texture.js';
|
|
|
9
9
|
import { GradientEnvironment, createGradientMaterial } from './gradient-environment.js';
|
|
10
10
|
import { IBLGradient } from './ibl-gradient.js';
|
|
11
11
|
import { IBLTexture } from './ibl-texture.js';
|
|
12
|
+
import { SceneAREnvironmentController } from './scene-ar-environment.js';
|
|
12
13
|
import { Color, PMREMGenerator, EquirectangularReflectionMapping, Mesh, SphereGeometry, BackSide } from 'three';
|
|
13
14
|
|
|
14
15
|
/**
|
|
@@ -17,14 +18,26 @@ import { Color, PMREMGenerator, EquirectangularReflectionMapping, Mesh, SphereGe
|
|
|
17
18
|
* This source code is licensed under the MIT license found in the
|
|
18
19
|
* LICENSE file in the root directory of this source tree.
|
|
19
20
|
*/
|
|
21
|
+
/**
|
|
22
|
+
* Compute sky/equator/ground hex colors from RGB views, reusing a single shared
|
|
23
|
+
* `Color` scratch object (`out`) instead of allocating one `Color` per channel
|
|
24
|
+
* per frame. Each `getHex()` is read before the next `setRGB()` overwrites
|
|
25
|
+
* `out`, so the shared instance is safe.
|
|
26
|
+
*/
|
|
27
|
+
function computeGradientHexes(out, sky, equator, ground) {
|
|
28
|
+
const skyHex = out.setRGB(sky[0], sky[1], sky[2]).getHex();
|
|
29
|
+
const equatorHex = out.setRGB(equator[0], equator[1], equator[2]).getHex();
|
|
30
|
+
const groundHex = out.setRGB(ground[0], ground[1], ground[2]).getHex();
|
|
31
|
+
return { skyHex, equatorHex, groundHex };
|
|
32
|
+
}
|
|
20
33
|
/**
|
|
21
34
|
* Unified background and image‑based lighting system.
|
|
22
35
|
*
|
|
23
36
|
* @remarks
|
|
24
|
-
* -
|
|
37
|
+
* - {@link DomeTexture} writes an HDR/LDR equirectangular texture to `scene.background`; {@link DomeGradient} renders a procedural, clipping-proof sky mesh.
|
|
25
38
|
* - IBL is driven by {@link IBLTexture} ("room" or HDR/LDR equirect via PMREM) or {@link IBLGradient} (PMREM of a gradient scene) and writes to `scene.environment`.
|
|
26
39
|
* - Rotation and intensity hooks forward to `scene.backgroundRotation`, `scene.backgroundIntensity`, and `scene.environmentRotation`, `scene.environmentIntensity`.
|
|
27
|
-
* -
|
|
40
|
+
* - AR sessions always hide authored backgrounds for passthrough while retaining IBL.
|
|
28
41
|
* - PMREM targets are regenerated only when sources change; the dome mesh and geometry are reused.
|
|
29
42
|
*
|
|
30
43
|
* @category Environment & Lighting
|
|
@@ -65,6 +78,7 @@ class EnvironmentSystem extends createSystem({
|
|
|
65
78
|
else {
|
|
66
79
|
this.needsResetListener = true;
|
|
67
80
|
}
|
|
81
|
+
this.updateSceneARMode();
|
|
68
82
|
};
|
|
69
83
|
this.onXRSessionEnd = () => {
|
|
70
84
|
var _a;
|
|
@@ -72,21 +86,25 @@ class EnvironmentSystem extends createSystem({
|
|
|
72
86
|
this.resetListenerCleanup = null;
|
|
73
87
|
this.recenterYawOffset = 0;
|
|
74
88
|
this.needsResetListener = false;
|
|
89
|
+
this.updateSceneARMode(null);
|
|
75
90
|
};
|
|
76
91
|
}
|
|
77
92
|
init() {
|
|
78
93
|
this.pmrem = new PMREMGenerator(this.renderer);
|
|
94
|
+
this.arEnvironment = new SceneAREnvironmentController(this.scene, this.renderer);
|
|
79
95
|
this.cleanupFuncs.push(() => {
|
|
80
96
|
var _a, _b;
|
|
97
|
+
this.arEnvironment.restore();
|
|
81
98
|
this.pmrem.dispose();
|
|
82
99
|
(_a = this.state.environmentTarget) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
83
100
|
this.state.environmentTarget = undefined;
|
|
84
101
|
this.clearGradientDome();
|
|
102
|
+
this.clearGradientEnvironment();
|
|
85
103
|
(_b = this.gradientGeometry) === null || _b === void 0 ? void 0 : _b.dispose();
|
|
86
104
|
this.gradientGeometry = undefined;
|
|
87
105
|
});
|
|
88
106
|
// XR background toggle
|
|
89
|
-
this.cleanupFuncs.push(this.visibilityState.subscribe(() => this.
|
|
107
|
+
this.cleanupFuncs.push(this.visibilityState.subscribe(() => this.updateSceneARMode()));
|
|
90
108
|
// XR recenter compensation
|
|
91
109
|
this.xrManager.addEventListener('sessionstart', this.onXRSessionStart);
|
|
92
110
|
this.xrManager.addEventListener('sessionend', this.onXRSessionEnd);
|
|
@@ -99,7 +117,6 @@ class EnvironmentSystem extends createSystem({
|
|
|
99
117
|
});
|
|
100
118
|
}
|
|
101
119
|
update() {
|
|
102
|
-
var _a;
|
|
103
120
|
// Deferred reset listener attachment
|
|
104
121
|
if (this.needsResetListener) {
|
|
105
122
|
const refSpace = this.xrManager.getReferenceSpace();
|
|
@@ -123,6 +140,9 @@ class EnvironmentSystem extends createSystem({
|
|
|
123
140
|
if (backgroundEntity) {
|
|
124
141
|
this.processBackground(backgroundEntity);
|
|
125
142
|
}
|
|
143
|
+
else {
|
|
144
|
+
this.clearBackgroundSource();
|
|
145
|
+
}
|
|
126
146
|
// Choose IBL source: IBLTexture > IBLGradient
|
|
127
147
|
let iblEntity;
|
|
128
148
|
for (const e of this.queries.iblTextures.entities) {
|
|
@@ -138,12 +158,10 @@ class EnvironmentSystem extends createSystem({
|
|
|
138
158
|
if (iblEntity) {
|
|
139
159
|
this.processIBL(iblEntity);
|
|
140
160
|
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
this.state.gradientDome.position.copy(this.camera.position);
|
|
144
|
-
const r = Math.max(1e-3, (((_a = this.camera) === null || _a === void 0 ? void 0 : _a.far) || 1000) * 0.95);
|
|
145
|
-
this.state.gradientDome.scale.setScalar(r);
|
|
161
|
+
else {
|
|
162
|
+
this.clearIBLSource();
|
|
146
163
|
}
|
|
164
|
+
this.updateSceneARMode();
|
|
147
165
|
}
|
|
148
166
|
// Background handling
|
|
149
167
|
async processBackground(entity) {
|
|
@@ -224,9 +242,13 @@ class EnvironmentSystem extends createSystem({
|
|
|
224
242
|
if (!forIBL) {
|
|
225
243
|
// Background gradient dome mesh
|
|
226
244
|
this.ensureGradientDome(skyHex, equatorHex, groundHex, intensity);
|
|
227
|
-
// Ensure correct visibility for AR sessions (hide in AR)
|
|
228
245
|
if (this.state.gradientDome) {
|
|
229
|
-
this.state.gradientDome.
|
|
246
|
+
this.state.gradientDome.userData.iwsdkSceneDomeGradient = {
|
|
247
|
+
equator: Array.from(equatorV),
|
|
248
|
+
ground: Array.from(groundV),
|
|
249
|
+
intensity,
|
|
250
|
+
sky: Array.from(skyV),
|
|
251
|
+
};
|
|
230
252
|
}
|
|
231
253
|
}
|
|
232
254
|
}
|
|
@@ -303,9 +325,9 @@ class EnvironmentSystem extends createSystem({
|
|
|
303
325
|
const equatorV = entity.getVectorView(IBLGradient, 'equator');
|
|
304
326
|
const groundV = entity.getVectorView(IBLGradient, 'ground');
|
|
305
327
|
const intensity = entity.getValue(IBLGradient, 'intensity') || 1.0;
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
const groundHex =
|
|
328
|
+
// Reuse the shared scratch Color instead of allocating three new Color
|
|
329
|
+
// objects every frame (updateDomeGradient already uses this.tmpColor).
|
|
330
|
+
const { skyHex, equatorHex, groundHex } = computeGradientHexes(this.tmpColor, skyV, equatorV, groundV);
|
|
309
331
|
let gradientScene = this.state.gradientEnvironmentScene;
|
|
310
332
|
if (!gradientScene) {
|
|
311
333
|
gradientScene = new GradientEnvironment(skyHex, equatorHex, groundHex, intensity);
|
|
@@ -326,6 +348,12 @@ class EnvironmentSystem extends createSystem({
|
|
|
326
348
|
}
|
|
327
349
|
}
|
|
328
350
|
const target = this.pmrem.fromScene(gradientScene);
|
|
351
|
+
target.texture.userData.iwsdkSceneIBLGradient = {
|
|
352
|
+
equator: Array.from(equatorV),
|
|
353
|
+
ground: Array.from(groundV),
|
|
354
|
+
intensity,
|
|
355
|
+
sky: Array.from(skyV),
|
|
356
|
+
};
|
|
329
357
|
this.setEnvironment(target);
|
|
330
358
|
// Apply IBL intensity for gradient as well
|
|
331
359
|
this.scene.environmentIntensity = intensity;
|
|
@@ -378,48 +406,28 @@ class EnvironmentSystem extends createSystem({
|
|
|
378
406
|
break;
|
|
379
407
|
}
|
|
380
408
|
}
|
|
381
|
-
//
|
|
382
|
-
|
|
383
|
-
var _a, _b
|
|
384
|
-
const
|
|
385
|
-
const
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
if (this.scene.background !== null &&
|
|
395
|
-
this.state.savedBackground === undefined) {
|
|
396
|
-
this.state.savedBackground = this.scene.background;
|
|
397
|
-
this.scene.background = null;
|
|
398
|
-
}
|
|
399
|
-
// Hide procedural gradient dome in AR as well
|
|
400
|
-
if (this.state.gradientDome) {
|
|
401
|
-
this.state.gradientDome.visible = false;
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
else if (this.state.savedBackground !== undefined) {
|
|
405
|
-
this.scene.background = this.state.savedBackground;
|
|
406
|
-
this.state.savedBackground = undefined;
|
|
407
|
-
// Restore gradient dome visibility when exiting AR
|
|
408
|
-
if (this.state.gradientDome) {
|
|
409
|
-
this.state.gradientDome.visible = true;
|
|
410
|
-
}
|
|
411
|
-
}
|
|
409
|
+
// Apply document AR overrides only while an actual AR session is active.
|
|
410
|
+
updateSceneARMode(sessionOverride) {
|
|
411
|
+
var _a, _b;
|
|
412
|
+
const managerSession = (_b = (_a = this.xrManager).getSession) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
413
|
+
const session = sessionOverride === undefined
|
|
414
|
+
? managerSession === undefined
|
|
415
|
+
? this.world.session
|
|
416
|
+
: managerSession
|
|
417
|
+
: sessionOverride;
|
|
418
|
+
this.arEnvironment.update({
|
|
419
|
+
session,
|
|
420
|
+
authoredBackgrounds: this.state.gradientDome == null ? [] : [this.state.gradientDome],
|
|
421
|
+
});
|
|
412
422
|
}
|
|
413
423
|
// Gradient dome mesh utilities (background)
|
|
414
424
|
ensureGradientDome(skyHex, equatorHex, groundHex, intensity) {
|
|
415
|
-
var _a;
|
|
416
425
|
if (!this.gradientGeometry) {
|
|
417
426
|
this.gradientGeometry = new SphereGeometry(1, 32, 15);
|
|
418
427
|
}
|
|
419
428
|
if (!this.state.gradientDome) {
|
|
420
429
|
const material = createGradientMaterial(skyHex, equatorHex, groundHex, intensity, BackSide);
|
|
421
430
|
const dome = new Mesh(this.gradientGeometry, material);
|
|
422
|
-
dome.scale.setScalar(Math.max(1e-3, (((_a = this.camera) === null || _a === void 0 ? void 0 : _a.far) || 1000) * 0.95));
|
|
423
431
|
dome.renderOrder = -1e9;
|
|
424
432
|
dome.frustumCulled = false;
|
|
425
433
|
this.scene.add(dome);
|
|
@@ -442,12 +450,34 @@ class EnvironmentSystem extends createSystem({
|
|
|
442
450
|
this.state.gradientDome.material.dispose();
|
|
443
451
|
this.state.gradientDome = undefined;
|
|
444
452
|
}
|
|
453
|
+
}
|
|
454
|
+
clearGradientEnvironment() {
|
|
445
455
|
if (this.state.gradientEnvironmentScene) {
|
|
446
456
|
this.state.gradientEnvironmentScene.dispose();
|
|
447
457
|
this.state.gradientEnvironmentScene = undefined;
|
|
448
458
|
}
|
|
459
|
+
this.state.gradientEnvironmentMesh = undefined;
|
|
460
|
+
}
|
|
461
|
+
clearBackgroundSource() {
|
|
462
|
+
this.clearGradientDome();
|
|
463
|
+
if (this.state.backgroundTexture != null &&
|
|
464
|
+
this.scene.background === this.state.backgroundTexture) {
|
|
465
|
+
this.scene.background = null;
|
|
466
|
+
}
|
|
467
|
+
this.state.backgroundTexture = undefined;
|
|
468
|
+
this.state.backgroundSource = undefined;
|
|
469
|
+
}
|
|
470
|
+
clearIBLSource() {
|
|
471
|
+
const target = this.state.environmentTarget;
|
|
472
|
+
if (target != null && this.scene.environment === target.texture) {
|
|
473
|
+
this.scene.environment = null;
|
|
474
|
+
}
|
|
475
|
+
target === null || target === void 0 ? void 0 : target.dispose();
|
|
476
|
+
this.state.environmentTarget = undefined;
|
|
477
|
+
this.state.environmentSource = undefined;
|
|
478
|
+
this.clearGradientEnvironment();
|
|
449
479
|
}
|
|
450
480
|
}
|
|
451
481
|
|
|
452
|
-
export { EnvironmentSystem };
|
|
482
|
+
export { EnvironmentSystem, computeGradientHexes };
|
|
453
483
|
//# sourceMappingURL=environment-system.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment-system.js","sources":["../../src/environment/environment-system.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"environment-system.js","sources":["../../src/environment/environment-system.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gradient-environment.d.ts","sourceRoot":"","sources":["../../src/environment/gradient-environment.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,QAAQ,EAER,SAAS,EAET,KAAK,EACL,cAAc,EAEf,MAAM,qBAAqB,CAAC;AAE7B;;;GAGG;AACH,eAAO,MAAM,eAAe;;;
|
|
1
|
+
{"version":3,"file":"gradient-environment.d.ts","sourceRoot":"","sources":["../../src/environment/gradient-environment.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,QAAQ,EAER,SAAS,EAET,KAAK,EACL,cAAc,EAEf,MAAM,qBAAqB,CAAC;AAE7B;;;GAGG;AACH,eAAO,MAAM,eAAe;;;CAoC3B,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,OAAO,QAAQ,GAAG,OAAO,SAAqB,GACnD,cAAc,CAahB;AAED;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;gBAE1C,MAAM,GAAE,MAAiB,EACzB,UAAU,GAAE,MAAiB,EAC7B,SAAS,GAAE,MAAiB,EAC5B,SAAS,GAAE,MAAY;IAkBzB,OAAO,IAAI,IAAI;CAchB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import '../runtime/three.js';
|
|
2
|
-
import { FrontSide, Scene, SphereGeometry, Mesh, ShaderMaterial,
|
|
2
|
+
import { FrontSide, Scene, SphereGeometry, Mesh, ShaderMaterial, BackSide, Color } from 'three';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
@@ -13,21 +13,27 @@ import { FrontSide, Scene, SphereGeometry, Mesh, ShaderMaterial, Color, BackSide
|
|
|
13
13
|
*/
|
|
14
14
|
const GRADIENT_SHADER = {
|
|
15
15
|
vertexShader: /* glsl */ `
|
|
16
|
-
varying vec3
|
|
16
|
+
varying vec3 vWorldDirection;
|
|
17
17
|
void main() {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
// A sky is directional, not positional. Strip camera translation so the
|
|
19
|
+
// dome follows every browser/XR camera without depending on its parent
|
|
20
|
+
// transform, then pin it to clip-space depth to avoid near/far clipping.
|
|
21
|
+
vec3 worldDirection = mat3(modelMatrix) * position;
|
|
22
|
+
vWorldDirection = worldDirection;
|
|
23
|
+
vec4 clipPosition = projectionMatrix
|
|
24
|
+
* mat4(mat3(viewMatrix))
|
|
25
|
+
* vec4(worldDirection, 1.0);
|
|
26
|
+
gl_Position = clipPosition.xyww;
|
|
21
27
|
}
|
|
22
28
|
`,
|
|
23
29
|
fragmentShader: /* glsl */ `
|
|
24
30
|
uniform vec3 skyColor;
|
|
25
31
|
uniform vec3 equatorColor;
|
|
26
32
|
uniform vec3 groundColor;
|
|
27
|
-
varying vec3
|
|
33
|
+
varying vec3 vWorldDirection;
|
|
28
34
|
|
|
29
35
|
void main() {
|
|
30
|
-
float h = normalize(
|
|
36
|
+
float h = normalize(vWorldDirection).y;
|
|
31
37
|
vec3 color;
|
|
32
38
|
|
|
33
39
|
if (h > 0.0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gradient-environment.js","sources":["../../src/environment/gradient-environment.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAAA;;;;;AAKG;AAYH;;;AAGG;AACI,MAAM,eAAe,GAAG;IAC7B,YAAY,aAAa
|
|
1
|
+
{"version":3,"file":"gradient-environment.js","sources":["../../src/environment/gradient-environment.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAAA;;;;;AAKG;AAYH;;;AAGG;AACI,MAAM,eAAe,GAAG;IAC7B,YAAY,aAAa;;;;;;;;;;;;;AAaxB,EAAA,CAAA;IACD,cAAc,aAAa;;;;;;;;;;;;;;;;;;;;AAoB1B,EAAA,CAAA;;AAGH;;;;;;;;AAQG;AACG,SAAU,sBAAsB,CACpC,MAAc,EACd,UAAkB,EAClB,SAAiB,EACjB,SAAiB,EACjB,IAAA,GAA2C,SAAS,EAAA;IAEpD,OAAO,IAAI,cAAc,CAAC;AACxB,QAAA,QAAQ,EAAE;AACR,YAAA,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;AAChE,YAAA,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;AACxE,YAAA,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE;AACvE,SAAA;QACD,YAAY,EAAE,eAAe,CAAC,YAAY;QAC1C,cAAc,EAAE,eAAe,CAAC,cAAc;QAC9C,IAAI;QACJ,UAAU,EAAE,IAAI,KAAK,QAAQ,GAAG,KAAK,GAAG,IAAI;QAC5C,SAAS,EAAE,IAAI,KAAK,QAAQ,GAAG,KAAK,GAAG,IAAI;AAC5C,KAAA,CAAC;AACJ;AAEA;;;;;;AAMG;AACG,MAAO,mBAAoB,SAAQ,KAAK,CAAA;IAC5C,WAAA,CACE,MAAA,GAAiB,QAAQ,EACzB,UAAA,GAAqB,QAAQ,EAC7B,SAAA,GAAoB,QAAQ,EAC5B,SAAA,GAAoB,GAAG,EAAA;AAEvB,QAAA,KAAK,EAAE;;QAGP,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;AAChD,QAAA,MAAM,QAAQ,GAAG,sBAAsB,CACrC,MAAM,EACN,UAAU,EACV,SAAS,EACT,SAAS,EACT,QAAQ,CACT;QAED,MAAM,cAAc,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;AACnD,QAAA,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC;IAC1B;IAEA,OAAO,GAAA;AACL,QAAA,MAAM,SAAS,GAAG,IAAI,GAAG,EAAO;AAEhC,QAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAW,KAAI;AAC5B,YAAA,IAAI,MAAM,CAAC,MAAM,EAAE;AACjB,gBAAA,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC9B,gBAAA,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;YAChC;AACF,QAAA,CAAC,CAAC;AAEF,QAAA,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAChC,QAAQ,CAAC,OAAO,EAAE;QACpB;IACF;AACD;;;;"}
|
|
@@ -0,0 +1,39 @@
|
|
|
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
|
+
import type { Object3D, Scene, WebGLRenderer } from '../runtime/index.js';
|
|
8
|
+
export interface ResolvedSceneAREnvironment {
|
|
9
|
+
isAR: boolean;
|
|
10
|
+
background: 'transparent' | 'environment';
|
|
11
|
+
}
|
|
12
|
+
export interface SceneAREnvironmentUpdate {
|
|
13
|
+
session?: XRSession | null;
|
|
14
|
+
authoredBackgrounds?: readonly Object3D[];
|
|
15
|
+
}
|
|
16
|
+
/** Resolve the fixed transparent-background policy against the active session. */
|
|
17
|
+
export declare function resolveSceneAREnvironment(session: XRSession | null | undefined): ResolvedSceneAREnvironment;
|
|
18
|
+
/**
|
|
19
|
+
* Applies reversible AR-only background overrides.
|
|
20
|
+
*
|
|
21
|
+
* Entering AR snapshots the visible environment, hides it for passthrough,
|
|
22
|
+
* and restores it exactly when the session ends.
|
|
23
|
+
*/
|
|
24
|
+
export declare class SceneAREnvironmentController {
|
|
25
|
+
private readonly scene;
|
|
26
|
+
private readonly renderer;
|
|
27
|
+
private backgroundSuppressed;
|
|
28
|
+
private backgroundBase;
|
|
29
|
+
private clearAlphaBase;
|
|
30
|
+
private readonly authoredBackgroundVisibility;
|
|
31
|
+
constructor(scene: Scene, renderer: WebGLRenderer);
|
|
32
|
+
update(update: SceneAREnvironmentUpdate): ResolvedSceneAREnvironment;
|
|
33
|
+
restore(): void;
|
|
34
|
+
private updateBackground;
|
|
35
|
+
private restoreBackground;
|
|
36
|
+
private suppressObjectVisibility;
|
|
37
|
+
private restoreObjectVisibility;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=scene-ar-environment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scene-ar-environment.d.ts","sourceRoot":"","sources":["../../src/environment/scene-ar-environment.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE1E,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,aAAa,GAAG,aAAa,CAAC;CAC3C;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B,mBAAmB,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;CAC3C;AAED,kFAAkF;AAClF,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,GACpC,0BAA0B,CAY5B;AAED;;;;;GAKG;AACH,qBAAa,4BAA4B;IAOrC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAP3B,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAgC;gBAG1D,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,aAAa;IAG1C,MAAM,CAAC,MAAM,EAAE,wBAAwB,GAAG,0BAA0B;IAOpE,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,gBAAgB;IAgCxB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,wBAAwB;IAYhC,OAAO,CAAC,uBAAuB;CAMhC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
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
|
+
/** Resolve the fixed transparent-background policy against the active session. */
|
|
8
|
+
function resolveSceneAREnvironment(session) {
|
|
9
|
+
const blendMode = session === null || session === void 0 ? void 0 : session.environmentBlendMode;
|
|
10
|
+
const isAR = blendMode === 'alpha-blend' || blendMode === 'additive';
|
|
11
|
+
if (!isAR) {
|
|
12
|
+
return { isAR: false, background: 'environment' };
|
|
13
|
+
}
|
|
14
|
+
return {
|
|
15
|
+
isAR: true,
|
|
16
|
+
background: 'transparent',
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Applies reversible AR-only background overrides.
|
|
21
|
+
*
|
|
22
|
+
* Entering AR snapshots the visible environment, hides it for passthrough,
|
|
23
|
+
* and restores it exactly when the session ends.
|
|
24
|
+
*/
|
|
25
|
+
class SceneAREnvironmentController {
|
|
26
|
+
constructor(scene, renderer) {
|
|
27
|
+
this.scene = scene;
|
|
28
|
+
this.renderer = renderer;
|
|
29
|
+
this.backgroundSuppressed = false;
|
|
30
|
+
this.backgroundBase = null;
|
|
31
|
+
this.clearAlphaBase = 1;
|
|
32
|
+
this.authoredBackgroundVisibility = new Map();
|
|
33
|
+
}
|
|
34
|
+
update(update) {
|
|
35
|
+
var _a;
|
|
36
|
+
const policy = resolveSceneAREnvironment(update.session);
|
|
37
|
+
this.updateBackground(policy.isAR, (_a = update.authoredBackgrounds) !== null && _a !== void 0 ? _a : []);
|
|
38
|
+
return policy;
|
|
39
|
+
}
|
|
40
|
+
restore() {
|
|
41
|
+
this.restoreBackground();
|
|
42
|
+
this.restoreObjectVisibility(this.authoredBackgroundVisibility);
|
|
43
|
+
}
|
|
44
|
+
updateBackground(suppress, authoredBackgrounds) {
|
|
45
|
+
if (!suppress) {
|
|
46
|
+
this.restoreBackground();
|
|
47
|
+
this.restoreObjectVisibility(this.authoredBackgroundVisibility);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
if (!this.backgroundSuppressed) {
|
|
51
|
+
this.backgroundBase = this.scene.background;
|
|
52
|
+
this.clearAlphaBase = this.renderer.getClearAlpha();
|
|
53
|
+
this.backgroundSuppressed = true;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
if (this.scene.background !== null) {
|
|
57
|
+
this.backgroundBase = this.scene.background;
|
|
58
|
+
}
|
|
59
|
+
const clearAlpha = this.renderer.getClearAlpha();
|
|
60
|
+
if (clearAlpha !== 0) {
|
|
61
|
+
this.clearAlphaBase = clearAlpha;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
this.scene.background = null;
|
|
65
|
+
this.renderer.setClearAlpha(0);
|
|
66
|
+
this.suppressObjectVisibility(authoredBackgrounds, this.authoredBackgroundVisibility);
|
|
67
|
+
}
|
|
68
|
+
restoreBackground() {
|
|
69
|
+
if (!this.backgroundSuppressed) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
this.scene.background = this.backgroundBase;
|
|
73
|
+
this.renderer.setClearAlpha(this.clearAlphaBase);
|
|
74
|
+
this.backgroundSuppressed = false;
|
|
75
|
+
}
|
|
76
|
+
suppressObjectVisibility(objects, visibility) {
|
|
77
|
+
for (const object of objects) {
|
|
78
|
+
if (!visibility.has(object)) {
|
|
79
|
+
visibility.set(object, object.visible);
|
|
80
|
+
}
|
|
81
|
+
object.visible = false;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
restoreObjectVisibility(visibility) {
|
|
85
|
+
for (const [object, wasVisible] of visibility) {
|
|
86
|
+
object.visible = wasVisible;
|
|
87
|
+
}
|
|
88
|
+
visibility.clear();
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export { SceneAREnvironmentController, resolveSceneAREnvironment };
|
|
93
|
+
//# sourceMappingURL=scene-ar-environment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scene-ar-environment.js","sources":["../../src/environment/scene-ar-environment.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
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
|
+
import { HandleStore } from '@pmndrs/handle';
|
|
8
|
+
/**
|
|
9
|
+
* Pure helpers backing {@link GrabSystem.forceRelease} and
|
|
10
|
+
* {@link GrabSystem.getHolderHand}. Kept side-effect-free and dependency-light
|
|
11
|
+
* so they can be unit-tested without spinning up the full ECS / xr-input
|
|
12
|
+
* import chain.
|
|
13
|
+
*
|
|
14
|
+
* Not part of the public package API surface — `grab-system.ts` is the only
|
|
15
|
+
* intended caller.
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Cancel every active pointer on a grab `handle`. Safe to call when `handle`
|
|
19
|
+
* is `undefined`, when the entity is not currently held, or when the
|
|
20
|
+
* underlying `cancel()` throws (errors are swallowed to match the cleanup
|
|
21
|
+
* semantics already used inside `GrabSystem` on Handle-component disqualify).
|
|
22
|
+
*/
|
|
23
|
+
export declare function cancelGrabHandle(handle: HandleStore<unknown> | undefined): void;
|
|
24
|
+
/**
|
|
25
|
+
* Determine which controller is currently holding the entity backing
|
|
26
|
+
* `handle`, given the candidate pointer IDs per hand.
|
|
27
|
+
*
|
|
28
|
+
* Each hand contributes the IDs of every pointer kind that can capture a
|
|
29
|
+
* grab handle today — near grabs use the `grab` sub-pointer, distance grabs
|
|
30
|
+
* use the `ray` sub-pointer (per `pointerEventsType` on the handle's
|
|
31
|
+
* object). Passing both keeps `getHolderHand` correct across both grab
|
|
32
|
+
* styles without leaking pointer-kind selection into callers.
|
|
33
|
+
*
|
|
34
|
+
* Returns `'left'` / `'right'` for single-hand grabs, `'left'` for two-hand
|
|
35
|
+
* grabs (deterministic), and `null` when the entity has no active grabs or
|
|
36
|
+
* none of the candidate IDs match.
|
|
37
|
+
*/
|
|
38
|
+
export declare function findHolderHand(handle: HandleStore<unknown> | undefined, leftPointerIds: readonly number[], rightPointerIds: readonly number[]): 'left' | 'right' | null;
|
|
39
|
+
//# sourceMappingURL=grab-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grab-helpers.d.ts","sourceRoot":"","sources":["../../src/grab/grab-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;;;GAQG;AAEH;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,SAAS,GACvC,IAAI,CAON;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,SAAS,EACxC,cAAc,EAAE,SAAS,MAAM,EAAE,EACjC,eAAe,EAAE,SAAS,MAAM,EAAE,GACjC,MAAM,GAAG,OAAO,GAAG,IAAI,CAWzB"}
|