v0.6.0
UI System Overhaul
- Migrated UI layout computation from TypeScript to C++/WASM for significantly improved performance
- Added new UI components: ProgressBar, Dropdown, Toggle, and quick-create templates
- Rewrote UI framework architecture with extracted
walkParentChainhelper for cleaner hierarchy traversal - Enhanced layout system with proper anchor mode handling and slider drag fixes
- Editor schemas auto-generated for all UI components
ECS Core Enhancements
Unified Transform
- Merged
LocalTransformandWorldTransforminto a singleTransformcomponent - Simplifies the API — no more juggling two separate transform types
Generational Handles
- Rebuilt ECS registry with flat vector pools and generational entity handles
- Eliminates stale entity reference bugs and improves cache locality
- Significant iteration performance improvement for large entity counts
Change Detection & Events
- Added ECS change detection system for tracking component modifications
- New event system for decoupled entity-to-entity and system-to-system communication
Live-Edit Play Mode
- Full live editing of entity properties while the game is running
- Changes in the editor are reflected in real-time in the running game
- Shared Scene/Game view using an offscreen WebGL canvas (no more iframe duplication)
- Replaced
RuntimeSyncServicewith lightweight inline renderer sync
Asset Importer Pipeline
- New asset importer system with per-platform override support
- Define platform-specific asset processing rules (e.g., different texture compression for WeChat vs Playable)
- Integrated into the existing build pipeline
Multi-Window Support
- Detach any editor panel into a separate OS window
- Independent window lifecycle with full panel functionality preserved
- Panels can be re-docked back into the main window
Editor Improvements
- Compound entity creation (e.g., Button, Slider) auto-selects the root entity in hierarchy
- Per-component enabled/disabled toggle in Inspector
- Live preview toggle in Scene View settings
- Scene View zoom-to-cursor fix and overlay scale correction
- Removed addressable groups from bottom dock panel
- Improved dropdown placeholder rendering and inspector schema handling
Performance
- ECS Registry: Flat vector pools replace sparse sets, ~2x faster iteration on views
- TransformSystem: Fused double iteration into single pass with nameLen bounds check
- Root Transform: Fast path skips matrix multiplication for root entities
- GL Flush: Removed redundant GL state calls in render flush
SDK & Runtime
- Enhanced
World.query()API with improved ergonomics App.tick()lifecycle improvements and scene asset lifecycle management- Component registry consolidation and DRY scene loading
- System ordering fixes and toggle performance improvement (O(n²) → O(n))
Platform Fixes
- WeChat MiniGame: Use
wx.getSystemInfoSyncfor correct safe area insets - Playable Ads: Resolved entity reference warnings in builds and prefab instantiation
- Native: Guard stencil GL calls with
ES_PLATFORM_WEBfor native build compatibility
Bug Fixes
- Fix text disappearing after entity creation due to C++ entity ID recycling
- Fix UIRect layout for mixed anchor modes
- Fix zero UIRect size when fill anchors collapse at slider minimum
- Fix slider fill position and progress bar layout sync
- Fix progress bar fill positioning and UIRect move gizmo support
- Fix input touch ID tracking and spine cache key collision
- Fix dropdown placeholder, color NaN values, and texture handle guards
- Fix renderer correctness issues and reduce draw call overhead
Other
- Upgraded spine-runtimes to 4.2.104
- Added SDK integration tests for UI, layout, slider, and app tick
- Updated
eht.pycodegen for vector types and dual output