A bounding box in 2D space. This is the result of “drawing” operations on our canvas, and what the server reports back to the client. These bounds are sufficient to contain all of the lines (inclusive) on a canvas at a given time.
A Stream of incoming requests for Instance
A point in 2D space.


Manages a single instance of a canvas. Each session of this protocol is responsible for a new canvas.