perf/html-runs 1e6ecdb

2026-10-02

1e6ecdbtest(oracle): report oracle dump write errors GPG Verifiedperf/html-runs brice
1315cb1docs(perf): add a benchmark and profiling guide GPG Verifiedbrice
c6dd596fix(html): retain 240x80 encoder scratch and clear stale payload slots GPG Verifiedbrice
f49c70afix(html): keep long text runs on the column grid in Chromium GPG Verifiedbrice
9174bfdperf(html): skip unchanged rows before reading them and reuse frame pages GPG Verifiedbrice
cc11117fix(core): release CopyFrom storage when the source shrinks GPG Verifiedbrice
a41ec87fix(html): keep applyAll atomic and the merged cursor current GPG Verifiedbrice
4123601perf(html): encode rows as styled text runs (update schema v2) GPG Verifiedbrice
3fe3371fix(html): avoid size-hint overflow for MaxInt generated-bytes limit GPG Verifiedbrice
2ef4850fix(vt): address wrap-up review of the allocation pass GPG Verifiedbrice
f8f97befix(ansi): widen damage spans that split a wide rune GPG Verifiedbrice
86aa468fix(ansi): snapshot when rows outside the chosen scroll region moved GPG Verifiedbrice
4bd8450merge(perf): ansi renderer reusable shadow frames and row compare merge GPG Verifiedbrice
64a7a45test(ansi): property test comparing renderer shadow against clone-based reference GPG Verifiedbrice
1bbdfc6perf(ansi): compare whole retained rows before scroll applicability checks GPG Verifiedbrice
540cc0dmerge(perf): screen eviction scratch, kitty payload ownership and escape buffers merge GPG Verifiedbrice
748182ffix(ansi): drop committed shadow when a superseded draw is committed GPG Verifiedbrice
b0f008cfix(screen): make escape buffer reuse safe under re-entrant Write GPG Verifiedbrice
73481a8merge(perf): history tail reuse, style maps and row ID sets merge GPG Verifiedbrice
9dd2424fix(history): clear evicted tail cells, bound scratch maps, harden tests GPG Verifiedbrice
9d3b2c7fix(core): copy style cache fields in Frame.CopyFrom GPG Verifiedbrice
caaf0b1Merge branch 'perf/alloc-pass' into perf/ansi-shadow merge GPG Verifiedbrice
b58d93fmerge(perf): core frame style cache and row blanking merge GPG Verifiedbrice
178c6c5perf(screen): skip unused eviction copies and reuse Kitty escape buffers GPG Verifiedbrice
2234949perf(kittygraphics): decode base64 once and avoid payload copies GPG Verifiedbrice
efce2f7perf(history): recycle mutable tail storage and style sets across seals GPG Verifiedbrice
96f4900perf(history): detect duplicate row IDs without a per-ID map GPG Verifiedbrice
42b4cc2perf(ansi): reuse renderer-owned frame buffers instead of cloning per Prepare GPG Verifiedbrice
d71ada9feat(core): add Frame.CopyFrom and RowsEqual helpers GPG Verifiedbrice
9491156perf(core): cache last interned style and speed up row blanking GPG Verifiedbrice
bc3f988merge(perf): html renderer row and JSON allocations merge GPG Verifiedbrice
6bd019ctest(html): guard JSON encoder against update field drift GPG Verifiedbrice
b6d6950perf(html): remove per-row allocations and reflective JSON encoding in Prepare GPG Verifiedbrice
dca8245test(oracle): add differential oracle and isolate benchmark setup GPG Verifiedbrice

2026-09-27

8f2d811feat(vt): track kitty keyboard enhancement flags (#34) GPG Unverifiedbnema

2026-09-09

31cc24ffeat(html): add interactive browser renderer (#8) GPG Unverifiedbnema

2026-09-06

3c9eb0efix(screen): track cursor and autowrap modes (#30) GPG Unverifiedbnema

2026-09-05

8e4df5cperf(renderer): reuse cell styles and support downward scroll deltas (#29) GPG Unverifiedtag v0.5.1bnema
31affdechore: add .worktrees/ to gitignore (#28) GPG Unverifiedtag v0.5.0bnema
4a922d9feat(storage): compact terminal storage and bounded scrollback (#27) GPG Unverifiedbnema

2026-09-04

1ffae4cMerge pull request #10 from bnema/bump/go-1-27 merge GPG Unverifiedbnema
856c93echore: bump Go version to 1.27 GPG Verifiedbnema

2026-09-01

9689ecaMerge pull request #1 from bnema/dependabot/github_actions/actions/setup-go-7 merge GPG Unverifiedbnema

2026-08-27

baf7aeaMerge pull request #7 from bnema/fix/kitty-unidentified-response-leak merge GPG Unverifiedtag v0.4.2bnema
f53f75ffix(graphics): silence anonymous Kitty replies GPG Verifiedbrice

2026-08-26

03674e0Merge pull request #6 from bnema/fix/kitty-icat-detection merge GPG Unverifiedtag v0.4.1bnema
a67301cfix(graphics): validate placement scrolling GPG Verifiedbrice
47ca903fix(graphics): address wrap-up review findings GPG Verifiedbrice
2519bf3test(graphics): cover chunked compressed image stream GPG Verifiedbrice
3fd4793fix(graphics): scroll placements with terminal rows GPG Verifiedbrice

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 2

Tags 13

↑↓ moveenter openesc close