- Add relative path resolution for filesystem-loaded documents in kernel.cpp
- SetDocumentBasePath() tracks document directory for relative resource resolution
- ResolvePath() resolves relative paths like "app.lua" against document base path
- Fix RmlUi context name lookup in sandbox test app (use "default" not "main")
- Add debug logging to timer_manager.cpp to trace timer creation and execution
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add --screenshot-after CLI option to capture screenshot after playback
- Fix sandbox test app to cache document reference for onclick handlers
- Add getDocument() helper that works with RmlUi Lua proxy objects
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add DesktopSandbox class that integrates timer, JSON, crypto, and VirtualFS APIs
- Fix mouse coordinate handling: GLFW reports window coordinates, not physical pixels
- Fix font path resolution to search multiple locations for test apps
- Fix screenshot capture timing (capture before buffer swap)
- Fix test app CSS: use border-width instead of border:none, add display:block
- Fix test app Lua: add document nil checks, use HTML entities for symbols
- Update hot_reload to reset sandbox state on reload
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>