package main import "image" // VectorWrapSession holds state for the Vector Wrap workflow: // wrapping 2D vector art onto 3D surfaces. type VectorWrapSession struct { SVGDoc *SVGDocument SVGPath string SVGImage image.Image ModelPath string ModelType string // "stl", "scad", or "project-enclosure" ModelSTL []byte // raw binary STL data EnclosureSCAD string // populated when ModelType == "project-enclosure" TraySCAD string } // StructuralSession holds state for the Structural Procedures workflow: // procedural pattern infill of edge-cut shapes for 3D printing. type StructuralSession struct { SVGDoc *SVGDocument SVGPath string Pattern string // e.g. "hexagon", "triangle", "diamond", "voronoi" CellSize float64 // mm WallThick float64 // mm Height float64 // extrusion height mm ShellThick float64 // outer shell thickness mm } // ScanHelperConfig holds configuration for generating printable scan grids. type ScanHelperConfig struct { PageWidth float64 // mm (e.g. 210 for A4) PageHeight float64 // mm (e.g. 297 for A4) GridSpacing float64 // mm between calibration markers PagesWide int // number of pages horizontally when stitching PagesTall int // number of pages vertically when stitching DPI float64 // target scan DPI }