[Plugin API] Restrict subsequent `onMacroRendererSlotted` calls

Discussion for plugin devs

Editor.onMacroRendererSlotted calls when need to render the block and sometimes it happens too often.

It calls on:

  1. Exit from edit block state (Esc, Enter, arrows keys, etc.)
  2. Dragging the block to another place
  3. Appearing in query results in other block / page / portal
  4. Tooltip view of block
  5. Embedding or referencing block
  6. And… on block selection state change :man_shrugging:

The last point becomes annoying, when block rendering takes some time or show UI messages.
See the provided demo:
233783666-553d0a8e-760e-459b-87db-cc890287a21d

So proposal is to have a way to recognise the reason of rendering and prevent it (if need be).

  • Do you have any thoughts on this?
  • Is it a bug or a feature?
  • Is there any (not listed) cases when rendering of block occurs?