Release: general washdown

- comb through the Website, starting at the frontpage
- add a **news** entry to confirm this major upgrade step (C++23)
- improve the wording in various overview pages
- adapt the ''release checklist'' to align it with **git-flow**
- reorganise the image folder(s) on the website
- the animated beating heart is back ;-)
This commit is contained in:
Fischlurch 2025-11-28 21:21:13 +01:00
parent 797174ef19
commit 651cf144a5
22 changed files with 632 additions and 488 deletions

View file

@ -1,61 +0,0 @@
#!/bin/sh
#
# build_lumiera-build-dependencies.sh - prepare/build on a pristine Debian/Ubuntu system (Docker)
#
#
#------------------------------------------------------Setup
# The Debian DEB Depot to retrieve the source packages
DEBIAN_REPO="http://lumiera.org/debian/"
SRC_DISTRO="stretch"
REPO_SECTION="experimental"
#
# GPG pubkey to trust for signed packages
TRUSTED_GPG=$(dirname $0)/deb.lumiera.org.PUB.gpg
#
# Directory for building DEB packages
PACK_DIR=./pack
#
#------------------------------------------------------Setup(End)
#
fail() {
echo "\nFAIL: $1\n\n"
exit 1
}
# Sanity-Checks
[ -f $TRUSTED_GPG ] || fail "GPG Key not found: $TRUSTED_GPG"
mkdir -p $PACK_DIR
[ -w $PACK_DIR ] || fail "Unable to build. Can not write to $PACK_DIR"
# prepare the host system with Lumiera package sources
cp $TRUSTED_GPG /etc/apt/trusted.gpg.d/
chmod a+r-x /etc/apt/trusted.gpg.d/$(basename $TRUSTED_GPG)
echo "deb-src $DEBIAN_REPO $SRC_DISTRO $REPO_SECTION" > /etc/apt/sources.list.d/55-lumiera.list
apt update
apt install -y build-essential ca-certificates
apt update
# build some special build dependencies from source
WORKDIR=$(pwd -P)
cd $PACK_DIR
echo "\n\n======= building NoBug =======\n"
apt-get -y build-dep nobug
apt-get source --compile nobug
dpkg -i nobug-dev*deb libnobug*deb || fail "installing NoBug"
echo "\n\n======= building GDLmm =======\n"
apt-get -y build-dep libgdlmm-3-dev
apt-get source --compile libgdlmm-3-dev || fail "installing GDLmm"
dpkg -i libgdlmm-3*deb
# install the build dependencies of Lumiera from DEB
echo "\n\nInstalling Lumiera build dependencies...\n"
apt-get -y build-dep lumiera
# return to the working directory
cd $WORKDIR
echo "Build-Dependencies of Lumiera successfully installed.\n\n"

Binary file not shown.

View file

@ -1,44 +0,0 @@
#!/bin/sh
#
# docker_open-lumiera-buildenv.sh - launch Docker container with interactive build shell
#
#
#------------------------------------------------------Setup
#
# Working directory path on the host
WORKDIR_HOST="/home/$USER/devel/lumi"
#
# bind-mount of the working dir in the container
WORKDIR_GUEST="/lumi"
#
# Docker image-ID to launch
DOCKER_IMAGE="ubuntu:bionic"
#
# Script code to inject into interactive shell
COMMANDS=$(cat) <<RUN_IN_CONTAINER
. /etc/bash.bashrc
. ~/.bashrc
alias la='ls -latr'
$WORKDIR_GUEST/admin/build_lumiera-build-dependencies.sh
RUN_IN_CONTAINER
#
#------------------------------------------------------Setup(End)
#
# Launch...
# (1) launch the docker container
# (2) start a bash there to process a bash commandline
# (3) this commandline in turn launches an interactive bash
# (4) and this interactive bash gets a startup-Shellscript to perform
# (5) and this shellscript is read from an temporary named pipe to another shellscript
# (6) which in turn prints the script code from the setup-variable $COMMANDS
#
# bash magic thanks to Jonathan Potter; see https://serverfault.com/a/586272
#
#
docker run -v $WORKDIR_HOST:$WORKDIR_GUEST -it $DOCKER_IMAGE bash -c "bash --rcfile <(echo \"${COMMANDS}\" )"

View file

@ -1,5 +0,0 @@
#!/bin/sh
#
# gnu-indent -- call the "indent" tool with parameters suitable for GNU coding style
#
indent -nbad -bap -nbc -bbo -bl -bli2 -bls -ncdb -nce -cp1 -cs -di2 -ndj -nfc1 -nfca -hnl -i2 -ip5 -lp -pcs -psl -nsc -nsob $@

View file

@ -10,5 +10,5 @@ Wiring nodes within the timeline
In fall 2007, rather then using an external node editor, AkhiL proposed to do wiring
of effect nodes directly within the timeline. He did the following Mockup:
image::{imgg}/AkhiL.proposal.png[]
image::{imgg}/proposal.AkhiL.png[]

View file

@ -35,7 +35,7 @@ and add new functions. Of course this modules I am talking about, are not the
modules described in the architecture overview. This is the gui, which is an
abstraction of the real program.
image::{imgg}/Alcarinque.proposal.png[Alcarinque's GUI proposal]
image::{imgg}/proposal.Alcarinque.png[Alcarinque's GUI proposal]
Here I made a sample of the architecture of the UI. Please don't take this too
seriously, it is just a draft so you can understand the workflow. I haven't

View file

@ -17,15 +17,15 @@ Ive pulled together some drafts of my ideas for the design of the timeline po
of the Lumiera non-linear video editor (hopefully, the successor to http://cinelerra-cv.wikidot.com[Cinelerra]).
The un-annotated version::
image:{imgg}/Barnes.proposal.png[
image:{imgg}/proposal.Barnes.png[
"Lumiera UI proposal",width=300,
link="{imgg}/Barnes.proposal.png"] +
link="{imgg}/proposal.Barnes.png"] +
(click to enlarge)
The annotated version::
(explaining some of the finer points)
image:{imgg}/Barnes.proposal-annotated.png[
image:{imgg}/proposal.Barnes-annotated.png[
"Lumiera UI proposal (annotated)",width=300,
link="{imgg}/Barnes.proposal-annotated.png"]
link="{imgg}/proposal.Barnes-annotated.png"]

View file

@ -25,4 +25,4 @@ represent another View, and the connection from the timeline to the
compositing nodes will be by Name, and not by arrows. Default Names
would be "Video Track #1", etc.
image::{imgg}/RichardSpindler.proposal.png[]
image::{imgg}/proposal.RichardSpindler.png[]

View file

@ -5,9 +5,8 @@ GUI Brainstorming Reviewed
State of the GUI
----------------
image:/media/img/design.gui/screenshot090124-resources.jpg["Screenshot 090124",width="80%"]
image::{imgg}/screenshot2009-01.jpg[title="Screenshot 2009-01",width="80%"]
Updated 18/01/09
Done
@ -239,7 +238,7 @@ Widgets
* Generalized Fader
+
image:/images/fader.png[fader.png]
image:{imgg}/mock.Fader-ct2008-02.png[title="fader proposal"]
+
All faders are the same kind of custom widget, that is:

View file

@ -10,7 +10,8 @@
= State of the GUI =
attachment:Lumiera/GuiBrainstorming/screenshot090418.jpg
`attachment:Lumiera/GuiBrainstorming/screenshot090418.jpg`
img:{imgg}/screenshot2009-04.jpg[]
Updated 18/04/09
@ -204,7 +205,8 @@ Some people contributed drafts/sketches/ideas/brainstorming...
* ["alcarinque"] has an idea about defining the '''gui''' in '''different modules'''.[http://telniratha.atspace.com/spec.html see here] Feedback appreciated.
* Pablo Lizardo made a mockup for the timeline based in the Cinelerra UI elements.[http://farm4.static.flickr.com/3067/3003432151_e30258be3e_o.png see here] .
== Toward a Concrete Sketch ==
See this sketch [attachment:GtkGUI-0.1.png attachment:GtkGUI-0.1.png]
See this sketch +[attachment:GtkGUI-0.1.png]+
image:{imgg}/lum_gui_mockup-2008.png
The sketch is certainly not complete by any means - this is a v0.1. There are many Avid and Cinelerra features that ought to feature in the final product. However it shows a few ideas that I think would be good.
@ -290,7 +292,7 @@ All the controls are built around the side(s)(perimeter) of the (magnifying) vie
The layout of the keys make sit very easy to move both hands up and down the keyboard, choosing more and less. In the first pass of '''''live adjustments''''', they may not give perfect results, but they certainly make it plain to the user, what it was they were wanting to do, when they return to edit the strip later (in non-linear static time mode). Other toggle/mode of use buttons can be built into the tool. Local "preview"-er can be attached and be of any size. Transition and effects selector can also be attached, if wanted in the set-up set. The user could select actions (buttons/purposes of sliders) to be included in the tool's perimeter, and save the setup (gets named - and can determine what situations it gets used as the assumed default set-up to use) for future re-use. Some attached tools like previewer and resources could be set to minimise when the mouse is moved away from the locality of the tool.
attachment:Screenshot-Cinelerra_trackview-crosshairs_widget_01.jpg
img:{imgg}/mock.Cinelerra_trackview-crosshairs_widget-tree2008-09.jpg
Widgets can be'''''"connected" in their influence''''', so that adjustments made in one widget are also made (and maybe scaled) in other "connected" widgets at other locations. Edits made within widgets can be saved and re-applied at later times in other places and projects (just another way to collect input data similar to the use of "undo"/macro feature). The track/thumbnail height and width within the magnifier may be increased, and toggeld/switched between levels of magnification.
@ -1186,21 +1188,22 @@ Not only may the view layouts be customizable, but the number of times they appe
All the general program '''''menu items''''''''''''''''''''''''''''' would be '''''placed''''' above the tabs bar. All the process specific menu items (including what might be specific to "some" other processes), get placed below the tab bar, in the process window. Editing widgets can be of common design in each process - e.g. track fine timeline editing, track size. Methods of retrieving nodes designs, transitions and effects.
. attachment:Screenshot-Cinelerra_nodes-view-tree-02.jpg
. img:{imgg}/mock.Cinelerra_nodes-view-tree2008-05.jpg
. Notes on Node display.
* The node situation is display vertically across the tracks on the timeline in trackview.
* The node tab can be viewed in short form iconic mode, or expanded network-pipe view mode.
* The node tab can be used in an edit mode, where the tracks can be selected as input, and output, and effects are added by dragging and dropping from a master list, or local project toolbox, or (right) click and choose what to insert from a drop down list).
* The node tab is assigned a name (in the example above it is simply a Nxx number). Hovering over the tab name can show the description. The local toolbox/kit of effects is shown even when the '''''tab is displayed in short form (as in N17)''''' , and this allows easy drag and drop to insert and connect the effects. The short form display shows which effects ra ebeing used (and which of the toolbox are not), and roughly to which tracks they are being aplied.
* The '''''edit mode''''' allows an input or effects "box"/icon to be (right) clicked on to open up the parameters to be altered. There can be an option to allow the alterations to apply to only that clip, the group of clips, or update the node set to apply to the whole project whwere ever it is used, or save as a new option set. An effect (the purple one with the tick) has been selected for adjustment in N16. Nodes junctions can be re-ordered, bypassed (set to null), routes split or deleted by clicking and dragging the connection lines.
* The '''''camera and projector areas of the inputs''''' can be roughly set directly within the window of the node editor, to allow for fast general concept/sketch of the layout. But can be (right) clicked on to bring up an enlarged view for more accurate positioning (and settings) at a later stage of production.
* The '''''node settings can be managed''''' by being saved, given a name, description and metatags to assign when assigning the nodeset, so that the effects can be easily applied time and again to clips/timestrips (drag and drop, or select from menu, toolbar, toolbox, drop down list - from full main set or local project kit).
* The tab can be scrolled along the timeline, and the parameters in the node tab can be shown to vary with time.
* The node tab shows which tracks are used for input and which are used for output - there is no assumption or forcing the upper tracks to have priority the lower tracks. Each node does not have to send their output to the same output track as other nodes.
* More than one node tab can be active at any point in time. (a check would be needed that no eternal loops are created when more than one node tab is active at once).
* The same node tab could be viewed at once in several locations on the timeline, just like keyframes, so the user can immediately see how the states have changed at each of the chosen points in time time.
* The node tabs used anywhere in the project can all be created,edited, stored and managed in a view tab for nodes management, and could be quickly accessed by some tabs down the right hand side of the track view.
* The video editor has '''''similarites to an audio mixer''''' . An audio mixer has inputs on left, effects on each channel running down, buses horizontally, and outputs on right. The '''''video editor is similar but rotated sideways''''' . So inputs are on top, effects are applied to tracks or subclips at times (can either be applied to clips/sets, or time positions), output are at bottom, and so '''''nodes/busses''''' which show the path from selected inputs to outputs would sensibly be vertical (as shown above). '''''Groups''''' (as in sets of tracks that get edited, "trimmed" or "moved" as a set from time to time as desired), are also connected vertically, but are probably better placed on the left side, where Cinelerra has previously allowed manual and temporary selection of (one) group (needed to be changed every time you wanted a different combination for a group, and couldn't be saved to easily return to a previous group). ecah groups could be a horizontal tab (choose which groups to be shown as tabs), or as a single column but column title area has a drop down menu to allow user to select which group is currently active. The group management/dropdown list also has options to save, assign name, add description, delete current group, create new group.
* The node situation is display vertically across the tracks on the timeline in trackview.
* The node tab can be viewed in short form iconic mode, or expanded network-pipe view mode.
* The node tab can be used in an edit mode, where the tracks can be selected as input, and output, and effects are added by dragging and dropping from a master list, or local project toolbox, or (right) click and choose what to insert from a drop down list).
* The node tab is assigned a name (in the example above it is simply a Nxx number). Hovering over the tab name can show the description. The local toolbox/kit of effects is shown even when the '''''tab is displayed in short form (as in N17)''''' , and this allows easy drag and drop to insert and connect the effects. The short form display shows which effects ra ebeing used (and which of the toolbox are not), and roughly to which tracks they are being aplied.
* The '''''edit mode''''' allows an input or effects "box"/icon to be (right) clicked on to open up the parameters to be altered. There can be an option to allow the alterations to apply to only that clip, the group of clips, or update the node set to apply to the whole project whwere ever it is used, or save as a new option set. An effect (the purple one with the tick) has been selected for adjustment in N16. Nodes junctions can be re-ordered, bypassed (set to null), routes split or deleted by clicking and dragging the connection lines.
* The '''''camera and projector areas of the inputs''''' can be roughly set directly within the window of the node editor, to allow for fast general concept/sketch of the layout. But can be (right) clicked on to bring up an enlarged view for more accurate positioning (and settings) at a later stage of production.
* The '''''node settings can be managed''''' by being saved, given a name, description and metatags to assign when assigning the nodeset, so that the effects can be easily applied time and again to clips/timestrips (drag and drop, or select from menu, toolbar, toolbox, drop down list - from full main set or local project kit).
* The tab can be scrolled along the timeline, and the parameters in the node tab can be shown to vary with time.
* The node tab shows which tracks are used for input and which are used for output - there is no assumption or forcing the upper tracks to have priority the lower tracks. Each node does not have to send their output to the same output track as other nodes.
* More than one node tab can be active at any point in time. (a check would be needed that no eternal loops are created when more than one node tab is active at once).
* The same node tab could be viewed at once in several locations on the timeline, just like keyframes, so the user can immediately see how the states have changed at each of the chosen points in time time.
* The node tabs used anywhere in the project can all be created,edited, stored and managed in a view tab for nodes management, and could be quickly accessed by some tabs down the right hand side of the track view.
* The video editor has '''''similarites to an audio mixer''''' . An audio mixer has inputs on left, effects on each channel running down, buses horizontally, and outputs on right. The '''''video editor is similar but rotated sideways''''' . So inputs are on top, effects are applied to tracks or subclips at times (can either be applied to clips/sets, or time positions), output are at bottom, and so '''''nodes/busses''''' which show the path from selected inputs to outputs would sensibly be vertical (as shown above). '''''Groups''''' (as in sets of tracks that get edited, "trimmed" or "moved" as a set from time to time as desired), are also connected vertically, but are probably better placed on the left side, where Cinelerra has previously allowed manual and temporary selection of (one) group (needed to be changed every time you wanted a different combination for a group, and couldn't be saved to easily return to a previous group). ecah groups could be a horizontal tab (choose which groups to be shown as tabs), or as a single column but column title area has a drop down menu to allow user to select which group is currently active. The group management/dropdown list also has options to save, assign name, add description, delete current group, create new group.
-- ["Tree"][[DateTime(2008-05-07T20:54:00NZ)]] updated [[DateTime(2008-09-01T18:29:54:00NZ)]]
== Transition, Levels or Effects Widget remains on top while swapping windows between track view and composer ==
@ -1341,7 +1344,8 @@ The track can be played underneath the dockable cross tools, or they can be drag
It might be possible to have more than one per track, so the end points of a stretch of video can be worked on, withou having to jump through several labels, or remembering where to "go to". These tools would act as a means to identify areas that are "being" worked on. Very easy for the user to "park" a task and work elsewhere, then come back.
. attachment:Screenshot-Cinelerra_trackview-crosshairs_tool-other_way-synchro_mode-undocked-tree-02.jpg
img:{imgg}/mock.Cinelerra_trackview-crosshairs_tool-tree2008-05.jpg
'''Notes on Mouse Ergonomics'''
1) In the GUI shown above, the buttons in the small camera and projector view are small. They are clickable, but fiddly. These ease of targeting them is improved, by making use of the fact that to their left are'''''"nearby regions that do not need to be active"'''''. The area used to detect the cursors vertical position, can therefore be extended well towards the left of the buttons. This allows for horizontal inaccuracy of the mouse, while concentrating on the targeting the vertical position.
@ -1842,7 +1846,7 @@ The motion tracker boxes and vectors are not colour code (or line styled) to hel
== Motion Tracker - Concept for improved features and GUI ==
The following image is an example of how the panel)s) for the motion tracker could be improved. Note the tabs for workflow left to right. Note the order of decisions from top to bottom. 3 axis separation, reduced confusion as to what setting to use for what purpose.
attachment:motion_tracker-tree_version_03.jpg
img:{imgg}/mock.motion_tracker-tree2008-05.jpg
. --["Tree"][[DateTime(2008-05-25T23:32:00NZ)]] .
== Motion Tracker - alternative to manual use of "Blur" and "Histogram" effects to improve result ==
@ -2028,12 +2032,13 @@ Not shown in the example;
In the tab label or near the top of the tab strip, there could be some icons for easy access to tasks such as ;
1. dump this transition from the queue.
1. execute this transition NOW
1. move this transition up the queue.
1. move this transition down the queue
1. open this transition for viewing and editing The tools, look and feel is in keeping with the rest of the program, and is very similar to the node designer, and usual transition & effects editor.
attachment:Screenshot-Cinelerra_live-capture-view-tree-01.jpg
. dump this transition from the queue.
. execute this transition NOW
. move this transition up the queue.
. move this transition down the queue
. open this transition for viewing and editing The tools, look and feel is in keeping with the rest of the program, and is very similar to the node designer, and usual transition & effects editor.
+
img:{imgg}/mock.Cinelerra_live-capture-view-tree2008-09.jpg
''--["Tree"][[DateTime(2008-09-03T12:58:00NZ)]] .''

View file

@ -30,7 +30,7 @@ The Lumiera Logo
----------------
Summary of the situation: discussion regarding a logo for Lumiera is going on sporadically since quite some time. Several people from the community have made proposals. Also, there was discussion about the criteria a logo would have to fulfil. Especially the core devs raised the bar and required quite some professional level of design. On the contrary, several members of the community were concerned that such a demanding attitude will hinder creativity in a domain which is far off from coding. Moreover, many people complained they are really excited about Lumiera and strongly want to participate in some manner, but find it very difficult in the current phase of the project to give any valuable contribution.
This summer, one of the proposals by link:{img}/LumieraLogoLeonardoRiberio.2008.jpg[Leandro Ribeiro] gained some popularity and especially was embraced by two of the core devs, while the GUI core dev wasn't convinced and explained [purple]#<broken-URL># his reservation. Prior to this meeting some people joined a brainstorming session and came up with _another design_([purple]#broken-URL `combo.png`#) compiled of several proposals, which could meet the acceptance of the core devs. At the same time, Raffa made an argument for conducting a public contest, similar to the one which gave us the name of Lumiera. The situation for Lumiera is somewhat special. Usually, the community builds when the product is already minimally usable; we can't have users for now, but we have a lot of prospective users.
This summer, one of the proposals by link:{imgg}/LumieraLogoLeonardoRiberio.2008.jpg[Leandro Ribeiro] gained some popularity and especially was embraced by two of the core devs, while the GUI core dev wasn't convinced and explained [purple]#<broken-URL># his reservation. Prior to this meeting some people joined a brainstorming session and came up with _another design_([purple]#broken-URL `combo.png`#) compiled of several proposals, which could meet the acceptance of the core devs. At the same time, Raffa made an argument for conducting a public contest, similar to the one which gave us the name of Lumiera. The situation for Lumiera is somewhat special. Usually, the community builds when the product is already minimally usable; we can't have users for now, but we have a lot of prospective users.
Thus, while basically it would be possible for the core devs to shorten the process by just picking a design which is acceptable for all, maybe after augmenting it a little, several of the arguments articulated this far are in favour of a more formal decision by a contest:

View file

@ -11,6 +11,17 @@ spending time on the task of writing a summary.
Anyone interested in Lumiera development is also encouraged to read mailing list
archives and other documentation.
2024-2025
---------
All meetings were informal in style; usually _Ichthyo_ gave a summary
of recent achievements and explained some of the problems he was facing.
Usually this leads into a rather detailed and technical discussion.
Since Spring 2005, _Wouter Verwijlen_ has regularly participated in
renewed discussions for a
of a renewed link:{ldoc}/design/workflow/Verwijlen/[Workflow Concept].
8 May / 12 June 2024
--------------------
Discussion regarding the approach taken towards the next core topic, which

View file

@ -1,200 +0,0 @@
A Build Drone for Lumiera
=========================
:Author: Christian Thäter
:Date: 2008
This is a brainstorming page for what a build system on the server would need.
First of all, it should be simple and extensible, preferably by simple shell
scripts (note that *anything* else is a subset of a shell script!). We should
use existing good ol' unix utilities when applicable (batch, mail,...).
In my opinion this all can be a lot shell code glued together. Things should be
isolated to single tasks and well refactored to make it maintainable.
Lets go:
Whats needed?
-------------
* A description/configuration what needs to be done, these may be recursive.
* a batch/scheduling system (batch)
* triggers/events which are passed along (initiate a build by a git commit, ...)
* actions to perform
* handlers for success and failure cases which act on the outcome of a action
(scp, mail, rsync, filters to produce asciidoc output...)
* maybe some dependency handing (only build lumiera after installing the recent nobug version successfully)
Top Down scratch
----------------
Lets say the configs are shell scripts.
first a verbose one:
------------------------------------------------------------
cd project_dir
if git pull; then
# call handlers for success case
sendmail foo@bar.com <<EOF
blablah
EOF
sendmail other@blah.net <<EOF
blahblah
EOF
# success event which tells the caller to proceed
Huh?
else
# call handlers for the fail case
sendmail boss@bar.com <<EOF
blablah
EOF
# fail event which tells the caller to abort (or whatever)
Hah!
fi
------------------------------------------------------------
Ok that above doesnt look good, but would do the job with some efforts
Now lets factor this to some shell functions:
------------------------------------------------------------
function AddToReport()
{
cat >>,build_drone_report
}
function GitPull()
{
local dir="$1"
local repo="${2:-origin}"
local branch="${3:-master}"
ACTION="GitPull $*"
RESULT=FAILURE
cd "$dir" 2>&1 | AddToReport , return 1
git pull "$repo" "$branch" 2>&1 | AddToReport , return 1
RESULT=SUCCESS
return 0
}
function SendMail
{
cat ,build_drone_mail <<EOF
Subject: Build Drone Report
$ACTION $RESULT
blah blah
EOF
cat ,build_drone_report >>,build_drone_mail
for i in "$@"; do
sendmail "$i" <,build_drone_mail
done
}
------------------------------------------------------------
now we can do following: (looks much nicer or?)
------------------------------------------------------------
if GitPull project_dir; then
SendMail foo@bar.com other@blah.net
else
SendMail boss@bar.com
fi
------------------------------------------------------------
the above snippet can be a file in some config dir and will be processed by sourcing it with proper setup
lets place it in /build_drone/project/10GitPull
------------------------------------------------------------
for i in "/build_drone/project/*"; do
(
source "$i"
)
CallTrigger
done
------------------------------------------------------------
... ok enough for now, whats needed is the CallTrigger implementation,
stopping processes waiting (either reading on a pipe or wait for signal (-CONT
for success, -TERM for failure))
setup of the function scriptlets:
for i in link:/usr/local/lib/BuildDrone/[]*; do source $i; done ...
and so on
..
Conventions
-----------
. one drone runs always in a well defined directory, if commands have to go into subdirs, use subshells (good idea anyways)
. all jobs need to run in serial order, nothing parallel. What the job then does itself (make -j3 ..) can be parallelized.
. we need a well defined environment and some file where it is registered ,bd_env or so
. all jobs append write their output to some well defined logfile (logfiles ..)
. the status must be recorded in a file too
Example:
------------------------------------------------------------
function BatchJob()
{
batch <<EOF
(
$(cat)
) >&log
echo $? >,bd_exitcode
kill -CONT $$
EOF
# wait for signal
suspend
return $(<,bd_exitcode)
}
------------------------------------------------------------
This of course needs some more work, trap handlers for signals etc. I am not
sure if the idea with signals is good, maybe better use a pipe, lets see.
Actions and Handlers Brainstorming
----------------------------------
Ideas, not in order
SendMail::
send report as email
GitPull::
updates a git checkout +
Split this in
* GitFetch
fetch from remote
* GitHasChanges
are there changes between HEAD and remote?
* GitCheckout
reset to the remote head and checkout
Bootstrap::
autoreconf and configure
Make::
runs 'make'
Check::
runs 'make check'
Distcheck::
runs 'make distcheck'
Doxygen::
runs doxygen
StyleCheck::
checks if files violate the style rules, something like:
'astyle --style=gnu <$FILE.c | diff -u FILE.c - ...'
ToDos::
greps for TODO (with some -A context) and produces a report
* beautify (asciidoc) reports
* publish reports, packages etc to the webserver (scp, rsync)

View file

@ -52,9 +52,11 @@ The Lumiera project uses GNU indentation style with slight adaptations.
beyond just a short list of names -- especially when including initialisers -- they are
preferably written on a separate line, directly above the argument list in parenthesis
* the opening brace of namespaces is placed on the same line. Optionally, the namespace
body may be indented, as long as this helps underpinning the nesting structure. But
there is no need to use 3 indents on a 3 level nested namespace. One level is enough
to highlight the presence of a nesting.
body may be indented (by one half-indent), as long as this helps underpinning the
nesting structure. But there is no need to use three indents on a 3-level deep
nested namespace. One step is enough to highlight the presence of a nesting.
Effectively this implies that the majority of code is set apart from the
left border by two spaces.
- the shorthand type names `uint`, `ulong`, `uchar`, `short`, `ushort`, `llong`, `ullong`
are preferred, as it is clearer to write the fundamental type in a single word. Index
@ -71,12 +73,12 @@ The Lumiera project uses GNU indentation style with slight adaptations.
to define a type alias for the _function signature_ first.
- in a similar vein, we distinguish between an ```const object`'' which _is really in-itself_
unmodifiable, as opposed to _taking a const-reference,_ which is always spelled out
post-fix as `object const&`, or a constant-pointer spelled as `const*`.
post-fix as `SomeType const&`, or a constant-pointer spelled as `SomeType const*`.
- we use the textual form of the boolean operators `and`, `or` and `not`, because this
allows to make the code resemble complete meaningful sentences in human language.
We _do use_ the »line noise« variant however for all low-level bit manipulation,
`&`,`|`, `^`, sometimes also for `!` -- using those is taken as an indication of
entering the ``danger zone''...
having entered the ``danger zone''...
Spelling

View file

@ -225,6 +225,11 @@ February 2020::
* still running into problems with perfect forwarding in combination with overload resolution;
not clear if this is a shortcoming of current compilers, or the current shape of the language
May 2025::
We did the big leap and are now on C\+\+23, with Debian/Trixie as the »reference system«.
The new language features, notably the **Concepts** will be adopted gradually and we
will certainly have to face some new challenges...
@ -321,3 +326,4 @@ impose some challenging effort to retrofit existing structures.
much cleaner and high-level than most ``mainstream'' usage of other common build systems out there.footnote:[
``hello CMake'', ``hello Autotools'', anyone else? Meson, Ninja? Maven? should maybe consider a switch to WAF?]
NOTE: in May 2025, we achieved that switch and require now C\+\+23 and at least GCC-14.

View file

@ -7,46 +7,53 @@ Code Base Organisation
//Menu: put child GitBranching after LinkingStructure
This section of Lumiera's technical documentation deals with the code base as such,
not so much with the internals of the Lumiera application. It is targeted towards
people participating in Lumiera development.
This section of the Lumiera technical documentation deals with the code base itself,
and is less concerned with the internals of the Lumiera application. It is primarily
aimed at people who want to participate in Lumiera development.
The Lumiera source base is huge and expected to grow for some time to come. Just
judging by the _lines of code_, Lumiera can be considered as a *medium sized system*,
which gives us some hints towards the adequate practices, conventions and the
degree of formalism to apply.
The Lumiera source base is huge already, and expected to grow for some time to come.
Judging based on the _lines of code_ metric, Lumiera can be considered a
*medium sized system* -- which gives us some hints towards the adequate practices,
conventions and the degree of formalism to apply.
Generally speaking, a *small system* doesn't exceed the mental capacity of a single
knowledgeable human. A single person can know everything and understand everything
in such a code base. Thus, any formalism and organisational overhead is detrimental;
we're best off doing away with ``Methods'' and just rely on taste and craftsmanship.
knowledgeable human person. A single developer can reasonably know everything and
understand everything in such a code base. Thus, any further formalism and organisational
overhead is detrimental; we're best off doing away with any kind of ``Method'' and just
rely on our taste and craftsmanship.
But there is a hard limit for this approach, kind of a _sonic wall_ -- usually somewhere
around a size of 60000 LoC. At that point, the adequate value system flips around as a
whole. Since beyond that point, no single person can understand and know everything about
such a system, _communication and understanding become the primary concerns_ of the
development process. Suddenly, we _do need_ some organisation, some rituals and
a methodical approach. Yet still we don't need a high degree of formalism, since
at least we can easily _know and recall everyone involved_.
Yet this approach reaches a hard limit, a kind of sonic barrier -- usually somewhere
at a size of about 60000 LoC. From this point on, the appropriate value system is
completely reversed: since no single person can _understand and know everything_ about
such a system, _communication and understanding become the primary concerns_
of the development process. Suddenly, we _do need_ some organisation, some rituals
and a methodical approach. Yet still we don't need a high degree of formalism --
as long as we can at least easily _know and recall everyone involved_.
To give a delineation to the other side, a constantly growing project might eventually
To create a distinction from the other side, a constantly growing project might eventually
reach the point where the actual coding of new functionality makes up less than 25%
of the overall work required. More people might be involved than anyone can recall or
overlook reasonably. A code size of 1 Million LoC seems to exceed any kind of sufficiently
of the overall work required. More people might be involved than anyone can reasonably
recall or survey. A code size of 1 Million LoC seems to exceed any kind of sufficiently
precise imagination. From that point on, a rigorously formalised organisation is vital
to keep such a *large scale project* from floundering.
////
Conventions
-----------
_to be written_
- link:/project/legal/legal.html[Lumiera is **Free Software**] (GPL-2+)
- link:CodingGuidelines.html[Lumiera code uses]: *GNU style*, 4-space indent, CamelCase and British spelling
- link:GitBranching.html[Branches and Releases] are organised according to *Git-flow*
////
Guidelines
----------
////
''''
[TIP]
--
* link:{ldoc}/devel/meeting_summary/index.html[Developers Meetings] and protocols
* also see the link:/x/DesignProcess.html[Design Process] for ongoing discussions
* see the link:/devs-vault/[Developers Vault] for frequently used developer's resources
--

View file

@ -1,17 +1,53 @@
Release preparation
===================
:Author: Ichthyo
:Date: Nov 2015
:Date: Nov 2025
we have nothing to show and don't provide public releases yet --
We have nothing to show and don't provide public releases yet --
but we ought to rehearse and practice the release process.
This document contains some hints and a checklist of steps
to perform for a proper release.
IMPORTANT: Lumiera uses link:{ldoc}/technical/code/GitBranching.html[Git-flow]
for the organisation of release branches and tags. Releases are still
considered ``experimental'' and happen infrequently, so that a full
automation of these steps was not yet considered. So please be
sure to adhere to the established conventions.
Steps to perform for a release
------------------------------
. release prep: clean-up obsolete information
. Pre-Release _»convergence phase«_
- care for code stability and refrain from breaking changes
- verify that the _current version number_ is already set to
the version number expected for the upcoming release, yet
decorated with the `~dev` suffix -- if it turns out that
the upcoming release shall make a _major version bump,_
then the expected version must be set *now*. Once
the release branch has been forked, the version
must not be changed any more.
. Release cut
- create the _Release Branch_ with name `rel/#.#.#`
- after that fork, immediately perform the *version bump*
on branch `integration`
+
--
** use the Script: `admin/buildVersion --bump=maj|min|rev --suffix=dev`
** typical usage
----
admin/setVersion `admin/buildVersion.py --bump -s dev`
----
--
+
[IMPORTANT]
what you set here *must* be the next version _after the release_
. Release preparation: clean-up obsolete information
- Debian package descriptions
- Build-Tutorial
@ -21,55 +57,81 @@ Steps to perform for a release
* contributing
- technical/build/Dependencies
- check and update *Release-Notes*
. release prep: bump version number
* check that 'README' is up-to-date
* add a new summary entry into 'NEWS'
* check the 'AUTHORS' info
- `admin/scons/Setup.py`
- `data/config/setup.ini`
- `doc/devel/Doxyfile`
- `doc/devel/Doxyfile.browse`
** ensure that the copyright time span
mentioned for each relevant contributor
is correct and possibly spans the current year
** it is _crucial_ (legally relevant) that at least
the person preparing the release and thus acting as
publisher is mentioned here with the _current year_
** ensure that a correct summary is presented in the "About"
dialog of the GTK-UI. The necessary config is currently (2025)
maintained in the file 'setup.ini' (the info displayed here
should be the list of all _significant contributors_ and
cover the whole time span from 2007 until _NOW_)
. perform a back-merge from the release branch. +
It is relevant not to loose any bugfixes. Especially verify
* check that the 'LICENSE' file mentions the core authors,
again with the correct copyright time span
- that all ongoing fixes from DEBs and other build activities
are properly represented as patches and committed to the release branch
- that adjustments to platform dependencies are picked up adequately
. Test phase
. perform the *Release-commit*:
it should mention the kind of the release and the version number.
Typically, with this commit, you'll update some top level stuff in the
source tree, like
- even while we have automated tests, be sure at least to do
some ``smoke test''. Ideally have _someone else_ use the new
version on a real-world project.
- depending on the circumstances, possibly set a _release candidate_ version, +
using a `--suffix=rc.#`
- `README`
- `AUTHORS`
* also in the ``about'' box in the GTK-UI
* see `setup.ini`
. Publish the Release
- check the `LICENSE` file and add new license
declarations and notes, clean obsolete info here.
- merge the release branch into `master`
- set the version again, this time without any `--suffix`
- amend the merge commit to _include that final version_
- set the *Release Tag* in accordance with the
link:{ldoc}/devel/rfc/VersionNumberScheme.html[Version-Number scheme].
- fast forward also the _release branch_ to sit at that tag
- *publish* by pushing into git://git/lumiera/org/LUMIERA
. update the *release branch*: ``upgrade current release to ##.##'' +
Make sure the release branch now really reflects current master, maybe
with the omission of some stuff to be kept out of the packages.
Set the *release tag*
** the latest state of `master`
** the release tag
. packaging...
. Back-Merge: +
**never loose any release work**
- merge release -> deb
- `git checkout integration`
- `git merge rel/#.#.#`
- work through possible merge conflicts and resolve them
- conflicts on the version number *must* be resolved in favour
of the _next version number_ -- you can perform that as an
extra step, _after the merge_ is otherwise complete:
`admin/buildVersion --bump ... --suffix=dev` (and then
amend the merge!)
- *delete* the release-branch
- push this delete to the public repos, incl the main repo!
. Packaging...
- merge release-tag -> branch `deb`
- verify the package description
- have a look at manpages and similar packaging documents
- update `debian/control` to reflect current version dependencies
- have a look into `debian/rules` (e.g. build flags and similar)
- have a look at manpages and similar packaging documents; +
notably look into 'debian/README.Debian', since we deliver
that instead of 'README' for the Debian users, since they
do not need instructions how to build the software...
- update 'debian/control' to reflect current version dependencies
- have a look into 'debian/rules' (e.g. build flags and similar)
- update 'debian/copyright' to reflect authors and copyright!
. delivery
. Delivery
- use whatever infrastructure is available to build packages.
- verify packages can be installed on a pristine VM
- verify packages can be installed on a pristine VM / Container
- upload packages to debian depot or commit them to PPAs
- clean-up and discard obsoleted old distributions and packages
. close the **release ticket**
. Close the **Release Ticket**

View file

@ -1,12 +1,18 @@
Infrastructure
==============
// Menu : prepend child Release
// Menu : prepend child MenuGen
// Menu : prepend child Webserver
// Menu : prepend child TestSupport
// Menu : prepend child debianDepot
Various details, documentation and other pieces of information regarding
the infrastructure of the Lumiera project. This includes the infrastructure
used for building and maintaining documentation and website.
* see link:../build/index.html[separate page for the Buildsystem]
* see link:{ldoc}/technical/build/index.html[separate page for the Buildsystem]
* generating the link:MenuGen.html[navigation menu] for the website
* how to use the link:rfcsh.html[rfc.sh] script for maintaining RFC's
@ -18,14 +24,27 @@ Other tools in the ./admin folder
There are various other small tools and scripts in the admin folder which are
not yet fully documented (Read the Source!).
.headercheck
This is a small tool which checks that all headers are sufficiently standalone
and include anything they need. In future we might extend this to find out
bogus includes by predefining (-D) headerguards they include, effectively
disableing this include for a test.
.render_icon.py
used by the buildsystem to translate svg icons to bitmaps (png)
.buildVersion.py
Uses some Git magic to figure out the current version number
based on the HEAD revision. In addition, it allows to bump select
components of this version number, and to append a decoration suffix.
We use the link:{ldoc}/technical/code/GitBranching.html[Git-flow]
branching structure, and thus this script is typically used to
generate an input for the setVersion script,
immediately after forking off a _Release branch_.
.setVersion
This shell script uses `sed` to update the current Lumiera version number.
It contains hard coded knowledge of all relevant locations in the code base
where this version number is embedded and must be updated.
.rfc.sh
This shell script (written by Cehteh) was used in the early days of Lumiera
to create, update and manage the link:{ldoc}/devel/design_process.html[»RfC« entries]
for the _Lumiera Design Process_. While this formal documentation of design decisions
is still considered relevant, this formalised process is suspended, as long as _Ichthyo_
is working basically alone on the project.
.treeinfo.sh
Generates a report about the projects directory structure by parsing the
@ -39,9 +58,6 @@ more details.
A directory containing example git hooks for signing and pushing on commit.
Only use them when you know what you are doing.
.lumiera_c_skeleton
A script which instantiates a new pair of .c/.h files.
.vg-run.sh
convenience wrapper script to run an executable with valgrind
using "typical options"; output goes to a logfile, which is
@ -51,9 +67,6 @@ A valgrind suppression file is generated automatically, in
case there is an executable "vgsuppression" located in the same
directory as the target executable.
.gnu-indent
call the "indent" tool with parameters suitable for our (GNU derrived) coding style
.testrunner
Script driving make and running a test, possibly under valgrind. Works only
for autotools build.

View file

@ -2,6 +2,7 @@ Lumiera (as seen) from Outer Space
==================================
:Author: Lumiera_Core_Developers
:Date: 2012 / 2025
:webidx:
:toc:
******************************************************************************

View file

@ -220,7 +220,8 @@ scons -j#
The build process will take some time, so sit back and relax.
You can use for `#` (at least) the number of cores available on your system
to speed up the build -- but it will take several minutes even for a debug
build and significantly more for an optimised release build (-> see `scons -h`)
build and significantly more for an optimised release build +
(-> see `scons -h` for build options you can change)
And if you feel like waiting even more, you might build and run the test suite
by issuing `scons -j# check`...

View file

@ -25,7 +25,7 @@ require considerable experience, some sections require less experience whereas
certain aspects might be ideal to new programmers. Thus we attempt here to
describe a number of areas in the project to assist you in selecting an area in
which you might like to make a contribution.
Of course, you are more than welcome--and even encouraged--to select other areas
Of course, you are more than welcome -- and even encouraged -- to select other areas
in Lumiera towards which you would like to contribute.
@ -34,9 +34,10 @@ How to contribute to Lumiera
Git: Essentials for Lumiera
~~~~~~~~~~~~~~~~~~~~~~~~~~~
All files in the Lumiera project are managed by *Git*, the distributed sourcecode
management software. Although Git was primarily brought to life to manage source
code, it plays a fundamental role in the Lumiera project. It is central to
image:{img}/git.png[title="Git"] All files in the Lumiera project are managed by
https://git-scm.com/[Git], the distributed sourcecode management software.
Although Git was primarily brought to life to manage source code,
it plays a fundamental role in the Lumiera project. It is central to
communication and contribution in the project. If you'd like to contribute to
Lumiera, you will have to acquire some understanding of Git at some stage or
other. Please note, this is not the only way to contribute to Lumiera, you can
@ -260,20 +261,20 @@ fact, many user interfaces should be possible.
- the stylesheet has been roughly ported to GTK-3, but needs a lot more polishing
- we urgently need conceptual (non-coding) contributions
* work out a coherent UI handling concept, in accordance with model and core
* we need a concept for key bindings and focus
* we need a concept for integration with control surfaces
* we need a concept for pen based handling
* work out a
http://localhost:8888/documentation/design/workflow/Verwijlen/index.html[coherent UI handling concept]
** we need a concept for key bindings and focus
** we need a concept for integration with control surfaces
** we need a concept for pen based handling
Steam Layer::
- external connection systems
* investigate good ways to output video, both in-window and full screen.
Especially, the integration is what counts: it should be a well maintained
library, and play well with our intended framework and memory management.
* expand on the work done for ALSA and Jack audio.
* expand on the work done for LADSPA / L2. Make Lumiera a host for these plugin systems
* expand on the work done for LADSPA / LV2; +
make Lumiera a host for these plugin systems...
* investigate how to discover sound card properties. Develop a concept how to describe
these in a generic fashion, independent of the concrete library used for output.
The purpose is to allow binding with the structure of the session model
@ -283,12 +284,6 @@ Steam Layer::
* expand on the work done for a pooling small objects allocator.
* develop a backend for our various allocation schemes to use this allocator.
- Command system at the GUI interface
* expand on the work done for generic commands
* implement a command dispatcher to allow blocking and queuing of commands
* develop a scheme how to code the GUI commands in practice
- provide the foundation for symbolic rules and script bindings
* expand on the work done for symbolic and hash references
@ -314,10 +309,20 @@ Website and infrastructure::
- help with our continuous integration setup
Current goals of development::
- achive a link:{ldoc}/design/governance/integration.html[first integration] of the application...
- https://issues.lumiera.org/report/17[»Focus Topics«] for further development.
''''
''''
....
....
Do you have any further ideas? Please speak up on the mailing list or on IRC.
Do you have any further ideas?
Please speak up on the mailing list or on IRC. +
Such are always welcome.

View file

@ -159529,10 +159529,58 @@ unsigned int ThreadIdAsInt = *static_cast&lt;unsigned int*&gt;(static_cast&lt;vo
</node>
</node>
</node>
<node CREATED="1764593425070" ID="ID_1420199278" MODIFIED="1764593520080" TEXT="Asciidoc">
<node CREATED="1764593429830" ID="ID_1762258712" LINK="https://asciidoc-py.github.io/userguide.html#X18" MODIFIED="1764593851743" TEXT="spezielle Properties / Attribute">
<node CREATED="1764593548342" ID="ID_1030912007" MODIFIED="1764593572777" TEXT="kann man im Header einzelner Quellen setzen">
<node CREATED="1764593574671" ID="ID_930609994" MODIFIED="1764593660099" TEXT=":&lt;name&gt;: &lt;value&gt;">
<font NAME="Monospaced" SIZE="12"/>
</node>
</node>
<node CREATED="1764591968597" ID="ID_1189580536" MODIFIED="1764593473550" TEXT="Datum / Zeit">
<linktarget COLOR="#4f45dd" DESTINATION="ID_1189580536" ENDARROW="Default" ENDINCLINATION="-380;68;" ID="Arrow_ID_415533818" SOURCE="ID_991639193" STARTARROW="None" STARTINCLINATION="-279;32;"/>
<icon BUILTIN="info"/>
<node CREATED="1764591976275" ID="ID_1038015397" MODIFIED="1764592001680" TEXT="{localdate} {localtime} : Systemzeit wenn das File gerendert wird"/>
<node CREATED="1764592002382" ID="ID_1682231953" MODIFIED="1764592028841" TEXT="{docdate} {doctime} : die mtime der Asciidoc-Quelldatei"/>
<node CREATED="1764595349118" ID="ID_1635643078" MODIFIED="1764595370062" TEXT="{revdate} : wird automatisch vom Asciidoc-Header gesetzt">
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1764595618173" ID="ID_783776991" MODIFIED="1764595657686" TEXT="&#x26a0;Vorsicht: kann leer sein &#x27f9; dann wird die ganze Zeile unterdr&#xfc;ckt">
<icon BUILTIN="clanbomber"/>
</node>
<node CREATED="1764595660835" ID="ID_804390128" LINK="https://asciidoc-py.github.io/userguide.html#_conditional_attribute_references" MODIFIED="1764595698980" TEXT="Tip: {revdate=sonst}"/>
</node>
<node CREATED="1764595707047" ID="ID_405331711" MODIFIED="1764595889961">
<richcontent TYPE="NODE"><html>
<head/>
<body>
<p>
{date} : eine lokale Konvention <b>nur f&#252;r Lumiera</b>
</p>
</body>
</html></richcontent>
<richcontent TYPE="NOTE"><html>
<head/>
<body>
<p>
...einfach weil wir dieses Attribut explizit in unserer page.conf verwenden &#8212; und wenn es nicht definiert ist, f&#228;llt die ganze Zeile mit dem umschlie&#223;enden &lt;span&gt;-Element weg!
</p>
</body>
</html></richcontent>
<linktarget COLOR="#a9b4c1" DESTINATION="ID_405331711" ENDARROW="Default" ENDINCLINATION="-14;16;" ID="Arrow_ID_1717402688" SOURCE="ID_461472408" STARTARROW="None" STARTINCLINATION="24;8;"/>
</node>
</node>
<node CREATED="1764595853410" ID="ID_794589583" MODIFIED="1764595858268" TEXT="Lumiera-Konventionen">
<node CREATED="1764595859312" ID="ID_461472408" MODIFIED="1764595889961" TEXT="{date}">
<arrowlink DESTINATION="ID_405331711" ENDARROW="Default" ENDINCLINATION="-14;16;" ID="Arrow_ID_1717402688" STARTARROW="None" STARTINCLINATION="24;8;"/>
</node>
<node CREATED="1764595864928" ID="ID_1245554514" MODIFIED="1764595871356" TEXT="{webidx}">
<node CREATED="1764595893479" ID="ID_754732923" MODIFIED="1764595905891" TEXT="schaltet Metadaten f&#xfc;r Suchmaschinen zu"/>
</node>
</node>
</node>
</node>
<node CREATED="1538838573613" ID="ID_1610361741" MODIFIED="1557498707241" TEXT="Graphic">
<node CREATED="1538838576956" ID="ID_1174319279" MODIFIED="1665346614450" TEXT="SVG-Icons">
<linktarget COLOR="#668497" DESTINATION="ID_1174319279" ENDARROW="Default" ENDINCLINATION="-533;-310;" ID="Arrow_ID_1274211300" SOURCE="ID_465159869" STARTARROW="None" STARTINCLINATION="-2393;215;"/>
<node CREATED="1504201038435" ID="ID_1569870904" MODIFIED="1746488128368" TEXT="Anleitung">
<node CREATED="1504201038435" FOLDED="true" ID="ID_1569870904" MODIFIED="1746488128368" TEXT="Anleitung">
<linktarget COLOR="#8697d2" DESTINATION="ID_1569870904" ENDARROW="Default" ENDINCLINATION="-935;-133;" ID="Arrow_ID_421953450" SOURCE="ID_1898190659" STARTARROW="None" STARTINCLINATION="-861;94;"/>
<linktarget COLOR="#67647f" DESTINATION="ID_1569870904" ENDARROW="Default" ENDINCLINATION="-1095;296;" ID="Arrow_ID_1632100831" SOURCE="ID_406063817" STARTARROW="None" STARTINCLINATION="-1256;195;"/>
<node CREATED="1504201044122" ID="ID_612955500" MODIFIED="1557498707241" TEXT="SVG in data/icons/svg"/>
@ -159678,7 +159726,7 @@ unsigned int ThreadIdAsInt = *static_cast&lt;unsigned int*&gt;(static_cast&lt;vo
</node>
</node>
</node>
<node CREATED="1710633728708" ID="ID_1898552649" MODIFIED="1710633858137" TEXT="Gnuplot: data visualisation">
<node CREATED="1710633728708" FOLDED="true" ID="ID_1898552649" MODIFIED="1711839024415" TEXT="Gnuplot: data visualisation">
<linktarget COLOR="#425fc8" DESTINATION="ID_1898552649" ENDARROW="Default" ENDINCLINATION="-1042;110;" ID="Arrow_ID_1130805562" SOURCE="ID_395770848" STARTARROW="None" STARTINCLINATION="-1030;94;"/>
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1710633903677" ID="ID_1723847579" MODIFIED="1711405628258" TEXT="Doku">
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
@ -160094,10 +160142,10 @@ unsigned int ThreadIdAsInt = *static_cast&lt;unsigned int*&gt;(static_cast&lt;vo
<node CREATED="1711757567732" ID="ID_1637339854" LINK="http://gnuplotting.org/attractive-plots/index.html" MODIFIED="1711757578494" TEXT="Tips for &#xbb;attractive plots&#xab;"/>
</node>
</node>
<node CREATED="1756651446132" ID="ID_376360777" MODIFIED="1756652592528" TEXT="Web / CSS / JS">
<node CREATED="1756651446132" FOLDED="true" ID="ID_376360777" MODIFIED="1756679415473" TEXT="Web / CSS / JS">
<node CREATED="1756651479758" ID="ID_1166110398" MODIFIED="1756651485145" TEXT="modernes Layout"/>
<node CREATED="1756651508954" ID="ID_1160159782" MODIFIED="1756651510565" TEXT="CSS"/>
<node CREATED="1756658704894" ID="ID_1161944435" MODIFIED="1756658708438" TEXT="Linkchecker">
<node CREATED="1756658704894" ID="ID_1161944435" MODIFIED="1756679415473" TEXT="Linkchecker">
<node CREATED="1756658710017" ID="ID_624740527" MODIFIED="1756658732611">
<richcontent TYPE="NODE"><html>
<head/>
@ -160381,7 +160429,7 @@ unsigned int ThreadIdAsInt = *static_cast&lt;unsigned int*&gt;(static_cast&lt;vo
</node>
<node CREATED="1745782756562" ID="ID_234538183" MODIFIED="1745782783821" STYLE="fork" TEXT="Video">
<edge COLOR="#61617d" STYLE="sharp_bezier" WIDTH="thin"/>
<node CREATED="1745782770967" ID="ID_1146653979" MODIFIED="1745782783815" TEXT="Video-Ausgabe">
<node CREATED="1745782770967" FOLDED="true" ID="ID_1146653979" MODIFIED="1757602808059" TEXT="Video-Ausgabe">
<node CREATED="1745790344084" ID="ID_1378935901" MODIFIED="1745790352551" TEXT="Frameworks / Technologien">
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1745790353944" ID="ID_1890042435" MODIFIED="1745790605840" TEXT="Wayland">
<icon BUILTIN="hourglass"/>
@ -160528,7 +160576,8 @@ unsigned int ThreadIdAsInt = *static_cast&lt;unsigned int*&gt;(static_cast&lt;vo
</node>
<node CREATED="1746546915150" ID="ID_138512802" LINK="https://en.wikipedia.org/wiki/List_of_free_and_open-source_software_packages#Video_editing" MODIFIED="1746546953470" TEXT="List of Free Video Editing Software (Wikipedia)"/>
</node>
<node CREATED="1763919279875" ID="ID_139746969" MODIFIED="1763919286303" TEXT="Rechtliche Fragen">
<node BACKGROUND_COLOR="#bca0a5" CREATED="1763919279875" FOLDED="true" ID="ID_139746969" MODIFIED="1764551043963" TEXT="Rechtliche Fragen">
<icon BUILTIN="clanbomber"/>
<node CREATED="1763919291136" ID="ID_1517453499" MODIFIED="1763919295187" TEXT="Anforderungen der GPL">
<node CREATED="1763919296823" ID="ID_743997801" MODIFIED="1763919303971" TEXT="f&#xfc;r Weitergabe einer Kopie">
<node CREATED="1763919417814" ID="ID_477682985" MODIFIED="1763919428049" TEXT="sichtbar/prominent an jeder Kopie"/>
@ -161877,7 +161926,7 @@ unsigned int ThreadIdAsInt = *static_cast&lt;unsigned int*&gt;(static_cast&lt;vo
<cloud COLOR="#c6b0a1"/>
<linktarget COLOR="#716888" DESTINATION="ID_1086481723" ENDARROW="Default" ENDINCLINATION="-242;50;" ID="Arrow_ID_930062015" SOURCE="ID_1111957003" STARTARROW="None" STARTINCLINATION="-363;96;"/>
<node CREATED="1752758687270" ID="ID_587093014" MODIFIED="1752758689409" TEXT="2025">
<node CREATED="1752755281391" ID="ID_442273376" LINK="https://lumiera.org/research/videoDisplay/index.html" MODIFIED="1757602808059" TEXT="FrOSCon-Vortrag(25) : Video-Ausgabe">
<node CREATED="1752755281391" FOLDED="true" ID="ID_442273376" LINK="https://lumiera.org/research/videoDisplay/index.html" MODIFIED="1757602808059" TEXT="FrOSCon-Vortrag(25) : Video-Ausgabe">
<linktarget COLOR="#4d74d8" DESTINATION="ID_442273376" ENDARROW="Default" ENDINCLINATION="-2314;2141;" ID="Arrow_ID_437931140" SOURCE="ID_553632518" STARTARROW="None" STARTINCLINATION="-1107;59;"/>
<linktarget COLOR="#094fce" DESTINATION="ID_442273376" ENDARROW="Default" ENDINCLINATION="-332;592;" ID="Arrow_ID_1945191941" SOURCE="ID_1422823042" STARTARROW="None" STARTINCLINATION="-1124;69;"/>
<linktarget COLOR="#4d74d8" DESTINATION="ID_442273376" ENDARROW="Default" ENDINCLINATION="513;-707;" ID="Arrow_ID_738647024" SOURCE="ID_1047074231" STARTARROW="None" STARTINCLINATION="-1126;76;"/>
@ -162039,7 +162088,7 @@ unsigned int ThreadIdAsInt = *static_cast&lt;unsigned int*&gt;(static_cast&lt;vo
</node>
</node>
</node>
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1664630997672" ID="ID_237099051" MODIFIED="1758487670328" STYLE="bubble" TEXT="mitf&#xfc;hren" VSHIFT="-8">
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1664630997672" FOLDED="true" ID="ID_237099051" MODIFIED="1764550949090" STYLE="bubble" TEXT="mitf&#xfc;hren" VSHIFT="-8">
<richcontent TYPE="NOTE"><html>
<head/>
<body>
@ -162342,7 +162391,7 @@ unsigned int ThreadIdAsInt = *static_cast&lt;unsigned int*&gt;(static_cast&lt;vo
<node BACKGROUND_COLOR="#bae1a4" COLOR="#338800" CREATED="1759014578674" FOLDED="true" ID="ID_1555146086" MODIFIED="1762479183678" TEXT="Abhandlung: Flexibilit&#xe4;t und Erweiterbarkeit">
<linktarget COLOR="#403fbb" DESTINATION="ID_1555146086" ENDARROW="Default" ENDINCLINATION="180;484;" ID="Arrow_ID_892680715" SOURCE="ID_1161778090" STARTARROW="None" STARTINCLINATION="376;23;"/>
<linktarget COLOR="#363cde" DESTINATION="ID_1555146086" ENDARROW="Default" ENDINCLINATION="107;1207;" ID="Arrow_ID_501903819" SOURCE="ID_919379881" STARTARROW="None" STARTINCLINATION="-773;31;"/>
<linktarget COLOR="#262fc3" DESTINATION="ID_1555146086" ENDARROW="Default" ENDINCLINATION="-87;911;" ID="Arrow_ID_1308723569" SOURCE="ID_255830875" STARTARROW="None" STARTINCLINATION="413;-41;"/>
<linktarget COLOR="#262fc3" DESTINATION="ID_1555146086" ENDARROW="Default" ENDINCLINATION="-43;308;" ID="Arrow_ID_1308723569" SOURCE="ID_255830875" STARTARROW="None" STARTINCLINATION="406;33;"/>
<linktarget COLOR="#403fbb" DESTINATION="ID_1555146086" ENDARROW="Default" ENDINCLINATION="180;484;" ID="Arrow_ID_848521794" SOURCE="ID_531427945" STARTARROW="None" STARTINCLINATION="403;23;"/>
<icon BUILTIN="button_ok"/>
<node CREATED="1759016171842" ID="ID_527999175" MODIFIED="1759016184330" TEXT="Aufgabe: den Sachverhalt ordnen">
@ -162683,7 +162732,7 @@ unsigned int ThreadIdAsInt = *static_cast&lt;unsigned int*&gt;(static_cast&lt;vo
<linktarget COLOR="#e41435" DESTINATION="ID_97354933" ENDARROW="Default" ENDINCLINATION="23;35;" ID="Arrow_ID_466080442" SOURCE="ID_1395906680" STARTARROW="None" STARTINCLINATION="74;8;"/>
<linktarget COLOR="#e53b65" DESTINATION="ID_97354933" ENDARROW="Default" ENDINCLINATION="1244;1409;" ID="Arrow_ID_1426119304" SOURCE="ID_1170181843" STARTARROW="None" STARTINCLINATION="-1203;-53;"/>
<icon BUILTIN="bell"/>
<node COLOR="#435e98" CREATED="1758487692078" ID="ID_85783162" MODIFIED="1762379521517" TEXT="2025-09">
<node COLOR="#435e98" CREATED="1758487692078" FOLDED="true" ID="ID_85783162" MODIFIED="1762379521517" TEXT="2025-09">
<node CREATED="1758487698412" ID="ID_1584725666" MODIFIED="1758487718833">
<richcontent TYPE="NODE"><html>
<head/>
@ -162695,8 +162744,8 @@ unsigned int ThreadIdAsInt = *static_cast&lt;unsigned int*&gt;(static_cast&lt;vo
</html></richcontent>
</node>
<node CREATED="1758487720107" ID="ID_1563953063" MODIFIED="1758487745591" TEXT="au&#xdf;erdem habe ich noch einen HTML-Snapshot vom pipapo-Wiki mit integriert"/>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1758487782853" ID="ID_1377600907" MODIFIED="1758487798391" TEXT="ich k&#xf6;nnte nun die Dynamik der ersten Phase erz&#xe4;hlen">
<icon BUILTIN="pencil"/>
<node COLOR="#338800" CREATED="1758487782853" FOLDED="true" ID="ID_1377600907" MODIFIED="1764550837406" TEXT="ich k&#xf6;nnte nun die Dynamik der ersten Phase erz&#xe4;hlen">
<icon BUILTIN="button_ok"/>
<node CREATED="1758487821709" ID="ID_443329584" MODIFIED="1758487827662" TEXT="Themen">
<node COLOR="#435e98" CREATED="1758487894569" FOLDED="true" ID="ID_176634763" MODIFIED="1762124490154" TEXT="was f&#xfc;r Akteure gab es?">
<icon BUILTIN="list"/>
@ -165574,8 +165623,9 @@ on some aspects of file handling media loading.</pre>
<icon BUILTIN="button_ok"/>
</node>
</node>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1760132042218" HGAP="11" ID="ID_1408353418" MODIFIED="1760132054766" TEXT="Text-Revision mit Benny" VSHIFT="9">
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1760132042218" HGAP="11" ID="ID_1408353418" MODIFIED="1764550159181" TEXT="Text-Revision mit Benny" VSHIFT="9">
<icon BUILTIN="pencil"/>
<icon BUILTIN="hourglass"/>
<node CREATED="1760132068731" ID="ID_1903189141" MODIFIED="1760132227214">
<richcontent TYPE="NODE"><html>
<head/>
@ -165612,7 +165662,8 @@ on some aspects of file handling media loading.</pre>
<node COLOR="#338800" CREATED="1760132364422" ID="ID_209332786" MODIFIED="1760132378930" TEXT="Text auf staging.lumiera.org gestellt">
<icon BUILTIN="button_ok"/>
</node>
<node CREATED="1760132380185" ID="ID_1782005098" MODIFIED="1760132391018" TEXT="Korrekturen/Vorschl&#xe4;ge">
<node CREATED="1760132380185" FOLDED="true" ID="ID_1782005098" MODIFIED="1764550431588" TEXT="Korrekturen/Vorschl&#xe4;ge">
<icon BUILTIN="list"/>
<node CREATED="1760132392153" ID="ID_1846211455" MODIFIED="1760132417905" TEXT="die meisten sind so offensichtlich....">
<richcontent TYPE="NOTE"><html>
<head/>
@ -166050,8 +166101,42 @@ that situation will improve in forseeable future.</pre>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1764550169703" ID="ID_37675688" MODIFIED="1764550410908" STYLE="fork" TEXT="Benny hat weitere &#xdc;berarbeitung zugesagt &#x2014; kann aber derzeit nicht">
<richcontent TYPE="NOTE"><html>
<head/>
<body>
<p>
Die Umst&#228;nde sind <i>nicht ganz klar</i>&#160;&#8212; seinem Nachbarn (Fritz) geht es schlecht, und die Heizung ist (jetzt wohl endg&#252;ltig) kaputt, und was sonst noch so durch den Wind is...
</p>
</body>
</html></richcontent>
<font NAME="SansSerif" SIZE="12"/>
<icon BUILTIN="hourglass"/>
</node>
<node COLOR="#338800" CREATED="1762124583263" FOLDED="true" ID="ID_927060658" MODIFIED="1762569813584" TEXT="Erg&#xe4;nzung: Development-Activity">
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1764550453606" ID="ID_444292672" MODIFIED="1764550495065" TEXT="hab die erste Runde jetzt vorl&#xe4;ufig konsolidiert...">
<icon BUILTIN="idea"/>
<node CREATED="1764550513047" ID="ID_168437471" MODIFIED="1764550535466" TEXT="die allzu groben Formulierungen bezgl. Adam Williams sind jetzt schon mal gegl&#xe4;ttet"/>
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#ba0610" CREATED="1764550536342" ID="ID_774423251" MODIFIED="1764550573267" TEXT="leider noch kein Review bzg. der Plugin-Fehde mit Christian">
<icon BUILTIN="smily_bad"/>
</node>
<node BACKGROUND_COLOR="#ebd68f" COLOR="#7601a5" CREATED="1764550579340" ID="ID_372657400" MODIFIED="1764550810994" TEXT="ich kann aber die &#xc4;nderungen dummerweise nicht endlos zur&#xfc;ckhalten">
<richcontent TYPE="NOTE"><html>
<head/>
<body>
<p>
...denn ich habe sie <i>ganz bewu&#223;t in eine gr&#246;&#223;ere Aufr&#228;um-Aktion mit eingebunden;</i>&#160;die Texte m&#252;ssen also in der Git-Historie in diesem Kontext stehen, weil dadurch auch meine Entscheidungen in den RfCs mit in den Kontext gestellt sind. Au&#223;erdem habe ich den <b>sehr gewichtigen Essay zur Komplexit&#228;t</b>&#160;geschrieben, der die ad&#228;qate Antwort auf den Streit zur Plugin-Architektur darstellt. Und all das zusammen ist jetzt &#187;dezent versteckt&#171; in einem riesigen Schall an genereller Aufr&#228;um-Arbeit, die ich nunmehr gut zuende gebracht habe.
</p>
</body>
</html></richcontent>
<icon BUILTIN="messagebox_warning"/>
</node>
<node BACKGROUND_COLOR="#ccb59b" COLOR="#6e2a38" CREATED="1764550812594" ID="ID_528428734" MODIFIED="1764550827095" TEXT="ich werde jetzt ver&#xf6;ffentlichen und zum Code zur&#xfc;ckkehren">
<font ITALIC="true" NAME="SansSerif" SIZE="14"/>
<icon BUILTIN="yes"/>
</node>
</node>
</node>
<node COLOR="#338800" CREATED="1762124583263" FOLDED="true" HGAP="-8" ID="ID_927060658" MODIFIED="1762569813584" TEXT="Erg&#xe4;nzung: Development-Activity" VSHIFT="10">
<icon BUILTIN="yes"/>
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1762124605363" ID="ID_1560924328" MODIFIED="1762309186045" TEXT="Tabelle: wann ist an was gearbeitet worden?">
<icon BUILTIN="help"/>
@ -166167,7 +166252,7 @@ that situation will improve in forseeable future.</pre>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#fefc4e" COLOR="#351d75" CREATED="1762375239204" ID="ID_731380800" MODIFIED="1762379514363" TEXT="das war nun eine tiefgreifende (und aufw&#xfc;hlende) Auseinandersetzung">
<node BACKGROUND_COLOR="#fefc4e" COLOR="#351d75" CREATED="1762375239204" FOLDED="true" ID="ID_731380800" MODIFIED="1764550854380" TEXT="das war nun eine tiefgreifende (und aufw&#xfc;hlende) Auseinandersetzung">
<linktarget COLOR="#faffa4" DESTINATION="ID_731380800" ENDARROW="Default" ENDINCLINATION="-133;1594;" ID="Arrow_ID_1848618151" SOURCE="ID_1622857737" STARTARROW="None" STARTINCLINATION="-1505;150;"/>
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
<icon BUILTIN="idea"/>
@ -166276,7 +166361,7 @@ that situation will improve in forseeable future.</pre>
<arrowlink COLOR="#684e97" DESTINATION="ID_417783849" ENDARROW="Default" ENDINCLINATION="-182;50;" ID="Arrow_ID_321858822" STARTARROW="None" STARTINCLINATION="143;23;"/>
</node>
</node>
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1681004448374" HGAP="14" ID="ID_1536537244" MODIFIED="1757603986872" TEXT="Theorie / allgemein" VSHIFT="5">
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1681004448374" FOLDED="true" HGAP="14" ID="ID_1536537244" MODIFIED="1762379427896" TEXT="Theorie / allgemein" VSHIFT="5">
<edge COLOR="#5e537f"/>
<icon BUILTIN="bell"/>
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1757603993627" ID="ID_1395906680" MODIFIED="1757604220611" TEXT="die Lumiera-Geschichte">
@ -166315,7 +166400,7 @@ that situation will improve in forseeable future.</pre>
</p>
</body>
</html></richcontent>
<arrowlink COLOR="#262fc3" DESTINATION="ID_1555146086" ENDARROW="Default" ENDINCLINATION="-87;911;" ID="Arrow_ID_1308723569" STARTARROW="None" STARTINCLINATION="413;-41;"/>
<arrowlink COLOR="#262fc3" DESTINATION="ID_1555146086" ENDARROW="Default" ENDINCLINATION="-43;308;" ID="Arrow_ID_1308723569" STARTARROW="None" STARTINCLINATION="406;33;"/>
</node>
<node COLOR="#435e98" CREATED="1751930725076" ID="ID_638212914" MODIFIED="1752758589912" TEXT="Git-Flow: Begriffsbestimmung">
<arrowlink COLOR="#3245d9" DESTINATION="ID_417154358" ENDARROW="Default" ENDINCLINATION="-158;-13;" ID="Arrow_ID_583484888" STARTARROW="None" STARTINCLINATION="515;50;"/>
@ -166408,7 +166493,7 @@ that situation will improve in forseeable future.</pre>
</node>
</node>
</node>
<node CREATED="1751833032755" ID="ID_1065210302" MODIFIED="1751833034848" TEXT="Gliederung">
<node CREATED="1751833032755" FOLDED="true" ID="ID_1065210302" MODIFIED="1764550963546" TEXT="Gliederung">
<node CREATED="1751833463677" ID="ID_525672736" MODIFIED="1751833474810" TEXT="Dukumentation im Haupt-Repo">
<node CREATED="1751833072752" ID="ID_1145154527" MODIFIED="1751833078387" TEXT="Design und Architektur"/>
<node CREATED="1751833079436" ID="ID_642172480" MODIFIED="1751833126152" TEXT="Technik und Specs"/>
@ -166543,7 +166628,7 @@ that situation will improve in forseeable future.</pre>
</body>
</html></richcontent>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1756942230234" ID="ID_1854153711" MODIFIED="1756944327464" TEXT="Prototyp: manuell angelegte LInkfarm">
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1756942230234" FOLDED="true" ID="ID_1854153711" MODIFIED="1764550917209" TEXT="Prototyp: manuell angelegte LInkfarm">
<linktarget COLOR="#fff2d9" DESTINATION="ID_1854153711" ENDARROW="Default" ENDINCLINATION="82;184;" ID="Arrow_ID_789572840" SOURCE="ID_150932933" STARTARROW="None" STARTINCLINATION="-258;-18;"/>
<icon BUILTIN="idea"/>
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1756942253197" ID="ID_1730148338" MODIFIED="1757603431600" STYLE="bubble">
@ -166701,6 +166786,78 @@ that situation will improve in forseeable future.</pre>
</html></richcontent>
</node>
</node>
<node COLOR="#4c2265" CREATED="1764591854390" FOLDED="true" ID="ID_778774756" MODIFIED="1764595920273" TEXT="Seiten-Timestamps">
<linktarget COLOR="#77319f" DESTINATION="ID_778774756" ENDARROW="Default" ENDINCLINATION="-1042;139;" ID="Arrow_ID_1555326207" SOURCE="ID_685663386" STARTARROW="None" STARTINCLINATION="-185;13;"/>
<icon BUILTIN="bell"/>
<node CREATED="1764591968597" ID="ID_991639193" MODIFIED="1764593491450" TEXT="Asciidoc bietet uns...">
<arrowlink COLOR="#4f45dd" DESTINATION="ID_1189580536" ENDARROW="Default" ENDINCLINATION="-380;68;" ID="Arrow_ID_415533818" STARTARROW="None" STARTINCLINATION="-279;32;"/>
<icon BUILTIN="info"/>
<node CREATED="1764591976275" ID="ID_1931927805" MODIFIED="1764592001680" TEXT="{localdate} {localtime} : Systemzeit wenn das File gerendert wird"/>
<node CREATED="1764592002382" ID="ID_910865872" MODIFIED="1764592028841" TEXT="{docdate} {doctime} : die mtime der Asciidoc-Quelldatei"/>
<node CREATED="1764595824738" ID="ID_1386867396" MODIFIED="1764595842229" TEXT="Lokale Konvention f&#xfc;r Lumiera: wir setzen ein :date:-Attribut"/>
</node>
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1764591872279" ID="ID_303287190" MODIFIED="1764591881399" TEXT="Vorsicht: Trickserei">
<icon BUILTIN="messagebox_warning"/>
<node CREATED="1764591884199" ID="ID_1672793234" MODIFIED="1764591947168" TEXT="Christian hat in build_website ein &quot;poor man&apos;s dependency tracking eingebaut&quot;">
<richcontent TYPE="NOTE"><html>
<head/>
<body>
<p>
...was ich super finde!
</p>
<p>
Denn dadruch wird eine Seite auch neu gerendert, wenn sich ein Include ge&#228;ndert hat, oder das page-Template
</p>
</body>
</html></richcontent>
</node>
<node CREATED="1764592052641" ID="ID_1846779942" MODIFIED="1764592130730" TEXT="das arbeitet, indem ein touch auf die Haupt-Quelldatei gemacht wird">
<richcontent TYPE="NOTE"><html>
<head/>
<body>
<p>
wodurch diese neuer wird als das zugeh&#246;rige HTML &#8212; und damit von der eigentlichen Render-Schleife in build_website.sh aufgegriffen...
</p>
</body>
</html></richcontent>
</node>
</node>
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#2f0f69" CREATED="1764592861124" ID="ID_1125990440" MODIFIED="1764592884781" STYLE="fork" TEXT="was ich f&#xfc;r Lumiera will">
<edge COLOR="#9e7171" STYLE="linear" WIDTH="thin"/>
<icon BUILTIN="yes"/>
<node CREATED="1764592892486" ID="ID_1591979653" MODIFIED="1764592990887">
<richcontent TYPE="NODE"><html>
<head/>
<body>
<p>
auf jeder Seite steht im Footer das <font color="#920707">Datum der letzten &#196;nderung</font>&#160;<b>gem&#246;&#223; Git</b>
</p>
</body>
</html></richcontent>
<icon BUILTIN="back"/>
</node>
<node CREATED="1764558561617" ID="ID_209856180" MODIFIED="1764558566999" TEXT="Prozedur">
<node CREATED="1764558569530" ID="ID_366915850" LINK="http://flaucher:9023/Dreck/wiki/zuGIT#TimestampimWorkdiraufCommitter-Timesetzen" MODIFIED="1764593022341" TEXT="Alle Daten von Git neu setzen">
<icon BUILTIN="full-1"/>
<node CREATED="1764559901054" ID="ID_1599871" MODIFIED="1764591646503" TEXT="for F in $(git ls-tree -r -t --name-only HEAD) ; do touch -d $(git log --pretty=format:%aI -1 HEAD -- &quot;$F&quot;) &quot;$F&quot;; done">
<icon BUILTIN="idea"/>
</node>
</node>
<node CREATED="1764558576916" ID="ID_328049758" MODIFIED="1764593028000" TEXT="page.conf und footer.htmlf k&#xfc;nstlich &#xe4;lter machen">
<icon BUILTIN="full-2"/>
<node CREATED="1764560133096" ID="ID_1451561578" MODIFIED="1764560139757" TEXT="touch -d 2010-1-1T12:00:00+0 page.conf footer.htmlf">
<icon BUILTIN="idea"/>
</node>
</node>
<node CREATED="1764558601250" ID="ID_1992081064" MODIFIED="1764593034138" TEXT="einmal build_website.sh --all explizit auf dem Server aufrufen">
<icon BUILTIN="full-3"/>
</node>
</node>
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1764593121697" ID="ID_1688422158" MODIFIED="1764593154239" TEXT="Vorsicht: nach &#xc4;nderungen am Page-Template &#x27f9; wiederholen">
<icon BUILTIN="messagebox_warning"/>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eed6b6" COLOR="#690f14" CREATED="1756652483848" FOLDED="true" ID="ID_535603356" MODIFIED="1757602505627" TEXT="Problem: Mobile devices">
<icon BUILTIN="messagebox_warning"/>
<icon BUILTIN="bell"/>
@ -166718,7 +166875,7 @@ that situation will improve in forseeable future.</pre>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#ccb59b" COLOR="#6e2a38" CREATED="1762879192637" ID="ID_856231519" MODIFIED="1762879298461" TEXT="Feststellungen zur Lizenz">
<node BACKGROUND_COLOR="#ccb59b" COLOR="#6e2a38" CREATED="1762879192637" FOLDED="true" ID="ID_856231519" MODIFIED="1764550907076" TEXT="Feststellungen zur Lizenz">
<linktarget COLOR="#6f7dba" DESTINATION="ID_856231519" ENDARROW="Default" ENDINCLINATION="-1342;134;" ID="Arrow_ID_846772487" SOURCE="ID_450772311" STARTARROW="None" STARTINCLINATION="-985;-1050;"/>
<font ITALIC="true" NAME="SansSerif" SIZE="14"/>
<icon BUILTIN="yes"/>
@ -168377,13 +168534,159 @@ that situation will improve in forseeable future.</pre>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1752070293350" ID="ID_391826628" MODIFIED="1752070305584" TEXT="top-Level-Seiten durchk&#xe4;mmen">
<icon BUILTIN="flag-yellow"/>
<node COLOR="#338800" CREATED="1752070293350" ID="ID_391826628" MODIFIED="1764548519806" TEXT="top-Level-Seiten durchk&#xe4;mmen">
<icon BUILTIN="button_ok"/>
<node COLOR="#435e98" CREATED="1764037326150" ID="ID_253173738" MODIFIED="1764468674851" TEXT="BuildDrone kann weg">
<icon BUILTIN="yes"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1764468693775" ID="ID_1773145355" MODIFIED="1764468711764" TEXT="nochmal nach &quot;Jessie&quot; und &quot;Buster&quot; suchen, sowie nach &quot;apt-get&quot;">
<icon BUILTIN="flag-yellow"/>
<node COLOR="#338800" CREATED="1764468693775" FOLDED="true" ID="ID_1773145355" MODIFIED="1764548516705" TEXT="nochmal nach &quot;Jessie&quot; und &quot;Buster&quot; suchen, sowie nach &quot;apt-get&quot;">
<icon BUILTIN="button_ok"/>
<node COLOR="#990e61" CREATED="1764542274953" ID="ID_1578357131" MODIFIED="1764542300425" TEXT="jaja ... die C++11 - Seite....">
<icon BUILTIN="ksmiletris"/>
</node>
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1764542303739" ID="ID_1150915323" MODIFIED="1764542319242" TEXT="vermutlich werd&apos; ich demn&#xe4;chst eine C++20-Seite anfangen........">
<icon BUILTIN="hourglass"/>
</node>
</node>
<node COLOR="#435e98" CREATED="1764473857387" ID="ID_302775822" MODIFIED="1764474566046" TEXT="Project - About">
<node COLOR="#435e98" CREATED="1764473864111" ID="ID_196622023" MODIFIED="1764519421407" TEXT="ein schwarzes Lumiera-Logo mit Regenbogen in den Kopf eingebaut">
<richcontent TYPE="NOTE"><html>
<head/>
<body>
<p>
<b><font color="#450e9b">Ha!</font></b>&#160;ich fand diese Seite bisher immer schon lustlos im Design &#8212; so gut der Text auch ist (Benny's Hilfe sei Dank!)
</p>
<p>
Dieses Logo ist eine banal-einfache Idee mit erheblicher Wirkung: nun stehen die zwei Bl&#246;cke oben prominent da, und die drei Textbl&#246;cke darunter setzen sich klarer ab...
</p>
<p>
</p>
<p>
Die Breite der Grafik l&#228;&#223;t sich leider nur
</p>
</body>
</html></richcontent>
<icon BUILTIN="ksmiletris"/>
</node>
<node COLOR="#104f52" CREATED="1764474025827" ID="ID_1470347954" MODIFIED="1764474562043" TEXT="Historie: nehme den Satz betreffend &#xbb;Cinelerra-3&#xab; heraus">
<richcontent TYPE="NOTE"><html>
<head/>
<body>
<p>
Diese Geschichte ist nun doch endlos lange her, und eigentlich etwas peinlich (wie meine erneute Unterschung der Anf&#228;nge gezeigt hat). Aus heutiger Sicht k&#246;nnte dieser Text schon knapper sein ... und die beiden Abschnitte schlie&#223;en nun direkt aneinander an, und sind auch insgesamt Abstrakter. Diesen ganzen Schlenker mit dem Namen &quot;Cinelerra-3&quot; brauchts wirklich nicht mehr!
</p>
</body>
</html></richcontent>
<icon BUILTIN="yes"/>
</node>
</node>
<node COLOR="#338800" CREATED="1764474571434" ID="ID_1763607517" MODIFIED="1764475786100" TEXT="Screenshots: aktuellen verwenden">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#435e98" CREATED="1764537628732" FOLDED="true" ID="ID_315997289" MODIFIED="1764548510266" TEXT="die Website-Grafiken mal aufr&#xe4;umen">
<icon BUILTIN="yes"/>
<node CREATED="1764537657350" ID="ID_872861961" MODIFIED="1764537716446" TEXT="da fliegt eine Menge Zeug aus den Anfangsjahren herum">
<richcontent TYPE="NOTE"><html>
<head/>
<body>
<p>
auch wenn wir die Storage nicht mehr loswerden k&#246;nnen, immerhin kann man es mal unter den Teppich kehren
</p>
</body>
</html></richcontent>
<icon BUILTIN="idea"/>
</node>
<node COLOR="#338800" CREATED="1764537719262" ID="ID_1793190365" MODIFIED="1764537727511" TEXT="alle Grafiken auf Verwendung absuchen">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1764537728925" ID="ID_818072708" MODIFIED="1764537894660" TEXT="etwas umsortieren">
<icon BUILTIN="button_ok"/>
<node CREATED="1764537736886" ID="ID_1717035071" MODIFIED="1764537759236" TEXT="in /images wirklich nur die relevanten &#xbb;Website-Grafiken&#xab;"/>
<node CREATED="1764537760071" ID="ID_702650919" MODIFIED="1764537774869" TEXT="Screenshots und Mockups geh&#xf6;ren in /media/img/design.gui"/>
<node COLOR="#267773" CREATED="1764537777832" ID="ID_513845637" MODIFIED="1764537808643" TEXT="dort auch etwas nach Kategorieren sortiert"/>
<node COLOR="#435e98" CREATED="1764537786379" ID="ID_1984237033" MODIFIED="1764537890562" TEXT="und auch dort kann M&#xfc;ll weg">
<richcontent TYPE="NOTE"><html>
<head/>
<body>
<p>
als &#187;M&#252;ll&#171; gelten Grafiken, hinter denen keine wirkliche Idee steht und auf die niemals aufgebaut wurde; ein Beispiel sind Screenshots aus der Prototypen-Zeit &#8212; da gen&#252;gt es, einen einzigen aufzuheben
</p>
</body>
</html></richcontent>
<icon BUILTIN="yes"/>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1764537903584" FOLDED="true" ID="ID_173959522" MODIFIED="1764548503239" TEXT="Contribute">
<icon BUILTIN="yes"/>
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1764537915670" ID="ID_1377612670" MODIFIED="1764538302978" TEXT="ich m&#xf6;chte eigentlich nicht mehr &#xbb;irgendwelche&#xab; Beitr&#xe4;ge ermutigen">
<icon BUILTIN="smiley-neutral"/>
</node>
<node CREATED="1764537989950" ID="ID_807843436" MODIFIED="1764538021057">
<richcontent TYPE="NODE"><html>
<head/>
<body>
<p>
ich teile <b>definitiv nicht</b>&#160;den Glauben an spontane Selbstheilungskr&#228;fte
</p>
</body>
</html></richcontent>
</node>
<node BACKGROUND_COLOR="#ccb59b" COLOR="#6e2a38" CREATED="1764538326814" ID="ID_816341868" MODIFIED="1764538345099" TEXT="Beschlu&#xdf;: nicht mehr bitten...">
<font ITALIC="true" NAME="SansSerif" SIZE="14"/>
<icon BUILTIN="yes"/>
<node CREATED="1764538348180" ID="ID_1379479403" MODIFIED="1764538420007" TEXT="Hilfe bei der Website">
<richcontent TYPE="NOTE"><html>
<head/>
<body>
<p>
Das l&#228;uft blo&#223; darauf hinaus, da&#223; wieder mal ein neues &#187;Design&#171; erfunden wird und dann die Umsetzung anderen &#252;berlassen bleibt. Oder mir jemand erz&#228;hlt, wie man heute im Internet kommuniziert (obwohl ich das sehr gut selber wei&#223;)
</p>
</body>
</html></richcontent>
</node>
<node CREATED="1764538421885" ID="ID_1601014205" MODIFIED="1764538456126" TEXT="&#xbb;Small Tasks&#xab; halte ich f&#xfc;r eine Illusion">
<richcontent TYPE="NOTE"><html>
<head/>
<body>
<p>
sowas funktioniert m&#246;glicherweise bei einem gut eingespielten, professionellen Team.
</p>
</body>
</html></richcontent>
</node>
<node CREATED="1764538460421" ID="ID_418930888" MODIFIED="1764538557117" TEXT="ich m&#xf6;chte KEINE DESIGN DISKUSSIONEN">
<richcontent TYPE="NOTE"><html>
<head/>
<body>
<p>
Es ist mir v&#246;llig klar, da&#223; &#187;Jedermann&#171; vor allem erschlagen und befremdet ist nach Lekt&#252;re der Design-Seiten. Und was ich gleich schon gar nicht mehr haben kann, w&#228;re ein weiteres &#187;GUI brainstorming&#171;
</p>
</body>
</html></richcontent>
</node>
</node>
<node CREATED="1764538891458" ID="ID_1865407035" MODIFIED="1764539461800" TEXT="Aber Benny&apos;s allgemeiner Text zur &#xbb;open source attitude&#xab; ist sehr gut &#x2014; das gen&#xfc;gt">
<icon BUILTIN="back"/>
</node>
<node BACKGROUND_COLOR="#d2beaf" COLOR="#281c95" CREATED="1764539368247" ID="ID_1879683805" MODIFIED="1764539437891" TEXT="ich betone nun mehr...">
<icon BUILTIN="yes"/>
<node CREATED="1764539376136" ID="ID_1683134789" MODIFIED="1764539383492" TEXT="da&#xdf; die Beitr&#xe4;ge passen m&#xfc;ssen"/>
<node CREATED="1764539384197" ID="ID_1094961886" MODIFIED="1764539389412" TEXT="da&#xdf; man vorher mitdenkt"/>
<node CREATED="1764539390307" ID="ID_1223437830" MODIFIED="1764539396399" TEXT="da&#xdf; ein Review notwendig ist"/>
<node CREATED="1764539401587" ID="ID_979209326" MODIFIED="1764539409711" TEXT="&#xbb;sieh selber zu...&#xab;"/>
</node>
</node>
<node COLOR="#435e98" CREATED="1764542613912" ID="ID_1464358831" MODIFIED="1764548452187" TEXT="technical/infra/Release">
<icon BUILTIN="messagebox_warning"/>
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1764542661742" ID="ID_1500508774" MODIFIED="1764548442284" TEXT="die mu&#xdf; an Git-flow angepa&#xdf;t werden">
<icon BUILTIN="yes"/>
</node>
<node COLOR="#435e98" CREATED="1764542673753" ID="ID_1754492165" MODIFIED="1764548445010" TEXT="entsprechende Stichpunkte habe ich zum Gl&#xfc;ck schon &#xfc;berarbeitet">
<arrowlink COLOR="#205fdd" DESTINATION="ID_1853540136" ENDARROW="Default" ENDINCLINATION="573;-1155;" ID="Arrow_ID_1217271886" STARTARROW="None" STARTINCLINATION="1536;67;"/>
<icon BUILTIN="idea"/>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1752070265482" ID="ID_927720852" MODIFIED="1756773347225" TEXT="relevante Links aktualisieren">
@ -168944,16 +169247,44 @@ that situation will improve in forseeable future.</pre>
<node CREATED="1762827264425" ID="ID_1241559972" MODIFIED="1762827277724" TEXT="localdate &#x2259; aktuelle Systemzeit"/>
<node CREATED="1762827278600" ID="ID_401397454" MODIFIED="1762827295830" TEXT="docdate &#x2259; mtime der Asciidoc-source"/>
</node>
<node CREATED="1762827347203" ID="ID_685663386" LINK="http://flaucher:9023/Dreck/wiki/zuGIT#TimestampimWorkdiraufCommitter-Timesetzen" MODIFIED="1762827625639" TEXT="Konsequenz &#x27f9; mtime von Git setzen"/>
<node CREATED="1762827347203" ID="ID_685663386" LINK="http://flaucher:9023/Dreck/wiki/zuGIT#TimestampimWorkdiraufCommitter-Timesetzen" MODIFIED="1762827625639" TEXT="Konsequenz &#x27f9; mtime von Git setzen">
<arrowlink COLOR="#77319f" DESTINATION="ID_778774756" ENDARROW="Default" ENDINCLINATION="-1042;139;" ID="Arrow_ID_1555326207" STARTARROW="None" STARTINCLINATION="-185;13;"/>
</node>
</node>
<node CREATED="1763487203125" ID="ID_1397178259" MODIFIED="1763487214573" TEXT="HTML-Elemente inkonsistent">
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1763487216248" ID="ID_1383387788" MODIFIED="1763487264069" TEXT="beim Impressum wird &lt;span&gt; ge&#xf6;ffnet und &lt;/font&gt; geschlossen">
<node COLOR="#435e98" CREATED="1763487216248" ID="ID_1383387788" MODIFIED="1764591853313" TEXT="beim Impressum wird &lt;span&gt; ge&#xf6;ffnet und &lt;/font&gt; geschlossen">
<icon BUILTIN="messagebox_warning"/>
</node>
</node>
<node CREATED="1764554825371" ID="ID_594102113" MODIFIED="1764554829948" TEXT="Page-Template">
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#950a57" CREATED="1764554831009" ID="ID_1021901866" MODIFIED="1764555186734" TEXT="da wird eine Header-Sektion nur conditional eingeschlossen">
<icon BUILTIN="idea"/>
<node CREATED="1764554843054" ID="ID_311412042" MODIFIED="1764554855013" TEXT="das steuernde Attribut ist index-only">
<node COLOR="#5b280f" CREATED="1764555004944" FOLDED="true" ID="ID_362572343" MODIFIED="1764555034654" TEXT="wird das irgendwie magisch gesetzt">
<icon BUILTIN="help"/>
<icon BUILTIN="button_cancel"/>
<node CREATED="1764555022382" ID="ID_486876814" MODIFIED="1764555025193" TEXT="websuche..."/>
<node CREATED="1764555025860" ID="ID_943470570" MODIFIED="1764555029561" TEXT="Asciidoc-Manual"/>
<node CREATED="1764555030483" ID="ID_315330728" MODIFIED="1764555032541" TEXT="nix!"/>
</node>
<node COLOR="#338800" CREATED="1764555035714" ID="ID_1397634416" MODIFIED="1764555060590" TEXT="also mu&#xdf; man das wohl manuell setzen?">
<icon BUILTIN="back"/>
<node CREATED="1764555063985" ID="ID_1010557298" MODIFIED="1764555076899" TEXT="Im Seitenheader (wie Author, Datum)"/>
<node COLOR="#435e98" CREATED="1764555078907" ID="ID_1123093441" MODIFIED="1764555089029" TEXT="gepr&#xfc;ft: funktioniert"/>
</node>
</node>
<node BACKGROUND_COLOR="#ccb59b" COLOR="#6e2a38" CREATED="1764555093075" ID="ID_267268527" MODIFIED="1764555158652" TEXT="Beschlu&#xdf;">
<font ITALIC="true" NAME="SansSerif" SIZE="14"/>
<icon BUILTIN="yes"/>
<node CREATED="1764555128312" ID="ID_627730406" MODIFIED="1764555136011" TEXT="das Attribut hei&#xdf;t webidx"/>
<node CREATED="1764555136838" ID="ID_1451374854" MODIFIED="1764555138147" TEXT="wird von mir manuell gepflegt"/>
<node CREATED="1764555139279" ID="ID_1253422893" MODIFIED="1764555153400" TEXT="f&#xfc;r Seiten die von den Suchmaschinen angesprungen werden sollen"/>
</node>
</node>
</node>
<node CREATED="1762822869176" ID="ID_1816572967" MODIFIED="1762822875499" TEXT="Lizenzinfo">
<node CREATED="1762822876681" ID="ID_1854567985" MODIFIED="1762822886997" TEXT="human-readable &#x27f6; Footer"/>
<node CREATED="1762822887987" ID="ID_1320812059" MODIFIED="1762823235768" TEXT="machine-readable &#x27f6; HTML-Header">
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#2f0f69" CREATED="1762822887987" ID="ID_1320812059" MODIFIED="1764555879209" TEXT="machine-readable &#x27f6; HTML-Header">
<richcontent TYPE="NOTE"><html>
<head/>
<body>
@ -168970,14 +169301,16 @@ that situation will improve in forseeable future.</pre>
</ul>
</body>
</html></richcontent>
<linktarget COLOR="#b6556d" DESTINATION="ID_1320812059" ENDARROW="Default" ENDINCLINATION="341;25;" ID="Arrow_ID_1928313648" SOURCE="ID_786194186" STARTARROW="None" STARTINCLINATION="-212;14;"/>
<linktarget COLOR="#b6556d" DESTINATION="ID_1320812059" ENDARROW="Default" ENDINCLINATION="336;25;" ID="Arrow_ID_1928313648" SOURCE="ID_786194186" STARTARROW="None" STARTINCLINATION="-212;14;"/>
</node>
</node>
</node>
<node COLOR="#338800" CREATED="1756834117054" ID="ID_718437760" MODIFIED="1762913965071" TEXT="Lizenz-Seiten erneuern">
<linktarget COLOR="#444e73" DESTINATION="ID_718437760" ENDARROW="Default" ENDINCLINATION="-118;-1153;" ID="Arrow_ID_1565932104" SOURCE="ID_195415850" STARTARROW="None" STARTINCLINATION="221;24;"/>
<icon BUILTIN="button_ok"/>
<node CREATED="1762812389626" ID="ID_627976312" MODIFIED="1762911339152" TEXT="Kette der Lizenz-Statements nochmal pr&#xfc;fen"/>
<node COLOR="#338800" CREATED="1762812389626" ID="ID_627976312" MODIFIED="1764555871469" TEXT="Kette der Lizenz-Statements nochmal pr&#xfc;fen">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#338800" CREATED="1762812413231" FOLDED="true" ID="ID_403219642" MODIFIED="1762917001157" TEXT="k&#xf6;nnte ein pauschales Update der CC-Lizenz machen mit Stichtag">
<richcontent TYPE="NOTE"><html>
<head/>
@ -169086,7 +169419,7 @@ that situation will improve in forseeable future.</pre>
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1762819828553" ID="ID_465472618" MODIFIED="1762819842964" TEXT="der Lizenz-Generator erzeugt keinen Button mehr">
<icon BUILTIN="messagebox_warning"/>
</node>
<node COLOR="#435e98" CREATED="1762819843772" ID="ID_810778960" MODIFIED="1762913920151" TEXT="wo ist der maschinenlesbare Code geblieben?">
<node COLOR="#435e98" CREATED="1762819843772" FOLDED="true" ID="ID_810778960" MODIFIED="1762913920151" TEXT="wo ist der maschinenlesbare Code geblieben?">
<richcontent TYPE="NOTE"><html>
<head/>
<body>
@ -169113,7 +169446,7 @@ that situation will improve in forseeable future.</pre>
<icon BUILTIN="idea"/>
</node>
<node BACKGROUND_COLOR="#ccb59b" COLOR="#6e2a38" CREATED="1762822789997" ID="ID_786194186" MODIFIED="1762823235768" TEXT="die Idee mit den Header-Links umsetzen">
<arrowlink COLOR="#b6556d" DESTINATION="ID_1320812059" ENDARROW="Default" ENDINCLINATION="341;25;" ID="Arrow_ID_1928313648" STARTARROW="None" STARTINCLINATION="-212;14;"/>
<arrowlink COLOR="#b6556d" DESTINATION="ID_1320812059" ENDARROW="Default" ENDINCLINATION="336;25;" ID="Arrow_ID_1928313648" STARTARROW="None" STARTINCLINATION="-212;14;"/>
<font ITALIC="true" NAME="SansSerif" SIZE="14"/>
<icon BUILTIN="yes"/>
</node>
@ -170080,14 +170413,15 @@ that situation will improve in forseeable future.</pre>
</html></richcontent>
</node>
</node>
<node CREATED="1756773417519" ID="ID_1432896045" MODIFIED="1756773420272" TEXT="Men&#xfc;">
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1756773421004" ID="ID_1536518392" MODIFIED="1756773452193" TEXT="Reihenfolge Technical">
<icon BUILTIN="flag-yellow"/>
<node COLOR="#338800" CREATED="1756773417519" ID="ID_1432896045" MODIFIED="1764548470321" TEXT="Men&#xfc;">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1756773421004" ID="ID_1536518392" MODIFIED="1764542434606" TEXT="Reihenfolge Technical">
<icon BUILTIN="button_ok"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1756773443885" ID="ID_103458183" MODIFIED="1756773452194" TEXT="Reihenfolge Infrastructure">
<icon BUILTIN="flag-yellow"/>
<node COLOR="#338800" CREATED="1756773443885" ID="ID_103458183" MODIFIED="1764548466665" TEXT="Reihenfolge Infrastructure">
<icon BUILTIN="button_ok"/>
</node>
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1757555382155" ID="ID_1747080203" MODIFIED="1762381779551" TEXT="API-Doc in das Dokumentations-Men&#xfc;">
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1757555382155" FOLDED="true" ID="ID_1747080203" MODIFIED="1762381779551" TEXT="API-Doc in das Dokumentations-Men&#xfc;">
<icon BUILTIN="button_cancel"/>
<icon BUILTIN="button_ok"/>
<node CREATED="1757555415812" ID="ID_212291886" MODIFIED="1757555420407" TEXT="Vorschlag von Benny"/>
@ -180159,14 +180493,14 @@ env.Command('out.bin', 'in.bin', my_action)</code></pre>
</node>
</node>
</node>
<node CREATED="1561237793933" ID="ID_938708757" MODIFIED="1581813532155" TEXT="GCC-6">
<node CREATED="1561237793933" FOLDED="true" ID="ID_938708757" MODIFIED="1581813532155" TEXT="GCC-6">
<icon BUILTIN="licq"/>
<node CREATED="1561237816056" ID="ID_584388122" MODIFIED="1561237823947" TEXT="Debian/Stretch">
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
</node>
<node CREATED="1561237804916" ID="ID_392420321" MODIFIED="1561237815456" TEXT="gegenw&#xe4;rtig (2019) der Referenz-Compiler"/>
</node>
<node CREATED="1561237739453" ID="ID_894802950" MODIFIED="1561237784571" TEXT="GCC-7">
<node CREATED="1561237739453" FOLDED="true" ID="ID_894802950" MODIFIED="1561237784571" TEXT="GCC-7">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1561237754266" ID="ID_646410828" MODIFIED="1561237789149" TEXT="Herbst 2018">
<richcontent TYPE="NOTE"><html>
@ -180187,7 +180521,7 @@ env.Command('out.bin', 'in.bin', my_action)</code></pre>
</node>
</node>
</node>
<node CREATED="1581813455951" ID="ID_1821559366" MODIFIED="1582315344844" TEXT="GCC-8">
<node CREATED="1581813455951" FOLDED="true" ID="ID_1821559366" MODIFIED="1582315344844" TEXT="GCC-8">
<icon BUILTIN="button_ok"/>
<node COLOR="#338800" CREATED="1581813466582" ID="ID_1727015963" MODIFIED="1583523550183" TEXT="Februar 2020">
<icon BUILTIN="button_ok"/>
@ -180656,7 +180990,11 @@ env.Command('out.bin', 'in.bin', my_action)</code></pre>
</node>
<node COLOR="#338800" CREATED="1742176160188" ID="ID_1556896913" MODIFIED="1751723341087" TEXT="GCC-14">
<icon BUILTIN="button_ok"/>
<node CREATED="1742176174909" ID="ID_237072824" MODIFIED="1742176177576" TEXT="Build-Fixes">
<node CREATED="1764551143566" ID="ID_1748900616" MODIFIED="1764551148454" TEXT="Debian/Trixie">
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
</node>
<node BACKGROUND_COLOR="#e0ddaa" COLOR="#690f14" CREATED="1764551170628" ID="ID_205649854" MODIFIED="1764551187060" TEXT="2025: Referenz-Compiler"/>
<node COLOR="#435e98" CREATED="1742176174909" FOLDED="true" ID="ID_237072824" MODIFIED="1764551169015" TEXT="Build-Fixes">
<node CREATED="1742176179747" ID="ID_1353266444" MODIFIED="1742176275192" TEXT="hat Benny f&#xfc;r GCC-8 gemacht">
<richcontent TYPE="NOTE"><html>
<head/>
@ -180690,7 +181028,7 @@ env.Command('out.bin', 'in.bin', my_action)</code></pre>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#ce0000" CREATED="1582315356166" ID="ID_568554401" MODIFIED="1751726801807" TEXT="Clang-20">
<node BACKGROUND_COLOR="#eee5c3" COLOR="#ce0000" CREATED="1582315356166" FOLDED="true" ID="ID_568554401" MODIFIED="1764551131291" TEXT="Clang-20">
<icon BUILTIN="hourglass"/>
<node COLOR="#5b280f" CREATED="1751726752829" ID="ID_1722544232" MODIFIED="1751726785071" TEXT="derzeit problematisch : C++23 unvollst&#xe4;ndig">
<icon BUILTIN="button_cancel"/>
@ -180839,8 +181177,9 @@ env.Command('out.bin', 'in.bin', my_action)</code></pre>
<node BACKGROUND_COLOR="#ccb59b" COLOR="#8f0a26" CREATED="1742176543226" HGAP="3" ID="ID_1577966009" MODIFIED="1752198827231" TEXT="Konzeption" VSHIFT="-35">
<font ITALIC="true" NAME="SansSerif" SIZE="14"/>
<icon BUILTIN="yes"/>
<node BACKGROUND_COLOR="#ccb59b" COLOR="#6e2a38" CREATED="1751809117581" ID="ID_1853540136" MODIFIED="1752198795241" TEXT="wir verwenden Git-Flow">
<node BACKGROUND_COLOR="#ccb59b" COLOR="#6e2a38" CREATED="1751809117581" ID="ID_1853540136" MODIFIED="1764542753726" TEXT="wir verwenden Git-Flow">
<linktarget COLOR="#208ad3" DESTINATION="ID_1853540136" ENDARROW="Default" ENDINCLINATION="-443;-37;" ID="Arrow_ID_1316442709" SOURCE="ID_656514968" STARTARROW="None" STARTINCLINATION="-1044;119;"/>
<linktarget COLOR="#205fdd" DESTINATION="ID_1853540136" ENDARROW="Default" ENDINCLINATION="573;-1155;" ID="Arrow_ID_1217271886" SOURCE="ID_1754492165" STARTARROW="None" STARTINCLINATION="1536;67;"/>
<font ITALIC="true" NAME="SansSerif" SIZE="14"/>
<icon BUILTIN="yes"/>
</node>
@ -180970,6 +181309,9 @@ env.Command('out.bin', 'in.bin', my_action)</code></pre>
</node>
<node CREATED="1752192199327" ID="ID_578996702" MODIFIED="1752192205747" TEXT="Release-Notes und Info">
<node CREATED="1446481123991" ID="ID_1319204482" MODIFIED="1518487921104" TEXT="README"/>
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1764545526904" ID="ID_1064700298" MODIFIED="1764545548489" TEXT="Neuer Eintrag in NEWS">
<icon BUILTIN="messagebox_warning"/>
</node>
<node CREATED="1446481126974" ID="ID_537666758" MODIFIED="1518487921104" TEXT="AUTHORS">
<node CREATED="1446481146548" ID="ID_1310945179" MODIFIED="1518487921104" TEXT="GTK-UI">
<icon BUILTIN="help"/>