Block Formatting Rules
A Block Formatting Rule decides where and how a Block Format gets stamped into the grid.
Adding a rule
Block Formatting Rules can be added anywhere Formatting Rules can, including the whole Matrix, a space, a template, a subspace, and so on. Wherever you add a rule is the scope it applies to: a rule added on a single space only tests cells within that space, while a rule added at the Matrix level tests every cell in the grid.
Look for the Block Formats section alongside that level's Formatting Rules.
Condition
The rule's Condition works like a Formatting Rule condition. It's an expression evaluated per cell. When it is evaluated as true, the block is stamped relative to that cell.
A condition can only see raw, server-provided values, not the result of other formulas or rules.
When conditions are evaluated
Conditions run at a specific point in the Matrix's pipeline, and it matters:
- The Matrix fetches its data from the server.
- Block Formatting Rule conditions and writeback formula conditions are evaluated against that data, exactly as fetched.
- Cell values are calculated: writeback formulas are evaluated across the grid.
- Cell styling is applied.
Because conditions run in step 2, before step 3, a condition never sees the result of a writeback formula or an overwriting Block Format. A condition that references a calculated cell therefore sees nothing, and silently fails to match.
It is best practice to build Block Formatting Rule conditions around structural signals: cell metadata ({meta.row.0.name}, {meta.col.*}) rather than cell values ({value}, A1-style references, FINDCELL). Metadata is known upfront and stays stable; values aren't settled until after conditions have already been evaluated.
Conditions are evaluated once
A Block Formatting Rule's conditions are evaluated a single time, right after the Matrix loads. If a cell's value changes afterward — through a writeback formula, another rule, or the user editing it — that change gets no second look: whatever blocks were stamped when the Matrix first loaded is what stays stamped until the matrix is reconfigured. Changing a value in the grid never adds or removes a block.
This makes it doubly important to build Block Formatting Rule conditions around stable metadata rather than values. A value-based condition is not just evaluated on pre-calculation data (see above), it's also never re-checked once the Matrix is loaded.
Choosing a Block Format
Pick which Block Format the rule applies from the Block Format dropdown.
The rest of the rule
| Field | Purpose |
|---|---|
| Anchor | Which axis the block locks to — see Anchoring & Apply Modes |
| Mode | Overwrite, Insert Before, or Insert After — see Anchoring & Apply Modes |
| Allow overlap | Whether the rule can stamp more than once along the same line — see Overlap |
| Apply content / Apply style | What the stamp copies — see Copy Options |