No problem if changes/questions are done to this section. As this section is
so important, the reviewer may correct, add or even reject the corrections
here.
We'll get there, iteratively.
Some obvious typos were corrected. Other material improved.
The section on Git was considerably improved.
An entirely new section on Git was added, but which contains some previous
material on git.
The reason for adding a new section on Git was I though it better to have one
single place where someone new to Git and Lumiera could read a simple
recipe-type explanation on how to retrieve source code, make changes and then
push the changes. All information necessary including Git, links, etc should be
on this page, no following liknks. In fact there is no real _new_ information
here that isn't to be found somewhere else. The point being that _all_
information necessary to ge someone up and going is located on one page.
For this reason, I added information on the mailing list and IRC; again, all
essential information in how to contribute to Lumiera, the title ang goal of
this page.
There might be stuff missing here, so please add, but do not make this page too
long. That tends to scare people, in fact, someone might just like to shorten my
contributions here, that would be good!
TODO: Backend, needs just a little more, not much, e.g.:
Area where low-level memory, hardware i/o, etc occur => here
is where real gain in efficiency through modern algorithms can occur,
thus, achieving another goal of Lumiera: efficient & runs on all kinds
of hardware!
this is the entry point into the section holding the various
design documents -- we try to separatte conceptual/design
from the actual technical documentation
- spell check
- fixed formatting
- added grouping lanes (comments)
- flipped all the cross reference arrows
- removed some of the (resolved) TODO comments
- removed some planned sections, since these are rather technical
Section Fundamental Forces corrected, all sub-sections corrected.
Some sub-sections slightly expanded for clarification purposes.
Some awkward expressrions removed, replaced or expanded.
the solution is to introduce a superinterface
and let Dispatcher augment that with the specific parts.
This way, the Job planning only has to rely on the
rather generic stuff (TimeAnchor, FrameCoord)
NOTE: this commit makes the whole JobPlanning machinery
compilable for the first time!
..the Idea is to rely on some kind of service,
to break the cyclic dependency with the Dispatcher.
But I seem unable to find a natural location or
concept to house that service.
basically we had two lines of doubly nested capsules, due to
using the IterAdaptor template. Actually, the evaluation stack
within JobTicket can be considered an implementation detail and
thus doesn't require an iterator interface; the intention is to
use this through JobPlanning solely.
Thus this reworking removes the special iterator within JobTicket,
but retains the idea of exposing the "current" JobTicket through
a smart pointer or operator->()
work done during the FrOSCon travel
especially the exploration stack is pushed down
first successful definition of all the JobPlanning classes
just the framework of classes necessary to pass the compiler;
all implementation is still stubbed
brainstorming how to implement the job planning stage
the idea is to built on top of the IterExplorer,
but have the "stack" of re-evaluation integrated
into a custom type, which exploits the static
node network structure to avoid heap allocations
solution idea: again use a builder function?
the template _Fun started as an internal helper
for function-closure, but seems to be of
general use. Thus move it into meta/function.hpp
(function-closure.hpp is heavyweight)
this enables expansion of a (functional) data structure
until exhaustion -- which is what we need to
build job functors by traversing and expanding
an arbitrarily nested job definition structure