Skip to content

Releases: terrastruct/TALA

v0.4.1

07 Nov 21:20
cfa22c9
Compare
Choose a tag to compare

Improvements 🧹

  • ~15% speedup on most large diagrams
  • Less crossings between edges connecting table columns
  • Edges route to diamond shape corners more strictly
  • For manual positions that completely block all paths (e.g. two shapes manually positioned on top of each other), TALA will route edges with a straight line rather than giving up on the layout
  • Slightly decrease distance between hierarchy nodes
  • Bin packing algorithm improved to fit subgraphs better
  • Circle containers fit much better (centered and padding reduced)
  • Reduced padding for containers with icon/label mix

Bugfixes ⛑️

  • Fixes edge case where a vertical/horizontal edge route completely overlapped another
  • A common case of cross-container hierarchies appropriately use hierarchy layout
  • Fixes edge case where nodes could be placed in between an edge of another subgraph
  • Fixes edge case where edge could become disconnected from endpoints when many subgraphs
  • Fixes edge case where edges between grids become disconnected

v0.4.0

08 Jul 20:45
e4c8cab
Compare
Choose a tag to compare

TALA 0.4.0 is a massive improvement in layout positions of a wide range of diagrams.

Screenshot 2024-07-08 at 2 44 49 PM

Improvements 🧹

  • Unconnected nodes and subgraphs are packed more tightly together
  • Containers of similar sizes with indirect connections are aligned better
  • Some diagrams escape local minimas better
  • Nodes connected on both sides are more equidistant to both
  • Cluster edge labels prioritize not intersecting with other cluster edges
  • Node labels reposition to avoid overlapping with icons
  • Node icons reposition to avoid overlapping with fixed labels
  • Multiple edges between nodes are now ordered (left-right and top-down) by the order they were declared
  • Edge routes between grid cells avoid node labels
  • Edge routes consider paths that go through "invisible" nodes and edges (e.g. zero opacity)
  • When only one of width or height is specified for a container, nodes will full up better to reduce unused space
  • Tree structures are built more symmetrically
  • Containers with edges going into its children are pulled closer together to the other edge endpoint
  • Clusters of nodes are oriented more reasonably to facilitate better routes
  • Clusters routes more often converge on a single point in the middle to form the "fork" aesthetic
  • Node labels are positioned in areas of more space
  • Edge labels avoid fixed node icon positions

Bugfixes ⛑️

  • Fixes extra warnings that appeared with an invalid token
  • Fixes panic when edges were defined between actors in different sequence diagrams
  • Fixes custom label positions and icon positions not working for nodes in tree structures
  • Disallow edges with different styles (e.g. stroke colors) from sharing routes
  • Some direct straight routes weren't being considered between two non-diagonal nodes

v0.3.14

18 Apr 17:34
6a64f7d
Compare
Choose a tag to compare

This version replaces 0.3.13 as it had broken compatibility with D2. Requires D2 0.6.5.

Improvements 🧹

  • Cluster edge labels prioritize not intersecting with other cluster edges.

Bugfixes ⛑️

  • Fixes plugin compatibility
  • Fixes extra warnings that appeared with an invalid token

v0.3.13

11 Apr 03:57
0b57054
Compare
Choose a tag to compare

Improvements 🧹

  • Containers expand to fit long child labels
  • Edge labels on cluster edges are placed along the edges more symmetrically
  • More symmetrical placements are found for shapes connected to multiple other shapes
  • More aligned layouts in graphs where multiple shapes in a container are connected to a shape at the parent level
  • Connections between two shapes of different container levels take the direction of the least nested shape
  • Connections made across grid diagrams and sequence diagrams are now routed with TALA's edge routing
  • Improves edge routing to allow more bidirectional edges to overlap when they share a node and have matching arrowheads
  • Less memory used when many subgraphs

Bugfixes ⛑️

  • Fixes overlapping routes for certain trees with mixed arrow directions
  • Label for the first step of multiple connected steps with "multiple" set is centered
  • Connections to concave shapes like "step" are more precisely connected when multiple or 3d set (previously they jutted into the shape a little)
  • Prevents edge case where a connection with a long connection label could overlap shapes
  • Fixes an edge case where two connected nodes in different containers were suboptimally aligned

v0.3.12

10 Nov 22:32
8c15627
Compare
Choose a tag to compare

Improvements 🧹

  • Connections can now route through shapes at a fixed position that block access to another shape
  • Layout is up to 74% faster on very large diagrams

Bugfixes ⛑️

  • Fixes a rare scenario where containers could end up overlapping
  • Fixes a bug where shapes are grown to fit connections despite having width or height set

v0.3.11

26 Sep 19:05
5b31eb5
Compare
Choose a tag to compare

Improvements 🧹

  • Connections from a sql_table column and a non-column will now route to the specific column
  • Reduce scenarios where nodes could end up far from a connected node with a fixed position
  • Reduce rare scenarios where a subgraph within a container could end up far from other subgraphs connected to shapes outside the container

Bugfixes ⛑️

  • Fixes a rare bug resulting in non-deterministic layouts
  • Fixes scenarios where trees could become very wide with excessive spacing between subtrees

v0.3.10

31 Jul 05:55
b946be4
Compare
Choose a tag to compare

Features 🚀

  • Configure timeout value with D2_TIMEOUT env var. (requires D2 0.6.0)

Improvements 🧹

Bugfixes ⛑️

  • Fixes grid label font size
  • Prevents scenarios where bidirectional edges with different arrowheads could overlap each other
  • Fixes a rare bug where shapes in a tree layout could sometimes be misplaced

v0.3.9

09 Jun 20:35
b840fe7
Compare
Choose a tag to compare

Improvements 🧹

  • Layout is up to 3x faster and uses as little as 1/3 the memory after many optimizations

Bugfixes ⛑️

  • Compatability with D2 0.5

v0.3.8

03 Jun 03:22
8c3329b
Compare
Choose a tag to compare

Features 🚀

  • Containers respect width and height settings, though they will expand to fit content if needed

Improvements 🧹

  • Node placement is up to 2x faster
  • Avoids overlapping edges when they have different arrowheads
  • direction keyword now affects bidirectional edges
  • Spacing between nodes ensures that labels will fit
  • Edges stick to outer bounds of shapes with 3d or multiple
  • Improves layouts for clusters with both icons and labels
  • Improves edge balancing to look more symmetrical

Bugfixes ⛑️

  • Fixes shape and connection labels potentially overlapping arrowhead labels
  • Fixes a bug with arrowhead labels on the - end of a connection
  • Fixes container shapes sometimes swapping positions with another shape errantly

v0.3.7

30 Apr 16:47
0cc2d5d
Compare
Choose a tag to compare

Features 🚀

  • Nodes are expanded to aesthetically fit all connections if not enough room with default dimensions
  • Arrowhead labels are considered in autolayout and avoid overlaps as much as possible

Improvements 🧹

  • Pairs of nodes prefer horizontal arrangements given multiple connections with labels

Bugfixes ⛑️

  • Fixes a rare bug using near to a node in a tree structure
  • Fixes a rare bug positioning nested node clusters
  • Fixes a rare panic involving edge labels