Skip to content

Commit 4fbef51

Browse files
committed
Updated builds.
1 parent 9a711cc commit 4fbef51

File tree

11 files changed

+205
-89
lines changed

11 files changed

+205
-89
lines changed

build/three.cjs

Lines changed: 51 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
22
* @license
3-
* Copyright 2010-2025 Three.js Authors
3+
* Copyright 2010-2026 Three.js Authors
44
* SPDX-License-Identifier: MIT
55
*/
66
'use strict';
@@ -13671,6 +13671,16 @@ class Object3D extends EventDispatcher {
1367113671
*/
1367213672
this.userData = {};
1367313673

13674+
/**
13675+
* The pivot point for rotation and scale transformations.
13676+
* When set, rotation and scale are applied around this point
13677+
* instead of the object's origin.
13678+
*
13679+
* @type {?Vector3}
13680+
* @default null
13681+
*/
13682+
this.pivot = null;
13683+
1367413684
}
1367513685

1367613686
/**
@@ -14418,6 +14428,19 @@ class Object3D extends EventDispatcher {
1441814428

1441914429
this.matrix.compose( this.position, this.quaternion, this.scale );
1442014430

14431+
const pivot = this.pivot;
14432+
14433+
if ( pivot !== null ) {
14434+
14435+
const px = pivot.x, py = pivot.y, pz = pivot.z;
14436+
const te = this.matrix.elements;
14437+
14438+
te[ 12 ] += px - te[ 0 ] * px - te[ 4 ] * py - te[ 8 ] * pz;
14439+
te[ 13 ] += py - te[ 1 ] * px - te[ 5 ] * py - te[ 9 ] * pz;
14440+
te[ 14 ] += pz - te[ 2 ] * px - te[ 6 ] * py - te[ 10 ] * pz;
14441+
14442+
}
14443+
1442114444
this.matrixWorldNeedsUpdate = true;
1442214445

1442314446
}
@@ -14583,6 +14606,8 @@ class Object3D extends EventDispatcher {
1458314606
object.matrix = this.matrix.toArray();
1458414607
object.up = this.up.toArray();
1458514608

14609+
if ( this.pivot !== null ) object.pivot = this.pivot.toArray();
14610+
1458614611
if ( this.matrixAutoUpdate === false ) object.matrixAutoUpdate = false;
1458714612

1458814613
// object specific properties
@@ -14858,6 +14883,12 @@ class Object3D extends EventDispatcher {
1485814883
this.quaternion.copy( source.quaternion );
1485914884
this.scale.copy( source.scale );
1486014885

14886+
if ( source.pivot !== null ) {
14887+
14888+
this.pivot = source.pivot.clone();
14889+
14890+
}
14891+
1486114892
this.matrix.copy( source.matrix );
1486214893
this.matrixWorld.copy( source.matrixWorld );
1486314894

@@ -48999,6 +49030,8 @@ class ObjectLoader extends Loader {
4899949030

4900049031
if ( data.up !== undefined ) object.up.fromArray( data.up );
4900149032

49033+
if ( data.pivot !== undefined ) object.pivot = new Vector3().fromArray( data.pivot );
49034+
4900249035
if ( data.castShadow !== undefined ) object.castShadow = data.castShadow;
4900349036
if ( data.receiveShadow !== undefined ) object.receiveShadow = data.receiveShadow;
4900449037

@@ -56550,6 +56583,9 @@ const _vector$3 = /*@__PURE__*/ new Vector3();
5655056583
/**
5655156584
* This displays a cone shaped helper object for a {@link SpotLight}.
5655256585
*
56586+
* When the spot light or its target are transformed or light properties are
56587+
* changed, it's necessary to call the `update()` method of the respective helper.
56588+
*
5655356589
* ```js
5655456590
* const spotLight = new THREE.SpotLight( 0xffffff );
5655556591
* spotLight.position.set( 10, 10, 10 );
@@ -57008,6 +57044,9 @@ const _color2 = /*@__PURE__*/ new Color();
5700857044
* Creates a visual aid consisting of a spherical mesh for a
5700957045
* given {@link HemisphereLight}.
5701057046
*
57047+
* When the hemisphere light is transformed or its light properties are changed,
57048+
* it's necessary to call the `update()` method of the respective helper.
57049+
*
5701157050
* ```js
5701257051
* const light = new THREE.HemisphereLight( 0xffffbb, 0x080820, 1 );
5701357052
* const helper = new THREE.HemisphereLightHelper( light, 5 );
@@ -57315,9 +57354,12 @@ const _v3 = /*@__PURE__*/ new Vector3();
5731557354

5731657355
/**
5731757356
* Helper object to assist with visualizing a {@link DirectionalLight}'s
57318-
* effect on the scene. This consists of plane and a line representing the
57357+
* effect on the scene. This consists of a plane and a line representing the
5731957358
* light's position and direction.
5732057359
*
57360+
* When the directional light or its target are transformed or light properties
57361+
* are changed, it's necessary to call the `update()` method of the respective helper.
57362+
*
5732157363
* ```js
5732257364
* const light = new THREE.DirectionalLight( 0xFFFFFF );
5732357365
* scene.add( light );
@@ -57456,6 +57498,9 @@ const _camera = /*@__PURE__*/ new Camera();
5745657498
*
5745757499
* `CameraHelper` must be a child of the scene.
5745857500
*
57501+
* When the camera is transformed or its projection matrix is changed, it's necessary
57502+
* to call the `update()` method of the respective helper.
57503+
*
5745957504
* ```js
5746057505
* const camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 );
5746157506
* const helper = new THREE.CameraHelper( camera );
@@ -62671,24 +62716,20 @@ function _getGGXShader( lodMax, width, height ) {
6267162716
vec3 importanceSampleGGX_VNDF(vec2 Xi, vec3 V, float roughness) {
6267262717
float alpha = roughness * roughness;
6267362718

62674-
// Section 3.2: Transform view direction to hemisphere configuration
62675-
vec3 Vh = normalize(vec3(alpha * V.x, alpha * V.y, V.z));
62676-
6267762719
// Section 4.1: Orthonormal basis
62678-
float lensq = Vh.x * Vh.x + Vh.y * Vh.y;
62679-
vec3 T1 = lensq > 0.0 ? vec3(-Vh.y, Vh.x, 0.0) / sqrt(lensq) : vec3(1.0, 0.0, 0.0);
62680-
vec3 T2 = cross(Vh, T1);
62720+
vec3 T1 = vec3(1.0, 0.0, 0.0);
62721+
vec3 T2 = cross(V, T1);
6268162722

6268262723
// Section 4.2: Parameterization of projected area
6268362724
float r = sqrt(Xi.x);
6268462725
float phi = 2.0 * PI * Xi.y;
6268562726
float t1 = r * cos(phi);
6268662727
float t2 = r * sin(phi);
62687-
float s = 0.5 * (1.0 + Vh.z);
62728+
float s = 0.5 * (1.0 + V.z);
6268862729
t2 = (1.0 - s) * sqrt(1.0 - t1 * t1) + s * t2;
6268962730

6269062731
// Section 4.3: Reprojection onto hemisphere
62691-
vec3 Nh = t1 * T1 + t2 * T2 + sqrt(max(0.0, 1.0 - t1 * t1 - t2 * t2)) * Vh;
62732+
vec3 Nh = t1 * T1 + t2 * T2 + sqrt(max(0.0, 1.0 - t1 * t1 - t2 * t2)) * V;
6269262733

6269362734
// Section 3.4: Transform back to ellipsoid configuration
6269462735
return normalize(vec3(alpha * Nh.x, alpha * Nh.y, max(0.0, Nh.z)));

build/three.core.js

Lines changed: 47 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
22
* @license
3-
* Copyright 2010-2025 Three.js Authors
3+
* Copyright 2010-2026 Three.js Authors
44
* SPDX-License-Identifier: MIT
55
*/
66
const REVISION = '183dev';
@@ -13669,6 +13669,16 @@ class Object3D extends EventDispatcher {
1366913669
*/
1367013670
this.userData = {};
1367113671

13672+
/**
13673+
* The pivot point for rotation and scale transformations.
13674+
* When set, rotation and scale are applied around this point
13675+
* instead of the object's origin.
13676+
*
13677+
* @type {?Vector3}
13678+
* @default null
13679+
*/
13680+
this.pivot = null;
13681+
1367213682
}
1367313683

1367413684
/**
@@ -14416,6 +14426,19 @@ class Object3D extends EventDispatcher {
1441614426

1441714427
this.matrix.compose( this.position, this.quaternion, this.scale );
1441814428

14429+
const pivot = this.pivot;
14430+
14431+
if ( pivot !== null ) {
14432+
14433+
const px = pivot.x, py = pivot.y, pz = pivot.z;
14434+
const te = this.matrix.elements;
14435+
14436+
te[ 12 ] += px - te[ 0 ] * px - te[ 4 ] * py - te[ 8 ] * pz;
14437+
te[ 13 ] += py - te[ 1 ] * px - te[ 5 ] * py - te[ 9 ] * pz;
14438+
te[ 14 ] += pz - te[ 2 ] * px - te[ 6 ] * py - te[ 10 ] * pz;
14439+
14440+
}
14441+
1441914442
this.matrixWorldNeedsUpdate = true;
1442014443

1442114444
}
@@ -14581,6 +14604,8 @@ class Object3D extends EventDispatcher {
1458114604
object.matrix = this.matrix.toArray();
1458214605
object.up = this.up.toArray();
1458314606

14607+
if ( this.pivot !== null ) object.pivot = this.pivot.toArray();
14608+
1458414609
if ( this.matrixAutoUpdate === false ) object.matrixAutoUpdate = false;
1458514610

1458614611
// object specific properties
@@ -14856,6 +14881,12 @@ class Object3D extends EventDispatcher {
1485614881
this.quaternion.copy( source.quaternion );
1485714882
this.scale.copy( source.scale );
1485814883

14884+
if ( source.pivot !== null ) {
14885+
14886+
this.pivot = source.pivot.clone();
14887+
14888+
}
14889+
1485914890
this.matrix.copy( source.matrix );
1486014891
this.matrixWorld.copy( source.matrixWorld );
1486114892

@@ -48997,6 +49028,8 @@ class ObjectLoader extends Loader {
4899749028

4899849029
if ( data.up !== undefined ) object.up.fromArray( data.up );
4899949030

49031+
if ( data.pivot !== undefined ) object.pivot = new Vector3().fromArray( data.pivot );
49032+
4900049033
if ( data.castShadow !== undefined ) object.castShadow = data.castShadow;
4900149034
if ( data.receiveShadow !== undefined ) object.receiveShadow = data.receiveShadow;
4900249035

@@ -56548,6 +56581,9 @@ const _vector$3 = /*@__PURE__*/ new Vector3();
5654856581
/**
5654956582
* This displays a cone shaped helper object for a {@link SpotLight}.
5655056583
*
56584+
* When the spot light or its target are transformed or light properties are
56585+
* changed, it's necessary to call the `update()` method of the respective helper.
56586+
*
5655156587
* ```js
5655256588
* const spotLight = new THREE.SpotLight( 0xffffff );
5655356589
* spotLight.position.set( 10, 10, 10 );
@@ -57006,6 +57042,9 @@ const _color2 = /*@__PURE__*/ new Color();
5700657042
* Creates a visual aid consisting of a spherical mesh for a
5700757043
* given {@link HemisphereLight}.
5700857044
*
57045+
* When the hemisphere light is transformed or its light properties are changed,
57046+
* it's necessary to call the `update()` method of the respective helper.
57047+
*
5700957048
* ```js
5701057049
* const light = new THREE.HemisphereLight( 0xffffbb, 0x080820, 1 );
5701157050
* const helper = new THREE.HemisphereLightHelper( light, 5 );
@@ -57313,9 +57352,12 @@ const _v3 = /*@__PURE__*/ new Vector3();
5731357352

5731457353
/**
5731557354
* Helper object to assist with visualizing a {@link DirectionalLight}'s
57316-
* effect on the scene. This consists of plane and a line representing the
57355+
* effect on the scene. This consists of a plane and a line representing the
5731757356
* light's position and direction.
5731857357
*
57358+
* When the directional light or its target are transformed or light properties
57359+
* are changed, it's necessary to call the `update()` method of the respective helper.
57360+
*
5731957361
* ```js
5732057362
* const light = new THREE.DirectionalLight( 0xFFFFFF );
5732157363
* scene.add( light );
@@ -57454,6 +57496,9 @@ const _camera = /*@__PURE__*/ new Camera();
5745457496
*
5745557497
* `CameraHelper` must be a child of the scene.
5745657498
*
57499+
* When the camera is transformed or its projection matrix is changed, it's necessary
57500+
* to call the `update()` method of the respective helper.
57501+
*
5745757502
* ```js
5745857503
* const camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 );
5745957504
* const helper = new THREE.CameraHelper( camera );

build/three.core.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build/three.module.js

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
22
* @license
3-
* Copyright 2010-2025 Three.js Authors
3+
* Copyright 2010-2026 Three.js Authors
44
* SPDX-License-Identifier: MIT
55
*/
66
import { Matrix3, Vector2, Color, mergeUniforms, Vector3, CubeUVReflectionMapping, Mesh, BoxGeometry, ShaderMaterial, BackSide, cloneUniforms, Euler, Matrix4, ColorManagement, SRGBTransfer, PlaneGeometry, FrontSide, getUnlitUniformColorSpace, IntType, warn, HalfFloatType, UnsignedByteType, FloatType, RGBAFormat, Plane, EquirectangularReflectionMapping, EquirectangularRefractionMapping, WebGLCubeRenderTarget, CubeReflectionMapping, CubeRefractionMapping, BufferGeometry, OrthographicCamera, PerspectiveCamera, NoToneMapping, MeshBasicMaterial, error, NoBlending, WebGLRenderTarget, BufferAttribute, LinearSRGBColorSpace, LinearFilter, warnOnce, Uint32BufferAttribute, Uint16BufferAttribute, arrayNeedsUint32, Vector4, DataArrayTexture, Float32BufferAttribute, RawShaderMaterial, CustomToneMapping, NeutralToneMapping, AgXToneMapping, ACESFilmicToneMapping, CineonToneMapping, ReinhardToneMapping, LinearToneMapping, CubeTexture, Data3DTexture, GreaterEqualCompare, LessEqualCompare, DepthTexture, Texture, GLSL3, VSMShadowMap, PCFShadowMap, AddOperation, MixOperation, MultiplyOperation, LinearTransfer, UniformsUtils, DoubleSide, NormalBlending, TangentSpaceNormalMap, ObjectSpaceNormalMap, Layers, RGFormat, Frustum, MeshDepthMaterial, MeshDistanceMaterial, PCFSoftShadowMap, DepthFormat, NearestFilter, CubeDepthTexture, UnsignedIntType, LessEqualDepth, ReverseSubtractEquation, SubtractEquation, AddEquation, OneMinusConstantAlphaFactor, ConstantAlphaFactor, OneMinusConstantColorFactor, ConstantColorFactor, OneMinusDstAlphaFactor, OneMinusDstColorFactor, OneMinusSrcAlphaFactor, OneMinusSrcColorFactor, DstAlphaFactor, DstColorFactor, SrcAlphaSaturateFactor, SrcAlphaFactor, SrcColorFactor, OneFactor, ZeroFactor, NotEqualDepth, GreaterDepth, GreaterEqualDepth, EqualDepth, LessDepth, AlwaysDepth, NeverDepth, CullFaceNone, CullFaceBack, CullFaceFront, CustomBlending, MultiplyBlending, SubtractiveBlending, AdditiveBlending, MinEquation, MaxEquation, MirroredRepeatWrapping, ClampToEdgeWrapping, RepeatWrapping, LinearMipmapLinearFilter, LinearMipmapNearestFilter, NearestMipmapLinearFilter, NearestMipmapNearestFilter, NotEqualCompare, GreaterCompare, EqualCompare, LessCompare, AlwaysCompare, NeverCompare, NoColorSpace, DepthStencilFormat, getByteLength, UnsignedInt248Type, UnsignedShortType, createElementNS, UnsignedShort4444Type, UnsignedShort5551Type, UnsignedInt5999Type, UnsignedInt101111Type, ByteType, ShortType, AlphaFormat, RGBFormat, RedFormat, RedIntegerFormat, RGIntegerFormat, RGBAIntegerFormat, RGB_S3TC_DXT1_Format, RGBA_S3TC_DXT1_Format, RGBA_S3TC_DXT3_Format, RGBA_S3TC_DXT5_Format, RGB_PVRTC_4BPPV1_Format, RGB_PVRTC_2BPPV1_Format, RGBA_PVRTC_4BPPV1_Format, RGBA_PVRTC_2BPPV1_Format, RGB_ETC1_Format, RGB_ETC2_Format, RGBA_ETC2_EAC_Format, R11_EAC_Format, SIGNED_R11_EAC_Format, RG11_EAC_Format, SIGNED_RG11_EAC_Format, RGBA_ASTC_4x4_Format, RGBA_ASTC_5x4_Format, RGBA_ASTC_5x5_Format, RGBA_ASTC_6x5_Format, RGBA_ASTC_6x6_Format, RGBA_ASTC_8x5_Format, RGBA_ASTC_8x6_Format, RGBA_ASTC_8x8_Format, RGBA_ASTC_10x5_Format, RGBA_ASTC_10x6_Format, RGBA_ASTC_10x8_Format, RGBA_ASTC_10x10_Format, RGBA_ASTC_12x10_Format, RGBA_ASTC_12x12_Format, RGBA_BPTC_Format, RGB_BPTC_SIGNED_Format, RGB_BPTC_UNSIGNED_Format, RED_RGTC1_Format, SIGNED_RED_RGTC1_Format, RED_GREEN_RGTC2_Format, SIGNED_RED_GREEN_RGTC2_Format, ExternalTexture, EventDispatcher, ArrayCamera, WebXRController, RAD2DEG, DataTexture, createCanvasElement, SRGBColorSpace, REVISION, log, WebGLCoordinateSystem, probeAsync } from './three.core.js';
@@ -3554,24 +3554,20 @@ function _getGGXShader( lodMax, width, height ) {
35543554
vec3 importanceSampleGGX_VNDF(vec2 Xi, vec3 V, float roughness) {
35553555
float alpha = roughness * roughness;
35563556

3557-
// Section 3.2: Transform view direction to hemisphere configuration
3558-
vec3 Vh = normalize(vec3(alpha * V.x, alpha * V.y, V.z));
3559-
35603557
// Section 4.1: Orthonormal basis
3561-
float lensq = Vh.x * Vh.x + Vh.y * Vh.y;
3562-
vec3 T1 = lensq > 0.0 ? vec3(-Vh.y, Vh.x, 0.0) / sqrt(lensq) : vec3(1.0, 0.0, 0.0);
3563-
vec3 T2 = cross(Vh, T1);
3558+
vec3 T1 = vec3(1.0, 0.0, 0.0);
3559+
vec3 T2 = cross(V, T1);
35643560

35653561
// Section 4.2: Parameterization of projected area
35663562
float r = sqrt(Xi.x);
35673563
float phi = 2.0 * PI * Xi.y;
35683564
float t1 = r * cos(phi);
35693565
float t2 = r * sin(phi);
3570-
float s = 0.5 * (1.0 + Vh.z);
3566+
float s = 0.5 * (1.0 + V.z);
35713567
t2 = (1.0 - s) * sqrt(1.0 - t1 * t1) + s * t2;
35723568

35733569
// Section 4.3: Reprojection onto hemisphere
3574-
vec3 Nh = t1 * T1 + t2 * T2 + sqrt(max(0.0, 1.0 - t1 * t1 - t2 * t2)) * Vh;
3570+
vec3 Nh = t1 * T1 + t2 * T2 + sqrt(max(0.0, 1.0 - t1 * t1 - t2 * t2)) * V;
35753571

35763572
// Section 3.4: Transform back to ellipsoid configuration
35773573
return normalize(vec3(alpha * Nh.x, alpha * Nh.y, max(0.0, Nh.z)));

build/three.module.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build/three.tsl.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/**
22
* @license
3-
* Copyright 2010-2025 Three.js Authors
3+
* Copyright 2010-2026 Three.js Authors
44
* SPDX-License-Identifier: MIT
55
*/
66
import { TSL } from 'three/webgpu';

build/three.tsl.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)