the core of the cornerstone project is an elaboration on certain principles applied in the framework built for the sfere2 project.
- thoroughly object oriented
- multiple types of documents in single application.
- highly flexible, hierarchical plugin system. plugins can define new plugin types
- complete separation of os and framework. allowing for rapid ports to alternative/future os's
- complete separation of function and interface. default interfaces like pulldown menus, popupmenus, hotkeys and mouseactions are easily customized. New interfaces like scripts, voice commands will be added in future builds without requiring rebuilds of plugin modules
- hierarchical class id system. checking the presence of certain interfaces is reduced to checking whether the id is within range
- runtime class extension without performance penalty. if fact the techniques applied very likely generate a performance gain due to cache optimalisation.
- solid, serializable, ordered many-to-many relationship management. guaranteed data integrity; little memory use; extremely fast on default queries; simple to implement.
- cross-module management for singleton objects. manages setting of static singleton references within all plugin modules.
- optimized string management. using a defragged pool of 32-bit aligned charactercodes, copy, move and compare functions perform near 4 times faster.
- staticly indexed, string-based notifier-listener structure. the index of often called notifiers can be stored and used later to increase performance
2000 - 2002