Files
signed/docs/gpui-native-kit-gaps.md
T
reya c32030cf21
Rust / build (macos-latest, stable) (push) Waiting to run
Rust / build (ubuntu-latest, stable) (push) Waiting to run
Rust / build (windows-latest, stable) (push) Waiting to run
Rust / build (macos-latest, stable) (pull_request) Waiting to run
Rust / build (ubuntu-latest, stable) (pull_request) Waiting to run
Rust / build (windows-latest, stable) (pull_request) Waiting to run
extract workspace crates and switch to gpui-native-kit
2026-11-11 19:04:36 +07:00

40 lines
2.3 KiB
Markdown

# gpui-native-kit gaps
Known Signed features the kit does not currently support. Recorded instead of
modifying the kit or reimplementing a parallel mechanism.
1. **Custom themes.** `Signed Light`/`Signed Dark`, theme registry names, font
sizes, radii, focus ring, and shadows are removed. The kit derives colors,
radii, fonts, and chrome from the OS; `AppearanceMode` is preserved through
`set_mode_override`/`follow_system`.
2. **Tab bar navigation.** The previous/next tab buttons and
`tab_bar.hide_navigation_buttons` are removed; the kit tab strip has none.
3. **Traffic-light placement.** Custom macOS traffic-light position and the 44px
tab bar are removed. The kit uses `theme.titlebar_height` and a fixed 78px
traffic-light pad.
4. **Virtual list.** The kit has no data-driven virtual list. Screens keep
`gpui::uniform_list` for fixed-height lists and `ScrollArea` for the Inbox.
5. **Editable code field.** The kit code view is read-only and supports four
grammars. Signed only previews files read-only; other extensions render as
plain text.
6. **Hunk-only diffs.** Kit `DiffViewState` needs the full old and new texts;
`CommitDiff` carries hunks only. The custom hunk rows are retained.
7. **Tree data.** The kit tree is flat with caller-managed expansion, and has no
file glyph; folders use the folder role.
8. **Dynamic dock panels.** `DockState` has no unregister or `open_view` API.
Per-repository/per-entity panels register a builder keyed by a unique id and
stay in the builder map. No dock persistence, zoom, or bottom/right
placement; splits only.
9. **Dialogs.** Dialogs are elements mounted at the window root; there is no
`window.open_dialog`, dialog stack, or non-dismissible option. A single-slot
`DialogHost` is used, and the passphrase dialog ignores dismiss requests.
10. **Notifications.** The kit toast shows one toast at a time; backend errors
queue but only the current toast is visible.
11. **Segmented badges.** `Segmented` has no badge slot; filter counts fold
into labels.
12. **Combobox trigger.** `Combobox` has no custom trigger renderer; branch/tag
selectors lose the leading git icon and custom caret.
13. **Icons.** The built-in role set is limited. App-specific glyphs remain in
`assets::CustomIconName` through `IconNamed`; kit icons are unpainted
unless given a color.