Skip to content

graph: outputs of inline DAG calls have no dependency edges #2078

Description

@shunichironomura

Warning

This content was written by an AI agent and must be verified by a human developer. After human verification, this alert may be removed.

Found in the review of #2057, which adds the experimental view. #2059 fixed how the view handles inline dag declarations, but left this gap, which graphcal graph shares.

Problem

A node that reads an output of an inline DAG call has no dependency on it. The graph IR has no instances for DAG calls, so neither graphcal graph nor the view model can draw the edge.

dag checked {
    param v: Dimensionless;
    pub node out: Dimensionless = @v * 2.0;
}
node out: Dimensionless = @checked(v: 3.0)::out;
include checked(v: 4.0) as also_fine;
node z: Dimensionless = @out + @also_fine::out;
  • graphcal graph draws the include also_fine as a cluster with an edge into z, but the root out has no incoming edge.
  • In graphcal view, the root out's deps is empty.

Proposed fix

  • Represent each DAG call's instance in the graph IR, as includes are.
  • Show the outputs it reads as external nodes in the view model, and as edges in graphcal graph.

Activity

  1. added
    bugSomething isn't working
    webviewThe experimental view (web/view, graphcal view, graphcal/viewModel)
    on Oct 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingrustwebviewThe experimental view (web/view, graphcal view, graphcal/viewModel)

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions