0.8.17.6442 - World loading features, MS Spatializer, LogiX nodes and bugfixes!
New world loading features, switch to MS HRTF Spatializer, new logix nodes and important bugfixes!
- Added new mechanism for reporting when the world is ready - this will prevent auto switching to the world until all components indicate that it's ready
-- Added MeshRendererLoadStatus (under World/Loading) - will report ready once all mesh renderers and their assets are loaded
-- Added AssetLoadStatus which will report ready once all listed assets are loaded
- Added new Logix nodes for value range shaping (under Math/Shaping)
-- Smooth Step
-- Smoother Step
-- Sin Shape
-- Symmetric Power Shape
- Added "Caps", "FlatShading" and "UVScale" setting to Cone Mesh
- Added "FlatShading" setting to Cylinder Mesh
- Added MaxSwing and MaxTwisting limiting to AutoLookAtUser (this replaces the "AroundAxis")
- Added AutoFocus & GetExiting to the WorldLink
- Added new inputs and outputs to OpenWorld LogiX node
-- GetExisting (will get an already open world with same url if it exists)
-- LoadingIndicator (indicates whether to show the loading indicator)
-- AutoFocus (auto focuses the world when it's ready)
-- MakePrivate (forces the started world to start as private)
-- OnWorldReady (fires when the world is ready)
- Added "FocusWorld" LogiX node, which allows focusing existing world if open
- Switched to Microsoft HRTF Spatializer on Windows
-- This one seems most stable out of all, should help get rid of the audio issues for the time being
-- Also changed the default room setting to Outdoors (from the danger-nightly build)
- SetParent node won't try to parent object to itself, causing its global transform to get changed (based on issue reported by @tehturk )
- Disabled Avatar Anchors are now ignored
- Refactored API for opening/focusing worlds. This removes some bugs and improves behaviors (e.g. when opening already opened worlds)
-- World Relation "Replace" should now work correctly, closing the old world once the new one is focused
-- AutoFocus is now respected, allowing to load worlds without focusing them in background
- Filtered FreeImage logging messages about file type mismatch
- Added memory pooling to sync element trash management, reducing memory allocations when deallocating/removing elements and reducing GC churn
- Fixed data model corruption causing world to crash for everyone but the host when releasing drive on Sync collections of other sync elements
-- This would happen when deleting certain components for example or releasing drive of complex objects (discovered by @Veer)
- Fixed NeosFieldBase throwing exceptions when some of its components are missing
- Fixed exception when trying to map external textures with a missing mapper (found in log from @Kalash )
- Added extra early filter to parenting slots to prevent them from parenting to themselves (based on issue reported by @tehturk )
- Fixed being able to break the userspace dash by destroying the adjustment handle (reported by @Aegis_Wolf)
- Fixed incorrect tooltip/shelf/grab-area anchor positioning with Avatar Creator for certain avatars (reported and sample avatar provided by @Ultranique, also reported by @ChrisWarner103)
- Fixed incorrect UV generation for conical frustums at the top side (e.g. cone mesh)
- Fixed incorrect wrap-around UV generation for conical frustums, causing the textures to not seamlessly loop around cylinders and cones
- Removed exceptions when trying to set playback position for targets with currently unassigned clip length (discovered in log from @Nexulan )

New features:
- Added new mechanism for reporting when the world is ready - this will prevent auto switching to the world until all components indicate that it's ready
-- Added MeshRendererLoadStatus (under World/Loading) - will report ready once all mesh renderers and their assets are loaded
-- Added AssetLoadStatus which will report ready once all listed assets are loaded
- Added new Logix nodes for value range shaping (under Math/Shaping)
-- Smooth Step
-- Smoother Step
-- Sin Shape
-- Symmetric Power Shape
- Added "Caps", "FlatShading" and "UVScale" setting to Cone Mesh
- Added "FlatShading" setting to Cylinder Mesh
- Added MaxSwing and MaxTwisting limiting to AutoLookAtUser (this replaces the "AroundAxis")
- Added AutoFocus & GetExiting to the WorldLink
- Added new inputs and outputs to OpenWorld LogiX node
-- GetExisting (will get an already open world with same url if it exists)
-- LoadingIndicator (indicates whether to show the loading indicator)
-- AutoFocus (auto focuses the world when it's ready)
-- MakePrivate (forces the started world to start as private)
-- OnWorldReady (fires when the world is ready)
- Added "FocusWorld" LogiX node, which allows focusing existing world if open
Tweaks:
- Switched to Microsoft HRTF Spatializer on Windows
-- This one seems most stable out of all, should help get rid of the audio issues for the time being
-- Also changed the default room setting to Outdoors (from the danger-nightly build)
- SetParent node won't try to parent object to itself, causing its global transform to get changed (based on issue reported by @tehturk )
- Disabled Avatar Anchors are now ignored
- Refactored API for opening/focusing worlds. This removes some bugs and improves behaviors (e.g. when opening already opened worlds)
-- World Relation "Replace" should now work correctly, closing the old world once the new one is focused
-- AutoFocus is now respected, allowing to load worlds without focusing them in background
- Filtered FreeImage logging messages about file type mismatch
Optimizations:
- Added memory pooling to sync element trash management, reducing memory allocations when deallocating/removing elements and reducing GC churn
Bugfixes:
- Fixed data model corruption causing world to crash for everyone but the host when releasing drive on Sync collections of other sync elements
-- This would happen when deleting certain components for example or releasing drive of complex objects (discovered by @Veer)
- Fixed NeosFieldBase throwing exceptions when some of its components are missing
- Fixed exception when trying to map external textures with a missing mapper (found in log from @Kalash )
- Added extra early filter to parenting slots to prevent them from parenting to themselves (based on issue reported by @tehturk )
- Fixed being able to break the userspace dash by destroying the adjustment handle (reported by @Aegis_Wolf)
- Fixed incorrect tooltip/shelf/grab-area anchor positioning with Avatar Creator for certain avatars (reported and sample avatar provided by @Ultranique, also reported by @ChrisWarner103)
- Fixed incorrect UV generation for conical frustums at the top side (e.g. cone mesh)
- Fixed incorrect wrap-around UV generation for conical frustums, causing the textures to not seamlessly loop around cylinders and cones
- Removed exceptions when trying to set playback position for targets with currently unassigned clip length (discovered in log from @Nexulan )


