A from-scratch screenplay editor built with Vite, React, and TypeScript using contentEditable for the editor. It tokenizes your input into Fountain-like blocks (scene headings, characters, dialogue, transitions) and keeps a from-scratch undo/redo history persisted in IndexedDB. It also includes auto formatting based on what you type.
This code was extracted from the editor used at aloudstudios.net (https://aloudstudios.net) before migrating to Slate.js.
npm install
npm run devThen open the URL Vite prints (usually http://localhost:5173).
- History is stored in the browser via IndexedDB (Dexie). Use the Reset history button in the UI to clear it.
- This is a playground: the demo app doesn’t connect to any backend. The
saveLineshook just logs changes to the console.
