Skip to content

Releases: terrastruct/TALA

v0.3.4

18 Mar 23:46
3b85f4d
Compare
Choose a tag to compare

This release brings massive improvements in performance. Screenshot from our internal benchmarks on a batch of tests, comparing this release vs the last:

Screen Shot 2023-03-18 at 4 03 09 PM

As a result of this, TALA by default now executes 3 runs in parallel with different seeds, and picking the best one for you. This should produce better results at a much higher rate!

This release requires D2 0.2.6

Features 🚀

  • You can now pass in multiple seeds, and TALA will race multiple layout runs with
    different seeds, choosing the best outcome. See the TALA Manual for more.

Improvements 🧹

  • Improves subgraph compaction giving space for better edges
  • Improved edge routing for clustered nodes
  • Significantly speeds up edge routing with many edges
  • Significant performance improvements
  • Uses up to 56% less memory for layouts with sql_tables

Bugfixes ⛑️

  • Fixes a rare condition that allowed nodes with self loops to escape their containers
  • Fixes edge from container going through descendants
  • Fixes a bug that could cause some asymmetrical edge routing
  • Fixes container shapes sometimes not having enough padding to fit icons
  • Fixes the alignment of nodes connected to sequence steps
  • Fixes the placement of clustered nodes connected to sequences

Breaking Changes

  • tala-seed changed to tala-seeds. You can still continue to pass in a single number,
    same as before. But the name change is reflective that it can now take in multiple
    seeds.

v0.3.3

07 Mar 04:30
52387af
Compare
Choose a tag to compare

Improvements 🧹

  • Clusters are sized such that labels always have enough room.
  • Improves shape-specific label position preferences (for example, parallelograms now prefer placing labels within the shape).

Bugfixes ⛑️

  • Nested node labels no longer overlap container boundaries occasionally

v0.3.2

04 Mar 19:20
bc7f092
Compare
Choose a tag to compare

Label positions improve significantly!

Before

Screen Shot 2023-03-04 at 11 05 20 AM

After

Screen Shot 2023-03-04 at 11 05 26 AM

Improvements 🧹

  • Improves edge label positioning
  • Improves node label positioning

Bugfixes ⛑️

  • Fixes a rare bug that could affect edge routes
  • Fixes a bug with top and left keywords in nested containers that could cause layout errors

v0.3.1

25 Feb 16:23
48d8aec
Compare
Choose a tag to compare
  • Hotfix to last release where the plugin would give an error saying container self-edges were not allowed when they are.

v0.3.0

25 Feb 02:51
d254e86
Compare
Choose a tag to compare

TALA 0.3.0 implements position-locking to give control over parts of the diagram where you need it. This is an advanced feature that opens up a world of possibilities to create small bubbles of customized layouts and combine it with autolayout. For example, here's a legend:

Legend: {
  top: 0
  left: 0
  blue: "" {
    width: 20
    height: 20
    left: 0
    top: 0
    style.stroke: black
  }
  blue-explanation: Actions {
    shape: text
    left: 50
    top: 0
  }

  green: "" {
    width: 20
    height: 20
    left: 0
    top: 50
    style.fill: honeydew
    style.stroke: black
  }
  green-explanation: Intermediate artifacts {
    shape: text
    left: 50
    top: 50
  }
}

We're excited to see all the creative diagrams this enables!

Features 🚀

  • top and left positions implemented.

Improvements 🧹

  • ~30% faster for large, connected diagrams
  • Much faster gap normalization for all diagrams
  • Bin-packing algorithm improved to reduce whitespace between non-connected subgraphs

Bugfixes ⛑️

  • Fixes label placements avoiding connections that weren't actually obstructing
  • Fixes a rare panic that could with cluster nodes
  • Edges could sometimes route through nodes that were not part of its subgraph
  • Edges between containers that were perfectly aligned was sometimes unable to find a route.

v0.2.15

14 Feb 00:41
68285e2
Compare
Choose a tag to compare

Improvements 🧹

  • Padding reduced on containers to align with more compact look and feel of D2 0.2.
  • sql_table routing switched from using hierarchical layout engine to orthogonal.
  • Diagrams with multiple subgraphs are more compact.
  • Much improved hierarchical alignments for diagrams where connections skip hierarchy levels (e.g. a node in the first row connected to another 2 rows down).

Bugfixes ⛑️

  • Fixes an issue with hierarchy leveling where connections between two nodes of the same level could occur.
  • sql_table connections where column is not specified no longer always points to first column.

v0.2.14

01 Feb 06:06
15f323a
Compare
Choose a tag to compare

Improvements 🧹

  • Improves cluster arrangements and edge routing
  • Positions shapes closer to neighbors outside its own container
  • Reduce edge routing runtime by ~10%
  • Improves hierarchy algorithm to place objects at different levels when appropriate

Bugfixes ⛑️

  • Fixes a rare panic while reducing gap between nodes
  • Fixes a rare panic with sequences (connected step shapes)
  • Fixes a rare panic with clusters
  • Fixes a rare panic when children of a container are connected to different childrens of different containers
  • Fixes an error where a connection route sometimes couldn't be found from a center step of a sequence

v0.2.13

10 Jan 23:28
0ae0b80
Compare
Choose a tag to compare

Bugfixes ⛑️

  • Fixes edge case where children of container could escape their containers.

v0.2.12

08 Jan 02:02
3bf4d68
Compare
Choose a tag to compare

Improvements 🧹

  • Up to 2x faster runtime

v0.2.11

31 Dec 06:09
f5022a9
Compare
Choose a tag to compare

Features 🚀

  • TALA's core algorithm seed can be specified.

Improvements 🧹

  • Reduces edge crossings such that no port swaps can result in less crossings.

Bugfixes ⛑️

  • Fixes an alignment issue with descendants. #15