illutions 0.22.1 → 0.23.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/CHANGELOG.md CHANGED
@@ -1,39 +1,51 @@
1
- # Changelog
2
-
3
- ## 0.22.1
4
-
5
- ### Added
6
-
7
- - Added `cfg.render.params` for renderer-specific runtime parameters.
8
- - Added `render.api` output to the infobox.
9
- - Added `.blend` source files to the public example apps.
10
-
11
- ### Changed
12
-
13
- - Renamed `cfg.webgl` and `cfg.webgpu` parameter groups to `params`.
14
-
15
- ## 0.22.0
16
-
17
- ### Changed
18
-
19
- - Updated the framework to Three.js r185.
20
- - Changed the default renderer selection to `render.api = 'auto'`.
21
- - Added `envCtrls.dataType` to configure environment texture data handling.
22
- - Replaced `SsrWebGpuCfg.opacity` with `SsrWebGpuCfg.intensity`.
23
-
24
- ### Fixed
25
-
26
- - Clarified the WebGL/WebGPU renderer switch behavior.
1
+ # Changelog
2
+
3
+ ## 0.23.0
4
+
5
+ ### Added
6
+
7
+ - Added progressive environment map loading.
8
+ - Added `Cam3D` support to `Audio.setListener()` targets.
9
+ - Added support for using the base `Cam3D` class in the `classes.objs3D` registry.
10
+
11
+ ### Fixed
12
+
13
+ - Fixed WebGL environment maps so PMREM-generated textures are not used for `THREE.Scene.background`.
14
+
15
+ ## 0.22.1
16
+
17
+ ### Added
18
+
19
+ - Added `cfg.render.params` for renderer-specific runtime parameters.
20
+ - Added `render.api` output to the infobox.
21
+ - Added `.blend` source files to the public example apps.
22
+
23
+ ### Changed
24
+
25
+ - Renamed `cfg.webgl` and `cfg.webgpu` parameter groups to `params`.
26
+
27
+ ## 0.22.0
28
+
29
+ ### Changed
30
+
31
+ - Updated the framework to Three.js r185.
32
+ - Changed the default renderer selection to `render.api = 'auto'`.
33
+ - Added `envCtrls.dataType` to configure environment texture data handling.
34
+ - Replaced `SsrWebGpuCfg.opacity` with `SsrWebGpuCfg.intensity`.
35
+
36
+ ### Fixed
37
+
38
+ - Clarified the WebGL/WebGPU renderer switch behavior.
27
39
  - Enabled WebGPU renderer loading even when post-processing is disabled.
28
40
 
29
- ## 0.21.9
30
-
31
- ### Changed
32
-
33
- - Removed the `CfgCtrl` class and the related `app.cfgCtrl` access point. Runtime parameters are now updated through the responsible feature APIs, such as `app.audio.set(...)`.
34
-
35
- ## 0.21.8
36
-
37
- ### Changed
38
-
41
+ ## 0.21.9
42
+
43
+ ### Changed
44
+
45
+ - Removed the `CfgCtrl` class and the related `app.cfgCtrl` access point. Runtime parameters are now updated through the responsible feature APIs, such as `app.audio.set(...)`.
46
+
47
+ ## 0.21.8
48
+
49
+ ### Changed
50
+
39
51
  - Added `cfg.audio.enable` to the configuration.
package/dist/main.d.ts CHANGED
@@ -194,13 +194,13 @@ declare class Audio_2 {
194
194
  private setAttribute;
195
195
  private setAudioContext;
196
196
  /**
197
- * Creates a `THREE.AudioListener` and attaches it to the specified object.
197
+ * Creates a `THREE.AudioListener` and attaches it to a named scene object or the active camera managed by `Cam3D`.
198
198
  *
199
199
  * @param params - Parameter object.
200
- * @param params.object - The name of the scene object to attach the listener to.
200
+ * @param params.object - The name of a scene object or the `Cam3D` instance to attach the listener to.
201
201
  */
202
- setListener({ object: name }: {
203
- object: string;
202
+ setListener({ object }: {
203
+ object: string | Cam3D;
204
204
  }): void;
205
205
  private setAllPositionalSoundsCfg;
206
206
  private setPositionalSoundCfg;
@@ -253,7 +253,7 @@ export declare interface AudioCfg {
253
253
  refDistance: number;
254
254
  /**
255
255
  * Determines how quickly the volume falls off with distance.
256
- * @default 5
256
+ * @default 1
257
257
  */
258
258
  rolloffFactor: number;
259
259
  /**
@@ -263,7 +263,7 @@ export declare interface AudioCfg {
263
263
  maxDistance: number;
264
264
  /**
265
265
  * The distance attenuation model used.
266
- * @default 'exponential'
266
+ * @default 'inverse'
267
267
  */
268
268
  distanceModel: 'linear' | 'inverse' | 'exponential';
269
269
  /**
@@ -602,7 +602,7 @@ export declare class Engine {
602
602
  private composer;
603
603
  /* Excluded from this release type: renderer */
604
604
  private renderPipeline;
605
- /* Excluded from this release type: modelReady */
605
+ /* Excluded from this release type: sceneReady */
606
606
  /* Excluded from this release type: rendererReady */
607
607
  private callbacks;
608
608
  private canvas;
@@ -754,7 +754,7 @@ export declare class Engine {
754
754
  private isPostCfg;
755
755
  /* Excluded from this release type: isPostEnabled */
756
756
  private isPostGpu;
757
- private loadModel;
757
+ private loadScene;
758
758
  private pauseObjActions;
759
759
  /**
760
760
  * The method finds a Three.js animation clip by name, validates that it exists within the loaded GLTF and plays it via the `THREE.AnimationMixer`. It supports fade-in/out speed transitions, reverse playback,
@@ -942,7 +942,9 @@ export declare class Engine {
942
942
  }
943
943
 
944
944
  /**
945
- * This class controls and manages `THREE.Scene.environment` and `THREE.Scene.background` textures (HDRI, EXR, standard textures), including environment lighting and optional animated rotation.
945
+ * Controls `THREE.Scene.environment` and `THREE.Scene.background` textures, including environment lighting and optional rotation.
946
+ * The first configured map is used for environment lighting and the initial background. Additional maps replace only the visible background after loading.
947
+ * WebGL uses a PMREM-processed texture for environment lighting while keeping the loaded texture for the visible background.
946
948
  * @category Core
947
949
  */
948
950
  export declare class EnvCtrls {
@@ -950,25 +952,36 @@ export declare class EnvCtrls {
950
952
  private engine;
951
953
  private modules;
952
954
  /* Excluded from this release type: envReady */
953
- /* Excluded from this release type: textureReady */
955
+ /* Excluded from this release type: textReady */
956
+ /* Excluded from this release type: bgdReady */
954
957
  private envEnabled;
955
958
  private envInit;
959
+ private envLoadId;
956
960
  private envIntensity;
957
- private bgIntensity;
958
- private bgBlurriness;
961
+ private bgdIntensity;
962
+ private bgdBlurriness;
959
963
  private rotation;
960
964
  private rotationSpeed;
961
- private timeBgRot;
965
+ private envType;
966
+ private envMaps;
967
+ private envText;
968
+ private bgdText;
962
969
  private callback;
970
+ private frameWaiters;
971
+ private timeBgdRot;
963
972
  /* Excluded from this release type: __constructor */
964
973
  /* Excluded from this release type: init */
974
+ private applyBgds;
965
975
  private applyEnv;
976
+ private disposePrevBgd;
977
+ private disposeText;
966
978
  /**
967
- * Enables the environment system. Loads an environment texture and applies it to `THREE.Scene.environment` and `THREE.Scene.background`.
968
-
979
+ * Enables environment and background handling.
980
+ * The first map is applied to `THREE.Scene.environment` and `THREE.Scene.background`; additional maps load in order and replace only `THREE.Scene.background`.
981
+ * WebGL uses a PMREM-processed texture for `THREE.Scene.environment` and the loaded texture for `THREE.Scene.background`.
969
982
  * @param params - Optional environment loading parameters. If provided, both `type` and `map` are required.
970
- * @param params.type - Environment map type. Defaults to `cfg.envCtrls.type`.
971
- * @param params.map - Environment map path or URL. Defaults to `cfg.envCtrls.map`.
983
+ * @param params.type - Environment map file type. Defaults to `cfg.envCtrls.type`.
984
+ * @param params.map - Ordered environment map paths. Defaults to `cfg.envCtrls.map`.
972
985
  */
973
986
  enable(params?: {
974
987
  type: EnvCtrlsCfg["type"];
@@ -976,21 +989,27 @@ export declare class EnvCtrls {
976
989
  }): void;
977
990
  /** Disables the environment system and resets all values. */
978
991
  disable(): void;
979
- /** Returns the current environment controls parameters. */
992
+ /**
993
+ * Returns the current runtime environment control values.
994
+ * @returns A snapshot of the mutable runtime settings.
995
+ */
980
996
  get(): Partial<EnvCtrlsCfg>;
981
997
  /**
982
998
  * Returns whether the environment system is currently enabled.
983
999
  * @returns `true` if `EnvCtrls` is currently enabled, otherwise `false`.
984
1000
  */
985
1001
  isEnabled(): boolean;
986
- private loadTexture;
1002
+ private loadText;
987
1003
  /**
988
- * Sets one or multiple environment control parameters at runtime.
989
- * @param params - Object containing any subset of environment control parameters.
1004
+ * Updates supported environment control values at runtime.
1005
+ * @param params - Runtime values to update: rotation speed, intensities, background blurriness or rotation.
990
1006
  */
991
1007
  set(params: Partial<EnvCtrlsCfg>): void;
992
1008
  private setEnv;
1009
+ private setBgd;
993
1010
  private startEnv;
1011
+ private waitFrames;
1012
+ private resolveFrameWaiters;
994
1013
  private update;
995
1014
  }
996
1015
 
@@ -1030,10 +1049,12 @@ export declare interface EnvCtrlsCfg {
1030
1049
  */
1031
1050
  load: boolean;
1032
1051
  /**
1033
- * Path to the environment map.
1034
- * @default ''
1052
+ * Ordered paths to the environment map.
1053
+ * The first map is used for `THREE.Scene.environment` and `THREE.Scene.background`.
1054
+ * Additional maps are loaded sequentially and replace only `THREE.Scene.background`.
1055
+ * @default []
1035
1056
  */
1036
- map: string;
1057
+ map: string[];
1037
1058
  /**
1038
1059
  * Environment and background rotation values in degrees.
1039
1060
  * @default { x: 0, y: 0, z: 0 }
@@ -1277,7 +1298,7 @@ export declare interface GuiCfg {
1277
1298
  inspector: {
1278
1299
  /**
1279
1300
  * Activates the inspector for runtime property control via lazy loading.
1280
- * @default true
1301
+ * @default false
1281
1302
  */
1282
1303
  enable: boolean;
1283
1304
  };
@@ -1319,9 +1340,9 @@ export declare interface HemisphereCfg {
1319
1340
  export declare interface InfoBoxCfg {
1320
1341
  /**
1321
1342
  * Enables or disables infobox data collection.
1322
- * @default true
1343
+ * @default false
1323
1344
  */
1324
- enabled: boolean;
1345
+ enable: boolean;
1325
1346
  /**
1326
1347
  * Shows the FPS value.
1327
1348
  * @default true
@@ -1453,7 +1474,7 @@ export declare interface MenuBarCfg {
1453
1474
  enable: boolean;
1454
1475
  /**
1455
1476
  * Background color of the menu bar.
1456
- * @default '#F40B5780'
1477
+ * @default '#ffffff29'
1457
1478
  */
1458
1479
  backgroundColor: THREE_TYPE.ColorRepresentation;
1459
1480
  /**
@@ -1518,7 +1539,7 @@ export declare interface MeshCfg {
1518
1539
  * @category Cfg
1519
1540
  */
1520
1541
  export declare interface ModelCfg {
1521
- compression: {
1542
+ compress: {
1522
1543
  /**
1523
1544
  * Mesh compression used by the GLTF/GLB file.
1524
1545
  * @default 'none'