Generate diagrams programmatically with D2