geop_ops_harness/lib.rs
1//! Wire harnesses: bundles of wires routed between connectors on placed
2//! parts, through clips — the route a tangent-continuous chain of lines and
3//! arcs ([`route`]), its bends checked against the bundle's minimum bend
4//! radius, the bundle swept along it, and the length to cut every wire to
5//! recorded as the part's target [`cables`] — and the [`Route`]
6//! operation of a program built on it.
7
8pub mod cable;
9pub mod operation;
10pub mod route;
11pub mod wire;
12
13pub use cable::{Cable, Cables, cable, cables};
14pub use operation::{Route, RouteArgs, RouteEditing, RouteSession};
15pub use wire::{Wire, WireSize};
16
17#[cfg(test)]
18mod editor_tests;
19mod icons;
20#[cfg(test)]
21mod program_tests;
22#[cfg(test)]
23mod tests;
24
25use geop_core_editor::registry::Registry;
26use geop_core_math::geop_error::GeopResult;
27
28/// Adds what this crate offers an editor to `r`: routing cables.
29pub fn register(r: Registry) -> GeopResult<Registry> {
30 r.operation(Route)
31}