TALA Is Open-Source

Sep 08, 2026 06:37 AM - 1 week ago 6

Following up connected the announcement here, TALA (Terrastruct's AutoLayout Algorithm) is now open-source nether the aforesaid licence arsenic D2 (MPL-2.0).

TALA is simply a caller autolayout algorithm designed pinch package architecture diagrams successful mind. This intends it's chiefly an orthogonal layout engine, which much intimately matches what you mightiness find connected whiteboards, alternatively than the DAG-based ones that turn successful 1 direction. It blends ideas from different graph-drawing investigation papers (cited successful root code) on pinch original techniques to execute artistic diagrams. It considers aggregate objectives of "aesthetic", including symmetry, median distance, flow, clustering of for illustration nodes, and overmuch more.

I'll support the matter short and lead pinch examples.

  • The first batch compares diagrams rendered pinch TALA pinch the different 2 layout algorithms D2 comes pinch -- Dagre and ELK. These are not hand-selected, I conscionable recovered nationalist d2 files from astir GitHub. So for some, you whitethorn very good for illustration the not-TALA layout.
  • The 2nd batch demonstrates a unsocial spot of TALA, which is that node positions and sizes tin beryllium customized, e.g. locking successful the coordinates. This lends itself particularly good to agentic usage cases, wherever models tin tie successful 2D abstraction well, but TALA still takes attraction of routing, which models still struggle with. I had AI make these.
  • The 3rd batch demonstrates TALA's capacity to support a hybrid of immoderate nodes specifying coordinates and immoderate near to the layout engine. You mightiness person a circumstantial style of a postulation of nodes successful mind, which you tin specify pinch coordinates, and TALA tin return attraction of the rest. Again, AI generated.

Please besides statement that TALA is not without tradeoffs.

  • It has randomness successful the algorithm. It finds the champion layout by utilizing a default of 3 seeds and choosing the 1 scored the best. Given the aforesaid seeds and aforesaid input, it'll nutrient the aforesaid diagram. But let's opportunity you conscionable adhd 1 much node. The sketch could look wholly different. In Dagre and ELK, it looks mostly the aforesaid arsenic prior, pinch the other node accommodated for. This is sometimes desirable.
  • It doesn't do DAGs arsenic well. I often find myself preferring Dagre aliases ELK erstwhile I want a agelong flowing graph.
  • It tin return longer to tally for larger diagrams -- scaling nonlinearly. For a benchmark of TALA's runtime capacity compared to others, spot https://github.com/d2lang/d2-benchmarks.

TALA comes bundled into D2 v0.9.0, truthful conscionable instal and specify pinch --layout=tala to effort it out! Or caput connected complete to https://play.d2lang.com, which runs 100% client-side. I particularly look guardant to the improvements that being open-source brings, and can't hold to spot what improvements and ideas are submitted by the community.

Special acknowledgment to Gavin Nishizawa for important wide contributions crossed TALA, and Júlio César Batista for his activity connected level algorithms and more. It was truthful nosy getting to activity connected specified absorbing worldly pinch you guys.

Batch 1: Comparisons​

Fulcro RAD architecture​

Select a sketch to enlarge it. Each layout is scaled to fresh its panel.

Mocha secure-enclave SoC​

Select a sketch to enlarge it. Each layout is scaled to fresh its panel.

Jupyter connected AWS EKS​

Select a sketch to enlarge it. Each layout is scaled to fresh its panel.

Lion Reader frontend information flow​

Select a sketch to enlarge it. Each layout is scaled to fresh its panel.

ROSS rotor-dynamics workflow​

Select a sketch to enlarge it. Each layout is scaled to fresh its panel.

Go Queue worker architecture​

Select a sketch to enlarge it. Each layout is scaled to fresh its panel.

Ouroboros Leios simulator​

Select a sketch to enlarge it. Each layout is scaled to fresh its panel.

Batch 2: Custom positioning​

Signal House​

Signal HouseView D2 source

Atlas / Data platform​

Atlas / Data platformView D2 source

Night displacement / Mission control​

Night displacement / Mission controlView D2 source

Friday deploy: the flight room​

 the flight roomView D2 source

The Internet is simply a jellyfish​

The Internet is simply a jellyfishView D2 source

Orbital java logistics​

Orbital java logisticsView D2 source

Cloud Conservatory​

Cloud ConservatoryView D2 source

Velvet Rope​

Velvet RopeView D2 source

Synthwave City​

Synthwave CityView D2 source

Batch 3: Partial positioning​

The Printing Room​

The Printing Room

Pinned: The 4 CMYK stations stock a fixed apical coordinate and arsenic spaced near coordinates truthful the people series retains its mechanical alignment.

Automatic: TALA positions the feeder, camera, registration controller, dryer, prepress and finishing steps; nary has apical aliases left.

See the positioning declarationsView D2 source

MULE / Utility Rover​

MULE / Utility Rover

Pinned: The 4 centrifugal assemblies are fixed astatine the beforehand and rear corners of the chassis rectangle.

Automatic: TALA places each controller, sensor, powerfulness and information node betwixt aliases astir those corners and arranges the unpositioned fleet container.

See the positioning declarationsView D2 source
Sources and rendering details

The 7 layout comparisons usage nationalist task diagrams from D2's real-world fixtures. Each comparison uses the aforesaid D2 root and the aforesaid compiler build, changing only the layout engine. Source styles, themes, and definitive grid constraints are preserved. Some fixture icons were already replaced pinch built-in shapes.

SVGs are scaled independently to fresh each panel. Use Open SVG to inspect labels and connections astatine a larger size.

Source provenance and licenses ·

Render settings and revisions

The eleven positioning examples are original, fictional compositions rendered with TALA utilizing the aforesaid nationalist D2 build. Icon downloads see the afloat root and local vector assets. The 2 partial-positioning examples use top/left only to their listed pinned nodes; each different nodes and each instrumentality are automatically placed.

Positioning render settings

.

More