3ee2c7c3a881844e5d6be6957c90e7618e757b7a
M3 — Title screen + unified app version. The entry point: editor-first Title screen (warm shader background, pulsing glow, drifting embers, the CODE OF CONQUEST logo, keyboard/mouse menu, footer) set as the boot scene; New Game -> the Main Window shell, Quit exits, rest inert. Suite 146/146. Plus a single /VERSION source of truth (0.01-alpha): the API reads it at startup (+ GET /version), the client bakes it into project.godot via scripts/sync-version and reads it through the Version helper. No runtime coupling; both sides agree. Adds TitleLogo/TitleKicker theme variations.
coc-rpg
AI-driven single-player, party-based fantasy RPG. Godot 4 client, FastAPI proxy, AI as Dungeon Master.
Read CLAUDE.md first — project charter and working agreement. It is the source of truth. If code disagrees with it, the charter wins until the charter is changed.
The one rule
Code owns state. AI owns text. (charter §2)
Repo layout
/client Godot 4.7 game client (GDScript) — ALL game state, ALL game rules
/docs Client-specific docs (scenes, input, combat wiring)
/api FastAPI proxy — auth, metering, prompt routing, logging (charter §4)
/docs API-specific docs (endpoints, model routing, deploy)
/prompts Role prompts — source code, versioned, reviewed (charter §5, §16)
/content Authored game data — quests, NPC knowledge lists, fallback text
/quests Story skeletons and quest definitions
/npcs Per-NPC knowledge lists (charter §6 — "the whole design")
/fallback Authored degraded-DM text for every AI surface (charter §13)
/docs Cross-cutting docs — roadmap, ADRs, planning affecting both sides
/adr Architecture Decision Records
The three processes (charter §4)
client (GDScript) ──HTTP──▶ api (FastAPI) ──▶ Replicate / Ollama
The client holds no API key, ever. It knows one base URL and a set of role endpoints. It sends game state, receives text.
Description
Languages
Text
100%