overconstrained Cassowary projects and its community.

Cassowary


Cassowary is an incremental constraint solving toolkit that efficiently solves systems of linear equalities and inequalities. Constraints may be either requirements or preferences. Client code specifies the constraints to be maintained, and the solver updates the constrained variables to have values that satisfy the constraints.

Cassowary was developed by Greg Badros and Alan Borning, and was optimized for user interface applications. Badros used Cassowary amongst others for implementing Constraint Cascading Style Sheets (CCSS), an extension to Cascading Style Sheets (CSS).

Projects


C++

Cassowary

C++

The original implementation

Rhea

C++

A modernized c++ version of the original implementation. Less fuzz and more fun!

Kiwi

C++ (and Python bindings)

A new implementation of the algorithm based on the seminal Cassowary paper.

Aqt.Cassowary

C++/QML

A Qt plugin that allows you to run an incremental linear constraint solver in QML applications

Casuarius

C / Python

Cython binding for Cassowary

Web

Cassowary

Javascript

The original implementation

Cassowary JS

JavaScript

An improved version of the original which dramatically improves performance, structure and hackability.

Grid Style Sheets

JavaScript + more

GSS is a CSS preprocessor & JS runtime that harnesses Cassowary.js

Slalom

Javascript

Bridges cassowary and touch interaction with physics simulation.

AutoLayout.JS

JavaScript

Apple's Auto Layout and Visual Format Language for Javascript (based on cassowary constraints)

Angular Auto Layout

JavaScript

Constraint based layout for your AngularJS apps.

Cappucino Auto Layout

JavaScript / Objective-J

Built for the Cappucino open source framework that makes it easy to build desktop-caliber browser applications.

Haxe

cassowary.hx

Haxe

A direct Haxe port of the cassowary.js implementation of the Cassowary constraint solving algorithm.

Haxe Kiwi

Haxe

A Haxe port of Kiwi C++ and Kiwi Java implementations of the Cassowary constraint solving algorithm.

C

Emeus

C

Apple's Auto Layout and Visual Format Language for GTK+ (based on Cassowary constraints)

Amoeba

C

A Cassowary constraint solving algorithm in pure C and Lua.

Java

Kiwi Java

Java

A Java port of the Kiwi C++ implementation of the Cassowary constraint solving algorithm

Cassowary

Java

The original implementation

Android Cassowary Layout

Java

An Android layout class that uses the Cassowary incremental constraint solving algorithm

Cassowary Java

Java

A pure Java implementation of the Cassowary constraint algorithm, and an Android ViewGroup layout manager that uses it.

Python

Casuarius

C / Python

Cython binding for Cassowary

Pybee Cassowary

Python

A pure Python implementation of the Cassowary constraint-solving algorithm.

Objective-C

Auto Layout

Objective-C

Even though this is proprieatry to Apple it is based on the same algorithm

Smalltalk

Cassowary

Smalltalk

The original implementation

Haskell

cassowary-haskell

Haskell

An implementation of the Cassowary linear constraint solver, in Haskell.

Nim

Kiwi

Nim

A Nim port of the Kiwi-Java implementation of the Cassowary constraint solving algorithm

Slack


Here you'll be able to discuss anything related to cassowary.

(Hit the button above to join)

Google group


An easy accessible and open google group named overconstrained.