Pytanie, co masz na myśli, mówiąc "canvas"? Bo on udostępnia dwa APIs: do grafiki 2D oraz do grafiki 3D (WebGL). To drugie pozwala generować grafikę 3D bezpośrednio w przeglądarce, ale raczej nie będziesz tego robić ręcznie, tylko przy pomocy odpowiednich bibliotek/frameworków (np. Three.js). To pierwsze pozwala się bawić w animacje czy np. tworzenie aplikacji do rysowania. I tutaj już częściej używa się bezpośrednio API, ale też istnieją liczne biblioteki, np. pixi.js czy fabric.js.