Skip to main content

Module unknown

Module unknown 

Source
Expand description

Which values of the state a solve may move, as the steps declare them: Unknowns, each step’s in a target of its own, and all of a part’s together (Unknowns), so that a solve of any program is set up from the part alone.

Each step’s own, not one target every step adds to: a joint’s coordinate is seeded where its parts are, so a step’s unknowns are made again whenever its parts move, and a target revised by every step would make every later step’s again with it — copying all the unknowns before it, at a cost growing with the square of the steps. A drag of a robot arm of a thousand parts spent a third of its time there.

Structs§

Unknown
A value of the state as a step declares it for solving: the state it is, and how a solve may move it — or that it holds it fixed. A solve starts it from seed where the state has none of it, and — given a constraint unless — where that constraint does not hold either: a joint’s coordinate, measured from where its parts are unless the joint holds.
Unknowns
Every unknown the steps so far declared, by the state it is: gathered from their targets (Unknowns::of).

Functions§

declare_unknowns
Declares the unknowns generator makes of args in the step being run, of the part’s Unknowns: of several declarations of one state, one that holds it fixed wins, and otherwise the first made. A plain function, like a make (Make).