pub trait Settle: 'static {
// Required methods
fn settle(
&self,
rerun: &mut Rerun<'_>,
pulls: &[Pull],
own: Option<&str>,
) -> GeopResult<StateValues>;
fn solvable(&self, reader: &Reader<'_>) -> GeopResult<Vec<String>>;
}Expand description
What settles a program’s state after every edit: moves what the steps say a solve moves — where placed parts are — so that the constraints they declare hold. At most one per registry; with none, the state is kept as given. When to settle, and what of the program runs first, is the editor’s.
Required Methods§
Sourcefn settle(
&self,
rerun: &mut Rerun<'_>,
pulls: &[Pull],
own: Option<&str>,
) -> GeopResult<StateValues>
fn settle( &self, rerun: &mut Rerun<'_>, pulls: &[Pull], own: Option<&str>, ) -> GeopResult<StateValues>
The values of rerun.program’s state it moves, and where to: first
towards what pulls pull — every value free to give way — or else,
where the constraints do not hold, the state of the step own
being edited first. None where nothing needs to move.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".