TODO LIST
June 20, 2017 ยท View on GitHub
REV 0004
- P2D renderer doesn't work for
shapeImpl - Same for P3D
- CLOSED shapes don't properly wrap the last dash around if necessary
- Change version updating to MINOR updates.
REV 0003
- Create a protected array for curve parameters, just like the vertices one used for beginShape()
- Change bezier() to the above
- Change arc() to the above
- Add linear interpolation of parameters for arcs/ellipses --> they can now be computed faster! :)
- For default 10-10 pattern, there are a lot of glitches in large beziers. Adjust dt precision based on a super rough approximated length, and/or how small the minimum dash/gap param is?
- Negative values in
pattern()lead to infinite loops and badness. Prevent.
REV 0002
- Remove dev packages from project
REV 00001
-
Implement variable dash pattern on all methods
-
Rename dashes to dashPattern
-
Implement CHORD + PIE modes on arcs...
-
Develop this into an actual library
-
Implement dash.offset()
- line
- rect
- quad
- triangle
- ellipse
- arc
- arcPolar
-
At some point, implement 'offset' or something so that animations like this are possible: https://www.youtube.com/watch?v=8uZgU3f8p9A
-
dash.beginShape(), dash.endShape()
- dash.vertex()
- properly continue dashes over kinks with native corners
- Add CLOSE to endShape
- When CLOSING a POLYGON, the first/last vertex doesn't form a corner if the dash is continuous. It shouldn't be hard to do.
- Add working MODES to beginShape() (take them from PGraphicsFX2D implementation...)
- Migrate all linear geometry to shape + vertices (it gets to Processing's core faster, and allows for dashes to bend on corners).
- Since most dashed lines won't likely be filled, add "if (g.fill == true)" to prefill on all shapes
-
Good Bezier refs:
-
dash.bezier()
-
Publication
- Document methods a la javadoc
- Rethink package name
- Write examples
- Decide where I am going to host this...
- Remove dev package from javadoc exports
- and compilation
- Create a dashedlines.zip + dashedlines.txt (copy of library.properties)
- Go over library.properties and make sure things are in the right place
- Write a nice Readme for the github page
- Licensing --> MIT
SOON
-
Try out Pomax' Gauss-Lagrande approximation for arc length
-
dash.curve()
-
dash.bezierVertex()
-
dash.curveVertex()
-
Implement dash.mode()
-
Design which modes are there and how they work
-
Dashes are not continuous in arcs with modes CHORD or PIE. Must figure out how to link growing parameters, and hopefuly the corner stroke into a continuous one with the kink.
-
Respond to this: https://forum.processing.org/two/discussion/comment/93993/#Comment_93993
-
Expand methods to 3D
-
Add rounded corners to rect() (need quadraticVertex implementation, which needs bezierVertex impl...)
-
When drawing shapes with continuous primitives (TRIANGLES, QUADS, STRIPS), newer fills overlap previous strokes because of drawing order. Figure out a way to fix this by buffering styles?
-
Fork https://pomax.github.io/bezierinfo/ and add:
- General matrix solution for curve splitting between [a, b]
LONG RUN
- Review JAVA2D's way of doing dashed lines natively: