Understanding the Four Dials (Format, Size, Detail, Audience) in the Diagram-Design Import Process
The four dials—Format, Size, Detail, and Audience—must be configured before rendering to control output file type, canvas dimensions, node density, and technical labeling depth in cathrynlavery/diagram-design.
When importing diagrams into the cathrynlavery/diagram-design system, these four configurable "dials" determine how source material is transformed into the final deliverable. They must be resolved before the diagram is redrawn because they affect the final file format, canvas viewBox, node density, and vocabulary choices. The complete specification for these parameters resides in skills/diagram-design/references/output-spec.md【5†L5-L10】.
The Four Dials Explained
Format – Controlling Output File Types
The Format dial determines the file type the diagram is saved as and where the output ultimately lands. Valid options include html, svg, png, or combined formats such as html+png.
- Default value:
html【5†L7-L8】 - Behavior: Non-HTML formats are generated from the HTML base via an export procedure【5†L20-L25】
- CLI flag:
--format
Size – Setting Canvas Dimensions and Reading Distance
The Size dial controls the SVG viewBox dimensions, associated PNG pixel dimensions, and the intended reading distance. It uses presets that map to typical destinations such as documentation, slide decks, or social cards.
- Default value:
doc-inline(maps to a 960×600 viewBox and 1920×1200 PNG output)【5†L8-L9】【5†L44-L52】 - Available presets:
doc-inline,slide-16x9,social-og,fit, and others defined in the specification【5†L44-L53】 - CLI flag:
--size
Detail – Managing Node and Edge Density
The Detail dial acts as a "count" parameter that limits how much of the source diagram is retained versus collapsed. It controls the survival of nodes, edges, and sub-labels through explicit numerical caps.
- Default value:
balanced【5†L9-L10】 - Available levels:
faithful: Retains maximum node/edge countbalanced: Moderate retention (default)simplified: Aggressive collapse with strict caps on nodes, edges, and sub-labels【5†L88-L92】
- CLI flag:
--detail
Audience – Adjusting Technical Depth
The Audience dial adjusts the technical depth of labeling independently from the Detail level. It modifies node names, sub-labels, and edge verbs to match the expertise of the target readers.
- Default value:
mixed【5†L9-L10】 - Available levels:
engineer: Technical terminology, precise edge verbsmixed: Balanced technical depthexecutive: Simplified naming conventions for high-level stakeholders【5†L20-L25】
- CLI flag:
--audience
How the Dials Interact
The four dials operate independently but must all be resolved before the diagram is drawn:
-
Format dictates the deliverable destination, determining whether the pipeline produces self-contained HTML, raw SVG, or raster PNG assets.
-
Size selects a preset that directly sets the SVG
viewBoxattribute and corresponding PNG pixel dimensions. For example, thedoc-inlinepreset creates assets optimized for embedded documentation. -
Detail performs a quantitative filter, limiting how many nodes and edges survive the import process based on the selected level's predefined caps.
-
Audience performs a qualitative transformation, changing what content is called rather than how much content survives.
The skills/diagram-design/SKILL.md file contains a validation checklist that verifies all four dials are explicitly set or correctly defaulted before the drawing phase begins【5†L68-L73】【5†L525-L532】.
Practical CLI Examples
The following command-line invocations demonstrate how to set each dial when importing Mermaid or Draw.io sources. The flags correspond directly to the four dials defined in the specification.
# Import a Mermaid file for a slide deck, high-detail, engineered audience.
diagram-design:import-mermaid diagrams/architecture.mmd \
--format=png \
--size=slide-16x9 \
--detail=faithful \
--audience=engineer \
--output=out/architecture
# Import a Draw.io file for a blog post, moderate detail, mixed audience,
# generating both HTML and PNG outputs.
diagram-design:import-drawio diagrams/infra.drawio \
--format=html+png \
--size=doc-inline \
--detail=balanced \
--audience=mixed \
--output=out/infra
These examples map the CLI flags to the dials as follows:
| Flag | Corresponding Dial | Example Values |
|---|---|---|
--format |
Format | html, svg, png, html+png |
--size |
Size | doc-inline, slide-16x9, social-og, fit |
--detail |
Detail | faithful, balanced, simplified |
--audience |
Audience | engineer, mixed, executive |
Summary
- The four dials (Format, Size, Detail, Audience) control every aspect of the import process in
cathrynlavery/diagram-design. - Defaults are
html(Format),doc-inline(Size),balanced(Detail), andmixed(Audience). - Configuration specifications live in
skills/diagram-design/references/output-spec.md, while validation occurs inskills/diagram-design/SKILL.md. - All dials must be resolved via CLI flags or inference before the diagram rendering pipeline executes.
Frequently Asked Questions
What are the default values for the four dials in diagram-design?
The default configuration uses html for Format, doc-inline for Size, balanced for Detail, and mixed for Audience. These values are defined in skills/diagram-design/references/output-spec.md lines 7 through 10 and are applied when explicit values are not provided via CLI flags.
How does the Detail dial differ from the Audience dial?
The Detail dial is a quantitative filter that limits how many nodes, edges, and sub-labels survive the import process through explicit numerical caps. The Audience dial is a qualitative transformation that changes the naming conventions, edge verbs, and technical depth of the labels without removing content. They operate independently to control density versus terminology.
Can I export to multiple formats simultaneously?
Yes, the Format dial accepts combined values such as html+png. According to the export procedure in output-spec.md, non-HTML formats are generated from the HTML base, allowing the pipeline to produce both interactive HTML and static raster assets in a single invocation.
Where is the configuration validated in the codebase?
The four dials are validated against a checklist in skills/diagram-design/SKILL.md before the drawing phase begins. This checkpoint ensures that Format, Size, Detail, and Audience have been explicitly requested, inferred from the destination, or defaulted correctly according to the specification.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →