Keep native control renders responsive (#3306)

* Keep native control renders responsive

* Refresh replies for immediately completed render jobs

* #3289: Bind waiting replies to their native render
This commit is contained in:
FredApps
2026-11-08 16:43:06 +01:00
committed by GitHub
parent 07be19d402
commit 86c08aa0ee
20 changed files with 950 additions and 29 deletions
+5 -1
View File
@@ -734,7 +734,11 @@ fn stop(s: &mut Session, _: &Value) -> Result<Value> {
}
fn list(s: &mut Session, _: &Value) -> Result<Value> {
s.poll_render();
// The suspended script's frontend applies post-render edits before resuming it. A
// control inspection must not apply those edits while the undo-group guard is active.
if s.script_ui.render_host.is_none() {
s.poll_render();
}
let items: Vec<Value> = s.project.render_queue.iter().enumerate().map(|(k, i)| item_json(s, i, k)).collect();
Ok(json!({"items": items, "rendering": s.is_rendering(), "progress": s.render_progress()}))
}