summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/OpenSCAD-compile.grafflebin4883 -> 4873 bytes
-rw-r--r--doc/OpenSCAD-csg.grafflebin0 -> 2692 bytes
-rw-r--r--doc/TODO.txt18
-rw-r--r--doc/testing.txt28
4 files changed, 41 insertions, 5 deletions
diff --git a/doc/OpenSCAD-compile.graffle b/doc/OpenSCAD-compile.graffle
index 14a2ccc..02e8bc8 100644
--- a/doc/OpenSCAD-compile.graffle
+++ b/doc/OpenSCAD-compile.graffle
Binary files differ
diff --git a/doc/OpenSCAD-csg.graffle b/doc/OpenSCAD-csg.graffle
new file mode 100644
index 0000000..7ad552c
--- /dev/null
+++ b/doc/OpenSCAD-csg.graffle
Binary files differ
diff --git a/doc/TODO.txt b/doc/TODO.txt
index cca4a2a..1d29fb1 100644
--- a/doc/TODO.txt
+++ b/doc/TODO.txt
@@ -4,9 +4,6 @@ BUGS
o Some invalid DXF data gets pass the import checks and breaks the tessing code
o Tesselation via GLU sometimes produces strange results
o Export STL: Exports existing CGAL model even though the current model is changed, but not CGAL rendered
-o It's now possible to start a new rendering while one is already running (which call processEvents())
- -> turn off most (or all) interaction while rendering
- -> Lock all or only one MainWindow (MDI)?
o Look into the polygon winding and rotate_extrude() problem reported by Britton
STL Import BUGS
@@ -61,7 +58,6 @@ o Preferences
- Default language feature settings
- Auto-view CSG/thrown together on load
- Make the library search path configurable?
-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
@@ -172,6 +168,14 @@ o Grammar
- A random(seed) function
- import_*() -> *_import() (consistent prefix vs. postfix)
- linear_extrude()/rotate_extrude(): Cumbersome names? -> (extrude, revolve, lathe, sweep ?)
+o Hollow donut problem
+ When extruding a 2D CSG tree (e.g. a polygon with a hole), the hole
+ information is lost when performing the extrusion. For linear
+ extrusions, this has only a minor visual impact, but for rotate
+ extrusion, the resulting CGAL models will lose the hole. The OpenCSG
+ rendering keeps the hole, but renders slightly incorrect.
+
+
IDEAS FOR LANGUAGE CHANGES
--------------------------
@@ -194,6 +198,9 @@ o dxflinextrude and dxfrotextrude could share code
o Consider decoupling DXF-specific functionality from the 2D subsystem
o Visitation refactoring
- Make AbstractNode members private/protected?
+o Consider evaluating all referenced files relative to the document path instead
+ of being absolute. This would e.g. make regression testing of dumpcaching easier.
+ This would require us to pass a document contect to all traversal methods though.
BUILD SYSTEM
------------
@@ -213,6 +220,8 @@ o Write a simple test script that collects verified and current STL renderings
o Write simple driver scripts for comparing output of above command
o Collect "all" available OpenSCAD scripts from the internets and run the integration
tests on them all
+o dumptest tests:
+ - filename are dumped as absolute filenames - this will fail on other systems
INFRASTRUCTURE
--------------
@@ -223,6 +232,5 @@ MISC
----
o Streamline the cmd-line interface a bit
- Implicit output file format
-
o Write checklists for typical extension work (add new module, add new function)
-> make sure new test files are added
diff --git a/doc/testing.txt b/doc/testing.txt
new file mode 100644
index 0000000..ee429f7
--- /dev/null
+++ b/doc/testing.txt
@@ -0,0 +1,28 @@
+Running regression tests:
+-------------------------
+
+Prerequisites: cmake, python
+
+cd tests
+mkdir build
+cd build
+cmake ..
+make
+make test
+
+
+Adding a new regression test:
+------------------------------
+
+1) create a test file at an appropriate location under testdata/
+2) if the test is non-obvious, create a human readable description of the test in the same directory (e.g testdata/scad/mytest.txt)
+3) if a new test app was written, this must be added to tests/CMakeLists
+4) run the test with the environment variable TEST_GENERATE=1, e.g.:
+ $ ECAD_GENERATE=1 ctest -R mytest
+ (this will generate a mytest-expected.txt file which is used for regression testing)
+5) manually verify that the output is correct (test-data/scad/mytest-expected.txt)
+6) run the test normally and verify that it passes:
+ $ ctest -R mytest
+
+Note that test files which don't have an *-expected.<suffix> file will
+be ignored for the test apps in question.
contact: Jan Huwald // Impressum