UI: Fix the QML engine instant coding feature#3156
Conversation
f601952 to
ad8fd84
Compare
There was a problem hiding this comment.
Code Review
This pull request refactors the QML engine setup in Meshroom. Specifically, QmlInstantEngine in meshroom/ui/utils.py has been refactored to inherit from QObject instead of QQmlApplicationEngine directly, wrapping an internal engine instance and introducing a setupEngine callback to cleanly handle initial loads and hot reloads. meshroom/ui/app.py has been updated to adapt to this new architecture. The review feedback highlights a critical bug in setupEngine where accessing self.engine instead of the passed engine parameter will raise an AttributeError. Additionally, the feedback suggests optimizing engine initialization, increasing the debounce timer interval to properly handle rapid file system events, and robustly re-adding watched files to prevent file-watching loss during 'safe saves'.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #3156 +/- ##
========================================
Coverage 86.07% 86.07%
========================================
Files 78 78
Lines 12111 12111
========================================
Hits 10425 10425
Misses 1686 1686 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
ad8fd84 to
ef9fefd
Compare
222d165 to
5ba82e0
Compare
|
Comment from #3159 self._debounceTimer = QTimer(parent=self, singleShot=True, interval=100) |
642deb6 to
c683b57
Compare
c683b57 to
4b61d40
Compare
Description
Fix the QML engine instant coding feature