@davmash/bygone 0.8.13 → 0.8.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.8.14
6
+
7
+ - Reorganized desktop menus around familiar File, Edit, Git, Present, Navigate, View, and Window responsibilities while exposing file, directory, revision, branch, history, tour, and blank-comparison workflows
8
+ - Fixed file and directory comparison commands with additive native selection, including sources from different folders
9
+ - Kept completed diff decorations, counts, focus, and scroll position stable while edited comparisons recompute in the background
10
+
5
11
  ## 0.8.12
6
12
 
7
13
  - Fixed stacked-tour comparison switching so Monaco panes redraw immediately without requiring a window resize
package/docs/explore.md CHANGED
@@ -5,13 +5,16 @@ prescribed reading order.
5
5
 
6
6
  ## Start a comparison
7
7
 
8
- - **Compare Files…** accepts two or more files. Two files open a side-by-side
8
+ - The **File** menu contains the familiar new/open/save lifecycle. **New Blank
9
+ Comparison** opens a writable comparison without source paths.
10
+ - **File → Compare Files…** accepts two or more files. Select one item at a time when
11
+ the files live in different folders, or select several together. Two files open a side-by-side
9
12
  comparison; additional files open the focused multi-panel strip.
10
- - **Compare Directories…** accepts two or more directories and compares their
11
- trees.
13
+ - **File → Compare Directories…** uses the same additive selection flow for two or
14
+ more directory trees.
12
15
  - Drag files or directories into the window for the same selection-count
13
16
  behavior.
14
- - Start without paths to get a blank, writable two-panel comparison.
17
+ - Start the CLI without paths to get the same blank comparison.
15
18
 
16
19
  Writable filesystem panels are labeled **Writable file**. Git revisions,
17
20
  history, tours, and supplied snapshots are labeled **Read-only snapshot**.
@@ -19,11 +22,12 @@ Replace and save operations are unavailable for read-only content.
19
22
 
20
23
  ## Ask Git questions
21
24
 
22
- - **View File or Directory History…** follows one path through commits and
25
+ - **File → View File or Directory History…** follows one path through commits and
23
26
  supported index/worktree states.
24
- - **Explore Current Branch Change** compares the branch tip with its merge
25
- base and shows the complete changed-file inventory.
26
- - CLI `--git-diff` compares explicit revisions when you already know the refs.
27
+ - **Git → Review Branch Change…** accepts a head and optional base ref, compares the
28
+ head with its merge base, and shows the complete changed-file inventory.
29
+ - **Git → Compare Revisions…** accepts two or more refs, including `INDEX` and
30
+ `WORKTREE`, matching CLI `--git-diff`.
27
31
 
28
32
  Branch exploration uses committed content. Dirty index and worktree changes
29
33
  are reported separately and are never silently folded into a commit snapshot.
@@ -61,6 +65,8 @@ engines, options, limits, provenance, and stale-result rules.
61
65
 
62
66
  ## Move into Present
63
67
 
64
- **Present Current Branch** creates a guided tour of the committed branch range.
65
- **Open Authored Tour…** opens a checked and compiled `.bygone` narrative in
68
+ **Present Current Branch** creates a guided tour of the committed branch range;
69
+ **Present Branch or Ref…** accepts the same optional head and base refs as the
70
+ CLI.
71
+ **File → Open Authored Tour…** opens a checked and compiled `.bygone` narrative in
66
72
  its own presentation window, leaving the Explore window available.
@@ -25,28 +25,28 @@ renderer does not make every workflow appropriate in every host.
25
25
 
26
26
  | User question | Discovery and launch | Session/source | Mutability and lifecycle | Maturity | Verification |
27
27
  | --- | --- | --- | --- | --- | --- |
28
- | Start without source material | CLI `bygone` outside Git; blank startup | Blank multi-diff | Writable untitled panels; normal undo and dirty state | Core | `testBlankMultiDiffStartsWithTwoEditablePanels` |
28
+ | Start without source material | File → New Blank Comparison; CLI `bygone` outside Git; blank startup | Blank multi-diff | Writable untitled panels; normal undo and dirty state | Core | `testBlankMultiDiffStartsWithTwoEditablePanels` |
29
29
  | Compare files | File → Compare Files; drag/drop; `bygone left right`; `--diff` | Files, two-way or multi-diff | Files are writable; save, reload, refresh, and external-change policy apply | Core | standalone smoke and multi-diff tests |
30
30
  | Compare directories | File → Compare Directories; drag/drop; two or more directory arguments | Directory comparison | Directory rows are read-only; writable file drill-down depends on source/review state | Core | directory smoke and directory-diff tests |
31
- | Follow one file or directory through Git | Git → View File or Directory History; one path; `--history` | Git commits plus supported index/worktree states | Commits are read-only; worktree/index provenance is explicit | Core | Git history and directory-history tests |
32
- | Compare named revisions | `bygone --git-diff <refs…>` | Git blobs/revisions | Read-only snapshots | Secondary; CLI discovery needs improvement | Git comparison tests |
33
- | Explore the current branch change | Git → Explore Current Branch Change; `bygone review` | Merge-base-to-tip branch inventory | Read-only review snapshots; dirty state is reported, not silently included | Core | branch comparison and review-path tests |
31
+ | Follow one file or directory through Git | File → View File or Directory History; one path; `--history` | Git commits plus supported index/worktree states | Commits are read-only; worktree/index provenance is explicit | Core | Git history and directory-history tests |
32
+ | Compare named revisions | Git → Compare Revisions; `bygone --git-diff <refs…>` | Git blobs/revisions | Read-only snapshots | Core | Git comparison tests and desktop menu contract |
33
+ | Explore a branch change | Git → Review Branch Change; `bygone review` | Merge-base-to-tip branch inventory for a selected head and optional base | Read-only review snapshots; dirty state is reported, not silently included | Core | branch comparison, review-path, and desktop menu tests |
34
34
  | Search comparison code | Edit → Find or Search Comparison | Active, visible, all loaded panels, unopened changed text snapshots, or one file's Git history | Search is read-only; history distinguishes content occurrence from introduction/removal; Replace requires the active writable model | Core | find, comparison-search, change-set-search, and history-search tests |
35
35
  | Search or safely replace in a filesystem tree | Edit → Search in Files; explicit directory root | System ripgrep 14+ with include/exclude, hidden, ignore, and result-limit controls | Search is read-only and cancellable; completed case-sensitive literal searches can build an exclusion-aware, revalidated, atomic replacement preview with guarded undo | Optional system capability | repository search/replace contracts, benchmark, and host-protocol tests |
36
36
  | Move through a multi-panel comparison | Strip buttons, panel headers, gutters, wheel, or `Alt+Arrow` | Active panel and adjacent pair | Does not change source identity | Core | focused-strip controller and standalone smoke tests |
37
37
  | Search an authored tour | Presenter search or `Cmd/Ctrl+Shift+F` | Authored narrative plus compiled base/head code snapshots | Read-only; narrative hits navigate scenes/steps and code hits preserve Return to tour | Core | tour-search and presenter-host tests |
38
38
 
39
- The File menu owns sources and persistence; Edit owns focused text operations;
40
- Git owns historical/revision questions; Present changes product area; Navigate
41
- owns movement within the current session; View owns display preferences; Window
42
- owns native window lifecycle. Developer fixtures appear only when Electron is
43
- not packaged.
39
+ File owns new/open/save lifecycle; Edit owns text operations and search; Git
40
+ owns revision and branch questions; Present changes product area; Navigate owns
41
+ movement within the current session, including history movement; View owns
42
+ display preferences; Window owns native window lifecycle. Developer fixtures
43
+ appear only when Electron is not packaged.
44
44
 
45
45
  ## Standalone Present and browser presenter
46
46
 
47
47
  | User question | Discovery and launch | Identity/provenance | Mutability | Maturity | Verification |
48
48
  | --- | --- | --- | --- | --- | --- |
49
- | Explain the current branch automatically | Present → Present Current Branch; `bygone present` | Committed merge-base-to-tip range | Read-only | Core | presentation launch and generated-tour tests |
49
+ | Explain a branch automatically | Present → Present Current Branch or Present Branch or Ref; `bygone present` | Committed merge-base-to-tip range for the current or selected head/base | Read-only | Core | presentation launch, generated-tour, and desktop menu tests |
50
50
  | Open an authored walkthrough | Present → Open Authored Tour; `bygone present --tour`; VS Code hand-off | Manifest range, scene, step, exact source anchor | Read-only | Core | reproducible example and tour validation tests |
51
51
  | Listen to a generated or authored tour | Narrative Listen controls; Present → Listen to Tour | Existing manifest narrative segmented locally by scene/step and visible sentence | Read-only device TTS; voice/rate preferences remain local; continuous playback follows tour navigation and direct exploration pauses it | Core | narration model/controller and presenter-host tests |
52
52
  | Explain a real stack | `stacked-diff` scene | Exact real Git revisions per panel | Read-only | Advanced | `examples/stacked-diff.bygone` |