From 62ebf42b89c1d21ae5ba9dd344b27887083e89e4 Mon Sep 17 00:00:00 2001 From: "Raoul v. R" Date: Sat, 1 Jul 2023 00:00:59 +0200 Subject: [PATCH 01/18] Update dependencies --- demo/src/demos/AntialiasingDemo.js | 10 +++++----- demo/src/demos/BloomDemo.js | 12 ++++++------ demo/src/demos/BlurDemo.js | 12 ++++++------ demo/src/demos/ColorDepthDemo.js | 10 +++++----- demo/src/demos/ColorGradingDemo.js | 10 +++++----- demo/src/demos/DepthOfFieldDemo.js | 10 +++++----- demo/src/demos/GlitchDemo.js | 10 +++++----- demo/src/demos/GodRaysDemo.js | 10 +++++----- demo/src/demos/OutlineDemo.js | 14 +++++++------- demo/src/demos/PatternDemo.js | 10 +++++----- demo/src/demos/PixelationDemo.js | 10 +++++----- demo/src/demos/SSAODemo.js | 10 +++++----- demo/src/demos/ShockWaveDemo.js | 10 +++++----- demo/src/demos/TextureDemo.js | 10 +++++----- demo/src/demos/ToneMappingDemo.js | 10 +++++----- manual/assets/js/src/demos/bloom.js | 8 ++++---- manual/assets/js/src/demos/blur.js | 12 ++++++------ manual/assets/js/src/demos/brightness-contrast.js | 12 ++++++------ manual/assets/js/src/demos/chromatic-aberration.js | 8 ++++---- manual/assets/js/src/demos/color-depth.js | 8 ++++---- manual/assets/js/src/demos/depth-of-field.js | 8 ++++---- manual/assets/js/src/demos/depth-picking.js | 12 ++++++------ manual/assets/js/src/demos/dot-screen.js | 8 ++++---- manual/assets/js/src/demos/fxaa.js | 12 ++++++------ manual/assets/js/src/demos/glitch.js | 8 ++++---- manual/assets/js/src/demos/god-rays.js | 8 ++++---- manual/assets/js/src/demos/grid.js | 8 ++++---- manual/assets/js/src/demos/hue-saturation.js | 12 ++++++------ manual/assets/js/src/demos/lut.js | 12 ++++++------ manual/assets/js/src/demos/msaa.js | 12 ++++++------ manual/assets/js/src/demos/outline.js | 12 ++++++------ manual/assets/js/src/demos/pixelation.js | 8 ++++---- manual/assets/js/src/demos/scanlines.js | 8 ++++---- manual/assets/js/src/demos/sepia.js | 12 ++++++------ manual/assets/js/src/demos/smaa.js | 12 ++++++------ manual/assets/js/src/demos/ssao.js | 12 ++++++------ manual/assets/js/src/demos/texture.js | 12 ++++++------ manual/assets/js/src/demos/tilt-shift.js | 12 ++++++------ manual/assets/js/src/demos/tone-mapping.js | 8 ++++---- manual/assets/js/src/demos/vignette.js | 8 ++++---- package.json | 4 ++-- 41 files changed, 207 insertions(+), 207 deletions(-) diff --git a/demo/src/demos/AntialiasingDemo.js b/demo/src/demos/AntialiasingDemo.js index 4c71764d7..def536046 100644 --- a/demo/src/demos/AntialiasingDemo.js +++ b/demo/src/demos/AntialiasingDemo.js @@ -157,11 +157,11 @@ export class AntialiasingDemo extends PostProcessingDemo { const { position, quaternion } = camera; const controls = new SpatialControls(position, quaternion, domElement); const settings = controls.settings; - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.translation.setSensitivity(3.0); - settings.translation.setDamping(0.1); - controls.setPosition(4, 8, 0.75); + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.translation.sensitivity = 3.0; + settings.translation.damping = 0.1; + controls.position.set(4, 8, 0.75); controls.lookAt(-0.5, 6.5, -0.25); this.controls = controls; diff --git a/demo/src/demos/BloomDemo.js b/demo/src/demos/BloomDemo.js index 4a429f59c..ff0f4ff79 100644 --- a/demo/src/demos/BloomDemo.js +++ b/demo/src/demos/BloomDemo.js @@ -218,12 +218,12 @@ export class BloomDemo extends PostProcessingDemo { const { position, quaternion } = camera; const controls = new SpatialControls(position, quaternion, domElement); const settings = controls.settings; - settings.general.setMode(ControlMode.THIRD_PERSON); - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.translation.setEnabled(false); - settings.zoom.setSensitivity(1.0); - controls.setPosition(-10, 6, 15); + settings.general.mode = ControlMode.THIRD_PERSON; + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.translation.enabled = false; + settings.zoom.sensitivity = 1.0; + controls.position.set(-10, 6, 15); this.controls = controls; // Sky diff --git a/demo/src/demos/BlurDemo.js b/demo/src/demos/BlurDemo.js index ac9ccaf66..5701b01da 100644 --- a/demo/src/demos/BlurDemo.js +++ b/demo/src/demos/BlurDemo.js @@ -146,12 +146,12 @@ export class BlurDemo extends PostProcessingDemo { const { position, quaternion } = camera; const controls = new SpatialControls(position, quaternion, domElement); const settings = controls.settings; - settings.general.setMode(ControlMode.THIRD_PERSON); - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.translation.setEnabled(false); - settings.zoom.setSensitivity(1.0); - controls.setPosition(-15, 0, -15); + settings.general.mode = ControlMode.THIRD_PERSON; + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.translation.enabled = false; + settings.zoom.sensitivity = 1.0; + controls.position.set(-15, 0, -15); this.controls = controls; // Sky diff --git a/demo/src/demos/ColorDepthDemo.js b/demo/src/demos/ColorDepthDemo.js index c1a8d3d1c..0382022c8 100644 --- a/demo/src/demos/ColorDepthDemo.js +++ b/demo/src/demos/ColorDepthDemo.js @@ -103,11 +103,11 @@ export class ColorDepthDemo extends PostProcessingDemo { const { position, quaternion } = camera; const controls = new SpatialControls(position, quaternion, domElement); const settings = controls.settings; - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.translation.setSensitivity(3.0); - settings.translation.setDamping(0.1); - controls.setPosition(-9, 0.5, 0); + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.translation.sensitivity = 3.0; + settings.translation.damping = 0.1; + controls.position.set(-9, 0.5, 0); controls.lookAt(0, 3, -3.5); this.controls = controls; diff --git a/demo/src/demos/ColorGradingDemo.js b/demo/src/demos/ColorGradingDemo.js index 346a85543..8deefd9d6 100644 --- a/demo/src/demos/ColorGradingDemo.js +++ b/demo/src/demos/ColorGradingDemo.js @@ -228,11 +228,11 @@ export class ColorGradingDemo extends PostProcessingDemo { const { position, quaternion } = camera; const controls = new SpatialControls(position, quaternion, domElement); const settings = controls.settings; - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.translation.setSensitivity(3.0); - settings.translation.setDamping(0.1); - controls.setPosition(-9, 0.5, 0); + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.translation.sensitivity = 3.0; + settings.translation.damping = 0.1; + controls.position.set(-9, 0.5, 0); controls.lookAt(0, 3, -3.5); this.controls = controls; diff --git a/demo/src/demos/DepthOfFieldDemo.js b/demo/src/demos/DepthOfFieldDemo.js index ce1078791..1c9493766 100644 --- a/demo/src/demos/DepthOfFieldDemo.js +++ b/demo/src/demos/DepthOfFieldDemo.js @@ -151,11 +151,11 @@ export class DepthOfFieldDemo extends PostProcessingDemo { const { position, quaternion } = camera; const controls = new SpatialControls(position, quaternion, domElement); const settings = controls.settings; - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.translation.setSensitivity(3.0); - settings.translation.setDamping(0.1); - controls.setPosition(-2.3684, 0.5964, -1.3052); + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.translation.sensitivity = 3.0; + settings.translation.damping = 0.1; + controls.position.set(-2.3684, 0.5964, -1.3052); controls.lookAt(-1.4265, 0.6513, -1.6365); this.controls = controls; diff --git a/demo/src/demos/GlitchDemo.js b/demo/src/demos/GlitchDemo.js index 0e43d4c56..9b005b76d 100644 --- a/demo/src/demos/GlitchDemo.js +++ b/demo/src/demos/GlitchDemo.js @@ -143,11 +143,11 @@ export class GlitchDemo extends PostProcessingDemo { const { position, quaternion } = camera; const controls = new SpatialControls(position, quaternion, domElement); const settings = controls.settings; - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.translation.setSensitivity(3.0); - settings.translation.setDamping(0.1); - controls.setPosition(-9, 0.5, 0); + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.translation.sensitivity = 3.0; + settings.translation.damping = 0.1; + controls.position.set(-9, 0.5, 0); controls.lookAt(0, 3, -3.5); this.controls = controls; diff --git a/demo/src/demos/GodRaysDemo.js b/demo/src/demos/GodRaysDemo.js index c965b292d..4bc2bbd8e 100644 --- a/demo/src/demos/GodRaysDemo.js +++ b/demo/src/demos/GodRaysDemo.js @@ -138,11 +138,11 @@ export class GodRaysDemo extends PostProcessingDemo { const { position, quaternion } = camera; const controls = new SpatialControls(position, quaternion, domElement); const settings = controls.settings; - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.translation.setSensitivity(3.0); - settings.translation.setDamping(0.1); - controls.setPosition(9.25, 2.4, 1); + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.translation.sensitivity = 3.0; + settings.translation.damping = 0.1; + controls.position.set(9.25, 2.4, 1); controls.lookAt(8.4, 2.15, 0.5); this.controls = controls; diff --git a/demo/src/demos/OutlineDemo.js b/demo/src/demos/OutlineDemo.js index 010025578..de68ae8f7 100644 --- a/demo/src/demos/OutlineDemo.js +++ b/demo/src/demos/OutlineDemo.js @@ -255,13 +255,13 @@ export class OutlineDemo extends PostProcessingDemo { const { position, quaternion } = camera; const controls = new SpatialControls(position, quaternion, domElement); const settings = controls.settings; - settings.general.setMode(ControlMode.THIRD_PERSON); - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.translation.setEnabled(false); - settings.zoom.setSensitivity(1.0); - settings.zoom.setDamping(0.05); - controls.setPosition(-4, 1.25, -5); + settings.general.mode = ControlMode.THIRD_PERSON; + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.translation.enabled = false; + settings.zoom.sensitivity = 1.0; + settings.zoom.damping = 0.05; + controls.position.set(-4, 1.25, -5); this.controls = controls; // Sky diff --git a/demo/src/demos/PatternDemo.js b/demo/src/demos/PatternDemo.js index 1e8ac0fea..04bb86f5b 100644 --- a/demo/src/demos/PatternDemo.js +++ b/demo/src/demos/PatternDemo.js @@ -119,11 +119,11 @@ export class PatternDemo extends PostProcessingDemo { const { position, quaternion } = camera; const controls = new SpatialControls(position, quaternion, domElement); const settings = controls.settings; - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.translation.setSensitivity(3.0); - settings.translation.setDamping(0.1); - controls.setPosition(-9, 0.5, 0); + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.translation.sensitivity = 3.0; + settings.translation.damping = 0.1; + controls.position.set(-9, 0.5, 0); controls.lookAt(0, 3, -3.5); this.controls = controls; diff --git a/demo/src/demos/PixelationDemo.js b/demo/src/demos/PixelationDemo.js index b8341b473..f0ffbca4e 100644 --- a/demo/src/demos/PixelationDemo.js +++ b/demo/src/demos/PixelationDemo.js @@ -98,11 +98,11 @@ export class PixelationDemo extends PostProcessingDemo { const { position, quaternion } = camera; const controls = new SpatialControls(position, quaternion, domElement); const settings = controls.settings; - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.translation.setSensitivity(3.0); - settings.translation.setDamping(0.1); - controls.setPosition(-9, 0.5, 0); + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.translation.sensitivity = 3.0; + settings.translation.damping = 0.1; + controls.position.set(-9, 0.5, 0); controls.lookAt(0, 3, -3.5); this.controls = controls; diff --git a/demo/src/demos/SSAODemo.js b/demo/src/demos/SSAODemo.js index f217bf7d7..6900e84c6 100644 --- a/demo/src/demos/SSAODemo.js +++ b/demo/src/demos/SSAODemo.js @@ -131,11 +131,11 @@ export class SSAODemo extends PostProcessingDemo { const { position, quaternion } = camera; const controls = new SpatialControls(position, quaternion, domElement); const settings = controls.settings; - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.translation.setSensitivity(3.0); - settings.translation.setDamping(0.1); - controls.setPosition(9.5, 1.65, -0.25); + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.translation.sensitivity = 3.0; + settings.translation.damping = 0.1; + controls.position.set(9.5, 1.65, -0.25); controls.lookAt(8.5, 1.65, -0.25); this.controls = controls; diff --git a/demo/src/demos/ShockWaveDemo.js b/demo/src/demos/ShockWaveDemo.js index f9478053e..119fdb0f5 100644 --- a/demo/src/demos/ShockWaveDemo.js +++ b/demo/src/demos/ShockWaveDemo.js @@ -203,11 +203,11 @@ export class ShockWaveDemo extends PostProcessingDemo { const { position, quaternion } = camera; const controls = new SpatialControls(position, quaternion, domElement); const settings = controls.settings; - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.translation.setSensitivity(3.0); - settings.translation.setDamping(0.1); - controls.setPosition(-8, 1, -0.25); + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.translation.sensitivity = 3.0; + settings.translation.damping = 0.1; + controls.position.set(-8, 1, -0.25); controls.lookAt(target); this.controls = controls; diff --git a/demo/src/demos/TextureDemo.js b/demo/src/demos/TextureDemo.js index aa97edaff..808dec43c 100644 --- a/demo/src/demos/TextureDemo.js +++ b/demo/src/demos/TextureDemo.js @@ -115,11 +115,11 @@ export class TextureDemo extends PostProcessingDemo { const { position, quaternion } = camera; const controls = new SpatialControls(position, quaternion, domElement); const settings = controls.settings; - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.translation.setSensitivity(3.0); - settings.translation.setDamping(0.1); - controls.setPosition(-9, 0.5, 0); + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.translation.sensitivity = 3.0; + settings.translation.damping = 0.1; + controls.position.set(-9, 0.5, 0); controls.lookAt(0, 3, -3.5); this.controls = controls; diff --git a/demo/src/demos/ToneMappingDemo.js b/demo/src/demos/ToneMappingDemo.js index ccf599463..6b2dadae1 100644 --- a/demo/src/demos/ToneMappingDemo.js +++ b/demo/src/demos/ToneMappingDemo.js @@ -109,11 +109,11 @@ export class ToneMappingDemo extends PostProcessingDemo { const { position, quaternion } = camera; const controls = new SpatialControls(position, quaternion, domElement); const settings = controls.settings; - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.translation.setSensitivity(3.0); - settings.translation.setDamping(0.1); - controls.setPosition(-5.15, 8.1, -0.95); + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.translation.sensitivity = 3.0; + settings.translation.damping = 0.1; + controls.position.set(-5.15, 8.1, -0.95); controls.lookAt(-4.4, 8.6, -0.5); this.controls = controls; diff --git a/manual/assets/js/src/demos/bloom.js b/manual/assets/js/src/demos/bloom.js index bf6d257ba..90318fec9 100644 --- a/manual/assets/js/src/demos/bloom.js +++ b/manual/assets/js/src/demos/bloom.js @@ -77,10 +77,10 @@ window.addEventListener("load", () => load().then((assets) => { const camera = new PerspectiveCamera(); const controls = new SpatialControls(camera.position, camera.quaternion, renderer.domElement); const settings = controls.settings; - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.translation.setDamping(0.1); - controls.setPosition(0, 0, 1); + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.translation.damping = 0.1; + controls.position.set(0, 0, 1); controls.lookAt(0, 0, 0); // Scene, Lights, Objects diff --git a/manual/assets/js/src/demos/blur.js b/manual/assets/js/src/demos/blur.js index 9d56b696b..6e9bacf69 100644 --- a/manual/assets/js/src/demos/blur.js +++ b/manual/assets/js/src/demos/blur.js @@ -76,12 +76,12 @@ window.addEventListener("load", () => load().then((assets) => { const camera = new PerspectiveCamera(); const controls = new SpatialControls(camera.position, camera.quaternion, renderer.domElement); const settings = controls.settings; - settings.general.setMode(ControlMode.THIRD_PERSON); - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.zoom.setDamping(0.1); - settings.translation.setEnabled(false); - controls.setPosition(0, 0, 5); + settings.general.mode = ControlMode.THIRD_PERSON; + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.zoom.damping = 0.1; + settings.translation.enabled = false; + controls.position.set(0, 0, 5); // Scene, Lights, Objects diff --git a/manual/assets/js/src/demos/brightness-contrast.js b/manual/assets/js/src/demos/brightness-contrast.js index 8d9c58885..3dc494ffe 100644 --- a/manual/assets/js/src/demos/brightness-contrast.js +++ b/manual/assets/js/src/demos/brightness-contrast.js @@ -66,12 +66,12 @@ window.addEventListener("load", () => load().then((assets) => { const camera = new PerspectiveCamera(); const controls = new SpatialControls(camera.position, camera.quaternion, renderer.domElement); const settings = controls.settings; - settings.general.setMode(ControlMode.THIRD_PERSON); - settings.zoom.setSensitivity(0.05); - settings.zoom.setDamping(0.1); - settings.rotation.setSensitivity(0); - settings.translation.setEnabled(false); - controls.setPosition(0, 0, 1.4); + settings.general.mode = ControlMode.THIRD_PERSON; + settings.zoom.sensitivity = 0.05; + settings.zoom.damping = 0.1; + settings.rotation.enabled = false; + settings.translation.enabled = false; + controls.position.set(0, 0, 1.4); // Scene & Objects diff --git a/manual/assets/js/src/demos/chromatic-aberration.js b/manual/assets/js/src/demos/chromatic-aberration.js index 0866e9845..797a8aa86 100644 --- a/manual/assets/js/src/demos/chromatic-aberration.js +++ b/manual/assets/js/src/demos/chromatic-aberration.js @@ -71,10 +71,10 @@ window.addEventListener("load", () => load().then((assets) => { const camera = new PerspectiveCamera(); const controls = new SpatialControls(camera.position, camera.quaternion, renderer.domElement); const settings = controls.settings; - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.translation.setDamping(0.1); - controls.setPosition(0, 0, 1); + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.translation.damping = 0.1; + controls.position.set(0, 0, 1); controls.lookAt(0, 0, 0); // Scene, Lights, Objects diff --git a/manual/assets/js/src/demos/color-depth.js b/manual/assets/js/src/demos/color-depth.js index 170cb8b48..23b3d820c 100644 --- a/manual/assets/js/src/demos/color-depth.js +++ b/manual/assets/js/src/demos/color-depth.js @@ -71,10 +71,10 @@ window.addEventListener("load", () => load().then((assets) => { const camera = new PerspectiveCamera(); const controls = new SpatialControls(camera.position, camera.quaternion, renderer.domElement); const settings = controls.settings; - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.translation.setDamping(0.1); - controls.setPosition(0, 0, 1); + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.translation.damping = 0.1; + controls.position.set(0, 0, 1); controls.lookAt(0, 0, 0); // Scene, Lights, Objects diff --git a/manual/assets/js/src/demos/depth-of-field.js b/manual/assets/js/src/demos/depth-of-field.js index 2346312e1..5f4b952c4 100644 --- a/manual/assets/js/src/demos/depth-of-field.js +++ b/manual/assets/js/src/demos/depth-of-field.js @@ -73,10 +73,10 @@ window.addEventListener("load", () => load().then((assets) => { const camera = new PerspectiveCamera(); const controls = new SpatialControls(camera.position, camera.quaternion, renderer.domElement); const settings = controls.settings; - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.translation.setDamping(0.1); - controls.setPosition(0, 0, 1); + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.translation.damping = 0.1; + controls.position.set(0, 0, 1); controls.lookAt(0, 0, 0); // Scene, Lights, Objects diff --git a/manual/assets/js/src/demos/depth-picking.js b/manual/assets/js/src/demos/depth-picking.js index b957580da..83f361105 100644 --- a/manual/assets/js/src/demos/depth-picking.js +++ b/manual/assets/js/src/demos/depth-picking.js @@ -79,12 +79,12 @@ window.addEventListener("load", () => load().then((assets) => { const camera = new PerspectiveCamera(); const controls = new SpatialControls(camera.position, camera.quaternion, renderer.domElement); const settings = controls.settings; - settings.general.setMode(ControlMode.THIRD_PERSON); - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.zoom.setDamping(0.1); - settings.translation.setEnabled(false); - controls.setPosition(0, 0, 5); + settings.general.mode(ControlMode.THIRD_PERSON); + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.zoom.damping = 0.1; + settings.translation.enabled = false; + controls.position.set(0, 0, 5); // Scene, Lights, Objects diff --git a/manual/assets/js/src/demos/dot-screen.js b/manual/assets/js/src/demos/dot-screen.js index e4b4f9688..20d53c9bd 100644 --- a/manual/assets/js/src/demos/dot-screen.js +++ b/manual/assets/js/src/demos/dot-screen.js @@ -71,10 +71,10 @@ window.addEventListener("load", () => load().then((assets) => { const camera = new PerspectiveCamera(); const controls = new SpatialControls(camera.position, camera.quaternion, renderer.domElement); const settings = controls.settings; - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.translation.setDamping(0.1); - controls.setPosition(1, 10, 1); + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.translation.damping = 0.1; + controls.position.set(1, 10, 1); controls.lookAt(0, 10, 0); // Scene, Lights, Objects diff --git a/manual/assets/js/src/demos/fxaa.js b/manual/assets/js/src/demos/fxaa.js index 1bb60a648..c89f29ca4 100644 --- a/manual/assets/js/src/demos/fxaa.js +++ b/manual/assets/js/src/demos/fxaa.js @@ -76,12 +76,12 @@ window.addEventListener("load", () => load().then((assets) => { const camera = new PerspectiveCamera(); const controls = new SpatialControls(camera.position, camera.quaternion, renderer.domElement); const settings = controls.settings; - settings.general.setMode(ControlMode.THIRD_PERSON); - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.zoom.setDamping(0.1); - settings.translation.setEnabled(false); - controls.setPosition(0, 0, 5); + settings.general.mode = ControlMode.THIRD_PERSON; + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.zoom.damping = 0.1; + settings.translation.enabled = false; + controls.position.set(0, 0, 5); // Scene, Lights, Objects diff --git a/manual/assets/js/src/demos/glitch.js b/manual/assets/js/src/demos/glitch.js index 7745838f7..77b6012bf 100644 --- a/manual/assets/js/src/demos/glitch.js +++ b/manual/assets/js/src/demos/glitch.js @@ -83,10 +83,10 @@ window.addEventListener("load", () => load().then((assets) => { const camera = new PerspectiveCamera(); const controls = new SpatialControls(camera.position, camera.quaternion, renderer.domElement); const settings = controls.settings; - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.translation.setDamping(0.1); - controls.setPosition(0, 0, 1); + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.translation.damping = 0.1; + controls.position.set(0, 0, 1); controls.lookAt(0, 0, 0); // Scene, Lights, Objects diff --git a/manual/assets/js/src/demos/god-rays.js b/manual/assets/js/src/demos/god-rays.js index c1bc11191..b1e001625 100644 --- a/manual/assets/js/src/demos/god-rays.js +++ b/manual/assets/js/src/demos/god-rays.js @@ -76,10 +76,10 @@ window.addEventListener("load", () => load().then((assets) => { const camera = new PerspectiveCamera(); const controls = new SpatialControls(camera.position, camera.quaternion, renderer.domElement); const settings = controls.settings; - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.translation.setDamping(0.1); - controls.setPosition(-1, -0.3, -30); + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.translation.damping = 0.1; + controls.position.set(-1, -0.3, -30); controls.lookAt(0, 0, -35); // Scene, Lights, Objects diff --git a/manual/assets/js/src/demos/grid.js b/manual/assets/js/src/demos/grid.js index e8df3b105..426fabeed 100644 --- a/manual/assets/js/src/demos/grid.js +++ b/manual/assets/js/src/demos/grid.js @@ -71,10 +71,10 @@ window.addEventListener("load", () => load().then((assets) => { const camera = new PerspectiveCamera(); const controls = new SpatialControls(camera.position, camera.quaternion, renderer.domElement); const settings = controls.settings; - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.translation.setDamping(0.1); - controls.setPosition(0, 0, 1); + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.translation.damping = 0.1; + controls.position.set(0, 0, 1); controls.lookAt(0, 0, 0); // Scene, Lights, Objects diff --git a/manual/assets/js/src/demos/hue-saturation.js b/manual/assets/js/src/demos/hue-saturation.js index 4b1609e93..1e8b2653a 100644 --- a/manual/assets/js/src/demos/hue-saturation.js +++ b/manual/assets/js/src/demos/hue-saturation.js @@ -66,12 +66,12 @@ window.addEventListener("load", () => load().then((assets) => { const camera = new PerspectiveCamera(); const controls = new SpatialControls(camera.position, camera.quaternion, renderer.domElement); const settings = controls.settings; - settings.general.setMode(ControlMode.THIRD_PERSON); - settings.zoom.setSensitivity(0.05); - settings.zoom.setDamping(0.1); - settings.rotation.setSensitivity(0); - settings.translation.setEnabled(false); - controls.setPosition(0, 0, 1.4); + settings.general.mode = ControlMode.THIRD_PERSON; + settings.zoom.sensitivity = 0.05; + settings.zoom.damping = 0.1; + settings.rotation.enabled = false; + settings.translation.enabled = false; + controls.position.set(0, 0, 1.4); // Scene & Objects diff --git a/manual/assets/js/src/demos/lut.js b/manual/assets/js/src/demos/lut.js index 193266384..42b151f3a 100644 --- a/manual/assets/js/src/demos/lut.js +++ b/manual/assets/js/src/demos/lut.js @@ -149,12 +149,12 @@ window.addEventListener("load", () => load().then((assets) => { const camera = new PerspectiveCamera(); const controls = new SpatialControls(camera.position, camera.quaternion, renderer.domElement); const settings = controls.settings; - settings.general.setMode(ControlMode.THIRD_PERSON); - settings.zoom.setSensitivity(0.05); - settings.zoom.setDamping(0.1); - settings.rotation.setSensitivity(0); - settings.translation.setEnabled(false); - controls.setPosition(0, 0, 1.4); + settings.general.mode = ControlMode.THIRD_PERSON; + settings.zoom.sensitivity = 0.05; + settings.zoom.damping = 0.1; + settings.rotation.enabled = false; + settings.translation.enabled = false; + controls.position.set(0, 0, 1.4); // Scene & Objects diff --git a/manual/assets/js/src/demos/msaa.js b/manual/assets/js/src/demos/msaa.js index b4da16336..c3e2bce03 100644 --- a/manual/assets/js/src/demos/msaa.js +++ b/manual/assets/js/src/demos/msaa.js @@ -69,12 +69,12 @@ window.addEventListener("load", () => load().then((assets) => { const camera = new PerspectiveCamera(); const controls = new SpatialControls(camera.position, camera.quaternion, renderer.domElement); const settings = controls.settings; - settings.general.setMode(ControlMode.THIRD_PERSON); - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.zoom.setDamping(0.1); - settings.translation.setEnabled(false); - controls.setPosition(0, 0, 5); + settings.general.mode = ControlMode.THIRD_PERSON; + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.zoom.damping = 0.1; + settings.translation.enabled = false; + controls.position.set(0, 0, 5); // Scene, Lights, Objects diff --git a/manual/assets/js/src/demos/outline.js b/manual/assets/js/src/demos/outline.js index 127a5cb19..5bb32348b 100644 --- a/manual/assets/js/src/demos/outline.js +++ b/manual/assets/js/src/demos/outline.js @@ -109,12 +109,12 @@ window.addEventListener("load", () => load().then((assets) => { const camera = new PerspectiveCamera(); const controls = new SpatialControls(camera.position, camera.quaternion, renderer.domElement); const settings = controls.settings; - settings.general.setMode(ControlMode.THIRD_PERSON); - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.zoom.setDamping(0.1); - settings.translation.setEnabled(false); - controls.setPosition(2, 2, 10); + settings.general.mode = ControlMode.THIRD_PERSON; + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.zoom.damping = 0.1; + settings.translation.enabled = false; + controls.position.set(2, 2, 10); // Scene, Lights, Objects diff --git a/manual/assets/js/src/demos/pixelation.js b/manual/assets/js/src/demos/pixelation.js index a7685858c..eb64bf70a 100644 --- a/manual/assets/js/src/demos/pixelation.js +++ b/manual/assets/js/src/demos/pixelation.js @@ -70,10 +70,10 @@ window.addEventListener("load", () => load().then((assets) => { const camera = new PerspectiveCamera(); const controls = new SpatialControls(camera.position, camera.quaternion, renderer.domElement); const settings = controls.settings; - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.translation.setDamping(0.1); - controls.setPosition(0, 0, 1); + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.translation.damping = 0.1; + controls.position.set(0, 0, 1); controls.lookAt(0, 0, 0); // Scene, Lights, Objects diff --git a/manual/assets/js/src/demos/scanlines.js b/manual/assets/js/src/demos/scanlines.js index ce257f96b..f9244078d 100644 --- a/manual/assets/js/src/demos/scanlines.js +++ b/manual/assets/js/src/demos/scanlines.js @@ -71,10 +71,10 @@ window.addEventListener("load", () => load().then((assets) => { const camera = new PerspectiveCamera(); const controls = new SpatialControls(camera.position, camera.quaternion, renderer.domElement); const settings = controls.settings; - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.translation.setDamping(0.1); - controls.setPosition(0, 0, 1); + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.translation.damping = 0.1; + controls.position.set(0, 0, 1); controls.lookAt(0, 0, 0); // Scene, Lights, Objects diff --git a/manual/assets/js/src/demos/sepia.js b/manual/assets/js/src/demos/sepia.js index c0b3f154c..290c57365 100644 --- a/manual/assets/js/src/demos/sepia.js +++ b/manual/assets/js/src/demos/sepia.js @@ -66,12 +66,12 @@ window.addEventListener("load", () => load().then((assets) => { const camera = new PerspectiveCamera(); const controls = new SpatialControls(camera.position, camera.quaternion, renderer.domElement); const settings = controls.settings; - settings.general.setMode(ControlMode.THIRD_PERSON); - settings.zoom.setSensitivity(0.05); - settings.zoom.setDamping(0.1); - settings.rotation.setSensitivity(0); - settings.translation.setEnabled(false); - controls.setPosition(0, 0, 1.4); + settings.general.mode = ControlMode.THIRD_PERSON; + settings.zoom.sensitivity = 0.05; + settings.zoom.damping = 0.1; + settings.rotation.enabled = false; + settings.translation.enabled = false; + controls.position.set(0, 0, 1.4); // Scene & Objects diff --git a/manual/assets/js/src/demos/smaa.js b/manual/assets/js/src/demos/smaa.js index 914fb2219..f2219e3c1 100644 --- a/manual/assets/js/src/demos/smaa.js +++ b/manual/assets/js/src/demos/smaa.js @@ -80,12 +80,12 @@ window.addEventListener("load", () => load().then((assets) => { const camera = new PerspectiveCamera(); const controls = new SpatialControls(camera.position, camera.quaternion, renderer.domElement); const settings = controls.settings; - settings.general.setMode(ControlMode.THIRD_PERSON); - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.zoom.setDamping(0.1); - settings.translation.setEnabled(false); - controls.setPosition(0, 0, 5); + settings.general.mode = ControlMode.THIRD_PERSON; + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.zoom.damping = 0.1; + settings.translation.enabled = false; + controls.position.set(0, 0, 5); // Scene, Lights, Objects diff --git a/manual/assets/js/src/demos/ssao.js b/manual/assets/js/src/demos/ssao.js index 70c55b74e..ac90147ab 100644 --- a/manual/assets/js/src/demos/ssao.js +++ b/manual/assets/js/src/demos/ssao.js @@ -78,12 +78,12 @@ window.addEventListener("load", () => load().then((assets) => { const camera = new PerspectiveCamera(); const controls = new SpatialControls(camera.position, camera.quaternion, renderer.domElement); const settings = controls.settings; - settings.general.setMode(ControlMode.THIRD_PERSON); - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.zoom.setDamping(0.1); - settings.translation.setEnabled(false); - controls.setPosition(0, 0, 5); + settings.general.mode = ControlMode.THIRD_PERSON; + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.zoom.damping = 0.1; + settings.translation.enabled = false; + controls.position.set(0, 0, 5); // Scene, Lights, Objects diff --git a/manual/assets/js/src/demos/texture.js b/manual/assets/js/src/demos/texture.js index 654f1fe9d..ca0810c27 100644 --- a/manual/assets/js/src/demos/texture.js +++ b/manual/assets/js/src/demos/texture.js @@ -87,12 +87,12 @@ window.addEventListener("load", () => load().then((assets) => { const camera = new PerspectiveCamera(); const controls = new SpatialControls(camera.position, camera.quaternion, renderer.domElement); const settings = controls.settings; - settings.general.setMode(ControlMode.THIRD_PERSON); - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.zoom.setDamping(0.1); - settings.translation.setEnabled(false); - controls.setPosition(0, 0, 5); + settings.general.mode = ControlMode.THIRD_PERSON; + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.zoom.damping = 0.1; + settings.translation.enabled = false; + controls.position.set(0, 0, 5); // Scene, Lights, Objects diff --git a/manual/assets/js/src/demos/tilt-shift.js b/manual/assets/js/src/demos/tilt-shift.js index 83913d5bf..d2484f80b 100644 --- a/manual/assets/js/src/demos/tilt-shift.js +++ b/manual/assets/js/src/demos/tilt-shift.js @@ -67,12 +67,12 @@ window.addEventListener("load", () => load().then((assets) => { const camera = new PerspectiveCamera(); const controls = new SpatialControls(camera.position, camera.quaternion, renderer.domElement); const settings = controls.settings; - settings.general.setMode(ControlMode.THIRD_PERSON); - settings.zoom.setSensitivity(0.05); - settings.zoom.setDamping(0.1); - settings.rotation.setSensitivity(0); - settings.translation.setEnabled(false); - controls.setPosition(0, 0, 1.4); + settings.general.mode = ControlMode.THIRD_PERSON; + settings.zoom.sensitivity = 0.05; + settings.zoom.damping = 0.1; + settings.rotation.enabled = false; + settings.translation.enabled = false; + controls.position.set(0, 0, 1.4); // Scene & Objects diff --git a/manual/assets/js/src/demos/tone-mapping.js b/manual/assets/js/src/demos/tone-mapping.js index 8ecf7fea4..cbbb3a79d 100644 --- a/manual/assets/js/src/demos/tone-mapping.js +++ b/manual/assets/js/src/demos/tone-mapping.js @@ -72,10 +72,10 @@ window.addEventListener("load", () => load().then((assets) => { const camera = new PerspectiveCamera(); const controls = new SpatialControls(camera.position, camera.quaternion, renderer.domElement); const settings = controls.settings; - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.translation.setDamping(0.1); - controls.setPosition(0, 0, 1); + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.translation.damping = 0.1; + controls.position.set(0, 0, 1); controls.lookAt(0, 0, 0); // Scene, Lights, Objects diff --git a/manual/assets/js/src/demos/vignette.js b/manual/assets/js/src/demos/vignette.js index 24779a184..9ca68ca5b 100644 --- a/manual/assets/js/src/demos/vignette.js +++ b/manual/assets/js/src/demos/vignette.js @@ -72,10 +72,10 @@ window.addEventListener("load", () => load().then((assets) => { const camera = new PerspectiveCamera(); const controls = new SpatialControls(camera.position, camera.quaternion, renderer.domElement); const settings = controls.settings; - settings.rotation.setSensitivity(2.2); - settings.rotation.setDamping(0.05); - settings.translation.setDamping(0.1); - controls.setPosition(0, 0, 1); + settings.rotation.sensitivity = 2.2; + settings.rotation.damping = 0.05; + settings.translation.damping = 0.1; + controls.position.set(0, 0, 1); controls.lookAt(0, 0, 0); // Scene, Lights, Objects diff --git a/package.json b/package.json index ee0675bc6..700642feb 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,7 @@ "watch:js": "node esbuild -w" }, "peerDependencies": { - "three": ">= 0.138.0 < 0.154.0" + "three": ">= 0.138.0 < 0.155.0" }, "devDependencies": { "@tweakpane/core": "1.x.x", @@ -116,7 +116,7 @@ "postcss-cli": "10.x.x", "postcss-preset-env": "8.x.x", "sass": "1.x.x", - "spatial-controls": "5.x.x", + "spatial-controls": "6.x.x", "stylelint": "15.x.x", "stylelint-config-standard-scss": "9.x.x", "stylelint-order": "6.x.x", From 146796706ed0e58f198e3ad9fa6649cc2dd1eb67 Mon Sep 17 00:00:00 2001 From: "Raoul v. R" Date: Sat, 1 Jul 2023 00:01:07 +0200 Subject: [PATCH 02/18] Update _highlight-dark.scss --- manual/assets/css/src/themes/_highlight-dark.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manual/assets/css/src/themes/_highlight-dark.scss b/manual/assets/css/src/themes/_highlight-dark.scss index 97c1558f7..0366e89f5 100644 --- a/manual/assets/css/src/themes/_highlight-dark.scss +++ b/manual/assets/css/src/themes/_highlight-dark.scss @@ -18,7 +18,7 @@ /* KeywordType */ .chroma .kt { color: #66D9EF; } /* Name */ .chroma .n { color: #F8F8F2; } /* NameAttribute */ .chroma .na { color: #A6E22E; } - /* NameBuiltin */ .chroma .nb { } + /* NameBuiltin */ .chroma .nb { color: #F8F8F2; } /* NameBuiltinPseudo */ .chroma .bp { } /* NameClass */ .chroma .nc { color: #A6E22E; } /* NameConstant */ .chroma .no { color: #66D9EF; } From 9f6aeaa596dad8d49fb35a4a28d0ee71ecd2bb0e Mon Sep 17 00:00:00 2001 From: "Raoul v. R" Date: Sat, 1 Jul 2023 00:03:12 +0200 Subject: [PATCH 03/18] Update README.md --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 59029b73d..0f5224279 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,12 @@ const composer = new EffectComposer(renderer, { }); ``` +## Tone Mapping + +Tone mapping is the process of converting HDR colors to LDR output colors. When using postprocessing, the `toneMapping` setting on the renderer should be set to `NoToneMapping` (default) and high precision frame buffers should be enabled. Otherwise, colors will be mapped to `[0.0, 1.0]` at the start of the pipeline. To enable tone mapping, use a `ToneMappingEffect` at the end of the pipeline. + +Note that tone mapping is not applied to the clear color when using only the renderer because clearing doesn't involve shaders. Postprocessing applies to the full input image which means that tone mapping will also be applied uniformly. Consequently, the results of tone mapping a clear color background with and without postprocessing will be different, with the postprocessing approach being correct. + ## Performance This library provides an [EffectPass](https://pmndrs.github.io/postprocessing/public/docs/class/src/passes/EffectPass.js~EffectPass.html) which automatically organizes and merges any given combination of effects. This minimizes the amount of render operations and makes it possible to combine many effects without the performance penalties of traditional pass chaining. Additionally, every effect can choose its own [blend function](https://pmndrs.github.io/postprocessing/public/docs/variable/index.html#static-variable-BlendFunction). From e1cf71dc874e465d007b385f87a6e863285cfbf8 Mon Sep 17 00:00:00 2001 From: "Raoul v. R" Date: Sat, 1 Jul 2023 11:19:13 +0200 Subject: [PATCH 04/18] Update depth-picking.js --- manual/assets/js/src/demos/depth-picking.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manual/assets/js/src/demos/depth-picking.js b/manual/assets/js/src/demos/depth-picking.js index 83f361105..49d3a9807 100644 --- a/manual/assets/js/src/demos/depth-picking.js +++ b/manual/assets/js/src/demos/depth-picking.js @@ -79,7 +79,7 @@ window.addEventListener("load", () => load().then((assets) => { const camera = new PerspectiveCamera(); const controls = new SpatialControls(camera.position, camera.quaternion, renderer.domElement); const settings = controls.settings; - settings.general.mode(ControlMode.THIRD_PERSON); + settings.general.mode = ControlMode.THIRD_PERSON; settings.rotation.sensitivity = 2.2; settings.rotation.damping = 0.05; settings.zoom.damping = 0.1; From 5ba3acc60af666de983c40478c830bd4ea1c4490 Mon Sep 17 00:00:00 2001 From: "Raoul v. R" Date: Sat, 1 Jul 2023 11:20:22 +0200 Subject: [PATCH 05/18] Clear render target mask by rendering empty selection Fixes #508 --- src/effects/OutlineEffect.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/effects/OutlineEffect.js b/src/effects/OutlineEffect.js index c7b5ee28b..2974cc660 100644 --- a/src/effects/OutlineEffect.js +++ b/src/effects/OutlineEffect.js @@ -771,6 +771,11 @@ export class OutlineEffect extends Effect { } else if(this.active) { + // Must call render as a workaround for a multisampling bug. + camera.layers.set(selection.layer); + this.maskPass.render(renderer, this.renderTargetMask); + camera.layers.mask = mask; + this.clearPass.render(renderer, this.renderTargetOutline); this.active = false; From 7f62aba8263a44810fc15080a6dcaca8a6736912 Mon Sep 17 00:00:00 2001 From: "Raoul v. R" Date: Sat, 1 Jul 2023 11:21:13 +0200 Subject: [PATCH 06/18] Change defaults adaptive -> false, mode -> ACES_FILMIC, maxLuminance/whitePoint -> 4 --- src/effects/ToneMappingEffect.js | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/effects/ToneMappingEffect.js b/src/effects/ToneMappingEffect.js index d2be541ae..b695b9f13 100644 --- a/src/effects/ToneMappingEffect.js +++ b/src/effects/ToneMappingEffect.js @@ -22,14 +22,13 @@ export class ToneMappingEffect extends Effect { * * The additional parameters only affect the Reinhard2 operator. * - * TODO Change default mode to ACES_FILMIC and white point to 4. * @param {Object} [options] - The options. * @param {BlendFunction} [options.blendFunction=BlendFunction.SRC] - The blend function of this effect. - * @param {Boolean} [options.adaptive=true] - Deprecated. Use mode instead. - * @param {ToneMappingMode} [options.mode=ToneMappingMode.REINHARD2_ADAPTIVE] - The tone mapping mode. + * @param {Boolean} [options.adaptive=false] - Deprecated. Use mode instead. + * @param {ToneMappingMode} [options.mode=ToneMappingMode.ACES_FILMIC] - The tone mapping mode. * @param {Number} [options.resolution=256] - The resolution of the luminance texture. Must be a power of two. - * @param {Number} [options.maxLuminance=16.0] - Deprecated. Same as whitePoint. - * @param {Number} [options.whitePoint=16.0] - The white point. + * @param {Number} [options.maxLuminance=4.0] - Deprecated. Same as whitePoint. + * @param {Number} [options.whitePoint=4.0] - The white point. * @param {Number} [options.middleGrey=0.6] - The middle grey factor. * @param {Number} [options.minLuminance=0.01] - The minimum luminance. Prevents very high exposure in dark scenes. * @param {Number} [options.averageLuminance=1.0] - The average luminance. Used for the non-adaptive Reinhard operator. @@ -38,10 +37,10 @@ export class ToneMappingEffect extends Effect { constructor({ blendFunction = BlendFunction.SRC, - adaptive = true, - mode = adaptive ? ToneMappingMode.REINHARD2_ADAPTIVE : ToneMappingMode.REINHARD2, + adaptive = false, + mode = adaptive ? ToneMappingMode.REINHARD2_ADAPTIVE : ToneMappingMode.ACES_FILMIC, resolution = 256, - maxLuminance = 16.0, + maxLuminance = 4.0, whitePoint = maxLuminance, middleGrey = 0.6, minLuminance = 0.01, @@ -179,7 +178,7 @@ export class ToneMappingEffect extends Effect { } /** - * The white point. Default is `16.0`. + * The white point. Default is `4.0`. * * Only applies to Reinhard2 (Modified & Adaptive). * From 57e78d556d03e47d14f755f6c2175747f1e39171 Mon Sep 17 00:00:00 2001 From: "Raoul v. R" Date: Sat, 1 Jul 2023 11:33:14 +0200 Subject: [PATCH 07/18] Update BackCompat.js --- src/utils/BackCompat.js | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/utils/BackCompat.js b/src/utils/BackCompat.js index a13c4a552..974d0f3a2 100644 --- a/src/utils/BackCompat.js +++ b/src/utils/BackCompat.js @@ -94,3 +94,37 @@ export function copyTextureColorSpace(src, dest) { } } + +/** + * Updates the given fragment shader for the current version of three. + * + * @param {String} fragmentShader - A fragment shader. + * @return {String} The modified fragment shader. + * @ignore + */ + +export function updateFragmentShader(fragmentShader, vertexShader) { + + if(revision >= 154) { + + return fragmentShader.replace("encodings_fragment", "colorspace_fragment"); + + } + + return fragmentShader; + +} + +/** + * Updates the given vertex shader for the current version of three. + * + * @param {String} vertexShader - A vertex shader. + * @return {String} The modified vertex shader. + * @ignore + */ + +export function updateVertexShader(vertexShader) { + + return vertexShader; + +} From 3b80847962851547f369622055254ecc3abd5c25 Mon Sep 17 00:00:00 2001 From: "Raoul v. R" Date: Sat, 1 Jul 2023 11:34:02 +0200 Subject: [PATCH 08/18] Add back-compat support for shader chunk changes --- src/materials/CopyMaterial.js | 3 +++ src/materials/DownsamplingMaterial.js | 3 +++ src/materials/EffectMaterial.js | 3 +++ src/materials/GaussianBlurMaterial.js | 3 +++ src/materials/GodRaysMaterial.js | 3 +++ src/materials/KawaseBlurMaterial.js | 3 +++ src/materials/TiltShiftBlurMaterial.js | 3 +++ src/materials/UpsamplingMaterial.js | 3 +++ src/materials/glsl/convolution.gaussian.frag | 1 + 9 files changed, 25 insertions(+) diff --git a/src/materials/CopyMaterial.js b/src/materials/CopyMaterial.js index 577442480..7a342167e 100644 --- a/src/materials/CopyMaterial.js +++ b/src/materials/CopyMaterial.js @@ -1,4 +1,5 @@ import { NoBlending, ShaderMaterial, Uniform } from "three"; +import { updateFragmentShader } from "../utils"; import fragmentShader from "./glsl/copy.frag"; import vertexShader from "./glsl/common.vert"; @@ -29,6 +30,8 @@ export class CopyMaterial extends ShaderMaterial { vertexShader }); + this.fragmentShader = updateFragmentShader(this.fragmentShader); + } /** diff --git a/src/materials/DownsamplingMaterial.js b/src/materials/DownsamplingMaterial.js index fe5de8328..aa4925702 100644 --- a/src/materials/DownsamplingMaterial.js +++ b/src/materials/DownsamplingMaterial.js @@ -1,4 +1,5 @@ import { NoBlending, ShaderMaterial, Uniform, Vector2 } from "three"; +import { updateFragmentShader } from "../utils"; import fragmentShader from "./glsl/convolution.downsampling.frag"; import vertexShader from "./glsl/convolution.downsampling.vert"; @@ -34,6 +35,8 @@ export class DownsamplingMaterial extends ShaderMaterial { vertexShader }); + this.fragmentShader = updateFragmentShader(this.fragmentShader); + } /** diff --git a/src/materials/EffectMaterial.js b/src/materials/EffectMaterial.js index 914f1552e..023735df5 100644 --- a/src/materials/EffectMaterial.js +++ b/src/materials/EffectMaterial.js @@ -1,4 +1,5 @@ import { BasicDepthPacking, NoBlending, PerspectiveCamera, REVISION, ShaderMaterial, Uniform, Vector2 } from "three"; +import { updateFragmentShader } from "../utils"; import { EffectShaderSection as Section } from "../enums"; import fragmentTemplate from "./glsl/effect.frag"; @@ -182,6 +183,8 @@ export class EffectMaterial extends ShaderMaterial { .replace(Section.VERTEX_HEAD, shaderParts.get(Section.VERTEX_HEAD) || "") .replace(Section.VERTEX_MAIN_SUPPORT, shaderParts.get(Section.VERTEX_MAIN_SUPPORT) || ""); + this.fragmentShader = updateFragmentShader(this.fragmentShader); + this.needsUpdate = true; return this; diff --git a/src/materials/GaussianBlurMaterial.js b/src/materials/GaussianBlurMaterial.js index ffd50b02b..0c47a5914 100644 --- a/src/materials/GaussianBlurMaterial.js +++ b/src/materials/GaussianBlurMaterial.js @@ -1,4 +1,5 @@ import { NoBlending, ShaderMaterial, Uniform, Vector2 } from "three"; +import { updateFragmentShader } from "../utils"; import { GaussKernel } from "../core"; import fragmentShader from "./glsl/convolution.gaussian.frag"; @@ -43,6 +44,8 @@ export class GaussianBlurMaterial extends ShaderMaterial { vertexShader }); + this.fragmentShader = updateFragmentShader(this.fragmentShader); + /** * @see {@link kernelSize} * @type {Number} diff --git a/src/materials/GodRaysMaterial.js b/src/materials/GodRaysMaterial.js index aaecc74f1..c0ade0f04 100644 --- a/src/materials/GodRaysMaterial.js +++ b/src/materials/GodRaysMaterial.js @@ -1,4 +1,5 @@ import { NoBlending, ShaderMaterial, Uniform } from "three"; +import { updateFragmentShader } from "../utils"; import fragmentShader from "./glsl/convolution.god-rays.frag"; import vertexShader from "./glsl/common.vert"; @@ -50,6 +51,8 @@ export class GodRaysMaterial extends ShaderMaterial { vertexShader }); + this.fragmentShader = updateFragmentShader(this.fragmentShader); + } /** diff --git a/src/materials/KawaseBlurMaterial.js b/src/materials/KawaseBlurMaterial.js index 052d40865..669c43146 100644 --- a/src/materials/KawaseBlurMaterial.js +++ b/src/materials/KawaseBlurMaterial.js @@ -1,4 +1,5 @@ import { NoBlending, ShaderMaterial, Uniform, Vector4 } from "three"; +import { updateFragmentShader } from "../utils"; import { KernelSize } from "../enums"; import fragmentShader from "./glsl/convolution.kawase.frag"; @@ -54,6 +55,8 @@ export class KawaseBlurMaterial extends ShaderMaterial { vertexShader }); + this.fragmentShader = updateFragmentShader(this.fragmentShader); + this.setTexelSize(texelSize.x, texelSize.y); /** diff --git a/src/materials/TiltShiftBlurMaterial.js b/src/materials/TiltShiftBlurMaterial.js index 0e2e3ebb3..666743517 100644 --- a/src/materials/TiltShiftBlurMaterial.js +++ b/src/materials/TiltShiftBlurMaterial.js @@ -1,4 +1,5 @@ import { Uniform, Vector2, Vector4 } from "three"; +import { updateFragmentShader } from "../utils"; import { KernelSize } from "../enums"; import { KawaseBlurMaterial } from "./KawaseBlurMaterial"; @@ -35,6 +36,8 @@ export class TiltShiftBlurMaterial extends KawaseBlurMaterial { this.vertexShader = vertexShader; this.kernelSize = kernelSize; + this.fragmentShader = updateFragmentShader(this.fragmentShader); + this.uniforms.aspect = new Uniform(1.0); this.uniforms.rotation = new Uniform(new Vector2()); this.uniforms.maskParams = new Uniform(new Vector4()); diff --git a/src/materials/UpsamplingMaterial.js b/src/materials/UpsamplingMaterial.js index c05a6872c..a6ec7ca9f 100644 --- a/src/materials/UpsamplingMaterial.js +++ b/src/materials/UpsamplingMaterial.js @@ -1,4 +1,5 @@ import { NoBlending, ShaderMaterial, Uniform, Vector2 } from "three"; +import { updateFragmentShader } from "../utils"; import fragmentShader from "./glsl/convolution.upsampling.frag"; import vertexShader from "./glsl/convolution.upsampling.vert"; @@ -36,6 +37,8 @@ export class UpsamplingMaterial extends ShaderMaterial { vertexShader }); + this.fragmentShader = updateFragmentShader(this.fragmentShader); + } /** diff --git a/src/materials/glsl/convolution.gaussian.frag b/src/materials/glsl/convolution.gaussian.frag index e2e5d6088..b0dd88cf0 100644 --- a/src/materials/glsl/convolution.gaussian.frag +++ b/src/materials/glsl/convolution.gaussian.frag @@ -27,6 +27,7 @@ void main() { } gl_FragColor = result; + #include } From a62222ab5c8b1d038521f235a56a915a2c4aefea Mon Sep 17 00:00:00 2001 From: "Raoul v. R" Date: Sat, 1 Jul 2023 11:34:28 +0200 Subject: [PATCH 09/18] Specify precision of float arrays Addresses #506 --- src/materials/glsl/depth-downsampling.frag | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/materials/glsl/depth-downsampling.frag b/src/materials/glsl/depth-downsampling.frag index c6e23d1ac..bb9214359 100644 --- a/src/materials/glsl/depth-downsampling.frag +++ b/src/materials/glsl/depth-downsampling.frag @@ -39,12 +39,12 @@ float readDepth(const in vec2 uv) { * Returns the index of the most representative depth in the 2x2 neighborhood. */ -int findBestDepth(const in float samples[4]) { +int findBestDepth(const in highp float samples[4]) { // Calculate the centroid. float c = (samples[0] + samples[1] + samples[2] + samples[3]) * 0.25; - float distances[] = float[4]( + highp float distances[] = float[4]( abs(c - samples[0]), abs(c - samples[1]), abs(c - samples[2]), abs(c - samples[3]) ); @@ -116,7 +116,7 @@ int findBestDepth(const in float samples[4]) { void main() { // Gather depth samples in a 2x2 neighborhood. - float d[] = float[4]( + highp float d[] = float[4]( readDepth(vUv0), readDepth(vUv1), readDepth(vUv2), readDepth(vUv3) ); @@ -126,14 +126,14 @@ void main() { #ifdef DOWNSAMPLE_NORMALS // Gather all corresponding normals to avoid dependent texel fetches. - vec3 n[] = vec3[4]( + highp vec3 n[] = vec3[4]( texture2D(normalBuffer, vUv0).rgb, texture2D(normalBuffer, vUv1).rgb, texture2D(normalBuffer, vUv2).rgb, texture2D(normalBuffer, vUv3).rgb ); #else - vec3 n[] = vec3[4]( + highp vec3 n[] = vec3[4]( vec3(0.0), vec3(0.0), vec3(0.0), vec3(0.0) ); From 221b879a09c24f510930328bcca516fd8a55a72e Mon Sep 17 00:00:00 2001 From: "Raoul v. R" Date: Sat, 1 Jul 2023 11:47:29 +0200 Subject: [PATCH 10/18] Update OutlineDemo.js --- demo/src/demos/OutlineDemo.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/demo/src/demos/OutlineDemo.js b/demo/src/demos/OutlineDemo.js index de68ae8f7..d355c1563 100644 --- a/demo/src/demos/OutlineDemo.js +++ b/demo/src/demos/OutlineDemo.js @@ -383,6 +383,7 @@ export class OutlineDemo extends PostProcessingDemo { const outlineEffect = new OutlineEffect(scene, camera, { blendFunction: BlendFunction.SCREEN, + multisampling: Math.min(4, renderer.capabilities.maxSamples), edgeStrength: 2.5, pulseSpeed: 0.0, visibleEdgeColor: 0xffffff, @@ -440,6 +441,8 @@ export class OutlineDemo extends PostProcessingDemo { }); + menu.add(effect, "multisampling", [0, 2, 4]); + menu.add(params, "blurriness", KernelSize.VERY_SMALL, KernelSize.HUGE + 1, 1).onChange((value) => { From e1680bfddef4c346e896ecb3c013ec03886ac94b Mon Sep 17 00:00:00 2001 From: "Raoul v. R" Date: Sat, 1 Jul 2023 11:47:39 +0200 Subject: [PATCH 11/18] Update package.json --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 700642feb..9d8e9a378 100644 --- a/package.json +++ b/package.json @@ -97,7 +97,7 @@ "@typescript-eslint/parser": "5.x.x", "autoprefixer": "10.x.x", "ava": "5.x.x", - "cpy-cli": "4.x.x", + "cpy-cli": "5.x.x", "cssnano": "6.x.x", "dat.gui": "0.x.x", "del-cli": "5.x.x", @@ -118,7 +118,7 @@ "sass": "1.x.x", "spatial-controls": "6.x.x", "stylelint": "15.x.x", - "stylelint-config-standard-scss": "9.x.x", + "stylelint-config-standard-scss": "10.x.x", "stylelint-order": "6.x.x", "three": "0.x.x", "three-demo": "5.x.x", From 3ef0c13e69b846371ac3a49e33ca5100bf09c0fd Mon Sep 17 00:00:00 2001 From: "Raoul v. R" Date: Sat, 1 Jul 2023 11:47:42 +0200 Subject: [PATCH 12/18] Update pnpm-lock.yaml --- pnpm-lock.yaml | 773 ++++++++++++++++++++++++++++--------------------- 1 file changed, 436 insertions(+), 337 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 234aa28a5..32c4fd5be 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,10 +13,10 @@ devDependencies: version: 0.152.1 '@typescript-eslint/eslint-plugin': specifier: 5.x.x - version: 5.59.11(@typescript-eslint/parser@5.59.11)(eslint@8.43.0)(typescript@5.1.3) + version: 5.60.1(@typescript-eslint/parser@5.60.1)(eslint@8.44.0)(typescript@5.1.6) '@typescript-eslint/parser': specifier: 5.x.x - version: 5.59.11(eslint@8.43.0)(typescript@5.1.3) + version: 5.60.1(eslint@8.44.0)(typescript@5.1.6) autoprefixer: specifier: 10.x.x version: 10.4.14(postcss@8.4.24) @@ -24,8 +24,8 @@ devDependencies: specifier: 5.x.x version: 5.3.1 cpy-cli: - specifier: 4.x.x - version: 4.2.0 + specifier: 5.x.x + version: 5.0.0 cssnano: specifier: 6.x.x version: 6.0.1(postcss@8.4.24) @@ -37,10 +37,10 @@ devDependencies: version: 5.0.0 esbuild: specifier: 0.18.x - version: 0.18.4 + version: 0.18.11 esbuild-plugin-glsl: specifier: 1.x.x - version: 1.2.1(esbuild@0.18.4) + version: 1.2.1(esbuild@0.18.11) esdoc: specifier: 1.x.x version: 1.1.0 @@ -52,19 +52,19 @@ devDependencies: version: 1.0.0 eslint: specifier: 8.x.x - version: 8.43.0 + version: 8.44.0 eslint-config-aether: specifier: 1.x.x version: 1.5.1 eslint-watch: specifier: 8.x.x - version: 8.0.0(eslint@8.43.0) + version: 8.0.0(eslint@8.44.0) gzipper: specifier: 7.x.x version: 7.2.0 hugo-bin: specifier: 0.x.x - version: 0.108.0 + version: 0.111.0 npm-run-all: specifier: 4.x.x version: 4.1.5 @@ -76,43 +76,48 @@ devDependencies: version: 10.1.0(postcss@8.4.24) postcss-preset-env: specifier: 8.x.x - version: 8.5.0(postcss@8.4.24) + version: 8.5.1(postcss@8.4.24) sass: specifier: 1.x.x - version: 1.63.4 + version: 1.63.6 spatial-controls: - specifier: 5.x.x - version: 5.0.8(three@0.153.0) + specifier: 6.x.x + version: 6.1.0(three@0.154.0) stylelint: specifier: 15.x.x - version: 15.8.0 + version: 15.9.0 stylelint-config-standard-scss: - specifier: 9.x.x - version: 9.0.0(postcss@8.4.24)(stylelint@15.8.0) + specifier: 10.x.x + version: 10.0.0(postcss@8.4.24)(stylelint@15.9.0) stylelint-order: specifier: 6.x.x - version: 6.0.3(stylelint@15.8.0) + version: 6.0.3(stylelint@15.9.0) three: specifier: 0.x.x - version: 0.153.0 + version: 0.154.0 three-demo: specifier: 5.x.x - version: 5.1.3(dat.gui@0.7.9)(three@0.153.0) + version: 5.1.3(dat.gui@0.7.9)(three@0.154.0) tiny-glob: specifier: 0.x.x version: 0.2.9 tslib: specifier: 2.x.x - version: 2.5.3 + version: 2.6.0 tweakpane: specifier: 3.x.x version: 3.1.10 typescript: specifier: 5.x.x - version: 5.1.3 + version: 5.1.6 packages: + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + /@babel/code-frame@7.22.5: resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==} engines: {node: '>=6.9.0'} @@ -188,11 +193,11 @@ packages: engines: {node: ^14 || ^16 || >=18} dev: true - /@csstools/media-query-list-parser@2.1.0(@csstools/css-parser-algorithms@2.2.0)(@csstools/css-tokenizer@2.1.1): - resolution: {integrity: sha512-MXkR+TeaS2q9IkpyO6jVCdtA/bfpABJxIrfkLswThFN8EZZgI2RfAHhm6sDNDuYV25d5+b8Lj1fpTccIcSLPsQ==} + /@csstools/media-query-list-parser@2.1.1(@csstools/css-parser-algorithms@2.2.0)(@csstools/css-tokenizer@2.1.1): + resolution: {integrity: sha512-pUjtFbaKbiFNjJo8pprrIaXLvQvWIlwPiFnRI4sEnc4F0NIGTOsw8kaJSR3CmZAKEvV8QYckovgAnWQC0bgLLQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: - '@csstools/css-parser-algorithms': ^2.1.1 + '@csstools/css-parser-algorithms': ^2.2.0 '@csstools/css-tokenizer': ^2.1.1 dependencies: '@csstools/css-parser-algorithms': 2.2.0(@csstools/css-tokenizer@2.1.1) @@ -322,8 +327,8 @@ packages: postcss: 8.4.24 dev: true - /@csstools/postcss-media-minmax@1.0.3(postcss@8.4.24): - resolution: {integrity: sha512-os7qe2HV/qBILKCGa/dl5AbpO6c+MZyunFBWPWJBrEVhulCYo13FgEWbhyERFM5FeJghiqYgJxM54oiJASpBnw==} + /@csstools/postcss-media-minmax@1.0.4(postcss@8.4.24): + resolution: {integrity: sha512-olnKTQk9+RMzpIpkjv55d44L4Ni02j8ZJoedJezQC5M03a56npcM1hx0apaTRG4Fz1wfPCQ0DBjQ8zsiJFelmA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -331,19 +336,19 @@ packages: '@csstools/css-calc': 1.1.1(@csstools/css-parser-algorithms@2.2.0)(@csstools/css-tokenizer@2.1.1) '@csstools/css-parser-algorithms': 2.2.0(@csstools/css-tokenizer@2.1.1) '@csstools/css-tokenizer': 2.1.1 - '@csstools/media-query-list-parser': 2.1.0(@csstools/css-parser-algorithms@2.2.0)(@csstools/css-tokenizer@2.1.1) + '@csstools/media-query-list-parser': 2.1.1(@csstools/css-parser-algorithms@2.2.0)(@csstools/css-tokenizer@2.1.1) postcss: 8.4.24 dev: true - /@csstools/postcss-media-queries-aspect-ratio-number-values@1.0.3(postcss@8.4.24): - resolution: {integrity: sha512-JHdwBSNZsur/mJXwzuC/gxyekhfSdWJaTiSOhUITk2D8pYRYcjV1MZiCiWupQNfM2Qp2W7w1A/gEU6U/xlpIyA==} + /@csstools/postcss-media-queries-aspect-ratio-number-values@1.0.4(postcss@8.4.24): + resolution: {integrity: sha512-IwyTbyR8E2y3kh6Fhrs251KjKBJeUPV5GlnUKnpU70PRFEN2DolWbf2V4+o/B9+Oj77P/DullLTulWEQ8uFtAA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: '@csstools/css-parser-algorithms': 2.2.0(@csstools/css-tokenizer@2.1.1) '@csstools/css-tokenizer': 2.1.1 - '@csstools/media-query-list-parser': 2.1.0(@csstools/css-parser-algorithms@2.2.0)(@csstools/css-tokenizer@2.1.1) + '@csstools/media-query-list-parser': 2.1.1(@csstools/css-parser-algorithms@2.2.0)(@csstools/css-tokenizer@2.1.1) postcss: 8.4.24 dev: true @@ -466,8 +471,8 @@ packages: postcss-selector-parser: 6.0.13 dev: true - /@esbuild/android-arm64@0.18.4: - resolution: {integrity: sha512-yQVgO+V307hA2XhzELQ6F91CBGX7gSnlVGAj5YIqjQOxThDpM7fOcHT2YLJbE6gNdPtgRSafQrsK8rJ9xHCaZg==} + /@esbuild/android-arm64@0.18.11: + resolution: {integrity: sha512-snieiq75Z1z5LJX9cduSAjUr7vEI1OdlzFPMw0HH5YI7qQHDd3qs+WZoMrWYDsfRJSq36lIA6mfZBkvL46KoIw==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -475,8 +480,8 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.18.4: - resolution: {integrity: sha512-yKmQC9IiuvHdsNEbPHSprnMHg6OhL1cSeQZLzPpgzJBJ9ppEg9GAZN8MKj1TcmB4tZZUrq5xjK7KCmhwZP8iDA==} + /@esbuild/android-arm@0.18.11: + resolution: {integrity: sha512-q4qlUf5ucwbUJZXF5tEQ8LF7y0Nk4P58hOsGk3ucY0oCwgQqAnqXVbUuahCddVHfrxmpyewRpiTHwVHIETYu7Q==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -484,8 +489,8 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.18.4: - resolution: {integrity: sha512-yLKXMxQg6sk1ntftxQ5uwyVgG4/S2E7UoOCc5N4YZW7fdkfRiYEXqm7CMuIfY2Vs3FTrNyKmSfNevIuIvJnMww==} + /@esbuild/android-x64@0.18.11: + resolution: {integrity: sha512-iPuoxQEV34+hTF6FT7om+Qwziv1U519lEOvekXO9zaMMlT9+XneAhKL32DW3H7okrCOBQ44BMihE8dclbZtTuw==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -493,8 +498,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.18.4: - resolution: {integrity: sha512-MVPEoZjZpk2xQ1zckZrb8eQuQib+QCzdmMs3YZAYEQPg+Rztk5pUxGyk8htZOC8Z38NMM29W+MqY9Sqo/sDGKw==} + /@esbuild/darwin-arm64@0.18.11: + resolution: {integrity: sha512-Gm0QkI3k402OpfMKyQEEMG0RuW2LQsSmI6OeO4El2ojJMoF5NLYb3qMIjvbG/lbMeLOGiW6ooU8xqc+S0fgz2w==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -502,8 +507,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.18.4: - resolution: {integrity: sha512-uEsRtYRUDsz7i2tXg/t/SyF+5gU1cvi9B6B8i5ebJgtUUHJYWyIPIesmIOL4/+bywjxsDMA/XrNFMgMffLnh5A==} + /@esbuild/darwin-x64@0.18.11: + resolution: {integrity: sha512-N15Vzy0YNHu6cfyDOjiyfJlRJCB/ngKOAvoBf1qybG3eOq0SL2Lutzz9N7DYUbb7Q23XtHPn6lMDF6uWbGv9Fw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -511,8 +516,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.18.4: - resolution: {integrity: sha512-I8EOigqWnOHRin6Zp5Y1cfH3oT54bd7Sdz/VnpUNksbOtfp8IWRTH4pgkgO5jWaRQPjCpJcOpdRjYAMjPt8wXg==} + /@esbuild/freebsd-arm64@0.18.11: + resolution: {integrity: sha512-atEyuq6a3omEY5qAh5jIORWk8MzFnCpSTUruBgeyN9jZq1K/QI9uke0ATi3MHu4L8c59CnIi4+1jDKMuqmR71A==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -520,8 +525,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.18.4: - resolution: {integrity: sha512-1bHfgMz/cNMjbpsYxjVgMJ1iwKq+NdDPlACBrWULD7ZdFmBQrhMicMaKb5CdmdVyvIwXmasOuF4r6Iq574kUTA==} + /@esbuild/freebsd-x64@0.18.11: + resolution: {integrity: sha512-XtuPrEfBj/YYYnAAB7KcorzzpGTvOr/dTtXPGesRfmflqhA4LMF0Gh/n5+a9JBzPuJ+CGk17CA++Hmr1F/gI0Q==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -529,8 +534,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.18.4: - resolution: {integrity: sha512-J42vLHaYREyiBwH0eQE4/7H1DTfZx8FuxyWSictx4d7ezzuKE3XOkIvOg+SQzRz7T9HLVKzq2tvbAov4UfufBw==} + /@esbuild/linux-arm64@0.18.11: + resolution: {integrity: sha512-c6Vh2WS9VFKxKZ2TvJdA7gdy0n6eSy+yunBvv4aqNCEhSWVor1TU43wNRp2YLO9Vng2G+W94aRz+ILDSwAiYog==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -538,8 +543,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.18.4: - resolution: {integrity: sha512-4XCGqM/Ay1LCXUBH59bL4JbSbbTK1K22dWHymWMGaEh2sQCDOUw+OQxozYV/YdBb91leK2NbuSrE2BRamwgaYw==} + /@esbuild/linux-arm@0.18.11: + resolution: {integrity: sha512-Idipz+Taso/toi2ETugShXjQ3S59b6m62KmLHkJlSq/cBejixmIydqrtM2XTvNCywFl3VC7SreSf6NV0i6sRyg==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -547,8 +552,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.18.4: - resolution: {integrity: sha512-4ksIqFwhq7OExty7Sl1n0vqQSCqTG4sU6i99G2yuMr28CEOUZ/60N+IO9hwI8sIxBqmKmDgncE1n5CMu/3m0IA==} + /@esbuild/linux-ia32@0.18.11: + resolution: {integrity: sha512-S3hkIF6KUqRh9n1Q0dSyYcWmcVa9Cg+mSoZEfFuzoYXXsk6196qndrM+ZiHNwpZKi3XOXpShZZ+9dfN5ykqjjw==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -556,8 +561,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.18.4: - resolution: {integrity: sha512-bsWtoVHkGQgAsFXioDueXRiUIfSGrVkJjBBz4gcBJxXcD461cWFQFyu8Fxdj9TP+zEeqJ8C/O4LFFMBNi6Fscw==} + /@esbuild/linux-loong64@0.18.11: + resolution: {integrity: sha512-MRESANOoObQINBA+RMZW+Z0TJWpibtE7cPFnahzyQHDCA9X9LOmGh68MVimZlM9J8n5Ia8lU773te6O3ILW8kw==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -565,8 +570,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.18.4: - resolution: {integrity: sha512-LRD9Fu8wJQgIOOV1o3nRyzrheFYjxA0C1IVWZ93eNRRWBKgarYFejd5WBtrp43cE4y4D4t3qWWyklm73Mrsd/g==} + /@esbuild/linux-mips64el@0.18.11: + resolution: {integrity: sha512-qVyPIZrXNMOLYegtD1u8EBccCrBVshxMrn5MkuFc3mEVsw7CCQHaqZ4jm9hbn4gWY95XFnb7i4SsT3eflxZsUg==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -574,8 +579,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.18.4: - resolution: {integrity: sha512-jtQgoZjM92gauVRxNaaG/TpL3Pr4WcL3Pwqi9QgdrBGrEXzB+twohQiWNSTycs6lUygakos4mm2h0B9/SHveng==} + /@esbuild/linux-ppc64@0.18.11: + resolution: {integrity: sha512-T3yd8vJXfPirZaUOoA9D2ZjxZX4Gr3QuC3GztBJA6PklLotc/7sXTOuuRkhE9W/5JvJP/K9b99ayPNAD+R+4qQ==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -583,8 +588,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.18.4: - resolution: {integrity: sha512-7WaU/kRZG0VCV09Xdlkg6LNAsfU9SAxo6XEdaZ8ffO4lh+DZoAhGTx7+vTMOXKxa+r2w1LYDGxfJa2rcgagMRA==} + /@esbuild/linux-riscv64@0.18.11: + resolution: {integrity: sha512-evUoRPWiwuFk++snjH9e2cAjF5VVSTj+Dnf+rkO/Q20tRqv+644279TZlPK8nUGunjPAtQRCj1jQkDAvL6rm2w==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -592,8 +597,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.18.4: - resolution: {integrity: sha512-D19ed0xreKQvC5t+ArE2njSnm18WPpE+1fhwaiJHf+Xwqsq+/SUaV8Mx0M27nszdU+Atq1HahrgCOZCNNEASUg==} + /@esbuild/linux-s390x@0.18.11: + resolution: {integrity: sha512-/SlRJ15XR6i93gRWquRxYCfhTeC5PdqEapKoLbX63PLCmAkXZHY2uQm2l9bN0oPHBsOw2IswRZctMYS0MijFcg==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -601,8 +606,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.18.4: - resolution: {integrity: sha512-Rx3AY1sxyiO/gvCGP00nL69L60dfmWyjKWY06ugpB8Ydpdsfi3BHW58HWC24K3CAjAPSwxcajozC2PzA9JBS1g==} + /@esbuild/linux-x64@0.18.11: + resolution: {integrity: sha512-xcncej+wF16WEmIwPtCHi0qmx1FweBqgsRtEL1mSHLFR6/mb3GEZfLQnx+pUDfRDEM4DQF8dpXIW7eDOZl1IbA==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -610,8 +615,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.18.4: - resolution: {integrity: sha512-AaShPmN9c6w1mKRpliKFlaWcSkpBT4KOlk93UfFgeI3F3cbjzdDKGsbKnOZozmYbE1izZKLmNJiW0sFM+A5JPA==} + /@esbuild/netbsd-x64@0.18.11: + resolution: {integrity: sha512-aSjMHj/F7BuS1CptSXNg6S3M4F3bLp5wfFPIJM+Km2NfIVfFKhdmfHF9frhiCLIGVzDziggqWll0B+9AUbud/Q==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -619,8 +624,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.18.4: - resolution: {integrity: sha512-tRGvGwou3BrvHVvF8HxTqEiC5VtPzySudS9fh2jBIKpLX7HCW8jIkW+LunkFDNwhslx4xMAgh0jAHsx/iCymaQ==} + /@esbuild/openbsd-x64@0.18.11: + resolution: {integrity: sha512-tNBq+6XIBZtht0xJGv7IBB5XaSyvYPCm1PxJ33zLQONdZoLVM0bgGqUrXnJyiEguD9LU4AHiu+GCXy/Hm9LsdQ==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -628,8 +633,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.18.4: - resolution: {integrity: sha512-acORFDI95GKhmAnlH8EarBeuqoy/j3yxIU+FDB91H3+ZON+8HhTadtT450YkaMzX6lEWbhi+mjVUCj00M5yyOQ==} + /@esbuild/sunos-x64@0.18.11: + resolution: {integrity: sha512-kxfbDOrH4dHuAAOhr7D7EqaYf+W45LsAOOhAet99EyuxxQmjbk8M9N4ezHcEiCYPaiW8Dj3K26Z2V17Gt6p3ng==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -637,8 +642,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.18.4: - resolution: {integrity: sha512-1NxP+iOk8KSvS1L9SSxEvBAJk39U0GiGZkiiJGbuDF9G4fG7DSDw6XLxZMecAgmvQrwwx7yVKdNN3GgNh0UfKg==} + /@esbuild/win32-arm64@0.18.11: + resolution: {integrity: sha512-Sh0dDRyk1Xi348idbal7lZyfSkjhJsdFeuC13zqdipsvMetlGiFQNdO+Yfp6f6B4FbyQm7qsk16yaZk25LChzg==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -646,8 +651,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.18.4: - resolution: {integrity: sha512-OKr8jze93vbgqZ/r23woWciTixUwLa976C9W7yNBujtnVHyvsL/ocYG61tsktUfJOpyIz5TsohkBZ6Lo2+PCcQ==} + /@esbuild/win32-ia32@0.18.11: + resolution: {integrity: sha512-o9JUIKF1j0rqJTFbIoF4bXj6rvrTZYOrfRcGyL0Vm5uJ/j5CkBD/51tpdxe9lXEDouhRgdr/BYzUrDOvrWwJpg==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -655,8 +660,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.18.4: - resolution: {integrity: sha512-qJr3wVvcLjPFcV4AMDS3iquhBfTef2zo/jlm8RMxmiRp3Vy2HY8WMxrykJlcbCnqLXZPA0YZxZGND6eug85ogg==} + /@esbuild/win32-x64@0.18.11: + resolution: {integrity: sha512-rQI4cjLHd2hGsM1LqgDI7oOCYbQ6IBOVsX9ejuRMSze0GqXUG2ekwiKkiBU1pRGSeCqFFHxTrcEydB2Hyoz9CA==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -664,13 +669,13 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.43.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.44.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.43.0 + eslint: 8.44.0 eslint-visitor-keys: 3.4.1 dev: true @@ -679,13 +684,13 @@ packages: engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint/eslintrc@2.0.3: - resolution: {integrity: sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==} + /@eslint/eslintrc@2.1.0: + resolution: {integrity: sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.5.2 + espree: 9.6.0 globals: 13.20.0 ignore: 5.2.4 import-fresh: 3.3.0 @@ -696,8 +701,8 @@ packages: - supports-color dev: true - /@eslint/js@8.43.0: - resolution: {integrity: sha512-s2UHCoiXfxMvmfzqoN+vrQ84ahUSYde9qNO1MdxmoEhyHWsfmwOpFlwYV+ePJEVc7gFnATGUi376WowX1N7tFg==} + /@eslint/js@8.44.0: + resolution: {integrity: sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true @@ -790,8 +795,8 @@ packages: resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} dev: true - /@types/node@20.3.1: - resolution: {integrity: sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg==} + /@types/node@20.3.3: + resolution: {integrity: sha512-wheIYdr4NYML61AjC8MKj/2jrR/kDQri/CIpVoZwldwhnIrD/j9jIU5bJ8yBKuB2VhpFV7Ab6G2XkBjv9r9Zzw==} dev: true /@types/normalize-package-data@2.4.1: @@ -820,8 +825,8 @@ packages: resolution: {integrity: sha512-szL74BnIcok9m7QwYtVmQ+EdIKwbjPANudfuvDrAF8Cljg9MKUlIoc1w5tjj9PMpeSH3U1Xnx//czQybJ0EfSw==} dev: true - /@typescript-eslint/eslint-plugin@5.59.11(@typescript-eslint/parser@5.59.11)(eslint@8.43.0)(typescript@5.1.3): - resolution: {integrity: sha512-XxuOfTkCUiOSyBWIvHlUraLw/JT/6Io1365RO6ZuI88STKMavJZPNMU0lFcUTeQXEhHiv64CbxYxBNoDVSmghg==} + /@typescript-eslint/eslint-plugin@5.60.1(@typescript-eslint/parser@5.60.1)(eslint@8.44.0)(typescript@5.1.6): + resolution: {integrity: sha512-KSWsVvsJsLJv3c4e73y/Bzt7OpqMCADUO846bHcuWYSYM19bldbAeDv7dYyV0jwkbMfJ2XdlzwjhXtuD7OY6bw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/parser': ^5.0.0 @@ -832,24 +837,24 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.5.1 - '@typescript-eslint/parser': 5.59.11(eslint@8.43.0)(typescript@5.1.3) - '@typescript-eslint/scope-manager': 5.59.11 - '@typescript-eslint/type-utils': 5.59.11(eslint@8.43.0)(typescript@5.1.3) - '@typescript-eslint/utils': 5.59.11(eslint@8.43.0)(typescript@5.1.3) + '@typescript-eslint/parser': 5.60.1(eslint@8.44.0)(typescript@5.1.6) + '@typescript-eslint/scope-manager': 5.60.1 + '@typescript-eslint/type-utils': 5.60.1(eslint@8.44.0)(typescript@5.1.6) + '@typescript-eslint/utils': 5.60.1(eslint@8.44.0)(typescript@5.1.6) debug: 4.3.4 - eslint: 8.43.0 + eslint: 8.44.0 grapheme-splitter: 1.0.4 ignore: 5.2.4 natural-compare-lite: 1.4.0 - semver: 7.5.2 - tsutils: 3.21.0(typescript@5.1.3) - typescript: 5.1.3 + semver: 7.5.3 + tsutils: 3.21.0(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.59.11(eslint@8.43.0)(typescript@5.1.3): - resolution: {integrity: sha512-s9ZF3M+Nym6CAZEkJJeO2TFHHDsKAM3ecNkLuH4i4s8/RCPnF5JRip2GyviYkeEAcwGMJxkqG9h2dAsnA1nZpA==} + /@typescript-eslint/parser@5.60.1(eslint@8.44.0)(typescript@5.1.6): + resolution: {integrity: sha512-pHWlc3alg2oSMGwsU/Is8hbm3XFbcrb6P5wIxcQW9NsYBfnrubl/GhVVD/Jm/t8HXhA2WncoIRfBtnCgRGV96Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -858,26 +863,26 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.59.11 - '@typescript-eslint/types': 5.59.11 - '@typescript-eslint/typescript-estree': 5.59.11(typescript@5.1.3) + '@typescript-eslint/scope-manager': 5.60.1 + '@typescript-eslint/types': 5.60.1 + '@typescript-eslint/typescript-estree': 5.60.1(typescript@5.1.6) debug: 4.3.4 - eslint: 8.43.0 - typescript: 5.1.3 + eslint: 8.44.0 + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager@5.59.11: - resolution: {integrity: sha512-dHFOsxoLFtrIcSj5h0QoBT/89hxQONwmn3FOQ0GOQcLOOXm+MIrS8zEAhs4tWl5MraxCY3ZJpaXQQdFMc2Tu+Q==} + /@typescript-eslint/scope-manager@5.60.1: + resolution: {integrity: sha512-Dn/LnN7fEoRD+KspEOV0xDMynEmR3iSHdgNsarlXNLGGtcUok8L4N71dxUgt3YvlO8si7E+BJ5Fe3wb5yUw7DQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.59.11 - '@typescript-eslint/visitor-keys': 5.59.11 + '@typescript-eslint/types': 5.60.1 + '@typescript-eslint/visitor-keys': 5.60.1 dev: true - /@typescript-eslint/type-utils@5.59.11(eslint@8.43.0)(typescript@5.1.3): - resolution: {integrity: sha512-LZqVY8hMiVRF2a7/swmkStMYSoXMFlzL6sXV6U/2gL5cwnLWQgLEG8tjWPpaE4rMIdZ6VKWwcffPlo1jPfk43g==} + /@typescript-eslint/type-utils@5.60.1(eslint@8.44.0)(typescript@5.1.6): + resolution: {integrity: sha512-vN6UztYqIu05nu7JqwQGzQKUJctzs3/Hg7E2Yx8rz9J+4LgtIDFWjjl1gm3pycH0P3mHAcEUBd23LVgfrsTR8A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '*' @@ -886,23 +891,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.59.11(typescript@5.1.3) - '@typescript-eslint/utils': 5.59.11(eslint@8.43.0)(typescript@5.1.3) + '@typescript-eslint/typescript-estree': 5.60.1(typescript@5.1.6) + '@typescript-eslint/utils': 5.60.1(eslint@8.44.0)(typescript@5.1.6) debug: 4.3.4 - eslint: 8.43.0 - tsutils: 3.21.0(typescript@5.1.3) - typescript: 5.1.3 + eslint: 8.44.0 + tsutils: 3.21.0(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types@5.59.11: - resolution: {integrity: sha512-epoN6R6tkvBYSc+cllrz+c2sOFWkbisJZWkOE+y3xHtvYaOE6Wk6B8e114McRJwFRjGvYdJwLXQH5c9osME/AA==} + /@typescript-eslint/types@5.60.1: + resolution: {integrity: sha512-zDcDx5fccU8BA0IDZc71bAtYIcG9PowaOwaD8rjYbqwK7dpe/UMQl3inJ4UtUK42nOCT41jTSCwg76E62JpMcg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree@5.59.11(typescript@5.1.3): - resolution: {integrity: sha512-YupOpot5hJO0maupJXixi6l5ETdrITxeo5eBOeuV7RSKgYdU3G5cxO49/9WRnJq9EMrB7AuTSLH/bqOsXi7wPA==} + /@typescript-eslint/typescript-estree@5.60.1(typescript@5.1.6): + resolution: {integrity: sha512-hkX70J9+2M2ZT6fhti5Q2FoU9zb+GeZK2SLP1WZlvUDqdMbEKhexZODD1WodNRyO8eS+4nScvT0dts8IdaBzfw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -910,43 +915,43 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.59.11 - '@typescript-eslint/visitor-keys': 5.59.11 + '@typescript-eslint/types': 5.60.1 + '@typescript-eslint/visitor-keys': 5.60.1 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.5.2 - tsutils: 3.21.0(typescript@5.1.3) - typescript: 5.1.3 + semver: 7.5.3 + tsutils: 3.21.0(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@5.59.11(eslint@8.43.0)(typescript@5.1.3): - resolution: {integrity: sha512-didu2rHSOMUdJThLk4aZ1Or8IcO3HzCw/ZvEjTTIfjIrcdd5cvSIwwDy2AOlE7htSNp7QIZ10fLMyRCveesMLg==} + /@typescript-eslint/utils@5.60.1(eslint@8.44.0)(typescript@5.1.6): + resolution: {integrity: sha512-tiJ7FFdFQOWssFa3gqb94Ilexyw0JVxj6vBzaSpfN/8IhoKkDuSAenUKvsSHw2A/TMpJb26izIszTXaqygkvpQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.43.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.44.0) '@types/json-schema': 7.0.12 '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 5.59.11 - '@typescript-eslint/types': 5.59.11 - '@typescript-eslint/typescript-estree': 5.59.11(typescript@5.1.3) - eslint: 8.43.0 + '@typescript-eslint/scope-manager': 5.60.1 + '@typescript-eslint/types': 5.60.1 + '@typescript-eslint/typescript-estree': 5.60.1(typescript@5.1.6) + eslint: 8.44.0 eslint-scope: 5.1.1 - semver: 7.5.2 + semver: 7.5.3 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys@5.59.11: - resolution: {integrity: sha512-KGYniTGG3AMTuKF9QBD7EIrvufkB6O6uX3knP73xbKLMpH+QRPcgnCxjWXSHjMRuOxFLovljqQgQpR0c7GvjoA==} + /@typescript-eslint/visitor-keys@5.60.1: + resolution: {integrity: sha512-xEYIxKcultP6E/RMKqube11pGjXH1DCo60mQoWhVYyKfLkwbIVVjYxmOenNMxILx0TjCujPTjjnTIVzm09TXIw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.59.11 + '@typescript-eslint/types': 5.60.1 eslint-visitor-keys: 3.4.1 dev: true @@ -965,41 +970,41 @@ packages: isexe: 2.0.0 dev: true - /@xhmikosr/bin-wrapper@10.0.0: - resolution: {integrity: sha512-3M7OqK2XCEMs36q96TCcm0dOg2492nbnlU4L5rzuJcpNzGptRv4UUXhyK//ER9WqxTwHb1mu3zen7UuDqcQ9Fg==} + /@xhmikosr/bin-wrapper@11.0.2: + resolution: {integrity: sha512-pm71RomgwM9M/2bW6JBqzdNY04DXtdSUIQDj4wKY353eqvTNhc32SwS451EvJVjLb4Nn5/8W9n4+MREn+wCxSA==} engines: {node: ^14.14.0 || >=16.0.0} dependencies: '@xhmikosr/bin-check': 6.0.0 - '@xhmikosr/downloader': 12.0.0 - bin-version-check: 5.0.0 + '@xhmikosr/downloader': 13.0.1 + bin-version-check: 5.1.0 os-filter-obj: 2.0.0 dev: true - /@xhmikosr/decompress-tar@6.0.1: - resolution: {integrity: sha512-v6flE2nQf8hLuVAzfdjw70SBurm/6jcIyXiZNw2kuj7dQ/Df6P4RgaH/dS8UHh9cN548Xnf0QRhlKNfPJsBpAw==} + /@xhmikosr/decompress-tar@7.0.0: + resolution: {integrity: sha512-kyWf2hybtQVbWtB+FdRyOT+jyR5jxCNZPLqvQGB7djZj75lrpLUPEmRbyo86AtJ5OEtivpYaNWjCkqSJ8xtRWw==} engines: {node: ^14.14.0 || >=16.0.0} dependencies: file-type: 18.5.0 is-stream: 3.0.0 - tar-stream: 2.2.0 + tar-stream: 3.1.4 dev: true - /@xhmikosr/decompress-tarbz2@6.0.0: - resolution: {integrity: sha512-Y8BuayMiDX3nHKIXKRhcDBoc5OWfYbemdjDv8zX1w4x+mIjg7S0+QnfVm1fQXnNEwPaViLMFKZ4c6/2k43xe4A==} + /@xhmikosr/decompress-tarbz2@7.0.0: + resolution: {integrity: sha512-3QnjipYkRgh3Dee1MWDgKmANWxOQBVN4e1IwiGNe2fHYfMYTeSkVvWREt87UIoSucKUh3E95v8uGFttgTknZcA==} engines: {node: ^14.14.0 || >=16.0.0} dependencies: - '@xhmikosr/decompress-tar': 6.0.1 + '@xhmikosr/decompress-tar': 7.0.0 file-type: 18.5.0 is-stream: 3.0.0 seek-bzip: 1.0.6 unbzip2-stream: 1.4.3 dev: true - /@xhmikosr/decompress-targz@6.0.0: - resolution: {integrity: sha512-Qb6KTG2xUiU5CgkJ8hRA/tRnSpcFr4WywGN4wCZ+PBLVYyYIkhzGBU3G8g80NEkVCfoKJUGyPEriupV5btxIbA==} + /@xhmikosr/decompress-targz@7.0.0: + resolution: {integrity: sha512-7BNHJl92g9OLhw89zqcFS67V1LAtm4Ex02j6OiQzuE8P7Yy9lQcyBuEL3x6v436grLdL+BcFjgbmhWxnem4GHw==} engines: {node: ^14.14.0 || >=16.0.0} dependencies: - '@xhmikosr/decompress-tar': 6.0.1 + '@xhmikosr/decompress-tar': 7.0.0 file-type: 18.5.0 is-stream: 3.0.0 dev: true @@ -1013,25 +1018,25 @@ packages: yauzl: 2.10.0 dev: true - /@xhmikosr/decompress@8.0.0: - resolution: {integrity: sha512-7zI+6/9cmIzc8Ss2y3QanSq7uI4NF8d2W6P3rkOlVtfAJUOa7OhWZQVV4SqCheQylnblGdKDGPyrHdawawIjyw==} + /@xhmikosr/decompress@9.0.1: + resolution: {integrity: sha512-9Lvlt6Qdpo9SaRQyRIXCo3lgU++eMZ68lzgjcTwtuKDrlwT635+5zsHZ1yrSx/Blc5IDuVLlPkBPj5CZkx+2+Q==} engines: {node: ^14.14.0 || >=16.0.0} dependencies: - '@xhmikosr/decompress-tar': 6.0.1 - '@xhmikosr/decompress-tarbz2': 6.0.0 - '@xhmikosr/decompress-targz': 6.0.0 + '@xhmikosr/decompress-tar': 7.0.0 + '@xhmikosr/decompress-tarbz2': 7.0.0 + '@xhmikosr/decompress-targz': 7.0.0 '@xhmikosr/decompress-unzip': 6.0.0 graceful-fs: 4.2.11 - make-dir: 3.1.0 + make-dir: 4.0.0 strip-dirs: 3.0.0 dev: true - /@xhmikosr/downloader@12.0.0: - resolution: {integrity: sha512-V6qT4iE31EakUb49FaPlvckE4OfjTHDqotuEF3eonMoGQetjIr1Zm9d4EHpBK/q1oBKv0n0K3h1GpKQszwvWvA==} + /@xhmikosr/downloader@13.0.1: + resolution: {integrity: sha512-mBvWew1kZJHfNQVVfVllMjUDwCGN9apPa0t4/z1zaUJ9MzpXjRL3w8fsfJKB8gHN/h4rik9HneKfDbh2fErN+w==} engines: {node: ^14.14.0 || >=16.0.0} dependencies: '@xhmikosr/archive-type': 6.0.1 - '@xhmikosr/decompress': 8.0.0 + '@xhmikosr/decompress': 9.0.1 content-disposition: 0.5.4 ext-name: 5.0.0 file-type: 18.5.0 @@ -1230,7 +1235,7 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.21.9 - caniuse-lite: 1.0.30001504 + caniuse-lite: 1.0.30001509 fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -1255,7 +1260,7 @@ packages: arrify: 3.0.0 callsites: 4.0.0 cbor: 8.1.0 - chalk: 5.2.0 + chalk: 5.3.0 chokidar: 3.5.3 chunkd: 2.0.1 ci-info: 3.8.0 @@ -1310,6 +1315,10 @@ packages: dev: true optional: true + /b4a@1.6.4: + resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} + dev: true + /babel-code-frame@6.26.0: resolution: {integrity: sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==} dependencies: @@ -1404,13 +1413,13 @@ packages: dev: true optional: true - /bin-version-check@5.0.0: - resolution: {integrity: sha512-Q3FMQnS5eZmrBGqmDXLs4dbAn/f+52voP6ykJYmweSA60t6DyH4UTSwZhtbK5UH+LBoWvDljILUQMLRUtsynsA==} + /bin-version-check@5.1.0: + resolution: {integrity: sha512-bYsvMqJ8yNGILLz1KP9zKLzQ6YpljV3ln1gqhuLkUtyfGi3qXKGuK2p+U4NAvjVFzDFiBBtOpCOSFNuYYEGZ5g==} engines: {node: '>=12'} dependencies: bin-version: 6.0.0 - semver: 7.5.2 - semver-truncate: 2.0.0 + semver: 7.5.3 + semver-truncate: 3.0.0 dev: true /bin-version@6.0.0: @@ -1426,14 +1435,6 @@ packages: engines: {node: '>=8'} dev: true - /bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - dev: true - /blueimp-md5@2.19.0: resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==} dev: true @@ -1461,8 +1462,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001504 - electron-to-chromium: 1.4.433 + caniuse-lite: 1.0.30001509 + electron-to-chromium: 1.4.447 node-releases: 2.0.12 update-browserslist-db: 1.0.11(browserslist@4.21.9) dev: true @@ -1487,8 +1488,8 @@ packages: engines: {node: '>=14.16'} dev: true - /cacheable-request@10.2.10: - resolution: {integrity: sha512-v6WB+Epm/qO4Hdlio/sfUn69r5Shgh39SsE9DSd4bIezP0mblOlObI+I0kUEM7J0JFc+I7pSeMeYaOYtX1N/VQ==} + /cacheable-request@10.2.12: + resolution: {integrity: sha512-qtWGB5kn2OLjx47pYUkWicyOpK1vy9XZhq8yRTXOy+KAmjjESSRLx6SiExnnaGGUP1NM6/vmygMu0fGylNh9tw==} engines: {node: '>=14.16'} dependencies: '@types/http-cache-semantics': 4.0.1 @@ -1536,6 +1537,16 @@ packages: type-fest: 1.4.0 dev: true + /camelcase-keys@8.0.2: + resolution: {integrity: sha512-qMKdlOfsjlezMqxkUGGMaWWs17i2HoL15tM+wtx8ld4nLrUwU58TFdvyGOz/piNP842KeO8yXvggVQSdQ828NA==} + engines: {node: '>=14.16'} + dependencies: + camelcase: 7.0.1 + map-obj: 4.3.0 + quick-lru: 6.1.1 + type-fest: 2.19.0 + dev: true + /camelcase@5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} @@ -1546,17 +1557,22 @@ packages: engines: {node: '>=10'} dev: true + /camelcase@7.0.1: + resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} + engines: {node: '>=14.16'} + dev: true + /caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: browserslist: 4.21.9 - caniuse-lite: 1.0.30001504 + caniuse-lite: 1.0.30001509 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 dev: true - /caniuse-lite@1.0.30001504: - resolution: {integrity: sha512-5uo7eoOp2mKbWyfMXnGO9rJWOGU8duvzEiYITW+wivukL7yHH4gX9yuRaobu6El4jPxo6jKZfG+N6fB621GD/Q==} + /caniuse-lite@1.0.30001509: + resolution: {integrity: sha512-2uDDk+TRiTX5hMcUYT/7CSyzMZxjfGu0vAUjS2g0LSD8UoXOv0LtpH4LxGMemsiPq6LCVIUjNwVM0erkOkGCDA==} dev: true /caseless@0.12.0: @@ -1599,8 +1615,8 @@ packages: supports-color: 7.2.0 dev: true - /chalk@5.2.0: - resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} + /chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} dev: true @@ -1783,7 +1799,7 @@ packages: js-string-escape: 1.0.1 lodash: 4.17.21 md5-hex: 3.0.1 - semver: 7.5.2 + semver: 7.5.3 well-known-symbols: 2.0.0 dev: true @@ -1824,37 +1840,36 @@ packages: path-type: 4.0.0 dev: true - /cp-file@9.1.0: - resolution: {integrity: sha512-3scnzFj/94eb7y4wyXRWwvzLFaQp87yyfTnChIjlfYrVqp5lVO3E2hIJMeQIltUT0K2ZAB3An1qXcBmwGyvuwA==} - engines: {node: '>=10'} + /cp-file@10.0.0: + resolution: {integrity: sha512-vy2Vi1r2epK5WqxOLnskeKeZkdZvTKfFZQCplE3XWsP+SUJyd5XAUFC9lFgTjjXJF2GMne/UML14iEmkAaDfFg==} + engines: {node: '>=14.16'} dependencies: graceful-fs: 4.2.11 - make-dir: 3.1.0 nested-error-stacks: 2.1.1 - p-event: 4.2.0 + p-event: 5.0.1 dev: true - /cpy-cli@4.2.0: - resolution: {integrity: sha512-b04b+cbdr29CdpREPKw/itrfjO43Ty0Aj7wRM6M6LoE4GJxZJCk9Xp+Eu1IqztkKh3LxIBt1tDplENsa6KYprg==} - engines: {node: '>=12.20'} + /cpy-cli@5.0.0: + resolution: {integrity: sha512-fb+DZYbL9KHc0BC4NYqGRrDIJZPXUmjjtqdw4XRRg8iV8dIfghUX/WiL+q4/B/KFTy3sK6jsbUhBaz0/Hxg7IQ==} + engines: {node: '>=16'} hasBin: true dependencies: - cpy: 9.0.1 - meow: 10.1.5 + cpy: 10.1.0 + meow: 12.0.1 dev: true - /cpy@9.0.1: - resolution: {integrity: sha512-D9U0DR5FjTCN3oMTcFGktanHnAG5l020yvOCR1zKILmAyPP7I/9pl6NFgRbDcmSENtbK1sQLBz1p9HIOlroiNg==} - engines: {node: ^12.20.0 || ^14.17.0 || >=16.0.0} + /cpy@10.1.0: + resolution: {integrity: sha512-VC2Gs20JcTyeQob6UViBLnyP0bYHkBh6EiKzot9vi2DmeGlFT9Wd7VG3NBrkNx/jYvFBeyDOMMHdHQhbtKLgHQ==} + engines: {node: '>=16'} dependencies: arrify: 3.0.0 - cp-file: 9.1.0 + cp-file: 10.0.0 globby: 13.2.0 junk: 4.0.1 micromatch: 4.0.5 nested-error-stacks: 2.1.1 p-filter: 3.0.0 - p-map: 5.5.0 + p-map: 6.0.0 dev: true /cross-spawn@6.0.5: @@ -2110,6 +2125,16 @@ packages: map-obj: 1.0.1 dev: true + /decamelize-keys@2.0.1: + resolution: {integrity: sha512-nrNeSCtU2gV3Apcmn/EZ+aR20zKDuNDStV67jPiupokD3sOAFeMzslLMCFdKv1sPqzwoe5ZUhsSW9IAVgKSL/Q==} + engines: {node: '>=14.16'} + dependencies: + decamelize: 6.0.0 + map-obj: 4.3.0 + quick-lru: 6.1.1 + type-fest: 3.12.0 + dev: true + /decamelize@1.2.0: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} @@ -2120,6 +2145,11 @@ packages: engines: {node: '>=10'} dev: true + /decamelize@6.0.0: + resolution: {integrity: sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + /decompress-response@6.0.0: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} @@ -2321,8 +2351,8 @@ packages: dev: true optional: true - /electron-to-chromium@1.4.433: - resolution: {integrity: sha512-MGO1k0w1RgrfdbLVwmXcDhHHuxCn2qRgR7dYsJvWFKDttvYPx6FNzCGG0c/fBBvzK2LDh3UV7Tt9awnHnvAAUQ==} + /electron-to-chromium@1.4.447: + resolution: {integrity: sha512-sxX0LXh+uL41hSJsujAN86PjhrV/6c79XmpY0TvjZStV6VxIgarf8SRkUoUTuYmFcZQTemsoqo8qXOGw5npWfw==} dev: true /emittery@1.0.1: @@ -2435,43 +2465,43 @@ packages: is-symbol: 1.0.4 dev: true - /esbuild-plugin-glsl@1.2.1(esbuild@0.18.4): + /esbuild-plugin-glsl@1.2.1(esbuild@0.18.11): resolution: {integrity: sha512-xqJTEpAbQg4omoi/tqe6kEr3JjkhzwodPkqHpzAfn9rmBAEpqrQZiUmV5N3yojwBqGo+Aq7ONsvNwz+J41Qm6Q==} engines: {node: '>= 0.10.18'} peerDependencies: esbuild: 0.x.x dependencies: - esbuild: 0.18.4 + esbuild: 0.18.11 dev: true - /esbuild@0.18.4: - resolution: {integrity: sha512-9rxWV/Cb2DMUXfe9aUsYtqg0KTlw146ElFH22kYeK9KVV1qT082X4lpmiKsa12ePiCcIcB686TQJxaGAa9TFvA==} + /esbuild@0.18.11: + resolution: {integrity: sha512-i8u6mQF0JKJUlGR3OdFLKldJQMMs8OqM9Cc3UCi9XXziJ9WERM5bfkHaEAy0YAvPRMgqSW55W7xYn84XtEFTtA==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.18.4 - '@esbuild/android-arm64': 0.18.4 - '@esbuild/android-x64': 0.18.4 - '@esbuild/darwin-arm64': 0.18.4 - '@esbuild/darwin-x64': 0.18.4 - '@esbuild/freebsd-arm64': 0.18.4 - '@esbuild/freebsd-x64': 0.18.4 - '@esbuild/linux-arm': 0.18.4 - '@esbuild/linux-arm64': 0.18.4 - '@esbuild/linux-ia32': 0.18.4 - '@esbuild/linux-loong64': 0.18.4 - '@esbuild/linux-mips64el': 0.18.4 - '@esbuild/linux-ppc64': 0.18.4 - '@esbuild/linux-riscv64': 0.18.4 - '@esbuild/linux-s390x': 0.18.4 - '@esbuild/linux-x64': 0.18.4 - '@esbuild/netbsd-x64': 0.18.4 - '@esbuild/openbsd-x64': 0.18.4 - '@esbuild/sunos-x64': 0.18.4 - '@esbuild/win32-arm64': 0.18.4 - '@esbuild/win32-ia32': 0.18.4 - '@esbuild/win32-x64': 0.18.4 + '@esbuild/android-arm': 0.18.11 + '@esbuild/android-arm64': 0.18.11 + '@esbuild/android-x64': 0.18.11 + '@esbuild/darwin-arm64': 0.18.11 + '@esbuild/darwin-x64': 0.18.11 + '@esbuild/freebsd-arm64': 0.18.11 + '@esbuild/freebsd-x64': 0.18.11 + '@esbuild/linux-arm': 0.18.11 + '@esbuild/linux-arm64': 0.18.11 + '@esbuild/linux-ia32': 0.18.11 + '@esbuild/linux-loong64': 0.18.11 + '@esbuild/linux-mips64el': 0.18.11 + '@esbuild/linux-ppc64': 0.18.11 + '@esbuild/linux-riscv64': 0.18.11 + '@esbuild/linux-s390x': 0.18.11 + '@esbuild/linux-x64': 0.18.11 + '@esbuild/netbsd-x64': 0.18.11 + '@esbuild/openbsd-x64': 0.18.11 + '@esbuild/sunos-x64': 0.18.11 + '@esbuild/win32-arm64': 0.18.11 + '@esbuild/win32-ia32': 0.18.11 + '@esbuild/win32-x64': 0.18.11 dev: true /escalade@3.1.1: @@ -2651,7 +2681,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint-watch@8.0.0(eslint@8.43.0): + /eslint-watch@8.0.0(eslint@8.44.0): resolution: {integrity: sha512-piws/uE4gkZdz1pwkaEFx+kSWvoGnVX8IegFRrE1NUvlXjtU0rg7KhT1QDj/NzhAwbiLEfdRHWz5q738R4zDKA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true @@ -2660,7 +2690,7 @@ packages: dependencies: chokidar: 3.5.3 debug: 4.3.4 - eslint: 8.43.0 + eslint: 8.44.0 execa: 5.1.1 keypress: 0.2.1 lodash.debounce: 4.0.8 @@ -2668,20 +2698,20 @@ packages: lodash.isequal: 4.5.0 lodash.kebabcase: 4.1.1 lodash.unionwith: 4.6.0 - optionator: 0.9.1 + optionator: 0.9.3 transitivePeerDependencies: - supports-color dev: true - /eslint@8.43.0: - resolution: {integrity: sha512-aaCpf2JqqKesMFGgmRPessmVKjcGXqdlAYLLC3THM8t5nBRZRQ+st5WM/hoJXkdioEXLLbXgclUpM0TXo5HX5Q==} + /eslint@8.44.0: + resolution: {integrity: sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.43.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.44.0) '@eslint-community/regexpp': 4.5.1 - '@eslint/eslintrc': 2.0.3 - '@eslint/js': 8.43.0 + '@eslint/eslintrc': 2.1.0 + '@eslint/js': 8.44.0 '@humanwhocodes/config-array': 0.11.10 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -2693,7 +2723,7 @@ packages: escape-string-regexp: 4.0.0 eslint-scope: 7.2.0 eslint-visitor-keys: 3.4.1 - espree: 9.5.2 + espree: 9.6.0 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -2713,7 +2743,7 @@ packages: lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.1 + optionator: 0.9.3 strip-ansi: 6.0.1 strip-json-comments: 3.1.1 text-table: 0.2.0 @@ -2721,8 +2751,8 @@ packages: - supports-color dev: true - /espree@9.5.2: - resolution: {integrity: sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==} + /espree@9.6.0: + resolution: {integrity: sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: acorn: 8.9.0 @@ -2814,8 +2844,12 @@ packages: resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} dev: true - /fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + /fast-fifo@1.3.0: + resolution: {integrity: sha512-IgfweLvEpwyA4WgiQe9Nx6VV2QkML2NkvZnk1oKnIzXgXdWxuhF7zw4DvLTPZJn6PIUneiAXPF24QmoEqHTjyw==} + dev: true + + /fast-glob@3.3.0: + resolution: {integrity: sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 @@ -2972,10 +3006,6 @@ packages: resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} dev: true - /fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - dev: true - /fs-extra@1.0.0: resolution: {integrity: sha512-VerQV6vEKuhDWD2HGOybV6v5I73syoc/cXAbKlgTC7M/oFVEtklWlp9QH2Ijw3IaWDOQcMkldSPa7zXy79Z/UQ==} dependencies: @@ -3145,7 +3175,7 @@ packages: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.2.12 + fast-glob: 3.3.0 ignore: 5.2.4 merge2: 1.4.1 slash: 3.0.0 @@ -3156,7 +3186,7 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: dir-glob: 3.0.1 - fast-glob: 3.2.12 + fast-glob: 3.3.0 ignore: 5.2.4 merge2: 1.4.1 slash: 4.0.0 @@ -3183,7 +3213,7 @@ packages: '@sindresorhus/is': 5.4.1 '@szmarczak/http-timer': 5.0.1 cacheable-lookup: 7.0.0 - cacheable-request: 10.2.10 + cacheable-request: 10.2.12 decompress-response: 6.0.0 form-data-encoder: 2.1.4 get-stream: 6.0.1 @@ -3300,6 +3330,13 @@ packages: lru-cache: 6.0.0 dev: true + /hosted-git-info@6.1.1: + resolution: {integrity: sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + lru-cache: 7.18.3 + dev: true + /html-tags@3.3.1: resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} engines: {node: '>=8'} @@ -3348,13 +3385,13 @@ packages: resolve-alpn: 1.2.1 dev: true - /hugo-bin@0.108.0: - resolution: {integrity: sha512-3L+NRt+DQ41Gr44nh72t075EDqaI+w8IVaS9zMXamAjj8a/iKWrYEX3vshy8lcpibKVIuc65miwPxxAAR42K6A==} + /hugo-bin@0.111.0: + resolution: {integrity: sha512-raVol9zsi91AtNIds9hcjNTuLBiolrlfPonM8CohcrBlthAJX6bqFDkPYkqa2rF/HupkQEHvMSkaIw1nRmwnbA==} engines: {node: ^14.14.0 || >=16.0.0} hasBin: true requiresBuild: true dependencies: - '@xhmikosr/bin-wrapper': 10.0.0 + '@xhmikosr/bin-wrapper': 11.0.2 pkg-conf: 4.0.0 dev: true @@ -4031,11 +4068,16 @@ packages: yallist: 4.0.0 dev: true - /make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} + /lru-cache@7.18.3: + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} + dev: true + + /make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} dependencies: - semver: 6.3.0 + semver: 7.5.3 dev: true /map-age-cleaner@0.1.3: @@ -4118,6 +4160,24 @@ packages: yargs-parser: 20.2.9 dev: true + /meow@12.0.1: + resolution: {integrity: sha512-/QOqMALNoKQcJAOOdIXjNLtfcCdLXbMFyB1fOOPdm6RzfBTlsuodOCTBDjVbeUSmgDQb8UI2oONqYGtq1PKKKA==} + engines: {node: '>=16.10'} + dependencies: + '@types/minimist': 1.2.2 + camelcase-keys: 8.0.2 + decamelize: 6.0.0 + decamelize-keys: 2.0.1 + hard-rejection: 2.1.0 + minimist-options: 4.1.0 + normalize-package-data: 5.0.0 + read-pkg-up: 9.1.0 + redent: 4.0.0 + trim-newlines: 5.0.0 + type-fest: 3.12.0 + yargs-parser: 21.1.1 + dev: true + /meow@9.0.0: resolution: {integrity: sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==} engines: {node: '>=10'} @@ -4279,7 +4339,17 @@ packages: dependencies: hosted-git-info: 4.1.0 is-core-module: 2.12.1 - semver: 7.5.2 + semver: 7.5.3 + validate-npm-package-license: 3.0.4 + dev: true + + /normalize-package-data@5.0.0: + resolution: {integrity: sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + hosted-git-info: 6.1.1 + is-core-module: 2.12.1 + semver: 7.5.3 validate-npm-package-license: 3.0.4 dev: true @@ -4396,16 +4466,16 @@ packages: dev: true optional: true - /optionator@0.9.1: - resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 - word-wrap: 1.2.3 dev: true /os-filter-obj@2.0.0: @@ -4430,13 +4500,6 @@ packages: engines: {node: '>=4'} dev: true - /p-event@4.2.0: - resolution: {integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==} - engines: {node: '>=8'} - dependencies: - p-timeout: 3.2.0 - dev: true - /p-event@5.0.1: resolution: {integrity: sha512-dd589iCQ7m1L0bmC5NLlVYfy3TbBEsMUfWx9PyAgPeIcFZ/E2yaTZ4Rz4MiBmmJShviiftHVXOqfnfzJ6kyMrQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -4451,11 +4514,6 @@ packages: p-map: 5.5.0 dev: true - /p-finally@1.0.0: - resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} - engines: {node: '>=4'} - dev: true - /p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -4505,11 +4563,9 @@ packages: aggregate-error: 4.0.1 dev: true - /p-timeout@3.2.0: - resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} - engines: {node: '>=8'} - dependencies: - p-finally: 1.0.0 + /p-map@6.0.0: + resolution: {integrity: sha512-T8BatKGY+k5rU+Q/GTYgrEf2r4xRMevAN5mtXc2aPc4rS1j3s+vWTaO2Wag94neXuCAUAs8cxBL9EeB5EA6diw==} + engines: {node: '>=16'} dev: true /p-timeout@5.1.0: @@ -4560,7 +4616,7 @@ packages: /parse5@3.0.3: resolution: {integrity: sha512-rgO9Zg5LLLkfJF9E6CCmXlSE4UVceloys8JrFqCcHloC3usd/kJCyPDwH2SOlzix2j3xaP9sUX3e8+kvkuleAA==} dependencies: - '@types/node': 20.3.1 + '@types/node': 20.3.3 dev: true /path-exists@4.0.0: @@ -4776,8 +4832,8 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-custom-media@9.1.4(postcss@8.4.24): - resolution: {integrity: sha512-4A7WEG3iIyKwfpxL5bkuSlHoHHGRTHl0212Z3uvpwJPyVfZJlkZAQNNgVC+oogrJgksDnfKyuuMbG6HafZPW8Q==} + /postcss-custom-media@9.1.5(postcss@8.4.24): + resolution: {integrity: sha512-GStyWMz7Qbo/Gtw1xVspzVSX8eipgNg4lpsO3CAeY4/A1mzok+RV6MCv3fg62trWijh/lYEj6vps4o8JcBBpDA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -4785,7 +4841,7 @@ packages: '@csstools/cascade-layer-name-parser': 1.0.2(@csstools/css-parser-algorithms@2.2.0)(@csstools/css-tokenizer@2.1.1) '@csstools/css-parser-algorithms': 2.2.0(@csstools/css-tokenizer@2.1.1) '@csstools/css-tokenizer': 2.1.1 - '@csstools/media-query-list-parser': 2.1.0(@csstools/css-parser-algorithms@2.2.0)(@csstools/css-tokenizer@2.1.1) + '@csstools/media-query-list-parser': 2.1.1(@csstools/css-parser-algorithms@2.2.0)(@csstools/css-tokenizer@2.1.1) postcss: 8.4.24 dev: true @@ -5188,8 +5244,8 @@ packages: postcss-value-parser: 4.2.0 dev: true - /postcss-preset-env@8.5.0(postcss@8.4.24): - resolution: {integrity: sha512-aqAbT5dXqYX5ZvicGKQpaW/eDEZFRfnhV6Hn1Jn2bCKEB9L2MgsTdnIsXsZyFUQflIV2wIs9HTEQgkH5duMCNg==} + /postcss-preset-env@8.5.1(postcss@8.4.24): + resolution: {integrity: sha512-qhWnJJjP6ArLUINWJ38t6Aftxnv9NW6cXK0NuwcLCcRilbuw72dSFLkCVUJeCfHGgJiKzX+pnhkGiki0PEynWg==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -5205,8 +5261,8 @@ packages: '@csstools/postcss-logical-float-and-clear': 1.0.1(postcss@8.4.24) '@csstools/postcss-logical-resize': 1.0.1(postcss@8.4.24) '@csstools/postcss-logical-viewport-units': 1.0.3(postcss@8.4.24) - '@csstools/postcss-media-minmax': 1.0.3(postcss@8.4.24) - '@csstools/postcss-media-queries-aspect-ratio-number-values': 1.0.3(postcss@8.4.24) + '@csstools/postcss-media-minmax': 1.0.4(postcss@8.4.24) + '@csstools/postcss-media-queries-aspect-ratio-number-values': 1.0.4(postcss@8.4.24) '@csstools/postcss-nested-calc': 2.0.2(postcss@8.4.24) '@csstools/postcss-normalize-display-values': 2.0.1(postcss@8.4.24) '@csstools/postcss-oklab-function': 2.2.3(postcss@8.4.24) @@ -5229,7 +5285,7 @@ packages: postcss-color-functional-notation: 5.1.0(postcss@8.4.24) postcss-color-hex-alpha: 9.0.2(postcss@8.4.24) postcss-color-rebeccapurple: 8.0.2(postcss@8.4.24) - postcss-custom-media: 9.1.4(postcss@8.4.24) + postcss-custom-media: 9.1.5(postcss@8.4.24) postcss-custom-properties: 13.2.0(postcss@8.4.24) postcss-custom-selectors: 7.1.3(postcss@8.4.24) postcss-dir-pseudo-class: 7.0.2(postcss@8.4.24) @@ -5440,6 +5496,10 @@ packages: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: true + /queue-tick@1.0.1: + resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} + dev: true + /quick-lru@4.0.1: resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} engines: {node: '>=8'} @@ -5450,6 +5510,11 @@ packages: engines: {node: '>=10'} dev: true + /quick-lru@6.1.1: + resolution: {integrity: sha512-S27GBT+F0NTRiehtbrgaSE1idUAJ5bX8dPAQTdylEyNlrdcH5X4Lz7Edz3DYzecbsCluD5zO8ZNEe04z3D3u6Q==} + engines: {node: '>=12'} + dev: true + /quotemeta@0.0.0: resolution: {integrity: sha512-1XGObUh7RN5b58vKuAsrlfqT+Rc4vmw8N4pP9gFCq1GFlTdV0Ex/D2Ro1Drvrqj++HPi3ig0Np17XPslELeMRA==} dev: true @@ -5478,6 +5543,15 @@ packages: type-fest: 1.4.0 dev: true + /read-pkg-up@9.1.0: + resolution: {integrity: sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + find-up: 6.3.0 + read-pkg: 7.1.0 + type-fest: 2.19.0 + dev: true + /read-pkg@3.0.0: resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} engines: {node: '>=4'} @@ -5507,6 +5581,16 @@ packages: type-fest: 1.4.0 dev: true + /read-pkg@7.1.0: + resolution: {integrity: sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg==} + engines: {node: '>=12.20'} + dependencies: + '@types/normalize-package-data': 2.4.1 + normalize-package-data: 3.0.3 + parse-json: 5.2.0 + type-fest: 2.19.0 + dev: true + /readable-stream@1.1.14: resolution: {integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==} dependencies: @@ -5709,8 +5793,8 @@ packages: dev: true optional: true - /sass@1.63.4: - resolution: {integrity: sha512-Sx/+weUmK+oiIlI+9sdD0wZHsqpbgQg8wSwSnGBjwb5GwqFhYNwwnI+UWZtLjKvKyFlKkatRK235qQ3mokyPoQ==} + /sass@1.63.6: + resolution: {integrity: sha512-MJuxGMHzaOW7ipp+1KdELtqKbfAWbH7OLIdoSMnVe3EXPMTmxTmlaZDCTsgIpPCs3w99lLo9/zDKkOrJuT5byw==} engines: {node: '>=14.0.0'} hasBin: true dependencies: @@ -5736,11 +5820,11 @@ packages: engines: {node: '>=12'} dev: true - /semver-truncate@2.0.0: - resolution: {integrity: sha512-Rh266MLDYNeML5h90ttdMwfXe1+Nc4LAWd9X1KdJe8pPHP4kFmvLZALtsMNHNdvTyQygbEC0D59sIz47DIaq8w==} - engines: {node: '>=8'} + /semver-truncate@3.0.0: + resolution: {integrity: sha512-LJWA9kSvMolR51oDE6PN3kALBNaUdkxzAGcexw8gjMA8xr5zUqK0JiR3CgARSqanYF3Z1YHvsErb1KDgh+v7Rg==} + engines: {node: '>=12'} dependencies: - semver: 6.3.0 + semver: 7.5.3 dev: true /semver@5.7.1: @@ -5748,13 +5832,8 @@ packages: hasBin: true dev: true - /semver@6.3.0: - resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} - hasBin: true - dev: true - - /semver@7.5.2: - resolution: {integrity: sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==} + /semver@7.5.3: + resolution: {integrity: sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==} engines: {node: '>=10'} hasBin: true dependencies: @@ -5885,13 +5964,13 @@ packages: dev: true optional: true - /spatial-controls@5.0.8(three@0.153.0): - resolution: {integrity: sha512-VajbX1AHbebTGBbHxSVwKLwB+0NZi2ESVVvEtrlhwsj0Dylbk2EGExSrFkBKa2Xm6LLiyZfdYtmmK0zT9wX1Yg==} - engines: {node: '>= 0.14.0'} + /spatial-controls@6.1.0(three@0.154.0): + resolution: {integrity: sha512-DjuBav7/ri9ve8A4quY2hdE0gukt6ZGrG6htDvi4N0P/3fBE7XYesjU61QNOvIVqVKWOeR1BWhZ/m27CvNcMBw==} + engines: {node: '>= 0.16.0'} peerDependencies: three: 0.x.x dependencies: - three: 0.153.0 + three: 0.154.0 dev: true /spdx-correct@3.2.0: @@ -5955,6 +6034,13 @@ packages: resolution: {integrity: sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==} dev: true + /streamx@2.15.0: + resolution: {integrity: sha512-HcxY6ncGjjklGs1xsP1aR71INYcsXFJet5CU1CHqihQ2J5nOsbd4OjgjHO42w/4QNv9gZb3BueV+Vxok5pLEXg==} + dependencies: + fast-fifo: 1.3.0 + queue-tick: 1.0.1 + dev: true + /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -6108,8 +6194,8 @@ packages: postcss-selector-parser: 6.0.13 dev: true - /stylelint-config-recommended-scss@11.0.0(postcss@8.4.24)(stylelint@15.8.0): - resolution: {integrity: sha512-EDghTDU7aOv2LTsRZvcT1w8mcjUaMhuy+t38iV5I/0Qiu6ixdkRwhLEMul3K/fnB2v9Nwqvb3xpvJfPH+HduDw==} + /stylelint-config-recommended-scss@12.0.0(postcss@8.4.24)(stylelint@15.9.0): + resolution: {integrity: sha512-5Bb2mlGy6WLa30oNeKpZvavv2lowJUsUJO25+OA68GFTemlwd1zbFsL7q0bReKipOSU3sG47hKneZ6Nd+ctrFA==} peerDependencies: postcss: ^8.3.3 stylelint: ^15.5.0 @@ -6119,21 +6205,21 @@ packages: dependencies: postcss: 8.4.24 postcss-scss: 4.0.6(postcss@8.4.24) - stylelint: 15.8.0 - stylelint-config-recommended: 12.0.0(stylelint@15.8.0) - stylelint-scss: 4.7.0(stylelint@15.8.0) + stylelint: 15.9.0 + stylelint-config-recommended: 12.0.0(stylelint@15.9.0) + stylelint-scss: 5.0.1(stylelint@15.9.0) dev: true - /stylelint-config-recommended@12.0.0(stylelint@15.8.0): + /stylelint-config-recommended@12.0.0(stylelint@15.9.0): resolution: {integrity: sha512-x6x8QNARrGO2sG6iURkzqL+Dp+4bJorPMMRNPScdvaUK8PsynriOcMW7AFDKqkWAS5wbue/u8fUT/4ynzcmqdQ==} peerDependencies: stylelint: ^15.5.0 dependencies: - stylelint: 15.8.0 + stylelint: 15.9.0 dev: true - /stylelint-config-standard-scss@9.0.0(postcss@8.4.24)(stylelint@15.8.0): - resolution: {integrity: sha512-yPKpJsrZn4ybuQZx/DkEHuCjw7pJginErE/47dFhCnrvD48IJ4UYec8tSiCuJWMA3HRjbIa3nh5ZeSauDGuVAg==} + /stylelint-config-standard-scss@10.0.0(postcss@8.4.24)(stylelint@15.9.0): + resolution: {integrity: sha512-bChBEo1p3xUVWh/wenJI+josoMk21f2yuLDGzGjmKYcALfl2u3DFltY+n4UHswYiXghqXaA8mRh+bFy/q1hQlg==} peerDependencies: postcss: ^8.3.3 stylelint: ^15.5.0 @@ -6142,32 +6228,32 @@ packages: optional: true dependencies: postcss: 8.4.24 - stylelint: 15.8.0 - stylelint-config-recommended-scss: 11.0.0(postcss@8.4.24)(stylelint@15.8.0) - stylelint-config-standard: 33.0.0(stylelint@15.8.0) + stylelint: 15.9.0 + stylelint-config-recommended-scss: 12.0.0(postcss@8.4.24)(stylelint@15.9.0) + stylelint-config-standard: 33.0.0(stylelint@15.9.0) dev: true - /stylelint-config-standard@33.0.0(stylelint@15.8.0): + /stylelint-config-standard@33.0.0(stylelint@15.9.0): resolution: {integrity: sha512-eyxnLWoXImUn77+ODIuW9qXBDNM+ALN68L3wT1lN2oNspZ7D9NVGlNHb2QCUn4xDug6VZLsh0tF8NyoYzkgTzg==} peerDependencies: stylelint: ^15.5.0 dependencies: - stylelint: 15.8.0 - stylelint-config-recommended: 12.0.0(stylelint@15.8.0) + stylelint: 15.9.0 + stylelint-config-recommended: 12.0.0(stylelint@15.9.0) dev: true - /stylelint-order@6.0.3(stylelint@15.8.0): + /stylelint-order@6.0.3(stylelint@15.9.0): resolution: {integrity: sha512-1j1lOb4EU/6w49qZeT2SQVJXm0Ht+Qnq9GMfUa3pMwoyojIWfuA+JUDmoR97Bht1RLn4ei0xtLGy87M7d29B1w==} peerDependencies: stylelint: ^14.0.0 || ^15.0.0 dependencies: postcss: 8.4.24 postcss-sorting: 8.0.2(postcss@8.4.24) - stylelint: 15.8.0 + stylelint: 15.9.0 dev: true - /stylelint-scss@4.7.0(stylelint@15.8.0): - resolution: {integrity: sha512-TSUgIeS0H3jqDZnby1UO1Qv3poi1N8wUYIJY6D1tuUq2MN3lwp/rITVo0wD+1SWTmRm0tNmGO0b7nKInnqF6Hg==} + /stylelint-scss@5.0.1(stylelint@15.9.0): + resolution: {integrity: sha512-n87iCRZrr2J7//I/QFsDXxFLnHKw633U4qvWZ+mOW6KDAp/HLj06H+6+f9zOuTYy+MdGdTuCSDROCpQIhw5fvQ==} peerDependencies: stylelint: ^14.5.1 || ^15.0.0 dependencies: @@ -6175,17 +6261,17 @@ packages: postcss-resolve-nested-selector: 0.1.1 postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 - stylelint: 15.8.0 + stylelint: 15.9.0 dev: true - /stylelint@15.8.0: - resolution: {integrity: sha512-x9qBk84F3MEjMEUNCE7MtWmfj9G9y5XzJ0cpQeJdy2l/IoqjC8Ih0N0ytmOTnXE4Yv0J7I1cmVRQUVNSPCxTsA==} + /stylelint@15.9.0: + resolution: {integrity: sha512-sXtAZi64CllWr6A+8ymDWnlIaYwuAa7XRmGnJxLQXFNnLjd3Izm4HAD+loKVaZ7cpK6SLxhAUX1lwPJKGCn0mg==} engines: {node: ^14.13.1 || >=16.0.0} hasBin: true dependencies: '@csstools/css-parser-algorithms': 2.2.0(@csstools/css-tokenizer@2.1.1) '@csstools/css-tokenizer': 2.1.1 - '@csstools/media-query-list-parser': 2.1.0(@csstools/css-parser-algorithms@2.2.0)(@csstools/css-tokenizer@2.1.1) + '@csstools/media-query-list-parser': 2.1.1(@csstools/css-parser-algorithms@2.2.0)(@csstools/css-tokenizer@2.1.1) '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.13) balanced-match: 2.0.0 colord: 2.9.3 @@ -6193,7 +6279,7 @@ packages: css-functions-list: 3.1.0 css-tree: 2.3.1 debug: 4.3.4 - fast-glob: 3.2.12 + fast-glob: 3.3.0 fastest-levenshtein: 1.0.16 file-entry-cache: 6.0.1 global-modules: 2.0.0 @@ -6311,15 +6397,12 @@ packages: resolution: {integrity: sha512-GQ3gtYFSOAxSMN/apGtDKKkbJf+8izz5YfbGqIsUc7AMiQOapARZ76dhilRY2h39cynYxBFdafQo5HUL5vgkrg==} dev: true - /tar-stream@2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} + /tar-stream@3.1.4: + resolution: {integrity: sha512-IlHr7ZOW6XaVBCrSCokUJG4IqUuRcWW76B8XbrtCotbaDh6zVGE7WPCzaSz1CN+acFmWiwoa+cE4RZsom0RzXg==} dependencies: - bl: 4.1.0 - end-of-stream: 1.4.4 - fs-constants: 1.0.0 - inherits: 2.0.4 - readable-stream: 3.6.2 + b4a: 1.6.4 + fast-fifo: 1.3.0 + streamx: 2.15.0 dev: true /temp-dir@3.0.0: @@ -6343,7 +6426,7 @@ packages: resolution: {integrity: sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==} dev: true - /three-demo@5.1.3(dat.gui@0.7.9)(three@0.153.0): + /three-demo@5.1.3(dat.gui@0.7.9)(three@0.154.0): resolution: {integrity: sha512-bItONudb5cDlE2PMcAAEZbImsluwuGUKdm+ymC726Ew0vnYz5m+/bn0C37AdDBLpqmwixrgtmhEBXQzyrmTimg==} engines: {node: '>= 0.14.0'} peerDependencies: @@ -6351,11 +6434,11 @@ packages: three: 0.x.x dependencies: dat.gui: 0.7.9 - three: 0.153.0 + three: 0.154.0 dev: true - /three@0.153.0: - resolution: {integrity: sha512-OCP2/uQR6GcDpSLnJt/3a4mdS0kNWcbfUXIwLoEMgLzEUIVIYsSDwskpmOii/AkDM+BBwrl6+CKgrjX9+E2aWg==} + /three@0.154.0: + resolution: {integrity: sha512-Uzz8C/5GesJzv8i+Y2prEMYUwodwZySPcNhuJUdsVMH2Yn4Nm8qlbQe6qRN5fOhg55XB0WiLfTPBxVHxpE60ug==} dev: true /through2@2.0.5: @@ -6431,6 +6514,11 @@ packages: engines: {node: '>=12'} dev: true + /trim-newlines@5.0.0: + resolution: {integrity: sha512-kstfs+hgwmdsOadN3KgA+C68wPJwnZq4DN6WMDCvZapDWEF34W2TyPKN2v2+BJnZgIz5QOfxFeldLyYvdgRAwg==} + engines: {node: '>=14.16'} + dev: true + /trim-repeated@2.0.0: resolution: {integrity: sha512-QUHBFTJGdOwmp0tbOG505xAgOp/YliZP/6UgafFXYZ26WT1bvQmSMJUvkeVSASuJJHbqsFbynTvkd5W8RBTipg==} engines: {node: '>=12'} @@ -6447,18 +6535,18 @@ packages: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true - /tslib@2.5.3: - resolution: {integrity: sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==} + /tslib@2.6.0: + resolution: {integrity: sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==} dev: true - /tsutils@3.21.0(typescript@5.1.3): + /tsutils@3.21.0(typescript@5.1.6): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 5.1.3 + typescript: 5.1.6 dev: true /tunnel-agent@0.6.0: @@ -6522,6 +6610,16 @@ packages: engines: {node: '>=10'} dev: true + /type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + dev: true + + /type-fest@3.12.0: + resolution: {integrity: sha512-qj9wWsnFvVEMUDbESiilKeXeHL7FwwiFcogfhfyjmvT968RXSvnl23f1JOClTHYItsi7o501C/7qVllscUP3oA==} + engines: {node: '>=14.16'} + dev: true + /typed-array-length@1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} dependencies: @@ -6530,8 +6628,8 @@ packages: is-typed-array: 1.1.10 dev: true - /typescript@5.1.3: - resolution: {integrity: sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==} + /typescript@5.1.6: + resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} engines: {node: '>=14.17'} hasBin: true dev: true @@ -6684,6 +6782,7 @@ packages: resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} engines: {node: '>=0.10.0'} dev: true + optional: true /wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} From c281f237ced31b152ca7c188e46eadfd88dd0974 Mon Sep 17 00:00:00 2001 From: "Raoul v. R" Date: Sat, 1 Jul 2023 12:39:14 +0200 Subject: [PATCH 13/18] Add Uncharted2 tone mapping --- src/effects/glsl/tone-mapping.frag | 75 ++++++++++++++++++++++-------- src/enums/ToneMappingMode.js | 4 +- 2 files changed, 58 insertions(+), 21 deletions(-) diff --git a/src/effects/glsl/tone-mapping.frag b/src/effects/glsl/tone-mapping.frag index 9b2ce4ad4..8bcdb1962 100644 --- a/src/effects/glsl/tone-mapping.frag +++ b/src/effects/glsl/tone-mapping.frag @@ -6,41 +6,72 @@ #endif -uniform lowp sampler2D luminanceBuffer; uniform float whitePoint; -uniform float middleGrey; -#if TONE_MAPPING_MODE != 2 +#if TONE_MAPPING_MODE == 1 || TONE_MAPPING_MODE == 2 - uniform float averageLuminance; + uniform float middleGrey; -#endif + #if TONE_MAPPING_MODE == 2 -vec3 Reinhard2ToneMapping(vec3 color) { + uniform lowp sampler2D luminanceBuffer; - color *= toneMappingExposure; + #else - // Calculate the luminance of the current pixel. - float l = luminance(color); + uniform float averageLuminance; - #if TONE_MAPPING_MODE == 2 + #endif - // Get the average luminance from the adaptive 1x1 buffer. - float lumAvg = unpackRGBAToFloat(texture2D(luminanceBuffer, vec2(0.5))); + vec3 Reinhard2ToneMapping(vec3 color) { - #else + color *= toneMappingExposure; - float lumAvg = averageLuminance; + // Calculate the luminance of the current pixel. + float l = luminance(color); - #endif + #if TONE_MAPPING_MODE == 2 - float lumScaled = (l * middleGrey) / max(lumAvg, 1e-6); - float lumCompressed = lumScaled * (1.0 + lumScaled / (whitePoint * whitePoint)); - lumCompressed /= (1.0 + lumScaled); + // Get the average luminance from the adaptive 1x1 buffer. + float lumAvg = unpackRGBAToFloat(texture2D(luminanceBuffer, vec2(0.5))); - return clamp(lumCompressed * color, 0.0, 1.0); + #else -} + float lumAvg = averageLuminance; + + #endif + + float lumScaled = (l * middleGrey) / max(lumAvg, 1e-6); + float lumCompressed = lumScaled * (1.0 + lumScaled / (whitePoint * whitePoint)); + lumCompressed /= (1.0 + lumScaled); + + return clamp(lumCompressed * color, 0.0, 1.0); + + } + +#elif TONE_MAPPING_MODE == 5 + + // http://filmicworlds.com/blog/filmic-tonemapping-operators + #define A 0.15 + #define B 0.50 + #define C 0.10 + #define D 0.20 + #define E 0.02 + #define F 0.30 + + vec3 Uncharted2Helper(const in vec3 x) { + + return ((x * (A * x + C * B) + D * E) / (x * (A * x + B) + D * F)) - E / F; + + } + + vec3 Uncharted2ToneMapping(vec3 color) { + + color *= toneMappingExposure; + return clamp(Uncharted2Helper(color) / Uncharted2Helper(vec3(whitePoint)), 0.0, 1.0); + + } + +#endif void mainImage(const in vec4 inputColor, const in vec2 uv, out vec4 outputColor) { @@ -48,6 +79,10 @@ void mainImage(const in vec4 inputColor, const in vec2 uv, out vec4 outputColor) outputColor = vec4(Reinhard2ToneMapping(inputColor.rgb), inputColor.a); + #elif TONE_MAPPING_MODE == 5 + + outputColor = vec4(Uncharted2ToneMapping(inputColor.rgb), inputColor.a); + #else outputColor = vec4(toneMapping(inputColor.rgb), inputColor.a); diff --git a/src/enums/ToneMappingMode.js b/src/enums/ToneMappingMode.js index 4aab8307c..52d3726dc 100644 --- a/src/enums/ToneMappingMode.js +++ b/src/enums/ToneMappingMode.js @@ -7,6 +7,7 @@ * @property {Number} REINHARD2_ADAPTIVE - Simulates the optic nerve responding to the amount of light it is receiving. * @property {Number} OPTIMIZED_CINEON - Optimized filmic operator by Jim Hejl and Richard Burgess-Dawson. * @property {Number} ACES_FILMIC - ACES tone mapping with a scale of 1.0/0.6. + * @property {Number} UNCHARTED2 - Uncharted 2 tone mapping. http://filmicworlds.com/blog/filmic-tonemapping-operators */ export const ToneMappingMode = { @@ -14,5 +15,6 @@ export const ToneMappingMode = { REINHARD2: 1, REINHARD2_ADAPTIVE: 2, OPTIMIZED_CINEON: 3, - ACES_FILMIC: 4 + ACES_FILMIC: 4, + UNCHARTED2: 5 }; From 0e23a005ecb29da9244b5104aee518270e8b6a58 Mon Sep 17 00:00:00 2001 From: "Raoul v. R" Date: Sat, 1 Jul 2023 12:39:26 +0200 Subject: [PATCH 14/18] Update tone-mapping.js --- manual/assets/js/src/demos/tone-mapping.js | 24 +++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/manual/assets/js/src/demos/tone-mapping.js b/manual/assets/js/src/demos/tone-mapping.js index cbbb3a79d..530dbbd14 100644 --- a/manual/assets/js/src/demos/tone-mapping.js +++ b/manual/assets/js/src/demos/tone-mapping.js @@ -1,6 +1,7 @@ import { CubeTextureLoader, FogExp2, + HalfFloatType, LoadingManager, PerspectiveCamera, Scene, @@ -90,14 +91,15 @@ window.addEventListener("load", () => load().then((assets) => { // Post Processing const composer = new EffectComposer(renderer, { - multisampling: Math.min(4, renderer.capabilities.maxSamples) + multisampling: Math.min(4, renderer.capabilities.maxSamples), + frameBufferType: HalfFloatType }); const effect = new ToneMappingEffect({ blendFunction: BlendFunction.NORMAL, mode: ToneMappingMode.REINHARD2_ADAPTIVE, resolution: 256, - whitePoint: 16.0, + whitePoint: 4.0, middleGrey: 0.6, minLuminance: 0.01, averageLuminance: 0.01, @@ -119,11 +121,17 @@ window.addEventListener("load", () => load().then((assets) => { folder.addInput(renderer, "toneMappingExposure", { min: 0, max: 2, step: 1e-3 }); folder.addInput(effect, "mode", { options: ToneMappingMode }); - let subfolder = folder.addFolder({ title: "Reinhard2" }); - subfolder.addInput(effect, "whitePoint", { min: 1, max: 20, step: 1e-2 }); - subfolder.addInput(effect, "middleGrey", { min: 0, max: 1, step: 1e-4 }); - subfolder.addInput(effect, "averageLuminance", { min: 1e-4, max: 1, step: 1e-3 }); - subfolder = subfolder.addFolder({ title: "Adaptive" }); + const tab = folder.addTab({ + pages: [ + { title: "Reinhard2" }, + { title: "Uncharted2" } + ] + }); + + tab.pages[0].addInput(effect, "whitePoint", { min: 1, max: 20, step: 1e-2 }); + tab.pages[0].addInput(effect, "middleGrey", { min: 0, max: 1, step: 1e-4 }); + tab.pages[0].addInput(effect, "averageLuminance", { min: 1e-4, max: 1, step: 1e-3 }); + const subfolder = tab.pages[0].addFolder({ title: "Adaptive" }); subfolder.addInput(effect, "resolution", { options: [64, 128, 256, 512].reduce(toRecord, {}), label: "resolution" @@ -132,6 +140,8 @@ window.addEventListener("load", () => load().then((assets) => { subfolder.addInput(adaptiveLuminanceMaterial, "minLuminance", { min: 0, max: 3, step: 1e-3 }); subfolder.addInput(adaptiveLuminanceMaterial, "adaptationRate", { min: 0, max: 3, step: 1e-3 }); + tab.pages[1].addInput(effect, "whitePoint", { min: 1, max: 20, step: 1e-2 }); + folder.addInput(effectPass, "dithering"); folder.addInput(effect.blendMode.opacity, "value", { label: "opacity", min: 0, max: 1, step: 0.01 }); folder.addInput(effect.blendMode, "blendFunction", { options: BlendFunction }); From 099e0bceac1a5cf9d2618c293ce220fd1121aee6 Mon Sep 17 00:00:00 2001 From: "Raoul v. R" Date: Sat, 1 Jul 2023 12:39:57 +0200 Subject: [PATCH 15/18] Version 6.32.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9d8e9a378..97db0e70b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "postprocessing", - "version": "6.32.1", + "version": "6.32.2", "description": "A post processing library for three.js.", "homepage": "https://github.com/pmndrs/postprocessing", "license": "Zlib", From 162076e3b02da86bf3ec961000cd766a3f8b26a6 Mon Sep 17 00:00:00 2001 From: "Raoul v. R" Date: Sat, 1 Jul 2023 13:17:26 +0200 Subject: [PATCH 16/18] Update bloom.js --- manual/assets/js/src/demos/bloom.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manual/assets/js/src/demos/bloom.js b/manual/assets/js/src/demos/bloom.js index 90318fec9..606b9d6db 100644 --- a/manual/assets/js/src/demos/bloom.js +++ b/manual/assets/js/src/demos/bloom.js @@ -125,8 +125,8 @@ window.addEventListener("load", () => load().then((assets) => { }); const effect = new SelectiveBloomEffect(scene, camera, { - luminanceThreshold: 0.1, - luminanceSmoothing: 0.3, + luminanceThreshold: 0.3, + luminanceSmoothing: 0.2, mipmapBlur: true, intensity: 4.0 }); From dcaf7101d838d1b90272b3a35c577c71ce1acb9f Mon Sep 17 00:00:00 2001 From: "Raoul v. R" Date: Sat, 1 Jul 2023 13:17:51 +0200 Subject: [PATCH 17/18] Invert back-compat logic --- src/materials/GodRaysMaterial.js | 3 --- src/materials/glsl/convolution.downsampling.frag | 2 +- src/materials/glsl/convolution.gaussian.frag | 2 +- src/materials/glsl/convolution.kawase.frag | 2 +- src/materials/glsl/convolution.tilt-shift.frag | 2 +- src/materials/glsl/convolution.upsampling.frag | 2 +- src/materials/glsl/copy.frag | 2 +- src/materials/glsl/effect.frag | 2 +- src/utils/BackCompat.js | 6 +++--- 9 files changed, 10 insertions(+), 13 deletions(-) diff --git a/src/materials/GodRaysMaterial.js b/src/materials/GodRaysMaterial.js index c0ade0f04..aaecc74f1 100644 --- a/src/materials/GodRaysMaterial.js +++ b/src/materials/GodRaysMaterial.js @@ -1,5 +1,4 @@ import { NoBlending, ShaderMaterial, Uniform } from "three"; -import { updateFragmentShader } from "../utils"; import fragmentShader from "./glsl/convolution.god-rays.frag"; import vertexShader from "./glsl/common.vert"; @@ -51,8 +50,6 @@ export class GodRaysMaterial extends ShaderMaterial { vertexShader }); - this.fragmentShader = updateFragmentShader(this.fragmentShader); - } /** diff --git a/src/materials/glsl/convolution.downsampling.frag b/src/materials/glsl/convolution.downsampling.frag index cf5710ff6..e71d8ab91 100644 --- a/src/materials/glsl/convolution.downsampling.frag +++ b/src/materials/glsl/convolution.downsampling.frag @@ -76,6 +76,6 @@ void main() { c += WEIGHT_OUTER * texture2D(inputBuffer, vUv); gl_FragColor = c; - #include + #include } diff --git a/src/materials/glsl/convolution.gaussian.frag b/src/materials/glsl/convolution.gaussian.frag index b0dd88cf0..277ec24b3 100644 --- a/src/materials/glsl/convolution.gaussian.frag +++ b/src/materials/glsl/convolution.gaussian.frag @@ -28,6 +28,6 @@ void main() { gl_FragColor = result; - #include + #include } diff --git a/src/materials/glsl/convolution.kawase.frag b/src/materials/glsl/convolution.kawase.frag index 906d1e075..390c3dc53 100644 --- a/src/materials/glsl/convolution.kawase.frag +++ b/src/materials/glsl/convolution.kawase.frag @@ -21,6 +21,6 @@ void main() { sum += texture2D(inputBuffer, vUv3); // Bottom left gl_FragColor = sum * 0.25; // Compute the average - #include + #include } diff --git a/src/materials/glsl/convolution.tilt-shift.frag b/src/materials/glsl/convolution.tilt-shift.frag index 4798d74ac..ed81cc506 100644 --- a/src/materials/glsl/convolution.tilt-shift.frag +++ b/src/materials/glsl/convolution.tilt-shift.frag @@ -30,6 +30,6 @@ void main() { sum += texture2D(inputBuffer, vec2(vUv.x - dUv.x, vUv.y - dUv.y)); // Bottom left gl_FragColor = sum * 0.25; // Compute the average - #include + #include } diff --git a/src/materials/glsl/convolution.upsampling.frag b/src/materials/glsl/convolution.upsampling.frag index f35ae2819..7fa377f28 100644 --- a/src/materials/glsl/convolution.upsampling.frag +++ b/src/materials/glsl/convolution.upsampling.frag @@ -39,6 +39,6 @@ void main() { vec4 baseColor = texture2D(supportBuffer, vUv); gl_FragColor = mix(baseColor, c, radius); - #include + #include } diff --git a/src/materials/glsl/copy.frag b/src/materials/glsl/copy.frag index 0b115dae1..e8853812d 100644 --- a/src/materials/glsl/copy.frag +++ b/src/materials/glsl/copy.frag @@ -20,7 +20,7 @@ void main() { vec4 texel = texture2D(inputBuffer, vUv); gl_FragColor = opacity * texel; - #include + #include #include } diff --git a/src/materials/glsl/effect.frag b/src/materials/glsl/effect.frag index 8d1776b40..ace19e06c 100644 --- a/src/materials/glsl/effect.frag +++ b/src/materials/glsl/effect.frag @@ -143,7 +143,7 @@ void main() { #ifdef ENCODE_OUTPUT - #include + #include #endif diff --git a/src/utils/BackCompat.js b/src/utils/BackCompat.js index 974d0f3a2..6525457ae 100644 --- a/src/utils/BackCompat.js +++ b/src/utils/BackCompat.js @@ -103,11 +103,11 @@ export function copyTextureColorSpace(src, dest) { * @ignore */ -export function updateFragmentShader(fragmentShader, vertexShader) { +export function updateFragmentShader(fragmentShader) { - if(revision >= 154) { + if(revision < 154) { - return fragmentShader.replace("encodings_fragment", "colorspace_fragment"); + return fragmentShader.replace("colorspace_fragment", "encodings_fragment"); } From 04b4e383348f8a7444f3ed167d245167a0fb859f Mon Sep 17 00:00:00 2001 From: "Raoul v. R" Date: Sat, 1 Jul 2023 13:17:57 +0200 Subject: [PATCH 18/18] Update index.d.ts --- types/index.d.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/types/index.d.ts b/types/index.d.ts index 58e1cb440..91be25a7d 100644 --- a/types/index.d.ts +++ b/types/index.d.ts @@ -8365,6 +8365,7 @@ declare module "postprocessing" { * @property {Number} REINHARD2_ADAPTIVE - Simulates the optic nerve responding to the amount of light it is receiving. * @property {Number} OPTIMIZED_CINEON - Optimized filmic operator by Jim Hejl and Richard Burgess-Dawson. * @property {Number} ACES_FILMIC - ACES tone mapping with a scale of 1.0/0.6. + * @property {Number} UNCHARTED2 - Uncharted 2 tone mapping. http://filmicworlds.com/blog/filmic-tonemapping-operators */ export enum ToneMappingMode { REINHARD, @@ -8372,6 +8373,7 @@ declare module "postprocessing" { REINHARD2_ADAPTIVE, OPTIMIZED_CINEON, ACES_FILMIC, + UNCHARTED2, } /** @@ -8390,14 +8392,13 @@ declare module "postprocessing" { * * The additional parameters only affect the Reinhard2 operator. * - * TODO Change default mode to ACES_FILMIC and white point to 4. * @param {Object} [options] - The options. * @param {BlendFunction} [options.blendFunction=BlendFunction.NORMAL] - The blend function of this effect. - * @param {Boolean} [options.adaptive=true] - Deprecated. Use mode instead. - * @param {ToneMappingMode} [options.mode=ToneMappingMode.REINHARD2_ADAPTIVE] - The tone mapping mode. + * @param {Boolean} [options.adaptive=false] - Deprecated. Use mode instead. + * @param {ToneMappingMode} [options.mode=ToneMappingMode.ACES_FILMIC] - The tone mapping mode. * @param {Number} [options.resolution=256] - The resolution of the luminance texture. Must be a power of two. - * @param {Number} [options.maxLuminance=16.0] - Deprecated. Same as whitePoint. - * @param {Number} [options.whitePoint=16.0] - The white point. + * @param {Number} [options.maxLuminance=4.0] - Deprecated. Same as whitePoint. + * @param {Number} [options.whitePoint=4.0] - The white point. * @param {Number} [options.middleGrey=0.6] - The middle grey factor. * @param {Number} [options.minLuminance=0.01] - The minimum luminance. Prevents very high exposure in dark scenes. * @param {Number} [options.averageLuminance=1.0] - The average luminance. Used for the non-adaptive Reinhard operator.