## TL;DR The Canvas API provides a 2D drawing context (`getContext('2d')`) for programmatically rendering graphics, text, and images onto an HTML `` element. It supports paths, rectangles, arcs, images, gradients, and pixel manipulation. ## Core Explanation Key methods: `fillRect()`, `strokeRect()`, `arc()`, `drawImage()`, `fillText()`. `getImageData()` returns raw pixel data (RGBA array) for image processing. Transformations use `translate()`, `rotate()`, `scale()`. For 3D rendering, use WebGL context (`getContext('webgl2')`) instead. Canvas is immediate-mode — after drawing, the shapes are just pixels, not objects. ## Further Reading - [HTML Canvas 2D Context (W3C)](https://html.spec.whatwg.org/multipage/canvas.html)