Compare commits

...

10 commits

Author SHA1 Message Date
Alexander Wang
7472e4e1ac
Merge pull request #94 from terrastruct/v0.4.2
v0.4.2
2025-02-19 08:52:39 -08:00
Alexander Wang
ead8ac63e3
v0.4.2 2025-02-19 09:40:10 -07:00
Alexander Wang
c366e9326b
revert 2024-11-07 15:58:09 -07:00
Alexander Wang
35dd419e11
update manual 2024-11-07 15:23:20 -07:00
Alexander Wang
18dc93fdde
Merge pull request #82 from terrastruct/v0.4.0
v0.4.0
2024-07-08 14:54:15 -06:00
Alexander Wang
702dc6cd72
Update v0.4.0.md 2024-07-08 14:54:05 -06:00
Alexander Wang
e4c8cabed2
v0.4.0 2024-07-08 14:38:44 -06:00
Alexander Wang
a1f93a20ba
Merge pull request #76 from terrastruct/update
updates
2024-04-19 12:12:04 -07:00
Alexander Wang
220fab7105
update manual 2024-04-19 12:11:49 -07:00
Alexander Wang
044045b1a9
add note about license 2024-04-19 09:43:24 -07:00
4 changed files with 58 additions and 4 deletions

View file

@ -7,12 +7,16 @@
TALA is a diagram layout engine designed specifically for software architecture diagrams,
though it works well in other domains too. TALA is closed-source. This repository is
primarily for installation instructions. You can also use this repository to report
issues, ask questions, and request features.
though it works well in other domains too.
TALA is closed-source. This repository is primarily for installation instructions. You can
also use this repository to report issues, ask questions, and request features.
To learn more about TALA, please visit
[https://terrastruct.com/tala](https://terrastruct.com/tala).
[https://terrastruct.com/tala](https://terrastruct.com/tala). Note that this is a paid
layout engine, which requires a license for any commercial use. The license is purchasable
in that same link. TALA is free to evaluate, but without a license, will render with a
watermark.
To compare TALA with other layout engines, please visit
[https://text-to-diagram.com](https://text-to-diagram.com/?a=d2&layout_a=tala&b=d2&layout_b=dagre&example=chess).

Binary file not shown.

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

View file

@ -0,0 +1,19 @@
#### Features 🚀
- `tala-seeds` can be specified in the source code through `vars` (see manual for more)
#### Improvements 🧹
- Containers expand to fit large labels
- Edge labels are placed more intelligently to avoid overlaps
- Nodes with multiple edges to another node with long edge labels are positioned more intelligently
- Two nodes with > 2 edges with labels strongly prefer being in horizontal orientation to each other. This increases the chance of their multiple edge labels being readable.
- Hierarchies with multiple parents are more centered
- Up to 20% faster
#### Bugfixes ⛑️
- Fixed rare panic when hierarchies with containers were used
- Various edge cases that affect layout have been fixed
- Fixes rare panic with multiple edges with arrowhead labels on the same table column
- Fixes rare panic using step shapes connected to other shapes