kitchen_ui/lib.rs
1//! The neuro-kitchen apps' shared UI (GPUI through gpui-kit).
2//!
3//! - [`theme`]: design tokens (spacing, type, radii, pane gaps), the shared grey neutrals, the
4//! app's accent [`theme::Palette`] or the user's own ([`theme::Rgb`]), light and dark;
5//! [`theme::apply`] hands them to gpui-kit.
6//! - [`widgets`]: accent picker, section, labelled row, slider, dropdown, stepper, dragged
7//! number, swatch, empty state, icon button; code view (highlighting, errors), diff view (text
8//! or JSON, Accept / Reject per hunk), text view (light markdown).
9//! - [`diff`]: the line diffs the diff view shows, as plain data.
10//! - [`chat`]: the agent chat pane (conversation and prompt; the app supplies the agent).
11//! - [`param_editor`]: the parameters of any op that serializes to JSON, editable.
12//! - [`icons`]: what an app ships (its icon set and files) and the test that every icon its code
13//! names is shipped.
14//!
15//! Start-up: `gpui_kit::init(cx)`, then `theme::use_look(Look::new(MY_PALETTE), cx)`; open
16//! windows with `gpui_kit::open_window`. `cargo run -p kitchen-ui --example gallery` shows every
17//! widget.
18
19#![warn(missing_docs)]
20
21pub mod chat;
22pub mod diff;
23pub mod icons;
24pub mod param_editor;
25pub mod theme;
26pub mod widgets;
27
28pub use param_editor::{Commit, ParamEditor, Params};
29pub use theme::{Look, Palette, Rgb};