Split snippets to 2D and 3D. Because canvas can't drop own context.