Skip to main content
Advanced Search
Search Terms
Content Type

Exact Matches
Tag Searches
Date Options
Updated after
Updated before
Created after
Created before

Search Results

39 total results found

Introduction

TatML TatML User Guide

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 ta...

Getting Started

TatML TatML User Guide

Your First Pattern Here's a simple ring and chain pattern in TatML: pattern "My First Pattern" { thread: size20, white shuttles: 1 ring1: R(6, p, 6, p, 6) chain1: C(8, join(ring1.picot1), 8, p, 8) ring2: R(4, join(chain1.picot1...

Basic Syntax

TatML TatML User Guide

Pattern Structure Every TatML file starts with a pattern declaration: pattern "Pattern Name" { // Metadata (optional) thread: size20, white shuttles: 1 // Pattern elements ring1: R(6, p, 6) chain1: C(8, p, 8) } Comments ...

Elements Reference

TatML TatML User Guide

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) Chain...

Advanced Features

TatML TatML User Guide

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, joi...

Troubleshooting

TatML TatML User Guide

Common Errors Duplicate Elements Element ring1 already defined Each element needs a unique ID Use descriptive names: center_ring, petal1, etc. Undefined Picot Element ring2 only has 2 picots, cannot access picot3 Count your picots carefully Remem...

Getting Help

TatML TatML User Guide

Check the TatML Specification for detailed syntax rules Run validation to catch errors early Use descriptive element names and comments

Overview

TatML TatML Language Specification v0.1.2

TatML (Tatting Markup Language) is a domain-specific language for describing tatting lace patterns with precise element identification and join notation. Design Goals Eliminate ambiguity in picot references Enable pattern validation Support human readabi...

Lexical Elements

TatML TatML Language Specification v0.1.2

Keywords These are what are called reserved words, which means you can't use these as your variable names (you can use the letter "p" but you can't use p on its own as the name for something because that's how TatML knows you're referring to a picot.  patter...

Grammar Rules

TatML TatML Language Specification v0.1.2

Pattern Structure Pattern := "pattern" String "{" PatternBody "}" PatternBody := Import* Metadata* Element* Import := "import" String "as" Identifier Metadata := ThreadSpec | ShuttleSpec | DifficultySpec Element := Assignment | Control | Block | PatternUs...

Semantic Rules

TatML TatML Language Specification v0.1.2

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...

Validation Rules

TatML TatML Language Specification v0.1.2

Structural Validation All referenced elements must exist All referenced picots must exist on target element No circular references in join chains Thread path must be continuous across pattern boundaries Import Validation Imported files must exist a...

Standard Library

TatML TatML Language Specification v0.1.2

Built-In Functions join(reference) // Basic join to picot join(ref1, ref2) // Multi-point join reverse_work // Change thread direction join_to_start // Close pattern loop use pattern_name // Insert pattern r...

Pattern Composition

TatML TatML Language Specification v0.1.2

Simple Pattern Reference import "./motifs/basic_flower.tatml" as flower pattern "Garden" { motif1: use flower motif2: use flower // Connect motifs chain1: C(5, join(motif1.ring1.picot2), 5, join(motif2.ring1.picot1), 5) } Patter...

Error Handling

TatML TatML Language Specification v0.1.2

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

TatML TatML Language Specification v0.1.2

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

TatML TatML Language Specification v0.1.2

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

TatML TatML User Guide

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

TatML TatML Getting Started Tutorial

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

TatML TatML Getting Started Tutorial

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...