Materializr
Open-source parametric 3D CAD for makers — constraint sketches, solid modeling, threads, SVG & text engraving, STL/STEP export. Android, iPad, Linux, Mac, Windows. Vibe coded.
Procedurally generated fantasy atlases: deterministic worlds drawn as antique, topographic, ink, and nautical SVG charts.
Translation pending
DesignTypeScript · CSSGitHub @ahl-gramOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
An atelier of imaginary cartography: procedural fantasy atlases as deterministic SVG.
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
An atelier of imaginary cartography.
Vellum lives at. No install, no account:
the whole engine runs client-side in your browser.Read the full README ↗An atelier of imaginary cartography.
Vellum lives at https://www.vellumworlds.com/. No install, no account: the whole engine runs client-side in your browser.
Vellum surveys worlds that don't exist and drafts them as atlas charts. Give it a seed and it invents a landmass, simulates the rain that carves its rivers, grows its forests, founds its harbor towns, names everything in one of ten invented languages, and partitions the land into quarrelsome realms. Then Vellum sits down at the drafting table and draws the maps, complete with parchment texture, hatched mountain ranges, a compass rose, a sea serpent, and a title cartouche.
| Room | What happens there |
|---|---|
| Explorer | Type a seed, draw its world, zoom into its regions |
| Reading Room | Watch any seed's world unfold: the founding voyage, then its recorded ages, on one continuous timeline |
| Print Room | Poster-size SVG or PNG of any seed, print the bound atlas to PDF, download a self-contained atlas |
| Seed of the Day | Today's world, the same for everyone, plus the Daily Hunt |
| Atlas | The hero world (seed 42) as a bound volume |
| Gallery | A twelve-world contact sheet |
| Q & A · Glossary | How it all works; the vocabulary printed on the charts |
The Atlas is drawn into the site at build time rather than authored as a page, and the Gallery's charts are generated the same way.
The daily seed is the current UTC date read as an integer YYYYMMDD, so
everyone sees the same world on the same calendar day, and the page never
needs a rebuild: it draws itself in your browser when you load it.
Every chart is reproducible from the number printed in its corner. The root
<svg> embeds its full recipe as data-vellum-* attributes, and re-rendering
that recipe reproduces the map byte for byte. The
Q & A covers seeds, determinism, and how to
reproduce a saved chart in detail.
Each stage is a pure function of the stage before it, and every random
choice comes from a labeled fork of the master seed (fork("names"),
fork("sites") …), so adding a stage never reshuffles the others.
feTurbulence) and frame.Regional zoom falls out of the architecture: elevation is a continuous function of world-space coordinates, so the atlas's "Environs of …" charts re-sample the same world through a smaller window at finer resolution; coastlines, mountains, and settlements all line up with the world chart.
Each of the ten name cultures is a plain data object (the Culture type in
src/society/names.ts): three sound inventories (onsets, nuclei, codas), the
syllable patterns that combine them, and the templates that dress a bare stem
into "The Sea of %" or "Mount %". Retune one, or add your own to lean a
world's names toward any sound you like. It is phonotactic mimicry, not
linguistics: a culture captures the shape and sound of a language, never its
grammar or meaning.
One warning: names come from a labeled fork of the seed, so editing the
cultures renames every world. A naming change re-rolls existing seeds, owes a
hero-chart regen (npm run charts:regen + npm run og), and must respect the
covenant seed: seed 42's culture pick must keep landing on oromi across
roster changes, so the golden world's every name stays bit-identical.
test/world/covenant-seed42.test.ts fails loudly if it ever moves. A culture's id is world
identity too: a world founded from a sentence names its culture by id, so an id is never renamed.
git clone https://github.com/ahl-gram/Vellum
cd Vellum
npm install
npm run dev # the full site, Explorer included, on a local Astro dev server
Vellum needs Node 24+.
The engine is also a command-line tool that draws one chart at a time, straight from the TypeScript source with no build step:
npm run chart -- --seed 42 # → out/chart-42-antique.svg
npm run chart -- --seed 42 --style nautical # a different drafting table
npm run chart -- --seed 42 --theme moisture # a thematic data plate (rainfall)
node src/cli/main.ts help # the full flag reference
Charts land in out/ (gitignored) as plain SVGs: open them in a browser, drop
them into a document, or add --png to rasterize. The help screen documents
every flag (styles, map types, climate bands, coastline raggedness, legends,
coats of arms, PNG export).
Built test-first for the algorithmic core (RNG, noise, marching squares, flow, rivers, biomes, names, placement) with structural tests pinning the renderer's contract (layer ids, balanced tags, no NaN, byte-determinism). Aesthetics were iterated with a screenshot loop: render SVG → headless-browser PNG → look at the map → adjust.
A few favorite emergent behaviors, none individually programmed:
Vellum's source code is released under the MIT License.
Maps you generate with Vellum are dedicated to the public domain (CC0): use them for anything, including commercial work, with no restrictions and no attribution required.
The house rules live in handbook/specs/, one file per area and every one of
them normative. Read them rather than a summary here, since the summary is the
thing that goes stale.