Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Conversation

@jonahwilliams
Copy link
Contributor

@jonahwilliams jonahwilliams commented Aug 14, 2024

The position of this circle actually depends on the computed bounds hint, whereas I believe the semantics of the bdf are such that the position should not change.

By adding an item that changes the bounds hint positon, the rendering offset of the circle changes - whereas it should have alwas been in the changed position.

@flutter-dashboard
Copy link

Golden file changes have been found for this pull request. Click here to view and triage (e.g. because this is an intentional change).

If you are still iterating on this change and are not ready to resolve the images on the Flutter Gold dashboard, consider marking this PR as a draft pull request above. You will still be able to view image results on the dashboard, commenting will be silenced, and the check will not try to resolve itself until marked ready for review.

Changes reported for pull request #54548 at sha 49d0a3d

@jonahwilliams
Copy link
Contributor Author

This doesn't actually fix the bug, i'm just throwing it out there so you can (hopefully) double check my math that this is broken

@bdero
Copy link
Member

bdero commented Aug 14, 2024

Based on the golden results and the matrix being applied to the BDF, the BDF matrix is being applied to the subpass texture's local space (which is always just a translation to offset the texture relative to the parent pass) rather than the screen space origin.

I don't think this is good behavior, and I agree that the after results are the "consistent" behavior, but I would double-check that this behavior doesn't reproduce with Skia, since we've had a lot of drama with stuff like the Cupertino text magnifier being broken against more consistent behavior (which lead us to this solution).

@bdero
Copy link
Member

bdero commented Aug 14, 2024

This behavior reproduces as far back as: #43990 (July 2023) when I wrote the original version of this test. Based on the given BDF matrix, the circle shouldn't actually be placed at the edge of the bigger circle.

@bdero
Copy link
Member

bdero commented Aug 14, 2024

An inversion of the "global pass offset" that will be given to the subpass would need to be prepended here to place the origin at the top left of the screen.

Another possibility is that Skia's behavior is to do it relative to the bounds hint origin whenever one is supplied. In which case the inverted bounds hint origin would need to be prepended instead.

@chinmaygarde chinmaygarde added the Work in progress (WIP) Not ready (yet) for review! label Aug 22, 2024
@chinmaygarde
Copy link
Member

This was an attempt to turn on the goldens.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants