Mapping

Control parameters dynamically with attribute-driven mapping chains. The heart of Natsura’s variation and responsiveness.

Mapping

Mapping is how you make Natsura’s plants dynamic and alive.
Instead of leaving parameters constant, you can promote them to a mapping socket, where they’re driven by attribute values, functions, or other data over space and time.


What Mapping Is

  • Parameters are fixed numbers.
  • Mappings are chains of nodes that transform attribute values into parameter values.
  • Each node in a chain modifies the result, and the last node owns the final value.

Think of mapping as a signal path:
attributes → maps → blended result → drives a socket.


Why It Matters

Without mapping, a Grow node is static: every branch would be identical.
With mapping, you can:

  • Taper width along u (repeat index).
  • Make branches bend toward light using a phototropism effector.
  • Randomize fork probability per branch ID.
  • Gate decorations to appear only after a certain age.

Mappings are what make variation, naturalism, and responsiveness possible.


How It Works in Simulation

During Simulate:

  1. Attributes (u, age, root_distance, effectors, etc.) are sampled.
  2. The mapping chain transforms those values.
  3. The result is fed into the socket on Grow, Switch, Decoration, or other nodes.

Because simulation is deferred, mappings are applied consistently at every growth step.


Mapping Nodes

Map

The basic building block. Remaps an attribute or constant, blends with previous results, or generates random values.

  • Supports blending modes: replace, add, subtract, multiply, divide.
  • Can operate in constant or random mode.

Map If

Conditional logic.
Chooses between two map chains based on a test (e.g. age > 3).

Map Blend

Blends two map chains according to a mode: add, subtract, multiply, etc Useful for smooth transitions (e.g. between two taper profiles).


Where You Can Use Mapping

Mappings can currently be connected to:

  • Grow — most parameters, including length, width, fork probability, spirals.
  • Switch — control which branch of the graph is active at each step.
  • Wrangle — expose custom attributes and logic to mapping.
  • Decorations — some parameters on Surface, Cluster, and Select Decorations.

More nodes will support mapping in future releases.


Notes on Mapping Chains

  • Chains are linear. Each Map owns the blend into the result.
  • Inputs are clamped where necessary, but outputs are not.
  • You can access ancestry attributes (self, parent, parent+N).
  • u is the normalized repeat index, reset per Grow repeat.

Typical Uses

  • Taper a branch — map Per-Step Width to ramp from 1.0 → 0.3 along u.
  • Phototropism — use an effector vector, mapped into bend strength.
  • Irregular forking — noise-driven map into Fork Probability.
  • Conditional leaves — use Map If with age > 2 to gate decoration visibility.

This page is under construction.
Future updates will include detailed attribute references, visual examples, and advanced use cases.