canvas and nocanvas visualiser