Big-picture pipeline:
&'input str
-> AST
AST -> refined AST
- Remove all string keys, only number (no more string hashes) (do we need this?)
- Escape all strings (Could be done in step1?)
- Outputs list (map?) of modules, variables, functions, items
refined AST -> simplified CSG tree
- No more variables, only values
- No more user modules, only primitives and base CSG operations
CSG tree -> polygons/triangle mesh
- Rasterize curves with given precision (
$fn
) - Actually use CGAL or other library to compute the final geometry
geometry -> STL/AMF/3MF file