#![cfg_attr(docsrs, feature(doc_cfg))]
#![doc = include_str!("../README.md")]
pub mod attachment;
mod camera;
pub mod data;
pub mod picker;
pub mod point_cloud;
mod post_process;
mod resources;
mod sbv;
mod screenshot;
pub mod segment;
mod settings;
mod shader;
mod shape;
pub mod surface;
mod texture;
pub mod types;
pub mod ui;
mod util;
mod window;
use crate::segment::DisplaySegment;
use crate::surface::geometry::DisplaySurface;
use crate::{camera::Camera, point_cloud::DisplayPointCloud};
pub use egui;
use indexmap::IndexMap;
pub use resources::{load_mesh, load_mesh_blocking};
pub use settings::Settings;
pub use wgpu::Color;
pub use window::{InitialState, RunningState};
use window::{InnerBareState, State};
pub mod internal {
pub use crate::shape::{Shape, ShapeMut};
pub use crate::window::State;
}
#[must_use]
pub fn init() -> InitialState {
#[cfg(feature = "profiling")]
tracy_client::Client::start();
State::new_inner(InnerBareState {
surfaces: IndexMap::new(),
clouds: IndexMap::new(),
segments: IndexMap::new(),
settings: Settings::default(),
camera: Camera::new(1.),
})
}