we (web engine): Experimental web browser project to understand the limits of Claude

Implement canvas compositing, clipping & output (Phase 18) master

Adds the final Phase 18 feature set: - Porter-Duff compositing via globalCompositeOperation (11 modes) - Clipping regions via clip() / clip(path2d) with save/restore support - Shadow effects via shadowColor/shadowBlur/shadowOffsetX/shadowOffsetY using 3-pass box blur approximation - Canvas output via toDataURL() (PNG, base64) and toBlob() - PNG encoder + zlib compressor in we-image for toDataURL - JS ctx.restore() now syncs all primitive state properties back to the JS wrapper object so getters reflect the restored state Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>


+1488 -131
5 changed files