v0.9.1
One-Click Toolchain Install
The Build Settings dialog now has an Auto Install button that downloads and configures the complete build toolchain (Emscripten 5.0.0, CMake, Python) in one click. No git, no manual setup, no network workarounds required.
- Pre-packaged per-platform archives (macOS
.tar.gz, Windows.zip, Linux.tar.gz) hosted on GitHub Releases - Real-time download progress with MB counter in a toast notification
- Automatic toolchain detection on launch — if emsdk is already on your PATH or was previously installed, it’s picked up automatically
- Select emsdk button remains for advanced users who want to point to a custom installation
Dynamic Engine Compilation
Engine WASM is now compiled on demand from bundled C++ source, replacing the pre-built binary approach. This enables:
- Feature flags — toggle Tilemap, Particles, Timeline, PostProcess, BitmapText, Spine per build config
- Platform targets — Web, WeChat MiniGame, and Playable (single-file) each get optimized output
- Build cache — identical configurations reuse cached artifacts; clean build available when needed
- Spine version selection — compile only the Spine runtime versions (3.8, 4.1, 4.2) your project uses
- Physics module — Box2D compiled as a separate WASM module, included only when enabled
Bundled CMake
CMake is now automatically bundled in the editor’s toolchain resources. Combined with the Python bundled inside emsdk, zero external dependencies are needed to build engine WASM — just click Auto Install and Build.
Example Project Download Progress
Creating a project from a template now shows a download progress bar with percentage, so you can see exactly how far along the download is instead of staring at an unresponsive dialog.
Security Hardening
- Safe module loading —
new Function()dynamic code execution in SpineModuleLoader replaced with Blob URL dynamic imports, eliminating code injection risk - Project name validation — project names are now validated against filesystem-unsafe characters (
<>:"/\|?*), preventing path issues on Windows - Async error handling — unhandled promise rejections in WASM instantiation, scene loading, and plugin lifecycle now have proper
.catch()handlers with diagnostic messages
Bug Fixes
Runtime
- Fixed Spine animations not rendering in single-file playable ad exports
- Fixed Spine and Physics WASM modules failing to load in certain plugin configurations
- Fixed tilemap layers not being properly removed when entities are destroyed
SDK
- Replaced silent
catch {}blocks across the SDK withconsole.warndiagnostics — errors that were previously swallowed now produce visible warnings with context - SDK sourcemaps are now automatically synced to the desktop app for accurate stack traces
Build System
- Fixed Windows compatibility issues in the toolchain build pipeline
- Fixed cross-platform
tscPATH resolution in CI - Data-driven toolchain packaging via manifest reduced bundled size from 665 MB to 7 MB