perf: remove large drawing stalls

Keep resident geometry and GPU resources stable across edits, MSPACE zoom, and Model/Paper switches. Add unified PERF output for tracing remaining costs.
This commit is contained in:
Hakan Seven 2026-07-25 13:34:48 +03:00
commit 12bf126646
26 changed files with 794 additions and 325 deletions

View file

@ -305,7 +305,8 @@ pub(super) struct OpenCADStudio {
/// press-drag draws a rectangle marquee.
pick_drag_rect: bool,
/// Frame-budget HUD (Phase 5.3): overlays the last wire re-tessellation
/// cost on the active viewport. Toggled by the `PERF` command.
/// cost and the shared performance trace on the active viewport. Toggled
/// by the `PERF` command.
perf_hud: bool,
/// When set, the cycling list box is open: (canvas point, candidates).
cycle_candidates: Option<(iced::Point, Vec<acadrust::Handle>)>,
@ -1501,6 +1502,10 @@ pub enum Message {
CommandHistoryCopy,
/// Clear every line from the command-line history.
CommandHistoryClear,
/// Copy every line currently retained by the PERF panel.
PerfCopy,
/// Clear the PERF panel's retained trace.
PerfClear,
/// Text-editor action from the read-only history dropdown. Only
/// non-editing actions (cursor moves, selection, scroll) are applied so
/// the log stays read-only while remaining drag-selectable and copyable.