From 71814b2e7278b995ba5d4969ed22f4908bd9052b Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 16 Sep 2026 04:19:23 +0000 Subject: [PATCH 1/2] Update docs for v2.0: new features, milestones, and project status Add v1.5 (platform) and v2.0 (craft tools) features to README, openspec roadmap, and status tracking. Update test count (766), add Windows EXE installer and EPUB/FDX to download and export tables, add new module directories to project structure tree. Co-Authored-By: Claude Opus 4.6 Claude-Session: https://claude.ai/code/session_01NoacdztkMbQ5BREp9rVqNw --- CONTRIBUTING.md | 4 +-- README.md | 58 ++++++++++++++++++++++++++---------- openspec/README.md | 17 ++++++----- openspec/roadmap.yaml | 29 +++++++++++++++++- openspec/status.yaml | 68 +++++++++++++++++++++++++++++++++++++++++-- 5 files changed, 147 insertions(+), 29 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 217f66d..a609d45 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,9 +4,9 @@ Thanks for your interest in contributing to Ecrit! This guide will help you get ## Prerequisites -- **Python 3.10+** +- **Python 3.12+** (recommended; 3.10+ supported) - **Rust 1.70+** (for the PyO3 native modules) -- **PySide6** +- **PySide6 6.5+** ## Getting Started diff --git a/README.md b/README.md index fe38a99..567b7e0 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ ### Writing Tools -- **Command Palette** (Ctrl+K) — Fuzzy search across 29 commands +- **Command Palette** (Ctrl+K) — Fuzzy search across 30+ commands - **Sprint Timer** — Timed writing sessions with 15/25/45/60-minute presets - **Reading Mode** — Distraction-free full-screen reading - **Scratchpad** — Clipboard for cut text with paste-back @@ -47,6 +47,15 @@ - **Compare Drafts** — Side-by-side and inline diff between snapshots - **Statistics** — Word counts, page counts, character/scene breakdowns - **Character Sheets** — Name, occupation, wants/needs/flaw, arc, moodboard +- **Bookmarks** — Mark and jump between important lines in your script +- **Scene Tags** — Categorize scenes with color-coded tags for filtering and organization +- **Autosave & Snapshots** — Automatic periodic snapshots with a visual browser to restore any version +- **Annotations** — Attach margin notes to specific lines with a filterable panel +- **Spell Check** — Edit-distance spell checker that understands Fountain syntax (skips scene headings, transitions, etc.) +- **Script Analytics** — Dialogue-to-action ratio, pacing graphs, scene length distribution, and complexity scoring +- **Orphan Finder** — Detect characters mentioned in dialogue but missing from character sheets +- **Title Templates** — Quick-start title page generation from genre-specific templates (thriller, comedy, drama, horror, sci-fi) +- **Character Cards** — Compact relationship-map cards with image, role, and arc summary ### Screenplay Features @@ -64,6 +73,10 @@ - **Remote Sync** — Push/pull to GitHub, GitLab, or Codeberg - **Cloud Export** — Export to Google Drive, iCloud, Dropbox, OneDrive, or Nextcloud - **Share for Review** — Generate self-contained, watermarked HTML files for confidential review +- **Real-time Collaboration** — LAN-based peer-to-peer editing with CRDT conflict resolution and presence indicators +- **Plugin Marketplace** — Browse, install, and manage community plugins with a built-in marketplace UI +- **Android Companion** — Sync screenplay bundles to a companion reader app via LAN or file export +- **Localization** — Full i18n system with translation support (English, French, Spanish, German, Japanese, Korean, Chinese) ### Export Formats @@ -72,6 +85,8 @@ | **PDF** | QPrinter-based, US Letter or A4, optional title page | | **ODT** | ODF-spec compliant for LibreOffice/Word | | **Fountain** | Plain `.fountain` text | +| **EPUB** | EPUB 3 e-book export with metadata, table of contents, and styled chapters | +| **FDX** | Import from Final Draft `.fdx` files | | **HTML** | Watermarked review copies with dark mode | ### Themes @@ -88,12 +103,13 @@ Download the latest release for your platform from the [Releases page](https://g | Platform | Download | |----------|----------| -| **Windows** | `Ecrit-x.x.x-win64.zip` | -| **macOS (Intel)** | `Ecrit-x.x.x-macos-x86_64.dmg` | -| **macOS (Apple Silicon)** | `Ecrit-x.x.x-macos-arm64.dmg` | -| **Linux (AppImage)** | `Ecrit-x.x.x-linux-x86_64.AppImage` | -| **Linux (.deb)** | `Ecrit-x.x.x-amd64.deb` | -| **Linux (.rpm)** | `Ecrit-x.x.x-x86_64.rpm` | +| **Windows (installer)** | `Ecrit-x.x-win64-setup.exe` | +| **Windows (portable)** | `Ecrit-x.x-win64.zip` | +| **macOS (Intel)** | `Ecrit-x.x-macos-x86_64.dmg` | +| **macOS (Apple Silicon)** | `Ecrit-x.x-macos-arm64.dmg` | +| **Linux (AppImage)** | `Ecrit-x.x-linux-x86_64.AppImage` | +| **Linux (.deb)** | `ecrit_x.x_amd64.deb` | +| **Linux (.rpm)** | `ecrit-x.x-1.x86_64.rpm` | ### From PyPI (coming soon) @@ -134,7 +150,7 @@ Use **Import Script** from the Dashboard or Command Palette to open any `.founta ### Prerequisites -- **Python 3.10+** +- **Python 3.12+** (recommended; 3.10+ supported) - **Rust 1.70+** (for the native core) - **Qt 6** (installed via PySide6) @@ -191,17 +207,23 @@ Ecrit/ │ ├── screenplay/ # Screenplay domain logic │ │ ├── scene_numbers.py │ │ ├── revisions.py -│ │ ├── series_projects.py +│ │ ├── bookmarks.py +│ │ ├── analytics.py +│ │ ├── spellcheck.py │ │ └── ... -│ ├── export/ # PDF, ODT, Fountain, HTML exporters +│ ├── export/ # PDF, ODT, Fountain, EPUB, FDX, HTML exporters │ ├── sync/ # Remote sync and cloud export +│ ├── collab/ # Real-time collaboration (CRDT, P2P, LAN) +│ ├── plugins/ # Plugin marketplace and API +│ ├── companion/ # Android companion sync +│ ├── i18n/ # Localization and translations │ └── stores/ # Application state management ├── src-tauri/ # Rust core (PyO3) │ └── src/ │ ├── fountain/ # Fountain parser │ ├── project/ # Project file management │ └── lib.rs # PyO3 module -├── tests/ # Test suite (517 tests) +├── tests/ # Test suite (766 tests) ├── openspec/ # Feature tracking and roadmap └── public/ # Static assets ``` @@ -226,12 +248,16 @@ Contributions are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for gui ## Roadmap -The full feature roadmap is tracked in [`openspec/roadmap.yaml`](openspec/roadmap.yaml). All v1.0 milestone features are implemented. Future plans include: +The full feature roadmap is tracked in [`openspec/roadmap.yaml`](openspec/roadmap.yaml). All milestones through v2.0 are complete, including: -- Android companion app -- Real-time collaboration -- Plugin marketplace -- Localization (i18n) +- v0.1 Foundation — Rust core, Fountain parser, design system, dashboard +- v0.2 Full Editor — All 5 phases, character sheets, scene navigator +- v0.3 Project Management — New project wizard, import, settings, formats +- v0.4 Polish — Find/replace, stats, compare drafts, reading mode, sprint timer, command palette +- v0.5 Export & Sync — PDF/ODT/Fountain export, git snapshots, remote sync, cloud export +- v1.0 Release — Series projects, modules, production reports, share-for-review, contest presets +- v1.5 Platform — Localization, plugin marketplace, Android companion, real-time collaboration +- v2.0 Craft Tools — Bookmarks, scene tags, autosave, EPUB export, orphan finder, annotations, analytics, spell check, title templates, character cards --- diff --git a/openspec/README.md b/openspec/README.md index d324753..9270d4b 100644 --- a/openspec/README.md +++ b/openspec/README.md @@ -1,18 +1,19 @@ -# Écrit — OpenSpec Feature Tracking +# Ecrit — OpenSpec Feature Tracking -This directory tracks all features, milestones, and the development roadmap for Écrit. +This directory tracks all features, milestones, and the development roadmap for Ecrit. ## Structure - `roadmap.yaml` — milestones and release plan -- `features/` — individual feature specs organized by area -- `status.yaml` — current implementation status +- `status.yaml` — current implementation status of all features ## Milestones 1. **v0.1 — Foundation**: Rust core, design system, Dashboard, basic Manuscript editor 2. **v0.2 — Full Editor**: All 5 phases (Plan, Outline, Manuscript, Proofread, Deliver) -3. **v0.3 — Project Management**: New project wizard, import, settings, file management -4. **v0.4 — Polish**: Overlays, keyboard shortcuts, theme toggle, sprint timer -5. **v0.5 — Export & Sync**: PDF/ODT export, git snapshots, remote sync -6. **v1.0 — Release**: Android companion, series projects, modules, production reports +3. **v0.3 — Project Management**: New project wizard, import, settings, format system +4. **v0.4 — Polish**: Overlays, keyboard shortcuts, theme toggle, sprint timer, command palette +5. **v0.5 — Export & Sync**: PDF/ODT export, git snapshots, remote sync, cloud export +6. **v1.0 — Release**: Series projects, modules, production reports, scene numbers, revisions +7. **v1.5 — Platform**: Localization, plugin marketplace, Android companion, real-time collaboration, FDX import +8. **v2.0 — Craft Tools**: Bookmarks, scene tags, autosave, EPUB export, orphan finder, annotations, analytics, spell check, title templates, character cards diff --git a/openspec/roadmap.yaml b/openspec/roadmap.yaml index 1a0799a..c9bd6a6 100644 --- a/openspec/roadmap.yaml +++ b/openspec/roadmap.yaml @@ -1,5 +1,5 @@ project: ecrit -version: "0.1.0" +version: "26.09.0" description: "Screenplay writing app for Fountain and Fountain-derived dialects" milestones: @@ -78,3 +78,30 @@ milestones: - structure-templates - revisions-wga - scene-numbers + + - id: v1.5 + title: Platform + status: done + target: "2026-Q2" + features: + - i18n + - plugin-marketplace + - android-companion + - real-time-collaboration + - fdx-import + + - id: v2.0 + title: Craft Tools + status: done + target: "2026-Q3" + features: + - bookmarks + - scene-tags + - autosave + - epub-export + - orphan-finder + - annotations + - analytics + - spellcheck + - title-templates + - character-cards diff --git a/openspec/status.yaml b/openspec/status.yaml index 0624341..a47b457 100644 --- a/openspec/status.yaml +++ b/openspec/status.yaml @@ -1,4 +1,4 @@ -updated: "2026-09-09" +updated: "2026-09-16" features: rust-core: @@ -47,7 +47,7 @@ features: import-screen: status: done - notes: "File dialog to import .fountain files, creates project and opens in editor" + notes: "File dialog to import .fountain and .fdx files, creates project and opens in editor" settings-modal: status: done @@ -160,3 +160,67 @@ features: share-for-review: status: done notes: "Self-contained HTML generation with watermark overlay, Fountain-to-HTML parsing, XSS-safe output. ShareReviewDialog with watermark config, generated shares management." + + # ── v1.5 Platform features ────────────────────────────────────── + + i18n: + status: done + notes: "Translator class with JSON-based translations, 7 languages (en, fr, es, de, ja, ko, zh), settings integration for language switching" + + plugin-marketplace: + status: done + notes: "Plugin API with manifest loading, sandboxed execution, and marketplace UI for browsing/installing community plugins" + + android-companion: + status: done + notes: "LAN device sync, reader-optimized HTML export, and bundle packaging for companion app" + + real-time-collaboration: + status: done + notes: "CRDT-based conflict resolution, P2P networking with LAN discovery, session management with presence indicators" + + fdx-import: + status: done + notes: "Final Draft .fdx XML import with element type mapping to Fountain format" + + # ── v2.0 Craft Tools ──────────────────────────────────────────── + + bookmarks: + status: done + notes: "BookmarkManager with add/remove/toggle/jump-next, persistent JSON storage per project" + + scene-tags: + status: done + notes: "Color-coded tags per scene with filter support, TagManager with JSON persistence" + + autosave: + status: done + notes: "Periodic automatic snapshots with configurable interval, AutosaveBrowser overlay for visual restoration" + + epub-export: + status: done + notes: "EPUB 3 export with metadata, NCX table of contents, styled XHTML chapters, and cover page" + + orphan-finder: + status: done + notes: "Detect characters in dialogue not present in character sheets, dialog with match results and add/ignore actions" + + annotations: + status: done + notes: "Line-anchored margin notes with AnnotationsPanel for browsing, filtering, and jumping to annotated lines" + + analytics: + status: done + notes: "Dialogue-to-action ratio, pacing analysis, scene length distribution, complexity scoring with visual charts" + + spellcheck: + status: done + notes: "Edit-distance spell checker with Fountain-aware word extraction, skipping headings/transitions/parentheticals" + + title-templates: + status: done + notes: "Genre-specific title page templates (thriller, comedy, drama, horror, sci-fi) with field auto-population" + + character-cards: + status: done + notes: "Compact relationship-map cards with image placeholder, role, arc summary, and quick-edit panel" From e8333e9ba5d37776eb35b991ca8b0e2ba6001be8 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 16 Sep 2026 04:23:13 +0000 Subject: [PATCH 2/2] Fix doc inaccuracies: language list, FDX as import not export, EPUB in Deliver - Fix translation languages: 6 (en/fr/es/de/ja/pt), not 7 with ko/zh - Move FDX from export table to import note (it's import-only) - Mention .fdx in the importing section - Add EPUB to Deliver phase description Co-Authored-By: Claude Opus 4.6 Claude-Session: https://claude.ai/code/session_01NoacdztkMbQ5BREp9rVqNw --- README.md | 9 +++++---- openspec/status.yaml | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 567b7e0..8379efa 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ - **Outline** — Visual node graph with drag-and-drop scene cards, act breaks, and structure templates (Save the Cat, Hero’s Journey, Three-Act, and more) - **Manuscript** — Courier Prime script editor with full Fountain syntax highlighting, typewriter scrolling, auto-save, and scene numbering - **Proofread** — Read-only view with an issues rail for flagging problems -- **Deliver** — Preview with PDF/ODT/Fountain export, WGA revision tracking, and contest preset validation +- **Deliver** — Preview with PDF/ODT/Fountain/EPUB export, WGA revision tracking, and contest preset validation ### Writing Tools @@ -76,7 +76,7 @@ - **Real-time Collaboration** — LAN-based peer-to-peer editing with CRDT conflict resolution and presence indicators - **Plugin Marketplace** — Browse, install, and manage community plugins with a built-in marketplace UI - **Android Companion** — Sync screenplay bundles to a companion reader app via LAN or file export -- **Localization** — Full i18n system with translation support (English, French, Spanish, German, Japanese, Korean, Chinese) +- **Localization** — Full i18n system with translation support (English, French, Spanish, German, Japanese, Portuguese) ### Export Formats @@ -86,9 +86,10 @@ | **ODT** | ODF-spec compliant for LibreOffice/Word | | **Fountain** | Plain `.fountain` text | | **EPUB** | EPUB 3 e-book export with metadata, table of contents, and styled chapters | -| **FDX** | Import from Final Draft `.fdx` files | | **HTML** | Watermarked review copies with dark mode | +Écrit can also **import** from Final Draft (`.fdx`) and Fountain (`.fountain`) files. + ### Themes Switch between **Nocturne** (dark) and **Organic** (light) with a single command. Both themes are built from a shared design token system for consistent styling. @@ -142,7 +143,7 @@ ecrit ### Importing Existing Scripts -Use **Import Script** from the Dashboard or Command Palette to open any `.fountain` file as a new project. +Use **Import Script** from the Dashboard or Command Palette to open `.fountain` or Final Draft `.fdx` files as a new project. --- diff --git a/openspec/status.yaml b/openspec/status.yaml index a47b457..39bf648 100644 --- a/openspec/status.yaml +++ b/openspec/status.yaml @@ -165,7 +165,7 @@ features: i18n: status: done - notes: "Translator class with JSON-based translations, 7 languages (en, fr, es, de, ja, ko, zh), settings integration for language switching" + notes: "Translator class with JSON-based translations, 6 languages (en, fr, es, de, ja, pt), settings integration for language switching" plugin-marketplace: status: done