Technical Documentation
=======================

// Menu :  prepend child library
// Menu :  prepend child vault
// Menu :  prepend child steam
// Menu :  prepend child stage
// Menu :  prepend child howto
// Menu :  prepend child overview


This documentation section contains technical documentation about Lumiera. +
To get an *overview* of all the internals and components, you might want to read
link:overview.html[Lumiera the Inner Core]

== Three Layers

The technical documentation is divided into three main parts and some supplements,
corresponding to the code organisation in three layers. The information here can be
very detailed and technical at times, and the topics are organised by individual components.

* link:stage/index.html[*Stage Layer*] : Documents related to the GTK based Lumiera GUI
* link:steam/index.html[*Steam Layer*] : Documents regarding Session, the models and the engine
* link:vault/index.html[*Vault Layer*] : Documents about the data and processing backend

To better understand the underlying concepts, it might be helpful to also consult the
link:{ldoc}/design/index.html[Design Documents].


== Tools

.Development
* link:/doxy/[*Doxygen*] : API documentation of the Lumiera code.
* organisation of the link:code/index.html[Code Base] in general
* link:/x/CodingGuidelines.html[Coding Style] and further guidelines

.Building
* link:build/index.html[Buildsystem] : Installation and compilation tools, dependencies and packaging.

.HOWTO
* link:/x/DevHowto.html[Developer *HOWTOs*] : Collection of instructions, recipes, hints, misdeeds
  and confessions and similar helpful resources for developers
