Skip to content

Releases: BeetleBot/ActOne-Screenplay

ActOne Screenplay v0.6.2

Choose a tag to compare

@github-actions github-actions released this 01 Nov 10:00

Added / Improved

  • Fit Page PDF Preview – PDF previews now open with the whole page visible. Added a Fit page control alongside Fit width and manual zoom, with automatic fitting when the window is resized.
  • Separate Paper Sheets – Added clear spacing, edges, and shadows between preview pages.

Fixed

  • PDF Export Window Layout and Scrolling – The preview fills the available space and scrolls independently from export settings. Export buttons stay visible, and the settings column adapts to the window width.
  • X-Ray Window Resizing – Charts adapt to the available width while keeping labels and row heights consistent. Panels stack in narrower windows, and shorter windows scroll without squeezing chart content.

ActOne Screenplay v0.6.1

Choose a tag to compare

@github-actions github-actions released this 01 Nov 09:54

Removed

  • Translation Glossary Preparation – Removed the required glossary generation and review step. Start Translation now starts translation directly, with custom instructions available for preferred names and terminology.

ActOne Screenplay v0.6.0

Choose a tag to compare

@github-actions github-actions released this 01 Nov 07:58

Added / Improved

  • 🪟 Dedicated Export Windows (Ctrl+P / Ctrl+Shift+P) – Split export workflows into dedicated, focused dialogs:
    • Export PDF (Ctrl+P): Direct access to paginated PDF rendering, custom diagonal watermarks, page preview controls, and layout preferences.
    • Export Script (Ctrl+Shift+P): Modernized full-screen script export dialog with segmented format switching (Fountain, Plain Text, Markdown, Final Draft FDX, HTML), customizable formatting toggles, and unified export triggers.
  • ⚡ Unified Quick Actions & Navigation Palette – Expanded the Command Palette (Ctrl+K) into a versatile Quick Actions launcher with keyboard prefixes:
    • sc. (Scenes & Headings): Instant fuzzy navigation across scenes, sluglines, times of day, locations, or Markdown headings.
    • rf. (Recent Projects): Instant filtering and reopening of recent screenplays and projects.
    • ch. (Characters & Dialogue Pass): Audit speaking characters, dialogue counts, and jump directly to character scenes.
    • th. (Theme Switcher): Live theme preview and switching in seconds.
    • mk. (Markers & Notes): Search and navigate inline revision markers, color tags, and notes.
  • 🤖 UrAI AI Writing Assistant Overhaul – Upgraded the integrated assistant (rebranded to UrAI) with native inline writing tools:
    • Native UrAI Engine & Provider Architecture: Added native Rust backend integration with encrypted credential storage, job processing, and flexible AI provider support (Ollama, custom endpoints).
    • UrAI Transform Tools: Contextual inline writing and rewrite actions with native prompt templates and screenplay indexing.
    • Translation Glossaries & Safe Jobs: Added structured glossary generation, chunked batch translation, and non-destructive screenplay translation pipelines preserving original source formatting.
  • 📸 Live In-Memory Snapshot Capture – Manual and automatic snapshot creation now captures live unsaved editor buffer content across active documents in the project bundle without requiring prior manual saves.
  • 🛡️ Resilient Atomic File Saves & Oversized Line Protection – Backend atomic file operations preserve the original document if writes fail or encounter disk issues. Enhanced CodeMirror line and decoration handling to safely manage oversized source lines without editor freeze or indexing crashes.
  • 🐧 Linux Packaging & Flatpak Repository –
    • Fully signed OSTree Flatpak repository published via Cloudflare R2 with dedicated installation script (scripts/install-flatpak.sh).
    • Standardized application ID to ink.iyal.actone with AppStream/Discover metadata and screenshots.
    • Migrated portable AppImage packaging to the Tauri bundler pipeline with automated structure verification and smoke testing.
  • 🎨 Theme & Timeline Polish –
    • Refined timeline styling and track contrast to match active editor themes smoothly.
    • Enhanced color conversion, palette generation, and contrast calculation utilities in theme management.
    • Line numbers now default to off (false) for a cleaner, distraction-free writing canvas.

ActOne Screenplay v0.6,0

Choose a tag to compare

@github-actions github-actions released this 01 Nov 02:40

ActOne Screenplay v0.6,0 release assets.

ActOne Screenplay v0.5.7

Choose a tag to compare

@github-actions github-actions released this 28 Oct 19:59

Added / Improved

  • 🎨 Canvas Documents & Visual Story Planning – Added full support for .excalidraw Canvas documents inside .actone project bundles, complete with asset packaging/unpacking, offline bundled fonts, and non-screenplay document handling.
  • 📜 Open Source Credits & Dependencies Viewer – Added an expandable Credits section to the About modal highlighting major dependencies (CodeMirror 6, Excalidraw, Material UI, Tauri v2, React 19, Krilla, Phosphor Icons, and backend crates) with direct project links and descriptions.
  • 🎨 Enhanced Color Management & Contrast – Refined theme color utilities and high-contrast styling across UI views and editor highlights.

ActOne Screenplay v0.5.6

Choose a tag to compare

@github-actions github-actions released this 28 Oct 07:17

Added / Improved

  • 📄 Interactive PDF Export Preview & Watermarking – Live paginated PDF export preview with zoom controls, page jumps, thumbnail navigation, fit-to-width/page modes, and optional custom diagonal watermarks with adjustable opacity.
  • 🪟 Native Multi-Window Export Dialog – Desktop exports now open in dedicated multi-window dialogs on Tauri with clean window loading states and unified file export options.
  • 🎨 Enhanced Scene Color Contrast – Tuned yellow scene heading and outline colors to dedicated high-contrast hex values across light and dark themes.
  • 🐧 Platform-Aware Path Normalization – Case-sensitive file path handling on Linux and case-insensitive matching on Windows for consistent project and file resolution.

ActOne Screenplay v0.5.3

Choose a tag to compare

@github-actions github-actions released this 24 Oct 07:20

ActOne Screenplay v0.5.3 Release assets.

ActOne Screenplay v0.5.2

Choose a tag to compare

@github-actions github-actions released this 17 Oct 14:01

ActOne Screenplay v0.5.2 Release assets.

ActOne Screenplay v0.5.1

Choose a tag to compare

@github-actions github-actions released this 20 Sep 11:59

[0.5.1] - 2026-09-20

Added / Improved

  • 🎞️ Screenplay Timeline View (Alt+T) – Introduced a multi-track interactive visual timeline docked seamlessly into the status bar area for pacing, structure, and real-time scene navigation. Key capabilities include:
    • Multi-Track Visualization: Displays acts, sequences, scenes, and custom markers proportionally mapped across script duration.
    • Dynamic Filtering & Highlighting: Instantly filter scenes by character, location, or marker type via the status bar menu.
    • Customizable Display Options: Persistent multi-select display toggles (Section Lines, Scene Numbers, Scene Colors) saved to localStorage (sections off by default).
    • Interactive Scrubbing & Navigation: Click or drag the playhead across the timeline to smoothly navigate through the script, with the playhead cleanly layered behind text labels and numbers.
    • Smooth Status Bar Docking & Animation: Clean floating typography without box borders, split track lines around section labels, and a smooth slide-up entrance animation emerging directly from the status bar.
    • Keyboard Shortcut: Quickly toggle the timeline on or off at any time using Alt+T or via the Command Palette.
  • 📤 UPPERCASE Fountain Normalization on Export – Enhanced the Fountain export pipeline (exportToFountain & transformBodyLinesUppercase) with an optional automatic normalization toggle that transforms scene headings, shots, transitions, and character cue names into standard UPPERCASE without modifying action or dialogue formatting.
  • 📄 Robust Title Page Parser & Editor Modal – Upgraded TitlePageEditorModal with a comprehensive key dictionary recognizing all standard Fountain title page keys (e.g. title, author, notes, contact, draft date, copyright, watermark, revision). Safely differentiates title blocks from transitions or headings, accurately extracts multi-line fields, and cleanly preserves screenplay body lines starting at line 1 when clearing or modifying metadata.
  • 📦 Updated pdf2fountain to 0.1.3 – Upgraded the native Rust PDF screenplay converter to version 0.1.3 with refreshed lockfile checksums for enhanced character set mapping and parsing stability.

Fixed

  • 🛡️ Editor Selection Bounds & Truncation Guard – Clamped cursor and selection positions (Math.max(0, Math.min(pos, doc.length))) across useCoreCodeMirror, activeLineAlwaysPlugin, computeEmptyLineDecorations, and computeFountainDecorations, preventing out-of-range indexing exceptions when content is truncated or replaced.
  • 🪟 Tauri Teardown Error Handling – Enhanced global error handlers (window.onerror and unhandledrejection) with defensive boundary checks, suppressing transient teardown exceptions (such as Windows tao event loop destruction cannot move state from Destroyed) from triggering false-positive crash screens during application exit.

ActOne Screenplay v0.5.0

Choose a tag to compare

@github-actions github-actions released this 16 Sep 18:17

[0.5.0] - 2026-09-16

Added / Improved

  • ⚡ Granular External Sync & Undo Preservation – Integrated diff-match-patch into CodeMirror external text synchronization (useCoreCodeMirror), applying targeted changes rather than full-document replacements when external tools (such as AI modifications or translation) update document text, keeping the undo/redo history intact.
  • 🛡️ Collision-Resistant Atomic File Saves – Enhanced write_file_atomically in the Rust backend to incorporate process IDs and an atomic sequence counter (.{filename}.{pid}-{seq}.tmp), eliminating temporary file naming collisions during concurrent saves.
  • 💾 Atomic Preference & Theme Persistence – Migrated preferences (app_prefs.rs) and theme configuration (lib.rs) writes to use the atomic temp-and-rename pipeline, preventing configuration corruption during abrupt shutdowns.
  • 📦 Manifest-Less .actone Script Recovery – Added fallback recovery in unpackActoneBundle for legacy or corrupted archives missing project.json/fountain.json, discovering .fountain, .md, or .markdown scripts instead of returning empty content.
  • 🔐 Transparent AES-GCM Encryption for AI API Keys – Integrated installation-bound AES-256-GCM encryption using standard Web Crypto (window.crypto.subtle) for AI API keys in localStorage, eliminating plaintext exposure while ensuring full cross-platform compatibility across Windows, Linux (Flatpak, AppImage), and headless/minimal desktop setups without OS keyring daemon dependencies.
  • 🐞 Direct Bug Reporting & Feedback via Sentry – Updated "Report a Bug" to submit user reports directly via Sentry User Feedback alongside system diagnostics and logs without screenplay content, eliminating reliance on vulnerable hardcoded Discord webhooks.
  • 📡 Automated Crash Reporting via Sentry – Integrated Sentry error monitoring with strict PII and privacy scrubbing (sendDefaultPii: false, screenplay content and local paths stripped) to capture unhandled exceptions and Rust panics reliably without webhook leaks.
  • 🛡️ Sanitized AI Output Rendering – Sanitized Assistant Markdown rendering in AIChatMessage by neutralizing img tags to prevent tracking pixels/network requests and enforcing safe external link attributes (rel="noopener noreferrer", target="_blank").
  • 🔍 AI Tool Argument Validation – Added strict numeric bounds checking, integer validation, and scene existence verification to AI tools (replace_scene, tag_scene, read_scene, read_active_cursor_context).
  • 📁 Snapshot Folder Path Validation – Hardened backend open_folder command to reject path traversal (..) and restrict automatic directory creation strictly to .snapshots directories.

Fixed

  • 🔄 Async Parse Race Condition – Implemented sequence tracking and staleness guards in FileContext (setRawText and updateFileScriptContent), preventing older in-flight background parse completions from overwriting newer user edits.
  • 🔒 Discord Webhook Exposure – Completely removed public Discord webhook URLs from the client bundle.