WebGL can render into a texture (framebuffer objects)
Until now the WebGL engine could only draw to the canvas. Real WebGL content almost always draws to an off-screen texture first and then uses that texture in a later pass - it is how post-processing (blur, bloom, colour grading), shadow maps, reflections, and picking all work. This release adds framebuffer objects: a page can create a framebuffer, attach a texture as its colour buffer, render a whole scene into that texture, then bind the canvas again and sample the texture it just drew. The attached texture is literally the colour buffer, so the result is available to the next pass with no copy, and each framebuffer carries its own depth buffer so depth testing works off-screen exactly as it does on-screen. Proven end to end: a solid green triangle rendered into a framebuffer's texture, then sampled across the canvas in a second pass, reads back green. This is the last big structural piece of a working WebGL pipeline, so the Web APIs aspect moves 60 to 61; the overall holds at 56 (still a software renderer).