Before the native engine can evaluate a graph, it needs a runtime representation of its nodes, links, graph settings, parameters, and required dependencies. WonderTexture serializes that information and sends it to the engine, synchronizing source graphs before any parent graphs that depend on them.
Nested Graphs Have a Synchronization Order
If a Material Graph uses a Surface Detail Instance, and that instance points to a source graph, the engine needs the source before it can evaluate the parent. WonderTexture therefore resolves graph dependencies recursively and synchronizes them from the bottom up.
If a required source is missing or cannot synchronize, the dependent graph cannot be considered fully synchronized either.
Edits Do Not Always Require a Full Graph Rebuild
Once a graph is synchronized, normal parameter edits do not require a complete rebuild after every slider movement. WonderTexture identifies the changed node, marks the affected downstream branch, sends the relevant update to the engine, and recalculates only the work that needs it.
INCREMENTAL UPDATE Editing one branch marks that node and its downstream dependencies for recalculation while unrelated clean branches can remain cached.
What Does Dirty Mean?
A dirty node is simply one whose cached result may no longer match the current graph state. In Noise → Levels → Blur → Output, changing Noise makes Noise dirty and also affects Levels, Blur, and Output because they depend on it. An unrelated branch can stay untouched.
Source Graph Changes Can Affect Parent Graphs
Changes in a reusable source can propagate upward through every graph that depends on it. If Source Graph → Detail Graph → Material Graph, a meaningful edit to Source Graph can require both parent layers to update because their results ultimately depend on that source.
This dependency behavior is covered further in Parameters & Instancing.