Initial commit: Desktop Waifu MVP foundation
- Project structure with modular architecture - State management system (emotion states, conversation history) - Transparent, draggable PyQt6 window - OpenGL rendering widget with placeholder cube - Discord bot framework (commands, event handlers) - Complete documentation (README, project plan, research findings) - Environment configuration template - Dependencies defined in requirements.txt MVP features working: - Transparent window appears at bottom-right - Window can be dragged around - Placeholder 3D cube renders and rotates - Emotion state changes on interaction - Event-driven state management Next steps: VRM model loading and rendering
This commit is contained in:
41
main.py
Normal file
41
main.py
Normal file
@@ -0,0 +1,41 @@
|
||||
"""
|
||||
Desktop Waifu - Main Entry Point
|
||||
A VRM-based AI desktop companion with Discord integration
|
||||
"""
|
||||
import sys
|
||||
import asyncio
|
||||
from PyQt6.QtWidgets import QApplication
|
||||
from PyQt6.QtCore import Qt
|
||||
from dotenv import load_dotenv
|
||||
|
||||
# Load environment variables
|
||||
load_dotenv()
|
||||
|
||||
# Import application modules
|
||||
from src.ui.waifu_window import WaifuWindow
|
||||
from src.discord_bot.bot import WaifuBot
|
||||
from src.core.state_manager import StateManager
|
||||
|
||||
def main():
|
||||
"""Main application entry point"""
|
||||
# Create Qt Application
|
||||
app = QApplication(sys.argv)
|
||||
app.setApplicationName("Desktop Waifu")
|
||||
|
||||
# Initialize state manager (shared between desktop and Discord)
|
||||
state_manager = StateManager()
|
||||
|
||||
# Create main window
|
||||
window = WaifuWindow(state_manager)
|
||||
window.show()
|
||||
|
||||
# Start Discord bot in background (if configured)
|
||||
# TODO: Implement Discord bot integration
|
||||
# discord_bot = WaifuBot(state_manager)
|
||||
# asyncio.create_task(discord_bot.start())
|
||||
|
||||
# Run application
|
||||
sys.exit(app.exec())
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Reference in New Issue
Block a user