Skip to content

Route asset-group lineage edges around group boundaries#34025

Draft
sergeishaikin wants to merge 16 commits into
dagster-io:masterfrom
sergeishaikin:feature/asset-group-lineage-edge-routing
Draft

Route asset-group lineage edges around group boundaries#34025
sergeishaikin wants to merge 16 commits into
dagster-io:masterfrom
sergeishaikin:feature/asset-group-lineage-edge-routing

Conversation

@sergeishaikin

@sergeishaikin sergeishaikin commented Jul 20, 2026

Copy link
Copy Markdown

Summary & Motivation

Asset lineage edges can cross unrelated or nested asset-group containers after Dagre layout, making complex asset graphs harder to read.

This change introduces a post-layout routing stage that:

  • builds an asset-group ancestry index;
  • derives minimal routing constraints;
  • handles nested ancestor and descendant relationships;
  • supports group-level pseudo-cycles while preserving the asset DAG;
  • routes lineage edges through group-boundary corridors;
  • preserves mixed routed and non-routed edge geometry;
  • retains existing edge-filtering behavior;
  • runs as part of the graph-layout worker.

This PR is intentionally independent of the separate
feature/asset-group-lineage-anchor branch.

Test Plan

Automated validation:

  • 44 focused tests pass.
  • Worker TypeScript validation passes.
  • Added coverage for:
    • nested asset groups;
    • ancestor and descendant relationships;
    • group-level pseudo-cycles;
    • left-to-right and top-to-bottom layouts;
    • unrelated group avoidance;
    • mixed routed and original edge geometry;
    • asset-edge filtering;
    • invalid inputs and fallback behavior;
    • deterministic routing.

Performance fixture:

  • 9,999 groups
  • 17,999 edges
  • nesting depth 300
  • 38.86 ms CPU
  • 7.52 MB retained heap

Visual UAT:

  • Verify normal cross-group routes.
  • Verify nested ancestor and descendant routes.
  • Verify pseudo-cycle layouts.
  • Verify unrelated groups are not crossed.
  • Verify filtering and rapid layout updates.
  • Verify both supported layout directions.

Changelog

Improved asset graph lineage rendering so edges route around nested asset-group boundaries.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant