The Open Forge · Tier 1 · device-local

⚒️ The Forge workbench

The modding platform, in your hands rather than in a design doc. Packs are plain JSON — a theme, a skin, a map, a world, a kit, a sound set, a station, a tongue. Install them here and they live on this device only, in your own browser storage. Nothing is uploaded. With zero packs installed the Sanctuary is byte-identical to the one you already had: modding is a door, not a migration. 📚 the charter · ← back to the Sanctuary

🔒 What this page will not do, and why. The Forge's distribution half — publishing to the commons, the licence menu and its default, pricing, the creator revenue split, and the keeper review bar — is Nick's call (MOD10), not a build task. So this page never posts to the Mod Stall. Tier 2 script mods are built (mod-sandbox.js) but script and game remain reserved kinds: no Worker is spawned here. Building the sandbox and shipping it to players are two different acts, and only the first one has happened.

📦 The reference packs

Eight packs ship with the Sanctuary, one per live kind — the worked examples the schema was written against. Validate one to see the checker run; install one to put it on your own shelf.

🎨 Your shelf

What is installed on this device, and which theme is active. Activating a theme calls the real ModLoader.applyTheme() — the same function every moddable surface would call — and it paints the preview below.

reading your shelf…

Theme preview

A line of Sanctuary text, painted by no active pack.

Honest limit: applyTheme() writes the tokens --sanc-bg / -fg / -accent / -accent2 / -panel / -border / -muted / -danger / -good on :root, and this preview is the only stylesheet in the repo that reads them — sanctuary.css uses a different token set. So a theme pack recolors this box and nothing else, today. Wiring the two token sets together is a separate slice with a separate owner.

🛡️ The refusals — run them yourself

A modding platform is only as good as what it says no to. These are not descriptions of the checks; each button calls the shipped validator and prints what it actually returned.

press one.

⚖️ The balance envelope

Kit packs get a second gate after the schema: a damage × rate × range budget (mod-balance.js). Ranked never runs modded gear at all — that is a source check, not a power check, so even a weak mod item is refused there.

press it.

⛏️ Map packs round-trip

A voxel build exports to a pack and imports back block-exact (mod-map.js). This is the pipeline a published arena would ride; the export format is voxel.html's own edits object, not a parallel one.

press it.

🚪 Not moddable, ever

Stated here because a platform that hides its limits is lying about them. The Hearth/Foolee surfaces (no community pack reaches kids), the quantum engine's physics, the moderation and safety net, the card/wallet/economy code, scripture text, and the doctrine itself. The first of those is enforced in code — the Hearth button above proves it rather than promising it.