For a graphics-intensive application, this (or something custom with egui).
Bevy also doesn't need to redraw every N milliseconds or anything. You can create a custom game loop and redraw only when needed, whether that's 60fps or only on window event.
There's also no reason a Bevy app couldn't be embedded within a larger application. You can create the Bevy app when needed, render to a render target rather than the window surface, then manually draw that where you need to in your egui app. This also means you can stop the app, or at least the game loop, when it's not needed anymore.
You can clone the original, add fnmatch-regex2 as a remote, fetch it, and do a diff between them to see what changed if you want.
If you go with this route, do not open the code with rust-analyzer active because it might run build scripts and proc macros automatically.