Skip to main content

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//! - [`timeline`]: an episodic memory of the work: what the person and the agent did over time,
13//!   summarised into a few episodes, with the provenance of each action.
14//! - [`icons`]: what an app ships (its icon set and files) and the test that every icon its code
15//!   names is shipped.
16//!
17//! Start-up: `gpui_kit::init(cx)`, then `theme::use_look(Look::new(MY_PALETTE), cx)`; open
18//! windows with `gpui_kit::open_window`. `cargo run -p kitchen-ui --example gallery` shows every
19//! widget.
20
21#![warn(missing_docs)]
22
23pub mod chat;
24pub mod diff;
25pub mod icons;
26pub mod param_editor;
27pub mod theme;
28pub mod timeline;
29pub mod widgets;
30
31pub use param_editor::{Commit, ParamEditor, Params};
32pub use theme::{Look, Palette, Rgb};