Skip to content

v0.2.0 Release Notes

Companion Guide

GeminiVRM v0.2.0 release header

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 mode adds a dual-host stage where Yukito and Kiyoka alternate short Gemini Live audio turns from one topic.
  • Podcast settings adds 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.geminiVrmControl and a postMessage protocol for state snapshots, mode switching, podcast setting updates, motion changes, sends, and resets.
  • Release collateral is now reproducible through scripts/generate-release-header.mjs and scripts/verify-release-header-layout.mjs.
  • public/Yukito.vrm ships 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.svg asset 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 lint
  • npm run build
  • npm run docs:build
  • $env:BASE_PATH='/GeminiVRM'; npm run build:pages
  • npm run e2e:smoke
  • powershell -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.svg
  • npm run verify:release-header-layout -- --input docs/public/releases/release-header-v0.2.0.svg
  • powershell -ExecutionPolicy Bypass -File D:\Prj\gh-release-notes-skill\scripts\verify-release-qa-inventory.ps1 -RepoPath . -Tag v0.2.0