rerun icon indicating copy to clipboard operation
rerun copied to clipboard

Update egui to latest master

Open lucasmerlin opened this issue 10 months ago • 7 comments

Related

What

I was curious how my work on egui menus and popups would work in rerun, so I gave it a try.

Findings so far

  • ~The new tooltip positioning works well unless we scroll in the scroll area. Maybe we should intersect the widget rect with the clip rect.~ Fixed!

https://github.com/user-attachments/assets/54e7ffb1-f0a9-4f2d-8776-e0bea8777903

lucasmerlin avatar Feb 21 '25 08:02 lucasmerlin

Web viewer built successfully. If applicable, you should also test it:

  • [ ] I have tested the web viewer
Result Commit Link Manifest
c0e5a14 https://rerun.io/viewer/pr/9103 +nightly +main

Note: This comment is updated whenever you push a commit.

github-actions[bot] avatar Feb 21 '25 08:02 github-actions[bot]

~This seems to break resizing of panels, probably an egui bug?~

Fixed!

lucasmerlin avatar Feb 28 '25 09:02 lucasmerlin

Found a couple more egui bugs:

  • https://github.com/emilk/egui/pull/5799
  • https://github.com/emilk/egui/pull/5798

lucasmerlin avatar Mar 13 '25 17:03 lucasmerlin

The image loader now being async makes tests that have images (so basically all rerun tests) flakey 🙁 Maybe Harness::run could somehow check if there are any in-progress images and automatically do the run_realtime thing (where it calls thread::sleep between each frame)?

lucasmerlin avatar Apr 24 '25 12:04 lucasmerlin

Also, basically all snapshots containing text have changed. Seems like text is slightly less strong now. Wondering if this was caused by this? https://github.com/emilk/egui/pull/5824

lucasmerlin avatar Apr 24 '25 12:04 lucasmerlin

Text rendering changed in

  • https://github.com/emilk/egui/pull/5838

So it is expected that all screenshots with text changes.

The text should be more crisp and clear now though

emilk avatar Apr 24 '25 12:04 emilk

The image loader now being async makes tests that have images (so basically all rerun tests) flakey 🙁 Maybe Harness::run could somehow check if there are any in-progress images and automatically do the run_realtime thing (where it calls thread::sleep between each frame)?

Or we disable the background loading in tests, somehow (making them blocking instead)

emilk avatar Apr 24 '25 17:04 emilk

Or we disable the background loading in tests, somehow (making them blocking instead)

I guess that could work, but I think waiting-for-something-async is still something we need better support for.

lucasmerlin avatar Apr 30 '25 07:04 lucasmerlin

~Now I'm running into https://github.com/emilk/egui/issues/6772 (some debug assert triggers when showing a button).~

~Fix is here: https://github.com/emilk/egui/pull/6900~

Fixed!

lucasmerlin avatar Apr 30 '25 08:04 lucasmerlin

Or we disable the background loading in tests, somehow (making them blocking instead)

PR: https://github.com/emilk/egui/pull/6901

lucasmerlin avatar Apr 30 '25 09:04 lucasmerlin

Clicking links in egui_commonmark is broken 😔:

https://github.com/user-attachments/assets/5f9eaba3-c20c-429b-93d0-2751ef95be23

Edit: Fix: https://github.com/emilk/egui/pull/6905

lucasmerlin avatar Apr 30 '25 12:04 lucasmerlin

I've added snapshot_with_broken_pixels which takes a count of broken pixels, with the following benefits over snapshot_with_broken_pixels_threshold

  • no need to calculate the num_pixels
  • can directly use the diff value from a failed ci job
  • if even a single pixel more changes in a future update the test is ensured to fail

lucasmerlin avatar Apr 30 '25 15:04 lucasmerlin