292baa2a1d
Baking simulations for an object with more than one geonodes modifier creates cache folders for _all_ modifiers, even if some of them do not actually have simulation zones. The simulations zones also don't need to be connected to the output to generate cache folders. This patch restricts cache folder generation to modifiers which actually have simulation zones and use them. Extra cache folders were created because executed modifiers were only checking if a simulation state exists and not whether it contains actual zone data (`sim_state->zone_states_.is_empty()`). The modifiers are always executed if the object is evaluated by the depsgraph, which happens if _any_ of the modifiers is time-dependent. Time dependency in turn is enabled if a simulation zone exists in the tree, regardless of whether it is used. Checking for zone states in the cache output during baking lets us decide if a cache folder is needed. Pull Request: https://projects.blender.org/blender/blender/pulls/108278