Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Always use the correct representation when drawing image #2044

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Commits on Nov 24, 2021

  1. Always use the correct representation when drawing image

    Before this change, the image asset (which may contain multiple reps
    of an image for differing traits) was only consulted when the trait
    collection changed. But in cases where display was scheduled
    on the node and the trait collection had not changed, the image node
    ends up with the default representation instead.
    
    An example of this:
    
    You have an image asset with two versions: light (default) and dark.
    The device is currently in dark mode
    The image is being presented in an item in a collection node.
    
    1. Item node is first added to hierarchy. Trait collection doesn't match
    so regenerateFromImageAsset=true.
    2. Dark image is rendered, as expected
    3. Item node is scrolled off screen
    4. Item is scrolled back on screen
    5. This triggers display on the item node
    6. Trait collection has NOT changed so regenerateFromImageAsset=false
    7. So, imageAsset is not consulted and default (Light) image is rendered
    
    After looking at this a lot, I don’t see any reason why we need the
    regenerateFromImageAsset flag at all (introduced in TextureGroup#1663).  Whenever
    the image node is displayed we need to make sure we are generating the
    correct representation.
    bdolman committed Nov 24, 2021
    Configuration menu
    Copy the full SHA
    fa9bbe8 View commit details
    Browse the repository at this point in the history