# VDM Project Roadmap This document outlines the history, current state, and planned future of the Virtual Dungeon Master application. --- ## ✅ Completed Milestones This section lists the major features and architectural improvements that are fully implemented, stable, and working in the current version of the project. #### Core Backend & Systems - **[x] Robust Server Foundation**: FastAPI backend with a real-time WebSocket manager for multiplayer communication. - **[x] Pluggable LLM Backends**: Support for multiple AI providers, including LM Studio, Ollama, and OpenRouter. - **[x] Secure User Accounts**: Persistent user accounts with hashed passwords stored in a dedicated SQLite database. - **[x] Persistent Server Sessions**: User logins survive server restarts for a seamless experience. - **[x] Room & Game Persistence**: Full game state (messages, players) is saved and loaded automatically from a SQLite database. #### Advanced RAG Pipeline - **[x] State-of-the-Art Embeddings**: Utilizes Google's `EmbeddingGemma` model for high-quality text embeddings. - **[x] Intelligent Chunking**: Integrated the `Chonkie` library to perform advanced semantic chunking on text for superior memory creation. - **[x] Local Vector Store**: Employs `ChromaDB` for efficient, local long-term memory storage and retrieval. #### Immersive Frontend & UI/UX - **[x] Modular Frontend Architecture**: The entire JavaScript frontend has been refactored into small, maintainable modules for features like auth, audio, commands, and rendering. - **[x] Speech-to-Text**: Players can use their microphone to speak their actions. - **[x] Secure Markdown Rendering**: Chat messages are rendered with Markdown for rich text formatting (*italics*, **bold**) and sanitized with DOMPurify for security. - **[x] Visual Turn Indicator**: The UI clearly shows which players have submitted their action for the current turn. - **[x] Persistent Light/Dark Modes**: A modern, clean interface with a theme toggle. - **[x] Helper UI**: Includes a command previewer and dynamic avatar selection. --- ## 🎯 Current Focus This section outlines the next set of user-facing features we are focused on developing. - **[ ] GM-Triggered Sound Effects**: Implement a system where the AI can use a special tag (e.g., ``) in its response to trigger pre-loaded sound effects on the client side, enhancing immersion. - **[ ] Player "Typing..." Indicator**: Add a visual indicator to the UI that shows when other players in the room are actively typing a message, improving the sense of presence in multiplayer. - **[ ] GM-to-Player Whispers**: Create a system for the AI to send secret messages to a single player via a tag like `You notice a secret...`, allowing for private information and plot twists. --- ## 🚀 Future Goals This section lists larger, more complex systems to be considered after the current feature set is complete and polished. #### Structured Gameplay Systems - **Character Sheets**: Introduce a simple data model for character sheets to track stats like HP, attributes, and inventory. - **Systematized Skill Checks**: Evolve the AI from a storyteller into a true Game Master by teaching it to request skill checks from the backend (e.g., ``) rather than deciding outcomes itself. This separates the **Rules Arbitrator** (our code) from the **Storyteller** (the AI). #### Advanced Multimedia & Immersion - **Dynamic Voice Casting (RVC)**: Fully integrate a Retrieval-based Voice Conversion (RVC) library to give unique, custom voices to different NPCs based on the `` tags. - **AI-Generated Scene Imagery**: Allow the AI to generate and display images for key scenes or characters using a tag like ``. #### Operational Excellence - **Docker Support**: Containerize the entire application with a `Dockerfile` and `docker-compose.yml` for easy, one-command deployment.