From cd239d24f88f2e58f70ebc89bec298458f63b431 Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Tue, 16 Jun 2026 09:52:19 +0200 Subject: [PATCH] :bug: Fix transparent tile holes in viewer WASM render MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use direct backbuffer tile compositing for render_sync_shape (viewer/thumbnails) instead of the tile texture atlas cache, which left 512×512 transparent holes. --- render-wasm/src/render.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/render-wasm/src/render.rs b/render-wasm/src/render.rs index 152de04143..f95685a4c5 100644 --- a/render-wasm/src/render.rs +++ b/render-wasm/src/render.rs @@ -970,7 +970,8 @@ impl RenderState { // Viewer masked passes render a partial scene. Reusing the tile texture cache would // SrcOver-blend onto textures from the previous pass and leak pixels into the blob. - if self.viewer_masked_pass() { + // `render_sync_shape` (viewer/thumbnails) uses the same direct backbuffer path. + if self.viewer_masked_pass() || self.viewer_render_root.is_some() { // Use viewbox-aligned bounds (not grid-snapped) to match interactive-transform // compositing and avoid a visible offset vs the DOM canvas. let tile_rect = self.get_current_tile_bounds()?;