set up sync, simplify canvas erase/draw with a parse fn