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

Rework winit runner #9034

Draft
wants to merge 13 commits into
base: main
Choose a base branch
from
Draft

Commits on Jun 26, 2023

  1. Configuration menu
    Copy the full SHA
    5685ec3 View commit details
    Browse the repository at this point in the history

Commits on Jun 28, 2023

  1. Move Render label

    B-head committed Jun 28, 2023
    Configuration menu
    Copy the full SHA
    a919628 View commit details
    Browse the repository at this point in the history
  2. Implement Sync to App

    Want to include `SubApp` in a system function,
    but `ExclusiveFunctionSystem` requires `Sync`.
    B-head committed Jun 28, 2023
    Configuration menu
    Copy the full SHA
    e10458b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f210bed View commit details
    Browse the repository at this point in the history
  4. Replace App::update() to World::run_schedule()

    Moved the responsibility for running top-level schedules
    from `App` struct to the runner function.
    B-head committed Jun 28, 2023
    Configuration menu
    Copy the full SHA
    91bb64d View commit details
    Browse the repository at this point in the history

Commits on Jul 3, 2023

  1. First aid bug fix

    B-head committed Jul 3, 2023
    Configuration menu
    Copy the full SHA
    28bcb95 View commit details
    Browse the repository at this point in the history

Commits on Jul 7, 2023

  1. Separate tick rate and frame rate

    Set `ControlFlow::WaitUntil` to the next tick update or redraw,
    whichever is closer.
    
    Prepare for changes in
    rust-windowing/winit#2900.
    B-head committed Jul 7, 2023
    Configuration menu
    Copy the full SHA
    ede9e64 View commit details
    Browse the repository at this point in the history
  2. Add resource to control winit runner

    Send events for control from resource `WinitHandler`,
    which contains `EventLoopProxy`.
    B-head committed Jul 7, 2023
    Configuration menu
    Copy the full SHA
    0f21d9c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    122a0d9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4b3b5b5 View commit details
    Browse the repository at this point in the history
  5. Add top-level schedules

    The top schedule was redefined so that fine control would not be impossible.
    
    - Schedule `Main` was split into `StartupFlow` and `UpdateFlow`.
      - The names of the sub-schedules (`Startup`, `Update`, etc.) have not been changed, so in many cases no migration is necessary.
    - Add `Control` schedule.
      - Each time an event is received from windows and devices, this schedule is run.
      - This is useful for responding to events regardless of whether tick updates take place.
    - Add `FrameReady` schedule.
      - Each time a frame is ready to be updated, this schedule is run.
      - This is the best place to decide whether to redraw.
    - Rename `Render` schedule to `RenderFlow`.
    
    Schedules that run sub-schedules are now named uniformly as `***Flow`.
    B-head committed Jul 7, 2023
    Configuration menu
    Copy the full SHA
    ebbfd6c View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    fe794a8 View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2023

  1. Configuration menu
    Copy the full SHA
    557408e View commit details
    Browse the repository at this point in the history