The Proxima engine is the core of each editor application. It maintains all level datastructures from the Document to the Arrangement (the Rendering is maintained at the client) and computes an appropriate rendering update for every edit gesture.
The engine consists of a generic part that is the same for each editor, and a number of modules that are specific to one instantiation. Some of these specific modules are generated from the sheets provided by the editor designer, and others are provided directly by the editor designer: the evaluation and reduction sheets (which are Haskell modules) and a Settings module. The settings module defines a record with information specific to the instantiation, such as its title and incrementality settings. The generic and specific parts are compiled together with the web server module to yield an executable web server.
An overview of the layered Proxima architecture is provided at Architecture overview
, while Architecture implementation
discusses the implementation of the layered architecture.
- 24 Feb 2010