What Visual Presets Are Available in Archify?
Archify provides four visual presets—classic, signal-flow, blueprint, and editorial—defined in the JSON schema and applied via the meta.visual_preset field to style diagrams without changing their underlying structure.
The visual preset system in Archify lets authors switch between distinct visual styles while preserving all diagram geometry, IDs, and topology. This separation of presentation from data means you can render the same architecture file for different audiences—engineering reviews, executive presentations, or published documentation—simply by changing one metadata field.
Where Visual Presets Are Defined
The Core Schema Enum
The authoritative list of available visual presets lives in archify/schemas/workflow.schema.json. At line 36, the visual_preset property is defined as a strict enum:
"visual_preset": {
"enum": ["classic", "signal-flow", "blueprint", "editorial"]
}
This schema applies across all diagram types in the tt-a1i/archify repository, ensuring consistent preset availability whether you're building workflow, sequence, dataflow, or lifecycle diagrams.
Renderer Default Handling
The CLI renderer in archify/renderers/shared/cli.mjs establishes the fallback behavior. At line 64, the code extracts the preset from metadata or defaults to classic:
visualPreset: meta.visual_preset || 'classic',
At line 151, the preset is injected into the generated HTML as a data attribute:
const preset = ` data-preset="${esc(meta.visual_preset || 'classic')}"`;
The Four Visual Presets Explained
classic
- Purpose: Stable default that works across light and dark themes
- Use case: Standard documentation, version-controlled diagrams, CI/CD pipelines
- Characteristics: Original Archify visual language with balanced contrast and clean lines
signal-flow
- Purpose: Motion-forward style emphasizing data-flow direction
- Use case: Animations, live presentations, streaming architecture demonstrations
- Characteristics: Luminous traces, directional emphasis, dynamic path highlighting
Referenced in example files such as archify/examples/incident-response.workflow.json where the preset is set to signal-flow for operational runbooks.
blueprint
- Purpose: Geometry-preserving drafting style for design review workflows
- Use case: Technical design reviews, PR discussions, architectural decision records
- Characteristics: Precise grids, squared UI elements, muted color palette, measurement-friendly layouts
Demonstrated in archify/examples/production-deployment.architecture.json.
editorial
- Purpose: Publication-oriented readability
- Use case: Blog posts, technical articles, conference slide decks, PDF exports
- Characteristics: Warm tones, richer typography hierarchy, subtle shading for print reproduction
How to Apply Visual Presets
In JSON Schema Files
Add the visual_preset field to your diagram's meta object:
{
"schema_version": 2,
"diagram_type": "workflow",
"meta": {
"title": "Payment Processing Flow",
"visual_preset": "blueprint"
},
"lanes": [
{ "id": "api", "label": "API Gateway" },
{ "id": "svc", "label": "Services" }
],
"nodes": [
{ "id": "auth", "lane": "api", "label": "Authenticate" },
{ "id": "process", "lane": "svc", "label": "Process Payment" }
],
"edges": [
{ "source": "auth", "target": "process", "type": "async" }
]
}
Via CLI Override
Even without modifying the source file, you can specify a preset at render time. The CLI internally sets meta.visual_preset before generation:
# Render with explicit preset override
npx archify render payment-flow.json --preset editorial > payment-editorial.html
# Default behavior (no flag) uses "classic" or the file's existing preset
npx archify render payment-flow.json > payment-default.html
Theme Independence
Visual presets operate independently of color themes. You can combine any preset with light or dark mode:
# Blueprint preset + dark theme
npx archify render architecture.json --preset blueprint --theme dark > review-dark.html
This independence is enforced by the renderer's CSS architecture—preset styling controls structural presentation (grids, shapes, typography scale) while theme variables control color values.
File Locations for Reference
Summary
- Archify defines four visual presets in its JSON schema:
classic,signal-flow,blueprint, andeditorial. - Set
meta.visual_presetin your diagram file, or override via--presetCLI flag. - Presets control structural presentation; themes control colors—combine freely.
- The default fallback is
classicas implemented inarchify/renderers/shared/cli.mjs. - All presets preserve diagram geometry and topology, enabling style switching without data loss.
Frequently Asked Questions
What happens if I specify an invalid visual preset?
The JSON schema validation will fail. Since visual_preset uses a strict enum in workflow.schema.json, any value outside "classic", "signal-flow", "blueprint", or "editorial" triggers a validation error at parse time.
Can I create custom visual presets?
Not through official extension points. The enum is hardcoded in the schema, and the CLI renderer only recognizes the four defined values. Custom styling requires post-processing the generated HTML or modifying the source in archify/renderers/shared/cli.mjs.
Does changing the visual preset affect diagram exports?
The underlying diagram data remains identical—only the rendered appearance changes. SVG and PNG exports reflect the active preset at render time, but re-rendering with a different preset produces new output without altering source files.
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 →