Skip to content

Auto-folded serpentine: return-row inter-section connector slopes instead of running level #1198

Description

@pinin4fjords

Summary

In an auto-folded serpentine (no grid/direction directives - auto-layout wraps the section chain into two rows via a vertical turn-around section), the inter-section connector between the two sections in the return row is not level: it runs on a slope instead of a horizontal axis-aligned segment.

This is a cosmetic defect on a render that succeeds (no abort) - the auto-fold is exactly the layout we want, it just needs the connector to be horizontal.

Repro

assets/metro_map.mmd from nf-core/rnadnavar#83 (commit 0b11241f):

nf-metro render assets/metro_map.mmd --theme nfcore --fold-threshold 15 -o map.svg

Auto-layout folds it: row 0 is Pre-processing → GATK → Variant Calling → Normalization & Annotation (the last is a vertical TB section on the right edge that turns the flow around), row 1 is Consensus & Filtering → Realignment → Reporting flowing right-to-left.

The connector ensemblvep -->|dna,rna| vcf2maf (section 4 Normalization & Annotation → section 5 Consensus & Filtering) leaves the bottom of section 4, but the horizontal run into vcf2maf is tilted: the bundle exits at one Y and vcf2maf's entry sits a few px lower, so the dna+rna bundle slopes down-left into the station rather than arriving level. The two lines are also slightly non-parallel approaching the station.

Expected

The return-row inter-section run should be horizontal (axis-aligned), the same as the top-row runs - the exit Y off section 4 should match the entry-station Y in section 5 (or the connector should add a short jog and then run level), not a continuous slope.

Notes

  • Pure auto-layout, default --fold-threshold 15, nf-metro 1.0.0. No directives steer this.
  • Sibling defect in the same render: the realignment/rna lines cross at the section-5 exit (filed separately).

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinglayoutLayout engine, phases, ordering (layout/)priority:mediumModerate leverage / visual defectroutingEdge routing (layout/routing/)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions