This applies to the Krita 4.0.0 appimage. If a Transform Mask is added to an image in a paint layer and then a Warp, Cage or Liquify transform is applied, the resulting image is not exported for .png, .gif and .tga outputs. Any other image layers are correctly exported. The mitigation for this is to copy the paint layer (and its masks) and then flatten the copy, then export. This might be related to the fact that these transforms are only updated every three seconds as noted in the documentation: https://docs.krita.org/Transformation_Masks
This is a regression caused by the saving-in-the-background feature.
Git commit dd14f02b8acb99a316c4f15c5195d0204a0fc7a4 by Dmitry Kazakov. Committed on 03/04/2018 at 16:51. Pushed by dkazakov into branch 'master'. [Krita 4.1 only] Optimize cloning of the image while saving We shouldn't regenerate the projection of the image, when cloning we clone all the projections as well. WARNING: this patch is extremely dangerous! If you happen to see some loss while saving, please first try to revert this patch! M +1 -1 libs/image/kis_transform_mask.cpp M +20 -13 libs/ui/KisDocument.cpp M +1 -1 libs/ui/KisDocument.h https://commits.kde.org/krita/dd14f02b8acb99a316c4f15c5195d0204a0fc7a4
For 4.0.1 the fix in this commit: https://cgit.kde.org/krita.git/commit/?id=588ae9bbbfeec91180a64f1fa637ed6dc5e1ecfb
Git commit b4dc82de116bdbe05a90e7e65071005fabb8e11b by Dmitry Kazakov. Committed on 07/04/2018 at 13:28. Pushed by dkazakov into branch 'krita/4.0'. Fix saving of Transform Mask into rendered formats We should ensure all the time-based nodes finished updating before the image gets saved. M +2 -2 libs/global/kis_thread_safe_signal_compressor.cpp M +11 -1 libs/ui/KisDocument.cpp M +1 -10 plugins/tools/tool_transform2/kis_tool_transform.cc https://commits.kde.org/krita/b4dc82de116bdbe05a90e7e65071005fabb8e11b