Skip to content

Cartridge authoring

Patterns, conventions, and tools for writing a cartridge that the nOSh runtime can host.

Before designing gameplay: the cartridge specs under ../modules/ are under revision. cartridge-premise-audit-2026-07.md records how they drifted and which premise outranks each one. A spec asserting its own identity is a prior draft; the premise wins. Roughly 20,000 lines of drifted and duplicated design were removed on 2026-07-29 (pruning-2026-07-29.md).

DocScope
ascii-design-system.mdThe authority for any visual surface. The slot model (frame, divider, fill, accent per house style), deck chrome, house kits, data displays (list, table, kv, meter, spark), network-map conventions. Screens compose from named slots; hand-drawn borders and per-screen furniture are out.
screen-design-rules.mdThe row contract. Row 0 and Row 74 are firmware-owned; carts draw Rows 1 through 73. Grid, margins, hierarchy, density, truncation, scroll.
animation.mdThe two sanctioned styles (soft-glyph, glyph-cycle) and the named motion library. A motion the library lacks lands as a named style before a screen selects it. ADR-0052 is the authority.
lisp-paradigm.mdKey semantics across the module library; per-module key bindings.
DocScope
capability-shapes.mdA capability is a grammar or a mini-game. Both are (load-capability …) targets returning the same result struct; the cart chooses and missions mix.
verb-partition.mdHow a cart’s Tier-2 action verbs split into CORE primitives, COMPOSITE, and VOCAB-only, by state-mutation footprint.
maps.mdTile maps: terrain glyphs on a grid larger than the screen, panned by a fine-scroll viewport, with a .map format and legend. Monochrome resolves to dither, never colour.
roguelike-design.mdThe Berlin Interpretation factored into knobs, the First Law, line of sight as the core grid primitive, the constrained-glyph bestiary, keyboard-first aids. Carries the Tunnel Rat candidate concept.
cart-label-taxonomy.mdPhysical cartridge labelling.
DocScope
music.mdPSG-only ambient music: tracker format, Lisp playback primitives, coexistence with SFX.
knamp-stations.mdThe WavAmpster station package format (playlist manifest plus raw-PCM track layout), shared by the sdk tool, the built-in stations, and carts. Real PCM rather than PSG.
clip-system.mdPre-rendered terminal animation: cutscenes, loaders, faked compute, attract.

Single-purpose local web tools, one SQLite file each, under ~/.claude/workbenches/. Each starts from its own directory and serves on a fixed port. They hold design work that feeds the documents above; the kn86-ascii capture is where ascii-design-system.md came from.

BenchPortWhat it produces
kn86-ascii7797Pattern library: 610 captured ASCII patterns plus the animation shelf. Source of the design system.
kn86-composer7756Screen-spec records previewed live through the real C renderer. Edits go through its API, since SQL alone does not re-render.
kn86-aux7752CIPHER-LINE mockups: the design system carried to the 256×64 panel.
kn86-ambercalc7781Slot-by-slot element selection against a real screen, one change per candidate.
kn86-board-design7743Mission Board layout direction.
kn86-screens7740Screens built character by character and wired into flows. Superseded by kn86-composer.
kn86-tracker7769.knm PSG compositions, edited or generated, auditioned through a kn86psg binary. Thirteen tunes exported to runtime/tools/kn86psg/tunes/.
kn86-sfx7747One-shot game SFX synthesized on the real PSG through a millisecond-timed register scheduler.
kn86-barks7799Computed voice barks from formant synthesis, with no recordings.
kn86-inspo7735The inspiration corpus: categorize by mechanism, assign sources to destinations. Source of cart-inspiration-map.md.
kn86-verbs7700The Tier-2 verb-taxonomy map.
kn86-devdoc7751development-document.md reviewed at paragraph scale.
kn86-prfaq7772The working-backwards launch doc, section by section.
kn86-program-specs7745Markup over the first-party program specs.
kn86-arch7779Architecture-decision co-authoring.
kn86-site-markup7759Click-to-annotate the marketing site against its live dev server.

Two things these benches imply have no home in this tree: a cartridge art and animation editor (durdraw is the reference model, and the clip system is the playback half it would feed), and a settled answer on whether cartridge authoring tools run in a browser or on the device.