liya_3d_avatar_widget_flutter 0.2.0
liya_3d_avatar_widget_flutter: ^0.2.0 copied to clipboard
Liya AI 3D Talking Avatar Widget for Flutter - WebView + Three.js + Native UI
Changelog #
All notable changes to this project will be documented in this file.
0.2.0 - 2025-01-20 #
Added #
- Outfit Color Customization —
setOutfitColor(Color)method onLiya3dAvatarControllerto change avatar outfit color dynamically - Color Picker UI — Built-in color picker in header with 12 preset colors (Indigo, Red, Orange, Amber, Emerald, Cyan, Blue, Violet, Pink, Gray, Dark, White)
onControllerCreatedcallback — AccessLiya3dAvatarControllerfrom outside the widget (available inLiya3dKioskWidget)- Voice Controller Improvements — Complete rewrite with reliable stop/complete pattern:
_finalTranscriptfield for capturing transcript on stop_completeCalledguard to prevent duplicateonCompletecallbacks- Localized error messages for TR/EN/ZH (no-speech, audio-capture, not-allowed, network errors)
hasPermission()method to check speech recognition permissiongetLocales()method to get available STT localesclearError()method to reset error state
- Theme-aware outfit color —
primaryColorfrom theme automatically sets avatar outfit color
Changed #
Colors.withOpacity→Colors.withValues(alpha:)— Migrated to Flutter 3.x API across all widgets- Voice Controller Architecture — Simplified from toggle-based to event-based pattern (more reliable on iOS/Android)
- JS
avatar_scene.js— AddedsetAvatarOutfitColor()global function, removed debug logging
Fixed #
- Voice controller now properly handles stop without restarting engine
- Duplicate message sends prevented in kiosk mode
0.1.4 - 2026-07-11 #
Added #
- Multi-language support — Turkish (
tr), English (en), and Chinese (zh) - Auto device locale detection — Automatically detects and applies device language on first launch
- In-app language toggle — Cyclic 3-language button (TR → EN → ZH) in Standard & Kiosk modes
- Localized TTS — Text-to-Speech now respects selected language (
languagequery param) - Localized STT — Speech-to-Text language model auto-configured per locale (
zh→zh-CN) - Localized error messages — All STT and API error messages are now translated
- Persisted locale — Selected language saved across app restarts via
SharedPreferences
Changed #
- TTS API requests now include
languageparameter - STT controller maps
zhlocale tozh-CNfor speech recognition compatibility - All UI labels, buttons, and status texts are fully localized
0.1.3 - 2026-02-28 #
Added #
- Media display improvements — image/video thumbnails with skeleton loader
- Media preview dialog for fullscreen image/video viewing
0.1.2 - 2025-02-24 #
Fixed #
- iOS microphone permission — now requests mic + speech recognition permissions on both Android and iOS
- Added
viewport-fit=coverto WebView meta tag for iOS safe area support
0.1.0 - 2024-02-17 #
Added #
- Initial public release
Liya3dAvatarWidget- Standalone 3D talking avatar widgetLiya3dKioskWidget- Full-featured kiosk mode with chat interface- Real-time lip-sync with viseme support
- Voice input/output with speech recognition
- Multi-language support (English, Turkish)
- Liquid glass UI theme
- File attachment support
- Session management
- Idle animations (blinking, breathing, micro-expressions)
Features #
- Three.js powered 3D avatar rendering via WebView
- GLB/GLTF model support with ARKit blendshapes
- Real-time audio streaming with lip-sync
- Customizable colors and themes
- Premium overlay support
- Cross-platform (iOS, Android, Web)