Skip to content

Emit bus constraints in Simple Route JSON#2883

Draft
seveibar wants to merge 2 commits into
mainfrom
feat/bus-routing-srj
Draft

Emit bus constraints in Simple Route JSON#2883
seveibar wants to merge 2 commits into
mainfrom
feat/bus-routing-srj

Conversation

@seveibar

Copy link
Copy Markdown
Contributor

Summary

  • add the <bus /> primitive to the core catalogue and intrinsic JSX types
  • resolve bus trace names or port selectors to routing-scope SRJ connection names
  • emit bus membership through SimpleRouteJson.buses
  • add a visual regression test for the authoring-to-SRJ conversion

Why

The autorouter boundary currently carries individual connections and differential-pair constraints, but it cannot preserve higher-level bus membership. Without that metadata, routers cannot intentionally order or attract related BGA breakout traces.

Bus membership is routing intent, so this keeps it in Simple Route JSON rather than adding a persistent Circuit JSON element.

Developer impact

Custom autorouters receive:

{
  buses: [
    {
      name: "DATA",
      connectionNames: ["source_trace_0", "source_trace_1"]
    }
  ]
}

Dependency

Validation

  • bunx tsc --noEmit
  • bun run build
  • bun test tests/components/primitive-components/bus/trace-name.test.tsx
  • git diff --check

@vercel

vercel Bot commented Jul 27, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
tscircuit-core-benchmarks Ready Ready Preview, Comment Jul 27, 2026 4:38am

Request Review

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