-
Notifications
You must be signed in to change notification settings - Fork 107
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Is this project dead? #79
Comments
There is nothing to improve) If you are looking for better implementation of cassowary algorithm, you may be intrested in - https://github.com/IjzerenHein/kiwi.js/ |
Thanks for the prompt response @Dimous. cassowary.io is beautiful, but doesn't really offer any documentation or assistance to newcomers looking to apply cassowary.js. @epsichaos mentioned in one of the other issues that the Python port's documentation is a good place to start, so I'm working through that, but it's a shame that cassowary.js has no documentation of its own. |
@wmadden I've been working on Cassowary for a couple of months in my former job, creating a library to design responsive & constrained UIs with React & Cassowary. I've meet all the answers on Python's documentation, but the js library is not really convenient & reliable to use. I've spent a lot of time fighting with features, declarations and syntax to use properly this lib. My conclusion was that Cassowary is not currently completely ready for production (which was my purpose in my previous work), due to the lack of documentation and support, of real already existing production implementation & help on the Internet. However, it's still a wonderful library I had a lot of fun with 😄 . If you have other questions, I'll be happy to help 😃 |
Hi @Epsichaos, I've been using Cassowary.js for the last 6 hours or so and I've managed to work out what I need with a combination of the Python docs (thanks for the tip 😉 ) and by reading the Cassowary.js source - a lot of which is very difficult to work with. I think this library would benefit from a pretty comprehensive overhaul, but in the absence of a production project to motivate and direct the work, it's unlikely I'll be the one to do it. But on the other hand it's a really useful tool; now that I know about it perhaps I'll find a use for it in production in the future. I have to agree though, in its current state I'd be very wary of using it in production. |
Hi @wmadden, Have fun with your exploration of Cassowary :). As far as I know, the only important projects using Cassowary are Grid Stylesheets and The Grid (led by the main contributors to Cassowary algorithm & Cassowary.js). They seem to believe in their constraints solver algorithm, as their startup (The Grid) will release a product using the GSS system (CSS with constraints). But they don't seem interested in promoting their libraries (the last conferences about GSS and Cassowary are very old (2014/2015). |
I wonder why we don't see more auto-layout type stuff in production? At least I never hear about it. Why is this? Is there something about cassowary/auto-layout that's too limiting? Why hasn't it simply taken off if it is as amazing as it seems? |
Not web based but constraints are widely used in macOS/iOS and Gtk4 may feature built-in support bringing it to the Linux Desktop. I suspect UWP uses them to some extent as well. |
Yeah, I was curious about web. Why is it so underrated in web? |
Yes it's interesting, some frameworks have limited support and there are projects like this one but autolayout in HTML doesn't seem to have taken off. It might be something to do with the fact HTML is primarily designed for documents rather than application interfaces and thus constraints are inconvenient to use |
With a fast web based impl things like this http://iamralpht.github.io/constraints/ would be possible. |
Indeed, his articles are really cool. I wonder if this concept can be taken to 3D space? f.e., imagine a kitchen counter configurator: depending on width, height, and depth, different sorts of kitchen drawer/sink/etc configurations could be possible. |
@trusktr Cassowary is based on the simplex algorithm, a classical algorithm to solve mathematical constrained systems. It can be extended to n-dimensions thus to 3 dimensions aswell :). If you're interested in the theory, you can read the original paper about Cassowary. If you want to create 3 dimensional constraints system, just represent the objects with 3 components and write your equations they have to be constrainted to. |
@trusktr I think it's not widely use because of ease of use. Coming from a web development background it was really intimidating having to start worrying about width and height on every element and how that relates to other elements. I can't imagine trying to explain this stuff to my team. They would think I'm crazy 😜 I've been experimenting in React lately to see if this could be made easier and more approachable. I'd love to be able to use a full constraint system paired with something like iamralpht's constraint animations in my normal work. |
So still no updates since then but open issues and PRs. |
The last commit was 2 years ago, there's no documentation, and nobody's requests for help or documentation appear to have been answered.
But this is a really useful tool! It's a shame to see it die. Anyone interested in giving it a new/proper home?
The text was updated successfully, but these errors were encountered: