Within the reworked design of the `OutputSlot` a proxy implementation of the `BufferProvider` API is used (class `OutputBufferProxy`). After analysis of the invocation patterns, I concluded that it seems adequate to attach the special-purpose metadata generated by this integration to the generic system of thread-local replicated `BufferMetadata` storage. However, since thread-local instances are effectively static(global), I was concerned that unit-testing might be impeded by accumulation of stale metadata in the store linked to the main thread. Thus I created a special configuration variant to retain the previously used setup for the sake of unit testing (which applies especially to use of the `DiagnosticOutputSlot`). Using a `SimpleBufferStateRegistry` for in that case has the benefit that simply a local instance can be used in the test and all metadata will be discarded afterwards. Furthermore the factory syntax for obtaining an `OutputSlot` was improved, drawing on the recent changes to `lib::ScopedCollection`. Also I looked through some of the documentation and updated the UML sequence diagram to reflect `OutputSlot`'s improved internal structure
52 lines
2.5 KiB
Text
52 lines
2.5 KiB
Text
Initially and until 2015, Lumiera used the "BoUML" software
|
|
to create diagrams for use in the documentation (mostly TiddlyWiki).
|
|
BoUML went closed source and thus we'll discontinue our model and
|
|
start over with KDE-Umbrello.
|
|
|
|
The following are the BoUML generated diagrams used in the TiddlyWiki.
|
|
On occasion, we'll replace them by drawings from our current UML model.
|
|
|
|
(we use UML as a drawing and documentation tool, not for code generation)
|
|
|
|
128005: componentdiagram 128005 "Overview"
|
|
132229: classdiagram 128133 "Session structure"
|
|
128138: classdiagram 128181 "File Mapping"
|
|
128389: classdiagram 128389 "Render Entities"
|
|
128901: collaborationdiagram 128517 "build process"
|
|
129029: classdiagram 128645 "Controller Entities"
|
|
128901: classdiagram 129285 "Builder Tool (Visitor)"
|
|
128901: activitydiagram 129413 "build flow"
|
|
129029: activitydiagram 129541 "the render configuration flow"
|
|
128645: deploymentdiagram 129797 "Source Overview"
|
|
128005: componentdiagram 130053 "proc-components"
|
|
128517: classdiagram 130181 "Hierarchy"
|
|
128133: classdiagram 130309 "Asset Kinds"
|
|
128133: classdiagram 130437 "Media-Asset Relations"
|
|
128005: componentdiagram 130693 "backend-components"
|
|
129157: usecasediagram 130821 "backend use cases"
|
|
129157: classdiagram 130949 "interface components"
|
|
128133: classdiagram 131077 "Proc-Asset Relations"
|
|
128133: classdiagram 131205 "Struct-Asset Relations"
|
|
131077: classdiagram 131461 "Rules access"
|
|
131077: componentdiagram 131589 "components"
|
|
131077: usecasediagram 131717 "when to query"
|
|
131077: collaborationdiagram 131845 "\"default\" object"
|
|
128517: classdiagram 132485 "Stream Type Framework"
|
|
128005: classdiagram 132741 "TimelineSequences"
|
|
128901: classdiagram 132868 "Builder Entities"
|
|
128517: classdiagram 132869 "Layer Separation Interface"
|
|
129029: classdiagram 134021 "Command structure"
|
|
129029: statediagram 135173 "Command lifecycle"
|
|
132357: classdiagram 136325 "Focus of Query"
|
|
132229: classdiagram 136453 "Session backbone"
|
|
132229: classdiagram 136581 "MObjectRef"
|
|
131077: classdiagram 137733 "Query Interface"
|
|
132229: objectdiagram 138885 "ModelAssetRelations"
|
|
128133: classdiagram 139141 "Meta-Asset Relations"
|
|
128133: classdiagram 140293 "TypedLookup"
|
|
128517: classdiagram 141445 "Advice entities"
|
|
128517: objectdiagram 141573 "Advice solving"
|
|
128517: classdiagram 142725 "Time flavours"
|
|
133637: classdiagram 143877 "Player Entities"
|
|
133637: objectdiagram 144005 "Play Process Structure"
|
|
128773: classdiagram 158213 "UIBus"
|