Tests: • Manipulate curves • Build a test on click and draggable points • Build a test on re-ordering points and changing their connection types • Build a test for moving the center and radius controls for circles //• Learn how to create equalateral polygons Features: • Ability to add points • Ability to determine whether a line between any two points is polygonal, or curved • Ability to break the line between points • Abiility to re-position points by clicking and dragging after they have been created • Ability to delete points after they have been created • Ability to re-order the points in the line drawing order • Ability to add Circles with one control point for center, and one control point for radius (optionally, semi-circles too) • (optional) Ability to create equilateral polygons, with one control point for center, and one control point for radius • (optional) Ability to export LARGE-ASS images • (optional) Ability to re-define the relative position of rotation/spinning • Freaking center the design in the image that's exported, dammit Write docs on previous crap http://root.nuclearpixel.com/misc/canvas_01-00_test_spyrograph.html In the first one, I learned about 3 concepts. 1: How to scale a vector based on screen resolution 2: Additive Blending 3: How to rotate a point around an axis! http://root.nuclearpixel.com/misc/canvas_01-01_learn_save_image_from_canvas.html The second one was learning how to save and image file as output from the Canvas element. That was more a test of how to implement someone else's code for that, because they had already done that rather well. http://root.nuclearpixel.com/misc/canvas_01-02_test_multistroke_radial_spyrograph.html The third is where I learned to make the lines appear blurred by stroking with multiple increasing widths at decreasing opacity levels. http://root.nuclearpixel.com/misc/canvas_01-03_learn_atan2.html and the fourth was where I learned how to get a relative angle in degrees from two pairs of X/Y coordinates.