Elements Reference
Rings
Basic ring syntax:
ring1: R(stitches, p, stitches, p, stitches)
Examples:
// Simple ring
ring1: R(6, p, 6, p, 6)
// Ring with named picots
ring2: R(4, p:join_here, 4, p:tip, 4)
// Ring with small picots
ring3: R(5, sp, 5, p, 5, sp, 5)
Chains
Basic chain syntax:
// Simple chain
chain1: C(8, p, 8)
// Chain with joins
chain2: C(6, join(ring1.picot1), 6, p, 6)
Split Rings
For two-shuttle split rings:
split1: SR(shuttle1: 4, p, 4; shuttle2: 3, p, 3)
Mock Rings
Mock rings are self-closing rings that don't actually close, used in advanced tatting techniques:
mock1: MR(4, p, 4, p, 4)
chain1: C(6, join(mock1.picot1), 6) // Continue with thread
Mock rings appear in diagrams with a dashed line to show the gap.
Picots
TatML supports different picot types and specifications.
Basic Types
p- Normal picotsp- Small picotlp- Large picotjp- Joining picotp:name- Named picot
Length Specifications
ring1: R(4, p("5mm"), 4, sp("3mm"), 4)
Examples
ring1: R(5, p, 5, sp, 5, lp, 5, jp, 5)
ring2: R(4, p:join_here, 4, sp("3mm"), 4)
Joins
Join to specific picots:
// Join to numbered picot
join(ring1.picot2)
// Join to named picot
join(ring1.join_here)
// Join to previous element
join(prev.picot1)
// Multiple joins
join(ring1.picot1, ring2.picot2)