This a proof of concept of a confetti view in SwiftUI. I'm using it in production in my apps Personal Best and Taylor's Version. It runs smoothly at 60fps (120fps on ProMotion-enabled devices) and includes haptic feedback.
The main interface is a
View extension, which allows confetti to be attached to any view:
Text("Hello world") .withConfetti(isVisible: $confettiVisible)
ContentView.swift for where it's used.