Merge pull request #82 from terrastruct/v0.4.0

v0.4.0
This commit is contained in:
Alexander Wang 2024-07-08 14:54:15 -06:00 committed by GitHub
commit 18dc93fdde
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -0,0 +1,31 @@
TALA 0.4.0 is a massive improvement in layout positions of a wide range of diagrams.
<img width="814" alt="Screenshot 2024-07-08 at 2 44 49PM" src="https://github.com/terrastruct/TALA/assets/3120367/a4d3ca21-a0bc-4771-9c82-ab2fc736a439" />
#### 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