diff options
Diffstat (limited to 'TODO.txt')
-rw-r--r-- | TODO.txt | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/TODO.txt b/TODO.txt deleted file mode 100644 index b61e57b..0000000 --- a/TODO.txt +++ /dev/null @@ -1,122 +0,0 @@ - -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 Export STL: Exports existing CGAL model even though the current model is changed, but not CGAL rendered - -USER INTERFACE --------------- -o Preferences - - Beautify color schemes - - Color schemes read from file - - Color scheme editor - - wireframe width - - pointsize - - OpenGL params - - Default language feature settings - - Auto-view CSG/thrown together on load -o Export etc.: automatically add missing extension as in SaveAs -o MDI - - Think about how to do MDI the right way - - Ctrl-W should close the current dialog, not the current main window - -> implement as for Preferences? - - Menu bar handling: - Mac: share menubar among all top-level windows? -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? - - Quick highlighting of object under the cursor in the editor - - View All - - overlay indicator displaying current view mode -o Editor - - Autocompletion/hints for builtin (and user-defined) functions/modules - - builtin quick function reference/help - - Drawer/popup with all modules/functions listed which can be inserted into - the editor by clicking or drag&drop -> icons in toolbar? - -> This would be moving in the direction of a traditional CAD GUI - and needs a fair bit of thinking. - - More infrastructur for external editor (or is the reload good enough?) - - Evaluate QCodeEdit (http://qcodeedit.edyuk.org) - - Display some kind of line wrap indicator - - Couple the source code to the AST to allow highlighting selected elements - in the source code in the 3D view -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 - - Rename OpenCSG and CGAL to smth. not specific to the underlying libraries - (e.g Preview, Render) - -ENGINE ------- -o Primitives - - Springs, spirals (requested by Cathal Garvey) - - (TTF) Text -o 2D Subsystem - - Add generic 3D->2D projection statements - - 2D->3D using clipping plane - - Performance: Is it necessary to union children before extrusion - when compiling? Can this be postponed to CGAL evaluation time? -o Built-in modules - - extrude*: Allow the base 2D primitive to have a Z value -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 - - Support for LEADER entity - - Support for MTEXT entity ? - - idea: DXF inline - convert from dxf to OpenSCAD syntax -> parametrize dxf content -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) -o Grammar - - dim->name -> dim->label - - A random(seed) function - - import_*() -> *_import() (consistent prefix vs. postfix) - - linear_extrude()/rotate_extrude(): Cumbersome names? -> (extrude, revolve, lathe, sweep ?) - -CODE ----- - -o Refactor from MainWindow: - - Fix current_win hack - - CSG data structure (compiled model) - - CGAL data structure (compiled model) -o C++-ify - - Use smart pointers where it makes sense (e.g. instead of homegrown refcount, - and to get memory ownership under control) - - Use static_cast instead of C-style casts -o dxflinextrude and dxfrotextrude could share code -o Consider decoupling DXF-specific functionality from the 2D subsystem -o Make the interfaces from OpenSCAD and OpenCSG and CGAL cleaner to facilitate - experimentation with other frameworks (ref. Nef_polyhedron_2() problems) - -INFRASTRUCTURE --------------- -o Think about making external libraries easier available. Probably mostly convenience. -o Use a logging framework to get debugging/info output more under control? - (check log4j, google project) - -MISC ----- -o Collect "all" available OpenSCAD scripts from the internets and batch convert them - to STL to assist with robustness testing. -o Mac OS X: - - universal binary -> fix cgal and opencsg - |