diff --git a/C4.puml b/C4.puml index 0bbc4f12..f0a2d852 100644 --- a/C4.puml +++ b/C4.puml @@ -34,6 +34,9 @@ rectangle C4VersionDetailsArea <> [ !$BOUNDARY_COLOR ?= "#444444" !$BOUNDARY_BG_COLOR ?= "transparent" !$BOUNDARY_BORDER_STYLE ?= "dashed" +' boundary symbols written in the same line, typically only 50% of the size in element +!$BOUNDARY_IMAGE_SIZE_FACTOR ?= 0.5 +!$BOUNDARY_DESCR_MAX_CHAR_WIDTH ?= 35 !$LEGEND_TITLE_COLOR ?= "#000000" !$LEGEND_FONT_COLOR ?= "#FFFFFF" @@ -608,13 +611,13 @@ $elementSkin !endfunction ' element symbols typically 4 times too big in legend -!function $smallVersionSprite($sprite) +!function $smallVersionSprite($sprite, $imageScale = $LEGEND_IMAGE_SIZE_FACTOR) ' ,scale= ... has to be first (...,color=black,scale=0.25... is invalid too) !if (%strpos($sprite, "=") < 0) !if (%substr($sprite, 0, 4) == "img:") - !$smallSprite = $sprite + "{scale=" + $LEGEND_IMAGE_SIZE_FACTOR + "}" + !$smallSprite = $sprite + "{scale=" + $imageScale + "}" !else - !$smallSprite = $sprite + ",scale=" + $LEGEND_IMAGE_SIZE_FACTOR + !$smallSprite = $sprite + ",scale=" + $imageScale !endif !else !$smallSprite = $sprite @@ -1386,22 +1389,22 @@ $getLegendArea($alias, $hideStereotype, $details) ' Boundaries ' ################################## -!unquoted procedure UpdateBoundaryStyle($elementName="", $bgColor="", $fontColor="", $borderColor="", $shadowing="", $shape="", $type="", $legendText="", $borderStyle="", $borderThickness="") +!unquoted procedure UpdateBoundaryStyle($elementName="", $bgColor="", $fontColor="", $borderColor="", $shadowing="", $shape="", $type="", $legendText="", $borderStyle="", $borderThickness="", $sprite="", $legendSprite="") !if ($elementName != "") !$elementBoundary = $elementName + '_boundary' - UpdateElementStyle($elementBoundary, $bgColor, $fontColor, $borderColor, $shadowing, $shape, "", $type, $legendText, "", $borderStyle, $borderThickness) + UpdateElementStyle($elementBoundary, $bgColor, $fontColor, $borderColor, $shadowing, $shape, $sprite, $type, $legendText, $legendSprite, $borderStyle, $borderThickness) !else - UpdateElementStyle("boundary", $bgColor, $fontColor, $borderColor, $shadowing, $shape, "", $type, $legendText, "", $borderStyle, $borderThickness) + UpdateElementStyle("boundary", $bgColor, $fontColor, $borderColor, $shadowing, $shape, $sprite, $type, $legendText, $legendSprite, $borderStyle, $borderThickness) ' simulate color inheritance - UpdateBoundaryStyle("enterprise", $bgColor, $fontColor, $borderColor, $shadowing, $shape, "Enterprise", "", $borderStyle, $borderThickness) - UpdateBoundaryStyle("system", $bgColor, $fontColor, $borderColor, $shadowing, $shape, "System", "", $borderStyle, $borderThickness) - UpdateBoundaryStyle("container", $bgColor, $fontColor, $borderColor, $shadowing, $shape, "Container", "", $borderStyle, $borderThickness) + UpdateBoundaryStyle("enterprise", $bgColor, $fontColor, $borderColor, $shadowing, $shape, "Enterprise", "", $borderStyle, $borderThickness, $sprite, $legendSprite) + UpdateBoundaryStyle("system", $bgColor, $fontColor, $borderColor, $shadowing, $shape, "System", "", $borderStyle, $borderThickness, $sprite, $legendSprite) + UpdateBoundaryStyle("container", $bgColor, $fontColor, $borderColor, $shadowing, $shape, "Container", "", $borderStyle, $borderThickness, $sprite, $legendSprite) !endif !endprocedure -!unquoted procedure AddBoundaryTag($tagStereo, $bgColor="", $fontColor="", $borderColor="", $shadowing="", $shape="", $type="", $legendText="", $borderStyle="", $borderThickness="") +!unquoted procedure AddBoundaryTag($tagStereo, $bgColor="", $fontColor="", $borderColor="", $shadowing="", $shape="", $type="", $legendText="", $borderStyle="", $borderThickness="", $sprite="", $legendSprite="") !$tagBoundary = $tagStereo + '_boundary' - AddElementTag($tagBoundary, $bgColor, $fontColor, $borderColor, $shadowing, $shape, "", $type, $legendText, "", $borderStyle, $borderThickness) + AddElementTag($tagBoundary, $bgColor, $fontColor, $borderColor, $shadowing, $shape, $sprite, $type, $legendText, $legendSprite, $borderStyle, $borderThickness) !endprocedure ' add _boundary to all tags that short tag version can be used @@ -1423,20 +1426,28 @@ $getLegendArea($alias, $hideStereotype, $details) !return $boundaryTags !endfunction -!function $getBoundary($label, $type) - !if ($type == "") - !return '== ' + $breakLabel($label) +!function $getBoundary($label, $type, $descr, $sprite) + !$line = '== ' + !if ($sprite != "") + ' add sprite in label line that it is more compact + !$line = $line + $getSprite($smallVersionSprite($sprite, $BOUNDARY_IMAGE_SIZE_FACTOR)) + ' ' + !endif + !$line = $line + $breakLabel($label) + !if ($type != "") + !$line = $line + '\n[' + $type + ']' !endif - !if (type != "") - !return '== ' + $breakLabel($label) + '\n[' + $type + ']' + !if ($descr != "") + !$line = $line + '\n\n' + $breakDescr($descr, $BOUNDARY_DESCR_MAX_CHAR_WIDTH) !endif + !return $line !endfunction -!unquoted procedure Boundary($alias, $label, $type="", $tags="", $link="") +!unquoted procedure Boundary($alias, $label, $type="", $tags="", $link="", $descr = "") !$boundaryTags = $addBoundaryPostfix($tags) -' nodes $type reuses $techn definition of $boundaryTags +' boundary $type reuses $techn definition of $boundaryTags !$type=$toElementArg($type, $boundaryTags, "ElementTagTechn", "boundary") -rectangle "$getBoundary($label, $type)" $toStereos("boundary", $boundaryTags) as $alias $getLink($link) +!$sprite=$toElementArg("", $boundaryTags, "ElementTagSprite", "boundary") +rectangle "$getBoundary($label, $type, $descr, $sprite)" $toStereos("boundary", $boundaryTags) as $alias $getLink($link) !endprocedure ' Boundary Styling diff --git a/C4_Container.puml b/C4_Container.puml index caab6182..4b1c1a4b 100644 --- a/C4_Container.puml +++ b/C4_Container.puml @@ -40,8 +40,8 @@ UpdateBoundaryStyle("container", $bgColor=$CONTAINER_BOUNDARY_BG_COLOR, $fontCol $addElementTagInclReuse("external_container", $tagStereo, $bgColor, $fontColor, $borderColor, $shadowing, $shape, $sprite, $techn, $legendText, $legendSprite, $borderStyle, $borderThickness) !endprocedure -!unquoted procedure UpdateContainerBoundaryStyle($bgColor=$CONTAINER_BOUNDARY_BG_COLOR, $fontColor=$CONTAINER_BOUNDARY_COLOR, $borderColor=$CONTAINER_BOUNDARY_COLOR, $shadowing="", $shape="", $type="Container", $legendText="", $borderStyle="", $borderThickness="") - UpdateBoundaryStyle("container", $bgColor, $fontColor, $borderColor, $shadowing, $shape, $type, $legendText, $borderStyle, $borderThickness) +!unquoted procedure UpdateContainerBoundaryStyle($bgColor=$CONTAINER_BOUNDARY_BG_COLOR, $fontColor=$CONTAINER_BOUNDARY_COLOR, $borderColor=$CONTAINER_BOUNDARY_COLOR, $shadowing="", $shape="", $type="Container", $legendText="", $borderStyle="", $borderThickness="", $sprite="", $legendSprite="") + UpdateBoundaryStyle("container", $bgColor, $fontColor, $borderColor, $shadowing, $shape, $type, $legendText, $borderStyle, $borderThickness, $sprite, $legendSprite) !endprocedure ' Layout @@ -92,12 +92,12 @@ endlegend ' Boundaries ' ################################## -!unquoted procedure Container_Boundary($alias, $label, $tags="", $link="") +!unquoted procedure Container_Boundary($alias, $label, $tags="", $link="", $descr = "") !if ($tags != "") !$allTags = $tags + '+container' !else !$allTags = 'container' !endif ' $type defined via $tag style - Boundary($alias, $label, "", $allTags, $link) + Boundary($alias, $label, "", $allTags, $link, $descr) !endprocedure diff --git a/C4_Context.puml b/C4_Context.puml index 664b2a67..d8dfa4c1 100644 --- a/C4_Context.puml +++ b/C4_Context.puml @@ -62,11 +62,11 @@ UpdateBoundaryStyle("enterprise", $bgColor=$ENTERPRISE_BOUNDARY_BG_COLOR, $fontC $addElementTagInclReuse("external_system", $tagStereo, $bgColor, $fontColor, $borderColor, $shadowing, $shape, $sprite, $type, $legendText, $legendSprite, $borderStyle, $borderThickness) !endprocedure -!unquoted procedure UpdateEnterpriseBoundaryStyle($bgColor=$ENTERPRISE_BOUNDARY_BG_COLOR, $fontColor=$ENTERPRISE_BOUNDARY_COLOR, $borderColor=$ENTERPRISE_BOUNDARY_COLOR, $shadowing="", $shape="", $type="Enterprise", $legendText="", $borderStyle="", $borderThickness="") - UpdateBoundaryStyle("enterprise", $bgColor, $fontColor, $borderColor, $shadowing, $shape, $type, $legendText, $borderStyle, $borderThickness) +!unquoted procedure UpdateEnterpriseBoundaryStyle($bgColor=$ENTERPRISE_BOUNDARY_BG_COLOR, $fontColor=$ENTERPRISE_BOUNDARY_COLOR, $borderColor=$ENTERPRISE_BOUNDARY_COLOR, $shadowing="", $shape="", $type="Enterprise", $legendText="", $borderStyle="", $borderThickness="", $sprite="", $legendSprite="") + UpdateBoundaryStyle("enterprise", $bgColor, $fontColor, $borderColor, $shadowing, $shape, $type, $legendText, $borderStyle, $borderThickness, $sprite, $legendSprite) !endprocedure -!unquoted procedure UpdateSystemBoundaryStyle($bgColor=$SYSTEM_BOUNDARY_BG_COLOR, $fontColor=$SYSTEM_BOUNDARY_COLOR, $borderColor=$SYSTEM_BOUNDARY_COLOR, $shadowing="", $shape="", $type="System", $legendText="", $borderStyle="", $borderThickness="") - UpdateBoundaryStyle("system", $bgColor, $fontColor, $borderColor, $shadowing, $shape, $type, $legendText, $borderStyle, $borderThickness) +!unquoted procedure UpdateSystemBoundaryStyle($bgColor=$SYSTEM_BOUNDARY_BG_COLOR, $fontColor=$SYSTEM_BOUNDARY_COLOR, $borderColor=$SYSTEM_BOUNDARY_COLOR, $shadowing="", $shape="", $type="System", $legendText="", $borderStyle="", $borderThickness="", $sprite="", $legendSprite="") + UpdateBoundaryStyle("system", $bgColor, $fontColor, $borderColor, $shadowing, $shape, $type, $legendText, $borderStyle, $borderThickness, $sprite, $legendSprite) !endprocedure ' Sprites @@ -413,22 +413,22 @@ rectangle "$getPerson($label, $type, $descr, $sprite)$getProps()" $toStereos("ex ' Boundaries ' ################################## -!unquoted procedure Enterprise_Boundary($alias, $label, $tags="", $link="") +!unquoted procedure Enterprise_Boundary($alias, $label, $tags="", $link="", $descr = "") !if ($tags != "") !$allTags = $tags + '+enterprise' !else !$allTags = 'enterprise' !endif ' $type defined via $tag style - Boundary($alias, $label, "", $allTags, $link) + Boundary($alias, $label, "", $allTags, $link, $descr) !endprocedure -!unquoted procedure System_Boundary($alias, $label, $tags="", $link="") +!unquoted procedure System_Boundary($alias, $label, $tags="", $link="", $descr = "") !if ($tags != "") !$allTags = $tags + '+system' !else !$allTags = 'system' !endif ' $type defined via $tag style - Boundary($alias, $label, "", $allTags, $link) + Boundary($alias, $label, "", $allTags, $link, $descr) !endprocedure diff --git a/C4_Sequence.puml b/C4_Sequence.puml index 158a594e..d49f715f 100644 --- a/C4_Sequence.puml +++ b/C4_Sequence.puml @@ -1,4 +1,4 @@ -' convert it with additional command line argument -DRELATIVE_INCLUDE="relative/absolute" to use locally +' convert it with additional command line argument -DRELATIVE_INCLUDE="relative/absolute" to use locally !if %variable_exists("RELATIVE_INCLUDE") !include ./C4_Component.puml !else @@ -192,7 +192,6 @@ sequenceDiagram { !return $breakWithNewline($text, $lineStart, $lineEnd, $REL_TECHN_MAX_CHAR_WIDTH) !endfunction -' description is not displayed (size too big, line breaks not supported) ' properties are not displayed in sequence diagram (size would be too big) ' $breakLabel() not required by participant !procedure $getParticipant($elementType, $alias, $label, $techn, $descr, $sprite, $tags, $link) @@ -324,20 +323,29 @@ $calcDescr ' alias ignored ' $breakLabel() not required by participant -!unquoted procedure Boundary($alias, $label, $type="", $tags="", $link="") +!unquoted procedure Boundary($alias, $label, $type="", $tags="", $link="", $descr = "") !$boundaryTags = $addBoundaryPostfix($tags) -' nodes $type reuses $techn definition of $boundaryTags +' boundary $type reuses $techn definition of $boundaryTags !$type=$toElementArg($type, $boundaryTags, "ElementTagTechn", "boundary") +!$sprite=$toElementArg("", $boundaryTags, "ElementTagSprite", "boundary") +!$labelSprite="" +!if ($sprite != "") + ' add sprite in label line that it is more compact + !$labelSprite = $getSprite($smallVersionSprite($sprite, $BOUNDARY_IMAGE_SIZE_FACTOR)) + ' ' +!endif !if ($link != "") !$usedNewLine = ']]\n== [[' + $link + ' ' - !$labelType = '== [[' + $link + ' ' + $breakText($label, $usedNewLine) + ']]' + !$labelType = '== [[' + $link + ' ' + $labelSprite + $breakText($label, $usedNewLine) + ']]' !else !$usedNewLine = '\n== ' - !$labelType = $breakText($label, $usedNewLine) + !$labelType = $labelSprite + $breakText($label, $usedNewLine) !endif !if (type != "") !$labelType = $labelType + '\n[' + $type + ']' !endif +!if ($display_element_description == %true() && $descr != "") + !$labelType = $labelType + '\n\n' + $breakDescr($descr, $BOUNDARY_DESCR_MAX_CHAR_WIDTH) +!endif box "$labelType" $toStereos("boundary", $boundaryTags) !endprocedure @@ -345,34 +353,34 @@ box "$labelType" $toStereos("boundary", $boundaryTags) end box !endprocedure -!unquoted procedure Enterprise_Boundary($alias, $label, $tags="", $link="") +!unquoted procedure Enterprise_Boundary($alias, $label, $tags="", $link="", $descr = "") !if ($tags != "") !$allTags = $tags + '+enterprise' !else !$allTags = 'enterprise' !endif ' $type defined via $tag style - Boundary($alias, $label, "", $allTags, $link) + Boundary($alias, $label, "", $allTags, $link, $descr) !endprocedure -!unquoted procedure System_Boundary($alias, $label, $tags="", $link="") +!unquoted procedure System_Boundary($alias, $label, $tags="", $link="", $descr = "") !if ($tags != "") !$allTags = $tags + '+system' !else !$allTags = 'system' !endif ' $type defined via $tag style - Boundary($alias, $label, "", $allTags, $link) + Boundary($alias, $label, "", $allTags, $link, $descr) !endprocedure -!unquoted procedure Container_Boundary($alias, $label, $tags="", $link="") +!unquoted procedure Container_Boundary($alias, $label, $tags="", $link="", $descr = "") !if ($tags != "") !$allTags = $tags + '+container' !else !$allTags = 'container' !endif ' $type defined via $tag style - Boundary($alias, $label, "", $allTags, $link) + Boundary($alias, $label, "", $allTags, $link, $descr) !endprocedure ' Relationship (redefinition) diff --git a/README.md b/README.md index 0f8b0003..5aa8a62a 100644 --- a/README.md +++ b/README.md @@ -241,9 +241,9 @@ SHOW_LEGEND() - `System_Ext(alias, label, ?descr, ?sprite, ?tags, ?link, ?type, ?baseShape)` - `SystemDb_Ext(alias, label, ?descr, ?sprite, ?tags, ?link, ?type)` - `SystemQueue_Ext(alias, label, ?descr, ?sprite, ?tags, ?link, ?type)` - - `Boundary(alias, label, ?type, ?tags, ?link)` - - `Enterprise_Boundary(alias, label, ?tags, ?link)` - - `System_Boundary(alias, label, ?tags, ?link)` + - `Boundary(alias, label, ?type, ?tags, ?link, ?descr)` + - `Enterprise_Boundary(alias, label, ?tags, ?link, ?descr)` + - `System_Boundary(alias, label, ?tags, ?link, ?descr)` - Sprites: - `person` - `person2` @@ -262,7 +262,7 @@ SHOW_LEGEND() - `Container_Ext(alias, label, ?techn, ?descr, ?sprite, ?tags, ?link, ?baseShape)` - `ContainerDb_Ext(alias, label, ?techn, ?descr, ?sprite, ?tags, ?link)` - `ContainerQueue_Ext(alias, label, ?techn, ?descr, ?sprite, ?tags, ?link)` - - `Container_Boundary(alias, label, ?tags, ?link)` + - `Container_Boundary(alias, label, ?tags, ?link, ?descr)` ### Component diagram @@ -600,13 +600,13 @@ Additional tags/stereotypes can be added to the existing element stereotypes (co Introduces a new element tag. The styles of the tagged elements are updated and the tag is displayed in the calculated legend. - `AddRelTag(tagStereo, ?textColor, ?lineColor, ?lineStyle, ?sprite, ?techn, ?legendText, ?legendSprite, ?lineThickness)`: Introduces a new Relationship tag. The styles of the tagged relationships are updated and the tag is displayed in the calculated legend. -- `AddBoundaryTag(tagStereo, ?bgColor, ?fontColor, ?borderColor, ?shadowing, ?shape, ?type, ?legendText, ?borderStyle, ?borderThickness, ?borderStyle, ?borderThickness)`: +- `AddBoundaryTag(tagStereo, ?bgColor, ?fontColor, ?borderColor, ?shadowing, ?shape, ?type, ?legendText, ?borderStyle, ?borderThickness, ?borderStyle, ?borderThickness, ?sprite, ?legendSprite)`: Introduces a new Boundary tag. The styles of the tagged boundaries are updated and the tag is displayed in the calculated legend. - `UpdateElementStyle(elementName, ?bgColor, ?fontColor, ?borderColor, ?shadowing, ?shape, ?sprite, ?techn, ?legendText, ?legendSprite, ?borderStyle, ?borderThickness)`: This call updates the default style of the elements (component, ...) and creates no additional legend entry. - `UpdateRelStyle(textColor, lineColor)`: This call updates the default relationship colors and creates no additional legend entry. -- `UpdateBoundaryStyle(?elementName, ?bgColor, ?fontColor, ?borderColor, ?shadowing, ?shape, ?type, ?legendText, ?borderStyle, ?borderThickness)`: +- `UpdateBoundaryStyle(?elementName, ?bgColor, ?fontColor, ?borderColor, ?shadowing, ?shape, ?type, ?legendText, ?borderStyle, ?borderThickness, ?sprite, ?legendSprite)`: This call updates the default style of the existing boundaries and creates no additional legend entry. If the element name is "" then it updates generic, enterprise, system and container boundary style in on call. - `RoundedBoxShape()`: This call returns the name of the rounded box shape and can be used as ?shape argument. @@ -650,9 +650,9 @@ Following calls introduces new element tags with element specific default colors Like the element specific tag definitions exist boundary specific calls with their default colors **and type**: -- `UpdateContainerBoundaryStyle(?bgColor, ?fontColor, ?borderColor, ?shadowing, ?shape, ?type, ?legendText, ?borderStyle, ?borderThickness)` -- `UpdateSystemBoundaryStyle(?bgColor, ?fontColor, ?borderColor, ?shadowing, ?shape, ?type, ?legendText, ?borderStyle, ?borderThickness)` -- `UpdateEnterpriseBoundaryStyle(?bgColor, ?fontColor, ?borderColor, ?shadowing, ?shape, ?type, ?legendText, ?borderStyle, ?borderThickness)` +- `UpdateContainerBoundaryStyle(?bgColor, ?fontColor, ?borderColor, ?shadowing, ?shape, ?type, ?legendText, ?borderStyle, ?borderThickness, ?sprite, ?legendSprite)` +- `UpdateSystemBoundaryStyle(?bgColor, ?fontColor, ?borderColor, ?shadowing, ?shape, ?type, ?legendText, ?borderStyle, ?borderThickness, ?sprite, ?legendSprite)` +- `UpdateEnterpriseBoundaryStyle(?bgColor, ?fontColor, ?borderColor, ?shadowing, ?shape, ?type, ?legendText, ?borderStyle, ?borderThickness, ?sprite, ?legendSprite)` ### Comments diff --git a/percy/TestBoundaryTagSupport.puml b/percy/TestBoundaryTagSupport.puml index c96bc479..5e295c6f 100644 --- a/percy/TestBoundaryTagSupport.puml +++ b/percy/TestBoundaryTagSupport.puml @@ -6,19 +6,21 @@ !include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Component.puml !endif -UpdateBoundaryStyle($bgColor="gold", $fontColor="brown", $borderColor="brown") +UpdateBoundaryStyle($bgColor="gold", $fontColor="brown", $borderColor="brown", $sprite="person", $legendSprite="person2,scale=0.3") ' re-set $bgColor avoids '(no back color)' in legend -UpdateSystemBoundaryStyle($bgColor="gold", $fontColor="white", $borderColor="white") +UpdateSystemBoundaryStyle($bgColor="gold", $fontColor="white", $borderColor="white", $sprite=robot, $legendSprite="robot2,scale=0.3") -AddBoundaryTag("specialSystem", $bgColor="green", $fontColor="white", $borderColor="blue", $shadowing="true", $shape = RoundedBoxShape(), $type="A SPECIAL SYSTEM BOUNDARY") -AddBoundaryTag("existingContainersBoundary", $bgColor="red", $fontColor="white", $borderColor="white", $type="Existing CONTAINER BOUNDARY", $legendText="container boundary with existing components") +AddElementTag("special", $sprite="person", $legendSprite="person,scale=0.3") + +AddBoundaryTag("specialSystem", $bgColor="green", $fontColor="white", $borderColor="blue", $shadowing="true", $shape = RoundedBoxShape(), $type="A SPECIAL SYSTEM BOUNDARY", $sprite="robot,scale=0.5,color=black", $legendSprite="robot2,scale=0.3,color=black") +AddBoundaryTag("existingContainersBoundary", $bgColor="red", $fontColor="white", $borderColor="white", $type="Existing CONTAINER BOUNDARY", $legendText="container boundary with existing components", $sprite="robot") System_Boundary(sb, "A System Boundary") { } -System_Boundary(sb1, "Special System 1 Boundary", $tags="specialSystem") { - Container_Boundary(cb1, "Container Boundary\nwith tag", $tags="existingContainersBoundary") { - Component(e1, "existing 1", "xyz") +System_Boundary(sb1, "Special System 1 Boundary", $tags="specialSystem", $descr="A long description ... A long description ... A long description ... A long description") { + Container_Boundary(cb1, "Container Boundary\nwith tag", $tags="existingContainersBoundary", $descr="A long description ... A long description ... A long description ... A long description") { + Component(e1, "existing 1", "xyz", $tags="special") Component(e2, "existing 2", "xyz") } Container_Boundary(cb2, "A Container Boundary") { @@ -38,7 +40,7 @@ Boundary(anotherBoundary, "Another Boundary", $type="BOUNDARY TYPE", $tags="v1") Component(anotherComponent, "Another Component", $techn="COMPONENT TYPE", $tags="v1", $descr="Component and boundary use different tag name spaces that both v1 tags can use different styles") } -Boundary(aBoundary, "A Boundary") { +Boundary(aBoundary, "A Boundary", $descr="A long description\nwith concrete line breaks\nNew line\nNewLine") { } Lay_R(sb, sb1) diff --git a/percy/TestSequenceSkinparams.puml b/percy/TestSequenceSkinparams.puml index e2be6ef2..8652fd34 100644 --- a/percy/TestSequenceSkinparams.puml +++ b/percy/TestSequenceSkinparams.puml @@ -71,10 +71,16 @@ sequenceDiagram { !include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Sequence.puml !endif +SHOW_ELEMENT_DESCRIPTIONS() SHOW_INDEX(true) +AddPersonTag("chatBot", $sprite="robot") +AddBoundaryTag("chatBotSystem", $type="ChatGPT", $bgColor="lightgreen", $fontColor=$PERSON_BG_COLOR, $borderColor=$PERSON_BG_COLOR, $shadowing="true", $sprite="robot2") + Person(Alice, "Alice") -Person(Bob, "Bob") +System_Boundary(system, "System", $tags="chatBotSystem", $descr="ChatGPT with model gpt-3.5-turbo. It has been updated to feature higher accuracy at responding in requested formats") +Component(Bob, "Bob", $descr="This chatbot should act like a person", $tags="chatBot") +Boundary_End() activate Bob