Former/vectorwrap.go

39 lines
1.3 KiB
Go

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
}