Lumiera  0.pre.03
»edit your freedom«
stage::interact::anonymous_namespace{interaction-director.cpp} Namespace Reference

Functions

void unimplemented (const char *todo)
 
ID verifyDiffStructure_and_extract_RootTrack (GenNode const &spec)
 The timeline is actually a front-end for a binding to some root track. More...
 

Function Documentation

◆ verifyDiffStructure_and_extract_RootTrack()

ID stage::interact::anonymous_namespace{interaction-director.cpp}::verifyDiffStructure_and_extract_RootTrack ( GenNode const &  spec)

The timeline is actually a front-end for a binding to some root track.

For that reason, we always create the root-track representation alongside the timeline, and thus we need a very special INS message to create a timeline:

  • it must be a record (an "object")
  • a nested attribute with key ATTR_fork is mandatory
  • this nested attribute likewise needs to be a record
  • and must be tagged with TYPE_Fork More specifically, the usual way to deliver such a structure is not allowed here, which would be first to send an empty record and then to open and populate it. All the elements mentioned above need to be present right within the payload value of the INS message creating the timeline. This non-standard format is perfectly legal in our tree diff language (just requires a heap allocation behind the scenes to hold the nested data, but who cares?)

Definition at line 325 of file interaction-director.cpp.

References DataCap::isNested().

Referenced by InteractionDirector::injectTimeline().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: