1.3.2 Development history
The development history is as follows:
- October 2003: Specification, the first assignment of tasks to programmers.
- November 2003: The choice of programming language, auxilliary development tools (CVS, Doxygen, ...).
Studying of various graphical formats and the Guile library.
GUI design proposition. Kernel data structures design proposition.
The choice of supported graphical objects and supported operations.
- December 2003: The beginning of the actual coding. Coding style choice.
Extending ideas of graphical objects and operations.
Searching for suitable algorithms for propagation of transformation changes
of dependent objects.
We suggested to use cascade style-sheets to set object properties and style.
- January 2004: Undo history design.
We decided to use transaction mechanism for change tracking or kernel data structures.
- February – March 2004:
We precised the kernel data structures design,
chose the representation of dependence relations between graphical objects.
We also precised the GUI look and feel.
- May 2004: Programming.
We implemented a large part of GEOMLIB, some kernel data structures,
GUI backbone. Renderer design.
We linked the Scheme library with kernel, wrote scheme console in GUI.
- June – September 2004: Holidays.
- September – October 2004: We implemented more kernel data structures.
Linked renderer with GUI. Implemented R-Tree as a search data structure in GEOMLIB.
We also did a massive source code cleanup. The “snarfing” system for generating
Scheme function headers was introduced. A topological sorter for geometric recomputations.
- November 2004: The design of virtual properties. A DVI parser for TeX
output processing. Redesign of the transaction mechanism. Context evaluations in
the GUI Command Structure. Basics of PS, EPS, and PDF export.
- December 2004: Preparations for the first public release. Implementation of
the GO Factory and snap. Questions about font identification. TeX text processing.
The choice of the FreeType library for text rendering.
- January 2005: The first pieces of User's Manual.
The first public release, version 0.5. Santiago's traneformation tool.
- February 2005 – April 2005: We added the support for colors. A new transformation
tool. GO groups and paths. Property generator macros. Problems with numeric errors
for transformations of many objects which caused major design changes in kernel.
The choice of libpaper for export paper sizes. IPE5 import. The plugin mechanism.
- April 2005: Another public release, version 0.6.
- May – June 2005: SVG import/export. Major redesign of some parts of GUI.
A CVS branch for huge kernel changes including changes in the kernel interface
and thus all the dependent modules. The choice of Texinfo as a documentation tool.
GEOMLIB and VCL did undergo some design changes, too.
- June 2005: Another two public releases, versions 0.7 and 0.8. A http://freshmeat.net/ announce
(which was mentioned later in an article at http://root.cz/).
A public presentation of the project at the Department of Applied Mathematics.
- July 2005 – August 2005: The choice of Bugzilla as a bug-tracking system.
Debugging, documentation. Implementation of many
minor features. The Scheme interface was replaced by a new one.
Another public release, version 0.9.
- September 2005: The anticipated presentation.
is a free software project developed under the GNU Public License.
The authors didn't get paid even one crown for this. :)
See License for the distribution and usage terms.