mirror of
https://github.com/storytold/effectcraft.git
synced 2026-10-14 19:27:05 -04:00
An authored layer's effect buffer spanned only its painted content — the glyph bounding box for text, the drawn bounds for shapes — while the size the stack measures from (effect_bounds) is the whole comp-sized layer rectangle. Tiling and displacement effects computed correct output for pixels outside the painted rectangle and then wrote them into the buffer that was too small, so CC Tiler repeated only within the text box and CC Smear lost its liquid trail at the glyph edge (#658). Buf::cover now grows the stack's input to the layer's rectangle with transparent margins — what a sized source's buffer already is — applied by run_effect_stack whenever an enabled video effect will run, and natively on the GPU by reallocating and copying the texture. The placement and the sized-source paths are unchanged; two regression tests (CC Tiler spans the region, CC Smear trails past the text bounds) fail without the growth.