Releases: terrastruct/TALA
Releases · terrastruct/TALA
v0.4.1
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
TALA 0.4.0 is a massive improvement in layout positions of a wide range of diagrams.
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
orheight
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
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
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
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
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
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
v0.3.8
Features 🚀
- Containers respect
width
andheight
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
ormultiple
- 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
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