Skip to content

Conversation

@vincentborko
Copy link
Contributor

  • blendMode: Maps SwiftUI blend modes to Compose BlendMode via graphicsLayer
  • drawingGroup: Forces offscreen rendering using CompositingStrategy.Offscreen
  • luminanceToAlpha: Converts RGB luminance to alpha using ColorMatrix filter
  • allowsHitTesting: Disables touch interaction via clickable(enabled: false)

Also added raw value Int conformance to BlendMode enum for bridging support and updated README

  • REQUIRED: I have signed the Contributor Agreement
  • REQUIRED: I have tested my change locally with swift test
  • OPTIONAL: I have tested my change on an iOS simulator or device
  • OPTIONAL: I have tested my change on an Android emulator or device

…odifiers

- blendMode: Maps SwiftUI blend modes to Compose BlendMode via graphicsLayer
- drawingGroup: Forces offscreen rendering using CompositingStrategy.Offscreen
- luminanceToAlpha: Converts RGB luminance to alpha using ColorMatrix filter
- allowsHitTesting: Disables touch interaction via clickable(enabled: false)

Also added raw value Int conformance to BlendMode enum for bridging support and updated README
- compositingGroup: Uses CompositingStrategy.Offscreen for blend mode isolation
- flipsForRightToLeftLayoutDirection: Flips content horizontally when RTL layout is active
SwiftUI composites the group first, then applies opacity to the flattened result. Compose applies each graphicsLayer independently.

Fix would require: The opacity modifier to detect when a parent has compositingGroup and use saveLayer with Paint.alpha instead of a separate graphicsLayer.
- Implement badge(_:) and badgeProminence(_:) modifiers for List items
- Add symbolVariant(_:) modifier with combinable variants (fill, circle, square, rectangle, slash)
- Add environment values for badge and symbolVariants
- Update Image to apply symbol variants from environment
@marcprux marcprux changed the title Add blendMode, drawingGroup, luminanceToAlpha, and allowsHitTesting modifiers Add badge, blendMode, drawingGroup, luminanceToAlpha, and allowsHitTesting modifiers Jan 17, 2026
@marcprux marcprux changed the title Add badge, blendMode, drawingGroup, luminanceToAlpha, and allowsHitTesting modifiers Add badge, symbolVariant, blendMode, drawingGroup, luminanceToAlpha, and allowsHitTesting modifiers Jan 17, 2026
@marcprux
Copy link
Member

This is looking great! I'll do a more complete review later this weekend, but if you get a chance, can you mention badge and symbolVariant in the README.md?

@vincentborko
Copy link
Contributor Author

yes I will. also - is it fine if I keep pushing my updates in this ongoing PR? or do you prefer a new branch to keep fewer changes per PR? for example here I needed the blendmode which wasn't yet merged. but I can also open new branches instead for unrelated changes.

@marcprux
Copy link
Member

is it fine if I keep pushing my updates in this ongoing PR?

Sure, that would be great. It is preferred, actually, since I need to cut a new release every time we need to sync testing changes between the dependent repositories.

Just convert this PR to a Draft (along with the associated PRs in skip-fuse-ui and skipapp-showcase-ui), and then when it is ready to go, take them out of draft ("Ready for Review") so I know that it is time to review, merge, and release.

@vincentborko
Copy link
Contributor Author

Alright, good to know. This PR is ready to review, but I'll keep it in mind for the future.

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