aboutsummaryrefslogtreecommitdiff
path: root/app
AgeCommit message (Collapse)AuthorFilesLines
2026-04-22Move screens to lib/screens, version to lib/version, inject version via Vite ↵Bobby1-3/+3
define; lib is folders-only
2026-04-22Migrate remaining relative imports to @hollowdark/*; strip //-comments and ↵Bobby1-7/+0
doc references, JSDoc-only
2026-04-22Add Literata and Inter fonts, title-screen audioBobby1-3/+3
Fonts (SIL Open Font License; licenses preserved alongside the files): static/fonts/Literata-Regular.ttf body — 400 weight static/fonts/Literata-Italic.ttf body — 400 italic static/fonts/Literata-Medium.ttf body — 500 weight static/fonts/Inter-Regular.ttf UI chrome — 400 weight static/fonts/Inter-Medium.ttf UI chrome — 500 weight static/fonts/Literata.OFL.txt static/fonts/Inter.OFL.txt Google Fonts' Inter distribution is optical-size-tiered — the 18pt variants are tuned for the 13–18px range our UI uses, so they're aliased as the base "Inter" family. Crimson Pro (memoir body) is not yet sourced; its @font-face block and preload hint both drop out of app.css / app.html for now and land when the memoir screen is built. app.css swaps the woff2 references for ttf (format: 'truetype'), and the @font-face comment now reflects the reality of what's on disk. app.html preloads the ttf variants. svelte.config.js drops the prerender handleHttpError shim that was tolerating missing /fonts/ 404s — the files exist now, so the build should fail loudly if any preloaded font goes missing. Title-screen audio: static/audio/title/piano-relaxing.mp3 — "Piano Relaxing" by atlasaudio, Pixabay Content License static/audio/title/piano-relaxing.license.txt — Pixabay license certificate Note on design: docs/17-first-hour.md said "no menu music" on the title screen. Running with this addition per the director's current direction (the design docs reflect an earlier stage of thinking).
2026-04-22Initialize project with SvelteKit on flat-root layoutBobby2-0/+37
SvelteKit 2 with adapter-static, Svelte 5, TypeScript 6 strict mode. Design decisions follow ARCHITECTURE.md §2 and technical/01-file-structure.md: no src/ wrapper, implementation folders sit at the project root alongside the design corpus in .claude/, and each top-level folder is its own import alias (engine/, events/, flow/, scene/, etc.) configured in svelte.config.js. Framework configuration routes SvelteKit away from the default src/ layout: templates live in app/, hooks in hooks/, routes in routes/, assets in static/. The favicon is a quiet amber dot on #13100E; .nojekyll keeps GitHub Pages from stripping the _app/ build folder. Deploy target is GitHub Pages. adapter-static uses fallback: '404.html' (the GH Pages SPA convention) and kit.paths.base reads BASE_PATH from the environment so dev serves at the root while the deploy workflow builds under /<repo>/. Prerender tolerates missing /fonts/ files so the build doesn't block until font files land — see static/css/app.css @font-face block. Licensed MIT.