titleConstraint System datedFall 2023 authorSummary of work on relax-pk At the beginning of phase 2, we weren’t sure what to do about constraints. Based on past exploration, constraints seemed to hold a lot of promise but were notoriously unreliable. A good constraint system could unify and power a number of key aspects of the dynamic medium we seek. It would allow for mechanical constructions, like a rope and pulley, that feel physically correct. It would allow for a computational model that bridged between algebraic formulae and tangible objects, like an architectural drawing that changed in response to edits in a parameter table. It’d allow for true bidirectional computation, instead of the limited / biased computation we had in Crosscut. But constraint systems are hard to implement. They tend to suffer from the following issues: “Floaty-ness”, where manipulating one parameter causes other parameters to drift in ways that feel unnatural or unrealistic. “Blow-ups”, where manipulating part of the system causes other parts of the system to collapse inward or explode out to infinity (divergence toward or away from zero, rather than convergence on a reasonable value). Poor performance, either due to slow convergence or to excess recalculation when constraints are added or removed. Early in this phase Alex was optimistic that with a bit of effort these issues could be overcome. After a few weeks he was able to show very promising results. This early success built on his earlier work on [propagation of knowns] to reduce the number of variables whose values had to be determined by the solver. Then, by leveraging equality constraints (and more generally, any linear relationship between variables — y=mx+b where m is not zero) he further reduced the number of dimensions that the solver had to worry about. As an example, consider an angle constraint that “exports” two variables: one whose value is the angle in degrees, and another whose value is in radians. While either or b...
First seen: 2025-04-18 18:17
Last seen: 2025-04-19 06:19