To Do ===== - Checks for Xext for eg. SuSe. - Fix compile errors on Solaris - allow "ignore cells" preference - graphical process file editor - absolute camera position - save camera position from gdsoglviewer for use with gds2pov - What if top cell isn't found? - Allow use of eg. glade2 techfiles as a process file. - Should be able to tell whether a gds2 file is empty even if it parsed correctly. - Make an example skeleton project. - libgdsto3d should do more heavy lifting re. calculating path points - Need to deal with Text/SRef/ARef rotation issues for boundary calculation (relevant to auto placement of camera) Also for flipped objects. - Suitable code for endian decisions. What is there available on BSD? - Fix non-orthogonal paths - look at corners - Deal with concave polygons. Either implement horrid algo to fill them or detect and don't fill. - Detect text for boundary calculation - Text scaling with units needs fixing, especially the depth! - Documentation (source) - Exception handling - Code coverage testing - Incorrect process/config file testing - Compile examples and other files for distribution. - Fix invalid display segfaults - Support for octagonal paths - Write structures to individual .inc files to reduce memory usage? - Convert Boundaries into mesh2 objects? - Camera include file? - Consider how best to store dimensions in process file - scaled or not? - Animations Done ==== - Set path parsing and prisms parsing so that the Layer struct item points to the appropriate layer rather than the LayerName. - Replace GetARefName() and GetSRefName() with a more efficient GetARef() and GetSRef() - Extensive refactoring of path, polygon, aref and sref code which should lead to increased robustness as well as being easier to maintain.