Skip to main content

khora_editor/chrome/
mod.rs

1// Copyright 2025 eraflo
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15//! Editor chrome — branded UI strips that surround the dock panels.
16//!
17//! These panels are owned entirely by the editor application. They contain
18//! all Khora-specific branding (logo, project name, brand colors), all menu
19//! definitions, and all status-bar formatting. The shell and the egui backend
20//! know nothing about them — they are just regular [`EditorPanel`]
21//! implementations that the editor registers at startup at the appropriate
22//! [`PanelLocation`] slots (`TopBar`, `Spine`, `StatusBar`, …).
23//!
24//! ## Layout
25//!
26//! - [`TitleBarPanel`] — branded top strip with menus + Cmd+K search (44px).
27//! - [`SpinePanel`] — vertical mode switcher on the far-left edge (56px).
28//! - [`StatusBarPanel`] — bottom metrics strip (24px).
29//!
30//! Gizmo tool selection and Play/Stop transport controls live as overlays
31//! inside the 3D viewport (see `panels::viewport::paint_tool_pill` /
32//! `paint_transport_pill`), not as a top toolbar.
33//!
34//! [`EditorPanel`]: khora_sdk::EditorPanel
35//! [`PanelLocation`]: khora_sdk::PanelLocation
36
37pub mod spine;
38pub mod status_bar;
39pub mod title_bar;
40
41pub use spine::SpinePanel;
42pub use status_bar::StatusBarPanel;
43pub use title_bar::TitleBarPanel;