We have commands queue which executed in render thread, directly between QQuickWindow::beforeRendering and QQuickWindow::afterRendering, commands do changes on data model, and when data model changes it immediately notify our custom OpenGL render engine to sync data.
The problem is when data model changes it also notify subscribers who aim to update UI.
But it is error prone approach to update UI from different thread. One way is using Qt::QueuedConnection. This is error prone too because when it come executed model may go to far state.
Design is very similar to this example.
Is it possible for example update QStadardItemModel linked with QML from render thread?