Documentation
=============

This documentation section contains documentation for both users and developers.

== User ==

As a start, you should visit the introductory text
link:user/intro/intro.html[Lumiera (as seen) from Outer Space]

A user manual containing the full reference for using Lumiera is planned:

 * link:user/manual.html[User Manual]  _(planned)_

== Developer ==

This section is a guide on how the developer documentation is arranged, organised and grouped. We present here
a map of the developer documentation to assist you in navigating through the documents.

=== Developer Documentation is Arranged into Layers

image:devel/images/doc_map.png[Map]

The various pieces of documentation are not scattered about randomly. These are arranged and organised along
established simple yet flexible guidelines to enable easy and intuitive access. It is not rigid and conformity
is not required. There may be very good reasons to adapt the rules with some degree of flexibility at times;
and sometimes it might be difficult to select a unique section in which to place new documents.

The various documents are organised in an hierarchical structure of layers. The uppermost layer, or root, is
the point of entry into the Lumiera developer documentation universe. The lowest layers are populated by the
Lumiera API documentation which is currently produced from the source code using Doxygen.

The map is depicted above in the illustration. Below we provide links to the top-level documents to all
elements in the map froom which you can launch deeper into the lower layers of the documentation. We present
these in tabular form to ease navigation.
--
&nbsp;
--

The *Documentation Layer Structure* appears at various places in the project...

Lumiera homepage ::
https://Lumiera.org[Lumiera homepage] by the menus on the left hand-side of the
page. This menu is also organised into layers that reflects the organisation of
the documentation to help you navigate through the documentation.

Source code doc directory structure :: 
The layout of the sub-directories below the *doc* directory is structured around
the hierarchy,
 
==== The Uppermost Layer

At the highest, uppermost layer is the document
https://lumiera.org/documentation/user/intro/intro.html[Lumiera (as seen) from Outer Space]. This is the node
on the left in the illustration above. All new to Lumiera should read this document. You can always return
to this document later if you are entirely lost and wish to find your bearings before navigating into the
deeper documentation dungeons.

==== The Second Layer

At the second layer, the reader must make the first major decision on which
router to pursue: documentation with a heavy code based leaning; or more descriptive
documentation on the design of Lumiera which avoids a code narrative. This
section has two main sections:

 * link:design/index.html[Lumiera Developer Design Documents]
 * link:technical/index.html[Lumiera Developer Technical Documents]

--
&nbsp;
--


===== Design Documentation

[width="90%",frame="topbot",options="header",cols="^,2<"]
|================================================================================================
|Sub-System|Remarks
|https://lumiera.org/documentation/design/architecture/index.html[Architecture]|Structure of Lumiera
|https://lumiera.org/documentation/design/gui/index.html[GUI]|The Lumiera ⟷ user interaction layer
|https://lumiera.org/documentation/design/model/index.html[Model]|Low-level and high-level models
|https://lumiera.org/documentation/design/engine/index.html[Engine]|Renderer, output generation, ...
|https://lumiera.org/documentation/design/lowlevel/index.html[Low-level]|Low-level and system services
|https://lumiera.org/documentation/design/application/index.html[Application]|Application framework
|https://lumiera.org/documentation/design/plugins/index.html[Plugins]|Dynamically loaded Extensions
|https://lumiera.org/documentation/design/workflow/index.html[Workflow]|Workflow and Interaction Design
|https://lumiera.org/documentation/design/governance/index.html[Governance]|Meta project concerns
|================================================================================================



===== Technical Documentation

[width="90%",frame="topbot",options="header",cols="^,2<"]
|================================================================================================
|Sub-System|Remarks
|https://lumiera.org/documentation/technical/build/index.html[Build System]|Build, Packaging and CI
|https://lumiera.org/documentation/technical/stage/index.html[Stage]|GUI (technical aspects)
|https://lumiera.org/documentation/technical/steam/index.html[Steam]|Session and processing coordination
|https://lumiera.org/documentation/technical/vault/index.html[Vault]|Low-level operations
|https://lumiera.org/documentation/technical/library/index.html[Support lib]|Interface and support libraries
|https://lumiera.org/documentation/technical/code/index.html[Code base]|Code management, organisation, ...
|https://lumiera.org/documentation/technical/infra/index.html[Infrastructure]|Website and developer tooling ...
|https://lumiera.org/documentation/technical/howto/index.html[Developer HowTos]|Instructions and guides for developers
|link:/doxy/index.html[API Doc]|Using link:http://doxygen.org[Doxygen] to generate doc from code
|================================================================================================


The TiddlyWiki::
Currently, Lumiera is still in the design- and evolution phase.
There is an embedded JavaScript wiki (https://classic.tiddlywiki.com/[TiddlyWiki]) within the source tree,
mostly used as design notebook, featuring day-to-day design sketches, notes but also
quite some more persistent planning. Finished documentation text is constantly
moved over to the documentation section(s) of the Lumiera website.

-> access the Development link:{l}/wiki/renderengine.html[TiddlyWiki online here]


== Media and Presentations ==

This section holds documents and materials used to present and promote Lumiera,
articles, summaries and whitepapers
 -> link:/media/index.html[Index]


