openscad/TODO.txt

68 lines
2.5 KiB
Plaintext

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)
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?)
- Save: Ask for confirmation if file has been externaly changed
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 Mesh optimization on STL export
- Remove super small triangles (all sides are short)
- Replace super thin triangles (one h is short)
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)
- A random(seed) function