Observation
User feedback (correctly self-diagnosed): pop-up dialogs like the Top Consumers / process history view can't extend past the main application window's bounds, only within it.
Why
This is a real Dear ImGui characteristic, not a pex-specific bug: without `ImGuiConfigFlags_ViewportsEnable` (multi-viewport support), every ImGui window renders inside one single native OS window — none of them can become independent, freely-positioned native windows.
The decision to make
Enabling multi-viewport is a real but non-trivial investment: it requires backend support in both the platform layer (GLFW) and the renderer. GLFW+OpenGL has reasonably well-trodden multi-viewport support upstream; GLFW+Metal (this project's macOS renderer, `imgui_renderer_metal.mm`) is comparatively less commonly documented and would likely need more custom work to get viewports rendering correctly per-platform-window.
Worth deciding whether this is worth pursuing given the UX payoff vs. the cross-platform backend work, before scoping it as a task.
Observation
User feedback (correctly self-diagnosed): pop-up dialogs like the Top Consumers / process history view can't extend past the main application window's bounds, only within it.
Why
This is a real Dear ImGui characteristic, not a pex-specific bug: without `ImGuiConfigFlags_ViewportsEnable` (multi-viewport support), every ImGui window renders inside one single native OS window — none of them can become independent, freely-positioned native windows.
The decision to make
Enabling multi-viewport is a real but non-trivial investment: it requires backend support in both the platform layer (GLFW) and the renderer. GLFW+OpenGL has reasonably well-trodden multi-viewport support upstream; GLFW+Metal (this project's macOS renderer, `imgui_renderer_metal.mm`) is comparatively less commonly documented and would likely need more custom work to get viewports rendering correctly per-platform-window.
Worth deciding whether this is worth pursuing given the UX payoff vs. the cross-platform backend work, before scoping it as a task.