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 | <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 Β· 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 β</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 β</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> | |