Hello everyone! Got another build for you! This is a bit smaller, mostly just cleaning up and merging in some things.
One of the bugs (the crashes due to large structs) turned out to be really nasty to investigate and work around, it took me most of yesterday - Mono really likes to explode with value types that are too big - including the methods that were normally used to check for validation of things.
This should improve some Spherical Harmonics support and the ambient light not updating properly in some cases.
[h2]New Features:[/h2]
- Exposed RemoveChildrenObjectRoots as a sync method on ObjectRoot (requested by @jackthefoxotter, issue #3592)
- Add Constant & Smooth Lerp support for spherical harmonics (requested by @modernballoonie, issue #3616)
- Added SmoothLerp & ConstantLerp support for matrices
-- Note: ConstantLerp is applied element-wise
[h2]Tweaks:[/h2]
- Added confirmation for deleting components to prevent accidental deletions (based on report by @epiceaston197, issue #2657, implemented by @bluecyro)
[h2]Optimizations:[/h2]
- Slightly optimize lerping of vectors & matrix types
[h2]Locale:[/h2]
- Merged German locale update by @muppeq
- Merged French locale update by @j4.lc
- Merged Korean locale update by @mirpasec
[h2]Fixes:[/h2]
- Added struct size limit when instantiating SphericalHarmonicsLx instances to prevent crashes (based on report by @reddneko and @nytra, issue #3606)
-- This limits the maximum struct size to 4 kB - any combinations above that are not considered valid
-- This is due to the limitations of the runtime, where extremely large structs result in program corruption and hard crash
- Added mechanism to recompute ReflectionProbeSH2 after OnChanges ReflectionProbe finished rendering
-- This fixes the ambient light not updating in some cases, when the probe takes longer to finish rendering (based on report by @nytra, issue #3607)