![]()
StoryModeStoryMode is a Visual Studio Code extension that turns VS Code into a clean, purpose-built writing studio for story scripts used in video-games. Write scenes in plain text with the Narrative DSL, collect them with a single .story manifest, preview the screenplay layout in-editor, and export a print-perfect PDF – all without ever leaving VS Code. ![]() ──────────────────────────────────────────────────────────────────────── FEATURES ──────────────────────────────────────────────────────────────────────── • Manifest-driven projects – one • Strict, readable headers • Precision syntax highlighting for keys and values, anchors, cues, dialogue headers, comments. • Snippets & IntelliSense for scene skeletons, dialogue blocks, metadata tags and common cues. • Hover tool-tips – every recognised • Live Preview – render the whole script as a paginated screenplay in a side panel. • Print Script – one-click PDF export, including cover page, table of contents, per-arc page breaks and an End of Document page. • Download-once Chromium – headless Chrome (≈ 40 MB) is fetched once and cached for all future PDF jobs. • Verbose Output panel – real-time logs for parsing, preview refresh, PDF progress and Chromium management. ──────────────────────────────────────────────────────────────────────── QUICK START ──────────────────────────────────────────────────────────────────────── 1 Install StoryMode from the VS Code Marketplace.
3 Create the project manifest echoes-of-light.story:
4 Press Ctrl ⇧ P / Cmd ⇧ P and run ──────────────────────────────────────────────────────────────────────── PROJECT LAYOUT ──────────────────────────────────────────────────────────────────────── echoes-of-light.story ← manifest / global metadata ├── intro.narrative ← arc: intro ├── main.narrative ← arc: main └── outro.narrative ← arc: outro Each .narrative file may hold one or more scenes:
──────────────────────────────────────────────────────────────────────── NARRATIVE DSL – CHEAT SHEET ──────────────────────────────────────────────────────────────────────── Declaration lines
Metadata
Body blocks
AnchorsAny declaration ID becomes an anchor: reference it elsewhere as ──────────────────────────────────────────────────────────────────────── EXAMPLES ──────────────────────────────────────────────────────────────────────── Full working samples live in docs/examples/ – including a manifest, three arcs, cues, jumps and final PDF export. ──────────────────────────────────────────────────────────────────────── CONTRIBUTING & LICENSE ──────────────────────────────────────────────────────────────────────── Pull requests are welcome – read |