forked from 1b-agent/opencadstudio-upstream
H7CAD was subscribing to window::frames() unconditionally, so iced kept firing Message::Tick at the display refresh rate even when nothing on screen was changing. That re-ran update() and the view-tree builder ~60 times a second and showed up as 2-3% idle CPU on Windows. Gate the subscription on `self.opening.is_some()` (the only thing that actually needs per-frame redraws today — the file-open progress indicator). Camera-change detection moves with the events that drive it since user input already wakes iced. Closes #18 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>