[Bug...?] Macro world will rebuild itself entirely when placing or editing a node

Hello again,

I was working on my macro recently, and when I tried to edit it, WM would discard the build results of previous nodes inside the macro, and attempt to rebuild the macro again. This would lock up node parameters and it makes it hard to edit my macro as I have to wait around 10 seconds for the previous nodes to build first.

Is this the intended behavior or is it an actual bug?

This is - maybe - intended behavior in the last version, in that in order to reduce memory consumption, macros no longer always keep their inner intermediate results.

However, once the inner world is being built (because it is an active workview), it shouldn’t be having to re-build the devices unnecessarily.

The one difference between 3028 and 4019 is that 3028 would preserve innards if the workview shows the option of editing the workview, not just if it is an active workview. This may be a better behavior, as just because you’ve toggled back to the outside world shouldn’t cause the results to be discarded.


Just a follow-up:

I’ve confirmed that this unwanted rebuilding still exists even in 4020. Fixing this actually involves very carefully segmenting the way that WM invalidates a device into “invalidated from new input” and “invalidated from internal change” - for most devices these are the same, but not a macro.