Aparência da modelagem
Tudo o que diz respeito à aparência de uma modelagem mora num arquivo só:
model/workspace.yaml. Ele é opcional — sem ele, o leitor desenha um diagrama
C4 completo e convencional.
O que estiver ali é somado chave a chave sobre os padrões do motor. Você sobrepõe o que quiser e herda o resto, então o arquivo pode ser tão curto quanto um título.
O menor arquivo útil
Seção intitulada “O menor arquivo útil”version: 2title: Reserva de Salastitle é o nome que aparece no alto da barra lateral.
Rotular e colorir por metadado
Seção intitulada “Rotular e colorir por metadado”metadata: dominio: label: Dominio color: true time: label: Time criticidade: label: Criticidade color: trueEste bloco faz duas coisas, e só duas:
labeldá um nome legível ao filtro daquela chave;color: truelibera a chave na opção “colorir por” do leitor.
Não é preciso declarar uma chave para ela virar filtro. Toda chave de metadado escrita no modelo já vira filtro sozinha, com a chave crua como rótulo. Este bloco só melhora o rótulo e libera a coloração.
Tipos de seta
Seção intitulada “Tipos de seta”relationKinds: webhook: label: Webhook markerEnd: arrow-open dash: "4 3" color: "#0f766e"Escrever isso faz kind: webhook passar a valer, sem nenhuma mudança de código.
| Campo | O que faz |
|---|---|
label | o nome legível, exibido na legenda |
dash | o tracejado, no formato stroke-dasharray do SVG. Ausente: linha cheia |
color | a cor da linha, em hexadecimal |
width | a espessura |
markerStart, markerEnd | a ponta de cada lado: none, arrow-open, arrow-closed, arrow-half, circle, diamond |
animated | anima a linha |
Sobrepor um tipo que já existe é escrever a mesma chave — sync: com outra cor
troca a cor de toda seta síncrona da modelagem.
shapes: lambda: primitive: box stereotype: Function palette: container| Campo | O que faz |
|---|---|
primitive | o desenho base: box, person, robot, browser, cylinder, queue, topic, component, class |
stereotype | o texto entre guilemetes na caixa. É apresentação, e não carrega semântica |
palette | qual entrada da paleta a forma usa |
outline | solid ou dashed |
size | standard, narrow, compact ou wide |
A paleta
Seção intitulada “A paleta”palette: container: fill: "#438dd5" stroke: "#2f6ba3" text: "#ffffff"A cor é uma vaga, e não um estereótipo: trocar a entrada container recolore
todas as formas que apontam para ela, sem você saber quais são. As vagas de
fábrica são person, system, container, component, code, external e
neutral.
Tipos de nota
Seção intitulada “Tipos de nota”noteKinds: decisao: label: Decisao color: "#0f766e" char: DEscrever isso faz kind: decisao passar a valer. char é um caractere único
desenhado no distintivo; icon é uma marca desenhada, por nome, e vence char
quando os dois existem.
Desfechos de fluxo
Seção intitulada “Desfechos de fluxo”flowOutcomes: degradado: label: Degradado color: "#a16207"Faz outcome: degradado passar a valer num caminho de fluxo.
Alterar tudo isso por comando
Seção intitulada “Alterar tudo isso por comando”Você não precisa editar o arquivo à mão:
cfour config show # a configuração efetivacfour config title "Reserva de Salas"cfour config set noteKinds decisao --label Decisao --color "#0f766e" --char Dcfour config set relationKinds webhook --label Webhook --dash "4 3"cfour config rm noteKinds decisaocfour config show mostra os padrões do motor com o seu workspace.yaml por
cima — ou seja, os valores que de fato valem naquela modelagem.
A referência completa
Seção intitulada “A referência completa”Todos os campos, com tipo e padrão, estão em Configuração da aparência.