godseed / web /index.html
AndresCarreon's picture
Town Mode: close town view by default, build_district + place_road, bank/market/house, grow-one-town steering, behold-the-world reveal, tamed needle
b0d758d verified
Raw
History Blame Contribute Delete
3.25 kB
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
<title>GODSEED β€” speak, and it will be made</title>
<meta name="description" content="A tiny god plans aloud and terraforms one persistent world, one wish at a time. Nine billion parameters. One shared world." />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Inter:wght@300;400;500&family=JetBrains+Mono:ital,wght@0,400;1,400&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="./style.css" />
<script type="importmap">
{
"imports": {
"three": "./lib/three.module.js",
"three/addons/": "./lib/addons/"
}
}
</script>
</head>
<body>
<canvas id="scene" aria-label="A small god's planet"></canvas>
<div class="vignette" aria-hidden="true"></div>
<div class="grain" aria-hidden="true"></div>
<!-- wordmark -->
<header class="brand">
<h1 class="brand__mark">GODSEED</h1>
<p class="brand__tag">nine billion parameters&ensp;Β·&ensp;one shared world</p>
</header>
<!-- epoch + Genesis Log + behold toggle -->
<nav class="almanac">
<div class="almanac__epoch" id="epoch">Epoch β€”</div>
<button class="behold" id="beholdToggle" type="button" aria-pressed="false"
title="pull back to the whole world, or return to the town">
<span class="behold__label">behold the world</span>
<span class="behold__sigil" aria-hidden="true">↕</span>
</button>
<a class="almanac__log" href="./book.html" id="logLink">Genesis Log&ensp;β†’</a>
</nav>
<!-- the god speaks (thought ticker) -->
<aside class="voice" id="voice" aria-live="polite">
<div class="voice__head">
<span class="voice__dot" id="voiceDot"></span>
<span class="voice__label">the god speaks</span>
<span class="voice__wish" id="voiceWish"></span>
</div>
<div class="voice__stream" id="voiceStream"></div>
</aside>
<!-- epitaph flourish -->
<div class="epitaph" id="epitaph" aria-live="polite">
<div class="epitaph__rule"></div>
<div class="epitaph__text" id="epitaphText"></div>
<div class="epitaph__label" id="epitaphLabel">the wish is granted</div>
<button class="epitaph__descend" id="epitaphDescend" type="button" hidden>descend&ensp;↓</button>
</div>
<!-- altar: wish input -->
<section class="altar">
<div class="altar__chip" id="queueChip" hidden></div>
<form class="altar__form" id="wishForm" autocomplete="off">
<input class="altar__input" id="wishInput" type="text" maxlength="140"
placeholder="make a wish" aria-label="make a wish" />
<button class="altar__send" id="wishSend" type="submit" aria-label="offer the wish">
<span class="altar__sigil">✦</span>
</button>
</form>
<div class="altar__hint" id="altarHint">the god grants one wish at a time</div>
</section>
<div class="status" id="status" role="status"></div>
<script type="module" src="./main.js"></script>
</body>
</html>