Skip to main content

Block Properties & Hierarchy

The hierarchy of properties in block instances vs definitions

Written by Holly Conrad Smith
Updated over a month ago

Properties in Giraffe typically work at two levels: Usage and Instance.

Blocks add another layer of hierarchy, with additional considerations.

Block Definition Properties

When you create a block, the definition includes any properties you assign to the geometry (either at block create or upon editing).

You can assign both Usages and Instance properties to block definition geometries.

Block definitions can include a combination of multiple geometries with different properties and usages assigned. Example below:

Block Instance Properties

When you place a block instance, it inherits any properties from the definition.

You can change any property values in the properties palette on the left. The property values apply to only the current selection.

There are three ways the property assigned can affect the child geometries in the block instance.

  • Apply to Undefined

  • Override

  • Do not Apply

Change the type of application by clicking the icon in the property palette:

Apply to Undefined

The default behavior when applying a property value to the block instance is "Apply to Undefined."

This behavior applies the property value to any geometry within the block definition that does not have a value saved for that property yet.

The appearance of a property with "apply to undefined" set is a downward arrow:

Override

The "Override Children Properties" setting forces the selected property value to change all geometries in the block instance, regardless of property values saved to the block definition.

The appearance of a property with "Override Children Properties" set is a double downward arrow:

Do not Apply / Pass

The "Do not apply to children properties" setting skips applying the attribute to specific block instances.

The appearance of a property with "Do not apply to children properties" set is a double downward arrow:

Spot-Check Overrides

When you are in block edit mode, you can review the property overrides that have been applied.

The Block menu in the top right of the canvas displays any properties that have been applied to the current instance, and the assignment setting.

To preview the block without the property overrides, toggle the eyeball.

Blocks & Layers

The layerID (ie the selected layer) of the Block Instance behaves like every other property in Blocks. When you place a block, it retains the layer defined in the block definition by default.

This can be useful when defining layers within blocks for detailed visibility controls. However, oftentimes you will want the block to reside on a specific layer for analytics purposes.

To override the layer, select "overrides children properties."

Blocks & Stacking

The stackOrder of the Block Instance behaves like every other property in Blocks. When you place a block, it retains the stack order defined in the block definition by default.

This can be useful when defining stack order within blocks for detailed stacking controls.

However, if stacking is not behaving as expected, you may need to override.

To override the stack order, select "overrides children properties."

Did this answer your question?