What's New
- Switch to TypeScript compiler to generate declarations (#3725)
- Migrate more JSDoc to ES6 format (#3826)
- Migrate namespaces to ES6 JSDoc comments (#3828)
- Improvements to internal implementation of debug line / mesh rendering (#3830)
- Migrate most remaining functions to ES6 JSDoc (#3832)
- Remove and repair some eslint directives (#3833)
- Remove unused component JSDoc tags (#3834)
- Make components on Entity class visible to TS Compiler (#3836)
- Convert element properties to ES6 getters/setters (#3835)
- Ensure setter appears before getter (#3838)
- Document math contructor default values (#3843)
- Improve CameraComponent#screenToWorld docs (#3846)
- Further improve TS declarations (#3845)
- Remove Model from ParticleSystemComponent (#3848)
- Support loading of engine from source modules (#3850)
- Refactor anim controller conditions code (#3853)
- Minor standard.js refactor (#3864)
- Improve variable scoping for StaticMeshes class (#3865)
- Correctly named the class in box-reflection example (#3867)
- Modernize unit tests (#3849)
- Small updates to documentation text (#3869)
- More unit tests for AssetRegistry#loadFromUrl (#3870)
- Debug rendering of world clusters (clustered lighting) (#3873)
- Render target limits number of samples to supported maximum (#3875)
- More asset and math tests (#3877)
- Small refactor to StandardMaterial#chunks (#3891)
- Move deprecated properties out of standard-material.js (#3893)
- Smart atlas slot distribution for clustered light shadows and cookies (#3895)
- Refactor material cloning and add new public API for material copying (#3898)
- More Mat4 and Quat unit tests (#3900)
- Remove Object.defineProperty from SoundComponent (#3903)
- Device validates VBs and IBs are valid when rendering (#3904)
- Lightmapper is compatible with clustered light mode (#3902)
- Delete call to events.attach for ComponentSystem (#3907)
- Simplify LayoutGroupComponent initialization (#3908)
- LayerComposition's constructor no longer requires device as a parameter (#3910)
- Adopt @ignore JSDoc tag (#3918)
- Improve IntelliSense for some core classes (#3919)
- Improve various JSDoc blocks and unit tests (#3920)
- Refactored part of Debug class to DebugGraphics class (#3925)
- Standard shader ignores clustered light options when generating shaders (#3932)
- Add script to generate a module treemap visualization (#3935)
- Deprecated constants are now hidden from JSDoc (#3937)
- Combine ES5 and ES5 minified build configs (#3938)
- [BREAKING] Scene.gammaCorrection defaults to GAMMA_SRGB instead of GAMMA_NONE (#3939)
- GraphicsDevice uses 'high-performance' power preference by default (#3940)
- Use Rollup to bundle TypeScript declarations (#3941)
- Remove debug warning in GraphNode#removeChild (#3953)
- Add missing properties to TypeScript declarations (#3946)
- Remove many ts-ignore statements from examples (#3956)
- Improve graphics-related JSDoc blocks (#3961)
- Enable IntelliSense for WebGL API (#3962)
- Update the AnimStateGraph class documentation (#3781)
- Anim state graph docs (#3965)
- Anim component public api expansion follow up (#3934)
- Make the AnimTrack class public (#3780)
- Updated JS Docs Template version to include the Discord link in the header (#3966)
Bug Fixes
- Correctly encode form postdata (#3847)
- Fix emissive options logic (#3822)
- Fix spelling of AnimComponent#layerIndices (#3807)
- Fix spelling of mantissa (#3851)
- Fix problematic use of indexOf (#3852)
- Reflection env fix (#3840)
- Fix typo in StandardMaterialValidator (#3863)
- Fix spelling mistakes in GlbContainerResource (#3871)
- [Fix] Improved handling of the ownership of Morph by Mesh (#3874)
- Fix call to Array#concat in _findTransition (#3879)
- Misc fixes to issues reported by LGTM (#3881)
- Fix types for nullable return values (#3882)
- Fix calling Keyboard#detach twice (#3887)
- Fix shift out of range (#3890)
- [Fix] Fix the way Immediate class was using visible list (#3885)
- [Fix] Change the order of updates to fix some issues with lightmapper when using clustered lighting (#3909)
- Restore StandardMaterial#reset (#3912)
- Remove Object.defineProperty from LayoutChildComponent (#3911)
- Fix XR JSDoc type tags (#3914)
- [Fix] Clustered lights don't support VSM filtering (#3923)
- [FIX] Correctly convert 2 spaces to tabs for extras (#3928)
- Gitignore ignores stats.html (#3948)
- Internal Ammo variables are initialized when Ammo loads (#3929)
- [FIX] Various Examples Browser LGTM errors (#3957)
- Type fixes for viewer (#3964)
- [AnimComponent] Setting the activateStateCurrentTime property works when paused (#3784)
- Reproject texture cache fix (#3947)