pub mod id;
pub mod rect;
pub mod tree;
pub mod drop_zone;
pub mod drag;
pub mod separator;
pub mod snap_back;
pub mod tabs;
pub mod floating;
pub mod hit_test;
pub mod presets;
pub mod grid;
pub mod layout;
pub mod manager;
pub mod serialize;
pub use id::{LeafId, BranchId, NodeId};
pub use rect::PanelRect;
pub use tree::{PanelTree, PanelStore, Tile, Container, Tabs, Linear, Grid, Shares, LinearDirection, GridLayout};
pub use drop_zone::{DropZone, DropZoneDetector, CompassZone};
pub use drag::{DragDropState, LockState, DragSource, HoverTarget, PanelDragState};
pub use separator::{Separator, SeparatorOrientation, SeparatorState, SeparatorLevel, SeparatorController};
pub use snap_back::SnapBackAnimation;
pub use tabs::{TabBar, TabInfo, TabHit, TabDragController, TabDragState, TabReorderState, TabBarInfo, TabItem};
pub use floating::{FloatingWindow, FloatingWindowId, FloatingDragState};
pub use hit_test::{HitResult, CornerHandle};
pub use presets::{WindowLayout, SplitKind, PANEL_GAP};
pub use grid::{DockingTree, Leaf, Branch, PanelNode};
pub use serialize::{LayoutSnapshot, SerializedNode, SerializedNodeType};
pub use manager::DockingManager;
pub trait DockPanel: Clone + Send + Sync {
fn title(&self) -> &str;
fn type_id(&self) -> &'static str;
fn min_size(&self) -> (f32, f32) {
(200.0, 200.0)
}
fn closable(&self) -> bool {
true
}
}