pub fn solve(
rerun: &mut Rerun<'_>,
state: &StateValues,
pulls: &[Pull],
only: Option<&str>,
prove: bool,
known: Option<&Structure>,
) -> GeopResult<(StateValues, Report)>Expand description
Where the state has to be for every constraint of the program rerun
runs to hold, as little away from where state has it as the
constraints allow, after pulls pulled it — of the placed parts, only
the one the step only placed moving, if given — every value within its
limits and those pulls set held there: the values of the state that
changed — the poses of the parts it moved, each relative to the part it
is placed in, and the unknowns the steps declared — and how the solve
went.
The program was last run with state; it is left so, for the caller to
run at the state found. A part no solve may move — fixed, or not only — goes where its
pulls take it, alone: to a pose pulled to, or moved as far as a point
pulled goes.
A true solution near there is enclosed only where prove asks: an
event of a drag is solved again at the next, and only the state it is
let go at is kept (see solve::solve). It is solved in the groups
known — those a solve of the same program found a hair away, the
last event’s of a drag (Report::structure) — where given, rather
than finding them again.