GithubHelp home page GithubHelp logo

Comments (4)

eidloi avatar eidloi commented on June 28, 2024

This issue can be reproduced in sickle_ui:

Checkout https://github.com/UmbraLuminosa/sickle_ui/tree/55405d0c4bc39be0a7937d936eb9235b11916a7b
uncomment line https://github.com/UmbraLuminosa/sickle_ui/blob/55405d0c4bc39be0a7937d936eb9235b11916a7b/crates/sickle_ui_scaffold/src/theme/pseudo_state.rs#L22 (and import the enum)

Start the example cargo run --example simple_editor

If the line is commented out it will start normally.

NOTE: The branch points to local bevy folder instead of the repo!

from bevy.

benfrankel avatar benfrankel commented on June 28, 2024

Adding a system that is both .after(VisibilityPropagate) and .before(ThemeUpdate) implicitly forces VisibilityPropagate to run .before(ThemeUpdate), which in turn runs .before(UiSystem::Layout).

This creates a cycle:

  1. TransformPropagate
  2. VisibilityPropagate
  3. propagate_visibility_to_pseudo_state
  4. ThemeUpdate
  5. UiSystem::Layout, which contains ui_layout_system
  6. TransformPropagate

from bevy.

eidloi avatar eidloi commented on June 28, 2024

Adding a system that is both .after(VisibilityPropagate) and .before(ThemeUpdate) implicitly forces VisibilityPropagate to run .before(ThemeUpdate), which in turn runs .before(UiSystem::Layout).

This creates a cycle:

1. `TransformPropagate`

2. `VisibilityPropagate`

3. `propagate_visibility_to_pseudo_state`

4. `ThemeUpdate`

5. `UiSystem::Layout`, which contains `ui_layout_system`

6. `TransformPropagate`

Yes, and looking at VisibilityPropagate it is set only after TransformPropagate. Does this mean TransformPropagate moved later in the schedule in 0.14 or was UiSystem::Layout moved earlier? I didn't have this issue before.

from bevy.

eidloi avatar eidloi commented on June 28, 2024

BTW this is not blocking for the moment, It just means that the theme in sickle_ui will be updated a frame later in some cases, but I have to see how much noticeable flicker it introduced.

from bevy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.