initial is an AI Character & Animation Studio — a desktop application that takes text prompts and produces rigged, animated, exportable 3D characters, all with a real-time WGPU preview.
- Text-to-Character — prompt → rigged, skinned mesh + base idle animation
- Text-to-Motion — prompt → BVH/animation clip on the character's skeleton
- AI Pose Staging — two hand-set poses + prompt → generated in-between frames
- Style Transfer — existing animation + style prompt → restyled animation
- Auto-Retarget — external animation (Mixamo/asset-store) → adapted to initial's skeleton
- Live Preview + Export — real-time WGPU viewport with egui controls; export to FBX/GLB/ONNX
initial/
├── client/ # Rust / WGPU desktop app
│ ├── src/app.rs # Application state, event loop, WGPU + egui setup
│ ├── src/core/ # Skeleton, math, ECS, validation
│ ├── src/animation/ # Playback, blending, IK, retarget
│ ├── src/render/ # Skinned mesh, PBR, WGSL shaders, export
│ ├── src/network.rs # WebSocket client
│ └── src/ui/ # egui panels (editor, chat, scene, inspector, toolbar, gen status)
├── compiler/ # Python / FastAPI backend
│ ├── api.py # Generation and job endpoints
│ └── core/
│ ├── animation/ # Skeleton, motion, retarget, BVH import
│ ├── ml/ # Model orchestration, pose interpolation, text-to-mesh/motion
│ ├── llm/ # LLM router for chat
│ ├── executors/ # Job executors
│ └── jobs.py # Async job queue with progress streaming
├── asset/ # Base skeletons, bone maps, style library (populated on first run)
├── start_universe.sh # Launch script
└── README.md
Prerequisites: Rust 1.75+, Python 3.11+
# Set up the compiler
cd compiler
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
cd ..
# Launch initial
./start_universe.sh| Layer | Technology | Role |
|---|---|---|
| Animation | Rust (custom math) | Skeleton, FK, IK, blending, retargeting |
| Rendering | Rust / WGPU | GPU skinning, PBR shaders, egui overlay |
| Backend | Python / FastAPI | ML orchestration, async job queue |
| Network | WebSocket | Real-time progress streaming |
All ML inference runs server-side (Python). The Rust client consumes generated data (mesh, motion, poses) over HTTP/WebSocket.
MIT
