Vanilla Shapes
A collection of 14 objects that can be used to create static shapes in a graph-on-parent patch or abstraction using a single object with creation arguments for each shape, all the arguments are required except for the destination(last), which can be replaced by the single outlet using send and a bang to it's inlet, useful only for creation order changes and the destination should be cleared first.
IMPORTANT the destination patch or graph-on-parent patch should be cleared before saving changes. This is because the objects are created at load time by an internal loadbang and any previously saved objects scalar may be stranded and accumulate in the .pd file causing Pd to crash on the next load. The file also grows from a few KB to 20KB or 30 KB. Use the object "clear-first" as the very first object.
These objects require a graph-on-parent to have ranges set from 0 to size to match the GOP window size otherwise the object will be distorted
Once the desired graphics are completed and saved, create another GOP patch of the same size and new name, place above the graphics patch and add controls etc.
Pd-vanilla uses rounded end caps for its drawn lines, this gives soft or rounded corners to weightier lines. This also gives us the ability to make nicer circles by creating a single pixel dot and changing the weight (line-width) to change the size, "circle-filled" and "circle-filled-xl" use this feature.
“rectangle”, “rectangle-filled”, “singleline”, "circle-unfilled", "ellipse" and "ellipse-filled" are drawn geometrically and "ellipse" / "ellipse-filled" can also draw circles when the width and height are the same.
"polygon" has a maximum of 8 nodes, any unused nodes need to repeat the last node.
"polygon-filled" has a maximum of 7 nodes, any unused nodes need to repeat the last node and the last node will join to the first node and enclose the shape.
"curve" and "curve-filled" both have a start position followed by 12 nodes as offsets from there. It is easier to decide the number of nodes to use first then create the curve from the right side and leave the remaining nodes as 0 offsets.
"seriesoflines-h" and "seriesoflines-v" useful for drawing grids of horizontal and vertical lines that could also be skewed.
