/

/

Dyad 3.2: More LLMs, Clearer Diagrams

Dyad 3.2: More LLMs, Clearer Diagrams

Dyad 3.2: More LLMs, Clearer Diagrams

Date Published

Contributors

Share

Date Published

Contributors

Share

Dyad 3.1 sharpened the agent. Dyad 3.2 broadens it. The agent now offers a larger choice of models, including OpenAI’s GPT-5 (5.4 and 5.5) alongside Claude. We’ve also opened the door for other model families in the future. In the graphical editor, analysis points and array connectors are now visualized, making larger models easier to build and read on the canvas. 

A Wider Choice of Models

GPT-5 is the first of those. GPT-5 (5.4 5.5) is now selectable in the model picker alongside Claude, with adjustable reasoning effort and a 1M-token context window, plus a 400K option for cost control. 

Model configuration is more predictable, too:

  • Per-model context-window defaults now come from a single source of truth, which fixes a stale context size when switching between models.

  • Model-picker labels are provider-neutral rather than tied to one model.

  • An oversized token request is capped to the model's limit with a warning, instead of failing the request outright.

A set of reliability fixes rounds this out. Switching models mid-conversation is now handled correctly, reasoning-only replies complete cleanly, and raw API errors are surfaced in an expandable panel for easier diagnosis.

A Clearer Diagram Editor

Analysis points now render on the diagram. Analysis points are annotations that analyses can reference. You can now add, rename, and delete them by right-clicking a connection in the editor, rather than only in code.


Array connectors fan out into indexed sub-connectors that can be wired individually.  Library authors are invited to use metadata to layout connectors, by defining a bounding box and how many connectors to automatically fan out (see metadata below).

Example: Mux component with fan out

component Demux
  y = [Dyad.RealOutput() for i in 1:n] {^y}
  u = MuxDemuxTests.RealInputArray(N = n) {^u}
  structural parameter n::Integer
relations
  y = u
metadata {
  "_links": {
    "y": {
      "Dyad": {
        "placement": {
          "diagram": {
            "show": 6,
            "iconName": "default",
            "x1": 1000,
            "y1": 460,
            "x2": 1080,
            "y2": 540,
            "rot": 0
          }
        },
        "tags": []
      }
    },
    "u": {
      "Dyad": {
        "placement": {
          "diagram": {"iconName": "default", "x1": -80, "y1": 100, "x2": 0, "y2": 900, "rot": 0}
        },
        "tags": []
      }
    }
  }
}
end
component Demux
  y = [Dyad.RealOutput() for i in 1:n] {^y}
  u = MuxDemuxTests.RealInputArray(N = n) {^u}
  structural parameter n::Integer
relations
  y = u
metadata {
  "_links": {
    "y": {
      "Dyad": {
        "placement": {
          "diagram": {
            "show": 6,
            "iconName": "default",
            "x1": 1000,
            "y1": 460,
            "x2": 1080,
            "y2": 540,
            "rot": 0
          }
        },
        "tags": []
      }
    },
    "u": {
      "Dyad": {
        "placement": {
          "diagram": {"iconName": "default", "x1": -80, "y1": 100, "x2": 0, "y2": 900, "rot": 0}
        },
        "tags": []
      }
    }
  }
}
end
component Demux
  y = [Dyad.RealOutput() for i in 1:n] {^y}
  u = MuxDemuxTests.RealInputArray(N = n) {^u}
  structural parameter n::Integer
relations
  y = u
metadata {
  "_links": {
    "y": {
      "Dyad": {
        "placement": {
          "diagram": {
            "show": 6,
            "iconName": "default",
            "x1": 1000,
            "y1": 460,
            "x2": 1080,
            "y2": 540,
            "rot": 0
          }
        },
        "tags": []
      }
    },
    "u": {
      "Dyad": {
        "placement": {
          "diagram": {"iconName": "default", "x1": -80, "y1": 100, "x2": 0, "y2": 900, "rot": 0}
        },
        "tags": []
      }
    }
  }
}
end

The parameter panel improvements: It now renders enum-valued parameters as dropdowns.

A few more editor fixes land here as well: entity toolbar buttons stay visible instead of disappearing, deprecation quick-fixes are offered reliably wherever a component usage is affected, and running an analysis whose solution produces no plot — an FMU solution, for example — no longer errors.

More Accurate Syntax Highlighting

Dyad syntax highlighting is now generated directly from the language parser. Because the grammar is derived from the parser rather than maintained separately, highlighting tracks the language more closely as it evolves.

before

after



Installing and Upgrading

Existing 3.1 projects opened in 3.2 are offered a one-click migration that pins the new library versions in your Project.toml.  No manual migration is required. New installs on Windows can use the dyad-3.2.0 installer.

Join the Dyad Community — connect with fellow engineers, ask questions, and share ideas.

For Youtube

Array connectors

- Title: Array Connectors in Dyad

- Description: Fan out an array connector into individual sub-connectors and wire them in the diagram editor.

Enum dropdown

- Title: Enum Parameters in Dyad

- Description: Set enum-valued parameters from a dropdown in the parameter panel.

Authors

Anshul Singhvi is a contributor to Julia's plotting (Makie.jl), geospatial (JuliaGeo) and documentation ecosystems, and a developer on the Dyad team.

Authors

Anshul Singhvi is a contributor to Julia's plotting (Makie.jl), geospatial (JuliaGeo) and documentation ecosystems, and a developer on the Dyad team.

Authors

Anshul Singhvi is a contributor to Julia's plotting (Makie.jl), geospatial (JuliaGeo) and documentation ecosystems, and a developer on the Dyad team.

Learn about Dyad

Get Dyad Studio – Download and install the IDE to start building hardware like software.

Read the Dyad Documentation – Dive into the language, tools, and workflow.

Join the Dyad Community – Connect with fellow engineers, ask questions, and share ideas.

Contact Us

Want to get enterprise support, schedule a demo, or learn about how we can help build a custom solution? We are here to help.