Comments (14)
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.
from cassowary.js.
There is nothing to improve)
You may already know about - http://overconstrained.io/ (https://overconstrained-slack.herokuapp.com/)
If you are looking for better implementation of cassowary algorithm, you may be intrested in - https://github.com/IjzerenHein/kiwi.js/
Check out autotests - https://rawgit.com/IjzerenHein/kiwi/master/test/index.html (click on list items to expand)
from cassowary.js.
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.
from cassowary.js.
@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.
from cassowary.js.
@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 😃
from cassowary.js.
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.
from cassowary.js.
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).
from cassowary.js.
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?
from cassowary.js.
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.
from cassowary.js.
Yeah, I was curious about web. Why is it so underrated in web?
from cassowary.js.
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
from cassowary.js.
With a fast web based impl things like this http://iamralpht.github.io/constraints/ would be possible.
from cassowary.js.
I wonder if this concept can be taken to 3D space
@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.
from cassowary.js.
So still no updates since then but open issues and PRs.
from cassowary.js.
Related Issues (20)
- Documentation request: How to check if two constraints are equivalent?
- Code and comments disagree
- Simple Demo Fails HOT 1
- Can't add edit variables with "required" strength
- Publish to bower HOT 1
- canvas renderer example fails
- RequiredFailure Error should show all the constraints unable to satisfy
- Mutable constant, Strength&weight in Constraint. HOT 1
- Move to using Map for c.HashTable
- Move `c.HashSet` to use a faster storage type
- making it easier to debug HOT 1
- Changing a variable coefficient HOT 2
- Build obtained through npm install is not up to date HOT 1
- Documentation HOT 1
- Expression with x^2 HOT 2
- What's the diffrence between c.js and c.min.js?
- How to know when a values changes or solve is done?
- Question - addWithArtificialVariable
- Am I missing something?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cassowary.js.