Rooms
=== name is a room. Prose under it is what the runner sees. -> hall or -> END is the exit.
This hub is for tools and methods that treat notes as working memory rather than as a single final document. The useful distinction is not just "editor" versus "not editor." It is whether the system supports retrieval, cross-reference, staged drafting, and long-lived accumulation in a way that changes how you think and write.
Spw is the knowledge base I actually keep: readable source, named stems, and routes that project the same notes into HTML. Other local-first writing tools exist; they are neighbors, not the substrate this site is built from.
This site is itself a public knowledge surface: routes carry data-spw-* semantics, the runtime can snapshot topical payloads for handoff, and Spw stays readable beside HTML. Compare private notes with how this field guide exposes inspectable contracts.
Knowledge bases matter when they reduce rediscovery cost. A good one turns scattered work into durable recall, gives future collaborators a route into the material, and keeps private notes close enough to become public artifacts when the time is right.
Search, backlinks, tags, and stable file names help a thought survive beyond the week it was written.
Notes become useful outside the notebook when they can project into guides, service pages, books, documentation, or route maps.
The same habit applies to software: events, page data, component rationales, and architecture notes should make a codebase easier to learn.
Use this route when the question is practical: what makes a tool a knowledge base, which kinds of structure matter, and where the category overlaps with writing, research, and publication. The point is not generic productivity advice. It is to understand which properties actually change author workflow. Returning learners can treat this as the junction point between note-taking, Markdown, and publication surfaces.
you want to compare note systems by the work they make easier to return to.
local files, links, tags, metadata, search, and the shape of the later export.
an essay workflow, a book outline, documentation, or a worldbuilding surface with better recall.
A knowledge base is useful when a later reader — human or model — can find a claim, follow a link, and tell source from projection. Spw is that layer here: .spw files and route HTML stay dual-readable; operators and topics are retrieval handles; the atlas and the literal parser show what the marks actually parse.
In spring 2026 I saw a small-team role on a local-first writing tool and said so in public instead of spraying silent applications. I have since sat with that product’s principles and community: keep the files, put rare features in plugins, teach agents the open formats rather than replacing the notebook with a chat window. The work that remained mine was to make this site a knowledge base that those principles can still recognize.
The four months after that declaration were mostly infrastructure that a knowledge base needs in order to stay honest: a page template so routes share a shell, a browser parser that is the same kernel as the workbench, operator names aligned with that parser, a module catalog that can unmount as well as mount, and site search that can find a stem. Copy still has to earn its keep as facts a reader can use, not as a plea to imagine more blends.
File-first tools that grew Bases, a CLI, and agent skills over Markdown, canvases, and tables are a live experiment in letting models read owned files. The useful lesson is not to copy a vault UI. It is that agents get more powerful when the corpus has a grammar they can be taught, and weaker when they are asked to invent structure inside a blob.
A language model can traverse named stems, propose a scene, or draft a weight table. It should not become the owner of the files. The constraint I want to keep is the same one a careful notes community already lives by: the human-readable source stays the trust surface; the model is a temporary reader with a receipt, not a second vault.
Attention is now on Dregg.Net — verified cells, capabilities, and pre-web hypermedia so an agent can inhabit a world without owning the machine. @DreggNet credited a thread of mine on that lineage, and has used art from this practice on their timeline. The honest next question is not how to blend Spw into Dregg. It is which of their already-named tracks a crew can actually share.
The Dregg codebase includes a concrete content-authoring spec written for this name: it names three tracks, what is built, and what still needs a surface. Read it in the repo: CONTENT-AND-ASSET-SPEC.md. Hand-drawn or generated stills have a shorter sibling: CONTRIBUTING-ASSETS.md.
The visual pipeline is already live: a committed seed draws traits, then a pure function renders layered SVG. The work they named for me is the weight tables and new sprite kinds — still a render(traits) → SVG with no hidden randomness, so a stranger can re-derive the same image. That is closer to a craft constraint than to a style prompt.
.scene filesThe Descent’s daily run consumes spween text: rooms, gates, effects, a win condition. No Rust required to author. The open seam they named is a publish command that accepts a raw scene so a handwritten universe can hit the no-cheat board. This is the closest track to how I already write branching public pages. Syntax lives in the cheat-sheet below.
Procgen biomes and monster lists are versioned tables. Appending mid-season re-buckets every seed, so expansion is a season boundary, not a silent edit. The high-leverage text work is thickening the daily template so it actually uses the monsters, loot, and NPCs the tables already model.
Procedural sprites stay seed-derived. Hand or Midjourney stills are a new layer: 128×128 board slots, transparent backgrounds, navy palette, one asset per PR. Brand and token art can land immediately; in-game art: handles are designed and not yet wired. Do not block a file on the wiring.
The tracks are useful when a crew can share them: the same seed, the same scene, the same table version. A stranger should be able to re-run what you held. That is group behavior, not a portfolio ask. lore.land is where long-form from those scenes can become public without pretending the vault and the game are the same room.
Some Dregg repos also keep .spw as sidecar curriculum — notes a crew can hold beside the code, not the Descent’s .scene grammar. dragons-clutch/.spw is one of those trees: canon, index, mount. This site is a different consumer, and a place to challenge how those notes parse.
Token talk stays abstract when it pretends value is one coin. Three holdings a crew can share — identity, boundary, ledger — are already named. Other systems can reuse the policy without copying a brand.
The same committed seed must render the same thing twice. That is identity you can re-run, closer to a serial number than to a vibe.
Appending mid-season re-buckets every existing seed. Expansion is a boundary, not a silent mint. Supply policy you can see.
The ledger is the versioned table. A stranger should be able to name which table they played.
Keep the three in relation. Collapsing them into one price is the singular-currency move. Five boonhonk voices work the same way: you do not spend all at once. Count the dummy, then return to a region.
Other coins that need “the same object stays the same across a season” can use these primitives. This page does not sell a token. Color and emphasis change how a holding is seen; they do not mint it.
.scene marksTrack B is handwritten text. The Descent compiles it to executor teeth; the no-cheat board re-runs the same teeth. This is Dregg’s grammar, not Spw. A site (scene) can later project onto $scene — it is not this file format.
---
id: salt-vault
title: The Salt Vault
tags: [descent]
---
=== entrance
The vault door hangs open.
* [Force it] { strength >= 5 }
~ noise += 1
-> hall
* [Pick the lock] { gold >= "$price" }
~ gold -= 10
-> hall
=== hall
* [Take the crown] { hands < 1 }
~ hands = 1
-> END
=== name is a room. Prose under it is what the runner sees. -> hall or -> END is the exit.
{ strength >= 5 } is a condition. var op value, membership, !, AND (&& or comma), OR (||). A $ on the right is another slot, not Spw substrate.
~ gold -= 10 mutates a slot. Assign, add, subtract, or call("name", args). Budget is sixteen slots.
A declared win condition is what the board re-executes. Hand-authored publish (/gallery publish-scene) is still the open seam. Until it exists, a .scene file is a draft, not a board entry.
A clear current reference for how one popular product describes the overlap between Markdown editing and knowledge-base behavior. Useful when you want to compare the site’s own file-and-link habits with a larger tool ecosystem.
Useful when the question becomes "what exactly is the Markdown substrate?" rather than "what does this app add on top?" Returning learners can use this as the substrate check before comparing tools.
The original Markdown project page is still a helpful anchor for the older, lighter-weight file-format side of the ecosystem. It pairs well with the local file routes when you want to separate syntax from product behavior.
Use the adjacent text-editing route when you need the broader editor lineage rather than only the knowledge-base category. Returning learners can move between the two routes without losing the distinction between editing and knowledge-base behavior.