Overview: Building and Applying Flows in Giraffe
Flows in Giraffe let you automate geometry logic — like setbacks, podiums, and tower transformations — by defining reusable, parameterized processes that can be applied across multiple geometries.
The workflow typically starts by creating a base flow that defines a transformation (e.g., offsetting a footprint into a podium and tower). Key feature properties such as levels, floor_to_floor, and stack_order determine how elements display and relate. You can then assign usage types (like retail or residential) and use conditional logic (ternary if) to toggle attributes, such as whether the podium includes retail.
Once the base flow logic is tested, it can be embedded in the geometry. Flows can be cloned and extended — for example, adding a twist function that rotates each tower level progressively using an input parameter (twist_angle). These parameterized flows allow users to rapidly explore design variations while maintaining control over geometry logic and visual hierarchy.
By structuring design logic into distinct “buckets” (geometry, area, analytics), Giraffe enables computational designers to iterate predictably and focus on one cognitive process at a time.
