New canvas: prepare for merging with the userscript