improvise

Everything here runs in this tab: the document lives in a Web Worker and is saved to this browser's private storage, so edits survive a reload and never leave the machine. Load a different document with ?doc=name.improv, seeded from ?seed=url. To open a document hosted by a separate process instead, run improvise-ws-server model.improv --port 8787 and reload with ?ws=wss://host:port. From this https page the address must be wss:// — a ws:// one is blocked as mixed content — and improvise-ws-server speaks plain ws:// only, so it needs TLS terminated in front of it. Served over http://localhost the same page takes ?ws=ws://127.0.0.1:8787 directly.