Filip Sajdak 7ae57a035f
🐛 Position overlays by frame selrect, not filter-inflated bounds (#10454)
calc-overlay-position measured the destination overlay frame with its full
object bounds (get-object-bounds) while measuring the relative-to frame with
its selrect. Object bounds include padding for shadows, blur, outer strokes
and overflowing children, so centered/right/bottom overlays were shifted by
half that extra padding when the overlay frame had such effects (the overlay
appeared offset, e.g. a bit to the left).

Use the destination frame selrect (the visible frame box) instead, which
matches the sibling helper calc-overlay-pos-initial and the viewer, which
reserves the bounds size and re-aligns the selrect separately. The now unused
geom.shapes.bounds require is removed.

Adds a regression test asserting calc-overlay-position returns the same
position with and without a bounds-inflating drop shadow on the destination
frame.

Fixes #9048

Signed-off-by: Filip Sajdak <filip.sajdak@siili.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Andrey Antukh <niwi@niwi.nz>
2026-08-04 16:42:55 +02:00
..
2026-06-18 11:05:14 +02:00
2026-05-29 11:24:58 +02:00
2026-05-29 11:24:58 +02:00
2026-05-29 11:24:58 +02:00
2022-11-08 13:02:14 +01:00
2026-05-29 11:24:58 +02:00
2026-05-29 11:24:58 +02:00
2026-05-29 11:24:58 +02:00
2026-05-29 11:24:58 +02:00
2026-05-29 11:24:58 +02:00
2026-05-29 11:24:58 +02:00
2026-05-29 11:24:58 +02:00