From 4a404707463f9435184e6b05e487f26983bcb544 Mon Sep 17 00:00:00 2001 From: ddidderr Date: Sun, 11 Oct 2026 22:57:46 +0200 Subject: [PATCH] docs(rewrite): status after GTK port and terminal integration --- docs/rewrite/INTEGRATION_TODO.md | 5 +++-- docs/rewrite/STATUS.md | 11 ++++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/docs/rewrite/INTEGRATION_TODO.md b/docs/rewrite/INTEGRATION_TODO.md index 82f34b6..361e02a 100644 --- a/docs/rewrite/INTEGRATION_TODO.md +++ b/docs/rewrite/INTEGRATION_TODO.md @@ -6,7 +6,7 @@ Collected from agent reports; resolve during integration phases. - [ ] os `locale::ensure_locale` no-op → call setlocale from apprt-gtk (unsafe allowed) at startup, as Ghostty's global.zig does. - [ ] os `passwd` Flatpak branch needs termio Pty. - [ ] os `open::OpenUrlKind` → replace with core apprt action type. -- [ ] terminal crate: re-add deps on unicode/datastruct once those land. +- [x] terminal crate: re-add deps on unicode/datastruct once those land. - [ ] input: key_encode::Options / paste::Options from terminal modes (Zig `fromTerminal`) — in terminal or core. - [ ] input: `binding::set::EntryFormatter` must be implemented by config formatter. - [ ] config: clipboard_codepoint_map::Entry and CursorStyle are local copies → unify with terminal/formatter (font types are unified: canonical in ghostty-config, re-exported by ghostty-font). @@ -18,5 +18,6 @@ Collected from agent reports; resolve during integration phases. - [ ] input: ActionKey::docs() has extra trailing blank line for 4 actions (cli works around locally). - [ ] vt: x11_color lacks name listing with original case (cli re-parses rgb.txt). - [ ] apprt: Scrollbar/RendererHealth stand-ins → terminal/renderer types; core implements AppMailbox. -- [ ] terminal (after T4/T5/K1): Codex round 3 on notes/ghostty-terminal-pagelist-requests.md items 1,2,3,4,5,7 + append_grapheme dirty + clone_partial_row_between; then remove Screen/Terminal workarounds. Items 6 and the two T3 test items are resolved by the parity pass. +- [x] terminal (after T4/T5/K1): Codex round 3 on notes/ghostty-terminal-pagelist-requests.md items 1,2,3,4,5,7 + append_grapheme dirty + clone_partial_row_between; then remove Screen/Terminal workarounds. Items 6 and the two T3 test items are resolved by the parity pass. - [ ] tmux viewer wiring into termio stream handler (see notes/ghostty-terminal-search-tmux.md); renderer sets search_viewport_dirty. +- [ ] apprt-gtk: stubs toggle_visibility/float_window/secure_input/close_all_windows; inspector no-op; cgroup wait loop duplicated with termio; GLArea framebuffer id must be queried by renderer; layer-shell lib load order. diff --git a/docs/rewrite/STATUS.md b/docs/rewrite/STATUS.md index c5dcbaa..93983ed 100644 --- a/docs/rewrite/STATUS.md +++ b/docs/rewrite/STATUS.md @@ -17,18 +17,18 @@ Legend: ⬜ todo · 🟨 in progress · ✅ done (gate passed, committed) · ⚠ | F1 | font engine (freetype/fontconfig/harfbuzz, Collection, SharedGrid) | sonnet | ✅ | run.zig + SharedGridSet deferred (F2) | | | IO1 | termio: pty, Command, shell integration, terminfo | sonnet | ✅ | | | C1 | cli actions | sonnet | ✅ | list-fonts, show-face, new-window deferred | | -| T2 | terminal: Screen, ScreenSet, Tabstops, Selection | sonnet | ✅ | 3 tests ignored pending pagelist | | +| T2 | terminal: Screen, ScreenSet, Tabstops, Selection | sonnet | ✅ | | | | R1 | renderer: OpenGL base, shaders, shadertoy, size, cursor | sonnet | ✅ | | | A0 | apprt contract types | sonnet | ✅ | | -| G1 | apprt-gtk (GTK4/libadwaita app) | sonnet | 🟨 | against CoreApp/CoreSurface traits | -| T3 | terminal: Terminal + stream_readonly + StringMap | sonnet | ✅ | kitty/tmux hooks stubbed | | +| G1 | apprt-gtk (GTK4/libadwaita app) | sonnet | ✅ | against CoreApp/CoreSurface traits; untested interactively | +| T3 | terminal: Terminal + stream_readonly + StringMap | sonnet | ✅ | tmux viewer not wired | | | F2 | font: run.zig, SharedGridSet, config integration, terminal shaper tests | sonnet | ✅ | | -| K1 | terminal: kitty graphics image/storage/unicode/render/exec | sonnet | ✅ | not wired into Screen/Terminal yet | | +| K1 | terminal: kitty graphics image/storage/unicode/render/exec | sonnet | ✅ | wired (TI) | | | T4 | terminal: render state, highlight, formatter | sonnet | ✅ | | | T5 | terminal: search + tmux viewer | sonnet | ✅ | tmux viewer not wired to termio yet | | | IO2 | termio: Exec, Termio, Thread, stream_handler | sonnet | 🟨 | | | R2 | renderer: generic, cell, row, link, State, Overlay, image, Thread | sonnet | 🟨 | | -| TI | terminal integration: kitty wiring + PageList requests, remove workarounds | codex astra | 🟨 | | +| TI | terminal integration: kitty wiring + PageList requests, remove workarounds | codex astra | ✅ | 1252 tests | ## Log - 2026-10-11: Phase 0 complete; Phase 1 launched. @@ -41,3 +41,4 @@ Legend: ⬜ todo · 🟨 in progress · ✅ done (gate passed, committed) · ⚠ - 2026-10-11: Terminal committed (849 tests). T4, T5, IO2 launched. - 2026-10-11: PageList parity merged (913 tests, 0 ignored). T4 committed; R2 launched. - 2026-10-11: T5, K1 committed (1243 terminal tests). Codex TI launched. +- 2026-10-11: GTK runtime committed; terminal integration pass done (1252 tests, 0 ignored).