Supplementary Specification
Implementation Constraint
The system is implemented in pure Java, with the possible exception of the use of the Java Native Interface (JNI) to access a GPU.
Legal Requirements
The initial distribution of this project will be open source. The open source license will not preclude the possibility that subsequent versions become proprietary: The GNU licence will not be used.
Usability
In order to achieve the highest quality images and animations:
- Image resolution and quality should not be limited by screen resolution limits.
- Animation rates should not be limited by screen refresh rate limits.
Zoom depth should not be limited by double precision arithmetic.
Color rendering should not be banded. Rather, it should be very smooth (cf. Wikipedia entry on this topic)
Performance
The goal is to use all possible methods to speed image rendering and animation production. The use of multi-threading and cluster/cloud computing are compatible with a pure Java implementation. Java currently can access a GPU, if at all, only via the Java Native Interface (JNI), which is not pure Java.
Internationalization
The initial distribution will not be internationalized. Subsequent versions may be internationalized.