Every pack works on every client.
The Tapestry client is a draggable, three-column workbench for text worlds — designed so a screen-reader user, a telnet purist, and a player on a phone can all be in the same room with no second-class experience.
The Midnight Bazaar — North Aisle
Lanterns sway above stalls of every shape, throwing amber stripes across the packed earth. The air smells of cardamom and rain. A canvas awning to the east conceals a sleeping stall-keeper.
— exits: north, east, southeast —
look stall
The nearest stall is heaped with pewter trinkets. A small placard reads “Names & Their Burdens — 3c.”
talk keeper
Mira the Lampmender tilts her head. "Looking for a charm, or a curse? I do not ask which.”
✓ quest available: A Lamp That Won't Stay Lit
accept
A breeze stirs. Distant thunder, soft as a question.
You feel the weight of a small brass lantern settle into your pack.
[weather] light drizzle begins — visibility reduced.
every panel is draggable, dockable, and remembers its place across sessions
Three-column workbench, all yours.
Vitals, inventory, map, chat, party, tells — every panel is independent. Drag, dock, hide, or pop one out to its own window. Layouts save per-world.
No JavaScript? No problem.
Telnet on port 4000 is the canonical surface. The web client adds panels but never adds gameplay — what a telnet user sees, you see, with prettier chrome.
Typed events drive every panel.
Vitals, room info, inventory diffs — all GMCP. Pack authors emit typed events; the client renders them. No client-side hacks for new gameplay.
Your settings, your machine.
Aliases, macros, layouts, history — stored locally. Sync optional via your own provider. No mandatory accounts to play.
Built for the way people actually read.
MUDs are one of the most screen-reader friendly games on the internet — when they're built right. Tapestry treats accessibility as engine-level concern, so every pack inherits it.
GMCP auto-feedback
Every action emits a structured event. Screen readers hear "+3 hp, weather cleared" without parsing prose.
Polite vs assertive regions
Combat is assertive. Ambient weather is polite. Authored once in the pack, respected by the client.
Keyboard everything
No mouse-only paths. Panels reorder with the keyboard. Map navigation via arrow keys.
Contrast & type
High-contrast presets and accessible color defaults. Bring your own font.
Midnight Bazaar
Amber lanterns. Cardamom. A canvas awning hides a sleeping stall-keeper.
— exits: n, e, se —
> talk keeper
Mira tilts her head. "Looking for a charm, or a curse?"
✓ quest available
A whole MUD in a thumb.
The mobile layout collapses panels into a tab strip. Swipe between feed, vitals, map, and chat. Quick-cast macros live above the input. Designed for one-handed use on the bus.
- · Persistent input bar with macro row
- · Haptic cues for assertive events
- · Pull-to-history, swipe-to-clear