Playing with Fabric.js was fun although one bit I had trouble with was calculating the object.clipTo rectangle path.
clipTo :function Function that determines clipping of an object (context is passed as a first >argument) Note that context origin is at the object’s center point (not >left/top corner)”
I got turned around with the initial coordinates but working out this derivation helped immensely: