Advanced Search
Search Results
48 total results found
Error Handling
Import Errors File not found Invalid TatML in imported file Circular import dependencies Pattern name conflicts Reference Errors Undefined pattern references Invalid cross-pattern element access Connection point mismatches
Examples
Reusable Motif Definition // File: motifs/flower_center.tatml pattern "Flower Center" { thread: size20 center_ring: R(4, p:n, 4, p:ne, 4, p:e, 4, p:se, 4, p:s, 4, p:sw, 4, p:w, 4, p:nw, 4) } Pattern Using Motifs // File: garden_doily.tatml...
Implementation Notes
Parser Requirements Module system for import resolution Symbol table with namespace support Cross-reference validation Dependency graph management Pattern Library Management File system integration Pattern caching Version compatibility checking ...
Quick Reference
Basic Pattern Structure pattern "Pattern Name" { thread: size20, white shuttles: 1 element_id: ELEMENT_TYPE(stitches) } Elements Element Syntax Example Ring R(stitches, p, stitches) ring1: R(6, p, 6, p, 6) Chain...
Before You Begin
What You'll Learn By the end of this tutorial, you'll know how to: Write basic TatML patterns Use precise picot referencing Validate patterns for errors Generate text instructions and diagrams Prerequisites Basic understanding of tatting (rings, c...
Tutorial 1: Your First Ring
Let's start with the simplest possible pattern - a single ring. Step 1: Create the Pattern File Create a new file called first_ring.tatml: pattern "My First Ring" { thread: size20, white shuttles: 1 ring1: R(6, p, 6, p, 6) } Step 2: U...
Tutorial 2: Adding a Chain
Now let's connect our ring to a chain. Step 1: Update the Pattern Modify first_ring.tatml: pattern "Ring and Chain" { thread: size20, white shuttles: 1 ring1: R(6, p, 6, p, 6) chain1: C(8, join(ring1.picot1), 8, p, 8) } Step 2: U...
Tutorial 3: Creating a Simple Motif
Let's create a complete motif with multiple elements. Step 1: Plan the Pattern We'll create: A center ring with 4 picots Four petal rings, each joining to one picot of the center Chains connecting the petals Step 2: Write the Pattern Create simple_m...
Tutorial 4: Using Multi-Shuttle Patterns
Let's create a two-shuttle pattern for color contrast. Step 1: Two-Shuttle Syntax Create two_shuttle.tatml: pattern "Two Color Flower" { thread: size20, blue shuttles: 2 shuttle1 { // Blue thread - center and structure ...
Tutorial 5: Error Handling and Debugging
Let's intentionally create errors to see how TatML helps you fix them. Step 1: Create a Pattern with Errors Create buggy_pattern.tatml: pattern "Buggy Pattern" { ring1: R(5, p, 5) chain1: C(6, join(ring1.picot3), 6) // Error: ring1 only has 1 pic...
Tutorial 6: Best Practices
Use Descriptive Names // Good - clear purpose center_ring: R(6, p, 6, p, 6, p, 6) petal1: R(4, p, 4, join(center_ring.picot1), 4, p, 4) // Less clear ring1: R(6, p, 6, p, 6, p, 6) ring2: R(4, p, 4, join(ring1.picot1), 4, p, 4) Name Important Picots /...
What's Next?
Now that you understand TatML basics, you can: Explore Advanced Features Pattern imports and reusable motifs Repeat blocks for symmetric patterns Complex multi-shuttle coordination Use TatML Tools Generate different instruction formats Create ...
Advanced Features
Mock Rings For advanced techniques, use mock rings that don't close: mock1: MR(4, p, 4, p, 4) chain1: C(6, join(mock1.picot1), 6) Picot Variations Specify different picot types and sizes: ring1: R(4, p, 4, sp, 4, lp, 4, jp, 4) ring2: R(5, p("5mm"), 5, s...
TatML Requirements Specification
Create a markup language that solves the precise picot referencing and complex join notation problems identified in existing tatting notation systems.
Project Scope
Primary Goal Create a markup language that solves the precise picot referencing and complex join notation problems identified in existing tatting notation systems. Target Users Pattern Designers - Need precise, unambiguous notation for complex patterns A...
Core Elements (Must Support)
Basic Structural Elements Rings (R) - closed loops of stitches Chains (CH/C) - open sequences of stitches Split Rings (SR) - rings made with two threads Mock Rings (SCMR) - self-closing mock rings Stitch Types Double Stitches (ds) - basic tatting s...
Critical Requirements
Precise Element Identification User Story As someone reading or creating tatting patterns using TatML, I want every ring and chain to have a unique identifier so that complex patterns don't fall victim to the ambiguity introduced by a volume of multiple ring...
Version Roadmap
Version 0.1.2 (Current) Basic rings, chains, picots, joins Mock rings (MR) - self-closing rings that don't actually close Picot variations - small (sp), large (lp), joining (jp) picots Picot length specifications - p("5mm"), sp("1/4\"") Element ID syste...
Technical Requirements
Syntax Design Goals Human readable - tatters can read raw TatML Machine parseable - tools can validate and process Extensible - new elements can be added Compact - not overly verbose for simple patterns Intuitive numbering - 1-based indexing throughout ...
Success Criteria
Version 0.1.2 Goals (Completed) Can represent a simple ring-and-chain pattern Precise picot referencing works correctly Mock rings supported for advanced techniques Picot variations (small, large, joining) supported Picot length specifications work corr...