A browser-based, offline-first progressive web app for Fate Condensed GMs. Generate world-specific content, run sessions, track players — all in one tab.
Live: ogma.net
$state, $derived, $props)adapter-static — buildnpm install
npm run dev # Dev server at localhost:5173
npm run build # Production build → build/
npm run preview # Preview production build
node scripts/qa-hard.mjs # Content + engine checks (must exit 0)
node scripts/qa-export.mjs # Export round-trip checks (must exit 0)
bash scripts/bump-version.sh # Bump version
# Zip: YYYY-MM-NNN.zip (excluding node_modules, .svelte-kit, build, .git)
See CLAUDE.md for architecture rules, component inventory, and engineering conventions.
See docs/claude/ for session bootstrap, project memory, team voices, and world voices.
static/assets/css/theme.css — no <style> blocksengine.js and db.js are pure JS — no Svelte imports$state(), $derived(), $props()left/top on the component — only the .cv-card-positioner wrapperShattered Kingdoms (fantasy) · Neon Abyss (cyberpunk) · Void Runners (space) · The Long After (post-apoc) · The Long Road (road post-apoc) · Gaslight Chronicles (Victorian) · Dust and Iron (western) · dVenti Realm (original fantasy)
Fate Condensed SRD © Evil Hat Productions, LLC. Licensed under Creative Commons Attribution 3.0 Unported. Randy Oest / Amazing Rando Design — fate-srd.com
See LICENSING.md for full attribution.
Built March 2026. Original React 18 CDN UMD codebase migrated to SvelteKit + Svelte 5.
SvelteFlow canvas replaced with native pointer/wheel canvas in v662.
The react-source/ directory contains the original codebase (read-only reference).