aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorBobby <[email protected]>2026-04-22 06:21:41 +0530
committerBobby <[email protected]>2026-04-22 06:31:59 +0530
commite577fd190fc4213d4c4d1876d79f7cfa91439988 (patch)
tree056eb659dad005c45bf5d6a84aaf8043f7fea160 /app
downloadhollowdark-e577fd190fc4213d4c4d1876d79f7cfa91439988.tar.xz
hollowdark-e577fd190fc4213d4c4d1876d79f7cfa91439988.zip
Initialize project with SvelteKit on flat-root layout
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.
Diffstat (limited to 'app')
-rw-r--r--app/app.d.ts14
-rw-r--r--app/app.html23
2 files changed, 37 insertions, 0 deletions
diff --git a/app/app.d.ts b/app/app.d.ts
new file mode 100644
index 0000000..a59afa2
--- /dev/null
+++ b/app/app.d.ts
@@ -0,0 +1,14 @@
+// See https://svelte.dev/docs/kit/types#app.d.ts for details on these types.
+// Populate App interfaces as systems come online.
+
+declare global {
+ namespace App {
+ // interface Error {}
+ // interface Locals {}
+ // interface PageData {}
+ // interface PageState {}
+ // interface Platform {}
+ }
+}
+
+export {}
diff --git a/app/app.html b/app/app.html
new file mode 100644
index 0000000..328f243
--- /dev/null
+++ b/app/app.html
@@ -0,0 +1,23 @@
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
+ <meta name="color-scheme" content="dark" />
+ <meta name="theme-color" content="#13100E" />
+ <meta name="description" content="A literary life simulation." />
+
+ <link rel="icon" href="%sveltekit.assets%/favicon.svg" type="image/svg+xml" />
+ <link rel="stylesheet" href="%sveltekit.assets%/css/app.css" />
+
+ <link rel="preload" href="%sveltekit.assets%/fonts/Literata-Regular.woff2" as="font" type="font/woff2" crossorigin />
+ <link rel="preload" href="%sveltekit.assets%/fonts/Literata-Italic.woff2" as="font" type="font/woff2" crossorigin />
+ <link rel="preload" href="%sveltekit.assets%/fonts/Inter-Regular.woff2" as="font" type="font/woff2" crossorigin />
+
+ <title>Hollowdark</title>
+ %sveltekit.head%
+ </head>
+ <body oncontextmenu="return false" data-sveltekit-preload-data="hover">
+ <div style="display: contents">%sveltekit.body%</div>
+ </body>
+</html>