Conversation
- Add workspace creation in `FileStorageService` initializing standard project outline (`chapters/`, `characters/`, `styles/`, `prompts/`, `outputs/`) and essential starter templates (`CHAPTERS.md`, `chapter-1.md`, `CHARACTERS.md`, `protagonist.md`, `STYLES.md`, style guides, `story_state.yaml`). - Add optional Git repository initialization with `.gitignore` generation, automatically disabled when Git is not available in PATH. - Add `POST /api/workspace/create` and `GET /api/workspace/git-status` endpoints. - Unify native folder picker into a single dialog with foreground focus - Add "Create New Workspace" section to General settings in `SettingsModal`. - Add a workspace switcher icon button next to the New Folder button at the top of `FileSidebar`. - Add unit tests covering workspace creation, file generation, Git init, and API endpoints in `tests/test_workspace_create.py`. Generated by Antigravity.
- Add display-only active selection highlighting via ProseMirror inline view decorations with theme-adaptive styling across all themes. - Auto-target enclosing paragraph when focusing prompt box without an active selection (and cursor not between whitespace). - Repurpose bubble menu '+ Margin' button to stage selection as a chip, apply display highlight, dismiss the bubble menu, and jump focus to the sidebar prompt. - Refine writing bubble menu rewrite mode lifecycle to reset on selection change, click-outside, or Escape. - Add dynamic inline placeholder support in the prompt box when selection or file chips are attached. Implemented using Antigravity.
- Implement display-only real-time diff highlighting (additions and deletions) in TipTap editor via ProseMirror decorations. - Add workspace-aware diff baseline resolution with git index/HEAD support for git repos and .margin-shadow copies for non-git workspaces. - Add token/word-level LCS diff algorithm with intra-word character-level refinement for typos and affixes. - Add bottom-left Stage/Snapshot button with dynamic enable/disable state based on document diffs. - Support AI selection replacement review with contiguous deleted/inserted blocks and floating Accept/Reject controls. - Suppress baseline diff decorations and keep Stage/Snapshot button disabled during active AI change reviews. - Handle new/untracked documents cleanly without showing diffs until initial staging/snapshotting. - Add global settings and document-level quick toggles for showing/hiding additions and deletions. - Add theme-adaptive styling and color variables across all 10 theme variants.
- Implement similarity-weighted sequence alignment DP in - Optimize typing and backspacing latency by caching parsed baseline documents, trimming common block prefixes and suffixes in O(1) time, pre-tokenizing modified slices, and deferring store updates via queueMicrotask. - Isolate the editor bottom scroll container from the Stage/Snapshot, - Enhance diff algorithm with block-level insertion detection and whitespace-aware token matching to prevent word interweaving during phrase replacements. - Fix AI edit preview to render replaced text as strikethrough deletions before additions and ensure only targeted selections or new paragraphs are highlighted. - Updated bottom bar controls for Staging/Snapshotting, a confirmation modal for Restoring baselines, and a Git Commit dialog with AI-generated commit titles and descriptions. - Make Additions and Deletions toggle buttons compact icon-only controls with informative tooltips. - Add comprehensive test suite in ChangeHighlight.test.ts covering block insertions, multi-paragraph additions, deletions, rewrites, and performance edge cases.
- Add centralized `saveCurrentFile` helper with support for dirty checks, keepalive requests, and force saves.
- Support `Mod+S` (`Ctrl+S` / `Cmd+S`) global keyboard shortcut with `preventDefault()` to trigger instant disk saves without browser dialogs.
- Add 2000ms debounced idle auto-save in TipTap's `onUpdate` to keep keystroke latency zero while persisting changes once typing pauses.
- Flush pending changes on editor blur, window blur, and `visibilitychange === 'hidden'`.
- Trigger automatic document saves immediately prior to executing SimpleAssist prompts, chat queries, and inline rewrites so backend agents always inspect fresh disk content.
- Register `beforeunload` and `pagehide` safety nets with `fetch({ keepalive: true })` to persist unsaved edits on sudden window close or page refresh.
Persist active document context, pending AI edit previews, and scroll positions across reloads and computer sleep. Add manifest summarization to generate and update chapter summaries with optional auto-staging. Add LLM telemetry viewers for prompts, raw outputs, and token usage with stable dialog dimensions. Enhance workspace file status indicators for modified and staged files, commit dialog validation, and low-overhead external state synchronization on window focus.
Create snapshot files for template documents in new non-git workspace to prevent them from showing as modified. Fixed issue with files in non-git workspace not having the modified indicator cleared when manually reverted to being unchanged.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Key Capabilities & Functional Highlights
1. Real-Time Visual Change Tracking
2. Dual Workspace Baseline & Versioning
index) or latest commit (HEAD)..margin-shadow/, providing change highlighting, modification tracking, and baseline restoration for projects not managed with Git.Mbadge) in real time when you manually undo, backspace, or type text back to match the baseline snapshot—with zero polling overhead.3. Workspace Creation & Project Scaffolding
chapters/,characters/,styles/,prompts/, andoutputs/..gitignore.4. Active Selection & Assistant Auto-Targeting
+ Margin), immediately applying a selection highlight and focusing the prompt.5. Inline AI Edit Previews & Non-Destructive Review
Enterto accept,Escto reject) allow reviewing and testing changes in place before applying them.6. 5-Tier Document Auto-Save & Resilience Architecture
Ctrl+S/Cmd+S), debounced idle typing saves (2s pause), editor blur events, tab visibility changes, and pre-flight query saves before sending AI prompts.keepalivebeacon requests to flush unwritten document edits to disk on tab close, refresh, or system sleep.7. Sidebar Status & Visual File Hierarchy
M: Unstaged modifications.S: Staged changes.S/M: Staged file with subsequent working modifications.8. Streamlined Git Staging & Commit Workflow
9. Chapter Manifest Summarization
CHAPTERS.md).10. Pure Event-Driven External Git Synchronization (Zero Polling)
11. Transparent AI Telemetry