Well done for releasing something and hitting the top of HN.
It looks like a clean UI, but I'm confused what we're seeing.
1. What is W for each point and how is it set? I assume something like 'weight', rather than a third dimension, but neither Bezier nor Catmull-Rom curves have an additional per-vertex parameter [0]. And NURBS are a ratio of two B-splines, but you still have only X, Y & W [1].
2. In the demo, each of the curves is listed as 'degree 2' (which suggests quadratic to me). Catmull-Rom curves are cubic (and it appears yours are too), so maybe 'degree 2' means cubic. But then the Bezier: they can be any degree, but the example only interpolates its first and last of five points. Even if the control points are hidden, it is clearly neither cubic nor quadratic, unless new control points are being generated somewhere but not shown.
3. NURBS are non-uniform, but here they are locked to fixed sequential integer parameters. With that and the lack of a ratio, is it really just some variant of a b-spline?
4. Given the list of XYW triples, in JSON, and the non-standard math, how do you anticipate a user constructing the curve - would they have to use your code and the way it interprets the W parameter?
Oh, and
> Motivated by the lack of freely available curve designers
seems like an extraordinary claim.
---
Edit to add:
[0] Did you mean the cardinal curve / canonical spline, rather than Catmull-Rom? That does have a parameter (tension, usually τ rather than W). It's not very common, but that's the best I can think.
[1] To be fair, editors often don't expose the ratio, and expose only a knot vector. But the W values given don't seem to correspond with knots either: there is the wrong number for a start, isn't there?
Actually you can just download it, stick the “public/” directory in a web server (or load it in your browser) and have it working without Electron, which I just did as a quick test:
I'm a little jealous : 60Mo software for drawing 1 curve get 35 votes in 2 hours when my "show HN" get 2 upvotes in one day for a full drawing software.
I think the right algorithm for something you put a lot of effort in (like I did for Shadergif):
1. Post on HN.
2. If upvotes <= 3:
Post the next day.
Maybe you did not get the attention you deserved. Try tweaking the landing page a bit. Maybe you can change the title, add more screenshots of your UI on the landing page.
3. Iterate on your product or work on a new one, but don't post a similar thing again for 6 months.
It looks like a clean UI, but I'm confused what we're seeing.
1. What is W for each point and how is it set? I assume something like 'weight', rather than a third dimension, but neither Bezier nor Catmull-Rom curves have an additional per-vertex parameter [0]. And NURBS are a ratio of two B-splines, but you still have only X, Y & W [1].
2. In the demo, each of the curves is listed as 'degree 2' (which suggests quadratic to me). Catmull-Rom curves are cubic (and it appears yours are too), so maybe 'degree 2' means cubic. But then the Bezier: they can be any degree, but the example only interpolates its first and last of five points. Even if the control points are hidden, it is clearly neither cubic nor quadratic, unless new control points are being generated somewhere but not shown.
3. NURBS are non-uniform, but here they are locked to fixed sequential integer parameters. With that and the lack of a ratio, is it really just some variant of a b-spline?
4. Given the list of XYW triples, in JSON, and the non-standard math, how do you anticipate a user constructing the curve - would they have to use your code and the way it interprets the W parameter?
Oh, and
> Motivated by the lack of freely available curve designers
seems like an extraordinary claim.
---
Edit to add:
[0] Did you mean the cardinal curve / canonical spline, rather than Catmull-Rom? That does have a parameter (tension, usually τ rather than W). It's not very common, but that's the best I can think.
[1] To be fair, editors often don't expose the ratio, and expose only a knot vector. But the W values given don't seem to correspond with knots either: there is the wrong number for a start, isn't there?