wip
This commit is contained in:
@@ -2,15 +2,23 @@
|
||||
|
||||
> **Status: Phase A is implemented** (on the working tree, uncommitted). The
|
||||
> app builds against `gpui-kit` (resolved 0.7.3 / gpui-pre 0.3.9), every UI
|
||||
> element comes from the kit, `crates/theme` is deleted, and `crates/ui` is a
|
||||
> utilities-only crate (`motion`, `typography`, `layout`, `styled` helpers,
|
||||
> `window_drag`). Two planned holdouts moved into app crates instead of being
|
||||
> reimplemented on kit parts: the chat message composition (→ `chat_ui::message`)
|
||||
> and the sidebar `Nav` row (→ `workspace::nav`). The panel-background-image
|
||||
> feature was dropped (per §8). Validation: `cargo check`, `cargo clippy` and
|
||||
> `cargo fmt` are clean workspace-wide, the desktop binary builds, and `ui`,
|
||||
> `workspace` compile for `wasm32-unknown-unknown` (the remaining web failures
|
||||
> are the pre-existing `auto_update` → `rustls` chain, present at HEAD).
|
||||
> element comes from the kit, and `crates/theme` is deleted.
|
||||
>
|
||||
> **Follow-up (this revision, also uncommitted):** the last custom modules in
|
||||
> `crates/ui` are gone — `motion`, `typography`, `layout` and `styled` were
|
||||
> deleted and every call site now reads gpui-kit tokens directly (`text_xs` /
|
||||
> `text_sm`, `cx.theme().radius` / `radius_lg`, `gap_2`, `Separator`). The
|
||||
> dock wears the previous skin again, ported from the `signed` reference
|
||||
> implementation onto the kit dock engine (`workspace::dock`: pill tabs, the
|
||||
> 44px bar that doubles as the title bar, window controls, collapse buttons,
|
||||
> chromeless sidebar group). The avatar with the pixel fallback is back
|
||||
> (`ui::Avatar`): user image when set, deterministic pixel art from the
|
||||
> profile/group seed otherwise, also as the image-load fallback. Desktop
|
||||
> traffic lights recenter for the 44px bar (`workspace::TAB_BAR_HEIGHT`).
|
||||
> Validation: `cargo check`, `cargo clippy` and `cargo fmt` are clean
|
||||
> workspace-wide and the desktop binary builds; the wasm32 check fails
|
||||
> identically before and after (pre-existing `state` → `gpui_tokio` and
|
||||
> `rustls` blockers, verified at HEAD).
|
||||
|
||||
Plan to move coop's custom UI elements onto [GPUI-Kit](https://gpui-kit.com)
|
||||
(`gpui-kit` 0.7.1), delete the custom theme implementation (`crates/theme`),
|
||||
@@ -219,14 +227,19 @@ site is mapped.
|
||||
`colors.rs`, `palette.rs`, `brand.rs`, `appearance.rs`, `paint.rs`,
|
||||
`color.rs`, `syntax.rs`, `notification.rs`, `scrollbar_mode.rs`,
|
||||
`platform_kind.rs`;
|
||||
move to `crates/ui` unchanged: `typography.rs` (`TextStyle`/`Typeset`,
|
||||
~200 call sites — retained deliberately as coop's type ladder),
|
||||
`layout.rs` (spacing constants, radius accessors), `geometry.rs`
|
||||
(`Edges`/`Side`/`AxisExt`), and the three `CLIENT_SIDE_DECORATION_*`
|
||||
constants;
|
||||
- end state: `crates/ui` is utilities-only — `motion.rs`, `typography.rs`,
|
||||
`layout.rs`, `geometry.rs`, the CSD constants and the combined asset
|
||||
source. Every element module is deleted; nothing custom is maintained;
|
||||
- the `typography`, `layout`, `styled` and `motion` modules were NOT kept:
|
||||
a follow-up revision removed them and adapted every call site to gpui-kit
|
||||
tokens — the `TextStyle` ladder collapsed to `text_xs`/`text_sm` (plus
|
||||
`font_semibold`/`font_medium`), the radius ladder to `cx.theme().radius`
|
||||
/ `cx.theme().radius_lg`, `SPACE` to `gap_2`, `divider` to the kit
|
||||
`Separator`, and motion was deleted unused. `geometry.rs` and the CSD
|
||||
constants never carried over (the framework Root draws the window
|
||||
border); `TAB_BAR_HEIGHT` (44px, the dock tab bar that doubles as the
|
||||
title bar) now lives in `workspace::dock` and `SIDEBAR_WIDTH` in
|
||||
`workspace`;
|
||||
- end state: `crates/ui` is `avatar.rs` + `window_drag.rs` only — see the
|
||||
status note at the top of this file for the restored dock skin and
|
||||
avatar (the two deliberate exceptions to "no custom elements");
|
||||
- `AppearanceMode` (System/Light/Dark, serde-persisted) moves into
|
||||
`crates/settings`.
|
||||
- The gpui-base projection coop did in `sync_base` is now the framework's job
|
||||
|
||||
Reference in New Issue
Block a user