v0.4.2
UI Interaction System
- Added
Interactablecomponent to mark UI entities as interactive - Added
Buttoncomponent with state machine (Normal, Hovered, Pressed, Disabled) and color transitions - Added
UIInteractioncomponent tracking hover/press state (hovered,pressed,justPressed,justReleased) - Added
UIEventsresource with event queue — supportsclick,press,release,hover_enter,hover_exitevents - Added
UIInteractionPluginwith hit testing against world-spaceUIRectbounds and layer-based ordering createWebApp()automatically registers the interaction plugin
UIRect Anchor Layout
- Replaced single
anchorfield with full anchor-offset layout:anchorMin,anchorMax,offsetMin,offsetMax,size,pivot - Added
UILayoutPluginthat computes layout from camera bounds forScreenSpaceroot entities and propagates through children - Added
ScreenSpacetag component for root UI entities that should be laid out relative to the camera - Existing scenes automatically migrated to the new layout fields
Addressable Assets
- Added
AddressableManifestformat with groups, addresses, labels, and asset metadata AssetServer.loadByAddress(address)— load a single asset by its addressAssetServer.loadByLabel(label)— load all assets matching a label, returned asAssetBundleAssetServer.loadGroup(groupName)— load all assets in a group, returned asAssetBundleAssetServer.setAddressableManifest(manifest)— set the manifest and build address/label/group indexes- Editor: added Addressable panel with group management, label editing, drag-move, and dependency analysis
Asset Import Pipeline
- Added
ImporterRegistrywith type-specific import settings - Added
TextureImporterandAudioImporter .metafile format upgraded to v2.0 with automatic migration from v1
Builder Refactoring
- Refactored build pipeline into two-stage architecture:
ArtifactBuilder(shared build logic) +PlatformEmitter(platform-specific output) - Shared build flow across all targets, platform logic cleanly separated
Editor Improvements
- UIRect anchor preset editor with 9-point grid and 3 stretch presets
- Entity creation, deletion, and component changes now instantly sync to the running scene via Store-to-SceneManager events
- Compound commands for batched property changes
Bug Fixes
- Batch renderer now binds white texture to all unused texture slots, fixing rendering artifacts on some GPUs