canvas explained, 3D, and 2D