Files
gpui-native-kit/docs/CHECKLIST.md
T
reya 5a35a3c5f5
CI / check (push) Canceled after 0s
CI / check (pull_request) Canceled after 0s
clean up
2026-11-03 10:51:51 +07:00

3.6 KiB

gpui-native-kit — checklist

The living queue. Every element lands through the review gate: API sketch → implementation → tests → gallery panel → review. Conventions and rules live in AGENTS.md; the gpui pin lives in the workspace Cargo.toml (zed @ ec86047d67acd6fddd81392f44ed6ebcc6e7f531). signed is the first downstream consumer; its screens drive the order.

Next

  • Spinner (core) — the loading ring, indeterminate + determinate. Replaces Tab::busy's placeholder ring; land before signed wires repo loading into dock tabs.
    • API sketch
    • Implementation (theme-baked, motion inline per AGENTS.md)
    • Tests
    • Gallery panel
    • Review

Queue — to follow

  • Field wrapper (M9) — label / description / error around any control; the settings dialog.
  • Tag (M10) — removable server and relay entries.
  • Status dot (M11) — sync-drift beads on rows.
  • Combobox (M12) — type-to-filter pickers; adopt gpuikit's on_create / keep_unmatched blur modes.
  • Command palette (M13) — filtered actions; the matcher stays caller-owned.
  • VirtualList (M14, data) — thin uniform_list binding for commit histories and the inbox.
  • Code view (M15, opens crates/editor) — tree-sitter highlighting.
  • Diff view (M16, editor).
  • Markdown view (M17, editor) — only if a consumer confirms.
  • Pickers — Calendar / DatePicker, TimeField, ColorPicker (decide at unit time).
  • Layout follow-ups — persistence, pane zoom, bottom dock, collapse-to-edge; each waits for a real consumer.
  • Platform screenshot passes — a Linux run (Omarchy / KDE / GNOME) and the first Windows hardware build, side by side with macOS.

Landed

theme (crates/theme)

  • Theme engine — resolve overlay chain, OKLCH accent ramps, presets, per-platform elevation stacks, titlebar_height, size table (Sizable)
  • Platform sources — macOS (NSColor), Windows 11 (UISettings), GNOME (portal), KDE (kdeglobals), Omarchy (colors.toml), neutral fallback; live watchers for each

icons (crates/icons)

  • IconRole + bundled Lucide fallback, Segoe Fluent codepoints (Windows), freedesktop theme walker (Linux/Omarchy)

core (crates/core)

  • Button, Checkbox, Switch, Radio + RadioGroup, Toggle, Link, Slider, Progress, Avatar (image + seeded pixel-art fallback)
  • Input — single-line, password with reveal, multiline, undo/redo, actions + key context, caret blink
  • ScrollArea, Popover, Menu, Tooltip, Dialog / AlertDialog, Toast, Alert + alerts stack
  • Select, Segmented, ContextMenu, EmptyState, Badge

data (crates/data)

  • List, Tree, Tabs (underline default + signed pill), Sidebar (scrolls internally)

layout (crates/layout)

  • ResizeHandle
  • Shell — left/right sidebar regions + center, application-owned LayoutState
  • Window frame — client-side decorations under Decorations::Client
  • Dock — pane tree, panel registry, tab context menus
  • Drag-to-split — PanelDrag payload, edge + center drop zones
  • Titlebar + window controls — app-owned window dragging, per-platform buttons, Theme::titlebar_height
  • Sidebar auto-open — PanelDescriptor::right_sidebar + DockSidebar
  • Component browser — the shell with the catalog in its sidebar, every element a dock panel