diff --git a/examples-testing/changes.patch b/examples-testing/changes.patch index 38a3d9c81..5953a1005 100644 --- a/examples-testing/changes.patch +++ b/examples-testing/changes.patch @@ -1,5 +1,5 @@ diff --git a/examples-testing/examples/css2d_label.ts b/examples-testing/examples/css2d_label.ts -index 1b288998..4a5af212 100644 +index 1b2889980..4a5af2121 100644 --- a/examples-testing/examples/css2d_label.ts +++ b/examples-testing/examples/css2d_label.ts @@ -7,7 +7,7 @@ import { GUI } from 'three/addons/libs/lil-gui.module.min.js'; @@ -39,7 +39,7 @@ index 1b288998..4a5af212 100644 scene.add(moon); diff --git a/examples-testing/examples/css3d_mixed.ts b/examples-testing/examples/css3d_mixed.ts -index b526e73e..261f0d70 100644 +index b526e73e5..261f0d704 100644 --- a/examples-testing/examples/css3d_mixed.ts +++ b/examples-testing/examples/css3d_mixed.ts @@ -3,8 +3,11 @@ import * as THREE from 'three'; @@ -66,7 +66,7 @@ index b526e73e..261f0d70 100644 const material = new THREE.MeshStandardMaterial({ color: 0x2200ff }); diff --git a/examples-testing/examples/css3d_molecules.ts b/examples-testing/examples/css3d_molecules.ts -index 53847260..f08bb34a 100644 +index 538472607..f08bb34ab 100644 --- a/examples-testing/examples/css3d_molecules.ts +++ b/examples-testing/examples/css3d_molecules.ts @@ -5,11 +5,11 @@ import { PDBLoader } from 'three/addons/loaders/PDBLoader.js'; @@ -182,7 +182,7 @@ index 53847260..f08bb34a 100644 const atom = document.createElement('img'); atom.src = colorSprite; diff --git a/examples-testing/examples/css3d_orthographic.ts b/examples-testing/examples/css3d_orthographic.ts -index 4aabbed0..67e41fde 100644 +index 4aabbed08..67e41fde7 100644 --- a/examples-testing/examples/css3d_orthographic.ts +++ b/examples-testing/examples/css3d_orthographic.ts @@ -2,11 +2,11 @@ import * as THREE from 'three'; @@ -284,7 +284,7 @@ index 4aabbed0..67e41fde 100644 camera.setViewOffset( fullWidth || window.innerWidth, diff --git a/examples-testing/examples/css3d_periodictable.ts b/examples-testing/examples/css3d_periodictable.ts -index e3a33f79..516df464 100644 +index e3a33f796..516df464c 100644 --- a/examples-testing/examples/css3d_periodictable.ts +++ b/examples-testing/examples/css3d_periodictable.ts @@ -597,11 +597,16 @@ const table = [ @@ -389,7 +389,7 @@ index e3a33f79..516df464 100644 .onUpdate(render) .start(); diff --git a/examples-testing/examples/css3d_sandbox.ts b/examples-testing/examples/css3d_sandbox.ts -index 1088b84b..02f1fa75 100644 +index 1088b84b1..02f1fa75a 100644 --- a/examples-testing/examples/css3d_sandbox.ts +++ b/examples-testing/examples/css3d_sandbox.ts @@ -2,13 +2,13 @@ import * as THREE from 'three'; @@ -490,7 +490,7 @@ index 1088b84b..02f1fa75 100644 camera.setViewOffset( fullWidth || window.innerWidth, diff --git a/examples-testing/examples/css3d_sprites.ts b/examples-testing/examples/css3d_sprites.ts -index 39c3455a..b3092cf3 100644 +index 39c3455a5..b3092cf3c 100644 --- a/examples-testing/examples/css3d_sprites.ts +++ b/examples-testing/examples/css3d_sprites.ts @@ -4,12 +4,12 @@ import TWEEN from 'three/addons/libs/tween.module.js'; @@ -538,7 +538,7 @@ index 39c3455a..b3092cf3 100644 .onComplete(transition) .start(); diff --git a/examples-testing/examples/css3d_youtube.ts b/examples-testing/examples/css3d_youtube.ts -index 62652f87..3dcc2f12 100644 +index 62652f87f..3dcc2f12b 100644 --- a/examples-testing/examples/css3d_youtube.ts +++ b/examples-testing/examples/css3d_youtube.ts @@ -3,10 +3,10 @@ import * as THREE from 'three'; @@ -589,7 +589,7 @@ index 62652f87..3dcc2f12 100644 controls.addEventListener('start', function () { diff --git a/examples-testing/examples/games_fps.ts b/examples-testing/examples/games_fps.ts -index ed08fb5f..7b533de6 100644 +index ed08fb5fa..7b533de69 100644 --- a/examples-testing/examples/games_fps.ts +++ b/examples-testing/examples/games_fps.ts @@ -40,7 +40,7 @@ directionalLight.shadow.radius = 4; @@ -691,7 +691,7 @@ index ed08fb5f..7b533de6 100644 } }); diff --git a/examples-testing/examples/misc_animation_groups.ts b/examples-testing/examples/misc_animation_groups.ts -index 9fed234f..638dab1f 100644 +index 9fed234fc..638dab1f7 100644 --- a/examples-testing/examples/misc_animation_groups.ts +++ b/examples-testing/examples/misc_animation_groups.ts @@ -2,8 +2,8 @@ import * as THREE from 'three'; @@ -706,7 +706,7 @@ index 9fed234f..638dab1f 100644 init(); diff --git a/examples-testing/examples/misc_animation_keys.ts b/examples-testing/examples/misc_animation_keys.ts -index 32d497e5..505c3458 100644 +index 32d497e5a..505c34580 100644 --- a/examples-testing/examples/misc_animation_keys.ts +++ b/examples-testing/examples/misc_animation_keys.ts @@ -2,8 +2,8 @@ import * as THREE from 'three'; @@ -733,7 +733,7 @@ index 32d497e5..505c3458 100644 scene.add(mesh); diff --git a/examples-testing/examples/misc_boxselection.ts b/examples-testing/examples/misc_boxselection.ts -index e7079c40..e1d6904d 100644 +index e7079c405..e1d6904dc 100644 --- a/examples-testing/examples/misc_boxselection.ts +++ b/examples-testing/examples/misc_boxselection.ts @@ -5,8 +5,8 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -794,7 +794,7 @@ index e7079c40..e1d6904d 100644 } }); diff --git a/examples-testing/examples/misc_controls_arcball.ts b/examples-testing/examples/misc_controls_arcball.ts -index f2611be6..5982d695 100644 +index f2611be64..5982d6958 100644 --- a/examples-testing/examples/misc_controls_arcball.ts +++ b/examples-testing/examples/misc_controls_arcball.ts @@ -12,8 +12,12 @@ const cameraType = { type: 'Perspective' }; @@ -860,7 +860,7 @@ index f2611be6..5982d695 100644 camera = makeOrthographicCamera(); camera.position.set(0, 0, orthographicDistance); diff --git a/examples-testing/examples/misc_controls_drag.ts b/examples-testing/examples/misc_controls_drag.ts -index b12b0421..c3b378aa 100644 +index b12b0421e..c3b378aa7 100644 --- a/examples-testing/examples/misc_controls_drag.ts +++ b/examples-testing/examples/misc_controls_drag.ts @@ -2,12 +2,12 @@ import * as THREE from 'three'; @@ -912,7 +912,7 @@ index b12b0421..c3b378aa 100644 } diff --git a/examples-testing/examples/misc_controls_fly.ts b/examples-testing/examples/misc_controls_fly.ts -index 6493ebd8..50e66d62 100644 +index 6493ebd8a..50e66d62e 100644 --- a/examples-testing/examples/misc_controls_fly.ts +++ b/examples-testing/examples/misc_controls_fly.ts @@ -16,11 +16,15 @@ const MARGIN = 0; @@ -963,7 +963,7 @@ index 6493ebd8..50e66d62 100644 meshMoon = new THREE.Mesh(geometry, materialMoon); meshMoon.position.set(radius * 5, 0, 0); diff --git a/examples-testing/examples/misc_controls_map.ts b/examples-testing/examples/misc_controls_map.ts -index 9c7af0cd..2946df42 100644 +index 9c7af0cda..2946df424 100644 --- a/examples-testing/examples/misc_controls_map.ts +++ b/examples-testing/examples/misc_controls_map.ts @@ -4,7 +4,7 @@ import { GUI } from 'three/addons/libs/lil-gui.module.min.js'; @@ -976,7 +976,7 @@ index 9c7af0cd..2946df42 100644 init(); //render(); // remove when using animation loop diff --git a/examples-testing/examples/misc_controls_orbit.ts b/examples-testing/examples/misc_controls_orbit.ts -index 7d2ec262..e8115f05 100644 +index 7d2ec2626..e8115f050 100644 --- a/examples-testing/examples/misc_controls_orbit.ts +++ b/examples-testing/examples/misc_controls_orbit.ts @@ -2,7 +2,7 @@ import * as THREE from 'three'; @@ -989,7 +989,7 @@ index 7d2ec262..e8115f05 100644 init(); //render(); // remove when using animation loop diff --git a/examples-testing/examples/misc_controls_pointerlock.ts b/examples-testing/examples/misc_controls_pointerlock.ts -index 0b6fcc51..d97bb4c3 100644 +index 0b6fcc516..d97bb4c3b 100644 --- a/examples-testing/examples/misc_controls_pointerlock.ts +++ b/examples-testing/examples/misc_controls_pointerlock.ts @@ -2,11 +2,11 @@ import * as THREE from 'three'; @@ -1059,7 +1059,7 @@ index 0b6fcc51..d97bb4c3 100644 const box = new THREE.Mesh(boxGeometry, boxMaterial); diff --git a/examples-testing/examples/misc_controls_trackball.ts b/examples-testing/examples/misc_controls_trackball.ts -index c2512a35..c4719944 100644 +index c2512a352..c4719944f 100644 --- a/examples-testing/examples/misc_controls_trackball.ts +++ b/examples-testing/examples/misc_controls_trackball.ts @@ -5,7 +5,12 @@ import { GUI } from 'three/addons/libs/lil-gui.module.min.js'; @@ -1086,7 +1086,7 @@ index c2512a35..c4719944 100644 controls.rotateSpeed = 1.0; diff --git a/examples-testing/examples/misc_controls_transform.ts b/examples-testing/examples/misc_controls_transform.ts -index 6f7793d3..d7d327e9 100644 +index 6f7793d33..d7d327e96 100644 --- a/examples-testing/examples/misc_controls_transform.ts +++ b/examples-testing/examples/misc_controls_transform.ts @@ -3,8 +3,8 @@ import * as THREE from 'three'; @@ -1112,7 +1112,7 @@ index 6f7793d3..d7d327e9 100644 orbit.object = currentCamera; diff --git a/examples-testing/examples/misc_exporter_draco.ts b/examples-testing/examples/misc_exporter_draco.ts -index 40a62fb1..cb9d3f59 100644 +index 40a62fb18..cb9d3f599 100644 --- a/examples-testing/examples/misc_exporter_draco.ts +++ b/examples-testing/examples/misc_exporter_draco.ts @@ -4,7 +4,11 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -1144,7 +1144,7 @@ index 40a62fb1..cb9d3f59 100644 save(new Blob([buffer], { type: 'application/octet-stream' }), filename); } diff --git a/examples-testing/examples/misc_exporter_exr.ts b/examples-testing/examples/misc_exporter_exr.ts -index 014ea58a..643f6352 100644 +index 014ea58a0..643f63522 100644 --- a/examples-testing/examples/misc_exporter_exr.ts +++ b/examples-testing/examples/misc_exporter_exr.ts @@ -5,7 +5,14 @@ import { EXRExporter, ZIP_COMPRESSION, ZIPS_COMPRESSION, NO_COMPRESSION } from ' @@ -1173,7 +1173,7 @@ index 014ea58a..643f6352 100644 const link = document.createElement('a'); diff --git a/examples-testing/examples/misc_exporter_gltf.ts b/examples-testing/examples/misc_exporter_gltf.ts -index f6fe0345..98c4a481 100644 +index f6fe03450..98c4a4815 100644 --- a/examples-testing/examples/misc_exporter_gltf.ts +++ b/examples-testing/examples/misc_exporter_gltf.ts @@ -7,7 +7,7 @@ import { MeshoptDecoder } from 'three/addons/libs/meshopt_decoder.module.js'; @@ -1246,7 +1246,7 @@ index f6fe0345..98c4a481 100644 ctx.fillRect(0, 0, 64, 64); ctx.fillStyle = '#FFD500'; diff --git a/examples-testing/examples/misc_exporter_ktx2.ts b/examples-testing/examples/misc_exporter_ktx2.ts -index c96889a2..1c8535e0 100644 +index c96889a24..1c8535e0e 100644 --- a/examples-testing/examples/misc_exporter_ktx2.ts +++ b/examples-testing/examples/misc_exporter_ktx2.ts @@ -5,7 +5,14 @@ import { KTX2Exporter } from 'three/addons/exporters/KTX2Exporter.js'; @@ -1275,7 +1275,7 @@ index c96889a2..1c8535e0 100644 const link = document.createElement('a'); diff --git a/examples-testing/examples/misc_exporter_obj.ts b/examples-testing/examples/misc_exporter_obj.ts -index 025034da..73638fff 100644 +index 025034daf..73638fff1 100644 --- a/examples-testing/examples/misc_exporter_obj.ts +++ b/examples-testing/examples/misc_exporter_obj.ts @@ -4,7 +4,7 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -1320,7 +1320,7 @@ index 025034da..73638fff 100644 } diff --git a/examples-testing/examples/misc_exporter_ply.ts b/examples-testing/examples/misc_exporter_ply.ts -index b7e32468..c1682103 100644 +index b7e324688..c1682103c 100644 --- a/examples-testing/examples/misc_exporter_ply.ts +++ b/examples-testing/examples/misc_exporter_ply.ts @@ -4,7 +4,11 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -1357,7 +1357,7 @@ index b7e32468..c1682103 100644 save(new Blob([buffer], { type: 'application/octet-stream' }), filename); } diff --git a/examples-testing/examples/misc_exporter_stl.ts b/examples-testing/examples/misc_exporter_stl.ts -index ff6d6e2b..105aeb07 100644 +index ff6d6e2b5..105aeb07d 100644 --- a/examples-testing/examples/misc_exporter_stl.ts +++ b/examples-testing/examples/misc_exporter_stl.ts @@ -4,7 +4,11 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -1394,7 +1394,7 @@ index ff6d6e2b..105aeb07 100644 save(new Blob([buffer], { type: 'application/octet-stream' }), filename); } diff --git a/examples-testing/examples/misc_exporter_usdz.ts b/examples-testing/examples/misc_exporter_usdz.ts -index f1ce6548..5ec818dd 100644 +index f1ce65485..5ec818dd0 100644 --- a/examples-testing/examples/misc_exporter_usdz.ts +++ b/examples-testing/examples/misc_exporter_usdz.ts @@ -7,7 +7,7 @@ import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; @@ -1434,7 +1434,7 @@ index f1ce6548..5ec818dd 100644 } diff --git a/examples-testing/examples/misc_uv_tests.ts b/examples-testing/examples/misc_uv_tests.ts -index 4f782d45..0759cfca 100644 +index 4f782d45f..0759cfcad 100644 --- a/examples-testing/examples/misc_uv_tests.ts +++ b/examples-testing/examples/misc_uv_tests.ts @@ -7,7 +7,7 @@ import { UVsDebug } from 'three/addons/utils/UVsDebug.js'; @@ -1447,7 +1447,7 @@ index 4f782d45..0759cfca 100644 d.innerHTML = '

' + name + '

'; diff --git a/examples-testing/examples/physics_ammo_instancing.ts b/examples-testing/examples/physics_ammo_instancing.ts -index 5cbee326..400763ef 100644 +index 5cbee3260..400763ef9 100644 --- a/examples-testing/examples/physics_ammo_instancing.ts +++ b/examples-testing/examples/physics_ammo_instancing.ts @@ -1,12 +1,12 @@ @@ -1468,7 +1468,7 @@ index 5cbee326..400763ef 100644 init(); diff --git a/examples-testing/examples/physics_jolt_instancing.ts b/examples-testing/examples/physics_jolt_instancing.ts -index 70980b8d..e102f557 100644 +index 70980b8d5..e102f5577 100644 --- a/examples-testing/examples/physics_jolt_instancing.ts +++ b/examples-testing/examples/physics_jolt_instancing.ts @@ -1,12 +1,12 @@ @@ -1489,7 +1489,7 @@ index 70980b8d..e102f557 100644 init(); diff --git a/examples-testing/examples/physics_rapier_basic.ts b/examples-testing/examples/physics_rapier_basic.ts -index 0bacda80..cb3c4e4b 100644 +index 0bacda80c..cb3c4e4b5 100644 --- a/examples-testing/examples/physics_rapier_basic.ts +++ b/examples-testing/examples/physics_rapier_basic.ts @@ -1,12 +1,16 @@ @@ -1527,7 +1527,7 @@ index 0bacda80..cb3c4e4b 100644 } } diff --git a/examples-testing/examples/physics_rapier_character_controller.ts b/examples-testing/examples/physics_rapier_character_controller.ts -index 8e797a98..d9b8caa6 100644 +index 8e797a98c..d9b8caa6f 100644 --- a/examples-testing/examples/physics_rapier_character_controller.ts +++ b/examples-testing/examples/physics_rapier_character_controller.ts @@ -1,12 +1,14 @@ @@ -1559,7 +1559,7 @@ index 8e797a98..d9b8caa6 100644 } diff --git a/examples-testing/examples/physics_rapier_instancing.ts b/examples-testing/examples/physics_rapier_instancing.ts -index 20509f7f..c6e0ca0e 100644 +index 20509f7fd..c6e0ca0e1 100644 --- a/examples-testing/examples/physics_rapier_instancing.ts +++ b/examples-testing/examples/physics_rapier_instancing.ts @@ -1,12 +1,12 @@ @@ -1580,7 +1580,7 @@ index 20509f7f..c6e0ca0e 100644 init(); diff --git a/examples-testing/examples/physics_rapier_joints.ts b/examples-testing/examples/physics_rapier_joints.ts -index 5f8805fe..318ffa8e 100644 +index 5f8805fe1..318ffa8ef 100644 --- a/examples-testing/examples/physics_rapier_joints.ts +++ b/examples-testing/examples/physics_rapier_joints.ts @@ -1,11 +1,11 @@ @@ -1608,7 +1608,7 @@ index 5f8805fe..318ffa8e 100644 const material = new THREE.MeshStandardMaterial({ color: 0xcccc00 }); diff --git a/examples-testing/examples/physics_rapier_terrain.ts b/examples-testing/examples/physics_rapier_terrain.ts -index 7708ceab..96c71642 100644 +index 7708ceab8..96c716420 100644 --- a/examples-testing/examples/physics_rapier_terrain.ts +++ b/examples-testing/examples/physics_rapier_terrain.ts @@ -1,7 +1,7 @@ @@ -1701,7 +1701,7 @@ index 7708ceab..96c71642 100644 const data = new Float32Array(size); const hRange = maxHeight - minHeight; diff --git a/examples-testing/examples/physics_rapier_vehicle_controller.ts b/examples-testing/examples/physics_rapier_vehicle_controller.ts -index fac5ef08..d4399154 100644 +index fac5ef082..d4399154b 100644 --- a/examples-testing/examples/physics_rapier_vehicle_controller.ts +++ b/examples-testing/examples/physics_rapier_vehicle_controller.ts @@ -1,12 +1,23 @@ @@ -1771,7 +1771,7 @@ index fac5ef08..d4399154 100644 const steerAngle = Math.PI / 4; diff --git a/examples-testing/examples/svg_lines.ts b/examples-testing/examples/svg_lines.ts -index 99b74c40..65aaf28d 100644 +index 99b74c405..65aaf28dd 100644 --- a/examples-testing/examples/svg_lines.ts +++ b/examples-testing/examples/svg_lines.ts @@ -4,7 +4,7 @@ import { SVGRenderer } from 'three/addons/renderers/SVGRenderer.js'; @@ -1784,7 +1784,7 @@ index 99b74c40..65aaf28d 100644 init(); animate(); diff --git a/examples-testing/examples/svg_sandbox.ts b/examples-testing/examples/svg_sandbox.ts -index fa66f10e..d9e680e8 100644 +index fa66f10e1..d9e680e89 100644 --- a/examples-testing/examples/svg_sandbox.ts +++ b/examples-testing/examples/svg_sandbox.ts @@ -7,9 +7,9 @@ import { SVGRenderer, SVGObject } from 'three/addons/renderers/SVGRenderer.js'; @@ -1869,7 +1869,7 @@ index fa66f10e..d9e680e8 100644 node.appendChild(doc.documentElement); diff --git a/examples-testing/examples/webaudio_orientation.ts b/examples-testing/examples/webaudio_orientation.ts -index 7baaa88a..e133c2cd 100644 +index 7baaa88a0..e133c2cd2 100644 --- a/examples-testing/examples/webaudio_orientation.ts +++ b/examples-testing/examples/webaudio_orientation.ts @@ -4,16 +4,16 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -1931,7 +1931,7 @@ index 7baaa88a..e133c2cd 100644 const wall = new THREE.Mesh(wallGeometry, wallMaterial); wall.position.set(0, 0.5, -0.5); diff --git a/examples-testing/examples/webaudio_sandbox.ts b/examples-testing/examples/webaudio_sandbox.ts -index 34afca98..93e03302 100644 +index 34afca985..93e033027 100644 --- a/examples-testing/examples/webaudio_sandbox.ts +++ b/examples-testing/examples/webaudio_sandbox.ts @@ -4,20 +4,24 @@ import { GUI } from 'three/addons/libs/lil-gui.module.min.js'; @@ -2036,7 +2036,7 @@ index 34afca98..93e03302 100644 const gui = new GUI(); const soundControls = new SoundControls(); diff --git a/examples-testing/examples/webaudio_timing.ts b/examples-testing/examples/webaudio_timing.ts -index f37b5c5c..9b6c61f9 100644 +index f37b5c5cf..9b6c61f9a 100644 --- a/examples-testing/examples/webaudio_timing.ts +++ b/examples-testing/examples/webaudio_timing.ts @@ -2,22 +2,22 @@ import * as THREE from 'three'; @@ -2077,7 +2077,7 @@ index f37b5c5c..9b6c61f9 100644 ball.userData.down = false; } diff --git a/examples-testing/examples/webaudio_visualizer.ts b/examples-testing/examples/webaudio_visualizer.ts -index a3f58cb3..0bad866f 100644 +index a3f58cb36..0bad866f6 100644 --- a/examples-testing/examples/webaudio_visualizer.ts +++ b/examples-testing/examples/webaudio_visualizer.ts @@ -1,8 +1,13 @@ @@ -2123,7 +2123,7 @@ index a3f58cb3..0bad866f 100644 const geometry = new THREE.PlaneGeometry(1, 1); diff --git a/examples-testing/examples/webgl_animation_keyframes.ts b/examples-testing/examples/webgl_animation_keyframes.ts -index 20a44a9c..0b6f4895 100644 +index 20a44a9ce..0b6f48955 100644 --- a/examples-testing/examples/webgl_animation_keyframes.ts +++ b/examples-testing/examples/webgl_animation_keyframes.ts @@ -8,11 +8,11 @@ import { Sky } from 'three/addons/objects/Sky.js'; @@ -2150,7 +2150,7 @@ index 20a44a9c..0b6f4895 100644 const camera = new THREE.PerspectiveCamera(40, window.innerWidth / window.innerHeight, 1, 100); diff --git a/examples-testing/examples/webgl_animation_multiple.ts b/examples-testing/examples/webgl_animation_multiple.ts -index 87355e96..4f93de7c 100644 +index 87355e968..4f93de7cf 100644 --- a/examples-testing/examples/webgl_animation_multiple.ts +++ b/examples-testing/examples/webgl_animation_multiple.ts @@ -4,11 +4,11 @@ import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; @@ -2200,7 +2200,7 @@ index 87355e96..4f93de7c 100644 const model1 = shareSkinnedMesh.clone(); diff --git a/examples-testing/examples/webgl_animation_skinning_morph.ts b/examples-testing/examples/webgl_animation_skinning_morph.ts -index 0ae68e7d..d7e40e67 100644 +index 0ae68e7d7..d7e40e67a 100644 --- a/examples-testing/examples/webgl_animation_skinning_morph.ts +++ b/examples-testing/examples/webgl_animation_skinning_morph.ts @@ -5,10 +5,29 @@ import { GUI } from 'three/addons/libs/lil-gui.module.min.js'; @@ -2302,7 +2302,7 @@ index 0ae68e7d..d7e40e67 100644 activeAction = actions[name]; diff --git a/examples-testing/examples/webgl_animation_walk.ts b/examples-testing/examples/webgl_animation_walk.ts -index b4ab9c44..ee10390a 100644 +index b4ab9c444..ee10390a0 100644 --- a/examples-testing/examples/webgl_animation_walk.ts +++ b/examples-testing/examples/webgl_animation_walk.ts @@ -6,10 +6,19 @@ import { GUI } from 'three/addons/libs/lil-gui.module.min.js'; @@ -2462,7 +2462,7 @@ index b4ab9c44..ee10390a 100644 switch (event.code) { case 'ArrowUp': diff --git a/examples-testing/examples/webgl_buffergeometry.ts b/examples-testing/examples/webgl_buffergeometry.ts -index 28b2c96a..6a802ab6 100644 +index 28b2c96a4..6a802ab6c 100644 --- a/examples-testing/examples/webgl_buffergeometry.ts +++ b/examples-testing/examples/webgl_buffergeometry.ts @@ -2,17 +2,17 @@ import * as THREE from 'three'; @@ -2499,7 +2499,7 @@ index 28b2c96a..6a802ab6 100644 geometry.setAttribute('position', new THREE.Float32BufferAttribute(positions, 3).onUpload(disposeArray)); diff --git a/examples-testing/examples/webgl_buffergeometry_attributes_integer.ts b/examples-testing/examples/webgl_buffergeometry_attributes_integer.ts -index 00490b71..c553afe5 100644 +index 00490b716..c553afe5d 100644 --- a/examples-testing/examples/webgl_buffergeometry_attributes_integer.ts +++ b/examples-testing/examples/webgl_buffergeometry_attributes_integer.ts @@ -1,6 +1,6 @@ @@ -2520,7 +2520,7 @@ index 00490b71..c553afe5 100644 geometry.computeBoundingSphere(); diff --git a/examples-testing/examples/webgl_buffergeometry_attributes_none.ts b/examples-testing/examples/webgl_buffergeometry_attributes_none.ts -index a1424e87..f7fcf29f 100644 +index a1424e871..f7fcf29f9 100644 --- a/examples-testing/examples/webgl_buffergeometry_attributes_none.ts +++ b/examples-testing/examples/webgl_buffergeometry_attributes_none.ts @@ -1,6 +1,6 @@ @@ -2552,7 +2552,7 @@ index a1424e87..f7fcf29f 100644 mesh.rotation.y = (time / 1000.0) * 0.5; diff --git a/examples-testing/examples/webgl_buffergeometry_custom_attributes_particles.ts b/examples-testing/examples/webgl_buffergeometry_custom_attributes_particles.ts -index 0dffa65c..96dd8910 100644 +index 0dffa65cc..96dd89106 100644 --- a/examples-testing/examples/webgl_buffergeometry_custom_attributes_particles.ts +++ b/examples-testing/examples/webgl_buffergeometry_custom_attributes_particles.ts @@ -2,9 +2,11 @@ import * as THREE from 'three'; @@ -2590,7 +2590,7 @@ index 0dffa65c..96dd8910 100644 stats = new Stats(); diff --git a/examples-testing/examples/webgl_buffergeometry_drawrange.ts b/examples-testing/examples/webgl_buffergeometry_drawrange.ts -index 142ff43b..4b26ac2a 100644 +index 142ff43bf..4b26ac2ac 100644 --- a/examples-testing/examples/webgl_buffergeometry_drawrange.ts +++ b/examples-testing/examples/webgl_buffergeometry_drawrange.ts @@ -5,15 +5,15 @@ import { GUI } from 'three/addons/libs/lil-gui.module.min.js'; @@ -2628,7 +2628,7 @@ index 142ff43b..4b26ac2a 100644 camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 4000); camera.position.z = 1750; diff --git a/examples-testing/examples/webgl_buffergeometry_glbufferattribute.ts b/examples-testing/examples/webgl_buffergeometry_glbufferattribute.ts -index 80fa828b..77f1bc38 100644 +index 80fa828bb..77f1bc385 100644 --- a/examples-testing/examples/webgl_buffergeometry_glbufferattribute.ts +++ b/examples-testing/examples/webgl_buffergeometry_glbufferattribute.ts @@ -2,11 +2,11 @@ import * as THREE from 'three'; @@ -2684,7 +2684,7 @@ index 80fa828b..77f1bc38 100644 gl.bufferData(gl.ARRAY_BUFFER, new Uint8Array(colors), gl.STATIC_DRAW); diff --git a/examples-testing/examples/webgl_buffergeometry_indexed.ts b/examples-testing/examples/webgl_buffergeometry_indexed.ts -index a2f9f379..4ad49d3c 100644 +index a2f9f3795..4ad49d3cd 100644 --- a/examples-testing/examples/webgl_buffergeometry_indexed.ts +++ b/examples-testing/examples/webgl_buffergeometry_indexed.ts @@ -3,9 +3,9 @@ import * as THREE from 'three'; @@ -2700,7 +2700,7 @@ index a2f9f379..4ad49d3c 100644 init(); diff --git a/examples-testing/examples/webgl_buffergeometry_instancing.ts b/examples-testing/examples/webgl_buffergeometry_instancing.ts -index b27f500f..c9432b18 100644 +index b27f500f0..c9432b181 100644 --- a/examples-testing/examples/webgl_buffergeometry_instancing.ts +++ b/examples-testing/examples/webgl_buffergeometry_instancing.ts @@ -3,14 +3,14 @@ import * as THREE from 'three'; @@ -2742,7 +2742,7 @@ index b27f500f..c9432b18 100644 object.rotation.y = time * 0.0005; object.material.uniforms['time'].value = time * 0.005; diff --git a/examples-testing/examples/webgl_buffergeometry_instancing_billboards.ts b/examples-testing/examples/webgl_buffergeometry_instancing_billboards.ts -index 2158dff3..2c97fbd9 100644 +index 2158dff39..2c97fbd94 100644 --- a/examples-testing/examples/webgl_buffergeometry_instancing_billboards.ts +++ b/examples-testing/examples/webgl_buffergeometry_instancing_billboards.ts @@ -2,10 +2,10 @@ import * as THREE from 'three'; @@ -2771,7 +2771,7 @@ index 2158dff3..2c97fbd9 100644 depthWrite: true, }); diff --git a/examples-testing/examples/webgl_buffergeometry_instancing_interleaved.ts b/examples-testing/examples/webgl_buffergeometry_instancing_interleaved.ts -index bef2c264..c0887a8d 100644 +index bef2c264d..c0887a8d3 100644 --- a/examples-testing/examples/webgl_buffergeometry_instancing_interleaved.ts +++ b/examples-testing/examples/webgl_buffergeometry_instancing_interleaved.ts @@ -2,8 +2,8 @@ import * as THREE from 'three'; @@ -2795,7 +2795,7 @@ index bef2c264..c0887a8d 100644 camera = new THREE.PerspectiveCamera(50, window.innerWidth / window.innerHeight, 1, 1000); diff --git a/examples-testing/examples/webgl_buffergeometry_lines.ts b/examples-testing/examples/webgl_buffergeometry_lines.ts -index d039e011..0b39e912 100644 +index d039e0112..0b39e912d 100644 --- a/examples-testing/examples/webgl_buffergeometry_lines.ts +++ b/examples-testing/examples/webgl_buffergeometry_lines.ts @@ -2,11 +2,11 @@ import * as THREE from 'three'; @@ -2840,7 +2840,7 @@ index d039e011..0b39e912 100644 for (let i = 0; i < segments; i++) { diff --git a/examples-testing/examples/webgl_buffergeometry_lines_indexed.ts b/examples-testing/examples/webgl_buffergeometry_lines_indexed.ts -index 58296087..8af0d6e9 100644 +index 58296087e..8af0d6e9d 100644 --- a/examples-testing/examples/webgl_buffergeometry_lines_indexed.ts +++ b/examples-testing/examples/webgl_buffergeometry_lines_indexed.ts @@ -2,16 +2,16 @@ import * as THREE from 'three'; @@ -2905,7 +2905,7 @@ index 58296087..8af0d6e9 100644 add_vertex(points[0]); diff --git a/examples-testing/examples/webgl_buffergeometry_points.ts b/examples-testing/examples/webgl_buffergeometry_points.ts -index 4547d9d0..357c3ddd 100644 +index 4547d9d08..357c3ddd6 100644 --- a/examples-testing/examples/webgl_buffergeometry_points.ts +++ b/examples-testing/examples/webgl_buffergeometry_points.ts @@ -2,17 +2,17 @@ import * as THREE from 'three'; @@ -2931,7 +2931,7 @@ index 4547d9d0..357c3ddd 100644 // diff --git a/examples-testing/examples/webgl_buffergeometry_points_interleaved.ts b/examples-testing/examples/webgl_buffergeometry_points_interleaved.ts -index 93eed992..60e05bc0 100644 +index 93eed992e..60e05bc0a 100644 --- a/examples-testing/examples/webgl_buffergeometry_points_interleaved.ts +++ b/examples-testing/examples/webgl_buffergeometry_points_interleaved.ts @@ -2,16 +2,16 @@ import * as THREE from 'three'; @@ -2956,7 +2956,7 @@ index 93eed992..60e05bc0 100644 camera = new THREE.PerspectiveCamera(27, window.innerWidth / window.innerHeight, 5, 3500); camera.position.z = 2750; diff --git a/examples-testing/examples/webgl_buffergeometry_rawshader.ts b/examples-testing/examples/webgl_buffergeometry_rawshader.ts -index 5bc113dc..225e220a 100644 +index 5bc113dc3..225e220ac 100644 --- a/examples-testing/examples/webgl_buffergeometry_rawshader.ts +++ b/examples-testing/examples/webgl_buffergeometry_rawshader.ts @@ -2,14 +2,14 @@ import * as THREE from 'three'; @@ -2998,7 +2998,7 @@ index 5bc113dc..225e220a 100644 object.rotation.y = time * 0.0005; object.material.uniforms.time.value = time * 0.005; diff --git a/examples-testing/examples/webgl_buffergeometry_selective_draw.ts b/examples-testing/examples/webgl_buffergeometry_selective_draw.ts -index d07176c5..ce51386e 100644 +index d07176c51..ce51386ee 100644 --- a/examples-testing/examples/webgl_buffergeometry_selective_draw.ts +++ b/examples-testing/examples/webgl_buffergeometry_selective_draw.ts @@ -2,8 +2,8 @@ import * as THREE from 'three'; @@ -3055,7 +3055,7 @@ index d07176c5..ce51386e 100644 function hideLines() { diff --git a/examples-testing/examples/webgl_buffergeometry_uint.ts b/examples-testing/examples/webgl_buffergeometry_uint.ts -index 0b8df6ec..dbb23e05 100644 +index 0b8df6ec7..dbb23e05e 100644 --- a/examples-testing/examples/webgl_buffergeometry_uint.ts +++ b/examples-testing/examples/webgl_buffergeometry_uint.ts @@ -2,16 +2,16 @@ import * as THREE from 'three'; @@ -3080,7 +3080,7 @@ index 0b8df6ec..dbb23e05 100644 // diff --git a/examples-testing/examples/webgl_camera.ts b/examples-testing/examples/webgl_camera.ts -index f3d66360..4235f508 100644 +index f3d663603..4235f508f 100644 --- a/examples-testing/examples/webgl_camera.ts +++ b/examples-testing/examples/webgl_camera.ts @@ -6,11 +6,11 @@ let SCREEN_WIDTH = window.innerWidth; @@ -3110,7 +3110,7 @@ index f3d66360..4235f508 100644 case 79 /*O*/: activeCamera = cameraOrtho; diff --git a/examples-testing/examples/webgl_camera_array.ts b/examples-testing/examples/webgl_camera_array.ts -index 8b10e27c..11295c5f 100644 +index 8b10e27cb..11295c5fd 100644 --- a/examples-testing/examples/webgl_camera_array.ts +++ b/examples-testing/examples/webgl_camera_array.ts @@ -1,7 +1,7 @@ @@ -3133,7 +3133,7 @@ index 8b10e27c..11295c5f 100644 subcamera.aspect = ASPECT_RATIO; subcamera.updateProjectionMatrix(); diff --git a/examples-testing/examples/webgl_camera_logarithmicdepthbuffer.ts b/examples-testing/examples/webgl_camera_logarithmicdepthbuffer.ts -index f1d44000..7f149db1 100644 +index f1d440004..7f149db11 100644 --- a/examples-testing/examples/webgl_camera_logarithmicdepthbuffer.ts +++ b/examples-testing/examples/webgl_camera_logarithmicdepthbuffer.ts @@ -1,6 +1,6 @@ @@ -3310,7 +3310,7 @@ index f1d44000..7f149db1 100644 if (amount === 0) return; const dir = amount / Math.abs(amount); diff --git a/examples-testing/examples/webgl_clipculldistance.ts b/examples-testing/examples/webgl_clipculldistance.ts -index 42c1ff17..e7210e99 100644 +index 42c1ff17f..e7210e997 100644 --- a/examples-testing/examples/webgl_clipculldistance.ts +++ b/examples-testing/examples/webgl_clipculldistance.ts @@ -2,9 +2,14 @@ import * as THREE from 'three'; @@ -3351,7 +3351,7 @@ index 42c1ff17..e7210e99 100644 transparent: true, vertexColors: true, diff --git a/examples-testing/examples/webgl_clipping.ts b/examples-testing/examples/webgl_clipping.ts -index cde10c7d..6ab3ba65 100644 +index cde10c7d1..6ab3ba65c 100644 --- a/examples-testing/examples/webgl_clipping.ts +++ b/examples-testing/examples/webgl_clipping.ts @@ -5,7 +5,12 @@ import { GUI } from 'three/addons/libs/lil-gui.module.min.js'; @@ -3389,7 +3389,7 @@ index cde10c7d..6ab3ba65 100644 get Plane() { diff --git a/examples-testing/examples/webgl_clipping_advanced.ts b/examples-testing/examples/webgl_clipping_advanced.ts -index f65f0004..988b56d8 100644 +index f65f00043..988b56d80 100644 --- a/examples-testing/examples/webgl_clipping_advanced.ts +++ b/examples-testing/examples/webgl_clipping_advanced.ts @@ -5,7 +5,7 @@ import { GUI } from 'three/addons/libs/lil-gui.module.min.js'; @@ -3511,7 +3511,7 @@ index f65f0004..988b56d8 100644 const planeMeshes = volumeVisualization.children; diff --git a/examples-testing/examples/webgl_clipping_intersection.ts b/examples-testing/examples/webgl_clipping_intersection.ts -index 5f45e45d..cb3cbdf2 100644 +index 5f45e45df..cb3cbdf2e 100644 --- a/examples-testing/examples/webgl_clipping_intersection.ts +++ b/examples-testing/examples/webgl_clipping_intersection.ts @@ -4,7 +4,7 @@ import { GUI } from 'three/addons/libs/lil-gui.module.min.js'; @@ -3544,7 +3544,7 @@ index 5f45e45d..cb3cbdf2 100644 render(); diff --git a/examples-testing/examples/webgl_clipping_stencil.ts b/examples-testing/examples/webgl_clipping_stencil.ts -index 7cb1f5c5..859a7551 100644 +index 7cb1f5c52..859a7551f 100644 --- a/examples-testing/examples/webgl_clipping_stencil.ts +++ b/examples-testing/examples/webgl_clipping_stencil.ts @@ -3,9 +3,13 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -3574,7 +3574,7 @@ index 7cb1f5c5..859a7551 100644 const baseMat = new THREE.MeshBasicMaterial(); baseMat.depthWrite = false; diff --git a/examples-testing/examples/webgl_custom_attributes.ts b/examples-testing/examples/webgl_custom_attributes.ts -index 0dc89774..431876d6 100644 +index 0dc897748..431876d68 100644 --- a/examples-testing/examples/webgl_custom_attributes.ts +++ b/examples-testing/examples/webgl_custom_attributes.ts @@ -2,11 +2,16 @@ import * as THREE from 'three'; @@ -3618,7 +3618,7 @@ index 0dc89774..431876d6 100644 stats = new Stats(); diff --git a/examples-testing/examples/webgl_custom_attributes_lines.ts b/examples-testing/examples/webgl_custom_attributes_lines.ts -index 3e2454e9..d89a77d5 100644 +index 3e2454e92..d89a77d53 100644 --- a/examples-testing/examples/webgl_custom_attributes_lines.ts +++ b/examples-testing/examples/webgl_custom_attributes_lines.ts @@ -1,20 +1,25 @@ @@ -3672,7 +3672,7 @@ index 3e2454e9..d89a77d5 100644 stats = new Stats(); diff --git a/examples-testing/examples/webgl_custom_attributes_points.ts b/examples-testing/examples/webgl_custom_attributes_points.ts -index ae112980..9035134c 100644 +index ae112980a..9035134c7 100644 --- a/examples-testing/examples/webgl_custom_attributes_points.ts +++ b/examples-testing/examples/webgl_custom_attributes_points.ts @@ -2,9 +2,9 @@ import * as THREE from 'three'; @@ -3708,7 +3708,7 @@ index ae112980..9035134c 100644 stats = new Stats(); diff --git a/examples-testing/examples/webgl_custom_attributes_points2.ts b/examples-testing/examples/webgl_custom_attributes_points2.ts -index edd158fa..6f58c70a 100644 +index edd158fa1..6f58c70ad 100644 --- a/examples-testing/examples/webgl_custom_attributes_points2.ts +++ b/examples-testing/examples/webgl_custom_attributes_points2.ts @@ -4,8 +4,8 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -3783,7 +3783,7 @@ index edd158fa..6f58c70a 100644 function animate() { diff --git a/examples-testing/examples/webgl_custom_attributes_points3.ts b/examples-testing/examples/webgl_custom_attributes_points3.ts -index 1bca8ccd..66f12591 100644 +index 1bca8ccd4..66f12591f 100644 --- a/examples-testing/examples/webgl_custom_attributes_points3.ts +++ b/examples-testing/examples/webgl_custom_attributes_points3.ts @@ -4,11 +4,11 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -3860,7 +3860,7 @@ index 1bca8ccd..66f12591 100644 stats = new Stats(); diff --git a/examples-testing/examples/webgl_decals.ts b/examples-testing/examples/webgl_decals.ts -index 8f77c30f..acc5b219 100644 +index 8f77c30fc..acc5b2193 100644 --- a/examples-testing/examples/webgl_decals.ts +++ b/examples-testing/examples/webgl_decals.ts @@ -7,12 +7,12 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -3942,7 +3942,7 @@ index 8f77c30f..acc5b219 100644 specular: 0x111111, map: map, diff --git a/examples-testing/examples/webgl_effects_anaglyph.ts b/examples-testing/examples/webgl_effects_anaglyph.ts -index 7e67c917..e3d0719b 100644 +index 7e67c9173..e3d0719bf 100644 --- a/examples-testing/examples/webgl_effects_anaglyph.ts +++ b/examples-testing/examples/webgl_effects_anaglyph.ts @@ -2,9 +2,13 @@ import * as THREE from 'three'; @@ -3971,7 +3971,7 @@ index 7e67c917..e3d0719b 100644 mouseY = (event.clientY - windowHalfY) / 100; } diff --git a/examples-testing/examples/webgl_effects_ascii.ts b/examples-testing/examples/webgl_effects_ascii.ts -index a412bb79..751102d7 100644 +index a412bb79e..751102d76 100644 --- a/examples-testing/examples/webgl_effects_ascii.ts +++ b/examples-testing/examples/webgl_effects_ascii.ts @@ -3,9 +3,13 @@ import * as THREE from 'three'; @@ -3991,7 +3991,7 @@ index a412bb79..751102d7 100644 const start = Date.now(); diff --git a/examples-testing/examples/webgl_effects_parallaxbarrier.ts b/examples-testing/examples/webgl_effects_parallaxbarrier.ts -index 90c86797..e03cb5d7 100644 +index 90c867973..e03cb5d7b 100644 --- a/examples-testing/examples/webgl_effects_parallaxbarrier.ts +++ b/examples-testing/examples/webgl_effects_parallaxbarrier.ts @@ -2,9 +2,13 @@ import * as THREE from 'three'; @@ -4020,7 +4020,7 @@ index 90c86797..e03cb5d7 100644 mouseY = (event.clientY - windowHalfY) / 100; } diff --git a/examples-testing/examples/webgl_effects_stereo.ts b/examples-testing/examples/webgl_effects_stereo.ts -index 67385054..98538672 100644 +index 673850541..985386724 100644 --- a/examples-testing/examples/webgl_effects_stereo.ts +++ b/examples-testing/examples/webgl_effects_stereo.ts @@ -2,9 +2,13 @@ import * as THREE from 'three'; @@ -4049,7 +4049,7 @@ index 67385054..98538672 100644 mouseY = (event.clientY - windowHalfY) * 0.01; } diff --git a/examples-testing/examples/webgl_framebuffer_texture.ts b/examples-testing/examples/webgl_framebuffer_texture.ts -index df4acc9d..636f9db9 100644 +index df4acc9d6..636f9db9c 100644 --- a/examples-testing/examples/webgl_framebuffer_texture.ts +++ b/examples-testing/examples/webgl_framebuffer_texture.ts @@ -3,10 +3,10 @@ import * as THREE from 'three'; @@ -4085,7 +4085,7 @@ index df4acc9d..636f9db9 100644 for (let i = 0; i < l; i++) { diff --git a/examples-testing/examples/webgl_furnace_test.ts b/examples-testing/examples/webgl_furnace_test.ts -index a8195417..46230b4a 100644 +index a81954176..46230b4a9 100644 --- a/examples-testing/examples/webgl_furnace_test.ts +++ b/examples-testing/examples/webgl_furnace_test.ts @@ -1,6 +1,6 @@ @@ -4117,7 +4117,7 @@ index a8195417..46230b4a 100644 render(); diff --git a/examples-testing/examples/webgl_geometries.ts b/examples-testing/examples/webgl_geometries.ts -index 0eb50120..a8181348 100644 +index 0eb50120c..a81813486 100644 --- a/examples-testing/examples/webgl_geometries.ts +++ b/examples-testing/examples/webgl_geometries.ts @@ -5,7 +5,7 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -4139,7 +4139,7 @@ index 0eb50120..a8181348 100644 object.rotation.y = timer * 2.5; } diff --git a/examples-testing/examples/webgl_geometry_colors.ts b/examples-testing/examples/webgl_geometry_colors.ts -index 3166c03b..d2c22418 100644 +index 3166c03bc..d2c22418f 100644 --- a/examples-testing/examples/webgl_geometry_colors.ts +++ b/examples-testing/examples/webgl_geometry_colors.ts @@ -2,9 +2,9 @@ import * as THREE from 'three'; @@ -4192,7 +4192,7 @@ index 3166c03b..d2c22418 100644 mouseY = event.clientY - windowHalfY; } diff --git a/examples-testing/examples/webgl_geometry_colors_lookuptable.ts b/examples-testing/examples/webgl_geometry_colors_lookuptable.ts -index 6b013852..c46e067e 100644 +index 6b0138529..c46e067e6 100644 --- a/examples-testing/examples/webgl_geometry_colors_lookuptable.ts +++ b/examples-testing/examples/webgl_geometry_colors_lookuptable.ts @@ -5,19 +5,19 @@ import { GUI } from 'three/addons/libs/lil-gui.module.min.js'; @@ -4240,7 +4240,7 @@ index 6b013852..c46e067e 100644 map.needsUpdate = true; } diff --git a/examples-testing/examples/webgl_geometry_convex.ts b/examples-testing/examples/webgl_geometry_convex.ts -index 09516c07..fe904221 100644 +index 09516c070..fe9042217 100644 --- a/examples-testing/examples/webgl_geometry_convex.ts +++ b/examples-testing/examples/webgl_geometry_convex.ts @@ -4,7 +4,7 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -4262,7 +4262,7 @@ index 09516c07..fe904221 100644 // if normal and uv attributes are not removed, mergeVertices() can't consolidate identical vertices with different normal/uv data diff --git a/examples-testing/examples/webgl_geometry_cube.ts b/examples-testing/examples/webgl_geometry_cube.ts -index 572601ac..136a3141 100644 +index 572601acb..136a31413 100644 --- a/examples-testing/examples/webgl_geometry_cube.ts +++ b/examples-testing/examples/webgl_geometry_cube.ts @@ -1,7 +1,7 @@ @@ -4276,7 +4276,7 @@ index 572601ac..136a3141 100644 init(); diff --git a/examples-testing/examples/webgl_geometry_extrude_shapes.ts b/examples-testing/examples/webgl_geometry_extrude_shapes.ts -index a905c8ea..00283d47 100644 +index a905c8ea3..00283d47e 100644 --- a/examples-testing/examples/webgl_geometry_extrude_shapes.ts +++ b/examples-testing/examples/webgl_geometry_extrude_shapes.ts @@ -2,7 +2,7 @@ import * as THREE from 'three'; @@ -4289,7 +4289,7 @@ index a905c8ea..00283d47 100644 init(); diff --git a/examples-testing/examples/webgl_geometry_extrude_splines.ts b/examples-testing/examples/webgl_geometry_extrude_splines.ts -index 8636812f..90e2b7b0 100644 +index 8636812f7..90e2b7b06 100644 --- a/examples-testing/examples/webgl_geometry_extrude_splines.ts +++ b/examples-testing/examples/webgl_geometry_extrude_splines.ts @@ -6,9 +6,14 @@ import { GUI } from 'three/addons/libs/lil-gui.module.min.js'; @@ -4359,7 +4359,7 @@ index 8636812f..90e2b7b0 100644 }); folderGeometry diff --git a/examples-testing/examples/webgl_geometry_minecraft.ts b/examples-testing/examples/webgl_geometry_minecraft.ts -index 22015655..32f4cb68 100644 +index 220156552..32f4cb688 100644 --- a/examples-testing/examples/webgl_geometry_minecraft.ts +++ b/examples-testing/examples/webgl_geometry_minecraft.ts @@ -6,9 +6,9 @@ import { FirstPersonControls } from 'three/addons/controls/FirstPersonControls.j @@ -4402,7 +4402,7 @@ index 22015655..32f4cb68 100644 } diff --git a/examples-testing/examples/webgl_geometry_nurbs.ts b/examples-testing/examples/webgl_geometry_nurbs.ts -index ecd79c67..74676e45 100644 +index ecd79c67e..74676e45c 100644 --- a/examples-testing/examples/webgl_geometry_nurbs.ts +++ b/examples-testing/examples/webgl_geometry_nurbs.ts @@ -7,10 +7,10 @@ import { NURBSSurface } from 'three/addons/curves/NURBSSurface.js'; @@ -4494,7 +4494,7 @@ index ecd79c67..74676e45 100644 document.removeEventListener('pointermove', onPointerMove); diff --git a/examples-testing/examples/webgl_geometry_shapes.ts b/examples-testing/examples/webgl_geometry_shapes.ts -index 0c25d885..2042c353 100644 +index 0c25d8855..2042c3530 100644 --- a/examples-testing/examples/webgl_geometry_shapes.ts +++ b/examples-testing/examples/webgl_geometry_shapes.ts @@ -2,11 +2,11 @@ import * as THREE from 'three'; @@ -4584,7 +4584,7 @@ index 0c25d885..2042c353 100644 document.removeEventListener('pointermove', onPointerMove); diff --git a/examples-testing/examples/webgl_geometry_teapot.ts b/examples-testing/examples/webgl_geometry_teapot.ts -index 2516d660..0d7d5628 100644 +index 2516d660c..0d7d5628f 100644 --- a/examples-testing/examples/webgl_geometry_teapot.ts +++ b/examples-testing/examples/webgl_geometry_teapot.ts @@ -5,22 +5,30 @@ import { GUI } from 'three/addons/libs/lil-gui.module.min.js'; @@ -4631,7 +4631,7 @@ index 2516d660..0d7d5628 100644 init(); render(); diff --git a/examples-testing/examples/webgl_geometry_terrain.ts b/examples-testing/examples/webgl_geometry_terrain.ts -index 55b4aa47..2ed4b9f6 100644 +index 55b4aa474..2ed4b9f6c 100644 --- a/examples-testing/examples/webgl_geometry_terrain.ts +++ b/examples-testing/examples/webgl_geometry_terrain.ts @@ -5,9 +5,9 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -4693,7 +4693,7 @@ index 55b4aa47..2ed4b9f6 100644 context.drawImage(canvas, 0, 0); diff --git a/examples-testing/examples/webgl_geometry_terrain_raycast.ts b/examples-testing/examples/webgl_geometry_terrain_raycast.ts -index f1383c13..6e9cd025 100644 +index f1383c138..6e9cd0256 100644 --- a/examples-testing/examples/webgl_geometry_terrain_raycast.ts +++ b/examples-testing/examples/webgl_geometry_terrain_raycast.ts @@ -5,18 +5,18 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -4783,7 +4783,7 @@ index f1383c13..6e9cd025 100644 helper.position.copy(intersects[0].point); } diff --git a/examples-testing/examples/webgl_geometry_text.ts b/examples-testing/examples/webgl_geometry_text.ts -index 1a9d00d0..e5947329 100644 +index 1a9d00d06..e59473290 100644 --- a/examples-testing/examples/webgl_geometry_text.ts +++ b/examples-testing/examples/webgl_geometry_text.ts @@ -1,23 +1,23 @@ @@ -4895,7 +4895,7 @@ index 1a9d00d0..e5947329 100644 document.removeEventListener('pointermove', onPointerMove); diff --git a/examples-testing/examples/webgl_geometry_text_shapes.ts b/examples-testing/examples/webgl_geometry_text_shapes.ts -index d9633cd1..c2b07d41 100644 +index d9633cd15..c2b07d41f 100644 --- a/examples-testing/examples/webgl_geometry_text_shapes.ts +++ b/examples-testing/examples/webgl_geometry_text_shapes.ts @@ -3,7 +3,7 @@ import * as THREE from 'three'; @@ -4938,7 +4938,7 @@ index d9633cd1..c2b07d41 100644 if (shape.holes && shape.holes.length > 0) { for (let j = 0; j < shape.holes.length; j++) { diff --git a/examples-testing/examples/webgl_geometry_text_stroke.ts b/examples-testing/examples/webgl_geometry_text_stroke.ts -index 373892c7..9bf58924 100644 +index 373892c74..9bf589244 100644 --- a/examples-testing/examples/webgl_geometry_text_stroke.ts +++ b/examples-testing/examples/webgl_geometry_text_stroke.ts @@ -5,7 +5,7 @@ import { SVGLoader } from 'three/addons/loaders/SVGLoader.js'; @@ -5000,7 +5000,7 @@ index 373892c7..9bf58924 100644 if (shape.holes && shape.holes.length > 0) { for (let j = 0; j < shape.holes.length; j++) { diff --git a/examples-testing/examples/webgl_gpgpu_birds.ts b/examples-testing/examples/webgl_gpgpu_birds.ts -index 20a5e0d9..e9293211 100644 +index 20a5e0d97..e9293211c 100644 --- a/examples-testing/examples/webgl_gpgpu_birds.ts +++ b/examples-testing/examples/webgl_gpgpu_birds.ts @@ -3,7 +3,7 @@ import * as THREE from 'three'; @@ -5113,7 +5113,7 @@ index 20a5e0d9..e9293211 100644 mouseX = event.clientX - windowHalfX; diff --git a/examples-testing/examples/webgl_gpgpu_birds_gltf.ts b/examples-testing/examples/webgl_gpgpu_birds_gltf.ts -index 05f81a86..f86d0d38 100644 +index 05f81a869..f86d0d386 100644 --- a/examples-testing/examples/webgl_gpgpu_birds_gltf.ts +++ b/examples-testing/examples/webgl_gpgpu_birds_gltf.ts @@ -2,7 +2,7 @@ import * as THREE from 'three'; @@ -5262,7 +5262,7 @@ index 05f81a86..f86d0d38 100644 mouseX = event.clientX - windowHalfX; diff --git a/examples-testing/examples/webgl_gpgpu_protoplanet.ts b/examples-testing/examples/webgl_gpgpu_protoplanet.ts -index 30444ddb..e1c40aef 100644 +index 30444ddba..e1c40aefa 100644 --- a/examples-testing/examples/webgl_gpgpu_protoplanet.ts +++ b/examples-testing/examples/webgl_gpgpu_protoplanet.ts @@ -4,22 +4,32 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -5356,7 +5356,7 @@ index 30444ddb..e1c40aef 100644 } diff --git a/examples-testing/examples/webgl_gpgpu_water.ts b/examples-testing/examples/webgl_gpgpu_water.ts -index 3210a298..183dac1e 100644 +index 3210a298a..183dac1e3 100644 --- a/examples-testing/examples/webgl_gpgpu_water.ts +++ b/examples-testing/examples/webgl_gpgpu_water.ts @@ -4,7 +4,7 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -5525,7 +5525,7 @@ index 3210a298..183dac1e 100644 shader.uniforms[name] = { value: this.extra[name] }; } diff --git a/examples-testing/examples/webgl_helpers.ts b/examples-testing/examples/webgl_helpers.ts -index a8c3b977..09ad778d 100644 +index a8c3b9773..09ad778dc 100644 --- a/examples-testing/examples/webgl_helpers.ts +++ b/examples-testing/examples/webgl_helpers.ts @@ -5,10 +5,10 @@ import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; @@ -5562,7 +5562,7 @@ index a8c3b977..09ad778d 100644 line.material.opacity = 0.25; line.material.transparent = true; diff --git a/examples-testing/examples/webgl_instancing_dynamic.ts b/examples-testing/examples/webgl_instancing_dynamic.ts -index bc4a8866..105d30e1 100644 +index bc4a88662..105d30e11 100644 --- a/examples-testing/examples/webgl_instancing_dynamic.ts +++ b/examples-testing/examples/webgl_instancing_dynamic.ts @@ -3,15 +3,19 @@ import * as THREE from 'three'; @@ -5598,7 +5598,7 @@ index bc4a8866..105d30e1 100644 mesh.computeBoundingSphere(); diff --git a/examples-testing/examples/webgl_instancing_morph.ts b/examples-testing/examples/webgl_instancing_morph.ts -index 70e89199..d6fb00fb 100644 +index 70e89199c..d6fb00fbf 100644 --- a/examples-testing/examples/webgl_instancing_morph.ts +++ b/examples-testing/examples/webgl_instancing_morph.ts @@ -4,7 +4,13 @@ import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; @@ -5635,7 +5635,7 @@ index 70e89199..d6fb00fb 100644 renderer.render(scene, camera); diff --git a/examples-testing/examples/webgl_instancing_performance.ts b/examples-testing/examples/webgl_instancing_performance.ts -index bf1deaba..705d2cf3 100644 +index bf1deabad..705d2cf36 100644 --- a/examples-testing/examples/webgl_instancing_performance.ts +++ b/examples-testing/examples/webgl_instancing_performance.ts @@ -6,8 +6,12 @@ import { GUI } from 'three/addons/libs/lil-gui.module.min.js'; @@ -5736,7 +5736,7 @@ index bf1deaba..705d2cf3 100644 const k = 1024; diff --git a/examples-testing/examples/webgl_instancing_raycast.ts b/examples-testing/examples/webgl_instancing_raycast.ts -index 371ea070..861bc9c5 100644 +index 371ea070b..861bc9c51 100644 --- a/examples-testing/examples/webgl_instancing_raycast.ts +++ b/examples-testing/examples/webgl_instancing_raycast.ts @@ -4,9 +4,13 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -5782,7 +5782,7 @@ index 371ea070..861bc9c5 100644 } diff --git a/examples-testing/examples/webgl_instancing_scatter.ts b/examples-testing/examples/webgl_instancing_scatter.ts -index fc3b9cc9..d0904e8e 100644 +index fc3b9cc9f..d0904e8e4 100644 --- a/examples-testing/examples/webgl_instancing_scatter.ts +++ b/examples-testing/examples/webgl_instancing_scatter.ts @@ -5,7 +5,7 @@ import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; @@ -5855,7 +5855,7 @@ index fc3b9cc9..d0904e8e 100644 ages[i] += 0.005; diff --git a/examples-testing/examples/webgl_interactive_buffergeometry.ts b/examples-testing/examples/webgl_interactive_buffergeometry.ts -index 1d6608b1..c6aca942 100644 +index 1d6608b13..c6aca942f 100644 --- a/examples-testing/examples/webgl_interactive_buffergeometry.ts +++ b/examples-testing/examples/webgl_interactive_buffergeometry.ts @@ -2,18 +2,18 @@ import * as THREE from 'three'; @@ -5915,7 +5915,7 @@ index 1d6608b1..c6aca942 100644 linePosition.copyAt(0, meshPosition, face.a); linePosition.copyAt(1, meshPosition, face.b); diff --git a/examples-testing/examples/webgl_interactive_cubes.ts b/examples-testing/examples/webgl_interactive_cubes.ts -index adfcfddf..d26cee37 100644 +index adfcfddf8..d26cee370 100644 --- a/examples-testing/examples/webgl_interactive_cubes.ts +++ b/examples-testing/examples/webgl_interactive_cubes.ts @@ -2,10 +2,10 @@ import * as THREE from 'three'; @@ -5960,7 +5960,7 @@ index adfcfddf..d26cee37 100644 INTERSECTED = null; } diff --git a/examples-testing/examples/webgl_interactive_cubes_gpu.ts b/examples-testing/examples/webgl_interactive_cubes_gpu.ts -index 5b19d208..b8772168 100644 +index 5b19d2085..b8772168d 100644 --- a/examples-testing/examples/webgl_interactive_cubes_gpu.ts +++ b/examples-testing/examples/webgl_interactive_cubes_gpu.ts @@ -5,12 +5,12 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -6018,7 +6018,7 @@ index 5b19d208..b8772168 100644 pointer.y = e.clientY; } diff --git a/examples-testing/examples/webgl_interactive_cubes_ortho.ts b/examples-testing/examples/webgl_interactive_cubes_ortho.ts -index 520674b5..4b083ffe 100644 +index 520674b5f..4b083ffe9 100644 --- a/examples-testing/examples/webgl_interactive_cubes_ortho.ts +++ b/examples-testing/examples/webgl_interactive_cubes_ortho.ts @@ -2,11 +2,11 @@ import * as THREE from 'three'; @@ -6064,7 +6064,7 @@ index 520674b5..4b083ffe 100644 INTERSECTED = null; } diff --git a/examples-testing/examples/webgl_interactive_lines.ts b/examples-testing/examples/webgl_interactive_lines.ts -index b137c550..891e5541 100644 +index b137c5501..891e5541c 100644 --- a/examples-testing/examples/webgl_interactive_lines.ts +++ b/examples-testing/examples/webgl_interactive_lines.ts @@ -2,8 +2,13 @@ import * as THREE from 'three'; @@ -6093,7 +6093,7 @@ index b137c550..891e5541 100644 pointer.y = -(event.clientY / window.innerHeight) * 2 + 1; } diff --git a/examples-testing/examples/webgl_interactive_points.ts b/examples-testing/examples/webgl_interactive_points.ts -index b6be0df0..2bc27dae 100644 +index b6be0df05..2bc27dae9 100644 --- a/examples-testing/examples/webgl_interactive_points.ts +++ b/examples-testing/examples/webgl_interactive_points.ts @@ -4,19 +4,19 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -6174,7 +6174,7 @@ index b6be0df0..2bc27dae 100644 attributes.size.array[INTERSECTED] = PARTICLE_SIZE * 1.25; attributes.size.needsUpdate = true; diff --git a/examples-testing/examples/webgl_interactive_raycasting_points.ts b/examples-testing/examples/webgl_interactive_raycasting_points.ts -index 50b8d1e1..8f0a5c28 100644 +index 50b8d1e1d..8f0a5c289 100644 --- a/examples-testing/examples/webgl_interactive_raycasting_points.ts +++ b/examples-testing/examples/webgl_interactive_raycasting_points.ts @@ -2,16 +2,16 @@ import * as THREE from 'three'; @@ -6253,7 +6253,7 @@ index 50b8d1e1..8f0a5c28 100644 pointer.y = -(event.clientY / window.innerHeight) * 2 + 1; } diff --git a/examples-testing/examples/webgl_interactive_voxelpainter.ts b/examples-testing/examples/webgl_interactive_voxelpainter.ts -index 48b16f3b..dae1d758 100644 +index 48b16f3b7..dae1d7589 100644 --- a/examples-testing/examples/webgl_interactive_voxelpainter.ts +++ b/examples-testing/examples/webgl_interactive_voxelpainter.ts @@ -1,15 +1,15 @@ @@ -6333,7 +6333,7 @@ index 48b16f3b..dae1d758 100644 case 16: isShiftDown = false; diff --git a/examples-testing/examples/webgl_lensflares.ts b/examples-testing/examples/webgl_lensflares.ts -index 0a55bec4..b45da6b9 100644 +index 0a55bec42..b45da6b93 100644 --- a/examples-testing/examples/webgl_lensflares.ts +++ b/examples-testing/examples/webgl_lensflares.ts @@ -5,10 +5,10 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -6360,7 +6360,7 @@ index 0a55bec4..b45da6b9 100644 light.color.setHSL(h, s, l); light.position.set(x, y, z); diff --git a/examples-testing/examples/webgl_lightprobe.ts b/examples-testing/examples/webgl_lightprobe.ts -index 58f021e6..1427cce4 100644 +index 58f021e6d..1427cce47 100644 --- a/examples-testing/examples/webgl_lightprobe.ts +++ b/examples-testing/examples/webgl_lightprobe.ts @@ -8,12 +8,15 @@ import { LightProbeGenerator } from 'three/addons/lights/LightProbeGenerator.js' @@ -6392,7 +6392,7 @@ index 58f021e6..1427cce4 100644 prefix + 'px' + postfix, prefix + 'nx' + postfix, diff --git a/examples-testing/examples/webgl_lightprobe_cubecamera.ts b/examples-testing/examples/webgl_lightprobe_cubecamera.ts -index 65425d4e..a9a0533e 100644 +index 65425d4e7..a9a0533ef 100644 --- a/examples-testing/examples/webgl_lightprobe_cubecamera.ts +++ b/examples-testing/examples/webgl_lightprobe_cubecamera.ts @@ -4,9 +4,9 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -6417,7 +6417,7 @@ index 65425d4e..a9a0533e 100644 prefix + 'px' + postfix, prefix + 'nx' + postfix, diff --git a/examples-testing/examples/webgl_lights_hemisphere.ts b/examples-testing/examples/webgl_lights_hemisphere.ts -index 2910b15d..32daa5e5 100644 +index 2910b15de..32daa5e5d 100644 --- a/examples-testing/examples/webgl_lights_hemisphere.ts +++ b/examples-testing/examples/webgl_lights_hemisphere.ts @@ -5,9 +5,9 @@ import { GUI } from 'three/addons/libs/lil-gui.module.min.js'; @@ -6454,7 +6454,7 @@ index 2910b15d..32daa5e5 100644 topColor: { value: new THREE.Color(0x0077ff) }, bottomColor: { value: new THREE.Color(0xffffff) }, diff --git a/examples-testing/examples/webgl_lights_physical.ts b/examples-testing/examples/webgl_lights_physical.ts -index 707ef200..8e4cf0bb 100644 +index 707ef200e..8e4cf0bbe 100644 --- a/examples-testing/examples/webgl_lights_physical.ts +++ b/examples-testing/examples/webgl_lights_physical.ts @@ -5,13 +5,19 @@ import { GUI } from 'three/addons/libs/lil-gui.module.min.js'; @@ -6499,7 +6499,7 @@ index 707ef200..8e4cf0bb 100644 stats = new Stats(); container.appendChild(stats.dom); diff --git a/examples-testing/examples/webgl_lights_rectarealight.ts b/examples-testing/examples/webgl_lights_rectarealight.ts -index 621d183d..3f4b060e 100644 +index 621d183d8..3f4b060ec 100644 --- a/examples-testing/examples/webgl_lights_rectarealight.ts +++ b/examples-testing/examples/webgl_lights_rectarealight.ts @@ -6,9 +6,9 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -6525,7 +6525,7 @@ index 621d183d..3f4b060e 100644 ctx.fillRect(0, 0, 2, 2); ctx.fillStyle = '#fff'; diff --git a/examples-testing/examples/webgl_lights_spotlight.ts b/examples-testing/examples/webgl_lights_spotlight.ts -index 78fec9d4..c83421bb 100644 +index 78fec9d4e..c83421bb3 100644 --- a/examples-testing/examples/webgl_lights_spotlight.ts +++ b/examples-testing/examples/webgl_lights_spotlight.ts @@ -5,9 +5,9 @@ import { GUI } from 'three/addons/libs/lil-gui.module.min.js'; @@ -6570,7 +6570,7 @@ index 78fec9d4..c83421bb 100644 renderer.render(scene, camera); } diff --git a/examples-testing/examples/webgl_lights_spotlights.ts b/examples-testing/examples/webgl_lights_spotlights.ts -index be8dfd69..c2b109f2 100644 +index be8dfd69d..c2b109f2f 100644 --- a/examples-testing/examples/webgl_lights_spotlights.ts +++ b/examples-testing/examples/webgl_lights_spotlights.ts @@ -29,7 +29,7 @@ const spotLight1 = createSpotlight(0xff7f00); @@ -6601,7 +6601,7 @@ index be8dfd69..c2b109f2 100644 .to( { diff --git a/examples-testing/examples/webgl_lines_colors.ts b/examples-testing/examples/webgl_lines_colors.ts -index 9da19ee2..68bc979b 100644 +index 9da19ee2e..68bc979b0 100644 --- a/examples-testing/examples/webgl_lines_colors.ts +++ b/examples-testing/examples/webgl_lines_colors.ts @@ -8,7 +8,7 @@ let mouseX = 0, @@ -6641,7 +6641,7 @@ index 9da19ee2..68bc979b 100644 } } diff --git a/examples-testing/examples/webgl_lines_dashed.ts b/examples-testing/examples/webgl_lines_dashed.ts -index 3e3ee304..0c098cd5 100644 +index 3e3ee3041..0c098cd5b 100644 --- a/examples-testing/examples/webgl_lines_dashed.ts +++ b/examples-testing/examples/webgl_lines_dashed.ts @@ -4,8 +4,8 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -6674,7 +6674,7 @@ index 3e3ee304..0c098cd5 100644 object.rotation.y = 0.25 * time; } diff --git a/examples-testing/examples/webgl_lines_fat.ts b/examples-testing/examples/webgl_lines_fat.ts -index b5b66bbb..b4bfb555 100644 +index b5b66bbb1..b4bfb555c 100644 --- a/examples-testing/examples/webgl_lines_fat.ts +++ b/examples-testing/examples/webgl_lines_fat.ts @@ -7,14 +7,19 @@ import { LineMaterial } from 'three/addons/lines/LineMaterial.js'; @@ -6704,7 +6704,7 @@ index b5b66bbb..b4bfb555 100644 init(); diff --git a/examples-testing/examples/webgl_lines_fat_raycasting.ts b/examples-testing/examples/webgl_lines_fat_raycasting.ts -index ac9400da..7041465f 100644 +index ac9400da3..7041465f3 100644 --- a/examples-testing/examples/webgl_lines_fat_raycasting.ts +++ b/examples-testing/examples/webgl_lines_fat_raycasting.ts @@ -8,11 +8,12 @@ import { LineSegmentsGeometry } from 'three/addons/lines/LineSegmentsGeometry.js @@ -6786,7 +6786,7 @@ index ac9400da..7041465f 100644 gui.add(params, 'translation', 0, 10).onChange(function (val) { diff --git a/examples-testing/examples/webgl_lines_fat_wireframe.ts b/examples-testing/examples/webgl_lines_fat_wireframe.ts -index 59660ad7..9f38fcb6 100644 +index 59660ad7e..9f38fcb6d 100644 --- a/examples-testing/examples/webgl_lines_fat_wireframe.ts +++ b/examples-testing/examples/webgl_lines_fat_wireframe.ts @@ -8,15 +8,20 @@ import { LineMaterial } from 'three/addons/lines/LineMaterial.js'; @@ -6827,7 +6827,7 @@ index 59660ad7..9f38fcb6 100644 const geometry = new WireframeGeometry2(geo); diff --git a/examples-testing/examples/webgl_loader_3dm.ts b/examples-testing/examples/webgl_loader_3dm.ts -index 7570306f..a363c213 100644 +index 7570306fd..a363c2132 100644 --- a/examples-testing/examples/webgl_loader_3dm.ts +++ b/examples-testing/examples/webgl_loader_3dm.ts @@ -5,8 +5,8 @@ import { Rhino3dmLoader } from 'three/addons/loaders/3DMLoader.js'; @@ -6860,7 +6860,7 @@ index 7570306f..a363c213 100644 for (let i = 0; i < layers.length; i++) { diff --git a/examples-testing/examples/webgl_loader_3ds.ts b/examples-testing/examples/webgl_loader_3ds.ts -index 10ce3407..ac3a6e23 100644 +index 10ce34076..ac3a6e232 100644 --- a/examples-testing/examples/webgl_loader_3ds.ts +++ b/examples-testing/examples/webgl_loader_3ds.ts @@ -3,8 +3,8 @@ import * as THREE from 'three'; @@ -6888,7 +6888,7 @@ index 10ce3407..ac3a6e23 100644 }); diff --git a/examples-testing/examples/webgl_loader_3dtiles.ts b/examples-testing/examples/webgl_loader_3dtiles.ts -index bae36bc8..70aff037 100644 +index bae36bc84..70aff0378 100644 --- a/examples-testing/examples/webgl_loader_3dtiles.ts +++ b/examples-testing/examples/webgl_loader_3dtiles.ts @@ -13,8 +13,8 @@ import { @@ -6903,7 +6903,7 @@ index bae36bc8..70aff037 100644 init(); diff --git a/examples-testing/examples/webgl_loader_3mf.ts b/examples-testing/examples/webgl_loader_3mf.ts -index c31e3219..eecda516 100644 +index c31e32196..eecda516b 100644 --- a/examples-testing/examples/webgl_loader_3mf.ts +++ b/examples-testing/examples/webgl_loader_3mf.ts @@ -4,7 +4,12 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -6944,7 +6944,7 @@ index c31e3219..eecda516 100644 scene.remove(object); diff --git a/examples-testing/examples/webgl_loader_3mf_materials.ts b/examples-testing/examples/webgl_loader_3mf_materials.ts -index 0dea0139..6e897da1 100644 +index 0dea01391..6e897da19 100644 --- a/examples-testing/examples/webgl_loader_3mf_materials.ts +++ b/examples-testing/examples/webgl_loader_3mf_materials.ts @@ -3,7 +3,7 @@ import * as THREE from 'three'; @@ -6957,7 +6957,7 @@ index 0dea0139..6e897da1 100644 init(); diff --git a/examples-testing/examples/webgl_loader_amf.ts b/examples-testing/examples/webgl_loader_amf.ts -index ee576e04..7569a044 100644 +index ee576e04f..7569a0448 100644 --- a/examples-testing/examples/webgl_loader_amf.ts +++ b/examples-testing/examples/webgl_loader_amf.ts @@ -3,7 +3,7 @@ import * as THREE from 'three'; @@ -6970,7 +6970,7 @@ index ee576e04..7569a044 100644 init(); diff --git a/examples-testing/examples/webgl_loader_bvh.ts b/examples-testing/examples/webgl_loader_bvh.ts -index 70cec7e6..ba36382e 100644 +index 70cec7e6a..ba36382e8 100644 --- a/examples-testing/examples/webgl_loader_bvh.ts +++ b/examples-testing/examples/webgl_loader_bvh.ts @@ -6,8 +6,8 @@ import { BVHLoader } from 'three/addons/loaders/BVHLoader.js'; @@ -6985,7 +6985,7 @@ index 70cec7e6..ba36382e 100644 init(); diff --git a/examples-testing/examples/webgl_loader_collada.ts b/examples-testing/examples/webgl_loader_collada.ts -index 3106369c..d9705f46 100644 +index 3106369c8..d9705f46e 100644 --- a/examples-testing/examples/webgl_loader_collada.ts +++ b/examples-testing/examples/webgl_loader_collada.ts @@ -4,13 +4,13 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -7015,7 +7015,7 @@ index 3106369c..d9705f46 100644 // diff --git a/examples-testing/examples/webgl_loader_collada_skinning.ts b/examples-testing/examples/webgl_loader_collada_skinning.ts -index bbbd0ac3..206bd4c7 100644 +index bbbd0ac3e..206bd4c76 100644 --- a/examples-testing/examples/webgl_loader_collada_skinning.ts +++ b/examples-testing/examples/webgl_loader_collada_skinning.ts @@ -5,13 +5,13 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -7045,7 +7045,7 @@ index bbbd0ac3..206bd4c7 100644 mixer = new THREE.AnimationMixer(avatar); diff --git a/examples-testing/examples/webgl_loader_draco.ts b/examples-testing/examples/webgl_loader_draco.ts -index c1df7100..6a8c4844 100644 +index c1df7100d..6a8c48446 100644 --- a/examples-testing/examples/webgl_loader_draco.ts +++ b/examples-testing/examples/webgl_loader_draco.ts @@ -2,9 +2,9 @@ import * as THREE from 'three'; @@ -7061,7 +7061,7 @@ index c1df7100..6a8c4844 100644 // Configure and create Draco decoder. const dracoLoader = new DRACOLoader(); diff --git a/examples-testing/examples/webgl_loader_fbx.ts b/examples-testing/examples/webgl_loader_fbx.ts -index bcf26ae9..7e78cf59 100644 +index bcf26ae95..7e78cf591 100644 --- a/examples-testing/examples/webgl_loader_fbx.ts +++ b/examples-testing/examples/webgl_loader_fbx.ts @@ -8,8 +8,14 @@ import { GUI } from 'three/addons/libs/lil-gui.module.min.js'; @@ -7142,7 +7142,7 @@ index bcf26ae9..7e78cf59 100644 } } diff --git a/examples-testing/examples/webgl_loader_fbx_nurbs.ts b/examples-testing/examples/webgl_loader_fbx_nurbs.ts -index f2e45bcb..c15264d7 100644 +index f2e45bcb5..c15264d71 100644 --- a/examples-testing/examples/webgl_loader_fbx_nurbs.ts +++ b/examples-testing/examples/webgl_loader_fbx_nurbs.ts @@ -5,7 +5,7 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -7155,7 +7155,7 @@ index f2e45bcb..c15264d7 100644 init(); diff --git a/examples-testing/examples/webgl_loader_gcode.ts b/examples-testing/examples/webgl_loader_gcode.ts -index 16dfb92e..14f1b485 100644 +index 16dfb92e2..14f1b4850 100644 --- a/examples-testing/examples/webgl_loader_gcode.ts +++ b/examples-testing/examples/webgl_loader_gcode.ts @@ -4,9 +4,13 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -7197,7 +7197,7 @@ index 16dfb92e..14f1b485 100644 model = object; model.position.copy(positions[assets.indexOf(asset)]); diff --git a/examples-testing/examples/webgl_loader_gltf.ts b/examples-testing/examples/webgl_loader_gltf.ts -index e0cb6854..68c61500 100644 +index e0cb68546..68c615001 100644 --- a/examples-testing/examples/webgl_loader_gltf.ts +++ b/examples-testing/examples/webgl_loader_gltf.ts @@ -5,8 +5,16 @@ import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; @@ -7261,7 +7261,7 @@ index e0cb6854..68c61500 100644 box.setFromObject(selection); diff --git a/examples-testing/examples/webgl_loader_gltf_animation_pointer.ts b/examples-testing/examples/webgl_loader_gltf_animation_pointer.ts -index 443df047..d2cb449e 100644 +index 443df047b..d2cb449eb 100644 --- a/examples-testing/examples/webgl_loader_gltf_animation_pointer.ts +++ b/examples-testing/examples/webgl_loader_gltf_animation_pointer.ts @@ -10,11 +10,11 @@ import { DRACOLoader } from 'three/addons/loaders/DRACOLoader.js'; @@ -7279,7 +7279,7 @@ index 443df047..d2cb449e 100644 const stats = new Stats(); container.appendChild(stats.dom); diff --git a/examples-testing/examples/webgl_loader_gltf_anisotropy.ts b/examples-testing/examples/webgl_loader_gltf_anisotropy.ts -index f0dd05cf..3ce7cc23 100644 +index f0dd05cfe..3ce7cc23a 100644 --- a/examples-testing/examples/webgl_loader_gltf_anisotropy.ts +++ b/examples-testing/examples/webgl_loader_gltf_anisotropy.ts @@ -4,7 +4,7 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -7292,7 +7292,7 @@ index f0dd05cf..3ce7cc23 100644 init(); diff --git a/examples-testing/examples/webgl_loader_gltf_avif.ts b/examples-testing/examples/webgl_loader_gltf_avif.ts -index 37d63859..68dff97f 100644 +index 37d63859e..68dff97f2 100644 --- a/examples-testing/examples/webgl_loader_gltf_avif.ts +++ b/examples-testing/examples/webgl_loader_gltf_avif.ts @@ -4,7 +4,7 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -7305,7 +7305,7 @@ index 37d63859..68dff97f 100644 init(); render(); diff --git a/examples-testing/examples/webgl_loader_gltf_compressed.ts b/examples-testing/examples/webgl_loader_gltf_compressed.ts -index 235d9b3d..06e6d507 100644 +index 235d9b3d0..06e6d5072 100644 --- a/examples-testing/examples/webgl_loader_gltf_compressed.ts +++ b/examples-testing/examples/webgl_loader_gltf_compressed.ts @@ -7,7 +7,7 @@ import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; @@ -7318,7 +7318,7 @@ index 235d9b3d..06e6d507 100644 init(); render(); diff --git a/examples-testing/examples/webgl_loader_gltf_dispersion.ts b/examples-testing/examples/webgl_loader_gltf_dispersion.ts -index 0f1d7e57..c4a5d7f1 100644 +index 0f1d7e57a..c4a5d7f1b 100644 --- a/examples-testing/examples/webgl_loader_gltf_dispersion.ts +++ b/examples-testing/examples/webgl_loader_gltf_dispersion.ts @@ -4,7 +4,7 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -7331,7 +7331,7 @@ index 0f1d7e57..c4a5d7f1 100644 init().then(render); diff --git a/examples-testing/examples/webgl_loader_gltf_instancing.ts b/examples-testing/examples/webgl_loader_gltf_instancing.ts -index 6acb140e..205f4816 100644 +index 6acb140ec..205f48162 100644 --- a/examples-testing/examples/webgl_loader_gltf_instancing.ts +++ b/examples-testing/examples/webgl_loader_gltf_instancing.ts @@ -4,7 +4,7 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -7344,7 +7344,7 @@ index 6acb140e..205f4816 100644 init(); render(); diff --git a/examples-testing/examples/webgl_loader_gltf_iridescence.ts b/examples-testing/examples/webgl_loader_gltf_iridescence.ts -index 5519835f..6cfbb56c 100644 +index 5519835fe..6cfbb56c3 100644 --- a/examples-testing/examples/webgl_loader_gltf_iridescence.ts +++ b/examples-testing/examples/webgl_loader_gltf_iridescence.ts @@ -4,7 +4,7 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -7357,7 +7357,7 @@ index 5519835f..6cfbb56c 100644 init().catch(function (err) { console.error(err); diff --git a/examples-testing/examples/webgl_loader_gltf_progressive_lod.ts b/examples-testing/examples/webgl_loader_gltf_progressive_lod.ts -index 8d1c6048..72b6bed3 100644 +index 8d1c60480..72b6bed31 100644 --- a/examples-testing/examples/webgl_loader_gltf_progressive_lod.ts +++ b/examples-testing/examples/webgl_loader_gltf_progressive_lod.ts @@ -5,8 +5,8 @@ import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; @@ -7372,7 +7372,7 @@ index 8d1c6048..72b6bed3 100644 init(); diff --git a/examples-testing/examples/webgl_loader_gltf_sheen.ts b/examples-testing/examples/webgl_loader_gltf_sheen.ts -index b058f1e2..3f75e10c 100644 +index b058f1e27..3f75e10cc 100644 --- a/examples-testing/examples/webgl_loader_gltf_sheen.ts +++ b/examples-testing/examples/webgl_loader_gltf_sheen.ts @@ -6,7 +6,7 @@ import { RoomEnvironment } from 'three/addons/environments/RoomEnvironment.js'; @@ -7397,7 +7397,7 @@ index b058f1e2..3f75e10c 100644 const gui = new GUI(); diff --git a/examples-testing/examples/webgl_loader_gltf_transmission.ts b/examples-testing/examples/webgl_loader_gltf_transmission.ts -index e8ea0a92..d05568b5 100644 +index e8ea0a927..d05568b57 100644 --- a/examples-testing/examples/webgl_loader_gltf_transmission.ts +++ b/examples-testing/examples/webgl_loader_gltf_transmission.ts @@ -6,7 +6,12 @@ import { UltraHDRLoader } from 'three/addons/loaders/UltraHDRLoader.js'; @@ -7415,7 +7415,7 @@ index e8ea0a92..d05568b5 100644 init(); diff --git a/examples-testing/examples/webgl_loader_imagebitmap.ts b/examples-testing/examples/webgl_loader_imagebitmap.ts -index c02a03e1..0dce69c1 100644 +index c02a03e17..0dce69c16 100644 --- a/examples-testing/examples/webgl_loader_imagebitmap.ts +++ b/examples-testing/examples/webgl_loader_imagebitmap.ts @@ -1,7 +1,7 @@ @@ -7456,7 +7456,7 @@ index c02a03e1..0dce69c1 100644 texture.onUpdate = null; // make sure this callback is executed only once per texture } diff --git a/examples-testing/examples/webgl_loader_kmz.ts b/examples-testing/examples/webgl_loader_kmz.ts -index f93555e4..8793a351 100644 +index f93555e41..8793a3511 100644 --- a/examples-testing/examples/webgl_loader_kmz.ts +++ b/examples-testing/examples/webgl_loader_kmz.ts @@ -3,7 +3,7 @@ import * as THREE from 'three'; @@ -7469,7 +7469,7 @@ index f93555e4..8793a351 100644 init(); diff --git a/examples-testing/examples/webgl_loader_lwo.ts b/examples-testing/examples/webgl_loader_lwo.ts -index fb10c834..df003a04 100644 +index fb10c8340..df003a04f 100644 --- a/examples-testing/examples/webgl_loader_lwo.ts +++ b/examples-testing/examples/webgl_loader_lwo.ts @@ -3,7 +3,7 @@ import * as THREE from 'three'; @@ -7482,7 +7482,7 @@ index fb10c834..df003a04 100644 init(); diff --git a/examples-testing/examples/webgl_loader_md2_control.ts b/examples-testing/examples/webgl_loader_md2_control.ts -index 56b7dc3c..fb634369 100644 +index 56b7dc3c4..fb634369d 100644 --- a/examples-testing/examples/webgl_loader_md2_control.ts +++ b/examples-testing/examples/webgl_loader_md2_control.ts @@ -9,10 +9,10 @@ import { Gyroscope } from 'three/addons/misc/Gyroscope.js'; @@ -7533,7 +7533,7 @@ index 56b7dc3c..fb634369 100644 case 'ArrowUp': case 'KeyW': diff --git a/examples-testing/examples/webgl_loader_mdd.ts b/examples-testing/examples/webgl_loader_mdd.ts -index 16e49221..d71600a5 100644 +index 16e49221c..d71600a53 100644 --- a/examples-testing/examples/webgl_loader_mdd.ts +++ b/examples-testing/examples/webgl_loader_mdd.ts @@ -2,7 +2,11 @@ import * as THREE from 'three'; @@ -7550,7 +7550,7 @@ index 16e49221..d71600a5 100644 init(); diff --git a/examples-testing/examples/webgl_loader_obj.ts b/examples-testing/examples/webgl_loader_obj.ts -index 42f1f325..19ce7067 100644 +index 42f1f3257..19ce70671 100644 --- a/examples-testing/examples/webgl_loader_obj.ts +++ b/examples-testing/examples/webgl_loader_obj.ts @@ -4,7 +4,7 @@ import { MTLLoader } from 'three/addons/loaders/MTLLoader.js'; @@ -7563,7 +7563,7 @@ index 42f1f325..19ce7067 100644 init(); diff --git a/examples-testing/examples/webgl_loader_pcd.ts b/examples-testing/examples/webgl_loader_pcd.ts -index dd0f0b0f..e47005a8 100644 +index dd0f0b0f5..e47005a81 100644 --- a/examples-testing/examples/webgl_loader_pcd.ts +++ b/examples-testing/examples/webgl_loader_pcd.ts @@ -4,7 +4,7 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -7585,7 +7585,7 @@ index dd0f0b0f..e47005a8 100644 points.geometry.center(); points.geometry.rotateX(Math.PI); diff --git a/examples-testing/examples/webgl_loader_pdb.ts b/examples-testing/examples/webgl_loader_pdb.ts -index b560efa7..9882dff5 100644 +index b560efa73..9882dff52 100644 --- a/examples-testing/examples/webgl_loader_pdb.ts +++ b/examples-testing/examples/webgl_loader_pdb.ts @@ -5,10 +5,10 @@ import { PDBLoader } from 'three/addons/loaders/PDBLoader.js'; @@ -7644,7 +7644,7 @@ index b560efa7..9882dff5 100644 geometryAtoms.translate(offset.x, offset.y, offset.z); geometryBonds.translate(offset.x, offset.y, offset.z); diff --git a/examples-testing/examples/webgl_loader_ply.ts b/examples-testing/examples/webgl_loader_ply.ts -index 0f4042b7..dff17d16 100644 +index 0f4042b7d..dff17d169 100644 --- a/examples-testing/examples/webgl_loader_ply.ts +++ b/examples-testing/examples/webgl_loader_ply.ts @@ -4,9 +4,9 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -7669,7 +7669,7 @@ index 0f4042b7..dff17d16 100644 directionalLight.position.set(x, y, z); scene.add(directionalLight); diff --git a/examples-testing/examples/webgl_loader_svg.ts b/examples-testing/examples/webgl_loader_svg.ts -index a04b79de..48a055d4 100644 +index a04b79de2..48a055d41 100644 --- a/examples-testing/examples/webgl_loader_svg.ts +++ b/examples-testing/examples/webgl_loader_svg.ts @@ -3,14 +3,24 @@ import { GUI } from 'three/addons/libs/lil-gui.module.min.js'; @@ -7768,7 +7768,7 @@ index a04b79de..48a055d4 100644 }); } diff --git a/examples-testing/examples/webgl_loader_texture_dds.ts b/examples-testing/examples/webgl_loader_texture_dds.ts -index ba9b18e9..d4161ff3 100644 +index ba9b18e9d..d4161ff31 100644 --- a/examples-testing/examples/webgl_loader_texture_dds.ts +++ b/examples-testing/examples/webgl_loader_texture_dds.ts @@ -2,8 +2,8 @@ import * as THREE from 'three'; @@ -7792,7 +7792,7 @@ index ba9b18e9..d4161ff3 100644 mesh.position.y = -2; scene.add(mesh); diff --git a/examples-testing/examples/webgl_loader_texture_ktx.ts b/examples-testing/examples/webgl_loader_texture_ktx.ts -index a4e74930..9f0ad48f 100644 +index a4e749301..9f0ad48f3 100644 --- a/examples-testing/examples/webgl_loader_texture_ktx.ts +++ b/examples-testing/examples/webgl_loader_texture_ktx.ts @@ -17,8 +17,8 @@ import { KTXLoader } from 'three/addons/loaders/KTXLoader.js'; @@ -7858,7 +7858,7 @@ index a4e74930..9f0ad48f 100644 meshes.push(new THREE.Mesh(geometry, material1)); meshes.push(new THREE.Mesh(geometry, material2)); diff --git a/examples-testing/examples/webgl_loader_texture_tga.ts b/examples-testing/examples/webgl_loader_texture_tga.ts -index c4f65b79..fd6bab07 100644 +index c4f65b79a..fd6bab071 100644 --- a/examples-testing/examples/webgl_loader_texture_tga.ts +++ b/examples-testing/examples/webgl_loader_texture_tga.ts @@ -5,7 +5,7 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -7871,7 +7871,7 @@ index c4f65b79..fd6bab07 100644 init(); diff --git a/examples-testing/examples/webgl_loader_texture_tiff.ts b/examples-testing/examples/webgl_loader_texture_tiff.ts -index f097774a..bb5b9d9d 100644 +index f097774aa..bb5b9d9d9 100644 --- a/examples-testing/examples/webgl_loader_texture_tiff.ts +++ b/examples-testing/examples/webgl_loader_texture_tiff.ts @@ -2,7 +2,7 @@ import * as THREE from 'three'; @@ -7884,7 +7884,7 @@ index f097774a..bb5b9d9d 100644 init(); diff --git a/examples-testing/examples/webgl_loader_texture_ultrahdr.ts b/examples-testing/examples/webgl_loader_texture_ultrahdr.ts -index c8bce4bf..a28a7f00 100644 +index c8bce4bf9..a28a7f00b 100644 --- a/examples-testing/examples/webgl_loader_texture_ultrahdr.ts +++ b/examples-testing/examples/webgl_loader_texture_ultrahdr.ts @@ -5,7 +5,14 @@ import { GUI } from 'three/addons/libs/lil-gui.module.min.js'; @@ -7930,7 +7930,7 @@ index c8bce4bf..a28a7f00 100644 loader.load(`textures/equirectangular/spruit_sunrise_${resolution}.hdr.jpg`, function (texture) { diff --git a/examples-testing/examples/webgl_loader_ttf.ts b/examples-testing/examples/webgl_loader_ttf.ts -index b54b8c29..40a692eb 100644 +index b54b8c290..40a692ebd 100644 --- a/examples-testing/examples/webgl_loader_ttf.ts +++ b/examples-testing/examples/webgl_loader_ttf.ts @@ -4,9 +4,9 @@ import { TTFLoader } from 'three/addons/loaders/TTFLoader.js'; @@ -8021,7 +8021,7 @@ index b54b8c29..40a692eb 100644 document.removeEventListener('pointermove', onPointerMove); document.removeEventListener('pointerup', onPointerUp); diff --git a/examples-testing/examples/webgl_loader_usdz.ts b/examples-testing/examples/webgl_loader_usdz.ts -index 409c6b59..dbde51b0 100644 +index 409c6b597..dbde51b00 100644 --- a/examples-testing/examples/webgl_loader_usdz.ts +++ b/examples-testing/examples/webgl_loader_usdz.ts @@ -4,7 +4,7 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -8034,7 +8034,7 @@ index 409c6b59..dbde51b0 100644 init(); diff --git a/examples-testing/examples/webgl_loader_vox.ts b/examples-testing/examples/webgl_loader_vox.ts -index 87e0b2f8..5094b88c 100644 +index 87e0b2f81..5094b88cb 100644 --- a/examples-testing/examples/webgl_loader_vox.ts +++ b/examples-testing/examples/webgl_loader_vox.ts @@ -3,7 +3,7 @@ import * as THREE from 'three'; @@ -8047,7 +8047,7 @@ index 87e0b2f8..5094b88c 100644 init(); diff --git a/examples-testing/examples/webgl_loader_vrml.ts b/examples-testing/examples/webgl_loader_vrml.ts -index 1dda79f2..02c9d920 100644 +index 1dda79f2b..02c9d9209 100644 --- a/examples-testing/examples/webgl_loader_vrml.ts +++ b/examples-testing/examples/webgl_loader_vrml.ts @@ -6,7 +6,12 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -8101,7 +8101,7 @@ index 1dda79f2..02c9d920 100644 vrmlScene = object; scene.add(object); diff --git a/examples-testing/examples/webgl_loader_vtk.ts b/examples-testing/examples/webgl_loader_vtk.ts -index dfc79865..de6983fb 100644 +index dfc798657..de6983fb2 100644 --- a/examples-testing/examples/webgl_loader_vtk.ts +++ b/examples-testing/examples/webgl_loader_vtk.ts @@ -5,9 +5,9 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -8117,7 +8117,7 @@ index dfc79865..de6983fb 100644 init(); diff --git a/examples-testing/examples/webgl_loader_xyz.ts b/examples-testing/examples/webgl_loader_xyz.ts -index 315c6de3..61b37933 100644 +index 315c6de39..61b37933a 100644 --- a/examples-testing/examples/webgl_loader_xyz.ts +++ b/examples-testing/examples/webgl_loader_xyz.ts @@ -2,9 +2,9 @@ import * as THREE from 'three'; @@ -8133,7 +8133,7 @@ index 315c6de3..61b37933 100644 init(); diff --git a/examples-testing/examples/webgl_lod.ts b/examples-testing/examples/webgl_lod.ts -index d957efbb..fd75a6cd 100644 +index d957efbbd..fd75a6cd0 100644 --- a/examples-testing/examples/webgl_lod.ts +++ b/examples-testing/examples/webgl_lod.ts @@ -2,9 +2,9 @@ import * as THREE from 'three'; @@ -8158,7 +8158,7 @@ index d957efbb..fd75a6cd 100644 [new THREE.IcosahedronGeometry(100, 8), 300], [new THREE.IcosahedronGeometry(100, 4), 1000], diff --git a/examples-testing/examples/webgl_marchingcubes.ts b/examples-testing/examples/webgl_marchingcubes.ts -index ea96c0f9..b87765f3 100644 +index ea96c0f9f..b87765f39 100644 --- a/examples-testing/examples/webgl_marchingcubes.ts +++ b/examples-testing/examples/webgl_marchingcubes.ts @@ -7,17 +7,42 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -8274,7 +8274,7 @@ index ea96c0f9..b87765f3 100644 // fill the field with some metaballs diff --git a/examples-testing/examples/webgl_materials_alphahash.ts b/examples-testing/examples/webgl_materials_alphahash.ts -index 790e31be..335db180 100644 +index 790e31be4..335db1806 100644 --- a/examples-testing/examples/webgl_materials_alphahash.ts +++ b/examples-testing/examples/webgl_materials_alphahash.ts @@ -10,9 +10,15 @@ import { RenderPass } from 'three/addons/postprocessing/RenderPass.js'; @@ -8297,7 +8297,7 @@ index 790e31be..335db180 100644 let needsUpdate = false; diff --git a/examples-testing/examples/webgl_materials_blending.ts b/examples-testing/examples/webgl_materials_blending.ts -index fb2e6a91..6063485e 100644 +index fb2e6a91e..6063485e3 100644 --- a/examples-testing/examples/webgl_materials_blending.ts +++ b/examples-testing/examples/webgl_materials_blending.ts @@ -1,7 +1,7 @@ @@ -8350,7 +8350,7 @@ index fb2e6a91..6063485e 100644 canvas.height = 32; diff --git a/examples-testing/examples/webgl_materials_blending_custom.ts b/examples-testing/examples/webgl_materials_blending_custom.ts -index 07244742..62111971 100644 +index 072447426..62111971a 100644 --- a/examples-testing/examples/webgl_materials_blending_custom.ts +++ b/examples-testing/examples/webgl_materials_blending_custom.ts @@ -2,12 +2,12 @@ import * as THREE from 'three'; @@ -8401,7 +8401,7 @@ index 07244742..62111971 100644 material.blendEquation = value; } diff --git a/examples-testing/examples/webgl_materials_bumpmap.ts b/examples-testing/examples/webgl_materials_bumpmap.ts -index a09c2157..00fe46b6 100644 +index a09c21573..00fe46b68 100644 --- a/examples-testing/examples/webgl_materials_bumpmap.ts +++ b/examples-testing/examples/webgl_materials_bumpmap.ts @@ -5,13 +5,13 @@ import { GUI } from 'three/addons/libs/lil-gui.module.min.js'; @@ -8441,7 +8441,7 @@ index a09c2157..00fe46b6 100644 mesh.position.y = -0.5; diff --git a/examples-testing/examples/webgl_materials_car.ts b/examples-testing/examples/webgl_materials_car.ts -index 44be6e0e..f3a7b953 100644 +index 44be6e0ee..f3a7b9530 100644 --- a/examples-testing/examples/webgl_materials_car.ts +++ b/examples-testing/examples/webgl_materials_car.ts @@ -8,16 +8,16 @@ import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; @@ -8522,7 +8522,7 @@ index 44be6e0e..f3a7b953 100644 // shadow diff --git a/examples-testing/examples/webgl_materials_cubemap.ts b/examples-testing/examples/webgl_materials_cubemap.ts -index 5f269275..87044a87 100644 +index 5f2692751..87044a874 100644 --- a/examples-testing/examples/webgl_materials_cubemap.ts +++ b/examples-testing/examples/webgl_materials_cubemap.ts @@ -5,9 +5,9 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -8547,7 +8547,7 @@ index 5f269275..87044a87 100644 head.position.y = -3; head.material = cubeMaterial1; diff --git a/examples-testing/examples/webgl_materials_cubemap_dynamic.ts b/examples-testing/examples/webgl_materials_cubemap_dynamic.ts -index 301835dd..352e2bb7 100644 +index 301835dda..352e2bb7f 100644 --- a/examples-testing/examples/webgl_materials_cubemap_dynamic.ts +++ b/examples-testing/examples/webgl_materials_cubemap_dynamic.ts @@ -6,12 +6,12 @@ import { HDRLoader } from 'three/addons/loaders/HDRLoader.js'; @@ -8577,7 +8577,7 @@ index 301835dd..352e2bb7 100644 cube.position.x = Math.cos(time) * 30; diff --git a/examples-testing/examples/webgl_materials_cubemap_mipmaps.ts b/examples-testing/examples/webgl_materials_cubemap_mipmaps.ts -index 944f4c18..21010ffa 100644 +index 944f4c18e..21010ffa4 100644 --- a/examples-testing/examples/webgl_materials_cubemap_mipmaps.ts +++ b/examples-testing/examples/webgl_materials_cubemap_mipmaps.ts @@ -2,9 +2,9 @@ import * as THREE from 'three'; @@ -8617,7 +8617,7 @@ index 944f4c18..21010ffa 100644 customizedCubeTexture.colorSpace = THREE.SRGBColorSpace; customizedCubeTexture.minFilter = THREE.LinearMipMapLinearFilter; diff --git a/examples-testing/examples/webgl_materials_cubemap_refraction.ts b/examples-testing/examples/webgl_materials_cubemap_refraction.ts -index 8c025071..a47c4832 100644 +index 8c025071f..a47c4832f 100644 --- a/examples-testing/examples/webgl_materials_cubemap_refraction.ts +++ b/examples-testing/examples/webgl_materials_cubemap_refraction.ts @@ -4,9 +4,9 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -8656,7 +8656,7 @@ index 8c025071..a47c4832 100644 mouseY = (event.clientY - windowHalfY) * 4; } diff --git a/examples-testing/examples/webgl_materials_cubemap_render_to_mipmaps.ts b/examples-testing/examples/webgl_materials_cubemap_render_to_mipmaps.ts -index 599a1369..a23a0582 100644 +index 599a1369b..a23a0582c 100644 --- a/examples-testing/examples/webgl_materials_cubemap_render_to_mipmaps.ts +++ b/examples-testing/examples/webgl_materials_cubemap_render_to_mipmaps.ts @@ -1,8 +1,8 @@ @@ -8706,7 +8706,7 @@ index 599a1369..a23a0582 100644 const material = new THREE.ShaderMaterial({ diff --git a/examples-testing/examples/webgl_materials_displacementmap.ts b/examples-testing/examples/webgl_materials_displacementmap.ts -index fd0be9a5..9b08fe73 100644 +index fd0be9a5e..9b08fe733 100644 --- a/examples-testing/examples/webgl_materials_displacementmap.ts +++ b/examples-testing/examples/webgl_materials_displacementmap.ts @@ -6,8 +6,8 @@ import { GUI } from 'three/addons/libs/lil-gui.module.min.js'; @@ -8742,7 +8742,7 @@ index fd0be9a5..9b08fe73 100644 mesh = new THREE.Mesh(geometry, material); diff --git a/examples-testing/examples/webgl_materials_envmaps.ts b/examples-testing/examples/webgl_materials_envmaps.ts -index 18a5542e..13fe2efc 100644 +index 18a5542ed..13fe2efc9 100644 --- a/examples-testing/examples/webgl_materials_envmaps.ts +++ b/examples-testing/examples/webgl_materials_envmaps.ts @@ -3,9 +3,19 @@ import * as THREE from 'three'; @@ -8769,7 +8769,7 @@ index 18a5542e..13fe2efc 100644 init(); diff --git a/examples-testing/examples/webgl_materials_envmaps_exr.ts b/examples-testing/examples/webgl_materials_envmaps_exr.ts -index c3f3f4f7..4ae4cb95 100644 +index c3f3f4f7d..4ae4cb959 100644 --- a/examples-testing/examples/webgl_materials_envmaps_exr.ts +++ b/examples-testing/examples/webgl_materials_envmaps_exr.ts @@ -14,11 +14,12 @@ const params = { @@ -8802,7 +8802,7 @@ index c3f3f4f7..4ae4cb95 100644 roughness: params.roughness, envMapIntensity: 1.0, diff --git a/examples-testing/examples/webgl_materials_envmaps_fasthdr.ts b/examples-testing/examples/webgl_materials_envmaps_fasthdr.ts -index de8715eb..18b6ed98 100644 +index de8715eb7..18b6ed982 100644 --- a/examples-testing/examples/webgl_materials_envmaps_fasthdr.ts +++ b/examples-testing/examples/webgl_materials_envmaps_fasthdr.ts @@ -13,8 +13,8 @@ const params = { @@ -8826,7 +8826,7 @@ index de8715eb..18b6ed98 100644 texture.mapping = THREE.CubeUVReflectionMapping; scene.environment = texture; diff --git a/examples-testing/examples/webgl_materials_envmaps_groundprojected.ts b/examples-testing/examples/webgl_materials_envmaps_groundprojected.ts -index c1e0ed83..f7acbbb3 100644 +index c1e0ed83b..f7acbbb3a 100644 --- a/examples-testing/examples/webgl_materials_envmaps_groundprojected.ts +++ b/examples-testing/examples/webgl_materials_envmaps_groundprojected.ts @@ -13,7 +13,7 @@ const params = { @@ -8862,7 +8862,7 @@ index c1e0ed83..f7acbbb3 100644 // shadow const mesh = new THREE.Mesh( diff --git a/examples-testing/examples/webgl_materials_envmaps_hdr.ts b/examples-testing/examples/webgl_materials_envmaps_hdr.ts -index 2dc2b808..31851f3d 100644 +index 2dc2b808a..31851f3d4 100644 --- a/examples-testing/examples/webgl_materials_envmaps_hdr.ts +++ b/examples-testing/examples/webgl_materials_envmaps_hdr.ts @@ -7,7 +7,13 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -8913,7 +8913,7 @@ index 2dc2b808..31851f3d 100644 metalness: params.metalness, roughness: params.roughness, diff --git a/examples-testing/examples/webgl_materials_modified.ts b/examples-testing/examples/webgl_materials_modified.ts -index de36aeb7..778aedd5 100644 +index de36aeb7d..778aedd59 100644 --- a/examples-testing/examples/webgl_materials_modified.ts +++ b/examples-testing/examples/webgl_materials_modified.ts @@ -5,7 +5,7 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -8955,7 +8955,7 @@ index de36aeb7..778aedd5 100644 if (shader) { shader.uniforms.time.value = performance.now() / 1000; diff --git a/examples-testing/examples/webgl_materials_normalmap_object_space.ts b/examples-testing/examples/webgl_materials_normalmap_object_space.ts -index 1fc6f806..72108134 100644 +index 1fc6f8066..72108134a 100644 --- a/examples-testing/examples/webgl_materials_normalmap_object_space.ts +++ b/examples-testing/examples/webgl_materials_normalmap_object_space.ts @@ -3,7 +3,7 @@ import * as THREE from 'three'; @@ -8996,7 +8996,7 @@ index 1fc6f806..72108134 100644 child.scale.multiplyScalar(0.5); diff --git a/examples-testing/examples/webgl_materials_physical_clearcoat.ts b/examples-testing/examples/webgl_materials_physical_clearcoat.ts -index 408fd992..dc782ea9 100644 +index 408fd9921..dc782ea9e 100644 --- a/examples-testing/examples/webgl_materials_physical_clearcoat.ts +++ b/examples-testing/examples/webgl_materials_physical_clearcoat.ts @@ -7,12 +7,12 @@ import { HDRCubeTextureLoader } from 'three/addons/loaders/HDRCubeTextureLoader. @@ -9017,7 +9017,7 @@ index 408fd992..dc782ea9 100644 init(); diff --git a/examples-testing/examples/webgl_materials_physical_transmission.ts b/examples-testing/examples/webgl_materials_physical_transmission.ts -index 08ee08ca..3fca6cce 100644 +index 08ee08cac..3fca6ccea 100644 --- a/examples-testing/examples/webgl_materials_physical_transmission.ts +++ b/examples-testing/examples/webgl_materials_physical_transmission.ts @@ -20,7 +20,7 @@ const params = { @@ -9039,7 +9039,7 @@ index 08ee08ca..3fca6cce 100644 context.fillRect(0, 1, 2, 1); diff --git a/examples-testing/examples/webgl_materials_physical_transmission_alpha.ts b/examples-testing/examples/webgl_materials_physical_transmission_alpha.ts -index 6318d784..254e1b23 100644 +index 6318d7844..254e1b230 100644 --- a/examples-testing/examples/webgl_materials_physical_transmission_alpha.ts +++ b/examples-testing/examples/webgl_materials_physical_transmission_alpha.ts @@ -22,9 +22,9 @@ const params = { @@ -9079,7 +9079,7 @@ index 6318d784..254e1b23 100644 scene = new THREE.Scene(); diff --git a/examples-testing/examples/webgl_materials_texture_anisotropy.ts b/examples-testing/examples/webgl_materials_texture_anisotropy.ts -index 1e030d64..65577721 100644 +index 1e030d64d..65577721c 100644 --- a/examples-testing/examples/webgl_materials_texture_anisotropy.ts +++ b/examples-testing/examples/webgl_materials_texture_anisotropy.ts @@ -5,9 +5,9 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -9120,7 +9120,7 @@ index 1e030d64..65577721 100644 mouseY = event.clientY - windowHalfY; } diff --git a/examples-testing/examples/webgl_materials_texture_canvas.ts b/examples-testing/examples/webgl_materials_texture_canvas.ts -index d23c6843..5a190fab 100644 +index d23c68436..5a190fab0 100644 --- a/examples-testing/examples/webgl_materials_texture_canvas.ts +++ b/examples-testing/examples/webgl_materials_texture_canvas.ts @@ -1,6 +1,10 @@ @@ -9165,7 +9165,7 @@ index d23c6843..5a190fab 100644 function onWindowResize() { diff --git a/examples-testing/examples/webgl_materials_texture_filters.ts b/examples-testing/examples/webgl_materials_texture_filters.ts -index 77b25468..b2ccb769 100644 +index 77b254684..b2ccb7690 100644 --- a/examples-testing/examples/webgl_materials_texture_filters.ts +++ b/examples-testing/examples/webgl_materials_texture_filters.ts @@ -3,9 +3,9 @@ import * as THREE from 'three'; @@ -9208,7 +9208,7 @@ index 77b25468..b2ccb769 100644 mouseY = event.clientY - windowHalfY; } diff --git a/examples-testing/examples/webgl_materials_texture_manualmipmap.ts b/examples-testing/examples/webgl_materials_texture_manualmipmap.ts -index 24bd4eb9..2dad75e8 100644 +index 24bd4eb9f..2dad75e8e 100644 --- a/examples-testing/examples/webgl_materials_texture_manualmipmap.ts +++ b/examples-testing/examples/webgl_materials_texture_manualmipmap.ts @@ -3,9 +3,9 @@ import * as THREE from 'three'; @@ -9277,7 +9277,7 @@ index 24bd4eb9..2dad75e8 100644 mouseY = event.clientY - windowHalfY; } diff --git a/examples-testing/examples/webgl_materials_texture_partialupdate.ts b/examples-testing/examples/webgl_materials_texture_partialupdate.ts -index 57fdc1c0..895c3b5a 100644 +index cae161939..0bcdf473d 100644 --- a/examples-testing/examples/webgl_materials_texture_partialupdate.ts +++ b/examples-testing/examples/webgl_materials_texture_partialupdate.ts @@ -1,6 +1,11 @@ @@ -9293,7 +9293,7 @@ index 57fdc1c0..895c3b5a 100644 let last = 0; const position = new THREE.Vector2(); -@@ -80,9 +85,9 @@ function animate() { +@@ -81,9 +86,9 @@ function animate() { renderer.render(scene, camera); } @@ -9306,7 +9306,7 @@ index 57fdc1c0..895c3b5a 100644 // generate a random color and update texture data diff --git a/examples-testing/examples/webgl_materials_texture_rotation.ts b/examples-testing/examples/webgl_materials_texture_rotation.ts -index eedc80c6..e5c7131f 100644 +index eedc80c6f..e5c7131f4 100644 --- a/examples-testing/examples/webgl_materials_texture_rotation.ts +++ b/examples-testing/examples/webgl_materials_texture_rotation.ts @@ -3,7 +3,10 @@ import * as THREE from 'three'; @@ -9331,7 +9331,7 @@ index eedc80c6..e5c7131f 100644 if (texture.matrixAutoUpdate === true) { texture.offset.set(API.offsetX, API.offsetY); diff --git a/examples-testing/examples/webgl_materials_toon.ts b/examples-testing/examples/webgl_materials_toon.ts -index 46c6a7e9..e89fc8cf 100644 +index 46c6a7e93..e89fc8cf3 100644 --- a/examples-testing/examples/webgl_materials_toon.ts +++ b/examples-testing/examples/webgl_materials_toon.ts @@ -4,20 +4,20 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -9370,7 +9370,7 @@ index 46c6a7e9..e89fc8cf 100644 font: font, diff --git a/examples-testing/examples/webgl_materials_video.ts b/examples-testing/examples/webgl_materials_video.ts -index 4f0d26a1..0bf378c5 100644 +index 4f0d26a18..0bf378c5d 100644 --- a/examples-testing/examples/webgl_materials_video.ts +++ b/examples-testing/examples/webgl_materials_video.ts @@ -5,13 +5,16 @@ import { RenderPass } from 'three/addons/postprocessing/RenderPass.js'; @@ -9487,7 +9487,7 @@ index 4f0d26a1..0bf378c5 100644 } diff --git a/examples-testing/examples/webgl_materials_video_webcam.ts b/examples-testing/examples/webgl_materials_video_webcam.ts -index cf6f8d50..00b48c16 100644 +index cf6f8d50c..00b48c163 100644 --- a/examples-testing/examples/webgl_materials_video_webcam.ts +++ b/examples-testing/examples/webgl_materials_video_webcam.ts @@ -2,7 +2,7 @@ import * as THREE from 'three'; @@ -9509,7 +9509,7 @@ index cf6f8d50..00b48c16 100644 const texture = new THREE.VideoTexture(video); texture.colorSpace = THREE.SRGBColorSpace; diff --git a/examples-testing/examples/webgl_materials_wireframe.ts b/examples-testing/examples/webgl_materials_wireframe.ts -index 8adbd71d..6424e8cb 100644 +index 8adbd71d6..6424e8cbd 100644 --- a/examples-testing/examples/webgl_materials_wireframe.ts +++ b/examples-testing/examples/webgl_materials_wireframe.ts @@ -8,7 +8,10 @@ const API = { @@ -9545,7 +9545,7 @@ index 8adbd71d..6424e8cb 100644 const position = geometry.attributes.position; diff --git a/examples-testing/examples/webgl_math_obb.ts b/examples-testing/examples/webgl_math_obb.ts -index 71cb5a91..24b50ba8 100644 +index 71cb5a916..24b50ba81 100644 --- a/examples-testing/examples/webgl_math_obb.ts +++ b/examples-testing/examples/webgl_math_obb.ts @@ -5,9 +5,16 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -9590,7 +9590,7 @@ index 71cb5a91..24b50ba8 100644 } diff --git a/examples-testing/examples/webgl_math_orientation_transform.ts b/examples-testing/examples/webgl_math_orientation_transform.ts -index 1d66997c..a596f014 100644 +index 1d66997c4..a596f014f 100644 --- a/examples-testing/examples/webgl_math_orientation_transform.ts +++ b/examples-testing/examples/webgl_math_orientation_transform.ts @@ -2,7 +2,11 @@ import * as THREE from 'three'; @@ -9607,7 +9607,7 @@ index 1d66997c..a596f014 100644 const spherical = new THREE.Spherical(); const rotationMatrix = new THREE.Matrix4(); diff --git a/examples-testing/examples/webgl_mesh_batch.ts b/examples-testing/examples/webgl_mesh_batch.ts -index e238e50a..618a58c0 100644 +index e238e50a3..618a58c03 100644 --- a/examples-testing/examples/webgl_mesh_batch.ts +++ b/examples-testing/examples/webgl_mesh_batch.ts @@ -4,12 +4,12 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -9718,7 +9718,7 @@ index e238e50a..618a58c0 100644 renderer.render(scene, camera); diff --git a/examples-testing/examples/webgl_mirror.ts b/examples-testing/examples/webgl_mirror.ts -index 4f1f17f7..6c780eab 100644 +index 4f1f17f7d..6c780eabe 100644 --- a/examples-testing/examples/webgl_mirror.ts +++ b/examples-testing/examples/webgl_mirror.ts @@ -5,13 +5,13 @@ import { GUI } from 'three/addons/libs/lil-gui.module.min.js'; @@ -9749,7 +9749,7 @@ index 4f1f17f7..6c780eab 100644 // renderer renderer = new THREE.WebGLRenderer({ antialias: true }); diff --git a/examples-testing/examples/webgl_modifier_edgesplit.ts b/examples-testing/examples/webgl_modifier_edgesplit.ts -index 4725eff6..96620f50 100644 +index 4725eff62..96620f504 100644 --- a/examples-testing/examples/webgl_modifier_edgesplit.ts +++ b/examples-testing/examples/webgl_modifier_edgesplit.ts @@ -7,9 +7,11 @@ import * as BufferGeometryUtils from 'three/addons/utils/BufferGeometryUtils.js' @@ -9777,7 +9777,7 @@ index 4725eff6..96620f50 100644 modifier = new EdgeSplitModifier(); diff --git a/examples-testing/examples/webgl_modifier_simplifier.ts b/examples-testing/examples/webgl_modifier_simplifier.ts -index e6ea453b..f55a6581 100644 +index e6ea453b3..f55a6581b 100644 --- a/examples-testing/examples/webgl_modifier_simplifier.ts +++ b/examples-testing/examples/webgl_modifier_simplifier.ts @@ -4,7 +4,7 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -9799,7 +9799,7 @@ index e6ea453b..f55a6581 100644 simplified.material.flatShading = true; const count = Math.floor(simplified.geometry.attributes.position.count * 0.875); // number of vertices to remove diff --git a/examples-testing/examples/webgl_modifier_tessellation.ts b/examples-testing/examples/webgl_modifier_tessellation.ts -index 4600fc6c..83af66a7 100644 +index 4600fc6cb..83af66a7c 100644 --- a/examples-testing/examples/webgl_modifier_tessellation.ts +++ b/examples-testing/examples/webgl_modifier_tessellation.ts @@ -4,14 +4,14 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -9851,7 +9851,7 @@ index 4600fc6c..83af66a7 100644 controls = new TrackballControls(camera, renderer.domElement); diff --git a/examples-testing/examples/webgl_morphtargets.ts b/examples-testing/examples/webgl_morphtargets.ts -index d8a4bbe8..92ef3836 100644 +index d8a4bbe8d..92ef3836a 100644 --- a/examples-testing/examples/webgl_morphtargets.ts +++ b/examples-testing/examples/webgl_morphtargets.ts @@ -3,12 +3,16 @@ import * as THREE from 'three'; @@ -9896,7 +9896,7 @@ index d8a4bbe8..92ef3836 100644 } diff --git a/examples-testing/examples/webgl_morphtargets_face.ts b/examples-testing/examples/webgl_morphtargets_face.ts -index 7f348c8a..1fa93e3b 100644 +index 7f348c8a4..1fa93e3be 100644 --- a/examples-testing/examples/webgl_morphtargets_face.ts +++ b/examples-testing/examples/webgl_morphtargets_face.ts @@ -12,7 +12,13 @@ import { RoomEnvironment } from 'three/addons/environments/RoomEnvironment.js'; @@ -9932,7 +9932,7 @@ index 7f348c8a..1fa93e3b 100644 } }); diff --git a/examples-testing/examples/webgl_morphtargets_horse.ts b/examples-testing/examples/webgl_morphtargets_horse.ts -index 2c29e9c0..5e285283 100644 +index 2c29e9c0e..5e285283a 100644 --- a/examples-testing/examples/webgl_morphtargets_horse.ts +++ b/examples-testing/examples/webgl_morphtargets_horse.ts @@ -4,9 +4,9 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -9949,7 +9949,7 @@ index 2c29e9c0..5e285283 100644 const radius = 600; let theta = 0; diff --git a/examples-testing/examples/webgl_morphtargets_sphere.ts b/examples-testing/examples/webgl_morphtargets_sphere.ts -index 3e36f002..0c45a0cf 100644 +index 3e36f002c..0c45a0cf9 100644 --- a/examples-testing/examples/webgl_morphtargets_sphere.ts +++ b/examples-testing/examples/webgl_morphtargets_sphere.ts @@ -3,9 +3,9 @@ import * as THREE from 'three'; @@ -9995,7 +9995,7 @@ index 3e36f002..0c45a0cf 100644 } } diff --git a/examples-testing/examples/webgl_multiple_elements.ts b/examples-testing/examples/webgl_multiple_elements.ts -index 64f8a9c5..8dafa688 100644 +index 64f8a9c5f..8dafa6881 100644 --- a/examples-testing/examples/webgl_multiple_elements.ts +++ b/examples-testing/examples/webgl_multiple_elements.ts @@ -2,14 +2,14 @@ import * as THREE from 'three'; @@ -10026,7 +10026,7 @@ index 64f8a9c5..8dafa688 100644 for (let i = 0; i < 40; i++) { const scene = new THREE.Scene(); diff --git a/examples-testing/examples/webgl_multiple_rendertargets.ts b/examples-testing/examples/webgl_multiple_rendertargets.ts -index 86708082..f63b7de6 100644 +index 86708082b..f63b7de60 100644 --- a/examples-testing/examples/webgl_multiple_rendertargets.ts +++ b/examples-testing/examples/webgl_multiple_rendertargets.ts @@ -3,9 +3,9 @@ import * as THREE from 'three'; @@ -10076,7 +10076,7 @@ index 86708082..f63b7de6 100644 }); diff --git a/examples-testing/examples/webgl_multiple_scenes_comparison.ts b/examples-testing/examples/webgl_multiple_scenes_comparison.ts -index 41a5130d..66d539a9 100644 +index 41a5130d4..66d539a9b 100644 --- a/examples-testing/examples/webgl_multiple_scenes_comparison.ts +++ b/examples-testing/examples/webgl_multiple_scenes_comparison.ts @@ -2,15 +2,15 @@ import * as THREE from 'three'; @@ -10124,7 +10124,7 @@ index 41a5130d..66d539a9 100644 slider.style.left = sliderPos - slider.offsetWidth / 2 + 'px'; } diff --git a/examples-testing/examples/webgl_multiple_views.ts b/examples-testing/examples/webgl_multiple_views.ts -index 672846f9..5ba46471 100644 +index 672846f9f..5ba46471a 100644 --- a/examples-testing/examples/webgl_multiple_views.ts +++ b/examples-testing/examples/webgl_multiple_views.ts @@ -2,15 +2,26 @@ import * as THREE from 'three'; @@ -10196,7 +10196,7 @@ index 672846f9..5ba46471 100644 view.updateCamera(camera, scene, mouseX); diff --git a/examples-testing/examples/webgl_multisampled_renderbuffers.ts b/examples-testing/examples/webgl_multisampled_renderbuffers.ts -index df84fb14..fc3da7a8 100644 +index df84fb144..fc3da7a87 100644 --- a/examples-testing/examples/webgl_multisampled_renderbuffers.ts +++ b/examples-testing/examples/webgl_multisampled_renderbuffers.ts @@ -5,9 +5,9 @@ import { RenderPass } from 'three/addons/postprocessing/RenderPass.js'; @@ -10221,7 +10221,7 @@ index df84fb14..fc3da7a8 100644 camera = new THREE.PerspectiveCamera(45, container.offsetWidth / container.offsetHeight, 10, 2000); camera.position.z = 500; diff --git a/examples-testing/examples/webgl_panorama_cube.ts b/examples-testing/examples/webgl_panorama_cube.ts -index efd09cfc..e4832209 100644 +index efd09cfc5..e4832209e 100644 --- a/examples-testing/examples/webgl_panorama_cube.ts +++ b/examples-testing/examples/webgl_panorama_cube.ts @@ -2,14 +2,14 @@ import * as THREE from 'three'; @@ -10264,7 +10264,7 @@ index efd09cfc..e4832209 100644 canvas.width = tileWidth; context.drawImage(image, tileWidth * i, 0, tileWidth, tileWidth, 0, 0, tileWidth, tileWidth); diff --git a/examples-testing/examples/webgl_panorama_equirectangular.ts b/examples-testing/examples/webgl_panorama_equirectangular.ts -index 35949ee6..6d631dee 100644 +index 35949ee6f..6d631dee3 100644 --- a/examples-testing/examples/webgl_panorama_equirectangular.ts +++ b/examples-testing/examples/webgl_panorama_equirectangular.ts @@ -1,6 +1,6 @@ @@ -10320,7 +10320,7 @@ index 35949ee6..6d631dee 100644 camera.fov = THREE.MathUtils.clamp(fov, 10, 75); diff --git a/examples-testing/examples/webgl_performance.ts b/examples-testing/examples/webgl_performance.ts -index 697ea36f..22368981 100644 +index 697ea36fb..223689815 100644 --- a/examples-testing/examples/webgl_performance.ts +++ b/examples-testing/examples/webgl_performance.ts @@ -6,7 +6,7 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -10333,7 +10333,7 @@ index 697ea36f..22368981 100644 init(); diff --git a/examples-testing/examples/webgl_pmrem_cubemap.ts b/examples-testing/examples/webgl_pmrem_cubemap.ts -index fb5bdafc..c432f8d3 100644 +index fb5bdafc1..c432f8d35 100644 --- a/examples-testing/examples/webgl_pmrem_cubemap.ts +++ b/examples-testing/examples/webgl_pmrem_cubemap.ts @@ -4,7 +4,7 @@ import { HDRCubeTextureLoader } from 'three/addons/loaders/HDRCubeTextureLoader. @@ -10346,7 +10346,7 @@ index fb5bdafc..c432f8d3 100644 init(); diff --git a/examples-testing/examples/webgl_pmrem_equirectangular.ts b/examples-testing/examples/webgl_pmrem_equirectangular.ts -index e7b8e76d..409d5e8e 100644 +index e7b8e76df..409d5e8e3 100644 --- a/examples-testing/examples/webgl_pmrem_equirectangular.ts +++ b/examples-testing/examples/webgl_pmrem_equirectangular.ts @@ -4,7 +4,7 @@ import { UltraHDRLoader } from 'three/addons/loaders/UltraHDRLoader.js'; @@ -10359,7 +10359,7 @@ index e7b8e76d..409d5e8e 100644 init(); diff --git a/examples-testing/examples/webgl_pmrem_test.ts b/examples-testing/examples/webgl_pmrem_test.ts -index 3c482338..292f01c3 100644 +index 3c482338f..292f01c3d 100644 --- a/examples-testing/examples/webgl_pmrem_test.ts +++ b/examples-testing/examples/webgl_pmrem_test.ts @@ -5,7 +5,7 @@ import { HDRLoader } from 'three/addons/loaders/HDRLoader.js'; @@ -10384,7 +10384,7 @@ index 3c482338..292f01c3 100644 }); diff --git a/examples-testing/examples/webgl_points_billboards.ts b/examples-testing/examples/webgl_points_billboards.ts -index 24d4de1a..f1a089bf 100644 +index 24d4de1a9..f1a089bf9 100644 --- a/examples-testing/examples/webgl_points_billboards.ts +++ b/examples-testing/examples/webgl_points_billboards.ts @@ -4,7 +4,11 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -10410,7 +10410,7 @@ index 24d4de1a..f1a089bf 100644 mouseX = event.clientX - windowHalfX; diff --git a/examples-testing/examples/webgl_points_sprites.ts b/examples-testing/examples/webgl_points_sprites.ts -index 31b9e2ce..d8f24b29 100644 +index 31b9e2ce1..d8f24b296 100644 --- a/examples-testing/examples/webgl_points_sprites.ts +++ b/examples-testing/examples/webgl_points_sprites.ts @@ -4,14 +4,18 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -10453,7 +10453,7 @@ index 31b9e2ce..d8f24b29 100644 mouseX = event.clientX - windowHalfX; diff --git a/examples-testing/examples/webgl_points_waves.ts b/examples-testing/examples/webgl_points_waves.ts -index 91986e9e..cb8e7687 100644 +index 91986e9e9..cb8e76873 100644 --- a/examples-testing/examples/webgl_points_waves.ts +++ b/examples-testing/examples/webgl_points_waves.ts @@ -6,10 +6,10 @@ const SEPARATION = 100, @@ -10491,7 +10491,7 @@ index 91986e9e..cb8e7687 100644 mouseX = event.clientX - windowHalfX; diff --git a/examples-testing/examples/webgl_portal.ts b/examples-testing/examples/webgl_portal.ts -index 4bc59593..e61736c3 100644 +index 4bc59593f..e61736c30 100644 --- a/examples-testing/examples/webgl_portal.ts +++ b/examples-testing/examples/webgl_portal.ts @@ -3,26 +3,26 @@ import * as THREE from 'three'; @@ -10548,7 +10548,7 @@ index 4bc59593..e61736c3 100644 thisPortalMesh.worldToLocal(reflectedPosition.copy(camera.position)); reflectedPosition.x *= -1.0; diff --git a/examples-testing/examples/webgl_postprocessing.ts b/examples-testing/examples/webgl_postprocessing.ts -index ecc9b28e..2e894236 100644 +index ecc9b28ee..2e8942363 100644 --- a/examples-testing/examples/webgl_postprocessing.ts +++ b/examples-testing/examples/webgl_postprocessing.ts @@ -8,8 +8,8 @@ import { RGBShiftShader } from 'three/addons/shaders/RGBShiftShader.js'; @@ -10563,7 +10563,7 @@ index ecc9b28e..2e894236 100644 init(); diff --git a/examples-testing/examples/webgl_postprocessing_advanced.ts b/examples-testing/examples/webgl_postprocessing_advanced.ts -index 82fc39be..1a14c2b9 100644 +index 82fc39be3..1a14c2b9b 100644 --- a/examples-testing/examples/webgl_postprocessing_advanced.ts +++ b/examples-testing/examples/webgl_postprocessing_advanced.ts @@ -21,11 +21,21 @@ import { GammaCorrectionShader } from 'three/addons/shaders/GammaCorrectionShade @@ -10629,7 +10629,7 @@ index 82fc39be..1a14c2b9 100644 diffuseMap.colorSpace = THREE.SRGBColorSpace; diff --git a/examples-testing/examples/webgl_postprocessing_afterimage.ts b/examples-testing/examples/webgl_postprocessing_afterimage.ts -index 97353dcd..433322a3 100644 +index 97353dcd2..433322a3e 100644 --- a/examples-testing/examples/webgl_postprocessing_afterimage.ts +++ b/examples-testing/examples/webgl_postprocessing_afterimage.ts @@ -7,10 +7,10 @@ import { RenderPass } from 'three/addons/postprocessing/RenderPass.js'; @@ -10647,7 +10647,7 @@ index 97353dcd..433322a3 100644 const params = { enable: true, diff --git a/examples-testing/examples/webgl_postprocessing_backgrounds.ts b/examples-testing/examples/webgl_postprocessing_backgrounds.ts -index 57a6a2db..f6d4c716 100644 +index 57a6a2dbd..f6d4c7167 100644 --- a/examples-testing/examples/webgl_postprocessing_backgrounds.ts +++ b/examples-testing/examples/webgl_postprocessing_backgrounds.ts @@ -11,10 +11,10 @@ import { ClearPass } from 'three/addons/postprocessing/ClearPass.js'; @@ -10684,7 +10684,7 @@ index 57a6a2db..f6d4c716 100644 prefix + 'px' + postfix, prefix + 'nx' + postfix, diff --git a/examples-testing/examples/webgl_postprocessing_fxaa.ts b/examples-testing/examples/webgl_postprocessing_fxaa.ts -index c5e632ad..1774b0c8 100644 +index c5e632ad7..1774b0c84 100644 --- a/examples-testing/examples/webgl_postprocessing_fxaa.ts +++ b/examples-testing/examples/webgl_postprocessing_fxaa.ts @@ -6,14 +6,18 @@ import { OutputPass } from 'three/addons/postprocessing/OutputPass.js'; @@ -10710,7 +10710,7 @@ index c5e632ad..1774b0c8 100644 camera = new THREE.PerspectiveCamera(45, container.offsetWidth / container.offsetHeight, 1, 2000); camera.position.z = 500; diff --git a/examples-testing/examples/webgl_postprocessing_glitch.ts b/examples-testing/examples/webgl_postprocessing_glitch.ts -index 02acda57..5c39961f 100644 +index 02acda572..5c39961fa 100644 --- a/examples-testing/examples/webgl_postprocessing_glitch.ts +++ b/examples-testing/examples/webgl_postprocessing_glitch.ts @@ -5,21 +5,21 @@ import { RenderPass } from 'three/addons/postprocessing/RenderPass.js'; @@ -10751,7 +10751,7 @@ index 02acda57..5c39961f 100644 updateOptions(); diff --git a/examples-testing/examples/webgl_postprocessing_godrays.ts b/examples-testing/examples/webgl_postprocessing_godrays.ts -index b7c2c666..a8d6f639 100644 +index b7c2c6661..a8d6f639f 100644 --- a/examples-testing/examples/webgl_postprocessing_godrays.ts +++ b/examples-testing/examples/webgl_postprocessing_godrays.ts @@ -6,10 +6,10 @@ import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; @@ -10796,7 +10796,7 @@ index b7c2c666..a8d6f639 100644 obj.receiveShadow = true; } diff --git a/examples-testing/examples/webgl_postprocessing_gtao.ts b/examples-testing/examples/webgl_postprocessing_gtao.ts -index a37d3041..9165702d 100644 +index a37d3041b..9165702d8 100644 --- a/examples-testing/examples/webgl_postprocessing_gtao.ts +++ b/examples-testing/examples/webgl_postprocessing_gtao.ts @@ -10,7 +10,14 @@ import { RenderPass } from 'three/addons/postprocessing/RenderPass.js'; @@ -10816,7 +10816,7 @@ index a37d3041..9165702d 100644 init(); diff --git a/examples-testing/examples/webgl_postprocessing_masking.ts b/examples-testing/examples/webgl_postprocessing_masking.ts -index a4d09866..238c37da 100644 +index a4d09866d..238c37da7 100644 --- a/examples-testing/examples/webgl_postprocessing_masking.ts +++ b/examples-testing/examples/webgl_postprocessing_masking.ts @@ -6,8 +6,8 @@ import { ClearPass } from 'three/addons/postprocessing/ClearPass.js'; @@ -10831,7 +10831,7 @@ index a4d09866..238c37da 100644 init(); diff --git a/examples-testing/examples/webgl_postprocessing_outline.ts b/examples-testing/examples/webgl_postprocessing_outline.ts -index 31ef6b9b..4b1fa11a 100644 +index 31ef6b9b2..4b1fa11a3 100644 --- a/examples-testing/examples/webgl_postprocessing_outline.ts +++ b/examples-testing/examples/webgl_postprocessing_outline.ts @@ -12,11 +12,11 @@ import { OutlinePass } from 'three/addons/postprocessing/OutlinePass.js'; @@ -10887,7 +10887,7 @@ index 31ef6b9b..4b1fa11a 100644 selectedObjects.push(object); } diff --git a/examples-testing/examples/webgl_postprocessing_pixel.ts b/examples-testing/examples/webgl_postprocessing_pixel.ts -index 04aec481..3dc6f997 100644 +index 04aec4816..3dc6f997d 100644 --- a/examples-testing/examples/webgl_postprocessing_pixel.ts +++ b/examples-testing/examples/webgl_postprocessing_pixel.ts @@ -6,8 +6,14 @@ import { RenderPixelatedPass } from 'three/addons/postprocessing/RenderPixelated @@ -10978,7 +10978,7 @@ index 04aec481..3dc6f997 100644 const worldScreenWidth = (camera.right - camera.left) / camera.zoom; const worldScreenHeight = (camera.top - camera.bottom) / camera.zoom; diff --git a/examples-testing/examples/webgl_postprocessing_procedural.ts b/examples-testing/examples/webgl_postprocessing_procedural.ts -index 86982427..4533b72b 100644 +index 869824270..4533b72bd 100644 --- a/examples-testing/examples/webgl_postprocessing_procedural.ts +++ b/examples-testing/examples/webgl_postprocessing_procedural.ts @@ -3,16 +3,20 @@ import * as THREE from 'three'; @@ -11030,7 +11030,7 @@ index 86982427..4533b72b 100644 postMaterial = noiseRandom3DMaterial; const postPlane = new THREE.PlaneGeometry(2, 2); diff --git a/examples-testing/examples/webgl_postprocessing_rgb_halftone.ts b/examples-testing/examples/webgl_postprocessing_rgb_halftone.ts -index 5a40f979..c1630944 100644 +index 5a40f9793..c16309448 100644 --- a/examples-testing/examples/webgl_postprocessing_rgb_halftone.ts +++ b/examples-testing/examples/webgl_postprocessing_rgb_halftone.ts @@ -8,11 +8,11 @@ import { EffectComposer } from 'three/addons/postprocessing/EffectComposer.js'; @@ -11048,7 +11048,7 @@ index 5a40f979..c1630944 100644 init(); diff --git a/examples-testing/examples/webgl_postprocessing_sao.ts b/examples-testing/examples/webgl_postprocessing_sao.ts -index 0c6298e6..c7ab9a36 100644 +index 0c6298e6b..c7ab9a36e 100644 --- a/examples-testing/examples/webgl_postprocessing_sao.ts +++ b/examples-testing/examples/webgl_postprocessing_sao.ts @@ -8,10 +8,10 @@ import { RenderPass } from 'three/addons/postprocessing/RenderPass.js'; @@ -11067,7 +11067,7 @@ index 0c6298e6..c7ab9a36 100644 init(); diff --git a/examples-testing/examples/webgl_postprocessing_smaa.ts b/examples-testing/examples/webgl_postprocessing_smaa.ts -index 9e73d38b..e07817b1 100644 +index 9e73d38b0..e07817b17 100644 --- a/examples-testing/examples/webgl_postprocessing_smaa.ts +++ b/examples-testing/examples/webgl_postprocessing_smaa.ts @@ -8,7 +8,12 @@ import { RenderPass } from 'three/addons/postprocessing/RenderPass.js'; @@ -11094,7 +11094,7 @@ index 9e73d38b..e07817b1 100644 renderer = new THREE.WebGLRenderer(); renderer.setPixelRatio(window.devicePixelRatio); diff --git a/examples-testing/examples/webgl_postprocessing_sobel.ts b/examples-testing/examples/webgl_postprocessing_sobel.ts -index 55d88dc0..1512ed8b 100644 +index 55d88dc02..1512ed8bd 100644 --- a/examples-testing/examples/webgl_postprocessing_sobel.ts +++ b/examples-testing/examples/webgl_postprocessing_sobel.ts @@ -11,9 +11,9 @@ import { ShaderPass } from 'three/addons/postprocessing/ShaderPass.js'; @@ -11110,7 +11110,7 @@ index 55d88dc0..1512ed8b 100644 const params = { enable: true, diff --git a/examples-testing/examples/webgl_postprocessing_ssaa.ts b/examples-testing/examples/webgl_postprocessing_ssaa.ts -index 45d8767b..84be0a91 100644 +index 45d8767b1..84be0a91f 100644 --- a/examples-testing/examples/webgl_postprocessing_ssaa.ts +++ b/examples-testing/examples/webgl_postprocessing_ssaa.ts @@ -7,10 +7,10 @@ import { EffectComposer } from 'three/addons/postprocessing/EffectComposer.js'; @@ -11147,7 +11147,7 @@ index 45d8767b..84be0a91 100644 composer.render(); diff --git a/examples-testing/examples/webgl_postprocessing_ssao.ts b/examples-testing/examples/webgl_postprocessing_ssao.ts -index fd3739af..5d2865f0 100644 +index fd3739af3..5d2865f06 100644 --- a/examples-testing/examples/webgl_postprocessing_ssao.ts +++ b/examples-testing/examples/webgl_postprocessing_ssao.ts @@ -8,10 +8,10 @@ import { RenderPass } from 'three/addons/postprocessing/RenderPass.js'; @@ -11166,7 +11166,7 @@ index fd3739af..5d2865f0 100644 init(); diff --git a/examples-testing/examples/webgl_postprocessing_ssr.ts b/examples-testing/examples/webgl_postprocessing_ssr.ts -index 1f5e48d3..bad3a477 100644 +index 1f5e48d3b..bad3a477f 100644 --- a/examples-testing/examples/webgl_postprocessing_ssr.ts +++ b/examples-testing/examples/webgl_postprocessing_ssr.ts @@ -18,17 +18,17 @@ const params = { @@ -11208,7 +11208,7 @@ index 1f5e48d3..bad3a477 100644 geometry = new THREE.BoxGeometry(0.05, 0.05, 0.05); material = new THREE.MeshStandardMaterial({ color: 'green' }); diff --git a/examples-testing/examples/webgl_postprocessing_taa.ts b/examples-testing/examples/webgl_postprocessing_taa.ts -index 11a98674..ddb2bcc6 100644 +index 11a986741..ddb2bcc6c 100644 --- a/examples-testing/examples/webgl_postprocessing_taa.ts +++ b/examples-testing/examples/webgl_postprocessing_taa.ts @@ -8,8 +8,13 @@ import { RenderPass } from 'three/addons/postprocessing/RenderPass.js'; @@ -11237,7 +11237,7 @@ index 11a98674..ddb2bcc6 100644 renderer = new THREE.WebGLRenderer(); renderer.setPixelRatio(window.devicePixelRatio); diff --git a/examples-testing/examples/webgl_postprocessing_transition.ts b/examples-testing/examples/webgl_postprocessing_transition.ts -index 1cf5dd3c..53c3e9b3 100644 +index 1cf5dd3cb..53c3e9b31 100644 --- a/examples-testing/examples/webgl_postprocessing_transition.ts +++ b/examples-testing/examples/webgl_postprocessing_transition.ts @@ -7,10 +7,10 @@ import { EffectComposer } from 'three/addons/postprocessing/EffectComposer.js'; @@ -11359,7 +11359,7 @@ index 1cf5dd3c..53c3e9b3 100644 const dummy = new THREE.Object3D(); diff --git a/examples-testing/examples/webgl_postprocessing_unreal_bloom.ts b/examples-testing/examples/webgl_postprocessing_unreal_bloom.ts -index b5e2ee0f..1de630e0 100644 +index b5e2ee0f9..1de630e05 100644 --- a/examples-testing/examples/webgl_postprocessing_unreal_bloom.ts +++ b/examples-testing/examples/webgl_postprocessing_unreal_bloom.ts @@ -10,8 +10,8 @@ import { RenderPass } from 'three/addons/postprocessing/RenderPass.js'; @@ -11383,7 +11383,7 @@ index b5e2ee0f..1de630e0 100644 timer = new THREE.Timer(); timer.connect(document); diff --git a/examples-testing/examples/webgl_postprocessing_unreal_bloom_selective.ts b/examples-testing/examples/webgl_postprocessing_unreal_bloom_selective.ts -index 288b4477..e56fedad 100644 +index 288b4477d..e56fedad4 100644 --- a/examples-testing/examples/webgl_postprocessing_unreal_bloom_selective.ts +++ b/examples-testing/examples/webgl_postprocessing_unreal_bloom_selective.ts @@ -23,7 +23,7 @@ const params = { @@ -11452,7 +11452,7 @@ index 288b4477..e56fedad 100644 } } diff --git a/examples-testing/examples/webgl_random_uv.ts b/examples-testing/examples/webgl_random_uv.ts -index fea6b347..fef39937 100644 +index fea6b3478..fef399378 100644 --- a/examples-testing/examples/webgl_random_uv.ts +++ b/examples-testing/examples/webgl_random_uv.ts @@ -6,14 +6,24 @@ import { HDRLoader } from 'three/addons/loaders/HDRLoader.js'; @@ -11501,7 +11501,7 @@ index fea6b347..fef39937 100644 materialIn.transparent = true; diff --git a/examples-testing/examples/webgl_raycaster_sprite.ts b/examples-testing/examples/webgl_raycaster_sprite.ts -index f35d5de1..73dd9349 100644 +index f35d5de17..73dd93494 100644 --- a/examples-testing/examples/webgl_raycaster_sprite.ts +++ b/examples-testing/examples/webgl_raycaster_sprite.ts @@ -2,10 +2,10 @@ import * as THREE from 'three'; @@ -11537,7 +11537,7 @@ index f35d5de1..73dd9349 100644 } } diff --git a/examples-testing/examples/webgl_raycaster_texture.ts b/examples-testing/examples/webgl_raycaster_texture.ts -index 72c7054d..0e584dc0 100644 +index 72c7054dc..0e584dc0b 100644 --- a/examples-testing/examples/webgl_raycaster_texture.ts +++ b/examples-testing/examples/webgl_raycaster_texture.ts @@ -8,7 +8,15 @@ const WRAPPING = { @@ -11750,7 +11750,7 @@ index 72c7054d..0e584dc0 100644 circleTexture.needsUpdate = true; } diff --git a/examples-testing/examples/webgl_read_float_buffer.ts b/examples-testing/examples/webgl_read_float_buffer.ts -index 69f84772..e0e975c4 100644 +index 69f847729..e0e975c4f 100644 --- a/examples-testing/examples/webgl_read_float_buffer.ts +++ b/examples-testing/examples/webgl_read_float_buffer.ts @@ -2,9 +2,14 @@ import * as THREE from 'three'; @@ -11824,7 +11824,7 @@ index 69f84772..e0e975c4 100644 mouseY = event.clientY - windowHalfY; } diff --git a/examples-testing/examples/webgl_refraction.ts b/examples-testing/examples/webgl_refraction.ts -index b8ef7143..1c61619e 100644 +index b8ef7143d..1c61619ec 100644 --- a/examples-testing/examples/webgl_refraction.ts +++ b/examples-testing/examples/webgl_refraction.ts @@ -4,14 +4,14 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -11846,7 +11846,7 @@ index b8ef7143..1c61619e 100644 timer = new THREE.Timer(); timer.connect(document); diff --git a/examples-testing/examples/webgl_rtt.ts b/examples-testing/examples/webgl_rtt.ts -index b80e78ed..47e8e8b3 100644 +index b80e78ed3..47e8e8b3b 100644 --- a/examples-testing/examples/webgl_rtt.ts +++ b/examples-testing/examples/webgl_rtt.ts @@ -2,9 +2,16 @@ import * as THREE from 'three'; @@ -11914,7 +11914,7 @@ index b80e78ed..47e8e8b3 100644 mouseY = event.clientY - windowHalfY; } diff --git a/examples-testing/examples/webgl_shader.ts b/examples-testing/examples/webgl_shader.ts -index 47a6c7ec..7ac1257b 100644 +index 47a6c7ece..7ac1257b6 100644 --- a/examples-testing/examples/webgl_shader.ts +++ b/examples-testing/examples/webgl_shader.ts @@ -1,13 +1,13 @@ @@ -11946,7 +11946,7 @@ index 47a6c7ec..7ac1257b 100644 const mesh = new THREE.Mesh(geometry, material); diff --git a/examples-testing/examples/webgl_shader_lava.ts b/examples-testing/examples/webgl_shader_lava.ts -index 0c974f5b..14a618b4 100644 +index 0c974f5b9..14a618b44 100644 --- a/examples-testing/examples/webgl_shader_lava.ts +++ b/examples-testing/examples/webgl_shader_lava.ts @@ -5,14 +5,22 @@ import { RenderPass } from 'three/addons/postprocessing/RenderPass.js'; @@ -11988,7 +11988,7 @@ index 0c974f5b..14a618b4 100644 mesh = new THREE.Mesh(new THREE.TorusGeometry(size, 0.3, 30, 30), material); diff --git a/examples-testing/examples/webgl_shaders_ocean.ts b/examples-testing/examples/webgl_shaders_ocean.ts -index e0e26ed3..6832f4e6 100644 +index e0e26ed33..6832f4e68 100644 --- a/examples-testing/examples/webgl_shaders_ocean.ts +++ b/examples-testing/examples/webgl_shaders_ocean.ts @@ -8,14 +8,14 @@ import { Water } from 'three/addons/objects/Water.js'; @@ -12020,7 +12020,7 @@ index e0e26ed3..6832f4e6 100644 function updateSun() { const phi = THREE.MathUtils.degToRad(90 - parameters.elevation); diff --git a/examples-testing/examples/webgl_shaders_sky.ts b/examples-testing/examples/webgl_shaders_sky.ts -index 01cdddec..0cd9aa7b 100644 +index 01cdddec4..0cd9aa7bb 100644 --- a/examples-testing/examples/webgl_shaders_sky.ts +++ b/examples-testing/examples/webgl_shaders_sky.ts @@ -4,9 +4,9 @@ import { GUI } from 'three/addons/libs/lil-gui.module.min.js'; @@ -12036,7 +12036,7 @@ index 01cdddec..0cd9aa7b 100644 init(); diff --git a/examples-testing/examples/webgl_shadow_contact.ts b/examples-testing/examples/webgl_shadow_contact.ts -index f402fa20..8e71282d 100644 +index f402fa20d..8e71282d7 100644 --- a/examples-testing/examples/webgl_shadow_contact.ts +++ b/examples-testing/examples/webgl_shadow_contact.ts @@ -5,9 +5,9 @@ import { GUI } from 'three/addons/libs/lil-gui.module.min.js'; @@ -12089,7 +12089,7 @@ index f402fa20..8e71282d 100644 // blur horizontally and draw in the renderTargetBlur diff --git a/examples-testing/examples/webgl_shadowmap.ts b/examples-testing/examples/webgl_shadowmap.ts -index 9557bb05..61f97bae 100644 +index 9557bb051..61f97bae9 100644 --- a/examples-testing/examples/webgl_shadowmap.ts +++ b/examples-testing/examples/webgl_shadowmap.ts @@ -15,18 +15,18 @@ const SCREEN_WIDTH = window.innerWidth; @@ -12197,7 +12197,7 @@ index 9557bb05..61f97bae 100644 if (morph.position.x > 2000) { morph.position.x = -1000 - Math.random() * 500; diff --git a/examples-testing/examples/webgl_shadowmap_csm.ts b/examples-testing/examples/webgl_shadowmap_csm.ts -index c8e959a0..6eca1560 100644 +index c8e959a0b..6eca15605 100644 --- a/examples-testing/examples/webgl_shadowmap_csm.ts +++ b/examples-testing/examples/webgl_shadowmap_csm.ts @@ -2,12 +2,32 @@ import * as THREE from 'three'; @@ -12249,7 +12249,7 @@ index c8e959a0..6eca1560 100644 }); }); diff --git a/examples-testing/examples/webgl_shadowmap_pcss.ts b/examples-testing/examples/webgl_shadowmap_pcss.ts -index de542688..6d750ce4 100644 +index de5426883..6d750ce4b 100644 --- a/examples-testing/examples/webgl_shadowmap_pcss.ts +++ b/examples-testing/examples/webgl_shadowmap_pcss.ts @@ -4,10 +4,10 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -12283,7 +12283,7 @@ index de542688..6d750ce4 100644 '\t\t\t\tfloat depth = texture2D( shadowMap, shadowCoord.xy ).r;', ); diff --git a/examples-testing/examples/webgl_shadowmap_performance.ts b/examples-testing/examples/webgl_shadowmap_performance.ts -index de54f335..279e7f9f 100644 +index de54f335f..279e7f9f1 100644 --- a/examples-testing/examples/webgl_shadowmap_performance.ts +++ b/examples-testing/examples/webgl_shadowmap_performance.ts @@ -16,16 +16,17 @@ const FLOOR = -250; @@ -12356,7 +12356,7 @@ index de54f335..279e7f9f 100644 if (morph.position.x > 2000) { morph.position.x = -1000 - Math.random() * 500; diff --git a/examples-testing/examples/webgl_shadowmap_pointlight.ts b/examples-testing/examples/webgl_shadowmap_pointlight.ts -index 4323655d..5db3f4dd 100644 +index 4323655dc..5db3f4dd8 100644 --- a/examples-testing/examples/webgl_shadowmap_pointlight.ts +++ b/examples-testing/examples/webgl_shadowmap_pointlight.ts @@ -4,8 +4,8 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -12401,7 +12401,7 @@ index 4323655d..5db3f4dd 100644 context.fillRect(0, 1, 2, 1); diff --git a/examples-testing/examples/webgl_shadowmap_progressive.ts b/examples-testing/examples/webgl_shadowmap_progressive.ts -index 29298630..9d04c42e 100644 +index 29298630f..9d04c42ee 100644 --- a/examples-testing/examples/webgl_shadowmap_progressive.ts +++ b/examples-testing/examples/webgl_shadowmap_progressive.ts @@ -9,17 +9,17 @@ import { ProgressiveLightMap } from 'three/addons/misc/ProgressiveLightMap.js'; @@ -12461,7 +12461,7 @@ index 29298630..9d04c42e 100644 } else { // Uniform Hemispherical Surface Distribution for Ambient Occlusion diff --git a/examples-testing/examples/webgl_shadowmap_viewer.ts b/examples-testing/examples/webgl_shadowmap_viewer.ts -index 2ed16e99..b66a00d4 100644 +index 2ed16e992..b66a00d4e 100644 --- a/examples-testing/examples/webgl_shadowmap_viewer.ts +++ b/examples-testing/examples/webgl_shadowmap_viewer.ts @@ -5,10 +5,14 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -12493,7 +12493,7 @@ index 2ed16e99..b66a00d4 100644 color: 0xff0000, shininess: 150, diff --git a/examples-testing/examples/webgl_shadowmap_vsm.ts b/examples-testing/examples/webgl_shadowmap_vsm.ts -index d5bf4f7b..6613aea1 100644 +index d5bf4f7bb..6613aea1c 100644 --- a/examples-testing/examples/webgl_shadowmap_vsm.ts +++ b/examples-testing/examples/webgl_shadowmap_vsm.ts @@ -5,9 +5,13 @@ import { GUI } from 'three/addons/libs/lil-gui.module.min.js'; @@ -12532,7 +12532,7 @@ index d5bf4f7b..6613aea1 100644 renderer.render(scene, camera); diff --git a/examples-testing/examples/webgl_shadowmesh.ts b/examples-testing/examples/webgl_shadowmesh.ts -index e4f7ebb8..97eef890 100644 +index e4f7ebb8f..97eef8905 100644 --- a/examples-testing/examples/webgl_shadowmesh.ts +++ b/examples-testing/examples/webgl_shadowmesh.ts @@ -13,18 +13,18 @@ const renderer = new THREE.WebGLRenderer({ stencil: true }); @@ -12610,7 +12610,7 @@ index e4f7ebb8..97eef890 100644 } } diff --git a/examples-testing/examples/webgl_simple_gi.ts b/examples-testing/examples/webgl_simple_gi.ts -index 4ab6dc89..adea084a 100644 +index 4ab6dc895..adea084a0 100644 --- a/examples-testing/examples/webgl_simple_gi.ts +++ b/examples-testing/examples/webgl_simple_gi.ts @@ -3,7 +3,7 @@ import * as THREE from 'three'; @@ -12797,7 +12797,7 @@ index 4ab6dc89..adea084a 100644 init(); diff --git a/examples-testing/examples/webgl_sprites.ts b/examples-testing/examples/webgl_sprites.ts -index 2e418934..3ff04b10 100644 +index 2e4189347..3ff04b108 100644 --- a/examples-testing/examples/webgl_sprites.ts +++ b/examples-testing/examples/webgl_sprites.ts @@ -1,13 +1,17 @@ @@ -12873,7 +12873,7 @@ index 2e418934..3ff04b10 100644 sprite.material.rotation += 0.1 * (i / l); diff --git a/examples-testing/examples/webgl_test_memory.ts b/examples-testing/examples/webgl_test_memory.ts -index f5d0e112..128862a2 100644 +index f5d0e112d..128862a27 100644 --- a/examples-testing/examples/webgl_test_memory.ts +++ b/examples-testing/examples/webgl_test_memory.ts @@ -1,6 +1,6 @@ @@ -12894,7 +12894,7 @@ index f5d0e112..128862a2 100644 'rgb(' + Math.floor(Math.random() * 256) + diff --git a/examples-testing/examples/webgl_test_memory2.ts b/examples-testing/examples/webgl_test_memory2.ts -index 366a2791..74077e99 100644 +index 366a27914..74077e99b 100644 --- a/examples-testing/examples/webgl_test_memory2.ts +++ b/examples-testing/examples/webgl_test_memory2.ts @@ -2,15 +2,15 @@ import * as THREE from 'three'; @@ -12945,7 +12945,7 @@ index 366a2791..74077e99 100644 + console.log('after', renderer.info.programs!.length); } diff --git a/examples-testing/examples/webgl_test_wide_gamut.ts b/examples-testing/examples/webgl_test_wide_gamut.ts -index 5988299e..6da2af6c 100644 +index 5988299e1..6da2af6ca 100644 --- a/examples-testing/examples/webgl_test_wide_gamut.ts +++ b/examples-testing/examples/webgl_test_wide_gamut.ts @@ -9,12 +9,12 @@ import { @@ -13022,7 +13022,7 @@ index 5988299e..6da2af6c 100644 textureL.needsUpdate = true; diff --git a/examples-testing/examples/webgl_texture2darray_compressed.ts b/examples-testing/examples/webgl_texture2darray_compressed.ts -index e074be57..6039c4df 100644 +index e074be576..6039c4df2 100644 --- a/examples-testing/examples/webgl_texture2darray_compressed.ts +++ b/examples-testing/examples/webgl_texture2darray_compressed.ts @@ -3,7 +3,12 @@ import * as THREE from 'three'; @@ -13051,7 +13051,7 @@ index e074be57..6039c4df 100644 }); diff --git a/examples-testing/examples/webgl_texture2darray_layerupdate.ts b/examples-testing/examples/webgl_texture2darray_layerupdate.ts -index 0cc136cb..26237259 100644 +index 0cc136cb7..262372590 100644 --- a/examples-testing/examples/webgl_texture2darray_layerupdate.ts +++ b/examples-testing/examples/webgl_texture2darray_layerupdate.ts @@ -3,7 +3,7 @@ import * as THREE from 'three'; @@ -13112,7 +13112,7 @@ index 0cc136cb..26237259 100644 renderer.render(scene, camera); } diff --git a/examples-testing/examples/webgl_texture3d.ts b/examples-testing/examples/webgl_texture3d.ts -index 977dbadb..fb1460ca 100644 +index 977dbadb7..fb1460cae 100644 --- a/examples-testing/examples/webgl_texture3d.ts +++ b/examples-testing/examples/webgl_texture3d.ts @@ -5,7 +5,15 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -13142,7 +13142,7 @@ index 977dbadb..fb1460ca 100644 material.uniforms['u_renderthreshold'].value = volconfig.isothreshold; // For ISO renderstyle material.uniforms['u_cmdata'].value = cmtextures[volconfig.colormap]; diff --git a/examples-testing/examples/webgl_texture3d_partialupdate.ts b/examples-testing/examples/webgl_texture3d_partialupdate.ts -index 58615db8..1ae4e437 100644 +index 58615db84..1ae4e437f 100644 --- a/examples-testing/examples/webgl_texture3d_partialupdate.ts +++ b/examples-testing/examples/webgl_texture3d_partialupdate.ts @@ -6,14 +6,14 @@ import { GUI } from 'three/addons/libs/lil-gui.module.min.js'; @@ -13195,7 +13195,7 @@ index 58615db8..1ae4e437 100644 renderer.render(scene, camera); } diff --git a/examples-testing/examples/webgl_tonemapping.ts b/examples-testing/examples/webgl_tonemapping.ts -index 2163e1b0..a7cb196e 100644 +index 2163e1b06..a7cb196ef 100644 --- a/examples-testing/examples/webgl_tonemapping.ts +++ b/examples-testing/examples/webgl_tonemapping.ts @@ -1,23 +1,32 @@ @@ -13259,7 +13259,7 @@ index 2163e1b0..a7cb196e 100644 } diff --git a/examples-testing/examples/webgl_tsl_clearcoat.ts b/examples-testing/examples/webgl_tsl_clearcoat.ts -index 6a123032..99fab8d9 100644 +index 6a123032e..99fab8d99 100644 --- a/examples-testing/examples/webgl_tsl_clearcoat.ts +++ b/examples-testing/examples/webgl_tsl_clearcoat.ts @@ -7,10 +7,10 @@ import { HDRCubeTextureLoader } from 'three/addons/loaders/HDRCubeTextureLoader. @@ -13277,7 +13277,7 @@ index 6a123032..99fab8d9 100644 init(); diff --git a/examples-testing/examples/webgl_tsl_instancing.ts b/examples-testing/examples/webgl_tsl_instancing.ts -index c80bebf9..3bdc2e64 100644 +index c80bebf9b..3bdc2e645 100644 --- a/examples-testing/examples/webgl_tsl_instancing.ts +++ b/examples-testing/examples/webgl_tsl_instancing.ts @@ -9,8 +9,12 @@ import * as BufferGeometryUtils from 'three/addons/utils/BufferGeometryUtils.js' @@ -13373,7 +13373,7 @@ index c80bebf9..3bdc2e64 100644 const k = 1024; diff --git a/examples-testing/examples/webgl_tsl_shadowmap.ts b/examples-testing/examples/webgl_tsl_shadowmap.ts -index f006d7c1..29913d9a 100644 +index f006d7c1a..29913d9a4 100644 --- a/examples-testing/examples/webgl_tsl_shadowmap.ts +++ b/examples-testing/examples/webgl_tsl_shadowmap.ts @@ -5,9 +5,9 @@ import { mx_fractal_noise_float, mx_fractal_noise_vec3, positionLocal, positionW @@ -13399,7 +13399,7 @@ index f006d7c1..29913d9a 100644 const delta = timer.getDelta(); diff --git a/examples-testing/examples/webgl_tsl_skinning.ts b/examples-testing/examples/webgl_tsl_skinning.ts -index 6164dbab..27b9b71b 100644 +index 6164dbab6..27b9b71b6 100644 --- a/examples-testing/examples/webgl_tsl_skinning.ts +++ b/examples-testing/examples/webgl_tsl_skinning.ts @@ -4,9 +4,9 @@ import { WebGLRenderer } from 'three'; @@ -13415,7 +13415,7 @@ index 6164dbab..27b9b71b 100644 init(); diff --git a/examples-testing/examples/webgl_ubo.ts b/examples-testing/examples/webgl_ubo.ts -index a34a5b2f..75fc5e0d 100644 +index a34a5b2ff..75fc5e0d8 100644 --- a/examples-testing/examples/webgl_ubo.ts +++ b/examples-testing/examples/webgl_ubo.ts @@ -1,11 +1,11 @@ @@ -13464,7 +13464,7 @@ index a34a5b2f..75fc5e0d 100644 child.rotation.y += delta * 0.3; } diff --git a/examples-testing/examples/webgl_ubo_arrays.ts b/examples-testing/examples/webgl_ubo_arrays.ts -index 1d8f5f76..214deef5 100644 +index 1d8f5f763..214deef55 100644 --- a/examples-testing/examples/webgl_ubo_arrays.ts +++ b/examples-testing/examples/webgl_ubo_arrays.ts @@ -4,11 +4,15 @@ import Stats from 'three/addons/libs/stats.module.js'; @@ -13516,7 +13516,7 @@ index 1d8f5f76..214deef5 100644 // Parameters for circular movement const radius = 5; // Smaller radius for individual circular movements diff --git a/examples-testing/examples/webgl_video_kinect.ts b/examples-testing/examples/webgl_video_kinect.ts -index 8abc9391..dd637649 100644 +index 8abc93917..dd637649d 100644 --- a/examples-testing/examples/webgl_video_kinect.ts +++ b/examples-testing/examples/webgl_video_kinect.ts @@ -2,9 +2,9 @@ import * as THREE from 'three'; @@ -13562,7 +13562,7 @@ index 8abc9391..dd637649 100644 mouse.y = (event.clientY - window.innerHeight / 2) * 8; } diff --git a/examples-testing/examples/webgl_video_panorama_equirectangular.ts b/examples-testing/examples/webgl_video_panorama_equirectangular.ts -index 866eca16..07301138 100644 +index 866eca16a..073011389 100644 --- a/examples-testing/examples/webgl_video_panorama_equirectangular.ts +++ b/examples-testing/examples/webgl_video_panorama_equirectangular.ts @@ -1,6 +1,6 @@ @@ -13610,7 +13610,7 @@ index 866eca16..07301138 100644 lon = (onPointerDownPointerX - event.clientX) * 0.1 + onPointerDownLon; lat = (onPointerDownPointerY - event.clientY) * 0.1 + onPointerDownLat; diff --git a/examples-testing/examples/webgl_volume_cloud.ts b/examples-testing/examples/webgl_volume_cloud.ts -index 9aa07b98..dfe98826 100644 +index 9aa07b98f..dfe98826a 100644 --- a/examples-testing/examples/webgl_volume_cloud.ts +++ b/examples-testing/examples/webgl_volume_cloud.ts @@ -4,8 +4,8 @@ import { ImprovedNoise } from 'three/addons/math/ImprovedNoise.js'; @@ -13647,7 +13647,7 @@ index 9aa07b98..dfe98826 100644 renderer.render(scene, camera); } diff --git a/examples-testing/examples/webgl_volume_instancing.ts b/examples-testing/examples/webgl_volume_instancing.ts -index 7045732d..3a614592 100644 +index 7045732d6..3a6145920 100644 --- a/examples-testing/examples/webgl_volume_instancing.ts +++ b/examples-testing/examples/webgl_volume_instancing.ts @@ -2,7 +2,11 @@ import * as THREE from 'three'; @@ -13686,7 +13686,7 @@ index 7045732d..3a614592 100644 const transform = new THREE.Object3D(); diff --git a/examples-testing/examples/webgl_volume_perlin.ts b/examples-testing/examples/webgl_volume_perlin.ts -index 0f299f66..b02dd139 100644 +index 0f299f66f..b02dd139c 100644 --- a/examples-testing/examples/webgl_volume_perlin.ts +++ b/examples-testing/examples/webgl_volume_perlin.ts @@ -4,8 +4,8 @@ import { ImprovedNoise } from 'three/addons/math/ImprovedNoise.js'; @@ -13710,7 +13710,7 @@ index 0f299f66..b02dd139 100644 renderer.render(scene, camera); } diff --git a/examples-testing/examples/webgl_watch.ts b/examples-testing/examples/webgl_watch.ts -index 8c7b7ecb..83a4fbb6 100644 +index 8c7b7ecb6..83a4fbb6f 100644 --- a/examples-testing/examples/webgl_watch.ts +++ b/examples-testing/examples/webgl_watch.ts @@ -1,5 +1,5 @@ @@ -13816,7 +13816,7 @@ index 8c7b7ecb..83a4fbb6 100644 function upBloom() { diff --git a/examples-testing/examples/webgpu_animation_retargeting.ts b/examples-testing/examples/webgpu_animation_retargeting.ts -index 23ebb2af..8f8292c9 100644 +index 23ebb2af4..8f8292c9f 100644 --- a/examples-testing/examples/webgpu_animation_retargeting.ts +++ b/examples-testing/examples/webgpu_animation_retargeting.ts @@ -21,17 +21,17 @@ import { @@ -13889,7 +13889,7 @@ index 23ebb2af..8f8292c9 100644 const targetSkelHelper = new THREE.SkeletonHelper(targetModel.scene); diff --git a/examples-testing/examples/webgpu_animation_retargeting_readyplayer.ts b/examples-testing/examples/webgpu_animation_retargeting_readyplayer.ts -index de90d890..cd271c05 100644 +index de90d890f..cd271c05d 100644 --- a/examples-testing/examples/webgpu_animation_retargeting_readyplayer.ts +++ b/examples-testing/examples/webgpu_animation_retargeting_readyplayer.ts @@ -2,18 +2,18 @@ import * as THREE from 'three/webgpu'; @@ -13943,7 +13943,7 @@ index de90d890..cd271c05 100644 hip: 'mixamorigHips', diff --git a/examples-testing/examples/webgpu_backdrop.ts b/examples-testing/examples/webgpu_backdrop.ts -index af6dcc39..35eb38d4 100644 +index af6dcc399..35eb38d45 100644 --- a/examples-testing/examples/webgpu_backdrop.ts +++ b/examples-testing/examples/webgpu_backdrop.ts @@ -22,10 +22,10 @@ import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; @@ -13981,7 +13981,7 @@ index af6dcc39..35eb38d4 100644 const id = portals.children.length; const rotation = THREE.MathUtils.degToRad(id * 45); diff --git a/examples-testing/examples/webgpu_backdrop_area.ts b/examples-testing/examples/webgpu_backdrop_area.ts -index 384311dd..8d39e8ac 100644 +index 384311dd4..8d39e8acc 100644 --- a/examples-testing/examples/webgpu_backdrop_area.ts +++ b/examples-testing/examples/webgpu_backdrop_area.ts @@ -20,8 +20,8 @@ import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; @@ -14013,7 +14013,7 @@ index 384311dd..8d39e8ac 100644 }); } diff --git a/examples-testing/examples/webgpu_backdrop_water.ts b/examples-testing/examples/webgpu_backdrop_water.ts -index a8538cf9..53b97519 100644 +index a8538cf94..53b975193 100644 --- a/examples-testing/examples/webgpu_backdrop_water.ts +++ b/examples-testing/examples/webgpu_backdrop_water.ts @@ -24,11 +24,13 @@ import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; @@ -14054,7 +14054,7 @@ index a8538cf9..53b97519 100644 floorPosition = new THREE.Vector3(0, 0.2, 0); diff --git a/examples-testing/examples/webgpu_camera.ts b/examples-testing/examples/webgpu_camera.ts -index bf4724ac..b964cc5f 100644 +index bf4724ac8..b964cc5fd 100644 --- a/examples-testing/examples/webgpu_camera.ts +++ b/examples-testing/examples/webgpu_camera.ts @@ -4,11 +4,11 @@ let SCREEN_WIDTH = window.innerWidth; @@ -14084,7 +14084,7 @@ index bf4724ac..b964cc5f 100644 case 79 /*O*/: activeCamera = cameraOrtho; diff --git a/examples-testing/examples/webgpu_camera_array.ts b/examples-testing/examples/webgpu_camera_array.ts -index a4d82a70..9511c886 100644 +index a4d82a709..9511c886a 100644 --- a/examples-testing/examples/webgpu_camera_array.ts +++ b/examples-testing/examples/webgpu_camera_array.ts @@ -1,7 +1,7 @@ @@ -14107,7 +14107,7 @@ index a4d82a70..9511c886 100644 subcamera.position.x = x / AMOUNT - 0.5; diff --git a/examples-testing/examples/webgpu_camera_logarithmicdepthbuffer.ts b/examples-testing/examples/webgpu_camera_logarithmicdepthbuffer.ts -index a0e748e1..81206987 100644 +index a0e748e1b..812069877 100644 --- a/examples-testing/examples/webgpu_camera_logarithmicdepthbuffer.ts +++ b/examples-testing/examples/webgpu_camera_logarithmicdepthbuffer.ts @@ -2,7 +2,7 @@ import * as THREE from 'three/webgpu'; @@ -14276,7 +14276,7 @@ index a0e748e1..81206987 100644 if (amount === 0) return; const dir = amount / Math.abs(amount); diff --git a/examples-testing/examples/webgpu_caustics.ts b/examples-testing/examples/webgpu_caustics.ts -index 0829fb55..b7692cbb 100644 +index 0829fb558..b7692cbbc 100644 --- a/examples-testing/examples/webgpu_caustics.ts +++ b/examples-testing/examples/webgpu_caustics.ts @@ -20,8 +20,8 @@ import { DRACOLoader } from 'three/addons/loaders/DRACOLoader.js'; @@ -14309,7 +14309,7 @@ index 0829fb55..b7692cbb 100644 gui.addColor(duck.material, 'color').name('material color'); gui.add({ model: 'duck' }, 'model', ['duck', 'glass']).onChange(model => { diff --git a/examples-testing/examples/webgpu_centroid_sampling.ts b/examples-testing/examples/webgpu_centroid_sampling.ts -index ca159d04..24b0ee88 100644 +index ca159d04c..24b0ee885 100644 --- a/examples-testing/examples/webgpu_centroid_sampling.ts +++ b/examples-testing/examples/webgpu_centroid_sampling.ts @@ -2,14 +2,22 @@ import * as THREE from 'three/webgpu'; @@ -14405,7 +14405,7 @@ index ca159d04..24b0ee88 100644 THREE.InterpolationSamplingMode.NORMAL, THREE.InterpolationSamplingMode.CENTROID, diff --git a/examples-testing/examples/webgpu_clearcoat.ts b/examples-testing/examples/webgpu_clearcoat.ts -index 02fbacb9..d3ee1763 100644 +index 02fbacb9d..d3ee1763c 100644 --- a/examples-testing/examples/webgpu_clearcoat.ts +++ b/examples-testing/examples/webgpu_clearcoat.ts @@ -7,10 +7,10 @@ import { HDRCubeTextureLoader } from 'three/addons/loaders/HDRCubeTextureLoader. @@ -14423,7 +14423,7 @@ index 02fbacb9..d3ee1763 100644 init(); diff --git a/examples-testing/examples/webgpu_clipping.ts b/examples-testing/examples/webgpu_clipping.ts -index b7e94da9..b7c85c2e 100644 +index b7e94da98..b7c85c2ee 100644 --- a/examples-testing/examples/webgpu_clipping.ts +++ b/examples-testing/examples/webgpu_clipping.ts @@ -4,7 +4,11 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -14458,7 +14458,7 @@ index b7e94da9..b7c85c2e 100644 object.position.y = 0.8; diff --git a/examples-testing/examples/webgpu_compile_async.ts b/examples-testing/examples/webgpu_compile_async.ts -index fbcf0a7b..b80719c4 100644 +index fbcf0a7b0..b80719c41 100644 --- a/examples-testing/examples/webgpu_compile_async.ts +++ b/examples-testing/examples/webgpu_compile_async.ts @@ -16,9 +16,9 @@ let MESH_COUNT = 256; @@ -14537,7 +14537,7 @@ index fbcf0a7b..b80719c4 100644 const startX = -(GRID_SIZE - 1) / 2; const startY = -(GRID_SIZE - 1) / 2; diff --git a/examples-testing/examples/webgpu_compute_audio.ts b/examples-testing/examples/webgpu_compute_audio.ts -index 229033d7..da8f94d5 100644 +index 229033d79..da8f94d50 100644 --- a/examples-testing/examples/webgpu_compute_audio.ts +++ b/examples-testing/examples/webgpu_compute_audio.ts @@ -3,15 +3,15 @@ import { Fn, uniform, instanceIndex, instancedArray, float, texture, screenUV, c @@ -14591,7 +14591,7 @@ index 229033d7..da8f94d5 100644 gui.add(pitch, 'value', 0.5, 2, 0.01).name('pitch'); gui.add(delayVolume, 'value', 0, 1, 0.01).name('delayVolume'); diff --git a/examples-testing/examples/webgpu_compute_birds.ts b/examples-testing/examples/webgpu_compute_birds.ts -index 665a5452..9931b08b 100644 +index 665a54528..9931b08b2 100644 --- a/examples-testing/examples/webgpu_compute_birds.ts +++ b/examples-testing/examples/webgpu_compute_birds.ts @@ -35,13 +35,24 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -14651,10 +14651,10 @@ index 665a5452..9931b08b 100644 pointer.x = (event.clientX / window.innerWidth) * 2.0 - 1.0; diff --git a/examples-testing/examples/webgpu_compute_cloth.ts b/examples-testing/examples/webgpu_compute_cloth.ts -index f4dd0864..b5950ad0 100644 +index c18af53f2..7d92981fd 100644 --- a/examples-testing/examples/webgpu_compute_cloth.ts +++ b/examples-testing/examples/webgpu_compute_cloth.ts -@@ -24,7 +24,7 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; +@@ -23,7 +23,7 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; import { UltraHDRLoader } from 'three/addons/loaders/UltraHDRLoader.js'; import WebGPU from 'three/addons/capabilities/WebGPU.js'; @@ -14663,7 +14663,7 @@ index f4dd0864..b5950ad0 100644 const clothWidth = 1; const clothHeight = 1; -@@ -32,18 +32,41 @@ const clothNumSegmentsX = 30; +@@ -31,18 +31,41 @@ const clothNumSegmentsX = 30; const clothNumSegmentsY = 30; const sphereRadius = 0.15; @@ -14715,7 +14715,7 @@ index f4dd0864..b5950ad0 100644 const timer = new THREE.Timer(); timer.connect(document); -@@ -99,7 +122,7 @@ async function init() { +@@ -98,7 +121,7 @@ async function init() { setupCloth(); @@ -14724,7 +14724,7 @@ index f4dd0864..b5950ad0 100644 gui.add(stiffnessUniform, 'value', 0.1, 0.5, 0.01).name('stiffness'); gui.add(params, 'wireframe'); gui.add(params, 'sphere'); -@@ -124,7 +147,7 @@ async function init() { +@@ -123,7 +146,7 @@ async function init() { function setupVerletGeometry() { // this function sets up the geometry of the verlet system, a grid of vertices connected by springs @@ -14733,7 +14733,7 @@ index f4dd0864..b5950ad0 100644 const id = verletVertices.length; const vertex = { id, -@@ -136,7 +159,7 @@ function setupVerletGeometry() { +@@ -135,7 +158,7 @@ function setupVerletGeometry() { return vertex; }; @@ -14742,7 +14742,7 @@ index f4dd0864..b5950ad0 100644 const id = verletSprings.length; const spring = { id, -@@ -350,7 +373,7 @@ function setupWireframe() { +@@ -337,7 +360,7 @@ function setupWireframe() { const springWireframeMaterial = new THREE.LineBasicNodeMaterial(); springWireframeMaterial.positionNode = Fn(() => { const vertexIds = springVertexIdBuffer.element(instanceIndex); @@ -14751,7 +14751,7 @@ index f4dd0864..b5950ad0 100644 return vertexPositionBuffer.element(vertexId); })(); -@@ -383,7 +406,7 @@ function setupClothMesh() { +@@ -370,7 +393,7 @@ function setupClothMesh() { const verletVertexIdArray = new Uint32Array(vertexCount * 4); const indices = []; @@ -14760,7 +14760,7 @@ index f4dd0864..b5950ad0 100644 return y * clothNumSegmentsX + x; }; -@@ -420,7 +443,7 @@ function setupClothMesh() { +@@ -407,7 +430,7 @@ function setupClothMesh() { clothMaterial.positionNode = Fn(({ material }) => { // gather the position of the 4 verlet vertices and calculate the center position and normal from that @@ -14769,7 +14769,7 @@ index f4dd0864..b5950ad0 100644 const v0 = vertexPositionBuffer.element(vertexIds.x).toVar(); const v1 = vertexPositionBuffer.element(vertexIds.y).toVar(); const v2 = vertexPositionBuffer.element(vertexIds.z).toVar(); -@@ -437,7 +460,7 @@ function setupClothMesh() { +@@ -424,7 +447,7 @@ function setupClothMesh() { const normal = cross(tangent, bitangent); // send the normalView from the vertex shader to the fragment shader @@ -14779,7 +14779,7 @@ index f4dd0864..b5950ad0 100644 return v0.add(v1).add(v2).add(v3).mul(0.25); })(); diff --git a/examples-testing/examples/webgpu_compute_geometry.ts b/examples-testing/examples/webgpu_compute_geometry.ts -index 9299e215..509cf684 100644 +index 9299e215b..509cf6845 100644 --- a/examples-testing/examples/webgpu_compute_geometry.ts +++ b/examples-testing/examples/webgpu_compute_geometry.ts @@ -18,8 +18,8 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -14839,7 +14839,7 @@ index 9299e215..509cf684 100644 } else { pointerPosition.value.w = 0; // disable diff --git a/examples-testing/examples/webgpu_compute_particles.ts b/examples-testing/examples/webgpu_compute_particles.ts -index 71fbd662..c2fc51fe 100644 +index 71fbd6622..c2fc51fe1 100644 --- a/examples-testing/examples/webgpu_compute_particles.ts +++ b/examples-testing/examples/webgpu_compute_particles.ts @@ -14,11 +14,11 @@ const size = uniform(0.12); @@ -14877,7 +14877,7 @@ index 71fbd662..c2fc51fe 100644 gui.add(gravity, 'value', -0.0098, 0, 0.0001).name('gravity'); gui.add(bounce, 'value', 0.1, 1, 0.01).name('bounce'); diff --git a/examples-testing/examples/webgpu_compute_particles_rain.ts b/examples-testing/examples/webgpu_compute_particles_rain.ts -index eaa4e957..43cca9dd 100644 +index eaa4e957e..43cca9ddd 100644 --- a/examples-testing/examples/webgpu_compute_particles_rain.ts +++ b/examples-testing/examples/webgpu_compute_particles_rain.ts @@ -25,14 +25,17 @@ import * as BufferGeometryUtils from 'three/addons/utils/BufferGeometryUtils.js' @@ -14925,7 +14925,7 @@ index eaa4e957..43cca9dd 100644 // use lerp to smooth the movement collisionBoxPosUI = new THREE.Vector3().copy(collisionBox.position); diff --git a/examples-testing/examples/webgpu_compute_particles_snow.ts b/examples-testing/examples/webgpu_compute_particles_snow.ts -index e00fe068..476468a0 100644 +index e00fe068f..476468a0a 100644 --- a/examples-testing/examples/webgpu_compute_particles_snow.ts +++ b/examples-testing/examples/webgpu_compute_particles_snow.ts @@ -26,12 +26,14 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -14976,7 +14976,7 @@ index e00fe068..476468a0 100644 totalPass = totalPass.mul(vignette); totalPass = totalPass.add(teapotTreePass.mul(10).add(teapotTreePassBlurred).toInspector('Teapot Blur')); diff --git a/examples-testing/examples/webgpu_compute_points.ts b/examples-testing/examples/webgpu_compute_points.ts -index eab1d9f6..65a487a7 100644 +index eab1d9f61..65a487a75 100644 --- a/examples-testing/examples/webgpu_compute_points.ts +++ b/examples-testing/examples/webgpu_compute_points.ts @@ -4,8 +4,8 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -15009,7 +15009,7 @@ index eab1d9f6..65a487a7 100644 const y = event.clientY; diff --git a/examples-testing/examples/webgpu_compute_sort_bitonic.ts b/examples-testing/examples/webgpu_compute_sort_bitonic.ts -index 9a37a9ec..2726efaa 100644 +index 9a37a9ece..2726efaa7 100644 --- a/examples-testing/examples/webgpu_compute_sort_bitonic.ts +++ b/examples-testing/examples/webgpu_compute_sort_bitonic.ts @@ -18,8 +18,8 @@ const StepType = { @@ -15116,7 +15116,7 @@ index 9a37a9ec..2726efaa 100644 If(currentElementsStorage.element(idxAfter).lessThan(currentElementsStorage.element(idxBefore)), () => { // Apply the swapped values to temporary storage. diff --git a/examples-testing/examples/webgpu_compute_texture.ts b/examples-testing/examples/webgpu_compute_texture.ts -index 43d162ab..259faad4 100644 +index 43d162ab5..259faad4c 100644 --- a/examples-testing/examples/webgpu_compute_texture.ts +++ b/examples-testing/examples/webgpu_compute_texture.ts @@ -3,7 +3,7 @@ import { texture, textureStore, Fn, instanceIndex, float, uvec2, vec4 } from 'th @@ -15138,7 +15138,7 @@ index 43d162ab..259faad4 100644 const posY = instanceIndex.div(width); const indexUV = uvec2(posX, posY); diff --git a/examples-testing/examples/webgpu_compute_texture_3d.ts b/examples-testing/examples/webgpu_compute_texture_3d.ts -index ccdfba0b..4e0661c5 100644 +index ccdfba0be..4e0661c5d 100644 --- a/examples-testing/examples/webgpu_compute_texture_3d.ts +++ b/examples-testing/examples/webgpu_compute_texture_3d.ts @@ -23,9 +23,9 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -15203,7 +15203,7 @@ index ccdfba0b..4e0661c5 100644 gui.add(opacity, 'value', 0, 1, 0.01).name('opacity'); gui.add(range, 'value', 0, 1, 0.01).name('range'); diff --git a/examples-testing/examples/webgpu_compute_texture_pingpong.ts b/examples-testing/examples/webgpu_compute_texture_pingpong.ts -index 5c411fa6..9bc80d89 100644 +index 5c411fa69..9bc80d895 100644 --- a/examples-testing/examples/webgpu_compute_texture_pingpong.ts +++ b/examples-testing/examples/webgpu_compute_texture_pingpong.ts @@ -16,10 +16,10 @@ import { @@ -15249,7 +15249,7 @@ index 5c411fa6..9bc80d89 100644 const posY = instanceIndex.div(width); const indexUV = ivec2(int(posX), int(posY)); diff --git a/examples-testing/examples/webgpu_cubemap_adjustments.ts b/examples-testing/examples/webgpu_cubemap_adjustments.ts -index 2e886d82..1161f02f 100644 +index 2e886d824..1161f02f6 100644 --- a/examples-testing/examples/webgpu_cubemap_adjustments.ts +++ b/examples-testing/examples/webgpu_cubemap_adjustments.ts @@ -20,7 +20,7 @@ import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; @@ -15280,7 +15280,7 @@ index 2e886d82..1161f02f 100644 gui.add({ blurBackground: blurNode.value }, 'blurBackground', 0, 1, 0.01).onChange(value => { blurNode.value = value; diff --git a/examples-testing/examples/webgpu_cubemap_dynamic.ts b/examples-testing/examples/webgpu_cubemap_dynamic.ts -index 244b8593..e66a01f9 100644 +index 244b85935..e66a01f9b 100644 --- a/examples-testing/examples/webgpu_cubemap_dynamic.ts +++ b/examples-testing/examples/webgpu_cubemap_dynamic.ts @@ -4,12 +4,12 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -15319,7 +15319,7 @@ index 244b8593..e66a01f9 100644 cube.position.x = Math.cos(time) * 30; diff --git a/examples-testing/examples/webgpu_cubemap_mix.ts b/examples-testing/examples/webgpu_cubemap_mix.ts -index 6fbdb55a..fd5ec570 100644 +index 6fbdb55ae..fd5ec5705 100644 --- a/examples-testing/examples/webgpu_cubemap_mix.ts +++ b/examples-testing/examples/webgpu_cubemap_mix.ts @@ -8,7 +8,7 @@ import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; @@ -15332,7 +15332,7 @@ index 6fbdb55a..fd5ec570 100644 init(); diff --git a/examples-testing/examples/webgpu_custom_fog.ts b/examples-testing/examples/webgpu_custom_fog.ts -index bcfcb0fd..be07fc03 100644 +index bcfcb0fd3..be07fc038 100644 --- a/examples-testing/examples/webgpu_custom_fog.ts +++ b/examples-testing/examples/webgpu_custom_fog.ts @@ -4,8 +4,8 @@ import { color, fog, float, positionWorld, triNoise3D, positionView, normalWorld @@ -15347,7 +15347,7 @@ index bcfcb0fd..be07fc03 100644 init(); diff --git a/examples-testing/examples/webgpu_custom_fog_background.ts b/examples-testing/examples/webgpu_custom_fog_background.ts -index a9b61934..e482a1e2 100644 +index a9b619345..e482a1e2e 100644 --- a/examples-testing/examples/webgpu_custom_fog_background.ts +++ b/examples-testing/examples/webgpu_custom_fog_background.ts @@ -6,8 +6,8 @@ import { UltraHDRLoader } from 'three/addons/loaders/UltraHDRLoader.js'; @@ -15362,7 +15362,7 @@ index a9b61934..e482a1e2 100644 init(); diff --git a/examples-testing/examples/webgpu_custom_fog_scattering.ts b/examples-testing/examples/webgpu_custom_fog_scattering.ts -index 7f14133f..7be64774 100644 +index 7f14133fd..7be64774d 100644 --- a/examples-testing/examples/webgpu_custom_fog_scattering.ts +++ b/examples-testing/examples/webgpu_custom_fog_scattering.ts @@ -5,7 +5,11 @@ import { gaussianBlur } from 'three/addons/tsl/display/GaussianBlurNode.js'; @@ -15394,7 +15394,7 @@ index 7f14133f..7be64774 100644 gui.add(scattering, 'value', 0, 5).name('scattering factor'); gui.add(params, 'scatteringEnabled') diff --git a/examples-testing/examples/webgpu_display_stereo.ts b/examples-testing/examples/webgpu_display_stereo.ts -index 7f1ade72..c948dd93 100644 +index 7f1ade726..c948dd939 100644 --- a/examples-testing/examples/webgpu_display_stereo.ts +++ b/examples-testing/examples/webgpu_display_stereo.ts @@ -1,22 +1,36 @@ @@ -15479,7 +15479,7 @@ index 7f1ade72..c948dd93 100644 position.y = matrix.elements[13]; position.z = matrix.elements[14]; diff --git a/examples-testing/examples/webgpu_equirectangular.ts b/examples-testing/examples/webgpu_equirectangular.ts -index 9e159e46..128e18b7 100644 +index 9e159e465..128e18b7b 100644 --- a/examples-testing/examples/webgpu_equirectangular.ts +++ b/examples-testing/examples/webgpu_equirectangular.ts @@ -4,8 +4,8 @@ import { texture, equirectUV } from 'three/tsl'; @@ -15503,7 +15503,7 @@ index 9e159e46..128e18b7 100644 gui.add(scene, 'backgroundIntensity', 0, 1).name('background intensity'); diff --git a/examples-testing/examples/webgpu_fog_height.ts b/examples-testing/examples/webgpu_fog_height.ts -index 65bda9cd..5d3957e5 100644 +index 65bda9cd8..5d3957e54 100644 --- a/examples-testing/examples/webgpu_fog_height.ts +++ b/examples-testing/examples/webgpu_fog_height.ts @@ -4,8 +4,8 @@ import { exponentialHeightFogFactor, uniform, fog, color } from 'three/tsl'; @@ -15527,7 +15527,7 @@ index 65bda9cd..5d3957e5 100644 gui.add(density, 'value', 0.001, 0.1).step(0.0001).name('Density'); gui.add(height, 'value', -5, 5).name('Height'); diff --git a/examples-testing/examples/webgpu_hdr.ts b/examples-testing/examples/webgpu_hdr.ts -index b96ba5f4..676326fe 100644 +index b96ba5f42..676326fed 100644 --- a/examples-testing/examples/webgpu_hdr.ts +++ b/examples-testing/examples/webgpu_hdr.ts @@ -17,7 +17,7 @@ const hdrMediaQuery = window.matchMedia('(dynamic-range: high)'); @@ -15558,7 +15558,7 @@ index b96ba5f4..676326fe 100644 const colorFolder = gui.addFolder('HDR'); colorFolder.add(params.intensity, 'value', 0, 10, 0.1).name('Intensity'); diff --git a/examples-testing/examples/webgpu_instance_mesh.ts b/examples-testing/examples/webgpu_instance_mesh.ts -index 0abd2f26..30705fb0 100644 +index 0abd2f26c..30705fb0c 100644 --- a/examples-testing/examples/webgpu_instance_mesh.ts +++ b/examples-testing/examples/webgpu_instance_mesh.ts @@ -3,9 +3,9 @@ import { mix, range, normalWorld, oscSine, time } from 'three/tsl'; @@ -15583,7 +15583,7 @@ index 0abd2f26..30705fb0 100644 }); diff --git a/examples-testing/examples/webgpu_instance_path.ts b/examples-testing/examples/webgpu_instance_path.ts -index a5bce322..8b2fa4ad 100644 +index a5bce3225..8b2fa4ad7 100644 --- a/examples-testing/examples/webgpu_instance_path.ts +++ b/examples-testing/examples/webgpu_instance_path.ts @@ -19,7 +19,7 @@ import { @@ -15631,7 +15631,7 @@ index a5bce322..8b2fa4ad 100644 const localTime = instanceTime.add(time); const modTime = mod(time.mul(0.4), 1); diff --git a/examples-testing/examples/webgpu_instance_points.ts b/examples-testing/examples/webgpu_instance_points.ts -index 40912937..d2ce322f 100644 +index 409129373..d2ce322f4 100644 --- a/examples-testing/examples/webgpu_instance_points.ts +++ b/examples-testing/examples/webgpu_instance_points.ts @@ -19,16 +19,25 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -15689,7 +15689,7 @@ index 40912937..d2ce322f 100644 gui.add(material, 'alphaToCoverage'); diff --git a/examples-testing/examples/webgpu_instancing_morph.ts b/examples-testing/examples/webgpu_instancing_morph.ts -index f8f5c5fe..4da82327 100644 +index f8f5c5fe5..4da82327d 100644 --- a/examples-testing/examples/webgpu_instancing_morph.ts +++ b/examples-testing/examples/webgpu_instancing_morph.ts @@ -3,7 +3,12 @@ import * as THREE from 'three/webgpu'; @@ -15725,7 +15725,7 @@ index f8f5c5fe..4da82327 100644 renderer.render(scene, camera); diff --git a/examples-testing/examples/webgpu_layers.ts b/examples-testing/examples/webgpu_layers.ts -index c1db7d60..319d54e8 100644 +index c1db7d60c..319d54e83 100644 --- a/examples-testing/examples/webgpu_layers.ts +++ b/examples-testing/examples/webgpu_layers.ts @@ -4,7 +4,7 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -15772,7 +15772,7 @@ index c1db7d60..319d54e8 100644 const rotatedPosition = rotate(positionLocal, instanceRotation.mul(modTime.mul(20))); diff --git a/examples-testing/examples/webgpu_lensflares.ts b/examples-testing/examples/webgpu_lensflares.ts -index ab4e4967..d5662716 100644 +index ab4e49677..d5662716d 100644 --- a/examples-testing/examples/webgpu_lensflares.ts +++ b/examples-testing/examples/webgpu_lensflares.ts @@ -4,10 +4,10 @@ import { FlyControls } from 'three/addons/controls/FlyControls.js'; @@ -15799,7 +15799,7 @@ index ab4e4967..d5662716 100644 light.color.setHSL(h, s, l); light.position.set(x, y, z); diff --git a/examples-testing/examples/webgpu_lightprobe.ts b/examples-testing/examples/webgpu_lightprobe.ts -index 3e90b6f6..34208354 100644 +index 3e90b6f66..342083547 100644 --- a/examples-testing/examples/webgpu_lightprobe.ts +++ b/examples-testing/examples/webgpu_lightprobe.ts @@ -1,6 +1,7 @@ @@ -15849,7 +15849,7 @@ index 3e90b6f6..34208354 100644 gui.add(API, 'lightProbeIntensity', 0, 1, 0.02) .name('light probe') diff --git a/examples-testing/examples/webgpu_lightprobe_cubecamera.ts b/examples-testing/examples/webgpu_lightprobe_cubecamera.ts -index 60fe6ccc..c29cde36 100644 +index 60fe6ccc9..c29cde36b 100644 --- a/examples-testing/examples/webgpu_lightprobe_cubecamera.ts +++ b/examples-testing/examples/webgpu_lightprobe_cubecamera.ts @@ -6,9 +6,9 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -15874,7 +15874,7 @@ index 60fe6ccc..c29cde36 100644 prefix + 'px' + postfix, prefix + 'nx' + postfix, diff --git a/examples-testing/examples/webgpu_lights_dynamic.ts b/examples-testing/examples/webgpu_lights_dynamic.ts -index b08c5902..123a9c1a 100644 +index b08c5902f..123a9c1a9 100644 --- a/examples-testing/examples/webgpu_lights_dynamic.ts +++ b/examples-testing/examples/webgpu_lights_dynamic.ts @@ -5,10 +5,15 @@ import { DynamicLighting } from 'three/addons/lighting/DynamicLighting.js'; @@ -15941,7 +15941,7 @@ index b08c5902..123a9c1a 100644 light.dispose(); } diff --git a/examples-testing/examples/webgpu_lights_ies_spotlight.ts b/examples-testing/examples/webgpu_lights_ies_spotlight.ts -index edfc51ef..d3f6e377 100644 +index edfc51efa..d3f6e3779 100644 --- a/examples-testing/examples/webgpu_lights_ies_spotlight.ts +++ b/examples-testing/examples/webgpu_lights_ies_spotlight.ts @@ -1,13 +1,13 @@ @@ -15989,7 +15989,7 @@ index edfc51ef..d3f6e377 100644 for (let i = 0; i < lights.length; i++) { diff --git a/examples-testing/examples/webgpu_lights_phong.ts b/examples-testing/examples/webgpu_lights_phong.ts -index c2cdf439..64116a21 100644 +index c2cdf4393..64116a21b 100644 --- a/examples-testing/examples/webgpu_lights_phong.ts +++ b/examples-testing/examples/webgpu_lights_phong.ts @@ -6,7 +6,14 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -16018,7 +16018,7 @@ index c2cdf439..64116a21 100644 material.colorNode = color(hexColor); material.lights = false; diff --git a/examples-testing/examples/webgpu_lights_physical.ts b/examples-testing/examples/webgpu_lights_physical.ts -index 43d7ce72..616ed8e6 100644 +index 43d7ce723..616ed8e6b 100644 --- a/examples-testing/examples/webgpu_lights_physical.ts +++ b/examples-testing/examples/webgpu_lights_physical.ts @@ -4,8 +4,13 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -16078,7 +16078,7 @@ index 43d7ce72..616ed8e6 100644 gui.add(params, 'shadows'); } diff --git a/examples-testing/examples/webgpu_lights_pointlights.ts b/examples-testing/examples/webgpu_lights_pointlights.ts -index e00d75b2..c0d16ef1 100644 +index e00d75b21..c0d16ef13 100644 --- a/examples-testing/examples/webgpu_lights_pointlights.ts +++ b/examples-testing/examples/webgpu_lights_pointlights.ts @@ -16,9 +16,13 @@ import { @@ -16130,7 +16130,7 @@ index e00d75b2..c0d16ef1 100644 const v0 = new THREE.Vector3(); diff --git a/examples-testing/examples/webgpu_lights_rectarealight.ts b/examples-testing/examples/webgpu_lights_rectarealight.ts -index 75e2cc44..66cbd8c5 100644 +index 75e2cc442..66cbd8c58 100644 --- a/examples-testing/examples/webgpu_lights_rectarealight.ts +++ b/examples-testing/examples/webgpu_lights_rectarealight.ts @@ -8,9 +8,9 @@ import { RectAreaLightTexturesLib } from 'three/addons/lights/RectAreaLightTextu @@ -16147,7 +16147,7 @@ index 75e2cc44..66cbd8c5 100644 init(); diff --git a/examples-testing/examples/webgpu_lights_selective.ts b/examples-testing/examples/webgpu_lights_selective.ts -index d0004834..54f94948 100644 +index d00048347..54f94948b 100644 --- a/examples-testing/examples/webgpu_lights_selective.ts +++ b/examples-testing/examples/webgpu_lights_selective.ts @@ -6,7 +6,14 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -16185,7 +16185,7 @@ index d0004834..54f94948 100644 gui.add(centerObject.material, 'roughness', 0, 1, 0.01); gui.add(centerObject.material, 'metalness', 0, 1, 0.01); diff --git a/examples-testing/examples/webgpu_lights_spotlight.ts b/examples-testing/examples/webgpu_lights_spotlight.ts -index 85e32080..4b07c276 100644 +index 85e320800..4b07c276f 100644 --- a/examples-testing/examples/webgpu_lights_spotlight.ts +++ b/examples-testing/examples/webgpu_lights_spotlight.ts @@ -5,9 +5,9 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -16239,7 +16239,7 @@ index 85e32080..4b07c276 100644 renderer.render(scene, camera); } diff --git a/examples-testing/examples/webgpu_lights_tiled.ts b/examples-testing/examples/webgpu_lights_tiled.ts -index e575ee34..d9cc9fb5 100644 +index e575ee344..d9cc9fb54 100644 --- a/examples-testing/examples/webgpu_lights_tiled.ts +++ b/examples-testing/examples/webgpu_lights_tiled.ts @@ -3,6 +3,7 @@ import { texture, uv, pass, normalMap, uniform } from 'three/tsl'; @@ -16301,7 +16301,7 @@ index e575ee34..d9cc9fb5 100644 renderPipeline.outputNode = compose.add(debugBlockIndexes.mul(tileInfluence)); diff --git a/examples-testing/examples/webgpu_lines_fat.ts b/examples-testing/examples/webgpu_lines_fat.ts -index 96417888..2ec8e8b1 100644 +index 96417888c..2ec8e8b1f 100644 --- a/examples-testing/examples/webgpu_lines_fat.ts +++ b/examples-testing/examples/webgpu_lines_fat.ts @@ -9,15 +9,23 @@ import { Line2 } from 'three/addons/lines/webgpu/Line2.js'; @@ -16336,7 +16336,7 @@ index 96417888..2ec8e8b1 100644 init(); diff --git a/examples-testing/examples/webgpu_lines_fat_raycasting.ts b/examples-testing/examples/webgpu_lines_fat_raycasting.ts -index 4280b580..2b1b6daa 100644 +index 4280b580c..2b1b6daaa 100644 --- a/examples-testing/examples/webgpu_lines_fat_raycasting.ts +++ b/examples-testing/examples/webgpu_lines_fat_raycasting.ts @@ -1,6 +1,7 @@ @@ -16445,7 +16445,7 @@ index 4280b580..2b1b6daa 100644 gui.add(params, 'translation', 0, 10).onChange(function (val) { diff --git a/examples-testing/examples/webgpu_lines_fat_wireframe.ts b/examples-testing/examples/webgpu_lines_fat_wireframe.ts -index 9ab5c44c..dee04a5a 100644 +index 9ab5c44c0..dee04a5ae 100644 --- a/examples-testing/examples/webgpu_lines_fat_wireframe.ts +++ b/examples-testing/examples/webgpu_lines_fat_wireframe.ts @@ -2,19 +2,26 @@ import * as THREE from 'three/webgpu'; @@ -16500,7 +16500,7 @@ index 9ab5c44c..dee04a5a 100644 const param = { 'line type': 0, diff --git a/examples-testing/examples/webgpu_loader_gltf.ts b/examples-testing/examples/webgpu_loader_gltf.ts -index 6380bd90..355b0534 100644 +index 6380bd903..355b05345 100644 --- a/examples-testing/examples/webgpu_loader_gltf.ts +++ b/examples-testing/examples/webgpu_loader_gltf.ts @@ -7,8 +7,16 @@ import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; @@ -16588,7 +16588,7 @@ index 6380bd90..355b0534 100644 box.setFromObject(selection); diff --git a/examples-testing/examples/webgpu_loader_gltf_anisotropy.ts b/examples-testing/examples/webgpu_loader_gltf_anisotropy.ts -index a3aa95e1..144199f2 100644 +index a3aa95e15..144199f29 100644 --- a/examples-testing/examples/webgpu_loader_gltf_anisotropy.ts +++ b/examples-testing/examples/webgpu_loader_gltf_anisotropy.ts @@ -4,7 +4,7 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -16601,7 +16601,7 @@ index a3aa95e1..144199f2 100644 init(); diff --git a/examples-testing/examples/webgpu_loader_gltf_compressed.ts b/examples-testing/examples/webgpu_loader_gltf_compressed.ts -index 31d5d0d1..8a2e68da 100644 +index 31d5d0d1a..8a2e68da5 100644 --- a/examples-testing/examples/webgpu_loader_gltf_compressed.ts +++ b/examples-testing/examples/webgpu_loader_gltf_compressed.ts @@ -6,7 +6,7 @@ import { MeshoptDecoder } from 'three/addons/libs/meshopt_decoder.module.js'; @@ -16614,7 +16614,7 @@ index 31d5d0d1..8a2e68da 100644 init(); diff --git a/examples-testing/examples/webgpu_loader_gltf_dispersion.ts b/examples-testing/examples/webgpu_loader_gltf_dispersion.ts -index a2e815dd..25b08c75 100644 +index a2e815ddb..25b08c750 100644 --- a/examples-testing/examples/webgpu_loader_gltf_dispersion.ts +++ b/examples-testing/examples/webgpu_loader_gltf_dispersion.ts @@ -4,7 +4,7 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -16627,7 +16627,7 @@ index a2e815dd..25b08c75 100644 init(); diff --git a/examples-testing/examples/webgpu_loader_gltf_iridescence.ts b/examples-testing/examples/webgpu_loader_gltf_iridescence.ts -index 8007d5e6..dc83ae61 100644 +index 8007d5e65..dc83ae61c 100644 --- a/examples-testing/examples/webgpu_loader_gltf_iridescence.ts +++ b/examples-testing/examples/webgpu_loader_gltf_iridescence.ts @@ -4,7 +4,7 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -16640,7 +16640,7 @@ index 8007d5e6..dc83ae61 100644 init().catch(function (err) { console.error(err); diff --git a/examples-testing/examples/webgpu_loader_gltf_sheen.ts b/examples-testing/examples/webgpu_loader_gltf_sheen.ts -index 442edc7f..46d19c02 100644 +index 442edc7fb..46d19c02b 100644 --- a/examples-testing/examples/webgpu_loader_gltf_sheen.ts +++ b/examples-testing/examples/webgpu_loader_gltf_sheen.ts @@ -6,7 +6,7 @@ import { UltraHDRLoader } from 'three/addons/loaders/UltraHDRLoader.js'; @@ -16668,7 +16668,7 @@ index 442edc7f..46d19c02 100644 gui.add(object.material, 'sheen', 0, 1); }); diff --git a/examples-testing/examples/webgpu_loader_gltf_transmission.ts b/examples-testing/examples/webgpu_loader_gltf_transmission.ts -index 45b86e77..2f70dde2 100644 +index 45b86e772..2f70dde29 100644 --- a/examples-testing/examples/webgpu_loader_gltf_transmission.ts +++ b/examples-testing/examples/webgpu_loader_gltf_transmission.ts @@ -6,7 +6,12 @@ import { UltraHDRLoader } from 'three/addons/loaders/UltraHDRLoader.js'; @@ -16686,7 +16686,7 @@ index 45b86e77..2f70dde2 100644 init(); diff --git a/examples-testing/examples/webgpu_loader_materialx.ts b/examples-testing/examples/webgpu_loader_materialx.ts -index bb84eb69..55416bc9 100644 +index bb84eb693..55416bc98 100644 --- a/examples-testing/examples/webgpu_loader_materialx.ts +++ b/examples-testing/examples/webgpu_loader_materialx.ts @@ -61,9 +61,9 @@ const localSamples = [ @@ -16797,7 +16797,7 @@ index bb84eb69..55416bc9 100644 } }); diff --git a/examples-testing/examples/webgpu_loader_texture_ktx2.ts b/examples-testing/examples/webgpu_loader_texture_ktx2.ts -index 1daf0f03..ee2cb370 100644 +index 1daf0f032..ee2cb370b 100644 --- a/examples-testing/examples/webgpu_loader_texture_ktx2.ts +++ b/examples-testing/examples/webgpu_loader_texture_ktx2.ts @@ -1,12 +1,18 @@ @@ -16851,7 +16851,7 @@ index 1daf0f03..ee2cb370 100644 for (let i = 0; i < uv.count; i++) { diff --git a/examples-testing/examples/webgpu_materials_alphahash.ts b/examples-testing/examples/webgpu_materials_alphahash.ts -index 047bbe58..5a01713a 100644 +index 047bbe582..5a01713a4 100644 --- a/examples-testing/examples/webgpu_materials_alphahash.ts +++ b/examples-testing/examples/webgpu_materials_alphahash.ts @@ -7,7 +7,13 @@ import { RoomEnvironment } from 'three/addons/environments/RoomEnvironment.js'; @@ -16879,7 +16879,7 @@ index 047bbe58..5a01713a 100644 gui.add(params, 'alpha', 0, 1).onChange(onMaterialUpdate); gui.add(params, 'alphaHash').onChange(onMaterialUpdate); diff --git a/examples-testing/examples/webgpu_materials_arrays.ts b/examples-testing/examples/webgpu_materials_arrays.ts -index e6d15853..154e3803 100644 +index e6d15853e..154e3803c 100644 --- a/examples-testing/examples/webgpu_materials_arrays.ts +++ b/examples-testing/examples/webgpu_materials_arrays.ts @@ -4,9 +4,9 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -16905,7 +16905,7 @@ index e6d15853..154e3803 100644 gui.add(api, 'webgpu').onChange(() => { init(!api.webgpu); diff --git a/examples-testing/examples/webgpu_materials_basic.ts b/examples-testing/examples/webgpu_materials_basic.ts -index 6aca76c9..fe08f13b 100644 +index 6aca76c97..fe08f13b4 100644 --- a/examples-testing/examples/webgpu_materials_basic.ts +++ b/examples-testing/examples/webgpu_materials_basic.ts @@ -2,9 +2,9 @@ import * as THREE from 'three/webgpu'; @@ -16954,7 +16954,7 @@ index 6aca76c9..fe08f13b 100644 mouseY = (event.clientY - windowHalfY) / 100; } diff --git a/examples-testing/examples/webgpu_materials_cubemap_mipmaps.ts b/examples-testing/examples/webgpu_materials_cubemap_mipmaps.ts -index 6c66f9d3..ccc9cd5e 100644 +index 6c66f9d35..ccc9cd5ec 100644 --- a/examples-testing/examples/webgpu_materials_cubemap_mipmaps.ts +++ b/examples-testing/examples/webgpu_materials_cubemap_mipmaps.ts @@ -2,9 +2,9 @@ import * as THREE from 'three/webgpu'; @@ -17005,7 +17005,7 @@ index 6c66f9d3..ccc9cd5e 100644 customizedCubeTexture.colorSpace = THREE.SRGBColorSpace; customizedCubeTexture.minFilter = THREE.LinearMipMapLinearFilter; diff --git a/examples-testing/examples/webgpu_materials_displacementmap.ts b/examples-testing/examples/webgpu_materials_displacementmap.ts -index 17a01f32..1ecf1a86 100644 +index 17a01f324..1ecf1a86f 100644 --- a/examples-testing/examples/webgpu_materials_displacementmap.ts +++ b/examples-testing/examples/webgpu_materials_displacementmap.ts @@ -5,7 +5,7 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -17048,7 +17048,7 @@ index 17a01f32..1ecf1a86 100644 mesh = new THREE.Mesh(geometry, material); diff --git a/examples-testing/examples/webgpu_materials_envmaps.ts b/examples-testing/examples/webgpu_materials_envmaps.ts -index 6862caee..97cae265 100644 +index 6862caeed..97cae265b 100644 --- a/examples-testing/examples/webgpu_materials_envmaps.ts +++ b/examples-testing/examples/webgpu_materials_envmaps.ts @@ -4,9 +4,18 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -17083,7 +17083,7 @@ index 6862caee..97cae265 100644 if (value === 'Cube') { scene.background = textureCube; diff --git a/examples-testing/examples/webgpu_materials_envmaps_bpcem.ts b/examples-testing/examples/webgpu_materials_envmaps_bpcem.ts -index adc28c98..8a0c918d 100644 +index adc28c989..8a0c918d7 100644 --- a/examples-testing/examples/webgpu_materials_envmaps_bpcem.ts +++ b/examples-testing/examples/webgpu_materials_envmaps_bpcem.ts @@ -16,11 +16,11 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -17111,7 +17111,7 @@ index adc28c98..8a0c918d 100644 'box projected': true, }; diff --git a/examples-testing/examples/webgpu_materials_lightmap.ts b/examples-testing/examples/webgpu_materials_lightmap.ts -index 081de95a..78b575f1 100644 +index 081de95ac..78b575f13 100644 --- a/examples-testing/examples/webgpu_materials_lightmap.ts +++ b/examples-testing/examples/webgpu_materials_lightmap.ts @@ -5,8 +5,8 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -17141,7 +17141,7 @@ index 081de95a..78b575f1 100644 } }); diff --git a/examples-testing/examples/webgpu_materials_matcap.ts b/examples-testing/examples/webgpu_materials_matcap.ts -index 0a841ae2..847b3df3 100644 +index 0a841ae27..847b3df3e 100644 --- a/examples-testing/examples/webgpu_materials_matcap.ts +++ b/examples-testing/examples/webgpu_materials_matcap.ts @@ -6,7 +6,10 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -17241,7 +17241,7 @@ index 0a841ae2..847b3df3 100644 }); } diff --git a/examples-testing/examples/webgpu_materials_sss.ts b/examples-testing/examples/webgpu_materials_sss.ts -index c76df99d..b94767b7 100644 +index c76df99dc..b94767b77 100644 --- a/examples-testing/examples/webgpu_materials_sss.ts +++ b/examples-testing/examples/webgpu_materials_sss.ts @@ -6,9 +6,9 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -17337,7 +17337,7 @@ index c76df99d..b94767b7 100644 } diff --git a/examples-testing/examples/webgpu_materials_texture_manualmipmap.ts b/examples-testing/examples/webgpu_materials_texture_manualmipmap.ts -index 09037272..2456b295 100644 +index 090372729..2456b2959 100644 --- a/examples-testing/examples/webgpu_materials_texture_manualmipmap.ts +++ b/examples-testing/examples/webgpu_materials_texture_manualmipmap.ts @@ -3,9 +3,9 @@ import * as THREE from 'three/webgpu'; @@ -17383,7 +17383,7 @@ index 09037272..2456b295 100644 mouseY = event.clientY - windowHalfY; } diff --git a/examples-testing/examples/webgpu_materials_toon.ts b/examples-testing/examples/webgpu_materials_toon.ts -index 78cb62ed..210b1d6e 100644 +index 78cb62ed6..210b1d6e9 100644 --- a/examples-testing/examples/webgpu_materials_toon.ts +++ b/examples-testing/examples/webgpu_materials_toon.ts @@ -6,18 +6,22 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -17423,7 +17423,7 @@ index 78cb62ed..210b1d6e 100644 font: font, diff --git a/examples-testing/examples/webgpu_materials_transmission.ts b/examples-testing/examples/webgpu_materials_transmission.ts -index 310d979d..eeb24a3e 100644 +index 310d979d5..eeb24a3eb 100644 --- a/examples-testing/examples/webgpu_materials_transmission.ts +++ b/examples-testing/examples/webgpu_materials_transmission.ts @@ -20,7 +20,7 @@ const params = { @@ -17454,7 +17454,7 @@ index 310d979d..eeb24a3e 100644 context.fillRect(0, 1, 2, 1); diff --git a/examples-testing/examples/webgpu_materials_video.ts b/examples-testing/examples/webgpu_materials_video.ts -index bc837653..3148b5e1 100644 +index bc837653f..3148b5e16 100644 --- a/examples-testing/examples/webgpu_materials_video.ts +++ b/examples-testing/examples/webgpu_materials_video.ts @@ -1,10 +1,13 @@ @@ -17567,7 +17567,7 @@ index bc837653..3148b5e1 100644 } diff --git a/examples-testing/examples/webgpu_materialx_noise.ts b/examples-testing/examples/webgpu_materialx_noise.ts -index 229c26a8..46060513 100644 +index 229c26a8e..460605135 100644 --- a/examples-testing/examples/webgpu_materialx_noise.ts +++ b/examples-testing/examples/webgpu_materialx_noise.ts @@ -13,12 +13,12 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -17588,7 +17588,7 @@ index 229c26a8..46060513 100644 init(); diff --git a/examples-testing/examples/webgpu_mesh_batch.ts b/examples-testing/examples/webgpu_mesh_batch.ts -index c20dc4b5..3c821864 100644 +index c20dc4b57..3c8218646 100644 --- a/examples-testing/examples/webgpu_mesh_batch.ts +++ b/examples-testing/examples/webgpu_mesh_batch.ts @@ -1,17 +1,18 @@ @@ -17684,7 +17684,7 @@ index c20dc4b5..3c821864 100644 list[i].z *= factor; } diff --git a/examples-testing/examples/webgpu_mirror.ts b/examples-testing/examples/webgpu_mirror.ts -index 56b22619..d0a270bf 100644 +index 56b226193..d0a270bfb 100644 --- a/examples-testing/examples/webgpu_mirror.ts +++ b/examples-testing/examples/webgpu_mirror.ts @@ -5,11 +5,11 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -17714,7 +17714,7 @@ index 56b22619..d0a270bf 100644 const groundNode = texture(decalDiffuse).a.mix(color(0xffffff), groundReflector); const verticalNode = color(0x0000ff).mul(0.1).add(verticalReflector); diff --git a/examples-testing/examples/webgpu_modifier_curve.ts b/examples-testing/examples/webgpu_modifier_curve.ts -index c465ddc5..9fa79745 100644 +index c465ddc57..9fa79745b 100644 --- a/examples-testing/examples/webgpu_modifier_curve.ts +++ b/examples-testing/examples/webgpu_modifier_curve.ts @@ -7,16 +7,16 @@ import { TextGeometry } from 'three/addons/geometries/TextGeometry.js'; @@ -17752,7 +17752,7 @@ index c465ddc5..9fa79745 100644 mouse.x = (event.clientX / window.innerWidth) * 2 - 1; mouse.y = -(event.clientY / window.innerHeight) * 2 + 1; diff --git a/examples-testing/examples/webgpu_morphtargets.ts b/examples-testing/examples/webgpu_morphtargets.ts -index cde3ae83..c6e68d05 100644 +index cde3ae83b..c6e68d052 100644 --- a/examples-testing/examples/webgpu_morphtargets.ts +++ b/examples-testing/examples/webgpu_morphtargets.ts @@ -4,12 +4,16 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -17801,7 +17801,7 @@ index cde3ae83..c6e68d05 100644 } diff --git a/examples-testing/examples/webgpu_morphtargets_face.ts b/examples-testing/examples/webgpu_morphtargets_face.ts -index 91120dfb..53282897 100644 +index 91120dfb5..53282897e 100644 --- a/examples-testing/examples/webgpu_morphtargets_face.ts +++ b/examples-testing/examples/webgpu_morphtargets_face.ts @@ -12,7 +12,7 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -17831,7 +17831,7 @@ index 91120dfb..53282897 100644 } }); diff --git a/examples-testing/examples/webgpu_mrt.ts b/examples-testing/examples/webgpu_mrt.ts -index 2b41adc9..78ef5384 100644 +index 2b41adc9c..78ef5384d 100644 --- a/examples-testing/examples/webgpu_mrt.ts +++ b/examples-testing/examples/webgpu_mrt.ts @@ -20,8 +20,8 @@ import { UltraHDRLoader } from 'three/addons/loaders/UltraHDRLoader.js'; @@ -17846,7 +17846,7 @@ index 2b41adc9..78ef5384 100644 init(); diff --git a/examples-testing/examples/webgpu_mrt_mask.ts b/examples-testing/examples/webgpu_mrt_mask.ts -index 2bb80b84..a7f4b833 100644 +index 2bb80b84e..a7f4b8335 100644 --- a/examples-testing/examples/webgpu_mrt_mask.ts +++ b/examples-testing/examples/webgpu_mrt_mask.ts @@ -6,11 +6,11 @@ import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; @@ -17886,7 +17886,7 @@ index 2bb80b84..a7f4b833 100644 const id = spheres.children.length; const rotation = THREE.MathUtils.degToRad(id * 90); diff --git a/examples-testing/examples/webgpu_multiple_canvas.ts b/examples-testing/examples/webgpu_multiple_canvas.ts -index db55fe16..caeb5d84 100644 +index db55fe165..caeb5d841 100644 --- a/examples-testing/examples/webgpu_multiple_canvas.ts +++ b/examples-testing/examples/webgpu_multiple_canvas.ts @@ -1,4 +1,4 @@ @@ -17917,7 +17917,7 @@ index db55fe16..caeb5d84 100644 for (let i = 0; i < 40; i++) { const scene = new THREE.Scene(); diff --git a/examples-testing/examples/webgpu_multiple_elements.ts b/examples-testing/examples/webgpu_multiple_elements.ts -index 65bd3e75..3d3f2fd9 100644 +index 65bd3e75d..3d3f2fd92 100644 --- a/examples-testing/examples/webgpu_multiple_elements.ts +++ b/examples-testing/examples/webgpu_multiple_elements.ts @@ -1,16 +1,16 @@ @@ -17951,7 +17951,7 @@ index 65bd3e75..3d3f2fd9 100644 for (let i = 0; i < 40; i++) { const scene = new THREE.Scene(); diff --git a/examples-testing/examples/webgpu_multiple_rendertargets.ts b/examples-testing/examples/webgpu_multiple_rendertargets.ts -index 2085d3c6..f4bc1ae6 100644 +index 2085d3c63..f4bc1ae6e 100644 --- a/examples-testing/examples/webgpu_multiple_rendertargets.ts +++ b/examples-testing/examples/webgpu_multiple_rendertargets.ts @@ -3,8 +3,8 @@ import { mix, vec2, step, texture, uv, screenUV, normalWorld, output, mrt } from @@ -17975,7 +17975,7 @@ index 2085d3c6..f4bc1ae6 100644 // render scene into target diff --git a/examples-testing/examples/webgpu_multiple_rendertargets_readback.ts b/examples-testing/examples/webgpu_multiple_rendertargets_readback.ts -index 2232ab18..cbc9492b 100644 +index 2232ab182..cbc9492b1 100644 --- a/examples-testing/examples/webgpu_multiple_rendertargets_readback.ts +++ b/examples-testing/examples/webgpu_multiple_rendertargets_readback.ts @@ -5,8 +5,15 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -18044,7 +18044,7 @@ index 2232ab18..cbc9492b 100644 pixelBufferTexture.image.data = pixelBuffer; pixelBufferTexture.needsUpdate = true; diff --git a/examples-testing/examples/webgpu_multisampled_renderbuffers.ts b/examples-testing/examples/webgpu_multisampled_renderbuffers.ts -index 05098c8d..9164cb14 100644 +index 05098c8d4..9164cb14b 100644 --- a/examples-testing/examples/webgpu_multisampled_renderbuffers.ts +++ b/examples-testing/examples/webgpu_multisampled_renderbuffers.ts @@ -3,12 +3,12 @@ import { texture } from 'three/tsl'; @@ -18091,7 +18091,7 @@ index 05098c8d..9164cb14 100644 mouse.y = e.offsetY / window.innerHeight; } diff --git a/examples-testing/examples/webgpu_occlusion.ts b/examples-testing/examples/webgpu_occlusion.ts -index 376dc987..d6dd4f61 100644 +index 376dc987d..d6dd4f613 100644 --- a/examples-testing/examples/webgpu_occlusion.ts +++ b/examples-testing/examples/webgpu_occlusion.ts @@ -3,10 +3,16 @@ import { uniform } from 'three/tsl'; @@ -18126,7 +18126,7 @@ index 376dc987..d6dd4f61 100644 this.uniformNode.value.copy(isOccluded ? this.occludedColor : this.normalColor); } diff --git a/examples-testing/examples/webgpu_ocean.ts b/examples-testing/examples/webgpu_ocean.ts -index a7939461..fe749d04 100644 +index a7939461e..fe749d04c 100644 --- a/examples-testing/examples/webgpu_ocean.ts +++ b/examples-testing/examples/webgpu_ocean.ts @@ -1,6 +1,6 @@ @@ -18178,7 +18178,7 @@ index a7939461..fe749d04 100644 const folderSky = gui.addFolder('Sky'); folderSky.add(parameters, 'elevation', 0, 90, 0.1).onChange(updateSun); diff --git a/examples-testing/examples/webgpu_parallax_uv.ts b/examples-testing/examples/webgpu_parallax_uv.ts -index b6282d89..43fa2744 100644 +index b6282d89f..43fa27447 100644 --- a/examples-testing/examples/webgpu_parallax_uv.ts +++ b/examples-testing/examples/webgpu_parallax_uv.ts @@ -6,9 +6,9 @@ import { HDRLoader } from 'three/addons/loaders/HDRLoader.js'; @@ -18203,7 +18203,7 @@ index b6282d89..43fa2744 100644 gui.add(parallaxScale, 'value', 0.2, 0.5).name('Parallax Scale'); gui.add(scaleUV, 'value', 1, 5).name('UV Scale'); diff --git a/examples-testing/examples/webgpu_particles.ts b/examples-testing/examples/webgpu_particles.ts -index 9e81f076..da9ee875 100644 +index 9e81f0761..da9ee8757 100644 --- a/examples-testing/examples/webgpu_particles.ts +++ b/examples-testing/examples/webgpu_particles.ts @@ -7,8 +7,8 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -18236,7 +18236,7 @@ index 9e81f076..da9ee875 100644 gui.add(speed, 'value', 0, 1, 0.01).name('speed'); } diff --git a/examples-testing/examples/webgpu_performance.ts b/examples-testing/examples/webgpu_performance.ts -index fb4ed155..8f0c113a 100644 +index fb4ed1556..8f0c113a5 100644 --- a/examples-testing/examples/webgpu_performance.ts +++ b/examples-testing/examples/webgpu_performance.ts @@ -8,17 +8,17 @@ import { DRACOLoader } from 'three/addons/loaders/DRACOLoader.js'; @@ -18272,7 +18272,7 @@ index fb4ed155..8f0c113a 100644 setStatic(model, options.static); }); diff --git a/examples-testing/examples/webgpu_performance_renderbundle.ts b/examples-testing/examples/webgpu_performance_renderbundle.ts -index 3b20847b..bda53998 100644 +index 3b20847b8..bda539989 100644 --- a/examples-testing/examples/webgpu_performance_renderbundle.ts +++ b/examples-testing/examples/webgpu_performance_renderbundle.ts @@ -1,13 +1,14 @@ @@ -18354,7 +18354,7 @@ index 3b20847b..bda53998 100644 function reload() { diff --git a/examples-testing/examples/webgpu_pmrem_cubemap.ts b/examples-testing/examples/webgpu_pmrem_cubemap.ts -index bd751ba3..9f58dc8b 100644 +index bd751ba33..9f58dc8b0 100644 --- a/examples-testing/examples/webgpu_pmrem_cubemap.ts +++ b/examples-testing/examples/webgpu_pmrem_cubemap.ts @@ -5,7 +5,7 @@ import { HDRCubeTextureLoader } from 'three/addons/loaders/HDRCubeTextureLoader. @@ -18367,7 +18367,7 @@ index bd751ba3..9f58dc8b 100644 init(); diff --git a/examples-testing/examples/webgpu_pmrem_equirectangular.ts b/examples-testing/examples/webgpu_pmrem_equirectangular.ts -index 76f8326d..cc85ba86 100644 +index 76f8326d3..cc85ba863 100644 --- a/examples-testing/examples/webgpu_pmrem_equirectangular.ts +++ b/examples-testing/examples/webgpu_pmrem_equirectangular.ts @@ -5,7 +5,7 @@ import { UltraHDRLoader } from 'three/addons/loaders/UltraHDRLoader.js'; @@ -18380,7 +18380,7 @@ index 76f8326d..cc85ba86 100644 init(); diff --git a/examples-testing/examples/webgpu_pmrem_scene.ts b/examples-testing/examples/webgpu_pmrem_scene.ts -index deab005f..36ca1c7d 100644 +index deab005fc..36ca1c7d1 100644 --- a/examples-testing/examples/webgpu_pmrem_scene.ts +++ b/examples-testing/examples/webgpu_pmrem_scene.ts @@ -5,7 +5,7 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -18402,7 +18402,7 @@ index deab005f..36ca1c7d 100644 .name('roughness') .onChange(() => render()); diff --git a/examples-testing/examples/webgpu_pmrem_test.ts b/examples-testing/examples/webgpu_pmrem_test.ts -index 3e1ea3ef..e0e11ef8 100644 +index 3e1ea3ef9..e0e11ef81 100644 --- a/examples-testing/examples/webgpu_pmrem_test.ts +++ b/examples-testing/examples/webgpu_pmrem_test.ts @@ -1,11 +1,11 @@ @@ -18441,7 +18441,7 @@ index 3e1ea3ef..e0e11ef8 100644 }); }); diff --git a/examples-testing/examples/webgpu_portal.ts b/examples-testing/examples/webgpu_portal.ts -index df2e400f..a9b88127 100644 +index df2e400f3..a9b881274 100644 --- a/examples-testing/examples/webgpu_portal.ts +++ b/examples-testing/examples/webgpu_portal.ts @@ -17,10 +17,10 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -18490,7 +18490,7 @@ index df2e400f..a9b88127 100644 applyFX(0); diff --git a/examples-testing/examples/webgpu_postprocessing.ts b/examples-testing/examples/webgpu_postprocessing.ts -index d554a883..1b45472b 100644 +index d554a8835..1b45472b6 100644 --- a/examples-testing/examples/webgpu_postprocessing.ts +++ b/examples-testing/examples/webgpu_postprocessing.ts @@ -4,8 +4,8 @@ import { dotScreen } from 'three/addons/tsl/display/DotScreenNode.js'; @@ -18505,7 +18505,7 @@ index d554a883..1b45472b 100644 init(); diff --git a/examples-testing/examples/webgpu_postprocessing_3dlut.ts b/examples-testing/examples/webgpu_postprocessing_3dlut.ts -index 867cc62f..cd14289f 100644 +index 867cc62f7..cd14289f0 100644 --- a/examples-testing/examples/webgpu_postprocessing_3dlut.ts +++ b/examples-testing/examples/webgpu_postprocessing_3dlut.ts @@ -18,21 +18,31 @@ import { @@ -18631,7 +18631,7 @@ index 867cc62f..cd14289f 100644 lutPass.size.value = lut.texture3D.image.width; } diff --git a/examples-testing/examples/webgpu_postprocessing_afterimage.ts b/examples-testing/examples/webgpu_postprocessing_afterimage.ts -index 2df8212f..8d35cb73 100644 +index 2df8212f5..8d35cb734 100644 --- a/examples-testing/examples/webgpu_postprocessing_afterimage.ts +++ b/examples-testing/examples/webgpu_postprocessing_afterimage.ts @@ -13,12 +13,12 @@ import { @@ -18705,7 +18705,7 @@ index 2df8212f..8d35cb73 100644 renderPipeline.render(); diff --git a/examples-testing/examples/webgpu_postprocessing_anamorphic.ts b/examples-testing/examples/webgpu_postprocessing_anamorphic.ts -index 1cdb6893..8286bb59 100644 +index 1cdb6893c..8286bb59b 100644 --- a/examples-testing/examples/webgpu_postprocessing_anamorphic.ts +++ b/examples-testing/examples/webgpu_postprocessing_anamorphic.ts @@ -9,8 +9,8 @@ import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; @@ -18729,7 +18729,7 @@ index 1cdb6893..8286bb59 100644 gui.add(threshold, 'value', 0.8, 3, 0.001).name('threshold'); gui.add(scaleNode, 'value', 1, 10, 0.1).name('scale'); diff --git a/examples-testing/examples/webgpu_postprocessing_ao.ts b/examples-testing/examples/webgpu_postprocessing_ao.ts -index 76046bee..460c90fd 100644 +index 76046bee8..460c90fd6 100644 --- a/examples-testing/examples/webgpu_postprocessing_ao.ts +++ b/examples-testing/examples/webgpu_postprocessing_ao.ts @@ -13,8 +13,8 @@ import { @@ -18771,7 +18771,7 @@ index 76046bee..460c90fd 100644 gui.add(params, 'distanceExponent', 1, 2).onChange(updateParameters); gui.add(params, 'distanceFallOff', 0.01, 1).onChange(updateParameters); diff --git a/examples-testing/examples/webgpu_postprocessing_bloom.ts b/examples-testing/examples/webgpu_postprocessing_bloom.ts -index 3197d680..d173ef87 100644 +index 3197d680d..d173ef87b 100644 --- a/examples-testing/examples/webgpu_postprocessing_bloom.ts +++ b/examples-testing/examples/webgpu_postprocessing_bloom.ts @@ -7,8 +7,11 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -18798,7 +18798,7 @@ index 3197d680..d173ef87 100644 const bloomFolder = gui.addFolder('bloom'); diff --git a/examples-testing/examples/webgpu_postprocessing_bloom_emissive.ts b/examples-testing/examples/webgpu_postprocessing_bloom_emissive.ts -index faa5b67f..efe98431 100644 +index faa5b67fb..efe984318 100644 --- a/examples-testing/examples/webgpu_postprocessing_bloom_emissive.ts +++ b/examples-testing/examples/webgpu_postprocessing_bloom_emissive.ts @@ -9,8 +9,8 @@ import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; @@ -18822,7 +18822,7 @@ index faa5b67f..efe98431 100644 const bloomFolder = gui.addFolder('Bloom'); bloomFolder.add(bloomPass.strength, 'value', 0.0, 5.0).name('strength'); diff --git a/examples-testing/examples/webgpu_postprocessing_bloom_selective.ts b/examples-testing/examples/webgpu_postprocessing_bloom_selective.ts -index b8f2427d..00b649ae 100644 +index b8f2427d4..00b649aed 100644 --- a/examples-testing/examples/webgpu_postprocessing_bloom_selective.ts +++ b/examples-testing/examples/webgpu_postprocessing_bloom_selective.ts @@ -86,16 +86,17 @@ window.addEventListener('pointerdown', event => { @@ -18847,7 +18847,7 @@ index b8f2427d..00b649ae 100644 const bloomFolder = gui.addFolder('Bloom'); bloomFolder.add(bloomPass.threshold, 'value', 0.0, 1.0).name('threshold'); diff --git a/examples-testing/examples/webgpu_postprocessing_ca.ts b/examples-testing/examples/webgpu_postprocessing_ca.ts -index 48b54905..4af52250 100644 +index 48b549050..4af52250f 100644 --- a/examples-testing/examples/webgpu_postprocessing_ca.ts +++ b/examples-testing/examples/webgpu_postprocessing_ca.ts @@ -17,8 +17,12 @@ const params = { @@ -18895,7 +18895,7 @@ index 48b54905..4af52250 100644 subChild.rotation.z = time * (1 - subIndex * 0.1); } diff --git a/examples-testing/examples/webgpu_postprocessing_difference.ts b/examples-testing/examples/webgpu_postprocessing_difference.ts -index 91cc4cbf..7dd420b3 100644 +index 91cc4cbf5..7dd420b37 100644 --- a/examples-testing/examples/webgpu_postprocessing_difference.ts +++ b/examples-testing/examples/webgpu_postprocessing_difference.ts @@ -9,8 +9,8 @@ const params = { @@ -18919,7 +18919,7 @@ index 91cc4cbf..7dd420b3 100644 } diff --git a/examples-testing/examples/webgpu_postprocessing_dof.ts b/examples-testing/examples/webgpu_postprocessing_dof.ts -index 862c2802..72722971 100644 +index 862c2802b..72722971d 100644 --- a/examples-testing/examples/webgpu_postprocessing_dof.ts +++ b/examples-testing/examples/webgpu_postprocessing_dof.ts @@ -7,12 +7,16 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -18951,7 +18951,7 @@ index 862c2802..72722971 100644 gui.add(effectController.focalLength, 'value', 50, 750).name('focal length'); gui.add(effectController.bokehScale, 'value', 1, 20).name('bokeh scale'); diff --git a/examples-testing/examples/webgpu_postprocessing_dof_basic.ts b/examples-testing/examples/webgpu_postprocessing_dof_basic.ts -index 7d51910e..9dc7e177 100644 +index 3ad295247..6e0d389bb 100644 --- a/examples-testing/examples/webgpu_postprocessing_dof_basic.ts +++ b/examples-testing/examples/webgpu_postprocessing_dof_basic.ts @@ -11,7 +11,15 @@ import { DRACOLoader } from 'three/addons/loaders/DRACOLoader.js'; @@ -18990,7 +18990,7 @@ index 7d51910e..9dc7e177 100644 raycaster.setFromCamera(pointerCoords, camera); diff --git a/examples-testing/examples/webgpu_postprocessing_fxaa.ts b/examples-testing/examples/webgpu_postprocessing_fxaa.ts -index 24c01a95..b820da43 100644 +index 24c01a950..b820da439 100644 --- a/examples-testing/examples/webgpu_postprocessing_fxaa.ts +++ b/examples-testing/examples/webgpu_postprocessing_fxaa.ts @@ -9,8 +9,12 @@ const params = { @@ -19018,7 +19018,7 @@ index 24c01a95..b820da43 100644 if (value === true) { renderPipeline.outputNode = fxaaPass; diff --git a/examples-testing/examples/webgpu_postprocessing_godrays.ts b/examples-testing/examples/webgpu_postprocessing_godrays.ts -index 32e619a4..fe3c281c 100644 +index 32e619a47..fe3c281c6 100644 --- a/examples-testing/examples/webgpu_postprocessing_godrays.ts +++ b/examples-testing/examples/webgpu_postprocessing_godrays.ts @@ -9,7 +9,11 @@ import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; @@ -19071,7 +19071,7 @@ index 32e619a4..fe3c281c 100644 godraysFolder.add(godraysPass.raymarchSteps, 'value', 24, 120).step(1).name('raymarch steps'); godraysFolder.add(godraysPass.density, 'value', 0, 1).name('density'); diff --git a/examples-testing/examples/webgpu_postprocessing_lensflare.ts b/examples-testing/examples/webgpu_postprocessing_lensflare.ts -index 39b1e5f6..07904d37 100644 +index 39b1e5f6e..07904d37c 100644 --- a/examples-testing/examples/webgpu_postprocessing_lensflare.ts +++ b/examples-testing/examples/webgpu_postprocessing_lensflare.ts @@ -11,8 +11,8 @@ import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; @@ -19095,7 +19095,7 @@ index 39b1e5f6..07904d37 100644 const bloomFolder = gui.addFolder('bloom'); bloomFolder.add(bloomPass.strength, 'value', 0.0, 2.0).name('strength'); diff --git a/examples-testing/examples/webgpu_postprocessing_masking.ts b/examples-testing/examples/webgpu_postprocessing_masking.ts -index b234abc6..2f52a98c 100644 +index b234abc66..2f52a98c9 100644 --- a/examples-testing/examples/webgpu_postprocessing_masking.ts +++ b/examples-testing/examples/webgpu_postprocessing_masking.ts @@ -2,8 +2,8 @@ import * as THREE from 'three/webgpu'; @@ -19119,7 +19119,7 @@ index b234abc6..2f52a98c 100644 compose = sceneMask2.mix(compose, texture(texture2)); diff --git a/examples-testing/examples/webgpu_postprocessing_motion_blur.ts b/examples-testing/examples/webgpu_postprocessing_motion_blur.ts -index 5ae3d966..64a4411f 100644 +index 5ae3d9661..64a4411fc 100644 --- a/examples-testing/examples/webgpu_postprocessing_motion_blur.ts +++ b/examples-testing/examples/webgpu_postprocessing_motion_blur.ts @@ -8,10 +8,10 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -19156,7 +19156,7 @@ index 5ae3d966..64a4411f 100644 gui.add(blurAmount, 'value', 0, 3).name('blur amount'); gui.add(params, 'speed', 0, 2); diff --git a/examples-testing/examples/webgpu_postprocessing_outline.ts b/examples-testing/examples/webgpu_postprocessing_outline.ts -index f87415b7..beb843ed 100644 +index f87415b74..beb843ed8 100644 --- a/examples-testing/examples/webgpu_postprocessing_outline.ts +++ b/examples-testing/examples/webgpu_postprocessing_outline.ts @@ -1,16 +1,16 @@ @@ -19208,7 +19208,7 @@ index f87415b7..beb843ed 100644 selectedObjects.push(object); } diff --git a/examples-testing/examples/webgpu_postprocessing_pixel.ts b/examples-testing/examples/webgpu_postprocessing_pixel.ts -index a3d58f20..26c4a8ac 100644 +index a3d58f203..26c4a8ac8 100644 --- a/examples-testing/examples/webgpu_postprocessing_pixel.ts +++ b/examples-testing/examples/webgpu_postprocessing_pixel.ts @@ -6,8 +6,18 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -19295,7 +19295,7 @@ index a3d58f20..26c4a8ac 100644 const worldScreenWidth = (camera.right - camera.left) / camera.zoom; const worldScreenHeight = (camera.top - camera.bottom) / camera.zoom; diff --git a/examples-testing/examples/webgpu_postprocessing_radial_blur.ts b/examples-testing/examples/webgpu_postprocessing_radial_blur.ts -index f358421e..95f4cba6 100644 +index f358421e3..95f4cba68 100644 --- a/examples-testing/examples/webgpu_postprocessing_radial_blur.ts +++ b/examples-testing/examples/webgpu_postprocessing_radial_blur.ts @@ -9,8 +9,12 @@ const params = { @@ -19323,7 +19323,7 @@ index f358421e..95f4cba6 100644 gui.add(decayUniform, 'value', 0, 1).name('decay'); gui.add(countUniform, 'value', 16, 64, 1).name('sample count'); diff --git a/examples-testing/examples/webgpu_postprocessing_retro.ts b/examples-testing/examples/webgpu_postprocessing_retro.ts -index b9958352..541a349a 100644 +index b9958352f..541a349ac 100644 --- a/examples-testing/examples/webgpu_postprocessing_retro.ts +++ b/examples-testing/examples/webgpu_postprocessing_retro.ts @@ -40,9 +40,13 @@ import { HDRLoader } from 'three/addons/loaders/HDRLoader.js'; @@ -19390,7 +19390,7 @@ index b9958352..541a349a 100644 gui.add({ model: 'Coffee Mug' }, 'model', Object.keys(models)).name('Model').onChange(loadModel); diff --git a/examples-testing/examples/webgpu_postprocessing_smaa.ts b/examples-testing/examples/webgpu_postprocessing_smaa.ts -index f0637425..e23e3725 100644 +index f06374258..e23e37256 100644 --- a/examples-testing/examples/webgpu_postprocessing_smaa.ts +++ b/examples-testing/examples/webgpu_postprocessing_smaa.ts @@ -4,7 +4,10 @@ import { smaa } from 'three/addons/tsl/display/SMAANode.js'; @@ -19415,7 +19415,7 @@ index f0637425..e23e3725 100644 const smaaFolder = gui.addFolder('SMAA'); smaaFolder.add(params, 'enabled').onChange(value => { diff --git a/examples-testing/examples/webgpu_postprocessing_sobel.ts b/examples-testing/examples/webgpu_postprocessing_sobel.ts -index bdc37d2f..0888593b 100644 +index bdc37d2fd..0888593b0 100644 --- a/examples-testing/examples/webgpu_postprocessing_sobel.ts +++ b/examples-testing/examples/webgpu_postprocessing_sobel.ts @@ -7,8 +7,8 @@ import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; @@ -19448,7 +19448,7 @@ index bdc37d2f..0888593b 100644 // diff --git a/examples-testing/examples/webgpu_postprocessing_ssaa.ts b/examples-testing/examples/webgpu_postprocessing_ssaa.ts -index c38832c7..8630c18d 100644 +index c38832c7a..8630c18d6 100644 --- a/examples-testing/examples/webgpu_postprocessing_ssaa.ts +++ b/examples-testing/examples/webgpu_postprocessing_ssaa.ts @@ -1,11 +1,11 @@ @@ -19495,7 +19495,7 @@ index c38832c7..8630c18d 100644 renderPipeline.render(); } diff --git a/examples-testing/examples/webgpu_postprocessing_ssgi.ts b/examples-testing/examples/webgpu_postprocessing_ssgi.ts -index 8c8e4a91..12595f85 100644 +index 8c8e4a91c..12595f85c 100644 --- a/examples-testing/examples/webgpu_postprocessing_ssgi.ts +++ b/examples-testing/examples/webgpu_postprocessing_ssgi.ts @@ -20,7 +20,11 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -19529,8 +19529,111 @@ index 8c8e4a91..12595f85 100644 if (value === 1) { renderPipeline.outputNode = vec4(vec3(ao), 1); } else if (value === 2) { +diff --git a/examples-testing/examples/webgpu_postprocessing_ssgi_ballpool.ts b/examples-testing/examples/webgpu_postprocessing_ssgi_ballpool.ts +index 4d1e617c1..54d760f2f 100644 +--- a/examples-testing/examples/webgpu_postprocessing_ssgi_ballpool.ts ++++ b/examples-testing/examples/webgpu_postprocessing_ssgi_ballpool.ts +@@ -14,7 +14,8 @@ import { + } from 'three/tsl'; + import { ssgi } from 'three/addons/tsl/display/SSGINode.js'; + import { traa } from 'three/addons/tsl/display/TRAANode.js'; +-import { World } from '@perplexdotgg/bounce'; ++import { Body, Vec3, World } from '@perplexdotgg/bounce'; ++import { WithPool } from 'monomorph'; + + const BALL_RADIUS = 0.4; + const FILL_RATIO = 0.4; +@@ -25,15 +26,18 @@ const WALL_THICKNESS = 0.5; + const CAM_FOV = 45; + const EASE_SPEED = 8; + +-let camera, scene, renderer, renderPipeline; +-let raycaster, pointer; +-let mouseLight; ++let camera: THREE.PerspectiveCamera, ++ scene: THREE.Scene, ++ renderer: THREE.WebGPURenderer, ++ renderPipeline: THREE.RenderPipeline; ++let raycaster: THREE.Raycaster, pointer: THREE.Vector2; ++let mouseLight: THREE.PointLight; + +-let world; ++let world: World; + let ballCount = 0; +-let bodies = []; +-let ballsMesh = null; +-let wallMeshes = []; ++let bodies: WithPool[] = []; ++let ballsMesh: THREE.InstancedMesh | null = null; ++let wallMeshes: THREE.Mesh[] = []; + const boxSize = { w: 8, h: BOX_HEIGHT, d: BOX_DEPTH }; + + let mouseRayOrigin = new THREE.Vector3(); +@@ -207,7 +211,12 @@ function createBox() { + metalness: 0.0, + }); + +- const walls = [ ++ const walls: { ++ size: [number, number, number]; ++ pos: [number, number, number]; ++ mat?: THREE.MeshPhysicalMaterial; ++ noMesh?: boolean; ++ }[] = [ + { size: [boxSize.w, t, boxSize.d], pos: [0, -t / 2, 0], mat: whiteMaterial }, + { size: [boxSize.w, t, boxSize.d], pos: [0, boxSize.h + t / 2, 0], mat: whiteMaterial }, + { size: [boxSize.w, boxSize.h, t], pos: [0, hh, -hd - t / 2], mat: whiteMaterial }, +@@ -271,7 +280,7 @@ function createBalls() { + } + } + +-function onPointerDown(event) { ++function onPointerDown(event: PointerEvent) { + activePointers.add(event.pointerId); + + if (event.pointerType === 'touch') { +@@ -281,7 +290,7 @@ function onPointerDown(event) { + } + } + +-function onPointerUp(event) { ++function onPointerUp(event: PointerEvent) { + activePointers.delete(event.pointerId); + + if (event.pointerType === 'touch') { +@@ -291,7 +300,7 @@ function onPointerUp(event) { + } + } + +-function onPointerMove(event) { ++function onPointerMove(event: PointerEvent) { + pointer.x = (event.clientX / window.innerWidth) * 2 - 1; + pointer.y = -(event.clientY / window.innerHeight) * 2 + 1; + +@@ -386,7 +395,7 @@ function animate() { + x: _pushDir.x * strength, + y: _pushDir.y * strength, + z: _pushDir.z * strength, +- }); ++ } as Vec3); + } + } + } +@@ -404,10 +413,10 @@ function animate() { + _dummy.quaternion.set(q.x, q.y, q.z, q.w); + _dummy.updateMatrix(); + +- ballsMesh.setMatrixAt(i, _dummy.matrix); ++ ballsMesh!.setMatrixAt(i, _dummy.matrix); + } + +- ballsMesh.instanceMatrix.needsUpdate = true; ++ ballsMesh!.instanceMatrix.needsUpdate = true; + + renderPipeline.render(); + } diff --git a/examples-testing/examples/webgpu_postprocessing_ssr.ts b/examples-testing/examples/webgpu_postprocessing_ssr.ts -index 7ce11780..2d8012fa 100644 +index 7ce11780a..2d8012faa 100644 --- a/examples-testing/examples/webgpu_postprocessing_ssr.ts +++ b/examples-testing/examples/webgpu_postprocessing_ssr.ts @@ -14,7 +14,7 @@ import { @@ -19597,7 +19700,7 @@ index 7ce11780..2d8012fa 100644 }); }); diff --git a/examples-testing/examples/webgpu_postprocessing_sss.ts b/examples-testing/examples/webgpu_postprocessing_sss.ts -index 42cc26f3..01ca5fa0 100644 +index 42cc26f39..01ca5fa02 100644 --- a/examples-testing/examples/webgpu_postprocessing_sss.ts +++ b/examples-testing/examples/webgpu_postprocessing_sss.ts @@ -8,7 +8,11 @@ import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; @@ -19636,7 +19739,7 @@ index 42cc26f3..01ca5fa0 100644 gui.add(sssPass.shadowIntensity, 'value', 0, 1).name('shadow intensity'); gui.add(sssPass.maxDistance, 'value', 0.01, 1).name('max ray distance'); diff --git a/examples-testing/examples/webgpu_postprocessing_traa.ts b/examples-testing/examples/webgpu_postprocessing_traa.ts -index 01d17ca1..9c7b6cb6 100644 +index 01d17ca17..9c7b6cb64 100644 --- a/examples-testing/examples/webgpu_postprocessing_traa.ts +++ b/examples-testing/examples/webgpu_postprocessing_traa.ts @@ -4,7 +4,10 @@ import { traa } from 'three/addons/tsl/display/TRAANode.js'; @@ -19652,7 +19755,7 @@ index 01d17ca1..9c7b6cb6 100644 init(); diff --git a/examples-testing/examples/webgpu_postprocessing_transition.ts b/examples-testing/examples/webgpu_postprocessing_transition.ts -index 1a5a88fc..74dc8f8e 100644 +index 1a5a88fc1..74dc8f8ec 100644 --- a/examples-testing/examples/webgpu_postprocessing_transition.ts +++ b/examples-testing/examples/webgpu_postprocessing_transition.ts @@ -3,17 +3,33 @@ import * as THREE from 'three/webgpu'; @@ -19796,7 +19899,7 @@ index 1a5a88fc..74dc8f8e 100644 gui.add(effectController, 'animateScene').name('Animate Scene'); gui.add(effectController, 'animateTransition').name('Animate Transition'); diff --git a/examples-testing/examples/webgpu_procedural_texture.ts b/examples-testing/examples/webgpu_procedural_texture.ts -index 21fb4a3c..d3a164be 100644 +index 21fb4a3c2..d3a164bef 100644 --- a/examples-testing/examples/webgpu_procedural_texture.ts +++ b/examples-testing/examples/webgpu_procedural_texture.ts @@ -4,7 +4,7 @@ import { gaussianBlur } from 'three/addons/tsl/display/GaussianBlurNode.js'; @@ -19818,7 +19921,7 @@ index 21fb4a3c..d3a164be 100644 gui.add(blurAmount, 'value', 0, 2).name('blur amount ( after rtt )'); gui.add(proceduralToTexture, 'autoUpdate').name('auto update'); diff --git a/examples-testing/examples/webgpu_reflection.ts b/examples-testing/examples/webgpu_reflection.ts -index d5dd2331..a5a22f6a 100644 +index d5dd23318..a5a22f6a1 100644 --- a/examples-testing/examples/webgpu_reflection.ts +++ b/examples-testing/examples/webgpu_reflection.ts @@ -32,9 +32,9 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -19898,7 +20001,7 @@ index d5dd2331..a5a22f6a 100644 animated = animated.add(direction.mul(effect.add(instanceSize))); diff --git a/examples-testing/examples/webgpu_reflection_roughness.ts b/examples-testing/examples/webgpu_reflection_roughness.ts -index 2b6b4a78..edabe7a8 100644 +index 2b6b4a78d..edabe7a83 100644 --- a/examples-testing/examples/webgpu_reflection_roughness.ts +++ b/examples-testing/examples/webgpu_reflection_roughness.ts @@ -6,8 +6,8 @@ import { UltraHDRLoader } from 'three/addons/loaders/UltraHDRLoader.js'; @@ -19913,7 +20016,7 @@ index 2b6b4a78..edabe7a8 100644 init(); diff --git a/examples-testing/examples/webgpu_refraction.ts b/examples-testing/examples/webgpu_refraction.ts -index d475ed2d..3d0c4e82 100644 +index d475ed2de..3d0c4e82b 100644 --- a/examples-testing/examples/webgpu_refraction.ts +++ b/examples-testing/examples/webgpu_refraction.ts @@ -5,11 +5,11 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -19932,7 +20035,7 @@ index d475ed2d..3d0c4e82 100644 init(); diff --git a/examples-testing/examples/webgpu_rendertarget_2d-array_3d.ts b/examples-testing/examples/webgpu_rendertarget_2d-array_3d.ts -index 627fd6b1..9dc934c0 100644 +index 627fd6b18..9dc934c0f 100644 --- a/examples-testing/examples/webgpu_rendertarget_2d-array_3d.ts +++ b/examples-testing/examples/webgpu_rendertarget_2d-array_3d.ts @@ -5,11 +5,22 @@ import { TextureHelper } from 'three/addons/helpers/TextureHelperGPU.js'; @@ -20018,7 +20121,7 @@ index 627fd6b1..9dc934c0 100644 const left = Math.floor(view.left * window.innerWidth); const bottom = Math.floor((1 - view.top - view.height) * window.innerHeight); diff --git a/examples-testing/examples/webgpu_reversed_depth_buffer.ts b/examples-testing/examples/webgpu_reversed_depth_buffer.ts -index d159748f..fae26aad 100644 +index d159748f5..fae26aad0 100644 --- a/examples-testing/examples/webgpu_reversed_depth_buffer.ts +++ b/examples-testing/examples/webgpu_reversed_depth_buffer.ts @@ -1,10 +1,14 @@ @@ -20066,7 +20169,7 @@ index d159748f..fae26aad 100644 reverseRenderer.setPixelRatio(window.devicePixelRatio); reverseRenderer.setSize(0.33 * window.innerWidth, window.innerHeight); diff --git a/examples-testing/examples/webgpu_rtt.ts b/examples-testing/examples/webgpu_rtt.ts -index fa7577ea..b4c7a8c3 100644 +index fa7577ea8..b4c7a8c39 100644 --- a/examples-testing/examples/webgpu_rtt.ts +++ b/examples-testing/examples/webgpu_rtt.ts @@ -3,12 +3,12 @@ import { texture, uniform, saturation, hue } from 'three/tsl'; @@ -20095,7 +20198,7 @@ index fa7577ea..b4c7a8c3 100644 mouse.y = e.offsetY / window.innerHeight; } diff --git a/examples-testing/examples/webgpu_shadow_contact.ts b/examples-testing/examples/webgpu_shadow_contact.ts -index ac3e4fbd..64234710 100644 +index ac3e4fbd8..642347107 100644 --- a/examples-testing/examples/webgpu_shadow_contact.ts +++ b/examples-testing/examples/webgpu_shadow_contact.ts @@ -4,13 +4,13 @@ import { gaussianBlur } from 'three/addons/tsl/display/GaussianBlurNode.js'; @@ -20128,7 +20231,7 @@ index ac3e4fbd..64234710 100644 gui.add(params, 'shadowBlur', 0, 15, 0.1).onChange(() => { state.shadow.blur = params.shadowBlur; diff --git a/examples-testing/examples/webgpu_shadowmap.ts b/examples-testing/examples/webgpu_shadowmap.ts -index f6edec75..a0064c0d 100644 +index f6edec750..a0064c0dc 100644 --- a/examples-testing/examples/webgpu_shadowmap.ts +++ b/examples-testing/examples/webgpu_shadowmap.ts @@ -5,9 +5,9 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -20154,7 +20257,7 @@ index f6edec75..a0064c0d 100644 const delta = timer.getDelta(); diff --git a/examples-testing/examples/webgpu_shadowmap_array.ts b/examples-testing/examples/webgpu_shadowmap_array.ts -index 0dfe8084..efdb6b9e 100644 +index 0dfe8084f..efdb6b9eb 100644 --- a/examples-testing/examples/webgpu_shadowmap_array.ts +++ b/examples-testing/examples/webgpu_shadowmap_array.ts @@ -8,10 +8,10 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -20182,7 +20285,7 @@ index 0dfe8084..efdb6b9e 100644 const delta = timer.getDelta(); diff --git a/examples-testing/examples/webgpu_shadowmap_csm.ts b/examples-testing/examples/webgpu_shadowmap_csm.ts -index 5be06145..60811643 100644 +index 5be061456..60811643e 100644 --- a/examples-testing/examples/webgpu_shadowmap_csm.ts +++ b/examples-testing/examples/webgpu_shadowmap_csm.ts @@ -4,12 +4,33 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -20255,7 +20358,7 @@ index 5be06145..60811643 100644 }); diff --git a/examples-testing/examples/webgpu_shadowmap_opacity.ts b/examples-testing/examples/webgpu_shadowmap_opacity.ts -index e508e103..ec2ae150 100644 +index e508e1039..ec2ae1509 100644 --- a/examples-testing/examples/webgpu_shadowmap_opacity.ts +++ b/examples-testing/examples/webgpu_shadowmap_opacity.ts @@ -6,7 +6,7 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -20294,7 +20397,7 @@ index e508e103..ec2ae150 100644 // apply shadow diff --git a/examples-testing/examples/webgpu_shadowmap_pointlight.ts b/examples-testing/examples/webgpu_shadowmap_pointlight.ts -index 3cb878e6..ef4acd04 100644 +index 3cb878e6f..ef4acd04a 100644 --- a/examples-testing/examples/webgpu_shadowmap_pointlight.ts +++ b/examples-testing/examples/webgpu_shadowmap_pointlight.ts @@ -1,11 +1,11 @@ @@ -20342,7 +20445,7 @@ index 3cb878e6..ef4acd04 100644 context.fillRect(0, 1, 2, 1); diff --git a/examples-testing/examples/webgpu_shadowmap_progressive.ts b/examples-testing/examples/webgpu_shadowmap_progressive.ts -index ca5ee0f7..26016858 100644 +index ca5ee0f72..260168589 100644 --- a/examples-testing/examples/webgpu_shadowmap_progressive.ts +++ b/examples-testing/examples/webgpu_shadowmap_progressive.ts @@ -11,17 +11,17 @@ import { ProgressiveLightMap } from 'three/addons/misc/ProgressiveLightMapGPU.js @@ -20401,7 +20504,7 @@ index ca5ee0f7..26016858 100644 gui.add(params, 'Blur Edges'); gui.add(params, 'Blend Window', 1, 500, 1); diff --git a/examples-testing/examples/webgpu_shadowmap_vsm.ts b/examples-testing/examples/webgpu_shadowmap_vsm.ts -index edaf4fd9..a40b8b28 100644 +index edaf4fd9e..a40b8b289 100644 --- a/examples-testing/examples/webgpu_shadowmap_vsm.ts +++ b/examples-testing/examples/webgpu_shadowmap_vsm.ts @@ -4,9 +4,9 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -20436,7 +20539,7 @@ index edaf4fd9..a40b8b28 100644 const delta = timer.getDelta(); diff --git a/examples-testing/examples/webgpu_skinning.ts b/examples-testing/examples/webgpu_skinning.ts -index 36669a5d..ba34cfcf 100644 +index 36669a5d4..ba34cfcfd 100644 --- a/examples-testing/examples/webgpu_skinning.ts +++ b/examples-testing/examples/webgpu_skinning.ts @@ -3,9 +3,9 @@ import { color, screenUV } from 'three/tsl'; @@ -20452,7 +20555,7 @@ index 36669a5d..ba34cfcf 100644 init(); diff --git a/examples-testing/examples/webgpu_skinning_instancing.ts b/examples-testing/examples/webgpu_skinning_instancing.ts -index 877ee46c..1b8d0b2d 100644 +index 877ee46cb..1b8d0b2dc 100644 --- a/examples-testing/examples/webgpu_skinning_instancing.ts +++ b/examples-testing/examples/webgpu_skinning_instancing.ts @@ -4,10 +4,10 @@ import { gaussianBlur } from 'three/addons/tsl/display/GaussianBlurNode.js'; @@ -20520,7 +20623,7 @@ index 877ee46c..1b8d0b2d 100644 } }); diff --git a/examples-testing/examples/webgpu_sprites.ts b/examples-testing/examples/webgpu_sprites.ts -index de9f219b..68a7b73a 100644 +index de9f219b8..68a7b73a8 100644 --- a/examples-testing/examples/webgpu_sprites.ts +++ b/examples-testing/examples/webgpu_sprites.ts @@ -1,11 +1,11 @@ @@ -20539,7 +20642,7 @@ index de9f219b..68a7b73a 100644 let imageWidth = 1, imageHeight = 1; diff --git a/examples-testing/examples/webgpu_storage_buffer.ts b/examples-testing/examples/webgpu_storage_buffer.ts -index 1b4461d3..5c2d4902 100644 +index 1b4461d33..5c2d49027 100644 --- a/examples-testing/examples/webgpu_storage_buffer.ts +++ b/examples-testing/examples/webgpu_storage_buffer.ts @@ -2,8 +2,8 @@ import * as THREE from 'three/webgpu'; @@ -20616,7 +20719,7 @@ index 1b4461d3..5c2d4902 100644 color.assign(vec3(value, value, value)); diff --git a/examples-testing/examples/webgpu_struct_drawindirect.ts b/examples-testing/examples/webgpu_struct_drawindirect.ts -index b0d1139d..ad573696 100644 +index b0d1139db..ad5736962 100644 --- a/examples-testing/examples/webgpu_struct_drawindirect.ts +++ b/examples-testing/examples/webgpu_struct_drawindirect.ts @@ -45,7 +45,7 @@ scene.background = new THREE.Color(0x00001f); @@ -20646,7 +20749,7 @@ index b0d1139d..ad573696 100644 }; diff --git a/examples-testing/examples/webgpu_test_memory.ts b/examples-testing/examples/webgpu_test_memory.ts -index aadde4dc..c4babf4a 100644 +index aadde4dc6..c4babf4ae 100644 --- a/examples-testing/examples/webgpu_test_memory.ts +++ b/examples-testing/examples/webgpu_test_memory.ts @@ -1,16 +1,22 @@ @@ -20725,7 +20828,7 @@ index aadde4dc..c4babf4a 100644 } diff --git a/examples-testing/examples/webgpu_textures_2d-array.ts b/examples-testing/examples/webgpu_textures_2d-array.ts -index a1a354ff..940a35c8 100644 +index a1a354ff7..940a35c89 100644 --- a/examples-testing/examples/webgpu_textures_2d-array.ts +++ b/examples-testing/examples/webgpu_textures_2d-array.ts @@ -5,7 +5,10 @@ import { unzipSync } from 'three/addons/libs/fflate.module.js'; @@ -20759,7 +20862,7 @@ index a1a354ff..940a35c8 100644 let oscLayers = oscTriangle(time.mul(0.5)); // [ /\/ ] triangle osc animation diff --git a/examples-testing/examples/webgpu_textures_2d-array_compressed.ts b/examples-testing/examples/webgpu_textures_2d-array_compressed.ts -index 62b51645..12beb46d 100644 +index 62b516458..12beb46d5 100644 --- a/examples-testing/examples/webgpu_textures_2d-array_compressed.ts +++ b/examples-testing/examples/webgpu_textures_2d-array_compressed.ts @@ -6,7 +6,11 @@ import { KTX2Loader } from 'three/addons/loaders/KTX2Loader.js'; @@ -20776,7 +20879,7 @@ index 62b51645..12beb46d 100644 const depth = uniform(0); diff --git a/examples-testing/examples/webgpu_textures_anisotropy.ts b/examples-testing/examples/webgpu_textures_anisotropy.ts -index 0444823f..fdcb1a01 100644 +index 0444823f5..fdcb1a01a 100644 --- a/examples-testing/examples/webgpu_textures_anisotropy.ts +++ b/examples-testing/examples/webgpu_textures_anisotropy.ts @@ -1,8 +1,8 @@ @@ -20816,7 +20919,7 @@ index 0444823f..fdcb1a01 100644 const windowHalfY = window.innerHeight / 2; diff --git a/examples-testing/examples/webgpu_textures_partialupdate.ts b/examples-testing/examples/webgpu_textures_partialupdate.ts -index d189cec9..da4f7320 100644 +index d893a041d..c14143058 100644 --- a/examples-testing/examples/webgpu_textures_partialupdate.ts +++ b/examples-testing/examples/webgpu_textures_partialupdate.ts @@ -1,6 +1,11 @@ @@ -20832,7 +20935,7 @@ index d189cec9..da4f7320 100644 let last = 0; const position = new THREE.Vector2(); -@@ -79,9 +84,9 @@ function animate() { +@@ -80,9 +85,9 @@ function animate() { } } @@ -20845,7 +20948,7 @@ index d189cec9..da4f7320 100644 // generate a random color and update texture data diff --git a/examples-testing/examples/webgpu_tonemapping.ts b/examples-testing/examples/webgpu_tonemapping.ts -index 4140a49f..e371e494 100644 +index 4140a49fd..e371e494c 100644 --- a/examples-testing/examples/webgpu_tonemapping.ts +++ b/examples-testing/examples/webgpu_tonemapping.ts @@ -1,23 +1,33 @@ @@ -20901,7 +21004,7 @@ index 4140a49f..e371e494 100644 .name('type') .onChange(function () { diff --git a/examples-testing/examples/webgpu_tsl_angular_slicing.ts b/examples-testing/examples/webgpu_tsl_angular_slicing.ts -index d74e1bc0..8149db0a 100644 +index d74e1bc0a..8149db0a4 100644 --- a/examples-testing/examples/webgpu_tsl_angular_slicing.ts +++ b/examples-testing/examples/webgpu_tsl_angular_slicing.ts @@ -8,7 +8,7 @@ import { GLTFLoader } from 'three/addons/loaders/GLTFLoader.js'; @@ -20953,7 +21056,7 @@ index d74e1bc0..8149db0a 100644 gui.add(sliceArc, 'value', 0, Math.PI * 2, 0.001).name('sliceArc'); gui.addColor({ color: sliceColor.value.getHexString(THREE.SRGBColorSpace) }, 'color').onChange(value => diff --git a/examples-testing/examples/webgpu_tsl_earth.ts b/examples-testing/examples/webgpu_tsl_earth.ts -index dece09af..512fb5cd 100644 +index dece09afb..512fb5cdf 100644 --- a/examples-testing/examples/webgpu_tsl_earth.ts +++ b/examples-testing/examples/webgpu_tsl_earth.ts @@ -21,7 +21,12 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -20980,7 +21083,7 @@ index dece09af..512fb5cd 100644 gui.addColor({ color: atmosphereDayColor.value.getHex(THREE.SRGBColorSpace) }, 'color') .onChange(value => { diff --git a/examples-testing/examples/webgpu_tsl_galaxy.ts b/examples-testing/examples/webgpu_tsl_galaxy.ts -index 73913850..46c0eead 100644 +index 739138504..46c0eead5 100644 --- a/examples-testing/examples/webgpu_tsl_galaxy.ts +++ b/examples-testing/examples/webgpu_tsl_galaxy.ts @@ -5,7 +5,7 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -21002,7 +21105,7 @@ index 73913850..46c0eead 100644 gui.add(size, 'value', 0, 1, 0.001).name('size'); diff --git a/examples-testing/examples/webgpu_tsl_graph.ts b/examples-testing/examples/webgpu_tsl_graph.ts -index cdde58a9..606093a3 100644 +index cdde58a9a..606093a39 100644 --- a/examples-testing/examples/webgpu_tsl_graph.ts +++ b/examples-testing/examples/webgpu_tsl_graph.ts @@ -11,9 +11,9 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -21150,7 +21253,7 @@ index cdde58a9..606093a3 100644 }); diff --git a/examples-testing/examples/webgpu_tsl_halftone.ts b/examples-testing/examples/webgpu_tsl_halftone.ts -index 682e1df6..6aef3f0d 100644 +index 682e1df64..6aef3f0dd 100644 --- a/examples-testing/examples/webgpu_tsl_halftone.ts +++ b/examples-testing/examples/webgpu_tsl_halftone.ts @@ -6,7 +6,36 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -21307,7 +21410,7 @@ index 682e1df6..6aef3f0d 100644 renderer.render(scene, camera); } diff --git a/examples-testing/examples/webgpu_tsl_interoperability.ts b/examples-testing/examples/webgpu_tsl_interoperability.ts -index e57c66ee..4ca0fc90 100644 +index e57c66eeb..4ca0fc90d 100644 --- a/examples-testing/examples/webgpu_tsl_interoperability.ts +++ b/examples-testing/examples/webgpu_tsl_interoperability.ts @@ -23,13 +23,13 @@ import WebGPU from 'three/addons/capabilities/WebGPU.js'; @@ -21345,7 +21448,7 @@ index e57c66ee..4ca0fc90 100644 gui.add(cellSizeUniform, 'value', 6, 50, 1).name('Cell Size'); gui.add(cellOffsetUniform, 'value', 0, 1, 0.1).name('Cell Offset'); diff --git a/examples-testing/examples/webgpu_tsl_procedural_terrain.ts b/examples-testing/examples/webgpu_tsl_procedural_terrain.ts -index 5630137b..ebffc04e 100644 +index 5630137b8..ebffc04e0 100644 --- a/examples-testing/examples/webgpu_tsl_procedural_terrain.ts +++ b/examples-testing/examples/webgpu_tsl_procedural_terrain.ts @@ -22,7 +22,26 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -21431,7 +21534,7 @@ index 5630137b..ebffc04e 100644 drag.worldCoords.copy(intersect.point); } diff --git a/examples-testing/examples/webgpu_tsl_raging_sea.ts b/examples-testing/examples/webgpu_tsl_raging_sea.ts -index cb513d07..b403ba07 100644 +index cb513d075..b403ba076 100644 --- a/examples-testing/examples/webgpu_tsl_raging_sea.ts +++ b/examples-testing/examples/webgpu_tsl_raging_sea.ts @@ -19,7 +19,7 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -21462,7 +21565,7 @@ index cb513d07..b403ba07 100644 gui.addColor({ color: material.color.getHex(THREE.SRGBColorSpace) }, 'color') .name('color') diff --git a/examples-testing/examples/webgpu_tsl_vfx_flames.ts b/examples-testing/examples/webgpu_tsl_vfx_flames.ts -index f1e42344..34df22c9 100644 +index f1e423444..34df22c9f 100644 --- a/examples-testing/examples/webgpu_tsl_vfx_flames.ts +++ b/examples-testing/examples/webgpu_tsl_vfx_flames.ts @@ -20,7 +20,15 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -21497,7 +21600,7 @@ index f1e42344..34df22c9 100644 gradient.colors = ['#090033', '#5f1f93', '#e02e96', '#ffbd80', '#fff0db']; diff --git a/examples-testing/examples/webgpu_tsl_vfx_linkedparticles.ts b/examples-testing/examples/webgpu_tsl_vfx_linkedparticles.ts -index e220c164..f9b0a23f 100644 +index e220c164b..f9b0a23f4 100644 --- a/examples-testing/examples/webgpu_tsl_vfx_linkedparticles.ts +++ b/examples-testing/examples/webgpu_tsl_vfx_linkedparticles.ts @@ -37,10 +37,16 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -21548,7 +21651,7 @@ index e220c164..f9b0a23f 100644 screenPointer.y = -(e.clientY / window.innerHeight) * 2 + 1; } diff --git a/examples-testing/examples/webgpu_tsl_vfx_tornado.ts b/examples-testing/examples/webgpu_tsl_vfx_tornado.ts -index 625a9d20..0509e361 100644 +index 625a9d209..0509e361d 100644 --- a/examples-testing/examples/webgpu_tsl_vfx_tornado.ts +++ b/examples-testing/examples/webgpu_tsl_vfx_tornado.ts @@ -25,7 +25,11 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; @@ -21648,7 +21751,7 @@ index 625a9d20..0509e361 100644 gui.addColor({ color: emissiveColor.value.getHexString(THREE.SRGBColorSpace) }, 'color') .onChange(value => emissiveColor.value.set(value)) diff --git a/examples-testing/examples/webgpu_tsl_wood.ts b/examples-testing/examples/webgpu_tsl_wood.ts -index 5a4e0650..f42fd5a7 100644 +index 5a4e06502..f42fd5a76 100644 --- a/examples-testing/examples/webgpu_tsl_wood.ts +++ b/examples-testing/examples/webgpu_tsl_wood.ts @@ -1,22 +1,30 @@ @@ -21801,7 +21904,7 @@ index 5a4e0650..f42fd5a7 100644 createLabel('custom', font, text_mat, getGridPosition(Math.round(WoodGenuses.length / 2 - 1), 5)); diff --git a/examples-testing/examples/webgpu_video_panorama.ts b/examples-testing/examples/webgpu_video_panorama.ts -index f52b15ff..78885bec 100644 +index f52b15ffe..78885bec4 100644 --- a/examples-testing/examples/webgpu_video_panorama.ts +++ b/examples-testing/examples/webgpu_video_panorama.ts @@ -1,6 +1,6 @@ @@ -21849,7 +21952,7 @@ index f52b15ff..78885bec 100644 lon = (onPointerDownPointerX - event.clientX) * 0.1 + onPointerDownLon; lat = (onPointerDownPointerY - event.clientY) * 0.1 + onPointerDownLat; diff --git a/examples-testing/examples/webgpu_volume_caustics.ts b/examples-testing/examples/webgpu_volume_caustics.ts -index 0c85390d..23cd2ae0 100644 +index 0c85390dd..23cd2ae09 100644 --- a/examples-testing/examples/webgpu_volume_caustics.ts +++ b/examples-testing/examples/webgpu_volume_caustics.ts @@ -31,9 +31,9 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -21899,7 +22002,7 @@ index 0c85390d..23cd2ae0 100644 let density = sampleGrain(1); diff --git a/examples-testing/examples/webgpu_volume_cloud.ts b/examples-testing/examples/webgpu_volume_cloud.ts -index 1d46c354..5f4fdfa3 100644 +index 1d46c3543..5f4fdfa36 100644 --- a/examples-testing/examples/webgpu_volume_cloud.ts +++ b/examples-testing/examples/webgpu_volume_cloud.ts @@ -8,8 +8,8 @@ import { ImprovedNoise } from 'three/addons/math/ImprovedNoise.js'; @@ -21953,7 +22056,7 @@ index 1d46c354..5f4fdfa3 100644 gui.add(opacity, 'value', 0, 1, 0.01).name('opacity'); gui.add(range, 'value', 0, 1, 0.01).name('range'); diff --git a/examples-testing/examples/webgpu_volume_lighting.ts b/examples-testing/examples/webgpu_volume_lighting.ts -index 38099c6a..c9e0380f 100644 +index 38099c6a5..c9e0380fc 100644 --- a/examples-testing/examples/webgpu_volume_lighting.ts +++ b/examples-testing/examples/webgpu_volume_lighting.ts @@ -10,9 +10,9 @@ import { TeapotGeometry } from 'three/addons/geometries/TeapotGeometry.js'; @@ -21994,7 +22097,7 @@ index 38099c6a..c9e0380f 100644 const rayMarching = gui.addFolder('Ray Marching'); rayMarching.add(params, 'resolution', 0.1, 1).onChange(resolution => { diff --git a/examples-testing/examples/webgpu_volume_lighting_rectarea.ts b/examples-testing/examples/webgpu_volume_lighting_rectarea.ts -index 47c82841..73084cc4 100644 +index 47c82841c..73084cc4c 100644 --- a/examples-testing/examples/webgpu_volume_lighting_rectarea.ts +++ b/examples-testing/examples/webgpu_volume_lighting_rectarea.ts @@ -10,11 +10,11 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -22048,7 +22151,7 @@ index 47c82841..73084cc4 100644 const rayMarching = gui.addFolder('Ray Marching'); rayMarching.add(params, 'resolution', 0.1, 1).onChange(resolution => { diff --git a/examples-testing/examples/webgpu_volume_lighting_traa.ts b/examples-testing/examples/webgpu_volume_lighting_traa.ts -index c5cc55e7..7ae7f370 100644 +index c5cc55e71..7ae7f3702 100644 --- a/examples-testing/examples/webgpu_volume_lighting_traa.ts +++ b/examples-testing/examples/webgpu_volume_lighting_traa.ts @@ -26,7 +26,7 @@ import { TeapotGeometry } from 'three/addons/geometries/TeapotGeometry.js'; @@ -22105,7 +22208,7 @@ index c5cc55e7..7ae7f370 100644 gui.add(params, 'animated'); gui.add(params, 'traa').name('TRAA').onChange(updatePostProcessing); diff --git a/examples-testing/examples/webgpu_volume_perlin.ts b/examples-testing/examples/webgpu_volume_perlin.ts -index fb6f2bbd..50d3e036 100644 +index fb6f2bbd5..50d3e0361 100644 --- a/examples-testing/examples/webgpu_volume_perlin.ts +++ b/examples-testing/examples/webgpu_volume_perlin.ts @@ -8,8 +8,8 @@ import { ImprovedNoise } from 'three/addons/math/ImprovedNoise.js'; @@ -22178,7 +22281,7 @@ index fb6f2bbd..50d3e036 100644 gui.add(steps, 'value', 0, 300, 1).name('steps'); diff --git a/examples-testing/examples/webgpu_water.ts b/examples-testing/examples/webgpu_water.ts -index 88a9e5f6..7d8c8b73 100644 +index 88a9e5f60..7d8c8b731 100644 --- a/examples-testing/examples/webgpu_water.ts +++ b/examples-testing/examples/webgpu_water.ts @@ -9,11 +9,16 @@ import { Inspector } from 'three/addons/inspector/Inspector.js'; @@ -22212,7 +22315,7 @@ index 88a9e5f6..7d8c8b73 100644 gui.addColor(params, 'color').onChange(function (value) { waterNode.color.value.set(value); diff --git a/examples-testing/examples/webgpu_xr_cubes.ts b/examples-testing/examples/webgpu_xr_cubes.ts -index d164eb84..71b4dcc3 100644 +index d164eb843..71b4dcc37 100644 --- a/examples-testing/examples/webgpu_xr_cubes.ts +++ b/examples-testing/examples/webgpu_xr_cubes.ts @@ -4,16 +4,20 @@ import { BoxLineGeometry } from 'three/addons/geometries/BoxLineGeometry.js'; @@ -22291,7 +22394,7 @@ index d164eb84..71b4dcc3 100644 INTERSECTED.material.emissive.setHex(0xff0000); } diff --git a/examples-testing/examples/webgpu_xr_native_layers.ts b/examples-testing/examples/webgpu_xr_native_layers.ts -index cd7f3fb2..70371da6 100644 +index cd7f3fb2d..70371da60 100644 --- a/examples-testing/examples/webgpu_xr_native_layers.ts +++ b/examples-testing/examples/webgpu_xr_native_layers.ts @@ -15,11 +15,11 @@ import { @@ -22573,7 +22676,7 @@ index cd7f3fb2..70371da6 100644 // const delta = timer.getDelta() * 0.8; diff --git a/examples-testing/examples/webgpu_xr_rollercoaster.ts b/examples-testing/examples/webgpu_xr_rollercoaster.ts -index 6035d068..39b9b8fc 100644 +index 6035d0687..39b9b8fce 100644 --- a/examples-testing/examples/webgpu_xr_rollercoaster.ts +++ b/examples-testing/examples/webgpu_xr_rollercoaster.ts @@ -9,7 +9,7 @@ import { @@ -22613,7 +22716,7 @@ index 6035d068..39b9b8fc 100644 // diff --git a/examples-testing/examples/webxr_ar_cones.ts b/examples-testing/examples/webxr_ar_cones.ts -index 95eb3439..0e641cdb 100644 +index 95eb34393..0e641cdb3 100644 --- a/examples-testing/examples/webxr_ar_cones.ts +++ b/examples-testing/examples/webxr_ar_cones.ts @@ -1,8 +1,8 @@ @@ -22628,7 +22731,7 @@ index 95eb3439..0e641cdb 100644 init(); diff --git a/examples-testing/examples/webxr_ar_hittest.ts b/examples-testing/examples/webxr_ar_hittest.ts -index 009b4b97..ffb71130 100644 +index 009b4b976..ffb711306 100644 --- a/examples-testing/examples/webxr_ar_hittest.ts +++ b/examples-testing/examples/webxr_ar_hittest.ts @@ -1,13 +1,13 @@ @@ -22678,7 +22781,7 @@ index 009b4b97..ffb71130 100644 reticle.visible = false; } diff --git a/examples-testing/examples/webxr_ar_lighting.ts b/examples-testing/examples/webxr_ar_lighting.ts -index 10f49f0b..00e35fbe 100644 +index 10f49f0bf..00e35fbef 100644 --- a/examples-testing/examples/webxr_ar_lighting.ts +++ b/examples-testing/examples/webxr_ar_lighting.ts @@ -3,9 +3,9 @@ import { UltraHDRLoader } from 'three/addons/loaders/UltraHDRLoader.js'; @@ -22695,7 +22798,7 @@ index 10f49f0b..00e35fbe 100644 init(); diff --git a/examples-testing/examples/webxr_vr_handinput.ts b/examples-testing/examples/webxr_vr_handinput.ts -index d746e458..af438f0f 100644 +index d746e4582..af438f0f6 100644 --- a/examples-testing/examples/webxr_vr_handinput.ts +++ b/examples-testing/examples/webxr_vr_handinput.ts @@ -4,13 +4,13 @@ import { VRButton } from 'three/addons/webxr/VRButton.js'; @@ -22719,7 +22822,7 @@ index d746e458..af438f0f 100644 init(); diff --git a/examples-testing/examples/webxr_vr_panorama.ts b/examples-testing/examples/webxr_vr_panorama.ts -index 535e1c93..ab2e4ee0 100644 +index 535e1c937..ab2e4ee0d 100644 --- a/examples-testing/examples/webxr_vr_panorama.ts +++ b/examples-testing/examples/webxr_vr_panorama.ts @@ -1,9 +1,9 @@ @@ -22756,7 +22859,7 @@ index 535e1c93..ab2e4ee0 100644 canvas.width = tileWidth; context.drawImage(imageObj, tileWidth * i, 0, tileWidth, tileWidth, 0, 0, tileWidth, tileWidth); diff --git a/examples-testing/examples/webxr_vr_panorama_depth.ts b/examples-testing/examples/webxr_vr_panorama_depth.ts -index ea3d7619..a195db61 100644 +index ea3d76199..a195db610 100644 --- a/examples-testing/examples/webxr_vr_panorama_depth.ts +++ b/examples-testing/examples/webxr_vr_panorama_depth.ts @@ -1,12 +1,16 @@ @@ -22779,7 +22882,7 @@ index ea3d7619..a195db61 100644 timer = new THREE.Timer(); timer.connect(document); diff --git a/examples-testing/examples/webxr_vr_rollercoaster.ts b/examples-testing/examples/webxr_vr_rollercoaster.ts -index b8c35a9e..ee5f02da 100644 +index b8c35a9e3..ee5f02daf 100644 --- a/examples-testing/examples/webxr_vr_rollercoaster.ts +++ b/examples-testing/examples/webxr_vr_rollercoaster.ts @@ -9,7 +9,7 @@ import { @@ -22819,7 +22922,7 @@ index b8c35a9e..ee5f02da 100644 // diff --git a/examples-testing/examples/webxr_vr_sandbox.ts b/examples-testing/examples/webxr_vr_sandbox.ts -index 19108d58..794121e2 100644 +index 19108d589..794121e2b 100644 --- a/examples-testing/examples/webxr_vr_sandbox.ts +++ b/examples-testing/examples/webxr_vr_sandbox.ts @@ -11,9 +11,9 @@ import { XRControllerModelFactory } from 'three/addons/webxr/XRControllerModelFa @@ -22856,7 +22959,7 @@ index 19108d58..794121e2 100644 + update(): void; } diff --git a/examples-testing/examples/webxr_vr_video.ts b/examples-testing/examples/webxr_vr_video.ts -index 50a99041..b5925eb1 100644 +index 50a990412..b5925eb18 100644 --- a/examples-testing/examples/webxr_vr_video.ts +++ b/examples-testing/examples/webxr_vr_video.ts @@ -1,12 +1,12 @@ @@ -22884,7 +22987,7 @@ index 50a99041..b5925eb1 100644 const texture = new THREE.VideoTexture(video); diff --git a/examples-testing/examples/webxr_xr_controls_transform.ts b/examples-testing/examples/webxr_xr_controls_transform.ts -index cd9b1290..3edf26cf 100644 +index cd9b1290d..3edf26cf8 100644 --- a/examples-testing/examples/webxr_xr_controls_transform.ts +++ b/examples-testing/examples/webxr_xr_controls_transform.ts @@ -4,15 +4,15 @@ import { XRButton } from 'three/addons/webxr/XRButton.js'; @@ -22928,7 +23031,7 @@ index cd9b1290..3edf26cf 100644 if (controller.userData.active === false) return; diff --git a/examples-testing/examples/webxr_xr_dragging_custom_depth.ts b/examples-testing/examples/webxr_xr_dragging_custom_depth.ts -index 2cd50ba4..b97f3eee 100644 +index 2cd50ba4c..b97f3eee2 100644 --- a/examples-testing/examples/webxr_xr_dragging_custom_depth.ts +++ b/examples-testing/examples/webxr_xr_dragging_custom_depth.ts @@ -3,18 +3,18 @@ import { OrbitControls } from 'three/addons/controls/OrbitControls.js'; diff --git a/examples-testing/package.json b/examples-testing/package.json index 1738698c6..0560b0da7 100644 --- a/examples-testing/package.json +++ b/examples-testing/package.json @@ -15,8 +15,10 @@ "dependencies": { "@needle-tools/gltf-progressive": "~3.2.0", "@needle-tools/three-animation-pointer": "~1.0.7", + "@perplexdotgg/bounce": "~1.8.0", "@types/three": "file:../types/three", "3d-tiles-renderer": "~0.4.21", + "monomorph": "^2.3.1", "postprocessing": "~6.38.3", "prettier": "^3.8.1", "stats-gl": "^3.8.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cb32b5551..a2bd22ae0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -59,9 +59,15 @@ importers: '@needle-tools/three-animation-pointer': specifier: ~1.0.7 version: 1.0.7(three@0.183.1) + '@perplexdotgg/bounce': + specifier: ~1.8.0 + version: 1.8.0 '@types/three': specifier: file:../types/three version: link:../types/three + monomorph: + specifier: ^2.3.1 + version: 2.3.1 postprocessing: specifier: ~6.38.3 version: 6.38.3(three@0.183.1) @@ -621,6 +627,9 @@ packages: '@octokit/types@13.10.0': resolution: {integrity: sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==} + '@perplexdotgg/bounce@1.8.0': + resolution: {integrity: sha512-UZIuTVGXhxgxMQsF1ekeWAR8c0z3qFNHrEdRIWe7Bmh34tN+RYrMaPmIwONd+WHOA78YosARb13gjKF5bgiT6Q==} + '@polka/url@1.0.0-next.29': resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} @@ -1787,6 +1796,9 @@ packages: resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} engines: {node: '>= 18'} + monomorph@2.3.1: + resolution: {integrity: sha512-kACbfiM0x7viZ00Ofgwy9HmElqqqY21w0S45hbH+W6BQUFhvs9mHIAmKEgBKo5hF5w4OUgRtABRgftDDVc5zFw==} + mrmime@2.0.1: resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} engines: {node: '>=10'} @@ -2999,6 +3011,10 @@ snapshots: dependencies: '@octokit/openapi-types': 24.2.0 + '@perplexdotgg/bounce@1.8.0': + dependencies: + monomorph: 2.3.1 + '@polka/url@1.0.0-next.29': {} '@rollup/rollup-android-arm-eabi@4.58.0': @@ -4305,6 +4321,8 @@ snapshots: dependencies: minipass: 7.1.2 + monomorph@2.3.1: {} + mrmime@2.0.1: {} ms@2.1.3: {} diff --git a/renovate.json b/renovate.json index 38ff676a1..7a72fe212 100644 --- a/renovate.json +++ b/renovate.json @@ -40,6 +40,11 @@ "matchUpdateTypes": ["major", "minor"], "enabled": false }, + { + "matchPackageNames": ["@perplexdotgg/bounce"], + "matchUpdateTypes": ["major", "minor"], + "enabled": false + }, { "matchPackageNames": ["3d-tiles-renderer"], "matchUpdateTypes": ["major", "minor"], diff --git a/three.js b/three.js index 112ba9b71..85f77d7f2 160000 --- a/three.js +++ b/three.js @@ -1 +1 @@ -Subproject commit 112ba9b71c29e984e339dd95ab42584b43029940 +Subproject commit 85f77d7f2ad12ce724aa5624facb11b23233281d diff --git a/types/three/examples/jsm/loaders/ColladaLoader.d.ts b/types/three/examples/jsm/loaders/ColladaLoader.d.ts index 70efc74fe..42117ccbb 100644 --- a/types/three/examples/jsm/loaders/ColladaLoader.d.ts +++ b/types/three/examples/jsm/loaders/ColladaLoader.d.ts @@ -21,6 +21,7 @@ export interface ColladaLibrary { kinematicsModels: Record; physicsModels: Record; kinematicsScenes: Record; + joints: Record; } export interface Collada {