Skip to content

feat: Run shadow CSS transitions on Core Animation#9685

Merged
MatiPl01 merged 2 commits into
mainfrom
@matipl01/css-platform-shadow-props
Jun 17, 2026
Merged

feat: Run shadow CSS transitions on Core Animation#9685
MatiPl01 merged 2 commits into
mainfrom
@matipl01/css-platform-shadow-props

Conversation

@MatiPl01

@MatiPl01 MatiPl01 commented Jun 17, 2026

Copy link
Copy Markdown
Member

Stacked on #9654.

Adds shadowColor, shadowOpacity, shadowRadius and shadowOffset to the CSS transition properties run on Core Animation, reusing the same value-agnostic apply as opacity.

Verified in the simulator: all four interpolate smoothly on Core Animation.

@MatiPl01 MatiPl01 self-assigned this Jun 17, 2026
@MatiPl01
MatiPl01 requested a review from wisniewskij June 17, 2026 12:02
Base automatically changed from @matipl01/css-platform-transition-values to main June 17, 2026 15:31
MatiPl01 added 2 commits June 17, 2026 17:36
Add shadowColor, shadowOpacity, shadowRadius and shadowOffset to the
platform-routed catalog. They ride the existing value-agnostic apply with
no shadow-node eligibility: shadows are main-layer properties, independent
of RN's border/background fast path. Behind IOS_CSS_CORE_ANIMATION.
@MatiPl01
MatiPl01 force-pushed the @matipl01/css-platform-shadow-props branch from 5c30605 to 1a31c09 Compare June 17, 2026 15:40
@MatiPl01
MatiPl01 requested a review from tjzel June 17, 2026 15:47
@MatiPl01
MatiPl01 added this pull request to the merge queue Jun 17, 2026
Merged via the queue into main with commit b69e417 Jun 17, 2026
9 checks passed
@MatiPl01
MatiPl01 deleted the @matipl01/css-platform-shadow-props branch June 17, 2026 15:59
pull Bot pushed a commit to esinanturan/react-native-reanimated that referenced this pull request Jun 17, 2026
…ftware-mansion#9689)

Stacked on software-mansion#9685.

Adds `backgroundColor`, `borderColor`, `borderWidth` and `borderRadius`
to the CSS transition properties run on Core Animation (`borderRadius`
maps to CALayer's `cornerRadius`).

Known limitation (TODO in code): these route unconditionally, but RN
rasterizes the border and snaps the value when a view fails
`useCoreAnimationBorderRendering`. A follow-up will run them on the
platform only when it can produce a correct result.

Verified in the simulator: on a CA-eligible (clipping) view all four
interpolate smoothly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants