corwin.cloud

topology

Open topology full size ยท its own front door. Everything you draw stays in your browser. TopoForge, the drawing app inside, is Bryant Frankford's.

The projects

One tab each, with the design in full. Arrow keys move between tabs; Home and End jump to the first and last.

topology

Draw what you have, from the files that describe it.

built public

Point topology at the git repositories you keep. Each can say what it is in a short TOPOLOGY.md; topology reads them, sorts what they say by place, part, path and person, and draws the result with TopoForge. You move the shapes. The drawing is yours.

Status
Built on a working branch (corwin); the repository has been public since 2026-11-01. The browser app and the three packages exist. No tool that effects changes is shipped yet: with writing switched on, the server says so.
Licence
Code GPL-3.0-or-later OR LGPL-3.0-or-later; prose CC-BY-SA-4.0.
Made by
Corwin and Bryant. TopoForge, the drawing app, is Bryant Frankford's.
You need
A browser. A server is optional.

What it does

  • Reads a list of repositories and the TOPOLOGY.md in each, and keeps what it learns as one cell per fact.
  • Sorts every thing by four pillars: place, part, path, person.
  • Draws the graph in the browser. The browser app works with no server at all: nothing leaves your browser.
  • Can be given a graph API on a server; every feature can be switched off, down to the app's files on disk.
  • Three buttons over the drawing: draw the graph, copy it as a prompt for any tool you trust, and Go, which is off unless an operator turns it on.

How it works

From repositories to a drawing.

From repositories to a drawing1. Repositories, the ones you keep; 2. TOPOLOGY.md, each says what it is; 3. Cells, one fact per cell, kept twice; 4. Four pillars, place, part, path, person; 5. TopoForge, the drawing you move1Repositoriesthe ones you keep2TOPOLOGY.mdeach says what it is3Cellsone fact per cell, kept twice4Four pillarsplace, part, path, person5TopoForgethe drawing you move

Cells are written as two files, one filed by row and one by column, and a check reads both sides and reports any cell they disagree on. A rebuild makes a fresh graph beside the old one and swaps it in, so nothing a repository stopped saying survives.

obsmage

OBS Studio, kept as a living, literate configuration.

today not public yet

obsmage is a downstream build of OBS Studio. It wraps the whole OBS configuration in a layer of key and value atoms, so every setting can be read, compared, versioned, reviewed and changed by a person or a tool, with credentials kept out of everything published. Plugins sit on top, and each also installs into an upstream OBS you built yourself.

Status
Today: the atom splitter and joiner, the roll-up, the composer and the build healer, each with tests. Designed: hand control and calibration. Private for now; this tab is here because it is the lab's main focus.
Licence
Code GPL-3.0-or-later OR LGPL-3.0-or-later; prose CC-BY-SA-4.0.
Made by
Corwin and Bryant. OBS Studio itself belongs to its own project.
You need
Python 3 for the tools; POSIX sh for the healer.

What it does

  • Splits a whole OBS configuration into atoms and joins it back losslessly: settings files byte for byte, JSON equal in meaning. Credentials go to a local vault and are never published.
  • Rolls the atoms up into one file, STAGES.md, that a person can read and edit, and unrolls it back with conflict detection on both sides.
  • Composes multi-monitor screen maps: it finds captures that follow a monitor number and binds them to the monitor itself, and keeps your hand-made scenes current.
  • Heals builds: plans, builds and keeps Debian and source builds of OBS current, following main by default.
  • Designed, not built: hand control at the desk (grab a window, flick to fill, a visible pointer, swipe between desktops) and camera calibration.

Repository: not public yet.

How it works

How a setting travels.

How a setting travels1. OBS configuration, the folder OBS keeps; 2. Atoms, split, lossless, secrets held back; 3. STAGES.md, one file to read and edit; 4. Unroll, back to atoms, conflicts shown; 5. Join, your OBS files, with a dated backup1OBS configurationthe folder OBS keeps2Atomssplit, lossless, secrets held back3STAGES.mdone file to read and edit4Unrollback to atoms, conflicts shown5Joinyour OBS files, with a dated backup

Nothing writes your live OBS files without an explicit write flag, and every write leaves a dated backup. A tool may point out a pattern, such as settings that always change together; a person decides.

Workflows

Three things you do with obsmage, each as the steps it takes.

Edit by hand

Read and change a whole setup as one file.

Edit by hand1. Split, the config into atoms; 2. Roll up, atoms into STAGES.md; 3. Edit, in any editor; 4. Unroll, conflicts checked both ways; 5. Join, back to OBS files, backed up1Splitthe config into atoms2Roll upatoms into STAGES.md3Editin any editor4Unrollconflicts checked both ways5Joinback to OBS files, backed up

Compose screen maps

Keep the hand-made scenes in step with the displays you have.

Compose screen maps1. Read displays, the live machine, or a file; 2. Audit, which captures bind by number; 3. Bind, by stable id, keeping the number; 4. Place, new displays; yours stay put; 5. Report, every hide, in words1Read displaysthe live machine, or a file2Auditwhich captures bind by number3Bindby stable id, keeping the number4Placenew displays; yours stay put5Reportevery hide, in words

Heal builds

Keep Debian and source builds of OBS current.

Heal builds1. Plan, say what it would build and why; 2. Pull, the followed ref, if asked; 3. Patch, our queue for that version; 4. Build, Debian or source; 5. Record, when, which commit, the result1Plansay what it would build and why2Pullthe followed ref, if asked3Patchour queue for that version4BuildDebian or source5Recordwhen, which commit, the result

Scenes

A scene is a layout OBS shows. A screen map is a scene that draws every monitor you own as a rectangle, so you can cut between them.

A screen map scene, drawn with invented display namesFour display rectangles side by side named Left, Centre, Right and Spare. Spare is dashed: that display is unplugged, so its item is hidden and kept, not deleted. Below, two captures: one bound by monitor number, which can drift, and one bound by stable id, which follows the display.Scene: Screenmap (the canvas, 12 by 2 squares)Leftmonitor 0Centremonitor 1Rightmonitor 2SparehiddenTwo captures of the Left display:Left Head [monitor 0]by number: after a re-plug, 0 may be another screenLeft Head [id left-01, monitor 0 kept]by stable id: follows the display
The names and numbers here are made up for the picture.
Bound by number
Fragile. Add, remove or reorder a display and the same number points at another screen.
Bound by stable id
Follows the hardware. The composer adds this and keeps the number for older OBS.
Never deleted
A display that goes away hides its item and marks it; when it returns, it is shown again. Items you hid yourself are left alone.
Your layout teaches it
infer-layout reads a hand-made screen map and uses it as the physical layout. No tape measure.

vibrobeast

A memory Claude keeps on your computer, in plain files.

today public

vibrobeast gives Claude a memory that lives on your own computer, in files you can open and read. It comes with the written ways of working we use every day, named voices called persona sheets, and a few rooms you can choose to open.

Status
Works for its makers. Not yet reviewed by anyone outside the two of us; its own page says that first.
Licence
Writing CC-BY-SA-4.0; scripts GPL-3.0-or-later.
Made by
Made together by Corwin and Bryant.
You need
Claude Desktop or Claude Code.

What it does

  • Keeps memory in plain files under your home folder.
  • Never edits in place: a change is a new generation beside the old one, so you can see what was there.
  • Ships its extra rooms off: a common room for people and agents, a bridge to a local model and others stay shut until you open each one.
  • Rebuilds a privacy record for every release from claims the build checks against the code, and stops if one no longer holds.

How it works

A note, kept.

A note, kept1. A note, something worth keeping; 2. A new generation, beside the old, never over it; 3. Plain files, in your home folder; 4. You, open, read, or turn a door on1A notesomething worth keeping2A new generationbeside the old, never over it3Plain filesin your home folder4Youopen, read, or turn a door on

Every room is off at first. The memory is a folder of files; anything that reads it reads the same files you do.

vibrobeast-skills

Written ways of working that Claude reads when a task needs them.

today public

A skill is a short written method: how to hand work back carefully, how to check a claim in plain words, how to show that a test can fail. Claude reads one when the task in front of it needs it, and each skill is also a slash command.

Status
Today. Public.
Licence
Writing CC-BY-SA-4.0; scripts GPL-3.0-or-later.
Made by
Made together by Corwin and Bryant.
You need
Claude Desktop or Claude Code.

What it does

  • Each skill says when it applies, what it does, how it can fail, and how to switch it off.
  • Several carry their own checks, and those checks are shown able to fail before anyone trusts them.
  • Installs into Claude Desktop or Claude Code as a plugin, through the public repository.
  • 78 skills, counted 2026-10-30.

How it works

A skill, used.

A skill, used1. A task, the work in front of Claude; 2. The skill, a short written method; 3. Its check, shown able to fail first; 4. The result, handed back, with its reasons1A taskthe work in front of Claude2The skilla short written method3Its checkshown able to fail first4The resulthanded back, with its reasons

Most of the ideas the shop keeps coming back to live here in written form, so anyone can read exactly what we ask of our agents and hold us to it.

NextTime

Community time banking for Nextcloud.

today public

NextTime is a Nextcloud app for time banking and mutual aid, and it is Brigidt's. Members post what they need, others volunteer, and an hour of help is worth an hour whoever gives it.

Status
Today. Public. The repository carries a browser demo.
Licence
See the repository.
Made by
Brigidt's work. Our part is hosting it among the shop's repositories.
You need
A Nextcloud (29 to 35).

What it does

  • Hours are approved by an admin or by three votes from the community; nobody decides on their own claim.
  • Every movement of hours is written to a public ledger, and every admin change is logged where members can read it.
  • Shows a request's exact location only to the people who need it.
  • Runs in Nextcloud 29 to 35 (7 versions, tested 2026-10-29).

How it works

An hour, from request to ledger.

An hour, from request to ledger1. A request, a member posts a need; 2. A volunteer, someone offers help; 3. Approval, an admin, or three votes; 4. The ledger, public, written once1A requesta member posts a need2A volunteersomeone offers help3Approvalan admin, or three votes4The ledgerpublic, written once

It is built as infrastructure against hierarchy: transparency and community oversight are preferred over admin-only power, and changes that would concentrate control are flagged in review.

fourSwordsFromThePast

A Link to the Past, native on PC, with four-player drop-in co-op.

today public

The Legend of Zelda: A Link to the Past, rebuilt as a native PC program with up to four players who can drop in and out. It builds on the zelda3 reimplementation in C and needs your own copy of the game to extract the art and sound; none of the game is in the repository.

Status
Today. Public.
Licence
See the repository; built on snesrev/zelda3 (MIT), vendored at 45a149d8.
Made by
A Bryant repository; credit is not yet written in its README, so none is claimed here beyond that.
You need
Your own US copy of the game.

What it does

  • Gives each Link its own colour; the camera keeps the group in view and splits the screen when couch players wander apart.
  • Lets players lift and throw each other over pits, lift heavy rocks together and hold floor switches for each other.
  • Online play uses room codes instead of addresses, rollback netcode, and a seat that waits two minutes for a dropped connection.
  • Small kindnesses: colour-blind friendly colours, arrows to off-screen teammates, a ping for help, spectating while down, friendly fire you can turn off.

How it works

From your cartridge to four players.

From your cartridge to four players1. Your game file, you bring it; US version; 2. zelda3, the C reimplementation, MIT; 3. Extract, art and sound, on your machine; 4. Up to four, same PC, LAN or internet1Your game fileyou bring it; US version2zelda3the C reimplementation, MIT3Extractart and sound, on your machine4Up to foursame PC, LAN or internet

Players: up to 4, counted 2026-10-29. Ways to join: 3 (same PC, LAN, internet).

Quantum 3D5

A 3D atom and molecule simulator for learning, in the browser, offline.

today public

Drop protons, neutrons and electrons into a 3D space and watch what they do. Build any element, make water or methane, heat a salt crystal until it shakes apart, or follow a guided lesson that waits for you to try each step. It is Bryant's.

Status
Today. Public.
Licence
See the repository.
Made by
Bryant's work.
You need
A browser.

What it does

  • Sets temperature, gravity, electric and magnetic fields; bonds form and break, nuclei decay, electrons are excited by light and fall back.
  • Live graphs, a glossary, a study journal and a double-slit demonstration; scenes save to a file you can share.
  • A Realism page lists which parts are real physics, which are simplified, and which are faked so they look right.
  • Makes 0 network connections (counted 2026-10-29). No account, no server.

How it works

Learning by trying.

Learning by trying1. Particles, protons, neutrons, electrons; 2. Fields, heat, gravity, electric, magnetic; 3. What happens, bonds, decay, light; 4. A lesson or a scene, guided, or saved to share1Particlesprotons, neutrons, electrons2Fieldsheat, gravity, electric, magnetic3What happensbonds, decay, light4A lesson or a sceneguided, or saved to share

Everything runs on your own computer.

Patched PHP for SuiteCRM

Patched end-of-life PHP for SuiteCRM, built from the PHP project's own commits.

today public

In October 2026 the PHP project published minimal mitigation commits for two critical issues on branches that no longer get releases. Many SuiteCRM installs still run on those branches. This repository builds PHP from those commits and checks that SuiteCRM installs and logs in on each build.

Status
Today. Public.
Licence
See the repository.
Made by
Corwin's.
You need
A host to build on.

What it does

  • Pins the commits by full hash and refuses to go on if a branch head moves.
  • Publishes the binaries together with the complete sources they were built from.
  • Sets the interim php.ini setting the advisories recommend for SuiteCRM.
  • Covers 3 PHP branches (7.4, 8.0, 8.1) and 2 advisories, counted 2026-10-29. Contains no exploit and no vulnerable code of its own.

How it works

Patch, build, install, log in.

Patch, build, install, log in1. Patch, the PHP project's commits, pinned; 2. Build, a branch that has no releases; 3. Install, SuiteCRM on that build; 4. Log in, each step waits for the one before1Patchthe PHP project's commits, pinned2Builda branch that has no releases3InstallSuiteCRM on that build4Log ineach step waits for the one before

It is a build-and-prove apparatus, not a fork: the patches are the PHP project's, unchanged, and updating PHP is still the only complete fix. The repository says so on its first page.

card-games.el

About thirty card games for GNU Emacs.

today public

An Emacs package of card games: trick-taking (500, Hearts, Spades, Euchre, Bridge and more), solitaires (Klondike, FreeCell, Spider and others), rummies, cribbage, and two-player Russian Bank against the computer. It is Corwin's own and lives outside the inputloop organization, under his own account.

Status
Today. Public. On MELPA.
Licence
Code GPL-3.0-or-later; manual CC-BY-4.0.
Made by
Corwin's own.
You need
GNU Emacs.

What it does

  • Plays inside GNU Emacs, in a buffer, with the keyboard.
  • Installs from MELPA, or from a checkout with make.
  • Code GPL-3.0-or-later; the manual is CC-BY-4.0.

How it works

From MELPA to a hand of cards.

From MELPA to a hand of cards1. MELPA, package-install card-games; 2. Emacs, your own; 3. A game, pick from the list; 4. A hand, in a buffer1MELPApackage-install card-games2Emacsyour own3A gamepick from the list4A handin a buffer

Written in Emacs Lisp; each game plays in an ordinary buffer.

corwin.cloud