System reference · catalogue

Clash rules

The declarative clash-detection rules and the predicate algebra they compose — generated from source, never hand-edited.

Rules

Worker Proximity (Critical)

redpriority 100

Two workers within the red threshold in the same enclosure on the same building level, overlapping in time, belonging to different contractors. Same-contractor pairs self-coordinate. same_enclosure makes the rule wall-aware — a worker inside a building does not clash through the wall with one outside. Both sides filter on physical_worker.

tokenphysical_worker
tokenphysical_worker
ALL of
overlaps_time
same_level
same_enclosure
different_contractor
within_distance: $site.default_red_distance_m
message{{a.label}} within {{distance}}m of {{b.label}}

Worker Proximity (Warning)

amberpriority 90

Detects when two workers are within the amber warning threshold. Only triggers when workers are in the same enclosure on the same building level, their time ranges overlap, and they belong to different contractors. same_enclosure makes the rule wall-aware (a worker inside a building does not clash through the wall with one outside). Workers from the same contractor are assumed to self-coordinate. Both sides filter on physical_worker category — see Worker Proximity (Critical).

tokenphysical_worker
tokenphysical_worker
ALL of
overlaps_time
same_level
same_enclosure
different_contractor
within_distance: $site.default_amber_distance_m
message{{a.label}} within {{distance}}m of {{b.label}}

Worker in Crane Drop Zone

redpriority 200

Worker's position intersects a crane's drop zone (critical safety hazard). Same-contractor pairs self-coordinate. Workers under a poured slab (building_level < top_concrete_level) are protected. Filters on physical_worker.

tokenphysical_worker
tokencraneconcrete_pump
ALL of
intersects
overlaps_time
different_contractor
exposed_to_crane
message{{a.label}} in drop zone of {{b.label}}

Crane Drop Zone Overlap

redpriority 190

Detects when two crane drop zones overlap, which could lead to conflicting lift operations and potential collisions.

tokencraneconcrete_pump
tokencraneconcrete_pump
ALL of
intersects
overlaps_time
message{{a.label}} drop zone overlaps with {{b.label}} drop zone

Worker in Exclusion Zone

redpriority 80

Detects when a worker enters a designated exclusion zone. Exclusion zones are areas where workers should not be present. Filters on physical_worker category.

tokenphysical_worker
tokenexclusion
ALL of
intersects
overlaps_time
same_level
message{{a.label}} in zone '{{b.label}}'

Worker on Road

redpriority 85

Detects when a worker is positioned on a road. Workers on roads are at risk from vehicle traffic. Filters on physical_worker category.

tokenphysical_worker
tokenroad
ALL of
intersects
overlaps_time
message{{a.label}} on road '{{b.label}}'

Crane Drop Zone on Road

redpriority 180

Detects when a crane's drop zone intersects a road. Crane operations over roads create hazards for vehicle traffic.

tokencraneconcrete_pump
tokenroad
ALL of
intersects
overlaps_time
message{{a.label}} drop zone intersects road '{{b.label}}'

Worker in Different Contractor Laydown

amberpriority 70

Detects when a worker enters a laydown area belonging to a different contractor. Workers should coordinate with the laydown owner before entering their staging areas. Filters on physical_worker category.

tokenphysical_worker
tokenlaydown
ALL of
intersects
overlaps_time
same_level
different_contractor
message{{a.label}} in {{b.label}} (different contractor)

Crane Drop Zone in Laydown Area

amberpriority 75

Detects when a crane's drop zone intersects a laydown area belonging to a different contractor. Crane operations over another contractor's staging area create coordination risks and potential material damage.

tokencraneconcrete_pump
tokenlaydown
ALL of
intersects
overlaps_time
different_contractor
message{{a.label}} drop zone overlaps {{b.label}} (different contractor)

Crane Drop Zone in Work Area

amberpriority 76

Detects when a crane's drop zone intersects an active work area belonging to a different contractor. Crane operations over another contractor's work area create safety risks and require coordination.

tokencraneconcrete_pump
tokenwork_area
ALL of
intersects
overlaps_time
different_contractor
message{{a.label}} drop zone overlaps {{b.label}} (different contractor)

Worker in Different Contractor Work Area

amberpriority 71

Detects when a worker enters an active work area belonging to a different contractor. Workers operating in another contractor's work area create coordination issues and potential safety hazards. Filters on physical_worker category.

tokenphysical_worker
tokenwork_area
ALL of
intersects
overlaps_time
same_level
different_contractor
message{{a.label}} in {{b.label}} (different contractor)

Work Area Overlap (Different Contractors)

amberpriority 65

Detects when two work areas from different contractors overlap spatially and temporally on the same building floor. Overlapping work areas indicate potential coordination conflicts that require resolution.

tokenwork_area
tokenwork_area
ALL of
intersects
overlaps_time
same_level
different_contractor
message{{a.label}} overlaps {{b.label}} (different contractors)

Laydown Overlap (Different Contractors)

amberpriority 64

Detects when two laydown areas from different contractors overlap spatially and temporally on the same building floor. Overlapping staging areas create material handling conflicts and require coordination.

tokenlaydown
tokenlaydown
ALL of
intersects
overlaps_time
same_level
different_contractor
message{{a.label}} overlaps {{b.label}} (different contractors)

Work Area in Exclusion Zone

redpriority 66

Detects when a work area overlaps an exclusion zone on the same building floor. Active work should not take place in areas marked as no-go zones.

tokenwork_area
tokenexclusion
ALL of
intersects
overlaps_time
same_level
message{{a.label}} overlaps exclusion zone '{{b.label}}'

Laydown in Exclusion Zone

redpriority 67

Detects when a laydown area overlaps an exclusion zone on the same building floor. Staging materials in no-go zones creates safety hazards.

tokenlaydown
tokenexclusion
ALL of
intersects
overlaps_time
same_level
message{{a.label}} overlaps exclusion zone '{{b.label}}'

Entity inside high-risk commissioning area

redpriority 250

Any clashable entity's footprint intersects a feature with clash_category=live_hazard (currently the high_risk_commissioning_area variant). HV / high-risk exposure is universal — applies to workers, plant (active or parked), active areas (work_area, laydown, exclusion), and any other clashable shape; no same_contractor exemption. Side A is unfiltered; side B is category-driven on live_hazard.

tokenany type
tokenlive_hazard
ALL of
intersects
overlaps_time
same_level
message{{a.label}} inside high-risk commissioning area '{{b.label}}'

Worker Near Parked Crane

amberpriority 50

Detects when a worker is within the physical footprint of a parked/inactive crane belonging to a different contractor. Even when not operating, cranes are large obstacles that pose risks to workers in close proximity. Workers from the same contractor are assumed to be aware of their own equipment. Filters on physical_worker category.

tokenphysical_worker
tokeninactive_craneinactive_concrete_pump
ALL of
intersects
overlaps_time
different_contractor
message{{a.label}} near parked crane {{b.label}}

Active Crane Over Parked Crane

amberpriority 55

Detects when an active crane's drop zone intersects the footprint of a parked/inactive crane belonging to a different contractor. Operating over parked equipment creates collision risks and coordination issues. Same- contractor cranes are assumed to self-coordinate.

tokencraneconcrete_pump
tokeninactive_craneinactive_concrete_pump
ALL of
intersects
overlaps_time
different_contractor
message{{a.label}} drop zone over parked crane {{b.label}}

Inactive Crane on Road

redpriority 52

Detects when an inactive crane's physical footprint intersects a road. Even when not operating, inactive cranes on roads obstruct traffic.

tokeninactive_craneinactive_concrete_pump
tokenroad
ALL of
intersects
overlaps_time
messageInactive crane {{a.label}} on road '{{b.label}}'

Inactive Crane in Exclusion Zone

redpriority 53

Detects when an inactive crane's physical footprint intersects an exclusion zone. Inactive cranes should not be in exclusion areas.

tokeninactive_craneinactive_concrete_pump
tokenexclusion
ALL of
intersects
overlaps_time
messageInactive crane {{a.label}} in exclusion zone '{{b.label}}'

Inactive Crane in Different Contractor Laydown

amberpriority 48

Detects when an inactive crane's physical footprint intersects a laydown area belonging to a different contractor. Inactive cranes in another contractor's staging area create coordination conflicts.

tokeninactive_craneinactive_concrete_pump
tokenlaydown
ALL of
intersects
overlaps_time
different_contractor
messageInactive crane {{a.label}} in {{b.label}} (different contractor)

Inactive Crane in Different Contractor Work Area

amberpriority 49

Detects when an inactive crane's physical footprint intersects a work area belonging to a different contractor. Inactive cranes in another contractor's work zone create coordination issues.

tokeninactive_craneinactive_concrete_pump
tokenwork_area
ALL of
intersects
overlaps_time
different_contractor
messageInactive crane {{a.label}} in {{b.label}} (different contractor)

Inactive Crane Footprint Overlap

amberpriority 47

Detects when two inactive crane footprints overlap. Parked cranes occupying the same physical space create congestion and access issues regardless of contractor ownership.

tokeninactive_craneinactive_concrete_pump
tokeninactive_craneinactive_concrete_pump
ALL of
intersects
overlaps_time
messageInactive crane {{a.label}} overlaps inactive crane {{b.label}}

Permit-to-work proximity

redpriority 220

Two entities whose linked permits form an incompatible pair, within the relevant threshold, on the same floor, overlapping in time. The permit x permit matrix below decides which combinations fire and at what severity; contractor-agnostic (an incompatible-permit hazard is physical, not a coordination gap one contractor can self-manage).

tokenany type
tokenany type
ALL of
different_family
overlaps_time
same_level
within_distance: $site.default_amber_distance_m
messageConflicting permitted activities '{{a.label}}' and '{{b.label}}' within {{distance}}m

Predicate reference

intersects
Predicate that checks if two geometries intersect.
contains
Predicate that checks if geometry A contains geometry B.
touches
Predicate that checks if two geometries touch (share boundary but don't overlap interior).
overlaps_time
Predicate that checks if two entities physically coexist in time.
same_level
Predicate that checks if two entities are on the same building level.
adjacent_level
Predicate that checks if entities are on adjacent levels (within 1 floor).
same_enclosure
Predicate that checks if two entities share the same enclosure.
different_contractor
Predicate that checks if two entities belong to different contractors.
same_contractor
Predicate that checks if two entities belong to the same contractor.
different_family
True when two entities belong to DIFFERENT permit families (#429).
exposed_to_crane
Predicate that checks if entity A is exposed to overhead crane hazards.
within_distance
Create a predicate that checks if entities are within threshold distance.
kinds
Create predicate matching specific entity kinds.
types
Create predicate matching specific entity types (None = any type).
category_in_a
Match entities whose A-side clash_category is in the given set.
category_in_b
Match entities whose B-side clash_category is in the given set.
permit_type_in_a
Match entities whose A-side linked-permit type code is in the set.
permit_type_in_b
Match entities whose B-side linked-permit type code is in the set.
all
Composed predicate: all sub-predicates must return True (AND).
any
Composed predicate: any sub-predicate must return True (OR).
not
Negated predicate.
Generated from source · SimOops living system reference