Skip to main content

lattice_dashboard/
lib.rs

1//! Lattice launch **dashboard** — the branded start page shown when the editor
2//! opens with no file argument.
3//!
4//! This crate (DB.1) is the pure library core: the [`DashboardSection`] trait,
5//! the [`DashboardRegistry`] extensibility seam, the [`DashboardFragment`]
6//! content contract, the eight built-in sections, and the `dashboard.*` config
7//! options. The editor wiring — the read-only `*dashboard*` buffer, the
8//! `dashboard-mode` major mode, the `:dashboard` command, the `dashboard.*`
9//! theme elements, the branding terminal-art, and the startup trigger — lands
10//! in later slices (DB.2+).
11//!
12//! Design: `docs/dev/architecture/dashboard.md`. Slice plan:
13//! `docs/dev/operations/slice-plans/dashboard.md`.
14
15pub mod branding;
16pub mod fragment;
17pub mod install;
18pub mod mode;
19pub mod options;
20pub mod registry;
21pub mod section;
22pub mod sections;
23pub mod theme;
24
25pub use branding::{BRANDING_ROW_COUNT, DashboardBrandingProvider, branding_block_width};
26pub use fragment::{
27    Align, DashboardFragment, DashboardRole, DashboardRow, DashboardSpan, LinkTarget,
28};
29pub use install::install;
30pub use mode::{DashboardMode, register_dashboard_modes};
31pub use options::{Dashboard, DashboardEnabled, DashboardSections, DashboardSource};
32pub use registry::{DashboardRegistry, DashboardRegistryHandle, SectionSelection};
33pub use section::{DashboardCtx, DashboardSection};
34pub use sections::builtin_registry;
35pub use theme::{DashboardElementIds, register_dashboard_theme_elements};