Configure Modeler CLI
Modeler CLI uses the same syside.toml configuration as Modeler. The configuration file can be provided explicitly via --config
<FILE> or inferred through Config File Discovery.
Config File Discovery
A single syside.toml serves an entire project: every command run in or below its
directory finds the file automatically. The lookup order is as follows (highest wins):
--config <FILE>on the command lineA
syside.tomlfound by searching upward from the current directory, up to and including the first directory that contains.gitorsysand-lock.tomlBuilt-in defaults
Note
Settings from syside.user.toml are merged on top of syside.toml. When both
files define the same setting, the user file wins.
Visualization Settings
All visualization settings live under [viz]. Command-line flags override
configuration values. See viz command for flag descriptions
and which setting each flag overrides.
Some settings are set separately for each view kind.
<kind> in a setting name stands for one of the following: general,
interconnection, action_flow, state_transition, or sequence.
Group |
Setting |
Default |
Meaning |
|---|---|---|---|
[viz.style] |
|
Base color theme |
|
Custom color groups |
|||
[viz.layout] |
|
Layout style per view kind |
|
|
View kind for |
||
[viz.expose] |
|
Filtered-element mapping strategy |
|
[viz.compartments] |
|
Per-compartment row cap |
|
|
Inherited compartment rows |
||
|
Annotation compartment rows |
||
[viz.labels] |
|
Labels on fork and join bars |
|
|
Labels on decision and merge diamonds |
||
[viz.filters.<kind>] |
|
Specialization edges to node ancestors |
|
|
Specialization edges to port ancestors |
||
|
Inherited-member nodes |
||
Attribute rendering |
|||
[viz.render] |
|
Raster scale multiplier |
|
|
Memory ceiling per raster image |
Themes
Diagrams can be styled using four built-in themes: light, dark, light_mono,
and dark_mono. Each option can be selected via viz.style.theme setting or the
-t/--theme flag.
Custom Colors
Element node colors can be further customized using style groups. Group colors apply on
top of the selected theme and always win. Each [viz.style.group.<name>] entry colors
a specified set of element types, e.g.
[viz.style.group.part_usage]
members = ["PartUsage"]
fill_header = "#88b7e3ff"
fill_body = "#f7f9ffff"
text_keyword = "#1f4373ff"
Rules:
membersis required and non-empty. Entries are SysML metaclass names (PartUsage,PartDefinition,ActionUsage,RequirementDefinition, etc.)Each group sets one to five of the following style settings:
fill_header- background of the node headerfill_body- background of the node bodystroke- node border linetext_primary- regular text (names and compartment rows)text_keyword- keyword text (e.g.,part defin the header)
Groups apply in declaration order. When several groups list the same type, later groups overwrite earlier ones attribute by attribute
Group names are free-form and only serve readability
Groups cannot be nested inside each other
Colors use hexadecimal notation: #rrggbb or #rrggbbaa (where aa is
transparency).
The declaration order makes a broad-then-narrow palette possible: a first group sets an attribute for many types, and narrow groups after it override specific types.
[viz.style.group.uniform]
members = ["PartUsage", "PartDefinition", "ActionUsage", "ActionDefinition"]
stroke = "#2c2c2eff"
[viz.style.group.parts]
members = ["PartUsage", "PartDefinition"]
fill_header = "#88b7e3ff"
fill_body = "#f7f9ffff"
[viz.style.group.actions]
members = ["ActionUsage", "ActionDefinition"]
fill_header = "#80d6a7ff"
fill_body = "#f6fcf8ff"
Settings Reference
viz.style.theme
Base color theme for all diagrams.
Values: light | dark | light_mono | dark_mono
Default: light
[viz.style]
theme = "dark"
viz.layout.render_style.<kind>
Default layout style, set separately for each view kind.
For viz view, a view’s render keyword and the -r flag take precedence over this setting.
Values: nested | tree
Default: nested
[viz.layout.render_style]
general = "tree"
viz.layout.view.default
View kind used by viz element when --view is not passed.
Values: general | interconnection | action_flow | state_transition | sequence
Default: general
[viz.layout.view]
default = "interconnection"
viz.expose.mode
How view filters interact with exposed elements. See expose modes for the semantics.
Values: subtree | promoted | flat
Default: subtree
[viz.expose]
mode = "promoted"
viz.compartments.max_entries
Per-compartment row cap: -1 shows all rows, 0 hides feature compartments, N
shows the first N rows. Annotation compartments are unaffected by this setting.
Values: -1 | 0 | N
Default: -1
[viz.compartments]
max_entries = 5
viz.compartments.show_inherited_rows
Hides inherited (^) compartment rows when set to false.
Values: true | false
Default: true
[viz.compartments]
show_inherited_rows = false
viz.compartments.show_annotation_rows
Hides annotation (documentation and metadata) compartment rows when set to false.
Values: true | false
Default: true
[viz.compartments]
show_annotation_rows = false
viz.labels.show_fork_join_labels
Hides fork and join bar name labels when set to false.
Values: true | false
Default: true
[viz.labels]
show_fork_join_labels = false
viz.labels.show_decide_merge_labels
Hides decision and merge element name labels when set to false.
Values: true | false
Default: true
[viz.labels]
show_decide_merge_labels = false
viz.filters.<kind>.show_node_heritage_edges
Draws specialization edges to node ancestors. Set separately for each view kind.
Values: true | false
Default: true
[viz.filters.general]
show_node_heritage_edges = false
viz.filters.<kind>.show_port_heritage_edges
Draws specialization edges to port ancestors. Set separately for each view kind.
Values: true | false
Default: false
[viz.filters.interconnection]
show_port_heritage_edges = true
viz.filters.<kind>.show_inherited_nodes
Shows inherited member nodes. Set separately for each view kind.
Values: true | false
Default: true
[viz.filters.general]
show_inherited_nodes = false
viz.filters.<kind>.show_attributes_as
Defines how attribute usages are rendered. By default, attributes are rendered as compartments in the nested layout and as nodes in the tree layout. Set separately for each view kind.
Values: nodes | compartments | hidden
Default: unset
[viz.filters.state_transition]
show_attributes_as = "hidden"
viz.render.zoom_level
Sets raster scale multiplier. Applies to PNG and JPEG output only.
Values: number greater than 0
Default: 3.0
[viz.render]
zoom_level = 1.5
viz.render.max_raster_memory_mb
Sets memory ceiling per rasterized image (MB). Oversized diagrams are automatically downscaled to fit.
Values: number greater than 0
Default: 256
[viz.render]
max_raster_memory_mb = 512