## 1.6.1

Stability improvements and quality-of-life features.

## Changelog

**Editor**
- Add custom Wonderland Engine icon font
- Load projects asynchronously in project wizard for a smoother experience
- Show hierarchy path in object resource tooltips
- Support HTTP range requests in the development server
- Recycle bin and Windows Explorer undo support for file operations in Asset Browser on Windows
- Fix crash when tile atlas texture allocation fails due to insufficient GPU memory
- Fix crash when compiling project with specific font config
- Fix crash when duplicating resources that already have a JSON entry
- Fix crash with invalid JSON value types in ChangeManager
- Fix crash when clearing stale resource back-references
- Fix unsigned integer property validation causing assertion error
- Fix out-of-bounds access when rendering material thumbnails
- Fix rare issues with some paths containing `..`
- Speed-up audio transcoding via multi-threading
- Fix out-of-bounds in texture tile generation with padding overlap caused by specific odd texture sizes
- Fix packaging performance degradation when packaging meshlets
- Fix arm64 Linux/Flatpak packages missing `libozz_base.so` and other
  shared deps, and engine binaries not finding their libs under `lib64/`

**Engine**
- Improve meshlet frustum culling and LOD selection performance via SIMD
- Fix crash due to material type mismatch in tile feedback

**Runtime**
- Fix VR button showing on mobile even if unsupported
- Fix timer starting too early, mitigating PhysX simulation hitches on start and XR session start/end
- Fix `Component.onDestroy()` being called after the component's underlying data was already destroyed

**JS API**
- Fix `this.active = false` not taking effect when called in `start()`
