Gregor Lohaus and Claude Opus 4.8
e99a6ee33e
split snapshot profiler bucket into update vs marshal
...
The snapshot bucket lumped ghostty's native dirty-state update together with
the Java-side cell marshaling. Time them separately to see which half of the
~7ms/frame snapshot cost (now the dominant frame cost after the detectShift
hoist) is the real target.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-05-31 21:18:07 +02:00
Gregor Lohaus and Claude 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 Lohaus and Claude 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