Added pyproject.toml, updated todo.md

This commit is contained in:
Nighthawk
2025-09-05 06:51:17 -04:00
parent d87d2a9f03
commit 97df43ce91
2 changed files with 51 additions and 0 deletions
+43
View File
@@ -0,0 +1,43 @@
# ===================================================================
# VDM - Project Configuration File
# ===================================================================
# This file defines the project, its metadata, and its dependencies
# for modern Python packaging tools like uv and pip.
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[project]
name = "vdm-server"
version = "0.1.0"
description = "A multiplayer, AI-driven storytelling game server."
requires-python = ">=3.11"
# These are the core dependencies, equivalent to the old requirements.txt
# They will install the CPU-only version of PyTorch by default.
dependencies = [
"fastapi",
"uvicorn",
"pydantic-settings",
"orjson",
"httpx",
"chromadb",
"sentence-transformers",
"chonkie[st]",
"kokoro",
"torch",
"torchaudio",
"passlib[bcrypt]",
"PyYAML",
"rich",
]
# This section defines optional features that can be installed.
[project.optional-dependencies]
# The 'gpu' extra will install the CUDA-enabled version of PyTorch for
# significantly better performance on NVIDIA GPUs.
gpu = [
"torch",
"torchaudio",
]
+8
View File
@@ -18,3 +18,11 @@ This document tracks major functional, operational, and architectural improvemen
- **[ ] Create a `Dockerfile`:** Define the environment for the VDM server, including the Python version, dependency installation from `requirements.txt`, and the command to run the server.
- **[ ] Create a `docker-compose.yml`:** Write a Compose file to make it trivial to start the entire application stack (the VDM server and potentially its databases) with a single `docker-compose up` command. This dramatically simplifies setup for new developers and production environments.
## 3. Modern Frontend Framework Migration
**Goal:** Rebuild the frontend using a modern JavaScript framework to improve scalability, maintainability, and the developer experience.
- **[ ] Choose a Framework:** Evaluate and select a framework. **React** (with Vite for the build tool) is a strong contender due to its vast ecosystem and component-based architecture, which is a perfect fit for our UI.
- **[ ] Component-Based Refactoring:** Break down the existing HTML and JavaScript into reusable components (e.g., `ChatLog`, `PlayerList`, `MessageInput`).
- **[ ] State Management:** Replace the current manual state object with a dedicated state management library like **Zustand** or **Redux Toolkit** for a more robust and predictable UI.