SOURCE / PINNED RELEASE
Made of little things.
Napcraft
- Release
- ee47ac6a25df…
- Author-recorded commit
- 410dea87e109…
- License
- LICENSE
- Author’s source reference
- nostr://npub182jczunncwe0jn6frpqwq3e0qjws7yqqnc3auccqv9nte2dnd63scjm4rf/wss%3A%2F%2Fgit.napplet.soy%2F/n-52f9e22f5ce
Archive hash verified: 9e6e0cabb18d0d46…. The source-to-build association is the author’s claim; it has not been independently rebuilt.
<!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="theme-color" content="#dedcf5" />
<title>Napcraft</title>
</head>
<body>
<main id="app">
<canvas
id="scene"
tabindex="0"
aria-label="Creative voxel island. WASD or arrows to walk. Click a block to build, right-click to erase. On touch, tap to aim then use Build or Erase. Space builds, X erases."
></canvas>
<div class="tiny">
<b>A little more room?</b
><span
>Enlarge Napcraft to at least 300 × 340 to build. Your island will
still be here.</span
>
</div>
<header class="hud">
<button id="worldMenu" class="world-chip" aria-label="World menu">
<span class="logo">▧</span
><span
><b id="worldName">NAPCRAFT</b
><small id="worldMode">A little island. Big ideas.</small></span
><span>⌄</span>
</button>
<div class="top-right">
<span id="presence" class="pill">CREATIVE CLUB</span
><button id="share" class="small" hidden>↗ Invite</button
><button id="help" class="icon" aria-label="How to play">?</button>
</div>
</header>
<div id="playHud" hidden>
<div class="save-pill" id="saveStatus" role="status">
All blocks saved
</div>
<div class="zoom">
<button id="zoomIn" class="icon" aria-label="Zoom in">+</button
><button id="zoomOut" class="icon" aria-label="Zoom out">−</button>
</div>
<div class="bottom">
<div class="hint" id="hint">
Click to build · Right-click to erase · WASD to wander · Drag to pan
</div>
<div
class="materials"
role="toolbar"
aria-label="Building materials"
></div>
<div class="control-row">
<div class="dpad" aria-label="Movement">
<button data-key="KeyW" aria-label="Walk up">↑</button
><button data-key="KeyA" aria-label="Walk left">←</button
><button data-key="KeyS" aria-label="Walk down">↓</button
><button data-key="KeyD" aria-label="Walk right">→</button>
</div>
<div class="build-actions">
<button id="remove" class="erase">− <span>Erase</span></button
><button id="place" class="primary">+ <span>Build</span></button>
</div>
</div>
</div>
</div>
<div id="overlay" class="overlay">
<section
id="panel"
class="panel"
role="dialog"
aria-modal="true"
aria-label="World menu"
></section>
</div>
<div
id="toast"
class="toast"
role="status"
aria-live="polite"
hidden
></div>
</main>
<script type="module" src="/src/main.ts"></script>
</body>
</html>
