KitWallace/FO

Re-structure path operators

Opened this issue · 1 comments

Shift to a list of path operators, each with their own parameters - this allows for hiding rarely used ones, adding new miscellaneous ones, declutters the path object and allows them to be performed in a user defined order

Path operators (and parameters)

Equalize (stepsize)
Scale (keep aspect ratio, scalex, scaley)
Skew ( alpha,beta) ?
Inset/outset ( +/- distance) - useful for makimg faces for polyhedra with the correct bevel
Position ( x,y)
Rotate (degrees)
Align ( % )
Subsequence (start ,end) - but only when open paths are sorted
Fourier smoothing (amplitude theshold, frequencey threshold)
Weighted smoothing ( iterations)
Random radial perturbation (p)
Modulate (with a sublist of modulation functions)

Tri Grid (if base is a triangle)
Quad grid (if base is a quad)
Polygon spiral ( if base is a polygon)
Path generators

Function library
-two kinds
: parametric in t (0..360)
; total path ; Ovoid, Polygon ,

Point list
(points copied and pasted form other tools - SVG, fractal , Euler paths..)

would need a reordering interface (move up, move down)
visual programming would be great here)

simplified UI means that there is less call for this redesign - operators need to be computered in two places Path.to_points (used for point interpolation) and design.create_layers_by_parameter if parametric - should be done in one place only ( perhaps by making each layer a path)

could add skew and inset