graph LR
Knitting_Pattern_to_SVG_Converter["Knitting Pattern to SVG Converter"]
Instruction_SVG_Converter["Instruction SVG Converter"]
Instruction_SVG_Cache["Instruction SVG Cache"]
SVG_Builder["SVG Builder"]
AYAB_PNG_Dumper["AYAB PNG Dumper"]
AYAB_PNG_Builder["AYAB PNG Builder"]
Pattern_Layout_Engine["Pattern Layout Engine"]
Knitting_Pattern_to_SVG_Converter -- "utilizes" --> Pattern_Layout_Engine
Knitting_Pattern_to_SVG_Converter -- "queries" --> Instruction_SVG_Cache
Knitting_Pattern_to_SVG_Converter -- "uses" --> SVG_Builder
Instruction_SVG_Cache -- "calls" --> Instruction_SVG_Converter
AYAB_PNG_Dumper -- "delegates to" --> AYAB_PNG_Builder
The Visual Output Converters subsystem is primarily defined by the knittingpattern.convert package, encompassing modules responsible for transforming the internal knitting pattern data model into visual formats.
Orchestrates the conversion of an entire knitting pattern into a complete SVG document. It manages the overall SVG structure, registers individual instruction SVGs as definitions, and places them according to the pattern's layout.
Related Classes/Methods:
Converts individual knitting instructions into their specific SVG dictionary representations, handling visual styling and geometric details for each instruction type.
Related Classes/Methods:
Caches the SVG representations of individual knitting instructions to optimize performance by avoiding redundant generation.
Related Classes/Methods:
A low-level utility component for programmatically constructing and manipulating SVG elements, such as placing use tags, defining symbols, and managing layers within an SVG document.
Related Classes/Methods:
Converts the knitting pattern into a PNG image format specifically tailored for AYAB knitting machines. This is the high-level entry point for AYAB output.
Related Classes/Methods:
Handles the low-level pixel manipulation, color conversion, and image construction necessary to generate the AYAB PNG image from the pattern data.
Related Classes/Methods:
Manages the spatial arrangement of knitting instructions on a grid, calculating positions, bounding boxes, and handling connections. While a separate component, it is critical for the visual output process by providing spatial information.
Related Classes/Methods: