Skip to main content

Advanced Features

Multi-Shuttle Patterns

pattern "Two Shuttle Example" {
    shuttles: 2
    
    shuttle1 {
        ring1: R(5, p, 5, p, 5)
        chain1: C(6, p, 6)
    }
    
    shuttle2 {
        ring2: R(4, join(ring1.picot1), 4, p, 4)
        chain2: C(8, join(chain1.picot1), 8)
    }
}

Repeat Blocks

pattern "Six Petal Flower" {
    center: R(3, p, 3, p, 3, p, 3, p, 3, p, 3)
    
    repeat 6 {
        petal[current]: R(4, p, 4, join(center.picot[current]), 4, p, 4)
        if not_last: chain: C(5, join(prev.picot2), 5)
    }
}

Pattern Imports

Create reusable motifs:

// File: motifs/basic_flower.tatml
pattern "Basic Flower" {
    center: R(4, p:n, 4, p:e, 4, p:s, 4, p:w, 4)
}

// File: garden.tatml
import "./motifs/basic_flower.tatml" as flower

pattern "Garden" {
    motif1: use flower
    motif2: use flower with {
        connect motif1.center.e to flower.center.w
    }
}