Basalt is an experimental constraint-based graphic design DSL embedded in Python that lets designers specify figures through relationships between objects rather than manually computing positions. Constraints are compiled and solved automatically using an SMT solver (Z3), MILP, or gradient descent via TensorFlow. The system supports reusable abstractions that compose naturally through constraint merging. Case studies include research paper figures, logos, and animated presentation slides, demonstrating how parameterized, relational design scales to complex figures with hundreds of objects far better than GUI tools like Illustrator or TikZ.

20m read timeFrom anishathalye.com
Post cover image
Table of contents
Experiments in Constraint-based Graphic DesignPhilosophyCase studiesDiscussionConclusion

Sort: