TatML
TatML (Tatting Markup Language) is designed to solve the precision problems in traditional tatting notation. It provides:
- Precise picot referencing - no more "join to previous picot" ambiguity
- Pattern validation - catch impossible joins before you start tatting
- Multiple outputs - generate text instructions and visual diagrams
- Modular patterns - reuse motifs across different designs
Welcome to The Wiki
Welcome to the TatML (Tatting Markup Language) documentation wiki. Getting Started Tutorial -...
TatML User Guide
Introduction
TatML (Tatting Markup Language) is designed to solve the precision problems in traditional tattin...
Getting Started
Your First Pattern Here's a simple ring and chain pattern in TatML: pattern "My First Pattern" ...
Basic Syntax
Pattern Structure Every TatML file starts with a pattern declaration: pattern "Pattern Name" { ...
Elements Reference
Rings Basic ring syntax: ring1: R(stitches, p, stitches, p, stitches) Examples: // Simple rin...
Advanced Features
Multi-Shuttle Patterns pattern "Two Shuttle Example" { shuttles: 2 shuttle1 { ...
Troubleshooting
Common Errors Duplicate Elements Element ring1 already defined Each element needs a unique I...
Getting Help
Check the TatML Specification for detailed syntax rules Run validation to catch errors early ...
Quick Reference
Basic Pattern Structure pattern "Pattern Name" { thread: size20, white shuttles: 1 ...
TatML Getting Started Tutorial
Welcome to TatML! This tutorial will walk you through creating your first tatting pattern using T...
Before You Begin
What You'll Learn By the end of this tutorial, you'll know how to: Write basic TatML patterns...
Tutorial 1: Your First Ring
Let's start with the simplest possible pattern - a single ring. Step 1: Create the Pattern File ...
Tutorial 2: Adding a Chain
Now let's connect our ring to a chain. Step 1: Update the Pattern Modify first_ring.tatml: pat...
Tutorial 3: Creating a Simple Motif
Let's create a complete motif with multiple elements. Step 1: Plan the Pattern We'll create: ...
Tutorial 4: Using Multi-Shuttle Patterns
Let's create a two-shuttle pattern for color contrast. Step 1: Two-Shuttle Syntax Create two_sh...
Tutorial 5: Error Handling and Debugging
Let's intentionally create errors to see how TatML helps you fix them. Step 1: Create a Pattern ...
Tutorial 6: Best Practices
Use Descriptive Names // Good - clear purpose center_ring: R(6, p, 6, p, 6, p, 6) petal1: R(4,...
What's Next?
Now that you understand TatML basics, you can: Explore Advanced Features Pattern imports an...
Advanced Features
Mock Rings For advanced techniques, use mock rings that don't close: mock1: MR(4, p, 4, p, 4) ...
TatML Plugins & Accessories
TatML Language Specification v0.1.2
TatML (Tatting Markup Language) is a domain-specific language for describing tatting lace pattern...
Overview
TatML (Tatting Markup Language) is a domain-specific language for describing tatting lace pattern...
Lexical Elements
Keywords These are what are called reserved words, which means you can't use these as your varia...
Grammar Rules
Pattern Structure Pattern := "pattern" String "{" PatternBody "}" PatternBody := Import* Metada...
Semantic Rules
Element Identification All rings and chains must have unique identifiers within pattern scope ...
Validation Rules
Structural Validation All referenced elements must exist All referenced picots must exist on ...
Standard Library
Built-In Functions join(reference) // Basic join to picot join(ref1, ref2) // ...
Pattern Composition
Simple Pattern Reference import "./motifs/basic_flower.tatml" as flower pattern "Garden" { ...
Error Handling
Import Errors File not found Invalid TatML in imported file Circular import dependencies Pa...
Examples
Reusable Motif Definition // File: motifs/flower_center.tatml pattern "Flower Center" { th...
Implementation Notes
Parser Requirements Module system for import resolution Symbol table with namespace support ...
TatML Requirements Specification
Create a markup language that solves the precise picot referencing and complex join notation prob...
Project Scope
Primary Goal Create a markup language that solves the precise picot referencing and complex join...
Core Elements (Must Support)
Basic Structural Elements Rings (R) - closed loops of stitches Chains (CH/C) - open sequences...
Critical Requirements
Precise Element Identification User Story As someone reading or creating tatting patterns using...
Version Roadmap
Version 0.1.2 (Current) Basic rings, chains, picots, joins Mock rings (MR) - self-closing rin...
Technical Requirements
Syntax Design Goals Human readable - tatters can read raw TatML Machine parseable - tools can...
Success Criteria
Version 0.1.2 Goals (Completed) Can represent a simple ring-and-chain pattern Precise picot r...
Design Principles
Precision over brevity - Clear is better than compact Explicit over implicit - Don't make user...
TatML Developer Documentation
The TatML project includes a comprehensive Software Bill of Materials (SBOM) in SPDX 2.3 format (...