Repository navigation
v3.0-release
Release v3.0.0: The Modular Evolution
This release marks the most significant transformation of SimpleVirtualAvatar to date. Version 3.0.0 introduces a complete architectural overhaul, a modernized UI experience, and a fully platform-agnostic core designed for high-performance virtual expression.
🛠 Key Highlights
- Architectural Rebirth: The entire source tree has been reorganized into a modular hierarchy (
core,graphics,system,ui,utils). Combined with a transition tosnake_caseAPI naming and C++20 standards, the codebase is now cleaner, faster, and more maintainable. - Next-Gen UI & UX: Out with floating buttons, in with a sleek, semi-transparent sidebar. A new State Badge System and dynamic volume bars provide real-time visual feedback (Idle, Talk, Scream), while improved DPI Awareness ensures the interface looks sharp on any display.
- Universal OS Layer: Legacy Windows dependencies are gone. The new
OsUtilslayer provides native deep-system integration for Windows (DWM), Linux (X11), and macOS (Cocoa), enabling features like true window transparency across all platforms. - Professional Build Pipeline: Now requiring CMake 3.31+, the build system is strictly target-based. With CPM.cmake handling dependencies and integrated static analysis, the project adheres to the highest modern C++ development standards.
📋 Full Change Summary
Added
- Interface: Sleek sidebar and menu bar system replacing legacy UI elements.
- Visuals: Interactive "State Badges" and color-coded dynamic volume bars.
- Flexibility: Dynamic DPI scaling and refined "Shake" effects with configurable trigger modes.
- Robustness: Automated directory creation for assets/shaders and absolute path resolution to prevent loading errors.
- Developer Experience: Custom ASCII art logo in CMake and strict compiler warnings (
-Wall,-Wextra) for code safety.
Changed
- Engine Core: Upgraded to C++20 and modernized the
ConfigManagerto use platform-specific paths (like%APPDATA%). - API Style: Standardized all internal methods to
snake_casefor consistency. - Build Logic: Optimized MSVC linking to hide the console window in Release builds and implemented
GNUInstallDirs. - Performance: VSync is now forced in Release mode to eliminate screen tearing and reduce GPU strain.
Fixed
- Stability: Resolved X11 linker errors on Linux and fixed flickering transparency issues on Windows.
- Memory: Eliminated potential leaks in the
Rendererby validating window contexts during destruction.
Removed
- Bloat: Deleted the
external/directory and.gitmodulesin favor of automated package management. - Legacy: Fully stripped out
WinUtils.cppand all remaining Win32-only header dependencies.
For a detailed technical breakdown, please refer to the CHANGELOG.md.