Skip to main content

Flow Properties & Hierarchy

The hierarchy of values in flow definitions vs the geometries they're applied to

Written by Holly Conrad Smith

A parking flow applied to ten lots is one flow definition doing the work ten times. Knowing which values live on the flow definition and which live on each geometry tells you whether a change reaches one lot or all ten.

Properties in Giraffe usually work at two levels: usage and instance. Flows add another layer: the flow definition, shared by every geometry it's applied to, and the values each geometry keeps for itself.

Flow definition properties

The flow definition is shared by every geometry that uses the flow. It holds:

  • The flow graph: the nodes and wires that generate the result. Learn how a flow graph fits together in Anatomy of a Flow.

  • Input defaults: the default value set on each input parameter or transform node. Flow Controls shows these values until a geometry sets its own.

  • Default properties: values like usage and levels that a new geometry starts with when you draw it with the flow. Set these in Edit Flow Metadata and Default Properties.

Changes to the flow graph reach every geometry that uses the flow.

Applied flow properties

Each geometry with a flow applied keeps its own values, separate from the flow definition:

  • Input values: any input you change in Flow Controls. The value applies only to the selected geometries.

  • Geometry properties: the geometry's own usage, levels, and other properties. The flow reads these through its read feature node.

Which value a flow input uses

Each flow input uses the geometry's own value first, then falls back to the flow definition.

The geometry has…

The flow uses…

Its own value for the input, set in Flow Controls

The geometry's value

No value for the input

The input default from the flow definition

To go back to the flow definition's value, hover the input in Flow Controls and click Revert to default (the back-arrow icon). This clears the geometry's own value.

What a change reaches

Change

Reaches

Edit the flow graph

Every geometry using the flow

Change an input default in the flow graph

Every geometry using the flow that has no value of its own for that input

Change an input in Flow Controls

Only the selected geometries

Change the flow's default properties

Only geometries drawn with the flow from then on

Change a geometry's usage or other properties

Only that geometry

Default properties are copied onto a geometry once, when you draw it with the flow. Applying a flow to an existing geometry from the Select a flow dropdown doesn't add them, and it clears any input values left from the previous flow.

Save a geometry's inputs as the flow's defaults

When one geometry's inputs are right for every geometry, save them to the flow definition. Right-click the geometry, then choose Flow > Save as input defaults. Every geometry using the flow that has no value of its own picks up the new defaults.

Give some geometries their own flow definition

To change the flow graph for only some geometries, duplicate the flow, edit the copy, and apply the copy to those geometries.

Did this answer your question?