Commit Graph

99 Commits

Author SHA1 Message Date
Gregor Lohaus
4923ea5527 hoist row hash out of detectShift delta scan
rowFingerprint(row) is invariant across the delta loop but was recomputed for
every candidate delta, making shift detection O(rows^2 x cols) on large changes
(full-screen scroll). Precompute each changed row's hash once, dropping it to
O(rows x cols). Profiling showed fingerprint hashing at ~74% of frame time under
heavy scroll, dominated by this loop.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 21:09:54 +02:00
Gregor Lohaus
1f7394d75a add opt-in render profiler instrumentation
Gated behind -Djprototerm.profile=true (or JPROTOTERM_PROFILE=1), accumulates
per-frame nanos into snapshot/fingerprint/draw/frame-total buckets and dumps
to stderr every N renders. Splits the three suspected render costs: native
snapshot marshaling, fingerprint hashing, and canvas draw recording.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 21:04:00 +02:00
Gregor Lohaus
50641d0a6a per-row cell-run repaint 2026-05-31 20:12:43 +02:00
Gregor Lohaus
51f64e7ca8 cache hidden panes 2026-05-31 19:56:09 +02:00
Gregor Lohaus
528afafcda no next floating pane keyboard shortcut 2026-05-31 19:52:24 +02:00
Gregor Lohaus
093a09da39 frame classifiaction not needed anymore 2026-05-31 19:46:55 +02:00
Gregor Lohaus
59ab33bc01 dont rerender full on every layout frame 2026-05-31 19:45:38 +02:00
Gregor Lohaus
d8447d9e29 port feasable performance improvements 2026-05-31 19:38:06 +02:00
Gregor Lohaus
dba6474491 apply race condition fix 2026-05-31 19:30:36 +02:00
Gregor Lohaus
743f312921 move unchanged rows 2026-05-31 18:55:53 +02:00
Gregor Lohaus
3054b3ec77 cleanup 2026-05-31 18:51:16 +02:00
Gregor Lohaus
2bcaf951df Render terminal rows as JavaFX nodes 2026-05-31 18:40:33 +02:00
Gregor Lohaus
beba14c3ea scene graph 2026-05-31 18:27:52 +02:00
Gregor Lohaus
f5562baf5f Merge branch 'refactor' 2026-05-31 16:27:21 +02:00
Gregor Lohaus
3017b99f87 recover pane 2026-05-31 16:24:43 +02:00
Gregor Lohaus
0958c93b4f recover tab 2026-05-31 16:23:36 +02:00
Gregor Lohaus
9c98d87783 recover abstract terminal renderer 2026-05-31 16:21:38 +02:00
Gregor Lohaus
76c731578f recover terminal metrics from helix buffer 2026-05-31 16:20:43 +02:00
Gregor Lohaus
95619f5b4c fuck did bad git reset hard to main, recovering from helix buffer 2026-05-31 16:19:37 +02:00
Gregor Lohaus
174cfc00d3 what is happening ?? 2026-05-31 16:15:37 +02:00
Gregor Lohaus
29e84c9830 remove unused old classes 2026-05-31 16:13:40 +02:00
Gregor Lohaus
a7baa08e68 add bin to gitignore 2026-05-31 15:45:55 +02:00
Gregor Lohaus
76f539d34a fix build error 2026-05-30 01:27:10 +02:00
Gregor Lohaus
ba884cd0a2 probably wrong fix 2026-05-30 01:23:16 +02:00
Gregor Lohaus
7dbbf89b27 non fix of clearing issue 2026-05-30 01:13:53 +02:00
Gregor Lohaus
e2850f067e readme update 2026-05-29 22:10:36 +02:00
Gregor Lohaus
022cf22463 tabbar, background coloring 2026-05-29 22:08:05 +02:00
Gregor Lohaus
250b182060 tabs 2026-05-29 21:41:25 +02:00
Gregor Lohaus
ebba6cc44f main pane splitting 2026-05-29 21:27:17 +02:00
Gregor Lohaus
4c3449129c no image caching, no transparency for performance 2026-05-29 21:18:16 +02:00
Gregor Lohaus
40d6287867 inverse bg 2026-05-29 20:37:16 +02:00
Gregor Lohaus
ff21bf3544 incremental render 2026-05-29 19:50:09 +02:00
Gregor Lohaus
c03d9245d0 remove .gradle 2026-05-29 13:01:11 +02:00
Gregor Lohaus
0915c649bd ignore .gradle 2026-05-29 13:00:19 +02:00
Gregor Lohaus
4a06a89400 update readme 2026-05-29 12:58:23 +02:00
Gregor Lohaus
4de2d31e91 clear env, dont inherit nix wrapper env 2026-05-29 12:51:45 +02:00
Gregor Lohaus
b98a18b49f f native image, just build a jar 2026-05-29 12:33:32 +02:00
Gregor Lohaus
08ad025f76 get rid of pty4j 2026-05-29 11:06:46 +02:00
Gregor Lohaus
c9fb8b5f0a pty4j meta 2026-05-29 10:43:04 +02:00
Gregor Lohaus
3b26a8d12c pty4j meta 2026-05-29 10:40:03 +02:00
Gregor Lohaus
f545375957 remove metadata here 2026-05-29 10:37:26 +02:00
Gregor Lohaus
224e8d0273 vm options 2026-05-29 10:32:35 +02:00
Gregor Lohaus
422b672dec metadata 2026-05-29 09:51:13 +02:00
Gregor Lohaus
2c7f71064c metadata 2026-05-29 09:48:28 +02:00
Gregor Lohaus
829eb66bbc gradle update script 2026-05-29 09:30:45 +02:00
Gregor Lohaus
8d36fbae35 fix jlibghostty metadata 2026-05-29 09:18:22 +02:00
Gregor Lohaus
f9454b28db super duper hacky shit 2026-05-29 00:05:09 +02:00
Gregor Lohaus
f75b8c29e0 super duper hacky shit 2026-05-28 23:52:23 +02:00
Gregor Lohaus
2816d99ce4 super duper hacky shit 2026-05-28 23:40:49 +02:00
Gregor Lohaus
a1e0c2b2d4 super duper hacky shit 2026-05-28 23:33:56 +02:00