From 3d639f6ec232ea9efb35d467ae0a360e4a7884f1 Mon Sep 17 00:00:00 2001 From: Ryan Malloy Date: Fri, 13 Feb 2026 03:52:30 -0700 Subject: [PATCH] Add configurable output DPI setting (port of upstream PR #379) Adds output_dpi field to Options (default 96.0) and passes it to the GraphViz graph attributes. Higher DPI produces sharper PNG/PDF renders, useful for print-quality harness documentation. --- src/wireviz/wv_dataclasses.py | 1 + src/wireviz/wv_graphviz.py | 1 + 2 files changed, 2 insertions(+) diff --git a/src/wireviz/wv_dataclasses.py b/src/wireviz/wv_dataclasses.py index 7566b82..49242cf 100644 --- a/src/wireviz/wv_dataclasses.py +++ b/src/wireviz/wv_dataclasses.py @@ -87,6 +87,7 @@ class Options: color_output_mode: ColorOutputMode = ColorOutputMode.EN_UPPER mini_bom_mode: bool = True template_separator: str = "." + output_dpi: Optional[float] = 96.0 _pad: int = 0 # TODO: resolve template and image paths during rendering, not during YAML parsing _template_paths: List = field(default_factory=list) diff --git a/src/wireviz/wv_graphviz.py b/src/wireviz/wv_graphviz.py index cea7829..365eb63 100644 --- a/src/wireviz/wv_graphviz.py +++ b/src/wireviz/wv_graphviz.py @@ -632,6 +632,7 @@ def set_dot_basics(dot, options): bgcolor=options.bgcolor.html, nodesep="0.33", fontname=options.fontname, + dpi=f"{options.output_dpi}", ) # TODO: Add graph attribute: charset="utf-8", dot.attr( "node",