Files
effectcraft/crates
vangel76andClaude Opus 5.5 b9e859fe3f Masks: feather reaches into the layer from a mask outside it, as in After Effects
The mask coverage was rasterised into the layer-sized buffer and then
blurred, so coverage outside the layer counted as 0: a feathered mask
past the layer edge faded at that edge, and one just outside the layer
gave nothing (the comment said the buffer grew; nothing grew it).

A feathered mask is now rasterised on a grid padded by the blur's whole
support (3 sigma + 3 for the Gaussian, the box radius for a linear
falloff), blurred there and cropped back to the buffer. Wide feathers
(sigma > 32 px) use a grid coarser per axis so the blur spans ~16 grid
pixels, which keeps the allocation near the buffer's size (feather 1000
on 1920x1080: a 160x134 grid instead of ~20 Mpx); the grid is capped,
feathers are clamped and non-finite ones ignored. Unfeathered masks and
masks inside the layer give the same coverage as before. The GPU uses
these CPU masks (adjustment footprint, masked sources): no GPU change.

Tests: case 398 of the .aep corpus rebuilt in the project model (red
solid, adjustment layer with a default Gradient Ramp, a 1920x200 mask
below the layer, feather 1000) within 3 levels of the Gaussian and
within 14 of After Effects' render; a mask right of a solid, a mask
larger than the layer (edges stay opaque), linear falloff, half
resolution, and huge or broken feathers.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 16:33:44 +02:00
..
2026-10-18 09:35:35 -04:00
2026-10-18 09:37:06 -04:00
2026-10-18 09:35:35 -04:00
…
2026-10-18 09:35:35 -04:00
2026-10-18 09:35:32 -04:00
2026-10-18 09:35:33 -04:00
…
2026-10-18 09:35:34 -04:00
2026-10-18 09:36:05 -04:00
2026-10-18 09:35:33 -04:00
2026-10-18 11:12:44 -04:00