v0.2.0 Release Notes
Companion Guide
Status: Published as
v0.2.0
GitHub release: Sunwood-ai-labs/GeminiVRM v0.2.0
Published at:2026-03-31 01:43 JST(2026-03-30T16:43:53Z)
Compare basis:v0.1.0..v0.2.0
Scope: This note covers the podcast-mode, motion-runtime, automation, and release-collateral work shipped after the initial release.
Highlights
Podcast modeadds a dual-host stage where Yukito and Kiyoka alternate short Gemini Live audio turns from one topic.Podcast settingsadds a capped turn count (2..12) plus podcast-only voice routing so each host can use a different prebuilt voice.- Later podcast turns relay the previous speaker's audio into Gemini Live when possible, with transcript fallback if the audio relay cannot be reused.
- The default viewer runtime now rotates bundled Mixamo idle clips, swaps into talking motion during speech, stabilizes facing, and preserves camera framing between sessions.
- The app shell now reflects the active mode more clearly with the podcast stage, compact composer, and stronger assistant overlay hierarchy.
Tooling And Automation
- A browser automation surface now exposes
window.geminiVrmControland apostMessageprotocol for state snapshots, mode switching, podcast setting updates, motion changes, sends, and resets. - Release collateral is now reproducible through
scripts/generate-release-header.mjsandscripts/verify-release-header-layout.mjs. public/Yukito.vrmships as the second bundled host asset for podcast mode.
Docs And Assets
- This release adds versioned release-note pages and companion walkthroughs in both English and Japanese docs.
- README, getting-started, and usage docs were truth-synced to cover podcast mode, motion presets, and the automation surface.
- The release header now has a dedicated
release-header-v0.2.0.svgasset for both docs and the GitHub release body.
Known Constraints
- Podcast mode is a capped turn-based exchange, not simultaneous live duet playback.
- Podcast voice overrides apply only to podcast mode; the regular single-avatar chat voice remains separate.
- Audio relay can fall back to transcript-driven continuation when the previous turn cannot be reused as an audio relay input.
- External control is enabled by default in development, but production use is gated by local storage and allowed-origin checks.
- The YouTube relay remains inbound-only and does not post Gemini replies back into YouTube chat.
Validation
npm run lintnpm run buildnpm run docs:build$env:BASE_PATH='/GeminiVRM'; npm run build:pagesnpm run e2e:smokepowershell -ExecutionPolicy Bypass -File D:\Prj\gh-release-notes-skill\scripts\verify-svg-assets.ps1 -RepoPath . -Path public/favicon.svg,docs/public/releases/release-header-v0.2.0.svgnpm run verify:release-header-layout -- --input docs/public/releases/release-header-v0.2.0.svgpowershell -ExecutionPolicy Bypass -File D:\Prj\gh-release-notes-skill\scripts\verify-release-qa-inventory.ps1 -RepoPath . -Tag v0.2.0