lumiera_/src
Ichthyostega b4aee6fba8 Invocation: work out solution for a precisely fitting allocation
Conduct in-depth analysis to handle a secondary, implementation-related
(and frankly quite challenging) concern regarding the placement of node
and port connectivity data in memory. The intention is for the low-level
model to use a custom data structure based on `lib::Several`, allowing for
flexible and compact arrangement of the connectivity descriptors within
tiled memory blocks, which can then later be discarded in bulk, whenever
a segment of the render graph is superseded. Yet since the generated
descriptors are heterogeneous and, due to virtual functions, can not be
trivially copied, the corresponding placement invocations on the
data builder API must not be mixed, but rather given in ordered strikes
and preceded by a dimensioning call to pre-reserve a bulk of storage

However, doing so directly would jeopardise the open and flexible nature
of the node builder API, thereby creating a dangerous coupling between
the implementation levels of the node graph and of prospective library
wrapper plug-ins in charge of controlling details of the graph layout.

The solution devised here entails a functional helper data structure
created temporarily within the builder API stack frames; the detailed
and local type information provided from within the library plug-in
can thereby be embedded into opaque builder functors, allowing to
delay the actual data generation up until the final builder step,
at which point the complete number and size requirements of
connectivity data is known and can be used for dimensioning.
2024-10-20 21:52:00 +02:00
..
common Library: uniform definition scheme for error-IDs 2024-03-21 19:57:34 +01:00
include Library: uniform definition scheme for error-IDs 2024-03-21 19:57:34 +01:00
lib Invocation: work out solution for a precisely fitting allocation 2024-10-20 21:52:00 +02:00
lumiera Global-Layer-Renaming: adjust namespace qualification 2018-11-15 23:59:23 +01:00
plugin
stage Library: uniform definition scheme for error-IDs 2024-03-21 19:57:34 +01:00
steam Invocation: work out solution for a precisely fitting allocation 2024-10-20 21:52:00 +02:00
tool Doxygen: fill in missing file level headlines for some supplemental code 2016-11-09 20:09:19 +01:00
vault Scheduler-test: reduce impact of scale adjustments on breakpoint-search 2024-04-18 01:39:27 +02:00
.gitignore
DIR_INFO
doxygen.dox Scheduler: devise the arrangement of basic components 2023-06-24 03:14:17 +02:00
SConscript Global-Layer-Renaming: fix handling of GuiResources in the build 2018-11-16 18:18:33 +01:00