Cassowary (oprogramowanie)
Cassowary to przyrostowy zestaw narzędzi do rozwiązywania ograniczeń , który skutecznie rozwiązuje układy liniowych równości i nierówności . Ograniczeniami mogą być wymagania lub preferencje. Kod klienta określa ograniczenia, które mają być zachowane, a solver aktualizuje ograniczone zmienne, aby miały wartości spełniające ograniczenia.
Cassowary został opracowany przez Grega J. Badrosa, Alana Borninga i Petera J. Stuckeya i został zoptymalizowany pod kątem aplikacji interfejsu użytkownika. Badros użył Cassowary między innymi do implementacji kaskadowych arkuszy stylów Constraint (CCSS), rozszerzenia Cascading Style Sheets (CSS). CCSS dodaje obsługę układu . Pozwalają one projektantom opisywać układ strony internetowej w bardziej elastyczny sposób. Cassowary służy do rozwiązania tych ograniczeń i obliczenia ostatecznego układu.
Oryginalna dystrybucja, nieutrzymywana od 2000 roku, zawierała implementacje Smalltalk , C++ i Java , wraz z powiązaniami dla GNU Guile , Python i STk. Istnieją implementacje innych firm dla JavaScript , Dart , Squeak , Python , .NET Framework i Rust .
Aplikacje
- Od września 2014 r. GSS, język układu i silnik układu dla sieci, jest opracowywany przez The Grid. Jest to nowoczesne rozszerzenie CCSS.
- Layx, język układu stron internetowych zaprojektowany z myślą o łatwości użytkowania.
- Scwm , menedżer okien ograniczeń schematu.
- Od 2011 Cassowary jest używany jako algorytm w silniku układu dla Mac OS X (Lion i nowszy) oraz iOS (6 i nowszy).
- Enaml jest oparty na optymalizatorze ograniczeń liniowych Cassowary.