Creativity loves constraint (solvers)

by Adam Chalmers

Learn the maths behind constraint solvers, how to implement it efficiently with Rust linear algebra crates, and how we’ve built our new open-source, WebAssembly-compatible constraint solver.

The talk will introduce the idea of constraint solvers and why they’re useful, walk the audience through the math behind them, then look at specifically how we implement that math in Rust efficiently. I’ll show off how to use Faer, the linear algebra library, SymPy, a Python library for math which can output Rust code directly, WebAssembly analysis tools to help understand performance, and the proptest crate to gain confidence about our code quality.

The constraint solver we’ve built is completely open-source and MIT-licensed, which fills a gap in the market. Existing open-source solvers are GPL and the generally-used ones are proprietary and expensive. We hope to publicize this open-source library and ensure it’s easy for the community to use this for building good software upon.

Picture of Adam Chalmers

Adam Chalmers

he/him
Systems engineer at KittyCAD

I started writing Rust professionally at Cloudflare in 2018. Now I use Rust to build a CAD suite at Zoo.dev, working on their backend, constraint solver and a new programming language for 3D design. I organize Austin Systems, a monthly programming meetup in Texas, and I’m one of the core maintainers of rv, a Rust-based Ruby language manager.