Skip to content

MatchedGeometryEffectClipShapeModifierExample buggy behavior #984

Description

@Kyle-Ye

Description

MatchedGeometryEffectClipShapeModifierExample does not render the same transition in OpenSwiftUI as it does in SwiftUI. The standard MatchedGeometryEffectModifierExample now behaves correctly, so the remaining problem appears specific to the clipShape overload and .clipRect rendering path.

Reproduction

Due to jcmosc/Compute#60, set up the project with Apple's AttributeGraph backend:

./setup.sh

Do not use ./setup.sh --compute, because the example currently crashes with the Compute/IAG backend.

Then use the clip-shape example as the root view:

struct ContentView: View {
    var body: some View {
        MatchedGeometryEffectClipShapeModifierExample()
    }
}

Run the Example app with OpenSwiftUI.

Expected behavior

The clipped content transitions between the source and destination frames with the same compositing order as SwiftUI, then finishes exactly at the destination frame.

Actual behavior

The transitioning clipped content remains visually on top throughout the animation, and its final rendered position does not align with the destination endpoint.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: animationAnimation, transitions, transactions, or timing behavior.area: renderingDisplayList, render backends, renderer hosts, drawing, and effects.contrib: help wantedPR contribution is appreciated.impact: visual-diffVisual mismatch, screenshot diff, or rendering fidelity issue.type: bugSomething is not working correctly.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions