With panels you can get an update on every change. But it the panel is hidden then you no longer get those update events.
I have a plugin that has a function that can be enabled to run on every update. If a user switches over to a built in UI panel the Plugins panel is automatically hidden and update is not called.
Would it be possible to have update called even when the panel is hidden?
In my plugin I export to an HTML page. Since panel support I have a feature called Auto Export that exports the page as you make changes. It’s a sort of “live” preview.
If the panel is closed I no longer get panel.update() calls and Auto Export stops working.
You can use setTimeout, but it’s also possible that you may inadvertently get in the way of the user making edits if you do renditions in the background. Some of these can make it impossible to edit text (or your renditions may fail if the user is editing text).