BUGS ---- o Some invalid DXF data gets pass the import checks and breaks the tessing code o Broken polyhedron() entities are not correctly detected and cause CGAL segfaults o Tesselation via GLU sometimes produces strange results o Non-manifold objects make CGAL crash (e.g. two cubes which touch at one edge) o crash: rotate([0,1,0])import_dxf("../openscad-tess/testdata/polygon.dxf"); USER INTERFACE -------------- o Fix current_win hack o Preferences - background colors - Model outside/inside color - wireframe color and width - OpenGL params - Default language feature settings - Auto-view CSG/thrown together on load o More infrastructur for external editor (or is the reload good enough?) o Export etc.: automatically add missing extension as in SaveAs o Mac OS X: - embed examples into bundle -> separate example menu? - Use examples as default File Open folder - distribute as (self-unpacking?) dmg containing a single .app instead of zip - universal binary -> fix cgal and opencsg o MDI - Think about how to do MDI the right way - Quit vs. Close MainWindow. Today Quit just closes the current window and there is no close function o 3D View - Improve mouse rotation - Add modifier key combos to handle pan on 1 mouse button systems - Show grid - 4 x split view w/orthogonal cameras? o Misc - Reload and compile: Ask for confirmation if file is locally edited (make this configurable in preferences?) INFRASTRUCTURE -------------- o Think about making external libraries easier available. Probably mostly convenience. ENGINE ------ o 2D Subsystem - Add generic 3D->2D projection statements o Advanced Transformations - Add statement for 2D and 3D minkowski sum - Add statement for refinement via surface subdivision - Add statement for intersections in cartesian product of childs o Function-Module-Interface - Pass a module instanciation to a function (e.g. for a volume() function) - Pass a function to a module instanciation (e.g. for dynamic extrusion paths) o Language Frontend - Allow local variables and functions everywhere (not only on module level) o DXF Import - Support for POLYLINE entity - Support for SPLINE entity o Misc - Add symbolic colors to the color() statement - Go through default values of parameters (e.g. cube() has x,y,z=1 while linear_extrude() has height=100)