Skip to main content

Semantic Rules

Element Identification

  • All rings and chains must have unique identifiers within pattern scope
  • Identifiers follow pattern: elementtype + number (e.g., ring1, chain2)
  • Custom names allowed: center_ring, petal_chain

Pattern Import System

  • import "path/to/pattern.tatml" as motif_name loads external pattern
  • Imported patterns become reusable components
  • Pattern elements accessible via motif_name.element_id

Pattern Usage & Connection

// Use imported pattern with connections
motif1: use flower_motif with {
    connect ring1.picot1 to flower_motif.ring1.picot3
}

Picot Addressing

  • Picots automatically numbered 1, 2, 3... in order of appearance
  • Named picots override automatic numbering for that position
  • References use dot notation: ring1.picot2, chain1.join_here
  • Cross-pattern references: motif1.ring2.picot1