summaryrefslogtreecommitdiff
path: root/TODO.txt
blob: 64019cc93c95f360c1047be1ff751fc63189fddb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63

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)

contact: Jan Huwald // Impressum