diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index e27df4e..ab98c98 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -2,9 +2,16 @@ ## Overview -Chobit is an interactive AI companion that lives on the user's desktop as a transparent overlay with a 3D animated character. It coordinates voice interaction (STT/TTS) with LLM-driven conversation and real-time avatar animation. +Chobit is an interactive AI companion — a multi-platform Godot 4 app with a 3D VRM avatar, voice interaction, and pluggable LLM backend. Godot is the avatar runtime; all ML/GPU inference runs on external services via model-boss. -The client is a **Godot 4** application. Backend ML services (@speech-synthesis, @model-boss) run separately. +The project follows the @applications Tier 2 pattern with shared GDScript symlinked into platform-specific Godot projects: + +``` +shared/godot/ → Cross-platform source (avatar, conversation, audio, UI) +godot-desktop/src/ → → Symlink to shared/godot/ (transparent overlay, tray, window mgmt) +godot-mobile/src/ → → Symlink to shared/godot/ (touch input, on-device camera) +services/ → Desktop-only Python sidecars (bridge, tray, vision) +``` ## System Diagram @@ -323,8 +330,10 @@ Required blendshapes: `happy`, `sad`, `angry`, `surprised`, `relaxed`, `neutral` | Asset | Format | Location | |-------|--------|----------| -| VRM models | `.vrm` | `godot/models/` | -| Animations | `.tres` (Godot resource) | `godot/scenes/` | -| Audio | `.wav`, `.ogg` | `godot/audio/` | -| Scripts | `.gd` (GDScript) | `godot/scripts/` | -| Scenes | `.tscn` (Godot scene) | `godot/scenes/` | +| VRM models | `.vrm` | `godot-desktop/models/`, `godot-mobile/models/` | +| Audio assets | `.wav`, `.ogg`, `.mp3` | `godot-desktop/audio/` | +| Shared GDScript | `.gd` | `shared/godot/` (symlinked as `src/`) | +| Platform GDScript | `.gd` | `godot-{platform}/platform/` | +| Scenes | `.tscn` | `godot-{platform}/scenes/` | +| Sidecar services | `.py` | `services/{bridge,tray,vision}/` | +| Protocol types | `.ts` | `packages/chobit-core/src/` |