Restore event bus variadic emit/listener semantics for backward compatibility, and make RuntimeEvents resilient to listener failures including once cleanup on throws.
Split frame render signaling from generic render calls so game:rendered is emitted only from the frame loop, with a dedicated game:frame-rendered event.
Made-with: Cursor
Add AppRuntime as the central runtime orchestrator and migrate init wiring to runtime-managed game/scene/event instances.
Introduce RuntimeEvents plus plugin hooks so scene-change and render lifecycle signals are extensible without breaking existing init exports.
Made-with: Cursor
- Changed default game orientation from Landscape to Portrait in main.ts.
- Enhanced Game class with new methods for viewport size management and physical layout detection.
- Improved layout scheduling on orientation change and resize events.
- Removed deprecated global page and adjusted scene initialization to use new layout configurations.
Made-with: Cursor