Skip to content

Use vello#1718's inverse blurred rounded rects for box shadows (follow-up to #117) - #113

Draft
nicoburns wants to merge 1 commit into
devin/1791068178-box-shadow-apifrom
devin/1791048554-box-shadow-shape-inset
Draft

nicoburns wants to merge 1 commit into
devin/1791068178-box-shadow-apifrom
devin/1791048554-box-shadow-shape-inset

Conversation

@nicoburns

@nicoburns nicoburns commented Oct 3, 2026 •

Copy link
Copy Markdown
Member

Summary

Follow-up to #117, and based on it. It upgrades to linebender/vello#1718, then switches the Vello backends to its *_blurred_rounded_rect_in methods with invert. As a result, blurred inset shadows no longer need compositing layers. The draw_box_shadow API from #117 is unchanged.

// #117 (released vello)
inset  => geometry.draw_inset_with_layers(..)            // clip layer + DestOut layer
outset => push_clip_path(area); fill_blurred_rounded_rect(rect, r, σ, false); pop_clip()
// this PR
fill_blurred_rounded_rect_in(&geometry.area, &geometry.shadow.rect, r, σ, geometry.is_inset())
// classic vello: draw_blurred_rounded_rect_in(&geometry.area, .., geometry.is_inset())

Unblurred shadows and Skia are unchanged from #117.

Do not merge yet: Cargo.toml has a [patch.crates-io] that points vello* and glifo at the linebender/vello#1718 branch. It needs removing once that's released.

Link to Devin session: https://dioxus.staging.devinenterprise.com/sessions/45dbc6c083354777aaa43442ce8ef8ab
Open in Devin Desktop: https://dioxus.staging.devinenterprise.com/desktop/session/45dbc6c083354777aaa43442ce8ef8ab?variant=devin-insiders
Requested by: @nicoburns

@staging-devin-ai-integration

Copy link
Copy Markdown

I'll fix CI failures and address comments from users with write access that start with 'Devin'.

  • Disable automatic comment, CI, and merge conflict monitoring

@staging-devin-ai-integration staging-devin-ai-integration Bot changed the title Make draw_box_shadow fill a shape and support inset shadows Make draw_box_shadow take a CSS-style box/offset/spread and support inset shadows Oct 3, 2026
@staging-devin-ai-integration
staging-devin-ai-integration Bot changed the base branch from main to devin/1791068178-box-shadow-api October 3, 2026 22:59
@staging-devin-ai-integration staging-devin-ai-integration Bot changed the title Make draw_box_shadow take a CSS-style box/offset/spread and support inset shadows Use vello#1718's inverse blurred rounded rects for box shadows (follow-up to #117) Oct 3, 2026
Upgrade to the linebender/vello#1718 branch (via [patch.crates-io]) and draw
blurred box shadows with fill_blurred_rounded_rect_in / draw_blurred_rounded_rect_in
and invert, so inset shadows no longer need compositing layers.
@staging-devin-ai-integration
staging-devin-ai-integration Bot force-pushed the devin/1791048554-box-shadow-shape-inset branch from 7d34ab5 to eaf7913 Compare October 3, 2026 23:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant