From 121aae97380e4daba467f2328d43e01446c2a671 Mon Sep 17 00:00:00 2001 From: Igor Zinken Date: Wed, 27 Jan 2021 18:41:46 +0100 Subject: [PATCH] Resolved issue where image exports would not render layers below a filtered layer --- src/utils/document-util.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/utils/document-util.js b/src/utils/document-util.js index 3427948..7d00cc9 100644 --- a/src/utils/document-util.js +++ b/src/utils/document-util.js @@ -34,14 +34,15 @@ export const createDocumentSnapshot = async ( activeDocument, type, quality ) => const { zcvs, cvs, ctx } = createFullSizeCanvas( activeDocument ); const { width, height } = activeDocument; - // draw existing layers onto temporary canvas at full document scale + // ensure all layer effects are rendered, note we omit caching const { layers } = activeDocument; for ( let i = 0, l = layers.length; i < l; ++i ) { - const layer = layers[ i ]; - const sprite = getSpriteForLayer( layer ); - await renderEffectsForLayer( layer, false ); - sprite.draw( ctx, zcvs._viewport, true ); + await renderEffectsForLayer( layers[ i ], false ); } + // draw existing layers onto temporary canvas at full document scale + layers.forEach( layer => { + getSpriteForLayer( layer )?.draw( ctx, zcvs._viewport, true ); + }); quality = parseFloat(( quality / 100 ).toFixed( 2 )); let base64 = cvs.toDataURL( type, quality ); zcvs.dispose();