Skip to main content

polyscope_ui/
lib.rs

1//! UI layer for polyscope-rs using egui.
2
3// Type casts in UI code: Conversions between pixel coordinates and
4// screen dimensions (f32, f64, u32, usize) are intentional. Values
5// are bounded by screen resolution.
6#![allow(clippy::cast_possible_truncation)]
7#![allow(clippy::cast_sign_loss)]
8#![allow(clippy::cast_precision_loss)]
9// Documentation lints: Detailed error/panic docs will be added as the API stabilizes.
10#![allow(clippy::missing_errors_doc)]
11#![allow(clippy::missing_panics_doc)]
12// Function length: UI layout and rendering functions are legitimately complex.
13#![allow(clippy::too_many_lines)]
14// Struct design: Settings structs naturally have many boolean options.
15#![allow(clippy::struct_excessive_bools)]
16// Method design: Some methods take &self for API consistency even when not using it.
17#![allow(clippy::unused_self)]
18// Argument design: UI callbacks often take ownership for simplicity.
19#![allow(clippy::needless_pass_by_value)]
20// Function signatures: Complex UI functions may need many parameters.
21#![allow(clippy::too_many_arguments)]
22// Slice handling: Sometimes &mut Vec is needed for push/pop operations.
23#![allow(clippy::ptr_arg)]
24// Type casts: UI element indices may need u32 to i32 conversion.
25#![allow(clippy::cast_possible_wrap)]
26
27pub mod gizmo;
28pub mod integration;
29pub mod panels;
30pub mod quantity_ui;
31pub mod selection_panel;
32pub mod structure_ui;
33
34pub use gizmo::TransformGizmo;
35pub use integration::EguiIntegration;
36pub use panels::*;
37pub use quantity_ui::*;
38pub use selection_panel::*;
39pub use structure_ui::*;