Layer Alpha Preserve ==================== *Status*: proposal *Author*: Carsten Hartenfels *Submission data*: 25 October, 2023 *Implementations*: `Krita `_, `Drawpile `_ Several drawing programs support alpha-preserving blend modes on layers, which will blend the color channels as normal, but leave the alpha channel as-is. This is sometimes also called by other names, such as alpha inheritance or clipping groups. The base OpenRaster specification only allows this for a single case: the composite-op ``svg:src-over`` has an alpha-preserving variant in the form of ``svg:src-atop``. To include this information for other blend modes, the ```` element in a layer stack definition should support the following extra attribute: "``alpha-preserve``" the alpha preserve status of the layer, expressed as an `xsd:boolean `__. True values ("``true``", canonically), mean that the layer should be blended without modifying the alpha channel. False values ("``false``", canonically) mean that it should be blended regularly. The default is false. This attribute must not be used together with the ``svg:src-over`` or ``svg:src-atop`` composite-ops. Example ------- :: Impact on Applications ---------------------- Applications that support or require alpha-preserving blend modes should store and load this information accordingly, blending the image as intended. Otherwise, the application should ignore the attribute. Applications may recognize the incorrect combination of ``svg:src-over`` with alpha preserve as equivalent to ``svg:src-atop``. Applications should disregard the alpha-preserve attribute on ``svg:src-atop`` layers. The alpha-preserve attribute must be omitted when saving for the archival intent. Support ------- Implemented in Krita and Drawpile as of 2023-10-21.