[1] https://developer.mozilla.org/en-US/docs/Web/SVG/Element/for...
200 karma · joined October 25, 2019
[1] https://developer.mozilla.org/en-US/docs/Web/SVG/Element/for...
[0] https://developer.mozilla.org/en-US/docs/Web/CSS/element
Parametric modelling is similar to 2D vector graphics formats in that instead of defining where vertices are placed in a coordinate space, it builds the model based on an instruction set that includes primitive shapes like circles but can also include complex curves defined using splines (NURBS)[0].
Constraint solving is a way of mathematically deriving the possible shapes an object can take based on the geometric constraints applied to it. For example, a 2D equilateral triangle could be defined by setting the length of one edge and then constraining all edges to be of equal length. The coordinates of the vertices are derived from these constraints.
SolveSpace [1] is an open source parametric modeler with a constraint-based solver that you can explore if this is something you're interested in.
[0] https://en.wikipedia.org/wiki/Non-uniform_rational_B-spline [1] https://solvespace.com/index.pl
The value comes from giving people a framework to solve their problems, doing the thinking for them while accounting for the edge cases that they didn't get to, and then compiling that system of rules into a program.
https://ieeexplore.ieee.org/document/9714040 https://youtu.be/z91PZpejFeE?feature=shared
Pretty neat
I wonder if there has been any progress on increasing the capabilities of that system. It could just be another component attached to the HMD. I bet as it is now though, even with improvements, it would make you sick, which VR already has trouble with.
I think a good middle ground here is that HTML web components article that was shared here a few weeks ago: https://gomakethings.com/html-web-components/
I like this because it's still fairly low-code but you get cool stuff out of the box like attributeChangedCallback. You don't have to mess with build tools, which is what I like the most about this strategy. I can just drop these components into my Rails views like any other element, and their custom functionality gets mounted up as soon as they get folded into the DOM. No more document.querySelectorAll(".foo-bar").forEach(foo => bar()). Much cleaner, and the intent is more clear too. With <foo-bar>, it's much more obvious that the element has scripting attached to it than <div class=”foo-bar">.