implemented png export so that we get a overlay of the splitt lines and also directly export a node tree visualization of the node tree with graphviz.

This commit is contained in:
Doc
2025-09-28 12:50:16 +02:00
parent 72fa5e900c
commit c908193986
3 changed files with 203 additions and 3 deletions

20
main.go
View File

@@ -32,6 +32,8 @@ func main() {
cands := flag.Int("cands", 16, "Anzahl Kandidaten (Subsample)")
seed := flag.Int64("seed", 0, "RNG-Seed (0 = default)")
dotOut := flag.String("dot", "", "DOT-Export-Datei (optional)")
treePNG := flag.String("treepng", "", "Graphviz-Baum als PNG (optional, benötigt -dot)")
overlay := flag.String("overlay", "", "Map-Overlay als PNG (optional)")
flag.Parse()
@@ -197,8 +199,22 @@ func main() {
if err := viz.EmitDOT(root, *dotOut); err != nil {
log.Fatalf("write DOT: %v", err)
}
fmt.Printf("DOT export geschrieben: %s (mit 'dot -Tpng %s -o tree.png' rendern)\n",
*dotOut, *dotOut)
fmt.Printf("DOT export geschrieben: %s\n", *dotOut)
if *treePNG != "" {
if err := viz.RunGraphviz(*dotOut, *treePNG); err != nil {
log.Printf("Graphviz fehlgeschlagen: %v", err)
} else {
fmt.Printf("Graphviz PNG gebaut: %s\n", *treePNG)
}
}
}
if *overlay != "" {
if err := viz.RenderPNG(m, root, *overlay); err != nil {
log.Fatalf("write overlay PNG: %v", err)
}
fmt.Printf("Overlay PNG geschrieben: %s\n", *overlay)
}
return
}