Behind jackin❯ — crates
jackin-tui
Cross-surface jackin❯ product presentation shared by the console, launch, and capsule surfaces.
Ownership boundary
- Owns jackin❯-specific compositions shared by at least two surfaces, including:
operator_info— Debug-info / container-info row policy,ContainerInfoState, paint via TermRockDetailTable/Panel, copy/hyperlink hit geometry, and OSC 8 overlay bytes.tokens— Ratatui adapters for product-owned brand/domain color tokens (brand pill, menu chips, status accents).ModalOutcome— product workflow lifecycle shared by jackin❯ modal compositions.
- Does not own neutral widgets, geometry, focus, hover, scroll mechanics, Theme/Role tables, or terminal lifecycle; those belong to TermRock. Surfaces resolve neutral roles via
termrock::style::DesignSystem::default()/Roledirectly. - Does not own a surface application model or run loop; those remain under each surface crate's
src/tui/. - Does not live in
jackin-core(L0 domain vocabulary only).
Architecture tier and allowed dependencies
L1 presentation. Workspace deps: jackin-brand, jackin-core. External: termrock, ratatui, crossterm.
Structure
| Module | Owns | Tests |
|---|---|---|
| crate root | — |
modal_outcome.rs | Shared jackin❯ modal-workflow outcome vocabulary | — |
· | Cross-surface Debug-info composition and paint | |
· | Product-owned brand/domain Ratatui colors | |
How to verify
cargo nextest run -p jackin-tui
cargo clippy -p jackin-tui --all-targets -- -D warnings