Architecture - openantz/antz GitHub Wiki
ANTz immersive visualization tools for the mind.
The ultimate goal is close the cognitive loop between people and logic engines.
ANTz is a pseudo-state-machine implementation of a Neural Physics Engine(NPE). The runtime is synchronized to the video frame rate, though some functions execute over multiple frames, (hence it is pseudo). We organize the code using a custom MVC methodology.
MVC variant where View becomes a subset of the IO group:
- Model named 'data' - stores the data using our Native Scene Graph
- View named 'io' - includes keyboard, mice, haptic devices, audio, video...
- Control named 'ctrl' - event processing and scene state updated with the NPE
Four stage run-loop:
- Input data (including events) and process the data by setting scene states
- Update scene state using the NPE
- Draw the scene using OpenGL
- Output results to the screen and other devices (OSC network, database, etc.)
Development_Strategy
- Future features are tracked using 'enhancement' issues.
- Philosophy
- Performance
Technical_Architecture
[Data] - Model
- Scene Graph based node tree with links
- Globals
- Track data mapped using channels
[io] - View
- OpenGL
- IO Devices
- File Types
- Database
- Keyboard, mouse and window events
[ctrl] - Control
- Command
- State_Machine
- Physics