Skip to main content

blockworx/
lib.rs

1// The egui backend: the replayer, the canvas `View`, the conversions. The
2// shell reaches it as `crate::canvas`, the way it always has.
3pub(crate) use blockworx_egui as canvas;
4// The grid is the world-space metric, so it lives with the geometry; every
5// caller still reaches it as `crate::grid`.
6pub(crate) use blockworx_geom::grid;
7// The theme is the paint vocabulary's own semantic layer (roles, fonts, the
8// `Style` adapter), reached as `crate::theme` the same way.
9pub(crate) use blockworx_paint::theme;
10// Document editing: the `Drawing` waist, the op emitters, the shapes and the
11// render path. The shell reaches each as `crate::<name>`, unmoved.
12pub(crate) use blockworx_editor::{edit, path, shape, widget};
13// The tools, the command registry, the undo stack and the spotlight. Reached
14// as `crate::tools`, `crate::history` and `crate::spotlight`, unmoved.
15#[cfg(test)]
16pub(crate) use blockworx_tools::spotlight;
17pub(crate) use blockworx_tools::{self as tools, history};
18// The editor itself, minus a surface: the shell owns one `Session`, runs its
19// canvas frame over a recording and replays the display list onto egui.
20pub(crate) use blockworx_kernel as kernel;
21
22pub mod app;
23pub(crate) mod appearance;
24pub(crate) mod dialogs;
25mod exchange;
26pub(crate) mod export;
27#[cfg(not(target_arch = "wasm32"))]
28pub(crate) mod file;
29pub(crate) mod font_editor;
30pub(crate) mod import;
31pub(crate) mod io_pin_picker;
32pub(crate) mod keys;
33pub(crate) mod library;
34pub(crate) mod panels;
35pub(crate) mod preferences;
36pub(crate) mod preferences_menu;
37pub(crate) mod role_picker;
38pub(crate) mod shell;
39pub(crate) mod surface;
40pub(crate) mod theme_editor;
41
42#[cfg(test)]
43mod render_bench;
44/// The on-screen tessellation image snapshots, behind the `kittest` feature.
45#[cfg(all(test, feature = "kittest"))]
46mod tessellation_snapshots;