If the pen move request is send and forget, 202, otherwise, 200
Because it's sure to be done based on timeout!
Add brush down distance counter and reset.
Handling of reset is put into the hands of the client so it can manage its own events and arbitrary limits.
And trace precision dropdown to controls
Refactor set to get, changeTool to toolChange and a few other fiddley bits
Simplify button command for stop draw
Make sure brush is up on move first point
No more long streaky lines of doom!
Add color selection!
Selected is only a class, but hey, it's a start. Defaults to black.
Add getMorePaint function!
Runs a single water, selected paint tool change, then moves back to the given point and triggers the callback
Refactor path -> point collision into its own function
WARNING: This completely relies on the screen visibility of the SVG elements. If you can't see them on screen, neither can the function! Returns undefined or empty string if point not visible.
Refactor Pen State management during drawing into its own function
Catch changes to precision value after load
Implement Distance counter reset and paint refresh for path drawing
Also make sure callbacks include their precious, precious return data, and also update penstat during moveTo
Add simple input/output sanity checks to moveTo
For drawings that move off the canvas, inputs come in at some pretty wacky values.
Enforce svg path selection stroke width
Make selected colors have a blue border
Add fill feature!
This is incredibly complex and tricky to do properly, so how this is being done requires a pre-build of each path fill.
This can take quite a while, even on fast machines, but I've added a progress bar which should help :)

Three fill types right now, horizontal, vertical, and Path/Spiral. The hope is that users can add their own fill paths down the line.
A path, click build fill, and the fill will be built. Once done, you can click paint fill and away it goes.
This is still somewhat broken.
Enable disabled buttons when a path is selected