terrastruct / TALA

A diagram layout engine designed specifically for software architecture diagrams
https://terrastruct.com/tala
Other
208 stars 4 forks source link

[TALA-only] the existence of a field or method to a UML class breaks its connection to another shape #90

Closed Melandel closed 1 week ago

Melandel commented 2 weeks ago

Hello,

Exclusively when using TALA, my connection between a uml class and another shape stops going the full distance from one to the other if the class has a field or method.

Example here

image

The connection is fine when using Dagre or ELK: image

Without the field or method, the connection is fine with TALA: image

Diagram description text:

vars: {
  ASSEMBLY_PREFIX: "X"
  USECASE_CONCEPT: "UseCase"
  USECASE_NAME: ${USECASE_CONCEPT}
  BUSINESS_OBJECT_NAME: "BusinessObject"
}
classes: {
  INVISIBLE: {style.opacity: 0}
  CORE_CONTAINER: {
    style: {
      font-color: darkgreen
      stroke: darkgreen
      double-border: false
    }
  }
  CORE_ASSEMBLY: {style.fill: lightgreen}
  INTERFACE: {style.fill: "#000068"; style.font-color: gold}
  IMPLEMENTS: {target-arrowhead.style.filled: false; style.stroke: brown}
}
core: "Business Value Generation" {
  class: CORE_CONTAINER
  grid-columns: 2
  app: "X.Application.dll" {
    class: CORE_ASSEMBLY
    grid-columns: 2
    grid-gap: 0
    api: "<Interface>\n\nUseCases API" {class: INTERFACE}
    __: "" {
      class: INVISIBLE
      grid-rows: 2
      grid-gap: 0
      usecase: "" {
        class: INVISIBLE
        object: "UseCase" {
          shape: class
          # 👇 this line creates a gap in the connection
          Process(UseCaseInput input): UseCaseOutput
        }
      }
      spi: "<Interfaces>\n\nService Providers Interfaces (SPI)" {class: INTERFACE}
      usecase.object -> spi
    }
    __.usecase.object -> api: {class: IMPLEMENTS}
  }
  domain: "X.Domain.dll" {
    class: CORE_ASSEMBLY
    entity: "BusinessObject" {shape: class}
  }
  app.__.spi -> domain.entity
  app.__.usecase.object -> domain.entity
}

Can you confirm this is an unintended behavior?

alixander commented 1 week ago

thank you for another 💯 report. it's been fixed and will be in the next release of TALA