Commit graph

  • 26b27ed69b Extract the patch-toggle back end out of CommitFilesController Stefan Haller 2026-06-19 12:51:35 +0200
  • e074c40cc9 Session notes: first interactive feedback on the gutter (4 of 5 fixed) Stefan Haller 2026-06-19 11:58:15 +0200
  • c14d9432cb Session notes: toggle refreshes normally; scroll preserved for free Stefan Haller 2026-06-19 10:47:43 +0200
  • 115582e9bc Session notes: step 6 built — inclusion gutter + patch toggle (6a/6b) Stefan Haller 2026-06-19 10:13:19 +0200
  • 67ba1899b4 Build a custom patch from the focused main view of a commit's files Stefan Haller 2026-06-19 09:43:36 +0200
  • 2fee7653f2 Extract stageRange from stageSelectedLine in the main view Stefan Haller 2026-06-19 09:28:31 +0200
  • 4c123f9414 Add identity-based line accessors to PatchBuilder Stefan Haller 2026-06-19 09:27:45 +0200
  • 12523c8a20 Add an on-demand inclusion gutter to gocui views Stefan Haller 2026-06-19 09:17:02 +0200
  • 01882cf2fd Session notes: step 6 design — the on-demand inclusion gutter Stefan Haller 2026-06-19 09:11:54 +0200
  • 22e1c82405 Session notes: prototype-branch callout; step 5 signed off; step 6 next Stefan Haller 2026-06-19 08:07:48 +0200
  • 2421e19f5d Session notes: reveal reworked to preserve change-line ordinal Stefan Haller 2026-06-19 07:52:55 +0200
  • cf89ef9d4f Preserve the change-line ordinal in the post-stage reveal Stefan Haller 2026-06-19 07:52:26 +0200
  • 133dabb394 Session notes: line-mode reveal advances to next line, not next block Stefan Haller 2026-06-18 21:31:23 +0200
  • f461378598 Advance to the next change line, not the next block, in the reveal Stefan Haller 2026-06-18 21:31:09 +0200
  • df09df1940 Hack: inset the selection highlight by 3 in the main view Stefan Haller 2026-06-18 21:21:25 +0200
  • 377a352075 Session notes: rebased onto wrapped-fill branch; blank-line metadata + reveal worktree-match fixes Stefan Haller 2026-06-18 20:47:34 +0200
  • dcdc919a0e Match the post-stage reveal by worktree line, not old-file line Stefan Haller 2026-06-18 20:46:44 +0200
  • 131a315b7f Keep a metadata-carrying cell for a blank changed line Stefan Haller 2026-06-18 19:07:22 +0200
  • 2088408f43 Session notes: step 5 part 2 done — focus follows the acted-on side to the right pane Stefan Haller 2026-06-18 15:44:05 +0200
  • 05c7b82a84 Follow the acted-on side to the right pane after staging from the main view Stefan Haller 2026-06-18 15:42:54 +0200
  • a2e1254a96 Let the post-stage reveal target a different pane than the one acted on Stefan Haller 2026-06-18 15:24:45 +0200
  • e58f6d43ad Session notes: part 1 signed off; part-2 focus switch unifies with only-staged unstage bug; deleted-file note Stefan Haller 2026-06-18 14:59:04 +0200
  • c2dc9c329f Session notes: step 5 part 1 (post-stage reveal) done; part 2 (empty-pane focus switch) scoped Stefan Haller 2026-06-18 14:35:55 +0200
  • 4882760690 Advance the selection to the next change after staging from the main view Stefan Haller 2026-06-18 14:32:24 +0200
  • 01b2f621f9 Session notes: step 3-4 signed off (SxS works incl. difftastic); unstage focus issues -> step 5 Stefan Haller 2026-06-18 14:10:57 +0200
  • 8b04f49c2b Session notes: step 4 done (SxS multi-record + multi-file staging) Stefan Haller 2026-06-18 13:41:07 +0200
  • 4a33b42d19 Stage both sides of a side-by-side row from the focused main view Stefan Haller 2026-06-18 13:40:09 +0200
  • a5a0506913 Stage a selection spanning several files from the focused main view Stefan Haller 2026-06-18 13:32:36 +0200
  • ec1bdaafb3 Session notes: record session-13 interactive feedback on step 3 Stefan Haller 2026-06-18 12:35:47 +0200
  • 3acbaac361 Session notes: step 3 done (range + hunk selection + range staging) Stefan Haller 2026-06-18 11:56:25 +0200
  • 26a784ef74 Select the first hunk when focusing the main view in hunk mode Stefan Haller 2026-06-18 11:54:53 +0200
  • 4b57cc9efe Select and stage ranges and hunks from the focused main view Stefan Haller 2026-06-18 11:50:06 +0200
  • ee0077a157 Session notes: step 3 design settled, ViewSelectionController fold done Stefan Haller 2026-06-18 10:19:11 +0200
  • 8c7a41c559 Fold ViewSelectionController into MainViewController Stefan Haller 2026-06-18 10:13:32 +0200
  • 843543b596 Session notes: plan to merge staging into the main view, and step 1 Stefan Haller 2026-06-18 09:28:19 +0200
  • 494b9ce7cf Stage the selected diff line from the focused main view Stefan Haller 2026-06-18 09:28:13 +0200
  • d23fe24100 Extract diffSplitState from the files diff renderer Stefan Haller 2026-06-18 09:20:13 +0200
  • 9bb070be76 Session notes: the context-change flicker, pinned and fixed Stefan Haller 2026-06-17 07:41:26 +0200
  • fced2c616a Scan for the restore target before revealing the new content Stefan Haller 2026-06-17 07:34:57 +0200
  • 7f8c6f9a89 Session notes: the O(n2) diff-line scan, batched to O(n) Stefan Haller 2026-06-17 07:20:18 +0200
  • ecc8b177fa Resolve diff lines in one batch pass instead of once per line Stefan Haller 2026-06-17 06:54:44 +0200
  • b2685cae95 Add gocui accessor for the newly-loaded rows of an off-screen render Stefan Haller 2026-06-17 06:40:12 +0200
  • 9a5c1ac82d Add a batch buffer-diff parser that parses each file section once Stefan Haller 2026-06-17 06:39:33 +0200
  • 3c9a30c620 Drop f/h types again Stefan Haller 2026-06-17 06:11:02 +0200
  • 39556e80f3 Keep the middle line stable across a context-size change Stefan Haller 2026-06-16 16:53:58 +0200
  • 4c6af62424 Select the line in the middle of the content, not the viewport Stefan Haller 2026-06-16 16:53:54 +0200
  • 9db3094e80 Drop the synthesized-deletion limitation from the OSC spec Stefan Haller 2026-06-13 22:47:17 +0200
  • 1eb032abe8 Revise the OSC spec draft after the first review pass Stefan Haller 2026-06-13 22:18:57 +0200
  • a1eec2f3b6 Session notes: alt/shift-click a diff line to open it in the editor Stefan Haller 2026-06-11 19:14:25 +0200
  • 4b5858cf7a Alt- or shift-click a diff line to open it in the editor Stefan Haller 2026-06-11 19:07:09 +0200
  • 5b0091f650 Extract editDiffLine from editLine Stefan Haller 2026-06-11 15:44:20 +0200
  • aa4ff00898 Let a mouse binding opt into firing while a popup panel is focused Stefan Haller 2026-06-11 15:44:00 +0200
  • a31755de22 Rename the diff-line-metadata OSC from 456 to 1717 Stefan Haller 2026-06-11 08:36:54 +0200
  • 4572f5ebfb Draft the diff-line-metadata OSC spec and settle the OSC number Stefan Haller 2026-06-11 07:37:48 +0200
  • 4701aca3fe Design notes: pager-switch scroll preservation (a new diff-line consumer) Stefan Haller 2026-06-10 19:55:55 +0200
  • de8b19c247 Preserve the diff scroll position when switching pagers Stefan Haller 2026-06-10 19:47:32 +0200
  • 0cceaecfda Design notes: delta wrapped-row metadata bug now fixed Stefan Haller 2026-06-10 19:28:04 +0200
  • 08f2105636 Design notes: wrapped rows must carry metadata (a spec correction) Stefan Haller 2026-06-10 18:45:30 +0200
  • 3189c7535a Design notes: record the difftastic OSC metadata prototype findings Stefan Haller 2026-06-10 18:11:07 +0200
  • b87607a5b5 .claude/settings.json: allow access to difftastic repo Stefan Haller 2026-06-10 18:11:06 +0200
  • d4cdeca8ca Design notes: record the side-by-side delta prototype findings Stefan Haller 2026-06-10 17:01:10 +0200
  • 312d5710c2 .claude/settings.json: allow access to delta repo Stefan Haller 2026-06-10 16:14:02 +0200
  • 1479a51cb9 Design notes: record the two showcase consumers (session 7) Stefan Haller 2026-06-10 15:25:00 +0200
  • a967fc3099 Navigate the focused main view by file and hunk Stefan Haller 2026-06-10 15:13:06 +0200
  • 3b6568cf9f Preserve the diff scroll and selection when the context size changes Stefan Haller 2026-06-10 15:06:14 +0200
  • ef01d66412 Extract the identity-based restore into a context-neutral helper Stefan Haller 2026-06-10 15:04:25 +0200
  • ed72851579 Reset the scroll to the top at first paint, not when the task starts Stefan Haller 2026-06-10 13:41:09 +0200
  • af147d49f7 Lock the view while reading viewLines on mouse move Stefan Haller 2026-06-10 11:11:21 +0200
  • 35c3bbdee5 Design notes: record the identity-based restore (part 3, session 6) Stefan Haller 2026-06-10 08:43:56 +0200
  • 63b794b278 Return to the focused main view when escaping the staged half too Stefan Haller 2026-06-10 08:43:49 +0200
  • d3bf88c52c Restore the focused main view by patch identity on escape Stefan Haller 2026-06-10 08:23:23 +0200
  • a24196077d Add gocui accessors for scanning a loading off-screen render Stefan Haller 2026-06-10 07:40:38 +0200
  • cfe356b08d Resolve a diff line's identity from a content snapshot, not the live view Stefan Haller 2026-06-10 07:38:41 +0200
  • 239426d46b Design notes: record the stopped-task EOF-finalize bug and its fix Stefan Haller 2026-06-09 23:12:06 +0200
  • 0e3d3d3182 Don't run end-of-input handling for a render that was stopped Stefan Haller 2026-06-09 23:11:25 +0200
  • 63dac0d77d Design notes: escalate the escape/autoRefresh race and record flicker-avoidance limits Stefan Haller 2026-06-09 17:13:05 +0200
  • 6dead7cdb4 Design notes: record the scrollbar regression fix (hold the height during load) Stefan Haller 2026-06-09 14:20:28 +0200
  • 600b3eeae4 Design notes: record the scrollbar regression and the 10s-refresh vs restore race Stefan Haller 2026-06-09 13:35:11 +0200
  • 80c82d4bb4 Design notes: record the off-screen render replacing the two flicker patches Stefan Haller 2026-06-09 12:43:37 +0200
  • b4fb49acce Render async content into an off-screen buffer and swap it in Stefan Haller 2026-06-09 12:41:47 +0200
  • 34566357f4 Revert "Stop mapping stale-tail view lines to the wrong buffer line" Stefan Haller 2026-06-09 11:22:55 +0200
  • 45af0aac30 Revert "Hold the placeholder until first paint when restoring a scroll position" Stefan Haller 2026-06-09 11:21:37 +0200
  • 0d7d16df19 Make the buffer-writing methods operate on a viewBuffer Stefan Haller 2026-06-09 11:11:48 +0200
  • 64e3d3e049 Bundle a view's cell buffer and write state into a viewBuffer Stefan Haller 2026-06-09 11:08:23 +0200
  • d8c58ef007 Design notes: record the §11 race fixes as implemented (pending interactive verification) Stefan Haller 2026-06-08 11:05:57 +0200
  • 91585c534f Hold the placeholder until first paint when restoring a scroll position Stefan Haller 2026-06-08 10:35:00 +0200
  • 23474716ad Restore the focused main view's selection via the re-render task, not a post-hoc ReadToEnd Stefan Haller 2026-06-08 10:29:33 +0200
  • 3af439b17f Design notes: characterize the §11 timing races (bounded vs fundamental) Stefan Haller 2026-06-08 10:15:51 +0200
  • fb4f7aef06 Design notes: record the §8 staleness fix and the remaining #1 atomicity constraint Stefan Haller 2026-06-08 09:57:02 +0200
  • e3214a34dd Stop mapping stale-tail view lines to the wrong buffer line Stefan Haller 2026-06-08 09:55:58 +0200
  • 93286c6a93 Demonstrate that a stale-tail view line maps to the wrong buffer line Stefan Haller 2026-06-08 09:54:44 +0200
  • 60debda326 Unify the view-line→buffer-line readers onto one helper Stefan Haller 2026-06-08 09:53:40 +0200
  • ae3fe52cd1 Design notes: identity-based escape restore + plan to solve the three entangled problems Stefan Haller 2026-06-08 09:12:22 +0200
  • 36aefdc454 Design notes: record the #2 prototype as built & verified end-to-end Stefan Haller 2026-06-07 18:20:40 +0200
  • e6bfb2c720 Use pager-emitted OSC diff metadata as the highest-fidelity line-info backend Stefan Haller 2026-06-07 17:44:16 +0200
  • 00df5177e5 gocui: parse OSC 456 per-line diff metadata and attach it per cell Stefan Haller 2026-06-07 17:44:07 +0200
  • 0e35ebbb55 Design notes: pin the #2 v1 wire format and record the delta de-risk Stefan Haller 2026-06-07 17:32:24 +0200
  • 6a14634040 Design notes: resolve #1's open questions and correct the coverage from verification Stefan Haller 2026-06-06 17:13:51 +0200
  • cf8e5fd27e Recover diff-line identity by parsing the buffer, behind a swappable seam Stefan Haller 2026-06-06 15:38:43 +0200
  • 165afd4652 Add View.BufferLineForViewLine to map a view line to its buffer line Stefan Haller 2026-06-06 15:31:39 +0200