When /assets/ is served from a separate origin (CDN/object storage), images loaded via new Image() are not CORS-approved, tainting canvases and breaking WebGL textures (empty map, white 3D board).
When /assets/ is served from a separate origin (CDN/object storage), images loaded via new Image() are not CORS-approved, tainting canvases and breaking WebGL textures (empty map, white 3D board).