Releases: stultus/scriptty
Scriptty v0.10.0
Scriptty 0.10.0 — Final Draft import + one designed import surface
The headline: Final Draft .fdx files now import directly into Scriptty as a film or as a new episode of an open series — same round-trip awareness Fountain got in v0.9.0, surfaced through a single consolidated wizard so the File menu doesn't carry four import items.
What's new
Final Draft (.fdx) import (#190)
- Hand-rolled XML parser using
quick-xml, mapping the six native paragraph types directly.Shotfolds to scene heading;General,Lyrics, andOutline Nfold to action; unknown types fold to action with a count. - Inline
<Text Style="Bold+Italic+Underline">runs become ProseMirror bold/italic/underline marks. Strikeout / AllCaps / Highlight drop silently (no Scriptty equivalent). <DualDialogue>blocks collapse to sequential pairs and are counted in the import-summary toast.<ScriptNote>,<TagData>,<Revisions>,<LockedPages>,<HeaderAndFooter>,<PageLayout>,<SmartType>, scene colours, and character-arc beats are dropped — Scriptty has no equivalent concepts yet. Counts surface in the import summary so you know what was lost.- Scene Heading / Character / Transition text auto-uppercases on import to match what Scriptty's editor would produce locally.
- Title page best-effort: a Beat-style heuristic fills
meta.title/meta.author/meta.draft_date/meta.contactwhen the layout is recognisable; the full title-page text always lands in a hiddenmeta.extra["fdx_title_page"]so nothing is silently lost. .fdrlegacy binary format is not supported —.fdxonly.
Consolidated Import Screenplay wizard
- Single File → Import Screenplay… entry replaces the four format/destination items the File menu used to carry. The wizard picks format (Fountain or Final Draft) + destination (new film or episode of active series) on one designed surface.
- Episode destination is shown but disabled with an explanatory sub-line when no series is open — the menu shape stays the same per project type.
- Same entry in the Command Palette under "Import Screenplay…".
- Standard
Cmd+OOpen dialog also accepts.fountainand.fdxdirectly and auto-routes through the importer. - Every import lands as a fresh unsaved document — first
Cmd+Sprompts for a.screenplaylocation instead of overwriting the source.
Other
quick-xml = "0.36"added as a dependency (pure-Rust, MIT) for the FDX parser. No transitive C deps.- 22 unit tests for the FDX parser covering native paragraph types, inline marks, dual-dialogue collapse, type folding, drops, title-page heuristic, XML entity decoding, UTF-8 BOM stripping, and Malayalam pass-through.
Downloads
| Platform | File |
|---|---|
| macOS · Apple Silicon | Scriptty_0.10.0_aarch64.dmg |
| macOS · Intel | Scriptty_0.10.0_x64.dmg |
| Windows | Scriptty_0.10.0_x64-setup.exe (NSIS) · Scriptty_0.10.0_x64_en-US.msi |
| Linux · Debian/Ubuntu | Scriptty_0.10.0_amd64.deb |
| Linux · Fedora/RHEL | Scriptty-0.10.0-1.x86_64.rpm |
| Linux · Other | Scriptty_0.10.0_amd64.AppImage |
In-app Help → Check for Updates will surface this version automatically.
Full changelog: v0.9.0...v0.10.0
Scriptty v0.9.0
Scriptty 0.9.0 — Round-trip-safe Fountain import
The headline feature: co-writers handing off .fountain files can now flow into Scriptty, get edited, and head back out without silent data loss.
What's new
Fountain import (#184 — closes the umbrella feature)
- File → Import Fountain… (always Film) and Import Fountain as Episode… (appends to an open Series), plus the standard ⌘O Open dialog auto-routes
.fountainfiles through the importer. - Hand-rolled parser implementing the full spec (https://fountain.io/syntax) with the precedence order from the canonical reference parser. Boneyard pre-pass, multi-line note extraction, title-page parsing gated on known keys, then a line-by-line state machine with lookahead.
- Malayalam-aware: caseless scripts can never satisfy Fountain's all-caps character rule, so the importer trusts the
@forced-character prefix and surfaces a warning when a file is substantially Malayalam without any@cues ("characters may have imported as action — sender should re-export with forced prefixes"). - Imports a
.fountaincontaining 12 scenes with sections, synopses, inline notes, dual dialogue, boneyard, and emphasis markers — and tells you what was transformed or dropped via a non-intrusive bottom-left toast.
Fountain round-trip safety (#188)
- Export now applies forcing rules so a Scriptty-edited file goes back to your co-writer without misclassification:
@for non-all-caps-Latin character cues (Malayalam, mixed-case English likeiPhone Voice),.for non-slug scene headings (Malayalam slugs, locations likeTHE BEACH),>for non-TO:transitions,!for action lines that would auto-detect as Character/Transition/Scene Heading. - Round-trip emission of synopses (
= lineafter the heading), section headings (#/##/… before the heading), inline notes ([[ … ]]at scene end), and any non-standard title-page keys (Source:,Copyright:, custom keys) preserved via the newmeta.extraschema field (#185). - Per-episode Fountain export for Series projects: a "one file per episode" toggle in the Export modal writes
01-pilot.fountain,02-the-return.fountain, …
Other changes
- Writing-view sidebar opens by default on first launch (the Scene Navigator is the primary way to move around a long script — discovering it via ⌘\ shouldn't be the default first-launch experience).
- UpdateToast redesigned in the editorial-masthead vocabulary that the rest of the title bar uses.
- Repaired 32 stale unit tests in
pdf.rsthat had drifted against post-#103 struct shapes. - New CI workflow on push/PR to main gates
cargo clippy --lib --tests -- -D warnings,cargo test --lib, andnpm run check -- --fail-on-warningsso this kind of test rot can't slip in again.
Downloads
| Platform | File |
|---|---|
| macOS · Apple Silicon | Scriptty_0.9.0_aarch64.dmg |
| macOS · Intel | Scriptty_0.9.0_x64.dmg |
| Windows | Scriptty_0.9.0_x64-setup.exe (NSIS) · Scriptty_0.9.0_x64_en-US.msi |
| Linux · Debian/Ubuntu | Scriptty_0.9.0_amd64.deb |
| Linux · Fedora/RHEL | Scriptty-0.9.0-1.x86_64.rpm |
| Linux · Other | Scriptty_0.9.0_amd64.AppImage |
In-app Help → Check for Updates will surface this version automatically.
Full changelog: v0.8.2...v0.9.0
Scriptty v0.8.2
Scriptty 0.8.2 — Hotfix
A focused hotfix release on top of 0.8.0 / 0.8.1.
Fixes
-
Metadata dialog: Title field unable to accept input. The MetadataModal's populate-on-open effect read every
meta.*property as a Svelte 5 reactive dependency. Any unrelated reactive ripple — the live title-page preview re-rendering on each keystroke, derived recomputes — could re-fire the effect, which then resettitle = meta.title || '', overwriting the keystroke before it could render. The Title field appeared not to accept input.Fixed by wrapping the population body in
untrack()so the meta property reads stop being deps. The effect now only fires on its actual triggers (modal opening, episode switching while open).Other meta fields (Tagline, Author, Director…) read meta in the same effect but didn't show the bug because they don't have a tightly coupled live preview re-rendering on each keystroke.
Downloads
| Platform | File |
|---|---|
| macOS · Apple Silicon | Scriptty_0.8.2_aarch64.dmg |
| macOS · Intel | Scriptty_0.8.2_x64.dmg |
| Windows | Scriptty_0.8.2_x64-setup.exe (NSIS) · Scriptty_0.8.2_x64_en-US.msi |
| Linux · Debian/Ubuntu | Scriptty_0.8.2_amd64.deb |
| Linux · Fedora/RHEL | Scriptty-0.8.2-1.x86_64.rpm |
| Linux · Other | Scriptty_0.8.2_amd64.AppImage |
In-app Help → Check for Updates will surface this version automatically.
Full changelog: v0.8.1...v0.8.2
Scriptty v0.8.1
Scriptty 0.8.1 — Editorial polish + series statistics
A design-and-UX update on top of 0.8.0. No breaking changes.
What's new
Editorial vocabulary across the app
- New brand wordmark in the title bar — Fraunces SemiBold Scriptty. with a terracotta period. Same hero composition as the marketing site, scaled for chrome.
- Italic-em accents on modal headings ("How to use Scriptty", "Print to paper", "The cover sheet", "The script at a glance"…)
- Department-numeral markers (№ 01 · Writing, № 02 · Editor, № 01 · Developers…) across Settings, About, Metadata, Story view, Welcome screen, Recent files
- New
+/−editorial disclosure replaces the rotating triangle in scene-card production prep - Refreshed
codechips and physical-keykbdstyling in the in-app manual - Statistics now has a bar-chart icon button in the title bar for one-click access
Series-aware statistics
- New Episode / Series scope toggle in the Statistics rail. Default Episode preserves the prior behavior; flip to Series to recompute Overview, Characters, Locations, and Schedule across the whole show.
- New Episodes tab (series only) — sortable per-episode summary table with pages, scenes, words, dialogue blocks, screen time, INT/EXT counts, cast size, and status (Outline / Draft / Revision / Final). CSV exportable.
New Film dialog
- New Film now opens a ceremonial title dialog (mirrors the New Series flow) — title goes straight into the document metadata so the title page preview, the OS window title, and the Save As filename all carry your chosen name from the first frame. Empty title falls back to Untitled.
Contextual export filenames
- PDF / Fountain / Plain Text exports now save with names derived from the project context.
- Film:
Title.pdf - Series episode:
Series — Ep 03 · Episode Title.pdf - Series full export:
Series — All episodes.pdf - Section-only exports add a suffix:
Title — Cards.pdf,Title — Shoot List.pdf,Title — Synopsis.pdf, etc.
- Film:
- Sanitized for cross-platform filesystems while preserving Unicode, so Malayalam-titled docs save as
സ്ക്രിപ്റ്റ്.pdfintact.
Marketing site
- Cleaner, less performative redesign — boilerplate stripped, magazine-style preserved
- Credits & thanks restored on every viewport (mobile included)
- Two-language sample section dropped (already covered in Features)
- Mobile content trimmed: hides Quick reference + What's new on phones, caps the Features grid at the top 4 cards
- Google Analytics 4 with anonymized IPs + per-platform
downloadevent tracking
About modal
- Display wordmark + italic-em tagline ("Write in the language you dream in.")
- Department-style credits (№ 01 · Developers · № 02 · Inputs & Feedback) with hairline rules removed for a quieter composition
- Colophon line: Set in Courier Prime, Manjari, Noto Sans Malayalam, and Fraunces.
- Abraham Joseph moved up to Developers (dreamingnomad@gmail.com)
Fixes
- Statistics modal now scrolls correctly when long tables (Locations / Schedule / Episodes) overflow — previously content past the modal edge was clipped because the grid-child panes had no
min-height: 0.
Downloads
| Platform | File |
|---|---|
| macOS · Apple Silicon | Scriptty_0.8.1_aarch64.dmg |
| macOS · Intel | Scriptty_0.8.1_x64.dmg |
| Windows | Scriptty_0.8.1_x64-setup.exe (NSIS) · Scriptty_0.8.1_x64_en-US.msi |
| Linux · Debian/Ubuntu | Scriptty_0.8.1_amd64.deb |
| Linux · Fedora/RHEL | Scriptty-0.8.1-1.x86_64.rpm |
| Linux · Other | Scriptty_0.8.1_amd64.AppImage |
Update notifications point to stultus.in/scriptty.
Full changelog: v0.8.0...v0.8.1
Scriptty v0.8.0
Highlights
Production planning end-to-end
- Scene cards carry a location group, shoot date, and extras list
- New Daily Shoot List PDF — scenes grouped by day → location with industry-standard page-eighths totals, a per-day total, and a clean cover sheet ready for the AD
- Statistics panel adds Schedule and Episodes views; Characters / Locations / Schedule tables get sortable columns and CSV export
Editorial-grade PDF redesign
- Title page, prose covers (Synopsis / Treatment / Narrative), scene-card cover, and shoot-list cover share one editorial-masthead vocabulary — small tracked-caps eyebrow with flanking hairlines, dominant film title, asterism divider, Courier-set credits
- Per-section page numbering (each section restarts at "1")
- Transition widow control — action stays with its following CUT TO: instead of stranding the cue at the top of a new page
- Full-width single-column scene cards with the eyebrow, slug, cast, location group, scheduled date, description, and shoot notes
- New Compact card view export toggle for slug-only at-a-glance shoot-day overviews
- Courier Prime is now bundled into every PDF alongside the body font — the editorial accent typography (slugs, hero numerals, credit names) survives onto paper
Episode Breakout view (series projects)
- Top-level card per episode with a scene preview list — click an episode to drill into its scenes
- IDE-style episode explorer in the sidebar with per-episode status (Outline / Draft / Revision / Final), drag-to-reorder, hover-rename
- Smart truncation for long episode + scene titles
- Slide animation when switching active episode
Editor
- Smart curly quotes (straight → curly as you type)
- Adjustable editor font size — independent of PDF body size
- Autosave + crash recovery — a hidden recovery file survives power loss; cleared on a normal save
- Paste to Screenplay — drop plain text into the editor and it becomes a properly-formatted screenplay (Hollywood-style scene-heading / character-cue / transition detection plus a Malayalam-aware character-cue path)
Title bar / chrome
- Colophon-style "Scriptty" wordmark with press-mark + hairline rule
- Centred title flanked by middle-dot ornaments
- Episode badge becomes a click-to-switch popover
- Metadata icon button; view-switcher tabs gain leading element-type glyphs
- Editorial-masthead vocabulary extends to Welcome, About, Help, Statistics, Settings, and Story view
Performance, security, accessibility
- Debounced contentVersion + memoization across SceneCardsView / SceneNavigator / Statistics / OutlinePeek for snappier large-script editing
- Strict Content Security Policy; explicit URL allowlist replacing the previous wildcard
- Escaped Typst content-block delimiters so user content can't break out of the PDF template
- Update checks now go through GitHub's Releases API directly
- Keyboard navigation through the scene list and the calendar grid; global focus-visible ring on chrome buttons
Full changelog: v0.7.0…v0.8.0 (115 commits)
Downloads
Pick the installer that matches your platform from the assets below.
- macOS (Apple Silicon) —
Scriptty_0.8.0_aarch64.dmg - macOS (Intel) —
Scriptty_0.8.0_x64.dmg - Windows —
Scriptty_0.8.0_x64-setup.exe - Linux (Debian/Ubuntu) —
Scriptty_0.8.0_amd64.deb - Linux (AppImage) —
Scriptty_0.8.0_amd64.AppImage
Scriptty v0.7.0
Scriptty 0.7.0 is a big one. Full web series support, a ⌘K command palette, a new outline peek strip, Courier Prime typography, a warm Kerala-inspired theme, and a long list of polish across the whole app.
Highlights
- Web series projects — One
.screenplayfile now holds an entire series: multiple episodes, each with its own metadata, scene cards, story notes, and screenplay content. Scene Navigator, Statistics, Outline Peek, Metadata, and Export are all series-aware. - ⌘K Command palette — Jump to any command or scene with a single shortcut. Keyboard-first, no menu digging.
- Outline peek — A narrow strip at the bottom of the editor shows the current scene in context — heading, position ("Scene 7 of 42"), and adjacent scenes at a glance.
- Courier Prime + new typography hierarchy — A classic screenplay feel for English, with Malayalam fonts unchanged (Noto Sans Malayalam / Manjari).
- Kerala palette — Warm teal accent, amber dirty-indicator, oxblood error tones. Dark and light modes both refreshed.
- Signature scene-number gutter — A left-margin gutter showing scene numbers, sized to match the scene heading font.
- Floating B/I/U bubble — Inline formatting moved from the title bar to a floating bubble above selected text.
- Visual signals in Scene Navigator — Per-scene indicators for INT/EXT, DAY/NIGHT, and notes.
- Mid-scene transitions — Enter after a Transition now creates Action, so you can write montages and mid-scene cuts without forcing a new scene.
- Smooth episode-switch animation — Series navigator slides between episodes instead of snapping.
New features
- Web series data model + active-episode accessors
- Series-aware export with a proper series-level title page
- Command palette with fuzzy search
- Outline peek strip at the bottom of the editor
- "Saved N min ago" indicator in the status bar
- In-app update check with a non-intrusive toast
- Help → Check for Updates menu item
- Fractal grain texture on the screenplay page
- Document Properties moved from View menu to File menu
Improvements
- Title bar shrunk; formatting controls moved to floating bubble
- Scene Navigator visual cleanup — unified annotation font, expanded by default
- Metadata: extras section + required title validation
- Scene-range export (export a slice instead of the whole script)
- Better scene card delete button discoverability
- Symmetric view-switcher tabs
- Consolidated gutter RAF chain + resize observer for smoother scrolling
- Event-driven input mode status (replaces 200ms polling)
- Cool find-match highlight + raised page depth + SVG drag handle
Fixes
- Parenthetical parens now stored in content instead of CSS pseudo-elements (fixes copy/paste and export)
- StatisticsModal and OutlinePeek read the active episode's content in series projects
- MetadataModal re-syncs when the active episode changes
- Scene-card character extras key correctly in series PDFs
- OutlinePeek "of N" uses the last displayed scene number
- OutlinePeek jitter smoothed
- Palette arrow-vs-mouse focus fight resolved
- Native text-input popups silenced
- AboutModal error handling for external URL open
- Modal focus restoration hardened (focus returns to trigger button)
- Modal close-button spec unified across all dialogs
- Hardcoded colors replaced with theme tokens in light mode
- Global keydown listener leak on mount error fixed
- Title bar episode badge width no longer truncates at 160px
- Scene Navigator icon-only buttons now carry aria-labels
- New episode inherits the current font
- PDF renderer logs unknown element types instead of silently skipping
- Update toast z-index lowered below modals
Under the hood
- Clippy + svelte-check at zero warnings
- Single
DEFAULT_FONTconstant drives bothdefault_font()and theDefaultimpl SceneCard.scene_indexsemantics + series invariant documented on both Rust and TS sidesnew_screenplaycommand returnsScreenplayDocumentdirectly (infallible)- Defensive document parsing with clamped
scene_number_start - Displayed version driven from Tauri at runtime
Credits
Thanks to Sijith Vijayakumar, Abraham Joseph, and Aashiq Abu for feedback that shaped this release.
Downloads
Pick the installer for your platform from the assets below. All builds are signed on macOS.
macOS: Scriptty_0.7.0_aarch64.dmg (Apple Silicon) or Scriptty_0.7.0_x64.dmg (Intel)
Windows: Scriptty_0.7.0_x64-setup.exe
Linux: Scriptty_0.7.0_amd64.deb, Scriptty_0.7.0_amd64.AppImage, or Scriptty-0.7.0-1.x86_64.rpm
Full changelog: v0.6.0...v0.7.0
Scriptty v0.6.0
Scriptty 0.6.0 is a big polish release — a rebuilt Story Mode, more flexible scene tools, substantial PDF-export improvements, and a landing page that adapts to the visitor's OS.
New features
- Character list under scene headings — each scene now shows who speaks in it right beneath the heading, with non-speaking characters editable per scene (#13, #29).
- Page numbers in PDF export — opt-in toggle in the Export modal. Title page stays unnumbered; body pages start at 1 (#35).
- Cmd/Ctrl+1..4 element shortcuts — convert the current block to Scene Heading / Action / Character / Dialogue without reaching for Tab (#15).
- Add Scene from empty Scene Navigator — new outlines get a one-click starting point (#24).
- About reachable in-app — from the Help modal's footer (#33).
- Platform-aware landing page — scriptty.app detects macOS (Apple Silicon vs Intel), Windows, and Linux and surfaces the matching installer as the primary download; other platforms are one click away. The keyboard-shortcut guide on the site rewrites Cmd → Ctrl for non-Mac visitors.
PDF export improvements
- Parentheticals are centered under their character cue again, after the Hollywood margin refactor accidentally pushed them flush-left.
- Hollywood left margin is now at the 1.5" spec with absolute cue positions (#37).
- Indian two-column outer margins widened to 2cm (#38).
- Title page stays unbreakable so it never splits across two pages (#39).
- Screenplay leading harmonized at 0.8em across both formats (#41).
- Unknown font slugs now fall back with a clear log entry instead of a silent swap (#43).
- Empty synopsis/treatment/narrative sections are hidden from the export with a subtle hint (#26).
- Export runs now show a spinner and progress bar (#18).
Editor & Story Mode
- Story Mode rebuilt as a tabbed page with uniform sizing for Idea / Synopsis / Treatment / Narrative.
- Cards view: delete-scene button, floating drag ghost, smoother FLIP reorder.
- Left panel is now an overlay, preserving the editor's width when opened.
- Scene headings are protected from accidental deletion; annotation sidebar layout is stable.
- Malayalam-aware character autocomplete (#16).
- Find shows a placeholder when there are no matches (#27).
UI & theming
- Light-theme contrast swept across the app (#32).
- Disabled buttons styled consistently everywhere (#31).
- Shortcut tooltips on discoverable buttons (#23).
- Settings: annotation shortcut badge (#22), unified toggle vocabulary (#21), popover clamped to viewport with scroll indicator (#20).
- Title bar: fading status messages + saved indicator (#19).
- Help modal: grouped shortcuts, sidebar TOC, wider layout, accurate scroll-to-section.
- Focus trap + restore in modals (#34).
- Metadata labels now match the rest of the app's terminology (#25).
Downloads
Installers for macOS (Apple Silicon & Intel, signed + notarized), Windows (.exe and .msi), and Linux (.deb, .AppImage, .rpm) are attached below. The landing page at scriptty.app will update within a few minutes of this release being published.
v0.5.2 — PDF export fixes and layout polish
Bug Fixes
- Malayalam text overflow in PDF export — Fixed text extending past page margins. Non-breaking spaces (U+00A0) and other non-breakable whitespace inserted by some Malayalam IMEs are now converted to regular spaces so Typst can wrap lines properly.
- Smart quotation marks — Normalize straight quotes and fix the common typing issue where both ends of a dialogue use the opening quote. Open/close pairs are determined from context.
- Auto-wrap dialogue in quotes — Dialogue lines missing opening or closing quotes (or both) now get the missing side added automatically in PDF export.
PDF Layout Polish
- Block alignment fixed — Character cues, parentheticals, and dialogue are now properly centered on the page. The outer unbreakable block uses
width: 100%so content centers at the actual text area center instead of a shrunken left-aligned box. - Consistent horizontal alignment — Character cue, parenthetical, and dialogue share the same vertical center.
- Dialogue column width — Narrowed to ~60% of the action column (9.5cm) for better readability and clearer visual hierarchy.
- Vertical rhythm — Looser line spacing (leading 0.85em) for better Malayalam readability, explicit paragraph spacing, and more breathing room around scene headings and character blocks.
- Malayalam typography — Set
lang: "ml"andlinebreaks: "optimized"across all PDF templates (Hollywood, Indian, prose sections, scene cards).
Downloads
Available for macOS (Apple Silicon & Intel), Windows, and Linux (.deb, .rpm, AppImage).
v0.5.1 — Three Views, Scene Annotations, Unified UI
What's New
Three-View System
Scriptty now has three dedicated views, switchable from the tab bar in the title bar:
- Writing — the screenplay editor with scene annotations in the right margin
- Cards — a grid view for scene planning, production breakdown, and outlining
- Story — Idea, Synopsis, Treatment, and Narrative combined in one continuous page
Scene Annotations
In Writing view, scene descriptions and notes appear alongside each scene heading in the right margin. When an annotation is longer than its scene, the editor automatically expands to keep everything aligned.
Cmd+Shift+D— add or edit annotation for the current sceneCmd+Shift+A— toggle annotation visibility- Configurable in Settings (Show/Hide)
Add Scene from Cards View
Create new scenes directly from the Cards view — useful for building an outline before writing.
Unified Status Bar
A consistent bottom bar across all three views with settings gear, language mode indicator (ENG/MAL), and view-specific info (element type in Writing, word count in Story).
Improvements
- Font and input consistency — editor font (Noto Sans Malayalam / Manjari) and Malayalam input (Ctrl+Space) now work across all three views
- Renamed "Shoot Notes" to "Notes" — more flexible for any kind of scene annotation
- Cards view cleanup — removed redundant location/time fields (already in heading), characters shown as a compact line, page estimate as small footer, equal-height cards per row
- Drag-to-reorder animation in Cards view
- Title bar shows filename when document title is empty
- Left sidebar standardized width; toggle and format buttons disabled in Cards/Story modes
- Theme polish — all hardcoded colors replaced with CSS variables; shadows and backdrops are properly lighter in light mode
- PDF export for scene cards updated to match new card layout
- Help guide updated with new views, shortcuts, and features
- Landing page now fetches download links from a JSON file auto-updated by CI on each release
Bug Fixes
- Fixed scene cards not showing descriptions when
scene_number_start > 1 - Fixed scene_cards indices not remapping when dragging to reorder
- Fixed annotation spacers not recalculating when switching from Cards back to Writing view
- Fixed scroll flicker caused by unnecessary spacer recalculation on scroll events
- Fixed hardcoded dark-mode color on active format button hover (broken in light mode)
New Keyboard Shortcuts
| Shortcut | Action |
|---|---|
Cmd+Shift+A |
Toggle annotations |
Cmd+Shift+D |
Edit current scene annotation |
Cmd+Shift+K |
Toggle Cards view |
Cmd+Shift+L |
Toggle Story view |
On Windows/Linux, replace Cmd with Ctrl.
Downloads
Available for macOS (Apple Silicon & Intel), Windows, and Linux (.deb, AppImage).
Scriptty v0.4.0
What's New in v0.4.0
New Features
- Bold, Italic, Underline formatting — Use
Cmd+B,Cmd+I,Cmd+Uor the new B I U toolbar buttons. Active state highlights when cursor is in
formatted text. Formatting is preserved in PDF and Fountain exports. - Format menu in the native menu bar (between Edit and View)
- Language indicator — Status bar shows ENG / MAL when toggling input mode with
Ctrl+Space - Page break after each scene — New checkbox in the Export modal under Layout, works with both Hollywood and Indian formats (#7)
- Landing page & documentation — stultus.in/scriptty
Improved Dialogue Flow (#5)
- Dialogue → Enter → Character — continuous dialogue writing loop (was: Action)
- Empty Character → Enter — breaks out to Action (exit the loop)
- Empty Dialogue → Enter — deletes the empty dialogue and returns cursor to the Character above
- Enter in middle of Action — splits the paragraph into two Action elements (#9)
Bug Fixes
- Character autocomplete works with Malayalam — trailing virama (്) is now stripped before prefix matching, so intermediate Mozhi states correctly match
existing character names - Autocomplete dropdown positioning — flips above the cursor when near the bottom of the viewport (#6)
- Scene navigator scroll — clicking a scene now reliably scrolls the heading to the top of the viewport (#11)
- Sidebar shortcut changed from
Cmd+BtoCmd+\to avoid conflict with Bold - Added spacing after dialogue elements for better readability
Other
- Updated Help guide with all new features and shortcuts
- About modal updated to v0.4.0
Full Changelog: v0.3.2...v0.4.0