Simulate
The Simulate node is the engine of Natsura. It takes the abstract graph recipe and executes it to generate geometry.
- Execution: Traverses the graph, running the logic defined by Grow, Split, Repeat, etc.
- Resolution: Evaluates all mappings, effectors, and conditions.
- Generation: Produces the final skeleton and decoration geometry.
Concept
Build vs. Run In Natsura, you first build a graph (using Grow, Split, etc.) and then run it with Simulate. The graph defines the "DNA" of the plant; Simulate grows the plant.
Solver Loop Simulate runs a feedback loop. In each step:
- Active tips grow (Grow nodes).
- Conditions are checked (Switch, Prune).
- Attributes are updated (Wrangle, Repeat).
- New tips are spawned (Split, Fork).
Inputs
- Input 0 — Graph The Apex graph to simulate.
- Input 1 — Parms (Optional) Global parameter dictionary.
- Input 2 — Points (Optional) Source points for "Grow from Points" mode.
Parameters
Simulation
- Max Steps: Safety limit for the simulation loop.
- Seed: Global random seed.
Output
- Output Skeleton: Generates the line graph.
- Output Decorations: Generates instanced geometry (leaves, etc.).
Attributes
Simulate outputs standard attributes on the generated geometry:
id,parent_id,generationu,age,width,radiusorient,scale,variant(on decorations)
Workflow
- Construct your graph using Grow and other nodes.
- Connect the end of the graph to Simulate.
- (Optional) Connect scatter points to Input 2 to grow many instances.
- Visualize the output.
Related Nodes
Repeat
Defines a looping block in the graph. Encapsulates a subgraph between Repeat Begin and Repeat End, re-evaluating it N times with time-varying attributes.
Split
Creates explicit parallel branches in the growth graph. Distinct from innate forking, Split allows you to fork the topology into separate, distinct logical paths.