Skip to main content

geop_core_editor/
lib.rs

1//! What editing is: the vocabulary a step's editing is said in — dialogs,
2//! visuals, gizmos, events, picks ([`editing`]), number fields of numbers
3//! typed as formulas ([`geop_core_program::numeric`],
4//! [`edit_form::EditForm::numeric`]) — what an operation shows and does
5//! with them ([`editable::Editable`]), what a part is drawn as and picked
6//! in ([`view`]), and what is made of a part rather than in it: files and
7//! answers ([`output`]); the interaction every step shares
8//! ([`step_editor`]) and the whole of editing a program ([`editor`]), over
9//! what a [`registry::Registry`] offers — operations, drawers, panels,
10//! tools ([`tools`]), a settler, examples — none of which it names; and
11//! the editor driven by an agent's tools ([`agent`]), which every front end
12//! an agent talks to offers. A program runs without any of it (see
13//! [`geop_core_program`]).
14
15// Library code reports what goes wrong as an error, never by panicking;
16// tests may unwrap.
17#![cfg_attr(
18    not(test),
19    deny(
20        clippy::unwrap_used,
21        clippy::expect_used,
22        clippy::panic,
23        clippy::indexing_slicing,
24        clippy::todo,
25        clippy::unimplemented,
26        clippy::unreachable
27    )
28)]
29
30pub mod agent;
31pub mod edit_form;
32pub mod editable;
33pub mod editing;
34pub mod editor;
35pub mod keys;
36pub mod output;
37pub mod part_operation;
38pub mod registry;
39pub mod selectable;
40pub mod step_editor;
41#[cfg(any(test, feature = "testing"))]
42#[allow(
43    clippy::expect_used,
44    clippy::panic,
45    reason = "tests' helpers fail where a test would"
46)]
47pub mod testing;
48#[cfg(test)]
49mod tests;
50pub mod tools;
51pub mod view;
52
53/// What [`part_operation!`] expands to refers to, whichever crates the
54/// operation's own depends on.
55#[doc(hidden)]
56pub use geop_core_math::geop_error::GeopResult as __GeopResult;
57#[doc(hidden)]
58pub use geop_core_program as __program;