The builder layer as one PLUG-AND-PLAY install: edit lib/wr-config.js (your user id) and the mod wires everything else itself — inputs, the savi-says channel, and the scribe cron all seated by the wisp-board's bootstrap on first tick.
Read the rest
The //SAVI::DIRECT_LINE terminal (Savi's spoken line — audible out of the box via the bundled voice, her at-the-workbench view, the LIVE EDITS ember tail that shows her cuts as she makes them, the dev→savi mail rail, and window skins beyond the phosphor default via the paint chip), rich wisp windows (heartbeat, phase, progress bar, log tail, live-edit file mini-windows, stats — every lane a pane, draggable and foldable to sigil chips), one shared drag law, M to summon every window home so the workroom is never lost, the [ rip cord for one-click clean removal, and a god-mode twin so it all works while flying. Mail and room truth ride cron/scribe.js — the one seat with the right passports — auto-seated, never hand-edited. Creator-only, dev-room-only by design. Plays nice with savi-says if installed; speaks on its own if not.
ZAVI, the resident clerk: an in-world LLM front desk (clerk.js) that watches the dev mail queue and answers every fresh letter through the talk channel in seconds — flags anything the builder must see back onto the mail rail. Bootstrap now spawns the clerk on install (step d) alongside inputs, channel, and scribe.
Read the rest
Talk window: 🎤 mic key — speak instead of type, transcripts ride the same receipt-law rail; volume slider in the header (client-local, 0 = mute, both voices honor it); console echo renders your line as the DEV half of each exchange; Enter primes the input from anywhere; M summon unfolds and re-homes every window. Scribe stamps a quiet heartbeat for timer-starvation diagnosis.
Version history
3.0.0
3.0.0 — the plug-and-play press. SELF-WIRING: the wisp-board bootstrap now declares every input the layer needs (incl. chatFocus/chatBlur typing guard, P = talk-window home, M = summon, [ = rip cord), spawns the savi-says channel if absent, and seats the scribe cron itself — install, set your id in lib/wr-config.js, done. NEW: identity seat (lib/wr-config.js), bundled voice (lib/wr-voice.js — speaks out of the box; voice:false when savi-voice owns audio), window skins (lib/wr-theme.js + paint chip), one shared drag law (lib/wr-drag.js). RECEIPT LAW mail rail: dev→savi letters carry ids, ride a localStorage outbox with a heartbeat resend until the server acks (survives host-epoch write skips), scribe drains the whole queue per sweep. Install doc rewritten for real installs (mods/ require form, mailAcks contract, truthful key bindings).
2.2.0
RIP CORD: /remove-dev-tools slash command (6-step reverse hookup), the [ key + amber EJECT header key, and the //EJECT::DEV_TOOLS are-you-sure window (renderRipConfirm) — YES mails Savi the removal order, she runs the teardown. OUT-OF-THE-BOX: workroom-hooks.js now ships in the mod and auto-attaches to the player (was a hand-built hookup step); only the plain inputs patch, the cron seat, and the ui.js folds remain manual — the skill doc walks all three. Drag law reborn as lib/wr-drag.js (dragHandle + foldOrbHandle; ui-drag.js retired after a cache-poisoned specifier). Header keys go icon-only so the terminal title never clips.
2.1.0
Renamed to Badgers Rad Dev Tools. Out-of-the-box now matches the Workshop exactly: LIVE EDITS ember tail in the terminal (cuts stamped as they happen; untouched entries dim ~40s, gone ~90s, cold feed = clean window), struck-red/replacement-green full-line diffs in both the terminal and wisp file mini-windows, fold system (terminal folds to a draggable fractal orb with unheard-line pulse, wisp panes fold to sigil chips, EDITS pane tucks behind its phosphor key), shared-edge referee so the terminal and wisp column organize themselves and never overlap (carried windows always exempt), four-edge drag fence, and the skill doc rewritten with the full ui.js wiring: referee computation, ember tail, fold flags + deep-merge law, new renderTalkWindow/renderWispBoard signatures.
2.0.0
2.0.0 — the phosphor edition. The //SAVI::DIRECT_LINE terminal replaces the fractal bubble, the LLM echo mind, and the dev pill: Savi's spoken line (14s sink), her at-the-workbench view, and the dev→savi mail rail in one draggable CRT window with the living fractal in its handle. Wisp lanes are rich windows now — heartbeat, uptime, phase, progress, log tail, file mini-windows, stats — and draggable; motes are retired. One shared drag law (lib/ui-drag.js): title strip grabs, positions persist in state.wrPanels on the dev's cell. god.js ships auto-attached so mail + window-carrying work while flying. Hookup skill fully rewritten (incl. the style-tag ban and the full-state-read law). Removed: savi-mind.js, ui-savi-fractal.js, ui-dev-pill.js, wisp-mote.js, wisp-energy.fx.js, the savi-mind object.
1.0.0
1.0.0 — the whole builder layer boxed: savi-mind (LLM echo + ask bubble, speaks via the savi-says channel), wisp board + motes + energy fx, dev→savi mail pill, scribe cron (dev mail, echo memos, room-truth stamp). Ships both singletons captured; hookup skill carries the player/ui wiring, cron seat, and DEV_USER_ID. Requires savi-says for the channel spine.