Three.js Versions Save

JavaScript 3D Library.

r163

4 weeks ago

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r162--r163 https://github.com/mrdoob/three.js/milestone/76?closed=1

  • Global
    • Replace the CDN unpkg with jsdelivr. #28006 (@0b5vr)
  • AnimationClip
    • Add remaining default constructor parameters. #27956 (@trusktr)
  • BatchedMesh
    • Make use of update ranges. #27981 (@marwie)
    • Fix exception when using geometry with interleaved buffers. #27978 @marwie)
    • Fix typo in comment. #28005 (@symphony2014)
  • InstancedMesh
    • Add clone and dispose support for morphTexture. #27952 (@RenaudRohlinger)
  • Object3D
    • Fix events in attach(). #27917 (@Mugen87, @ycw)
  • PMREMGenerator
    • Fix usage in XR. #27924 (@Mugen87)
  • PointLight
    • Perform equivalent frustum test in getPointShadow() like in getShadow(). #27922 (@Mugen87)
  • Scene
    • Introduce environmentIntensity. #27903 (@WestLangley)
  • ShaderLib
    • Clean up. #27936 (@WestLangley)
  • Spherical
    • Move import, improve docs. #27848 (@davcri)
  • Texture
    • Introduce pmremVersion. #27963 (@sunag)
  • UniformsUtils
    • Check for XR render target in getUnlitUniformColorSpace(). #27869 (@mrxz)
  • WebGLProgram
    • Fix sampler2DArray precision qualifier. #27854 (@Mugen87)
  • WebGLRenderer
    • Remove WebGL 1 support. #27836, #27853, #27855, #27969 (@Mugen87)
    • Check for EXT_color_buffer_float for transmission. #27761 (@susiwen8)
    • Fix transmission with nested render calls. #27886 (@Mugen87)
    • Set stencil to false by default. #27900, #27908 (@Mugen87, @RenaudRohlinger)
    • Enable stencil with transmission. #27921 (@Mugen87)
    • Update Neutral tone mapper. #27925 (@elalish)
    • Add support for WEBGL_render_shared_exponent. #27992 (@Mugen87)

Documentation

  • Improve AnimationMixer page. #27914 (@trusktr)
  • Improve BatchedMesh page. #28004 (@marwie)
  • Improve InstancedMesh page. #27946 (@seantai)
  • Improve Material page. #27923 (@atul-mourya)
  • Improve Chinese translation. #28003 (@moshuying)

Manual

  • Fix GPU picking demo. #27866 (@Mugen87)
  • Improve post processing page. #27884 (@SADYX)
  • Fix links in Chinese translation. #27966, #27991 (@angelscat, @SADYX)
  • Remove 3D LUT guide. #27977 (@Mugen87)

Examples

  • Clean up. #27961, #27975, #27997 (@Mugen87, @Methuselah96)
  • Remove WebGL 1 related code. #27856, #27858, #27860, #27941, #27974, #27983 (@Mugen87, @Methuselah96, @WestLangley)
  • Correction to texture colorspace in webgpu_parallax_uv example. #27874 (@donmccurdy)
  • Update fflate. #27883 (@Methuselah96)
  • Fix translation snap unit in misc_controls_transform. #27959 (@Mugen87)
  • Some revision of WebGPU examples. #28011 (@sunag)
  • Simplified webgl_loader_texture_hdrjpg example. 156cb35aa2b9bd75a638ba9aa188bf937ce4f278 (@mrdoob)
  • Improved physics_rapier_instancing example. 8416704d2eb2df5cfdbc0c473458f24632b2c12c (@mrdoob)
  • Fix warning in webgpu_multiple_rendertargets example. #28015 (@sunag)
  • Using pmremTexture() instead of cubeTexture() in WebGPU examples. #27829, #27951 (@sunag, @RenaudRohlinger)

  • 3MFLoader

    • Throw error on missing rels. #27955 (@nmattia)
  • EXRLoader

    • Implement line-order & mixed channel support. #27982 (@sciecode)
  • GLTFExporter

    • Allow OffscreenCanvas as image source. #27872 (@strunkie30)
  • GLTFLoader

    • Compute world matrices before calling onLoad(). #27877 (@Mugen87)
  • HTMLMesh

    • Do not render the script tag. #27953 (@Elettrotecnica)
  • LUTPass

    • Remove redundant precision qualifier. #27945 (@Mugen87)
  • Node

    • Introduce needsUpdate=true. #27904 (@sunag)
    • Introduce onUpdate callbacks. #27964 (@sunag)
    • Rename setReference() to updateReference() and use reference in renderMap/frameMap. #28010 (@sunag)
  • NodeMaterial

    • Force unsigned float in basic output. #27915 (@sunag)
  • Renderer

    • Move await methods to renderAsync(). #27939 (@RenaudRohlinger)
  • RenderObject

    • Ignore private properties in getMaterialCacheKey().. #27995 (@sunag)
  • ShaderNode

    • Fix cacheMaps.int to cacheMaps.ints. #27911 (@susiwen8)
  • TextGeometry

    • Rename height to depth. #27949 (@zz85)
  • TextureNode

    • Introduce referenceNode. #27986 (@sunag)
  • TextureUtils

    • Fix typo frustrum to frustum. #27970 (@RenaudRohlinger)
  • TransformControls

    • Fix updateMatrixWorld() override. #27960 (@Mugen87)
  • USDZExporter

    • Add support for vertex colors. #27943 (@Bigguysahaj)
  • WebGPURenderer

    • Add PMREM support. #27829, #27951 (@sunag, @RenaudRohlinger)
    • QuadMesh extended from Mesh. #27875 (@sunag)
    • Add Timestamp Queries WebGL fallback support. #27870 (@RenaudRohlinger)
    • Add copyTextureToTexture() support. #27888 (@RenaudRohlinger)
    • Use renderAsync() as fallback. #27894 (@sunag)
    • Improve Infos logic. #27889, #27994 (@RenaudRohlinger)
    • Apply fog before tonemapping and encoding. #27850 (@sunag)
    • Support Scene.backgroundIntensity. #27918 (@susiwen8)
    • Supports instanced color and morph target via InstancedMesh. #27928 (@RenaudRohlinger)
    • Improve support int/uint textures. #27932 (@sunag)
    • Support BatchedMesh. #27937 (@RenaudRohlinger)
    • Apply batching matrice before instancing and expand multiDraw support. #27950 (@RenaudRohlinger)
    • Sync Scene.environmentIntensity. #27958 (@susiwen8)
    • Reuse meshes in PMREMGenerator and pmremVersion logic. #27988 (@sunag)
    • Add (u)int16 Support. #28008, #28009 (@RenaudRohlinger, @sunag)

Node Editor

  • Fix connection lengths and let them be based on node input/output types. #27891, #27998 (@abc013)

Editor

  • Clean up. #27881 (@Mugen87)
  • Update path tracer environment and background selectively. #27847 (@gkjohnson)
  • Fixed pathtracer background blurriness. #27852 (@mrdoob)
  • Geometry, material and object export json in UTF-8. #27938, c96c6bd091c6eab663130a7ac81d5529a5571fde (@ycw, @mrdoob)
  • Fix center command. #27940 (@Mugen87)
  • Use more three/addons/* alias. #27967 (@Kalinundefined)
  • Add Japanese translation. #27976 (@Hashory)

r162

1 month ago

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r161--r162 https://github.com/mrdoob/three.js/milestone/75?closed=1

  • Global
    • Remove deprecated code. #27656 (@Mugen87)
  • BufferGeometry
    • Remove outdated advice from error message. #27824 (@Mugen87)
    • Use dedicated BufferAttribute API in computeTangents(). #27825 (@Mugen87)
  • EllipseCurve
    • Use ES6 default parameters in getPoint(). #27677 (@linbingquan)
  • Float64BufferAttribute
    • Remove class. #27807 (@Mugen87)
  • InstancedMesh
    • Add support for morph targets. #27669, #27704 (@wizgrav)
  • Material
    • Fix emissiveIntensity not persisting. #27769 (@connorgmeehan)
  • Object3D
    • Add childadded and childremoved events. #16934, #27754 (@gkjohnson)
  • PMREMGenerator
    • Clarify image size limitations. #27764 (@WestLangley)
  • Quaternion
    • Correct random(). #27724 (@WestLangley)
  • ​​Raycaster
    • Added setFromXRController(). #27801 (@mrdoob)
    • Improve readability. 71c1f51e365c2804f9017dcf6590475a9bf2cb64 (@mrdoob)
  • RenderTarget
    • Add count option for MRT. Deprecate WebGLMultipleRenderTargets. #26427 (@CodyJasonBennett)
  • ShaderChunk
    • Clean up. #27671 (@CodyJasonBennett)
  • SpotLightHelper
    • Fix offset when adjusting the scene / parent position. #27487 (@gkjohnson)
  • Vector3
    • Correct randomDirection(). #27725 (@WestLangley)
  • WebGLRenderer
    • Remove unnecessary __hasExternalTextures check. #27684 (@susiwen8)
    • Change scissor, viewport functions to use round() instead of floor(). #27703 (@gkjohnson)
    • Add support for Khronos Neutral Tone Mapping. #27668, #27717 (@elalish, @Mugen87)
    • Fixed compressed partial update on texture3D. #27771 (@RenaudRohlinger)
    • Add support for rotating env maps. #27758, #27785, #27787 (@Mugen87, @WestLangley)
  • WebGLState
    • Check WEBGL_draw_buffers extension before calling drawBuffersWEBGL(). #27693 (@susiwen8)
  • WebGLTextures
    • Ensure RGIntegerFormat is supported in getInternalFormat(). #27688 (@Aloalo)
    • More flexible image dimensions computation. #27810 (@Mugen87)

Documentation

  • Improve GLTFLoader page. #27676, #27678 (@aardvarkk, @Mugen87)
  • Improve GridHelper page. #27817, #27830 (@trusktr, @Mugen87)
  • Improve Matrix Transformations guide. #27714 (@jo-chemla)
  • Improve MeshPhysicalMaterial page. #27740 (@Mugen87)
  • Improve Object3D page. #27755 (@Mugen87)
  • Improve Chinese translations. #27657, #27813 (@puxiao)
  • Better explain bounding volumes. #27744 (@Mugen87, @WestLangley)

Manual

  • Improve Chinese translation. #27675, #27685 (@nmsn)

Examples

  • Clean up. #27711, #27795 (@Mugen87, @Methuselah96)
  • Remove unnecessary clear() in webgl_camera example. #27665 (@WestLangley)
  • Update tween.js. #27670 (@Methuselah96)
  • Fix spot light distance in webgl_lights_spotlight example. #27721 (@Mugen87)
  • Update import map dependency versions. #27800 (@gkjohnson)
  • Add eye rotation to webgl_morphtargets_webcam example. #27781 (@vis-prime)
  • Add webxr_xr_controls_transform example. #27845 (@mrdoob)

  • 3DMLoader

    • Updating rhino3dm to 8.4.0. #27833 (@fraguada)
  • BlendModeNode

    • Add layout and fix if used with textures. #27738 (@sunag)
  • CondNode

    • Fix duplicate conditional. #27828 (@sunag)
  • DragControls

    • Add rotate mode. #27689 (@lewibs)
    • Add support for multiple groups. #27791, #27822 (@narenjoriona, @Mugen87)
  • GLTFExporter

    • Better error handling when using invalid image data. #27700 (@Mugen87)
  • InteractiveGroup

    • Refactor API. 791ed5afd5172f2566d915772d7686a34d7172e5 (@mrdoob)
  • MorphNode

    • Fix loop performance #27707 (@sunag)
  • Node

    • Add increaseUsage(). #27672 (@sunag)
    • Fix tangentView and move TBNViewMatrix to AccessorsUtils. #27696 (@sunag)
    • Remove ArrayUniformNode. #27705 (@sunag)
  • OrbitControls

    • Add missing epsilon to change check. #27620 (@jteppinette)
    • Handle duplicated pointerId. #27748 (@sciecode)
    • Ensure interceptControlDown() listener is removed in dispose(). #27778 (@IvanLi-CN)
    • Fix zoom-changed detection. #27834 (@sciecode)
  • ProgressiveLightMap

    • Fix uv regression. #27692 (@Mugen87)
  • SkeletonUtils

    • Fix retargetClip() duration and last frame handling. #27653 (@AlaricBaraou)
  • StorageArrayElementNode

    • Add new class. #27673 (@sunag)
  • StorageInstancedBufferAttribute

    • Clean up. #27736 (@sunag)
  • TSL

    • Add uniforms syntax. #27706 (@sunag)
    • return, Continue, Break - Part 1. #27726 (@sunag)
    • Add parallaxUV syntax. #27739 (@sunag)
    • Support for split assignment. #27796, #27797 (@sunag)
    • Fix duplicate assignments. #27798 (@sunag)
    • Add all, any and equals syntax. #27821 (@sunag)
    • Fix tslFn generate in isolated cache. #27844 (@sunag)
  • VOXLoader

    • Improve version error message. #27812 (@Mugen87)
  • VRMLLoader

    • Fix transparency settings for lines and points. #27841 (@Mugen87)
  • WebGPURenderer

    • Support reading external elements in the WebGL Backend. #27661 (@RenaudRohlinger)
    • Fix vec2 and vec3 for storageObject in StorageBufferNode. #27697 (@RenaudRohlinger)
    • Fix attribute data getting reset when using vec3 in WebGPU. #27708 (@RenaudRohlinger)
    • Support clipping. #27691 (@aardgoose)
    • Add support for non-instanced meshes to StorageBuffer. #27712 (@RenaudRohlinger)
    • Fix isStorageInstancedBufferAttribute usage. #27737 (@sunag)
    • Fix update attribute in WebGL Backend. #27751 (@RenaudRohlinger)
    • Better skinning performance. #27753 (@sunag)
    • Fix flipY Data*Texture. #27815 (@sunag)
    • getTextureLevel() of background should multiply maxMipLevel. #27820 (@susiwen8)
    • Fix call clear() before rendering. #27835 (@sunag)
    • Define setAnimationLoop() as default in examples. #27839 (@sunag)
    • Added sync render()/clear(). #27840 (@sunag)
  • WebXR

    • Don't request hand-tracking feature by default. #27699, #27715 (@Mugen87)
  • WGLSLNodeBuilder

    • Fix equals(). #27826 (@sunag)
  • XRControllerModelFactory

    • Add setPath().#27816 (@ferminLR)

Node Editor

  • Fix Car WebGL example. #27757 (@abc013)
  • Add more hotkeys. #27762 (@abc013)

Editor

  • Clean up. ec25730053a0cccad977acfd0307e50d969d4250, f9339507c5443d8e3257998ae02ebaf33dafc04f, 7847e6b476eab86c3f149acd4dadbc5d78ff7d04 (@mrdoob)
  • Fully migrate EditorControls to Pointer Events. #27745, #27749 (@Mugen87)
  • Remove VR code from App.js. #27772 (@mrdoob)
  • Use WebXR's offerSession(). when available. #27773 (@mrdoob)
  • Unify app Config/Play/Publish into a single panel in SideBar. #27775 (@mrdoob)
  • Render video in a popup. #27776 (@mrdoob)
  • signals.transformModeChanged calls render() now. #27777 (@linbingquan)
  • Update realistic viewport packages. #27780 (@gkjohnson)
  • Add background rotation support. #27790 (@mrdoob)
  • Improve XR mode. #27802, 0bf3908b73b2cf73d7361cce17cfc8b816cb2a00, 6b50ba4a4559277ed8da98baec7c56c35180a752 (@mrdoob)
  • Add cache to UITexture. 74d7dc8a5fb92e40758ec6b8fd08502c5ca019b3 (@mrdoob)
  • Move menubar/edit/clear_history to sidebar/history/clear. 8a321b5194e5b793c477b4a933819b2cfa241380 (@mrdoob)
  • Move export Geometry/Object/Scene to Sidebar. 109c87fbefa8c1ab391d1d7c53abf5b983ab9944 (@mrdoob)
  • Increase sidebar panel width from 300px to 350px. ba3e2fc146f9cfd002aa856d4eb5f6e0ea97636e (@mrdoob)
  • Improve video render UX on mobile. 2315ae8cbf45b22ec956b976e1ef91baf7dc6784 (@mrdoob)
  • Improve UINumber and UIInteger behavior. f9a97ef7814a67bf84048cfc42a78c21a77281ed (@mrdoob)
  • Add menubar workaround for VisionOS. 88f5aaaf321db4ed9f1e1c5a3be2cf1c4e9e6ca8 (@mrdoob)
  • Improve Viewport.Info. 4654223c3ebe6e21b9c14986d5dddb6accc14ca7 (@mrdoob)

r161

2 months ago

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r160--r161 https://github.com/mrdoob/three.js/milestone/74?closed=1

  • Global
    • Remove deprecated code. #27480, #27467 (@CodyJasonBennett, @Mugen87)
    • Remove deprecated build files. #27507 (@gkjohnson)
  • Audio
    • Make setDetune() more robust. #27479 (@Mugen87)
  • BatchedMesh
    • Fix active not being accounted for, bounding box functions returning incorrect fields. #27484 (@gkjohnson)
  • BufferAttribute
    • Use warnOnce() for deprecated methods. #27595 (@hybridherbst)
  • InterleavedBufferAttribute
    • Add get / set component methods. #27590 (@gkjohnson)
  • Material
    • Add alpha to coverage define, add clipping & alpha test anti aliasing. #22172 (@gkjohnson)
  • PerspectiveCamera
    • Add getViewBounds() and getViewSize(). #27574, #27605 (@Bug-Reaper, @WestLangley)
  • Source
    • Add dataReady flag. #27649 (@Mugen87)
  • WebGLAttributes
    • Add .updateRange deprecation comment. #27550 (@LeviPesin)
  • WebGLCubeMaps
    • Increase size of internal cube maps. #27530 (@Mugen87)
  • WebGLProgram
    • Show which shader caused compilation error. #27553, #27565 (@hybridherbst, @Mugen87)
  • WebGLPrograms
    • Fix fogExp2 parameter. #27430 (@vanruesc)
    • UV attributes now depend on used channels, not geometry attributes. #27608 (@Mugen87)
  • WebGLRenderer
    • Add required gamut mapping for AgXToneMapping. #27413 (@WestLangley)
    • Explicitly specify precision for all sampler types. #27482 (@StrandedKitty)
    • Option to enable multi_draw / gl_DrawID in vertex shader. #27630 (@vegarringdal)
  • WebGLTextures
    • Add filter check for float textures. #27460 (@Mugen87)
  • WebXRManager
    • Add depth sensing support. #27586 (@cabanier, @mrdoob)

Documentation

  • Clean up. #27652 (@Mugen87)
  • Improve Chinese translation. #27441, #27443 (@newstart0514, @puxiao)
  • Improve DirectionalLightShadow page. #27519 (@zsombok)
  • Improve Installation page. #27499 (@a0m0rajab)
  • Improve Libraries and Plugins page. #27646 (@ASproson)
  • Improve LOD page. #27554 (@tomhsiao1260)
  • Improve RingGeometry page. #27495 (@xxhls)
  • Improve WebGLRenderer page. #27532 (@aardgoose)

Manual

  • Improve Fundamentals guide. #27521 (@susiwen8)
  • Improve Chinese translation. #27594, #27648 (@nmsn, @1Rone11)
  • Refactor canvas width and height computation. #27606 (@herobank110)
  • Improve code example. #27640 (@1Rone11)

Examples

  • Clean up. #27457, #27459, #27469, #27531, #27614 (@hybridherbst, @CodyJasonBennett, @ycw, @Mugen87, @linbingquan)
  • Add support for FloatType and add docs to LUT loaders. #27431 (@vanruesc)
  • Add extra blue to webgpu_backdrop_water example. #27455 (@sunag)
  • Fix webgpu_morphtargets_face example. #27489 (@RenaudRohlinger)
  • Add optional onLoad() callback when loading hands or controllers for WebXR. #27544 (@hybridherbst)
  • Update external library dependencies. #27584 (@gkjohnson)
  • Add webgpu_custom_fog example and TriNoise3D. #27599 (@sunag)
  • Add webgpu_postprocessing_anamorphic example and AnamorphicNode. #27621 (@sunag)
  • Add scissor configuration in webgl_camera example. #27644 (@WestLangley)

  • 3DMLoader

    • Fix typos and reorder imports alphabetically. #27631 (@GitHubDragonFly)
  • AfterImageNode

    • New FX class for after image effects. #27451 (@RenaudRohlinger)
  • BufferGeometryUtils

    • Add support for interleaved buffers in mergeAttributes(). #27591 (@gkjohnson)
  • CameraNode

    • Add missing cameraProjectionMatrixInverse. #27578, #27579 (@RenaudRohlinger)
  • GaussianBlurNode:

    • Add alpha channel support. #27444 (@RenaudRohlinger)
    • Reduce overhead. #27447 (@aardgoose)
  • GroundedSkybox

    • Replacement for GroundProjectedSkybox. #27448 (@elalish)
    • Fix UVs being flipped. #27500 (@hybridherbst)
  • GTAOPass

    • Fix setting of PERSPECTIVE_CAMERA define. #27436 (@Rabbid76)
  • Line2NodeMaterial

    • Honor changes from original source. #27474 (@aardgoose)
  • MaterialXLoader

    • Improve onError handling. #27433 (@hybridherbst)
    • Respect handlers attached to manager when loading textures. #27432 (@hybridherbst)
    • Add normal, tangent, texcoord, geomcolor, position space support. #27456 (@hybridherbst)
    • Optional parameter. #27462 (@sunag)
    • Unlit material. #27575 (@sunag)
  • MathNode

    • New cbrt function for easy cube root calculations. #27497 (@RenaudRohlinger)
    • Add lengthSq. #27568 (@RenaudRohlinger)
  • MathUtilsNode

    • Rename to MathUtils. #27629 (@sunag)
  • MeshPostProcessingMaterial

    • Add new material for more physically correct AO effects. #27475 (@Rabbid76)
  • MeshSSSNodeMaterial

    • Implement node material supporting SSS. #27488, #27506 (@sunag)
  • NodeBuilder

    • Remove duplicate code. #27412 (@aardgoose)
    • Simplify createNodeMaterial() usage. #27580 (@sunag)
    • getComponentType() instead of getPrimitiveType(). #27617 (@sunag)
  • NURBSVolume

    • Add new class for volumetric NURBS. #27601 (@mmoelle1)
  • OperatorNode

    • Add unary operator support. #27641 (@RenaudRohlinger)
  • OrbitControls

    • Fix orthographic change event. #27424 (@sciecode)
    • Update state on pointer up. #27425 (@sciecode)
    • Fix onPointerUp(). #27445 (@sciecode)
    • Fix pinch zoom behavior. #27446 (@sciecode)
    • Fix offscreen canvas support and cleanup. #27522 (@RenaudRohlinger)
  • ReflectorNode

    • New node class for planar realtime reflections. #27611 (@sunag)
  • Renderer

    • Fix dispose(). #27471 (@RenaudRohlinger)
  • RotateNode

    • Add new node and remapping functions. #27525 (@RenaudRohlinger)
  • ShaderNode

    • Fix .isArrayInput. #27428 (@sunag)
  • SVGLoader

    • Update vertices according uv.y when linecap is square. #27429 (@nieyuyao)
    • Fix triangle segment uv coordinates. #27485 (@Rabbid76)
  • Timer

    • Only update delta and elapsed time when document is visible. #27651 (@mrxz)
  • TSL

    • Better support for the mod method. #27517 (@sunag)
  • ToneMappingNode

    • Ass support for AgXToneMapping. #27549 (@RenaudRohlinger)
  • USDZExporter

    • Add maxTextureSize option. #27528 (@Sov3rain)
  • ViewportNode

    • Fix setup(). #27566 (@sunag)
  • VRMLLoader

    • Update the token pattern for identifier to load VRML files from KiCad. #27543 (@Liangtie)
  • Water2

    • Fix the error when flowSpeed and other parameters are 0. #27536 (@gitplus)
  • WebGLTextureUtils

    • Add missing call to state helper. #27503 (@aardgoose)
  • WebGPURenderer

    • Fix alpha canvas in WebGPU. #27442 (@RenaudRohlinger)
    • Fix geometry does not have the attribute requested by the material. #27454 (@sunag)
    • Forward context to Renderer. #27472 (@RenaudRohlinger)
    • Support KTX compressed textures with WebGL backend. #27463 (@RenaudRohlinger)
    • MSAA, postprocessing and wireframe support in the WebGL backend. #27473 (@RenaudRohlinger)
    • Fix renderContext tracking in WebGL backend. #27490 (@aardgoose)
    • Support WebGLCubeRenderTarget. #27071 (@aardgoose)
    • Create invalidation array once for WebGL MSAA. #27505 (@aardgoose)
    • WebGLBackend clea nup RTT buffers when dispose texture. #27513 (@RenaudRohlinger)
    • Add offscreen support. #27520 (@RenaudRohlinger)
    • Cache renderPassDesciptors and associated views. #27518 (@aardgoose)
    • Partial compute shader support for WebGL backend. #27367 (@aardgoose)
    • Fix tone mapping on display nodes. #27557 (@RenaudRohlinger)
    • Use cached descriptor properties and views were possible in clear(). #27551 (@aardgoose)
    • Fix BachedMesh coordinate system in case of WebGLBackend. #27567 (@sunag)
    • PassNode + PostProcessing - WebGPUBackend. #27537 (@sunag)
    • Improve copyTextureToBuffer support. #27569 (@RenaudRohlinger)
    • Compute texture using TSL. #27582 (@sunag)
    • Add forceWebGL parameter. #27589, #27596 (@RenaudRohlinger)
    • Fix copyFramebufferToTexture wrong framebuffer binding in WebGLBackend. #27593 (@RenaudRohlinger)
    • Add timestamp queries support in WebGPU. #27597 (@RenaudRohlinger)
    • Add Anisotropy Support & Resolve Scissor Issues in WebGL Backend. #27609, #27615 (@RenaudRohlinger, @susiwen8)
    • Fix video textures in WebGL backend. #27610 (@RenaudRohlinger)
    • Add clearAsync() clear[color|depth|stencil]Async(). #27613 (@aardgoose)
    • Support mat2() and extend RotateNode to support vec2 rotation. #27612 (@aardgoose)
    • Implement compileAsync(). #27098 (@aardgoose)
    • Fix ambiguous field in WebGL Backend. #27619 (@RenaudRohlinger)
    • Clean up code base. #27622 (@RenaudRohlinger)
    • Add shadowNode to NodeMaterial. #27625 (@RenaudRohlinger)
  • XRButton

    • Display offersession promise failure as warning. #27492 (@cabanier)

Editor

  • Add compute tangents option. #27461 (@Mugen87)
  • Ensure clips are optimized before exporting to glTF. #27529 (@Mugen87)
  • Fix color space evaluation of textures. #27548 (@gitplus)
  • Add path tracer to viewport. #27643, 2b6dfe9b581036c8d2360bc23e5800febed930f4, 1e771e13cb3de863afec27fbcbda5eb1f19b41b0, e06a8b3d3d337d23fba4418fd537aaf3b38e470d, 70fb9cad20adf73f49acbb66cf896df4ca6efad4, 85cd3cb6ca086e955c1d9f9a7e3514add0ce5c68, 1b35d645db0070803e48fb5ba302478c99ac99d7 (@mrdoob)
  • Only cache GET requests. 92f40ca0cea4cfa1931375155c65e622a048da2c (@mrdoob)

r160

4 months ago

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r159--r160 https://github.com/mrdoob/three.js/milestone/73?closed=1

  • Global
    • Clarify warning messages. #27288 (@WestLangley)
    • Remove deprecated code. #27341 (@Mugen87)
  • ImageBitmapLoader
    • Cache promises to deduplicate requests. #27270 (@Archimagus)
  • Quaternion
    • Add missing call of _onChangeCallback() to fromBufferAttribute(). #27363 (@Mugen87)
    • Add default parameter to setFromEuler(). #27364 (@Mugen87)
    • Remove redundant _onChangeCallback() in slerp(). #27365 (@Mugen87)
  • RectAreaLight
    • Only use float textures if linear interpolation is supported. #27315 (@gkjohnson)
  • Shaders
    • Remove unused defines. #27346 (@sunag)
  • Sphere
    • Add isSphere flag. #27395 (@Mugen87)
  • Triangle
    • Return null in getBarycoord() if triangle is degenerated. #27311 (@gkjohnson)
    • Return nulll in getInterpolation() if triangle is degenerate. #27331 (@gkjohnson)
  • WebGLRenderer
    • Fix level mipmap and support CompressedArrayTexture in copyTextureToTexture3D(). #27313 (@RenaudRohlinger)
    • Add WEBGL_clip_cull_distance support. #27371 (@RenaudRohlinger, @Mugen87)
    • Add support for AgX Tone Mapping. #27366, #27403, #27409 (@gkjohnson, @donmccurdy, @Mugen87)
  • WebGLShadowMap
    • Dispose of unique depth/distance materials. #27326 (@Mugen87)
  • WebGLTextures
    • Directly evaluate capabilities. #27340 (@Mugen87)
  • WebGLUniformsGroups
    • Correct 3x3 to 3x4 matrix conversion in UBO. #27284 (@RenaudRohlinger)
    • UBO Boolean support and fix cache on number. #27285 (@RenaudRohlinger)
    • Add array support in UBOs. #27293, #27374 (@RenaudRohlinger)

Documentation

  • Improve Chinese translation. #27298, #27408 (@puxiao, @SADYX)
  • Improve Material page. #27416 (@LR17)
  • Improve SceneUtils page. #27372 (@linbingquan)
  • Improve SkinnedMesh page. #27303 (@Mugen87)
  • Add Jolt to physics list. #27335 (@josephrocca)

Examples

  • Clean up. #27322, #27469, fc292ae64b32c0411816b2908c9a6b7b4677cb0d (@Methuselah96, @mrdoob, @ycw)
  • Fix RTT coord Y in webgpu_compute_particles_rain example. #27286 (@sunag)
  • Update 3DMLoader docs and example CDN script. #27289 (@ianpetrarca)
  • Add webgpu_backdrop_water example. #27397, #27404, caf8c1f40161a419ae8c88b0706d94002684289f (@sunag, @mrdoob)
  • Add webgpu_compute_particles_snow example. #27400, #27404, de3d5ff3d0451f94d545210e8532a74d7eae067e (@sunag, @mrdoob)
  • Use relative references inside examples/jsm. #27381 (@hybridherbst)
  • Change default tone mapping in webgl_tonemapping example. 3a5de8c8b8b03e39a7c5f6343f4d4884a9a7a71d (@mrdoob)
  • Improve webgpu_compute_particles example. b7ebd00a51717dfd8e01b21989a4e84c23fbce03 (@mrdoob)

  • CSM

    • Fix lights when shadow maps are disabled. #27358 (@OndrejSpanel)
  • CurveModifier

    • Add multiple material support. #27324 (@sheepdragon)
  • DracoLoader

    • Fix not calling onError(). #27306, #27308 (@Benjythebee)
  • GTAOPass

    • Add new AO post processing pass (replaces HBAOPass). #27317 (@Rabbid76)
    • Improve shaders and example. #27318, #27319, #27320, #27321, #27348, #27370 (@Mugen87, @Rabbid76)
  • LineMaterial

    • Fix clipping at edge artifacts. #27349 (@gkjohnson)
  • MaterialXLoader

    • Add normalNode and emissiveNode. #27356 (@hybridherbst)
  • NodeMaterial

    • Log warnings instead of throwing on redefinitions of node types. #27357 (@hybridherbst)
    • Mark directory as effectful for Webpack/Vite. #27376 (@CodyJasonBennett)
  • OrbitControls

    • zoom-to-cursor with touch events. #27384 (@sciecode)
    • Pointers list only used for identification. #27420 (@sciecode)
    • Use scroll event delta to modulate zoom speed. #27418 (@sciecode)
    • Fix pinch zoom behavior. #27446 (@sciecode)
  • StorageTexture

    • Add mipmaps support. #27332 (@sunag)
  • Timer

    • Add Clock alternative. #17912, #27394, #27421, #27423 (@Mugen87, @vanruesc, @mrdoob)
  • TSL

    • Fix texture_depth_2d in wgslFn. #27323 (@sunag)
  • USDZExporter

    • Export from compressed texture data. #27382 (@jeffbeene)
    • Only import required modules. #27383 (@jeffbeene)
  • WebGPURenderer

    • Add initial support of MaterialX. #27294 (@sunag)
    • Support getArrayBufferAsync() for WebGL backend. #27355 (@aardgoose)
    • Initial support for PostProcessing, GaussianBlurNode and QuadMesh. #27369 (@sunag)
    • Fix use of same material with different skeleton. #27398 (@sunag)
    • Bug fixes for WebGLBackend. #27410 (@aardgoose)
  • XRButton

    • Add support for offerSession(). #27359, #27368 (@cabanier)

Editor

  • Fix multi-material support. #27265 (@Mugen87)
  • Add missing manager to GLTFLoader. #27336, #27337 (@Mugen87)
  • Added AgXToneMapping support. edb0af355799bb48c18e9bcdaa113cf6fdebc7dd (@mrdoob)

r159

4 months ago

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r158--r159 https://github.com/mrdoob/three.js/milestone/72?closed=1

  • AudioLoader
    • Fix uncaught DOMException in promise. #27237 (@Mugen87)
  • BatchedMesh
    • Clean up. #27231 (@gkjohnson)
    • Fix failure with MeshBasicMaterial. #27074 (@gkjohnson)
    • Use texelFetch and textureSize. #27077 (@gkjohnson)
    • Add setGeometryAt() and addGeometry() methods. #27078, #27099 (@gkjohnson)
    • Add multi draw support. #27109, #27111, #27130, #27176, #27178 (@gkjohnson)
    • Add built-in material support. #27115, #27229 (@gkjohnson)
    • Add serialization and copy() support. #27131, #27179, #27201 (@gkjohnson)
    • Add support for frustum culling per batched geometry. #27120, #27219 (@gkjohnson)
    • Add object-level bounds. #27145 (@gkjohnson)
    • Add support for raycasting. #27146 (@gkjohnson)
    • Add support for per-object opaque and transparent sorting. #27168, #27202, #27213, #27236, #27258 (@gkjohnson)
    • Move to core. #27200, 2b3883adf889be5ecc32c585e379f5e895d8ea84 (@gkjohnson, @mrdoob)
    • Update example, fix depth conversion & auxiliary buffer. #27228 (@sciecode)
  • BufferAttribute
    • Add support for multiple update ranges. #27103, #27148, #27149 (@gkjohnson)
  • InstancedMesh
    • Add missing transformation for tangents. #27128 (@gkjohnson)
  • MeshPhysicalMaterial
    • Fix anisotropy rotation. #27153 (@elalish)
    • Fix anisotropy zero strength. #27164 (@elalish)
  • Object3D
    • Add optional target to getObjectsByProperty(). #27225 (@agargaro)
    • Add onBeforeShadow() and onAfterShadow() callbacks. #27250 (@RenaudRohlinger)
  • Skeleton
    • Remove need skinning texture size uniform by using textureSize function. #27117, #27127 (@gkjohnson, @Mugen87)
    • Compute a smaller texture dimension. #27211 (@gkjohnson)
  • WebGLAttributes
    • Strict buffer size check when updating data. #27188 (@eXponenta)
  • WebGLArrayRenderTarget
    • Missing options in constructor. #27249 (@RenaudRohlinger)
  • WebGLCubeMap
    • Accept textures of render targets. #27230 (@elalish)
  • WebGLUniforms
    • Add sampler2DShadow support. #27252 (@RenaudRohlinger)
  • WebXRManager
    • Synchronize sizing with renderer. #26905 (@CodyJasonBennett)

Documentation

  • Improve formatting of matrices. #27079 (@ycw)
  • Improve Arabic translation. #27118, #27129, #27140 (@mourra950)
  • Improve Portuguese translation. #27144 (@south3452)
  • Improve BatchedMesh page. #27175, #27209 (@gkjohnson, @Methuselah96)
  • Improve DirectionalLightHelper page. #27122, #27135 (@amin-da, @Mugen87)
  • Improve Libraries and Plugins page. #27182 (@JaimeTorrealba)
  • Improve LineDashedMaterial page. #27278, #27276 (@Mugen87, @WestLangley)
  • Improve MeshPhysicalMaterial page. #27281, #27282 (@gkjohnson, @Mugen87)
  • Improve Object3D page. #27257 (@Mugen87)
  • Improve render target pages. #27253, #27254 (@Mugen87)

Examples

  • Clean up. #27105, #27226, #27262, #27267, #27272, 966e9fee64383cf6370ec362921debea0b321243 (@sunag, @CodyJasonBennett, @Mugen87, @linbingquan, @mrdoob)
  • Disable minimap in webgpu_tsl_editor example. #27113 (@WestLangley)
  • Add webgl_postprocessing_hbao example. #27114, #27185 (@Rabbid76)
  • Add glsl tag and format fragment shaders with tabs. #27206 (@linbingquan)
  • Add webgl_loader_texture_hdrjpg example. #27183, #27277, 90ee2efbb00944f97b7c59e8ee47d2e2047e57be, c15506e8e7ffa9eebe594eccae692a07cd7f21c9, 9bcf8ab6d62edd8d38819b78643fd91f30b79326 (@daniele-pelagatti, @mrdoob)
  • Add Safari fix for OffscreenCanvas in webgl_worker_offscreencanvas example. #27283 (@RenaudRohlinger)
  • Removed minimap from webgpu_tsl_transpiler example. b5e44dae9f3a80f666fdacc4225c2df29a40eef4 (@mrdoob)

  • ColladaLoader

    • Remove unused constructor. #27119 (@gkjohnson)
  • FBXLoader

    • Fix polygon triangulation. #27094 (@StrandedKitty)
    • Fix rotation discontinuities. #27057 (@solinehayes)
    • Fix error when loading one frame animation. #27143 (@solinehayes)
    • Add UnitScaleFactor to scene's userData. #27187 (@Mugen87)
    • Support loading DDS textures. #27204 (@Mugen87)
  • GLTFExporter

    • Fix typo in GLTFMaterialsSpecularExtension. #27152 (@elalish)
    • Initial support for EXT_materials_bump. #27036 (@bhouston)
    • Restore multi material support for non-indexed geometries. #27268 (@Mugen87)
  • GLTFLoader

    • Fix use of setPath() with external resources. #27106 (@Archimagus)
    • Initial support for EXT_materials_bump. #27036 (@bhouston)
  • HTMLMesh

    • Clear the canvas before starting to draw. #27092 (@Elettrotecnica)
    • Create canvas in its original position instead of (0,0). #27091 (@Elettrotecnica)
  • NodeMaterial

    • ViewportNode revision. #27096 (@sunag)
    • Ensure onBuild() uses the correct material reference. #27097 (@Mugen87)
    • Mark as effectful for Webpack. #27189 (@CodyJasonBennett)
    • Fix hue code in ColorAdjustmentNode. #27197 (@sunag)
    • Use type vec3 when getting color attribute. #27210 (@andreasrosdal)
    • Rename colorSpace to colorSpaced property. #27238 (@sunag)
    • Prioritize depthNode. #27244 (@sunag)
  • NRRDLoader

    • Make sure scan() always returns a typed array. #27212 (@Mugen87)
  • Octree

    • Add clear(). #27160 (@CahierX)
  • OrbitControls

    • Remove useless assignment. #27266 (@Mugen87)
  • SVGLoader

    • Add vertices along counterclockwise if bevel. #27121 (@nieyuyao)
  • TextureHelper

    • Add new addon for debugging textures. #27151 (@donmccurdy)
  • TextureUtils

    • Add forceContextLoss() to decompress(). #27136 (@Mugen87)
    • Fix invalid texture data after decompression. #27137 (@Mugen87)
  • TSL

    • Fix typo in TSLEncoder. #27075 (@khalid586)
    • Add varyingProperty. #27198 (@sunag)
    • Introduction of fragmentNode. #27239 (@sunag)
  • USDZExporter

    • Remove obsolete code in buildVector2Array(). #27264 (@Mugen87)
  • USDZLoader

    • Avoid recursive calls of parseNextLine(). #27169 (@Mugen87)
  • WebGPURenderer

    • Clean up. #27090 (@sunag)
    • Add setRenderObjectFunction(). #27068 (@sunag)
    • Support depth buffer copies in WebGLBackend.copyFramebufferToTexture(). #27083 (@aardgoose)
    • Add call ID. #27101 (@sunag)
    • Add support for shared and unique uniform groups. #27134 (@sunag)
    • Fix lights hash. #27150 (@sunag)
    • Add support for DataArrayTexture. #27190 (@sunag)
    • Add support for morph textures. #27207, #27218 (@sunag)
    • Move pipeline cache data to backends. #27220 (@sunag)
    • Add Color4 support. #27222 (@sunag)
    • Depth pixel & logarithmic depth buffer. #27243 (@sunag)
    • Implement readRenderTargetPixelsAsync() for WebGL backend. #27006 (@aardgoose)
    • Fix strip index format. #27279 (@sunag)
    • Added webgpu string in data-engine. d4f278c4df1b4861e035883ecfc6fb957cc2fa35 (@mrdoob)

Tests

  • Only build module in E2E. #27157 (@mrdoob)
  • Run E2E CI only on macOS. #27165 (@mrdoob)

Editor

  • Clean up. e1e2409dfd048859beace32e6f71dbd677fa34dc (@mrdoob)
  • Fix KTX2 support with glTF assets. #27191 (@Mugen87)
  • Refactor creation of GLTFLoader. #27193 (@Mugen87)
  • Unified Viewport.Camera and Viewport.Shading. 1151545d676d9e1ac57d7bc71deb8ac2f910cebd (@mrdoob)
  • Moved grid and helpers settings to Viewport.Controls. e0d329dd164de9f24256076dbe6a32a0abb81e51 (@mrdoob)
  • Fixed helpers checkbox also hiding the grid. 116382c177f28a673d365f4f2b17d79e1a5d2a99 (@mrdoob)
  • Removed IndexedDB prefixes. e49c913cbfe09b38f9072e7fa04e505d70640ff5 (@mrdoob)
  • Fixed UINumber mobile UX. a45cf54f5cfb98f095553673c490a8b1230a5238 (@mrdoob)

r158

5 months ago

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r157--r158 https://github.com/mrdoob/three.js/milestone/71?closed=1

  • Global
    • Add test-circular-deps script. #26926 (@marcofugaro)
    • Add three/addons target for npm. #26910, #27003 (@CodyJasonBennett)
    • Fix typos. #27020 (@thapasusheel)
  • Box3
    • Better support for animated objects in expandByObject() in precise mode. #26919 (@Mugen87)
  • Material
    • Fix needsUpdate in context of alphaHash. #26900 (@donmccurdy)
    • Add missing blend parameters to toJSON(). #26947 (@Mugen87)
    • Add missing blending factors. #26949 (@Mugen87)
  • PMREMGenerator
    • Correctly restore render target. #27013 (@Mugen87)
  • Shaders
    • Ensure bump map scale is texture UV scale invariant. #26899 (@bhouston)
    • Ensure indirect sheen and clear coat are shadowed by specular ambient occlusion. #26940, #26941 (@bhouston)
    • Initialize geometryClearcoatNormal to suppress OpenGL warning. #27002 (@c-smile)
    • Add shader name. #27014 (@WestLangley)
  • SkinnedMesh
    • Use getVertexPosition() in bounding volume methods. #26913 (@Mugen87)
    • Introduce constants for bindMode. #26985 (@Mugen87)
  • Vector3
    • Optimize applyQuaternion(). #26456, #27025 (@infusion, @WestLangley)
  • WebGLProgram
    • Fragment shader also needs to define precision for sampler2DArray. #26853 (@kasparsj)
  • WebGLRenderer
    • Reset mask before clearing stencil. #26737 (@OndrejSpanel)
    • Disable transmission pass if override material is enabled. #26944 (@Oletus)
    • Defer blocking queries against WebGL programs after linking. #19745 (@toji)
    • Add compileAsync(). #19752, #26966 (@toji, @Mugen87)

Documentation

  • Remove outdated links from list.json. #26867 (@Mugen87)
  • Use MathML for math syntax. #26887, #26892, #26896 (@ycw)
  • Improve CapsuleGeometry page. #27005 (@Mugen87)
  • Improve Creating a scene page. #26895 (@ycw)
  • Improve Lensflare page. #27008 (@devXprite)
  • Improve Material page. #27000 (@fleroviux)
  • Improve Matrix4 page. #26893 (@ycw)
  • Improve Quaternion page. #26936 (@Mugen87)
  • Improve WebGLRenderer page. #26961, #26963, #26972 (@Mugen87)
  • Improve Chinese translation. #26945, #26952, #26953, #27001, #27032 (@cswwww, @puxiao)
  • Improve Korean translation. #26977, #26986 (@Sangminnn)
  • Add page for XREstimatedLight. #27041 (@snowzurfer

Examples

  • Clean up. #26869, #26870, #26871, #26955, #26969, #26981, #27015, #27039, #27050, #27059 (@Methuselah96, @linbingquan, @Mugen87, @WestLangley, @mkkellogg)
  • Track pointer in misc_exporter_exr example. #26890 (@WestLangley)
  • Use OutputPass in webgl_postprocessing_fxaa example. #26927 (@Mugen87)
  • Make webgl_postprocessing_smaa example more configurable. #26934 (@Mugen87)
  • Match all words, in any order in search. #26971 (@sunag)
  • Add shared skeleton setup to webgl_animation_multiple. #26995 (@Mugen87)
  • Don't expose LWO parsers. #26996 (@CodyJasonBennett)
  • Added webgpu_compute_particles_rain example. #27053 (@sunag)
  • Added addScene() to AmmoPhysics and RapierPhysics. 2bd56174d69b05ec37e729413446cd368ac8859a, 92c71d7c12dbd652f8cfe3f60ad24b6806efb243 (@mrdoob)

  • BatchedMesh

    • Introduce new addon for batching geometries. #25059, #27043, #27045, #27049, #27046, #27054, #27060, #27066 (@takahirox, @donmccurdy, @gkjohnson)
  • BokehPass

    • Correctly set aspect uniform in setSize(). #27063 (@Mugen87)
  • Capsule

    • Move and rename lineToLineClosestPoints() function to Octree. #27044 (@gkjohnson)
  • CSS3DRenderer

    • Modify perspective transform to avoid issues in Chrome and Firefox. #27017 (@donmccurdy)
  • FilmShader

    • Fix deterioration. #26908 (@kaisavi)
  • FlyControls

    • React on pointercancel event. #26973 (@Mugen87)
  • FullScreenQuad

    • Refactor internal geometry. #26938 (@CodyJasonBennett)
  • GLTFExporter

    • Handle count=Infinity in processAccessor(). #26898 (@Dadibom)
    • Support EXT_mesh_gpu_instancing to export InstancedMesh. #26854 (@repalash)
    • Add support for four UV channels. #26909 (@bhouston)
  • GLTFLoader

    • Log error when loader extension doesn't have a name. #26559 (@marwie)
  • IFFParser

    • Convert to ES6 classes. #26929 (@CodyJasonBennett)
  • InstancedPoints

    • Introduce new class for rendering point clouds. #26930, #26965, #27019, #27047 (@WestLangley, @sunag)
  • Lensflare

    • Better RTT support. #26886 (@Mugen87)
  • LottieLoader

    • Add document check for SSR. #26989 (@CodyJasonBennett)
  • LUTImageLoader

    • Add new loader for loading 2D LUT images. #26880 (@NikLever)
  • NodeMaterial

    • Subflows of TextureNode and UVNode in BumpMapNode. #26865 (@sunag)
    • Define stack.assign() as default. #26881 (@sunag)
    • Refactor VarNode. #26821 (@LeviPesin)
    • Modular usage of PhysicalLightingModel. #26885 (@sunag)
    • Allow JS-like assigns, implement AssignNode. #26795 (@LeviPesin)
    • Fixes and clean up. #26931 (@sunag)
    • Attenuate color in Line2NodeMaterial. #26970 (@WestLangley)
    • Merge *MaterialNode into singular MaterialNode, fix exports, some cleanup. #26976 (@LeviPesin)
    • Update PropertyNode exports. #26975 (@LeviPesin)
    • Force replacement of UVNode if the context includes forceUVContext=true. #27031 (@sunag)
  • OrbitControls

    • Add 3D cursor and limit to orbit camera target. #26558 (@schwyzl)
  • OutputShader

    • Use #include instead of ShaderChunk. #26990 (@CodyJasonBennett)
  • SAOPass

    • Remove depthMaterial reference from dispose(). #26946 (@paradoxxxzero)
  • SDFGeometryGenerator

    • Add geometry generator from SDF definitions. #26837 (@santi-grau)
  • SimplifyModifier

    • Add uv/normal/tangent/color support. #26875 (@Makio64)
  • SMAAPass

    • Swap buffers after rendering. #26928 (@Mugen87)
  • SVGRenderer

    • Add .outputColorSpace=DisplayP3ColorSpace support. #26914 (@donmccurdy)
  • TAARenderPass

    • Fix runtime error in dispose(). #26991 (@Archimagus)
  • TessellateModifier

    • Fix color access. #26873 (@freealise)
  • TransformControls

    • Use in-plane rotation when eye and selected gizmo axis are parallel. #26860 (@alankalb)
  • TSL

    • Function Layout. #26889 (@sunag)
    • Transpiler: GLSL to TSL. #26982 (@sunag)
  • VRButton

    • Test navigator for SSR. #26915 (@CodyJasonBennett)
  • WebGPURenderer

    • Support occlusion query for WebGL backend. #26744 (@aardgoose)
    • Handle instanced geometries in WebGL backend #26731 (@aardgoose)
    • Add isWeb*Backend flags. #26877 (@WestLangley)
    • Fix rendering of line segments. #26884 (@WestLangley)
    • Fix uniform update when using compute(). #26906 (@sunag)
    • Environment Nodes Hash. #26942 (@sunag)
    • Ensure bump map scale is texture UV scale invariant. #26958 (@sunag)
    • Clearcoat and sheen is shadowed by ambient occlusion. #26957 (@sunag)
    • Support integer vertex attributes in WebGLBackend. #26974 (@aardgoose)
    • Add getInstanceIndex() for GLSLNodeBuilder. #26978 (@aardgoose)
    • Add flat qualifiers for integer attributes in GLSLNodeBuilder. #26987 (@aardgoose)
    • Support Nodes buffer() in GLSLNodeBuilder and WebGLSLBackend #26988 (@aardgoose)
    • Correct initial blending state for WebGLBackend. #27009 (@aardgoose)
    • Implement WebGLBackend copyFramebufferToTexture(). #27012 (@aardgoose)
    • Fix color mask setting in WebGLBackend. #27026 (@aardgoose)
    • Enable shadow rendering in WebGLBackend. #27023 (@aardgoose)
    • Remove HTMLImage to OffscreenCanvas conversion. #27021 (@aardgoose)
    • Use recommended shader compile and link sequence for WebGL. #27055 (@aardgoose)
    • Use common clearing code and fix depth state for WebGLBackend. #27065 (@aardgoose)
  • XRButton

    • Allow specifying optional and required features. #27030 (@snowzurfer)

Editor

  • Fix sidebar refresh. #26951 (@Mugen87)
  • Fix default of timeScale. #26984 (@Mugen87)
  • Remove Fix Color Maps script. #27033 (@Mugen87)
  • Assign SRGBColorSpace only to color maps. #27042 (@Mugen87)
  • Add KTX2 support. #27016 (@CITIZENDOT)

r157

6 months ago

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r156--r157 https://github.com/mrdoob/three.js/milestone/70?closed=1

  • Global
    • Clean up. #26763, #26774 (@linbingquan)
    • Fix source maps in minified build files. #26780 (@ycw)
    • Remove outdated code in rollup.config.js. #26803 (@ycw)
  • AnimationUtils
    • Remove arraySlice(). #26756 (@ycw)
  • Camera
    • Simplify getWorldDirection(). #26743 (@ycw)
  • Color
    • Clean up offsetHSL(). #26817 (@ycw)
  • CubeCamera
    • Add comment to clarify mipmap generation. #26772 (@Mugen87)
    • Add activeMipmapLevel. #26770 (@sunag)
  • CurvePath
    • Return this in closePath(). #26697 (@Mugen87)
    • Use correct line type in closePath(). #26850 (@GuoBinyong)
  • Fog
    • Make sure name can be serialized/deserialized. (@ycw)
  • LightProbe
    • Remove AmbientLightProbe and HemisphereLightProbe. #26715 (@WestLangley)
  • Material
    • Clean up toJSON(). #26791 (@ycw)
  • MaterialLoader
    • Avoid creating undefined linewidth property. #26707 (@epreston)
  • RenderTarget
    • Refactor default constructor parameters. #26775 (@linbingquan)
  • Shaders
    • Remove struct GeometricContext to improve Adreno GPU support. #26805 (@Mugen87)
  • WebGLProgram
    • Add USE_ANISOTROPY to prefixVertex. (@uma-neko)
  • WebGLRenderer
    • Support "Linear Display P3" working color space and "Display P3" unlit rendering. #26644 (@donmccurdy)
    • Introduce USE_LIGHT_PROBES define. #26768 (@Mugen87)
  • WebGLTextures
    • Increase default precision for depth buffers with WebGL 2. #26764 (@Mugen87)

Documentation

  • Improve Fog page. #26792 (@ycw)
  • Improve Material page. #26664 (@donmccurdy)
  • Improve MeshPhysicalMaterial page. #26753 (@Ameobea)
  • Improve Chinese translation. #26693, #26701, #26728, #26855 (@sdarpeng, @Junior2Ran, @SADYX)
  • Improve Libraries and Plugins guide. #26723, #26722, #26819, #26828 (@marwie, @trusktr, @isaac-mason)
  • Document default value of userData properties. #26799 (@tim-we)

Examples

  • Clean up. #26678, #26706, #26800, d6c8dd0b50a2994c05f94687ed0dfa44ae61ee4c, 1c85c953f49d154997e43d73b3ce3847d723d0a5 (@WestLangley, @epreston, @sunag, @mrdoob)
  • Remove import maps polyfill. #26836 (@marcofugaro)
  • Rename some WebGPU Compute examples. #26845 (@sunag)

  • 3DMLoader

    • Update to support Rhino 8 files. #26745 (@fraguada)
  • BufferGeometryUtils

    • Shift the hash bin to avoid missing neighbors in mergeVertices(). #26746 (@gkjohnson)
  • DragControls

    • Add recursive property. #26747 (@ssk4988)
  • GLTFExporter

    • Simplify inner cone angle equation. #26787 (@WestLangley)
  • GLTFLoader

    • Fix to handle reject on afterRoot(). #26852 (@MtBlue81)
  • LDrawLoader

    • Use WeakMap instead of userData for indexing materials. #26700 (@Mugen87)
  • LightProbeGenerator

    • Add support for half float render targets. #26773 (@Mugen87)
  • LineMaterial

    • User getter/setter syntax. #26720 (@LeviPesin)
  • NodeMaterial

    • Clean up HashNode, cite original authorship. #26695 (@LeviPesin)
    • Export viewport and minor fixes. #26698 (@aardgoose)
    • Add Line2 support. #26704 (@aardgoose)
    • Consume labels() when used, to prevent duplicate uniform names. #26822 (@aardgoose)
    • Fix context.material reference in RenderNodes. #26838 (@sunag)
    • Rename TextureNode.getTextureMatrix() to getTransformedUV(). #26839 (@sunag)
    • Rename construct() to setup(). #26840 (@sunag)
    • Add support for other formats in StorageTexture. #26842 (@sunag)
    • Fix addNodeClass() and addNodeMaterial() in case of renaming classes. #26846, #26858 (@LeviPesin)
  • RGBELoader

    • Correct error display message. #26742 (@epreston)
  • Sky

    • Use cameraPosition uniform instead of world origin in sky shader. #26766 (@StrandedKitty)
  • TSL

    • Fix negate(). #26804 (@sunag)
    • Add SetNode. #26785 (@sunag)
    • Introduce ShaderCallNode & tslFn improvements. #26824 (@sunag)
    • Fix include one function under another. #26844 (@sunag)
  • USDZLoader

    • Distinguish between text (supported) and binary (not supported) usd files and fix UV parsing. #26709 (@hybridherbst)
    • Load metallic, roughness, emissive, occlusion textures and fix color spaces. #26710 (@hybridherbst)
    • Switch to MeshPhysicalMaterial and add initial clearcoat/clearcoatRoughness/ior support. #26713 (@hybridherbst)
    • Fix index array type. #26751 (@GitHubDragonFly)
    • Added texture scale + offset + rotation support. #26861 (@GitHubDragonFly)
  • WebGPURenderer

    • Invert viewport/scissor y coords. #26730 (@aardgoose)
    • dFdy vs dpdy #26776 (@aardgoose)
    • Add StorageTexture. #26769 (@sunag)
    • Texture fixes for WebGL backend. #26797 (@aardgoose)
    • CCW FrontFace as default. #26807 (@sunag)
    • Basic render to texture support for WebGL backend. #26801 (@aardgoose)
    • Support textureCompare() operations in WebGL backend. #26823 (@aardgoose)
    • Fix flipY example. #26843 (@sunag)
    • Fix multi-material in WebGLNodeBuilder. #26841 (@sunag)

Editor

  • Fix style error when resizing the sidebar. #26703 (@linbingquan)
  • Add clearcoatMap and clearcoatRoughnessMap. #26712 (@hybridherbst)
  • Fix camera transform when using select in Firefox. #26717 (@Mugen87)
  • Add serialization support for modelviewer environment. #26718 (@Mugen87)
  • Fix CapsuleGeometry parameter. #26794 (@Mugen87)

r156

7 months ago

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r155--r156 https://github.com/mrdoob/three.js/milestone/69?closed=1

  • Global
    • Improve naming of module scope variables. #26603 (@linbingquan)
    • Update es-module-shims. #26605, #26606 (@linbingquan)
    • Export createCanvasElement() as a utility method. #26601 (@linbingquan)
    • Use Math.trunc() in roundToZero() vector methods. #26643 (@ycw)
  • Audio
    • Prevent null source error in disconnect(). #26597 (@takahirox)
  • Object3D
    • Clone material arrays. #26589 (@jespertheend)
    • Fix clear() emitting removed events too early. #26625 (@ycw)
  • VideoTexture
    • Restore inline sRGB decode. #26521 (@Mugen87)
  • WebGLBackground
    • Respect autoClear in XR. #26428 (@CodyJasonBennett)
  • WebGLRenderer
    • Remove material condition for unconditional uniforms. #26467 (@SoprachevAK)
  • WebXRManager
    • Remove redundant updateMatrixWorld() calls. #26201 (@mrxz)

Documentation

  • Improve CameraUtils page. #26591 (@Mugen87)
  • Improve Matrix3 page. #26617, #26627 (@mgroth0, @Mugen87)
  • Improve MeshPhysicalMaterial page. #26543 (@mjurczyk)
  • Improve OBB page. #26522 (@balraj-johal)
  • Improve Object3D page. #26636 (@alone-as-a-god)
  • Improve OrbitControls page. #26541, #26547 (@Mugen87, @WestLangley)
  • Improve SpotLight page. #26645 (@ycw)
  • Improve WebGLRenderer page. #26670 (@alone-as-a-god)
  • Improve Chinese translation. #26511 (@newstart0514)
  • Remove ColladaExporter page. #26592 (@skyclouds2001)
  • Update page.js to handle inline code with newline chars. #26622 (@ycw)

Manual

  • Update monaco-editor to 0.40.0. #26503 (@linbingquan)

Examples

  • Clean up. #26530, #26639, #26650 (@Methuselah96, @Mugen87, @WestLangley)
  • Bubble parsing errors in remaining data texture loaders. #26499 (@Mugen87)
  • Disable damping in webgl_materials_alphahash example. #26519 (@Mugen87)
  • Update UTIF module. #26526 (@Mugen87)
  • Fix PMREMGenerator usage in webgl_shaders_ocean example. #26580 (@skyclouds2001)
  • Fix flickering in webgl_decals example. #26593 (@Mugen87)
  • Add GUI to misc_exporter_usdz example. #26607 (@Mugen87)
  • Prevent aspect distortion in webgpu_compute_texture. #26651 (@WestLangley)
  • Enable anti-aliasing in WebGPU examples. #26653 (@linbingquan)
  • Add stats to webgpu_compute_particles example. #26665 (@linbingquan)
  • Updated tween.module.js to 21.0.0. #26669 (@linbingquan)
  • Exposure adjustments for WebGPU examples. #26672 (@sunag)

  • CSMShader

    • Update to latest light shader chunks. #26506 (@max-sym)
  • DDSLoader

    • Improve support for BC6H textures. #26608, #26620 (@CoryG89, @Mugen87)
  • FBXLoader

    • Store original (not sanitized) node name in Object3D.userData. #26641 (@janulis)
  • FilmPass

    • Simplify implementation. #26573 (@Mugen87)
  • GLTFLoader

    • Specify color space of inputs. #26534, #26691 (@donmccurdy, @wlinna)
  • KTX2Loader

    • Add support for ASTC 6x6 format #26586, #26679 (@donmccurdy, @vlucendo)
  • MMDLoader

    • Apply color management to textures. #26554 (@donmccurdy)
  • NodeMaterial

    • Fix construct() node data in NodeBuilder. #26533 (@sunag)
    • Add LineDashedNodeMaterial. #26528, #26542 (@aardgoose, @sunag)
    • Add ViewportNode.VIEWPORT. #26540 (@aardgoose)
    • Use context.tempWrite=false for conditionals in TextureNode. #26574 (@sunag)
    • Fix .getNodeType() if .construct() return some Node. #26631 (@sunag)
    • Add HashNode. #26663 (@sunag, @LeviPesin)
  • OrbitControls

    • Support frame rate independent autoRotate. #26472 (@Issung)
    • Fix zoomToCursor when objects are changed. #26549 (@xiaowangxu)
  • RenderPass

    • Make clear color and alpha independent. #26638 (@Mugen87)
  • SAOPass

    • Improve performance, fix visuals. #26599 (@Mugen87)
  • SSAOPass

    • Prevent color shift of background. #26594 (@Mugen87)
    • Remove internal beauty pass. #26596 (@Mugen87)
  • STLLoader

    • Add group names. #26538 (@AngyDev)
  • TSL

    • Add textureStore() and example. #26648, #26653, #26654 (@sunag)
  • WebGLNodeBuilder

    • Get real color type. #26524 (@sunag)
    • Support more than four UV layers. #26575 (@sunag)
  • WebGPURenderer

    • Add support for alphaToCoverage. #26513 (@aardgoose)
    • Fix clear() inheriting state from previous render() & clear() passes. #26514 (@aardgoose)
    • Add data-engine attribute to canvas. #26544 (@linbingquan)
    • Performance revision. #26556 (@sunag)
    • Add occlusion queries. #26335, #26584 (@aardgoose, @sunag)
    • Add WebGLBackend. #26581, #26671 (@sunag)
    • Fix DataTexture with FloatType. #26585 (@sunag)
    • Add Backend.generateMipmaps(). #26609 (@sunag)
    • Support for multiple render targets. #26409 (@aardgoose)

r155

8 months ago

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r154--r155 https://github.com/mrdoob/three.js/milestone/68?closed=1

  • BufferAttribute
    • Add generic vector component getter / setter. #24515 (@gkjohnson)
  • CapsuleGeometry
    • Use correct length property name in parameters. #26405 (@tdanlin)
  • CompressedCubeTexture
    • Added. #26369 (@donmccurdy)
  • CubeCamera
    • Remove tone mapping related code. #26435 (@Mugen87)
  • DataTextureLoader
    • Fix promise never rejected on error. #26412 (@ashconnell)
  • InstancedMesh
    • Add support for async color definitions. #26430 (@CodyJasonBennett)
  • Object3D
    • Shallow copy animations in copy(). #26416 (@luisfonsivevo)
  • PropertyBinding
    • Change error to warning and reword. #26386 (@hybridherbst)
  • WebGLMultipleRenderTargets
    • Return undefined in setSize(). #26418 (@CodyJasonBennett)
  • WebGLRenderer
    • Use inline tone mapping only when rendering to screen. #26371 (@Mugen87)
    • Deprecate useLegacyLights, change default to false. #26392 (@Mugen87)
    • Fix activeMipmapLevel parameter in setRenderTarget(). #26347 (@makovkins)
    • Fix runtime error when rendering wireframe with empty geometry. #26465 (@Mugen87)
  • WebGLRenderTarget
    • Extend from new RenderTarget class. #26468 (@sunag)
  • WebGLTextures
    • Improve RED_INTEGER texture support. #26450 (@RenaudRohlinger)

Documentation

  • Improve BufferAttribute page. #26365 (@Mugen87)
  • Improve BufferGeometryUtils page. #26454 (@gkjohnson)
  • Improve OrbitControls page. #26404 (@Mugen87)
  • Improve ShapePath page. #26401 (@atul-mourya)
  • Improve TrackballControls page. #26459 (@vaughnrichard)
  • Improve post processing guide. #26359 (@Mugen87)
  • Improve Arabic translation. #26362 (@afilahkle)
  • Clarify reuse of disposed objects. #26498 (@Mugen87)

Manual

  • Honor latest API changes. #26353, #26354, #26355, #26358 (@Mugen87)

Examples

  • Fix color space in webgl_materials_video_webcam. #26364 (@Mugen87)
  • Improve webgpu_tsl_editor example. #26368 (@sunag)
  • Remove usages of FirstPersonControls.noFly. #26374 (@Methuselah96)
  • Remove obsolete tone mapping settings. #26377 (@Mugen87)
  • Fix linter issues. #26388 (@hybridherbst)
  • Add backgroundIntensity GUI to webgl_tonemapping example. #26411 (@vis-prime)
  • Fix GUI title in different examples. #26421, #26439 (@Methuselah96)
  • Simplify resize in webgl_postprocessing_procedural example. #26434 (@Methuselah96)
  • Fix typo in webgl_postprocessing_ssaa example. #26433 (@Methuselah96)
  • Remove usage of Group.material in webgl_postprocessing_godraysexample. #26431 (@Methuselah96)
  • Correctly invoke requestAnimationFrame() in webgl_postprocessing_godrays example. #26432 (@Methuselah96)
  • Correctly call setSize() in webgl_raymarching_reflect example. #26438 (@Methuselah96)
  • Use the right return type for customProgramCacheKey() in webgl_materials_modified example. #26437 (@Methuselah96)
  • Directly set uniforms in webgl_gpgpu_water example. #26436 (@Methuselah96)
  • Remove outdated settings of focal length. #26460 (@Methuselah96)
  • Remove unnecessary use of OrbitControls change event listeners. #26475 (@WestLangley)

  • BufferGeometryUtils

    • Call toNonIndexed() for indexed geometries only in toCreasedNormals() . #26379 (@kpvhn)
  • GLTFLoader

    • Fix loadAnimation() refactor. #26477 (@hybridherbst)
  • MaskPass

    • Make sure depth and color buffers are writeable. #26382 (@Mugen87)
  • NodeMaterial

    • Fix deprecation text to match code for tslFn(). #26383 (@aardgoose)
    • Add unlit property. #26429 (@sunag)
    • Fix construct() call in HemisphereLightNode. #26441 (@sunag)
    • Add specularStrength to MaterialNode. #26444 (@sunag)
    • Add fog and colorSpace properties. #26440 (@sunag)
    • Add backgroundIntensity to SceneNode. #26447 (@sunag)
    • Add MeshLambertNodeMaterial. #26448 (@sunag)
    • Add BumpMapNode. #26449 (@sunag)
    • Add getTextureMatrix() to TextureNode. #26461 (@sunag)
    • Add isToneMappingState to RendererNodes. #26463 (@sunag)
    • New class structure for LightingModel. #26486 (@sunag)
    • Cache equirectangular textures in EnvironmentNode. #26491 (@sunag)
  • OculusHandPointerModel

    • Make _onDisconnected() more robust. #26387 (@hybridherbst)
  • OrbitControls

    • Add zoom to cursor. #26165 (@gkjohnson)
  • OutputPass

    • Extract renderer settings. #26380 (@Mugen87)
  • SelectionHelper

    • Add enabled property. #26483 (@puxiao)
  • TGALoader

    • Bubble parsing errors. #26497 (@Mugen87)
  • TSL

    • Add output and material.outputNode. #26419 (@sunag)
  • UnrealBloomPass

    • Improve performance by pre-calculating gaussian coefficients. #26356 (@keaukraine)
  • USDZExporter

    • Add defaultPrim to make usdchecker happy. #26495 (@hybridherbst)
  • WebGPUBackend

    • Fix depth buffer. #26395 (@sunag)
  • WebGPUPipelines

    • Improve reuse pipeline and ComputeNode dispose. #26361 (@sunag)
  • WebGPURenderer

    • Remove duplication of interleaved attribute buffers. #26351 (@aardgoose)
    • Add missing Texture.onUpdate() callback. #26375 (@aardgoose)
    • Avoid render pass/pipeline attachment mismatches. #26376 (@aardgoose)
    • Fix Node.updateBefore() sequence call. #26391 (@sunag)
    • Rename getArrayBuffer() to getArrayBufferAsync(). #26393 (@sunag)
    • Support Object3D as parameter in render(). #26400 (@sunag)
    • Fix updateBefore(). #26417, #26422 (@sunag)
    • Not crash if texture is not supported. #26423 (@sunag)
    • Fix fog ColorSpace. #26424 (@sunag)
    • Add DepthTexture.compareFunction. #26420 (@sunag)
    • Blending revision part 1. #26455 (@sunag)
    • Support MSAA for texture render targets. #26451 (@aardgoose)
    • Add iridescence support. #26489, #26492 (@sunag)
    • Fix background. #26493 (@sunag)

Editor

  • Always configure GLTFLoader with KTX2 and Meshopt. #26414 (@Mugen87)

r154

9 months ago

https://github.com/mrdoob/three.js/wiki/Migration-Guide#r153--r154 https://github.com/mrdoob/three.js/milestone/67?closed=1

  • Global
    • Remove deprecated code. #26175 (@LeviPesin)
    • Add security policy. #26204 (@pnacht)
    • Hash-pin workflow dependencies. #26338 (@pnacht)
  • Loader
    • Add DEFAULT_MATERIAL_NAME. #26188 (@kovacsv)
  • Material
    • Add alphaHash transparency mode. #24271, #26341, #26344 (@donmccurdy)
  • MeshPhysicalMaterial
    • Fix shader error for clear coat/anisotropy when normal map is missing. #26334 (@repalash)
  • WebGLObjects
    • Optimize InstancedMesh updates. #26300 (@Mugen87)
  • WebGLProgram
    • Don't use tangents when flat shading. #26197 (@WestLangley)
  • WebGLRenderer
    • Rename encodings_fragment to colorspace_fragment. #26206, #26269 (@WestLangley)
    • Rename output_fragment to opaque_fragment. #26278 (@WestLangley)
    • Fix incorrect argument passed to clearBufferuiv. #26249 (@gkjohnson)
    • Fix shadow update when object is culled. #26293, #26299 (@OndrejSpanel, @Mugen87)
    • Test that WebGLRenderingContext exists. #26306 (@linev)
    • Fix feedback loop in transmission pass for WebGL 2. #26177 (@Mugen87)
  • WebXRManager
    • Revert getCamera() removal. #26350 (@mrdoob)

Documentation

  • Improve Color page. #26210 (@donmccurdy)
  • Improve LineBasicMaterial page. #26228 (@Mugen87)
  • Improve PlaneGeometry page. #26248 (@tomhsiao1260)
  • Improve number and code formatting. #26147, #26181 (@afilahkle)
  • Improve Arabic translation. #26176, #26182, #26195, #26194, #26202, #26209, #26226, #26230, #26250, #26263, #26277, #26297, #26323 (@afilahkle)
  • Improve Chinese translation. #26215, #26216, #26223, #26273 (@appache163, @supan0228)
  • Improve French translation. #26310 (@Patzi275)
  • Dedent code node content correctly. #26115 (@ycw)
  • Use useLegacyLights=false in browsers. #26291 (@Mugen87)

Manual

  • Fix typo in prerequisites.html. #26315 (@DrejT)

Examples

  • Clean up. #26193, #26238, #26260 (@Mugen87, @sunag)
  • More usage of WebGLRenderer.useLegacyLights = false. #26218, #26267, #26274, #26275, #26280, #26284, #26286, #26288, #26290 (@Mugen87, @sunag)
  • Update BVH and CSG library versions. #26203 (@gkjohnson)
  • Update from GammaCorrectionShader to OutputPass. #26129 (@donmccurdy)
  • Change how after-image effect is toggled. #26321 (@Mugen87)
  • Fix displacement map usage of velocity shader. #26324 (@Mugen87)
  • Use construct() in webgpu_instance_uniform example. #26336 (@sunag)
  • Added blurred option in webgpu_backdrop_area example. #26342 (@sunag)

  • ArcballControls

    • Add rotateSpeed. #26332 (@begmec)
  • CopyShader

    • Assume render targets have premultiplied alpha. #26179 (@Mugen87)
  • FlyControls

    • Introduce enabled property. #26154, #26339 (@andredsm, @Mugen87)
  • GLTFLoader

    • Refactor animation methods to be accessible from extensions on parser. #26126 (@hybridherbst)
  • MeshSurfaceSampler

    • Add uv support. #26207 (@makc)
    • Add support for interpolated normals. #26219 (@makc)
    • Remove need for non indexed geometry. #26268 (@gkjohnson)
  • NodeMaterial

    • Clean up. #26271 (@sunag)
    • Fix uv attributes. #26220 (@sunag)
    • Fix cacheKey. #26227 (@sunag)
    • Fix default forceSinglePass and alphaMap. #26231 (@sunag)
    • Add two missing shader functions. #26237 (@aardgoose)
    • Fix VideoTexture in WebGPUBackend and ColorSpaceNode. #26261 (@sunag)
    • Simplify Node.getChildren(). (@LeviPesin)
    • UVEditor revision and remove nodes for programmers. #26345 (@sunag)
    • UVEditor and fix selection of nodes by keyboard in playground. #26349 (@sunag)
  • OculusHandPointerModel

    • Cleanup on disconnect, implement dispose(). #26262 (@CodyJasonBennett)
  • PLYLoader

    • Add vertex colors back. #26214 (@Mugen87)
    • Fix handling binary files with \n\r line endings in header. #26232 (@aardgoose)
  • TAARenderPass

    • Fix color shift. #26199 (@Mugen87)
  • TSL

    • Add editor. #26270, #26283 (@sunag)
    • Move ShaderNode to tslFn(). #26311 (@sunag)
  • WebGPURenderer

    • Don't set redundant state. #26186 (@sunag)
    • Backdrop Node - Part 2/3. #26196 (@sunag)
    • Add clear coat support. #26211 (@sunag)
    • Support Material.blending = NoBlending. #26295 (@aardgoose)
    • Handle interleaved instanced buffers correctly. #26304 (@aardgoose)
    • Improve reuse programs in WebGPUPipelines. #26305 (@sunag)
    • MorphNode 1/2 and updates. #26325 (@sunag)
    • Add readRenderTargetPixelsAsync(). #26326 (@aardgoose)
    • Add sheen support. #26329 (@sunag)
    • Render Pass ID and Double Pass. #26333 (@sunag)

Tests

  • Use new headless mode for E2E tests. #25982 (@LeviPesin)
  • Replace BrowserFetcher with @puppeteer/browsers. #26282 (@LeviPesin)
  • Fix WebGL on Mac ARM. #26343 (@LeviPesin)

Editor

  • Remove dependency to deleted ColladaExporter. #26243 (@Mugen87)
  • Fix LDrawLoader usage. #26294 (@Mugen87)
  • Fix import of TGA textures. #26316 (@Mugen87)