State machine (张明远):
- Add select_random_free_state() for FreeMode states without
next_state/next_states config
- Weighted random selection across all FreeMode states
- Matches old hologram_player_rust behavior
Video plugin (赵雨薇):
- Send ScreenLockRequest(false) to screen plugin on Pause
- Send ScreenLockRequest(true) to screen plugin on Play/Resume
- Closes the pause-wake-lock gap vs old version
cargo check: 0 warnings, cargo test: 22/22 passed
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix state_machine reset_state_progress: reset sequence index before
validation to prevent out-of-bounds error on state transitions
- Fix video transformer test: use ±1 tolerance for OpenCV interpolation
- Add core integration tests (service_manager, dependencies, messages)
- Add HTTP compat routes (/index.html, POST /api/wifi/scan, hotspot aliases)
- Rewrite clients/docs/API.md to match actual implementation
- Fix BLE unused imports warning
- CEO task planning for next round (ConfigReload, playlist snapshot)
cargo check: 0 warnings, cargo test: 22/22 passed
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>