Commit Graph
99 Commits
Author SHA1 Message Date
Gregor LohausandClaude Opus 4.8 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 LohausandClaude Opus 4.8 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
Gregor Lohaus 3612de46bd super duper hacky shit 2026-05-28 23:29:09 +02:00
Gregor Lohaus d588eb75a6 super duper hacky shit 2026-05-28 23:25:28 +02:00
Gregor Lohaus 7b8d30a058 super duper hacky shit 2026-05-28 23:20:18 +02:00
Gregor Lohaus 96a752566b super duper hacky shit 2026-05-28 22:57:08 +02:00
Gregor Lohaus 6ebf710031 super duper hacky shit 2026-05-28 22:53:41 +02:00
Gregor Lohaus 3f102a9ede remove gl from nix to check how linking fails 2026-05-28 22:49:59 +02:00
Gregor Lohaus 57f97e4119 remove gl from nix to check how linking fails 2026-05-28 22:46:07 +02:00
Gregor Lohaus 163c7b7279 those good damn graphics libraries :(((( 2026-05-28 22:37:42 +02:00
Gregor Lohaus 8669de2d32 those good damn graphics libraries :(((( 2026-05-28 22:31:47 +02:00
Gregor Lohaus a1717438e4 gradle settings 2026-05-28 22:18:59 +02:00
Gregor Lohaus d14fa5c1cb permission hack 2026-05-28 22:11:01 +02:00
Gregor Lohaus 6e1aff6200 perl dep 2026-05-28 22:10:23 +02:00
Gregor Lohaus 6e4ddbf9df patch with perl 2026-05-28 22:09:45 +02:00
Gregor Lohaus ee127fd006 patch gluon 2026-05-28 22:08:58 +02:00
Gregor Lohaus 34ae351431 impure hack 2026-05-28 22:03:45 +02:00
Gregor Lohaus 191ec6d0e0 add gluon substrate as flake input 2026-05-28 21:57:10 +02:00
Gregor Lohaus 19f20a4039 add gluon substrate as flake input 2026-05-28 21:55:40 +02:00
Gregor Lohaus 0698016a65 add gluon substrate as flake input 2026-05-28 21:54:18 +02:00
Gregor Lohaus 0a84ec720a fix gradle deps, gradle task 2026-05-28 21:48:10 +02:00
Gregor Lohaus e3405fee48 deps.json for gradle from nix 2026-05-28 21:42:26 +02:00
Gregor Lohaus 380996fe50 gluon java 2026-05-28 21:37:41 +02:00
Gregor Lohaus c7f734bf64 flake 2026-05-28 21:33:37 +02:00
Gregor Lohaus 80cd318c1c scrollback editor shortcut 2026-05-28 13:53:44 +02:00
Gregor Lohaus 7dfff664fc preserve image aspect ratio 2026-05-28 13:41:27 +02:00
Gregor Lohaus 1665dcfaae images work 2026-05-28 13:37:18 +02:00
Gregor Lohaus cf218e2afd scrollback 2026-05-28 12:48:28 +02:00
Gregor Lohaus f07e524fbb pretty good 2026-05-28 02:07:44 +02:00
Gregor Lohaus a3f4878fc7 stacking 2026-05-28 00:33:38 +02:00
Gregor Lohaus 82cc7f4729 graal metadata bullshit 2026-05-27 16:27:02 +02:00
Gregor Lohaus 9f8767bc88 remove deprecated drivers, expand jni metadata for graal 2026-05-27 16:25:23 +02:00
Gregor Lohaus 1ae1548db0 opengl drivers, jni metadata for javafx glass 2026-05-27 16:23:25 +02:00
Gregor Lohaus 4e9f1487cb fix x11 lib namnes 2026-05-27 16:22:13 +02:00
Gregor Lohaus b60dcd5918 include gtk deps 2026-05-27 16:20:31 +02:00
Gregor Lohaus addeed6f30 default to graphics accelaration 2026-05-27 16:18:04 +02:00
Gregor Lohaus a2de5118c1 avoid glx es2 setup 2026-05-27 16:15:13 +02:00
Gregor Lohaus 194a6556c0 avoid glx es2 setup 2026-05-27 16:13:15 +02:00
Gregor Lohaus c2a45ca17b enable native access for javafx 2026-05-27 16:10:24 +02:00
Gregor Lohaus 824c018b92 fix reflection config for graal 2026-05-27 16:08:38 +02:00
Gregor Lohaus 2449d9e7af fix Main 2026-05-27 16:05:48 +02:00
Gregor Lohaus 1eb21fcc77 fix meta inf for graal 25 2026-05-27 16:04:10 +02:00
Gregor Lohaus 54a2d23fab gradle deps via nix 2026-05-27 16:03:05 +02:00
Gregor Lohaus 2dbd3a8759 gradle deps via nix 2026-05-27 16:02:17 +02:00
Gregor Lohaus 791cb5a569 gradle deps via nix 2026-05-27 16:01:16 +02:00
Gregor Lohaus 734ecad3b1 gradle deps via nix 2026-05-27 16:00:00 +02:00
Gregor Lohaus 5552974e99 gradle deps via nix 2026-05-27 15:59:10 +02:00
Gregor Lohaus ea13af63a6 gradle deps via nix 2026-05-27 15:57:53 +02:00
Gregor Lohaus 38486df66b gradle deps via nix 2026-05-27 15:54:19 +02:00
Gregor Lohaus 447b02af6c prever gradle 9 2026-05-27 15:48:37 +02:00
Gregor Lohaus 332f4d7b3b init 2026-05-27 15:42:31 +02:00