Map

Mapping utility for driving sockets with constants, attributes, or randomized values. Each Map is one operation plus its blend, chained linearly to build variation.

Map

The Map node is a building block for parameter control.
Each Map applies one operation (constant, attribute, or randomize) and then blends the result with the incoming value to module a parameter value in space and time according to attributes.


Concept

  • Linear chain – Maps are evaluated in order, each taking the previous result and blending its own contribution.
  • Self-contained – Every Map defines both its operation and how to blend it (Replace, Add, Subtract, Multiply, Divide).
  • Modes
    • Constant – output a fixed scalar.
    • Map – map parm to a graph attribute such as u, age, or height.
    • Randomize – stable random per internode.

Maps currently form the backbone for controlling parameters in:

🛠️ For conditional or more complex blends, see Map If and Map Blend (in development).


Inputs

Input 0 — Previous Map
Value stream from upstream in the chain.

Output — Resulting Map
The new value, after this node’s operation and blend.


Parameters

  • Mode (mode)
    Operation type (Constant / Attribute / Randomize).
  • Attribute (attrib_quick)
    When in Attribute mode, pick a graph attribute (e.g. u, age, height).
  • Ramp (map_ramp)
    Remap attribute values across 0–1.
  • Random Range (rand_min, rand_max)
    Defines output span for Randomize mode.
  • Blend Operation (graph_threshold_operation)
    How this Map combines with the incoming value: Replace / Add / Subtract / Multiply / Divide.

Workflow

  1. Add a Constant Map to seed a base value.
  2. Append an Attribute Map (like u) with a ramp to sculpt progression.
  3. Insert Randomize Maps to introduce irregular variation.
  4. Blend them in sequence — each Map handles its own blending.
  5. Feed the final output into a socket of Grow, Wrangle, or Switch.

Examples

  • Taper by growth – Attribute = u, ramped 1 → 0.3, Replace → drives branch width in Grow.
  • Random gating – Attribute = random, ramped 0 → 1, Replace → into Switch.
  • Variation in fork chance – Attribute = u, ramped 0 → 1.0, Replace → into branch probability in Grow.

Notes

  • Maps are evaluated during Simulate.
  • Current system is strictly linear: each Map modifies the stream in sequence.
  • Map If and Map Blend will introduce non-linear logic in future releases.