Samiksha Jaiswal (Editor)

Cassowary (software)

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

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, Alan Borning and Peter J. Stuckey, 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). CCSS adds support for layout constraints. These allow designers to describe the layout of a web page in a more flexible manner. Cassowary is used to solve these constraints and calculate the final layout.

Smalltalk, C++ and Java versions are available in the main distribution. Furthermore, there are bindings for GNU Guile, Python, and STk.

Other people have ported the solver to JavaScript, Dart, Squeak, Python and the .NET framework (Cassowary.net).

Applications

  • As of September 2014, GSS, a layout language and layout engine for the web, is being developed by The Grid. It is a modern extension of CCSS.
  • Scwm, the Scheme Constraints Window Manager.
  • As of 2011, Cassowary is being used as the algorithm in the layout engine for Mac OS X (Lion and greater) and iOS (6 and greater).
  • Enaml's layout engine is built on top of the Cassowary linear constraint optimizer.
  • References

    Cassowary (software) Wikipedia


    Similar Topics