Grow

The fundamental building block. Extends your structure by creating new segments from current endpoints, with control over length, angle, and width.

The Grow node extends the structure by creating new segments from current endpoints, with control over length, angle, and width. It takes an existing growth graph in and produces a Natsura graph that Simulate executes. Each Grow is one step of development; the Grow that ships is already a composition, carrying its own split, switch, and repeat internally so a single Grow can describe a whole branching habit.

Under the hood, growth is driven by a few raw parameters on grow_core (Length Scale, Width Scale, Pitch, Roll, Yaw, Offset, and Branch Count, the innate forking property). The Grow node maps these to friendlier controls: Multiplicity drives Branch Count on the first step, Forking drives it during recursive repetition. Forking (the innate Branch Count) creates probabilistic copies; splitting (via the Split node) creates explicit parallel branches in the topology.

Inputs

InputDescription
Input 0: GraphExisting growth graph.
Input 1: ParmsGeometry with a parms detail dictionary for external constants.
Input 2: Second GraphSecondary graph merged during repetition (for example, interleaving another recipe).

Outputs

OutputDescription
Output: GraphThe resulting Natsura graph.

Intrinsics

AttributeDescription
uNormalised progress along the current growth section.
idUnique identifier for the internode.
parent_idID of the parent internode.
generationRecursive depth from the root.
ageTime / step counter.
branch_countThe innate forking property (driven by Multiplicity or Fork settings).

Parameters

Seed

ParameterDescription
SeedGenerates a random value per node in the tree, used to drive effects that rely on randomness. Set per Grow, and used to derive a unique seed value for each component generated.

Phyllotaxy

ParameterDescription
Spiral Angle°Yaw is most relevant for secondary branches: it affects orientation on the parent stem. Yaw can be thought of as "swinging" around the parent axis and controls the phyllotaxy of branches along with the parent node roll.

Whorl

ParameterDescription
Whorl Angle°Determines whether the branch whorls are spaced evenly along an arc or circle.
Fork Branches ∞Branch count controls how many new internodes are created at the parent node. Used along with cone pitch and cone spread to determine whorling arrangements of secondary branches, or to introduce bifurcating growth and forks.
Fork SpreadBranch cone pitch is a placeholder control until more detailed control over branch whorls lands. For now, this value controls the angle of separation from the central or parent axis.
Fork WhorlSpread controls whether the branch whorls are spaced evenly along an arc or circle.

Arrangement

ParameterDescription
Start Pitch°Pitch in degrees; a "bending" action that works together with Roll to produce spiralling behaviour.
Start Yaw°Yaw is most relevant for secondary branches as it affects the orientation on the parent stem. Yaw "swings" around the parent axis and controls the phyllotaxy of branches along with the parent node roll.

Length Scale ∞

ParameterDescription
Length scale / stepInternode step length determines the scale of the growth step. If length mode is set to scale, this is a fraction of the length of the previous step.

Orient

ParameterDescription
ΔRoll °/stepRoll in degrees; a "spinning" action around the axis of growth. Roll works with Pitch to produce spiralling growth patterns.

Collision

ParameterDescription
Collision ModeBy default, Natsura simulations collide with the provided environment. More modes that simplify climbing behaviours are planned. You can already experiment with projecting components onto geometry, but similar results often come more controllably from thigmotropism via a Map.

Notes

  • Wire Map chains into any parameter for per-element variation driven by attributes like height, age, or randomness.
  • Every Grow has a built-in internal decoration for a quick meshed preview; for production output, attach external Surface, Cluster, or Trunk decorators.
  • The built-in repeat lets a single Grow generate recursive geometry; alternatively use Grow for a single step and wrap it in an explicit Repeat block.

See also: Simulation concept · Split · Repeat · Simulate