Skip to content

Thelema engine architecture

zeganstyl edited this page Sep 18, 2020 · 1 revision

Thelema architecture aims to be as simple as possible, and code aims to be without specialized language features and to be easily portable from one platform to another. Thelema should be a self-contained engine and have as few dependencies as possible from third-party modules.

Core module of Thelema have mostly interfaces and only platform-independent code.

Many functions of Thelema can be accessed through singleton objects, such as GL, FS, AL, JSON and etc. Each object has own role. For example FS providing files, GL providing OpenGL API and etc. These singletons have proxy property, to wich they delegating all their functions. Proxy property can be changed at runtime, so, for example, if you implemented your own implementation of JSON, you can replace JSON.proxy.

Each platform must have its own implementation of Thelema interfaces and platform module must setup proxies in singletons on application creating.

Clone this wiki locally