Skip to content

Apply crystal trace limits through routing DRC#2781

Merged
seveibar merged 6 commits into
mainfrom
agent/warn-long-crystal-net-traces
Jul 24, 2026
Merged

Apply crystal trace limits through routing DRC#2781
seveibar merged 6 commits into
mainfrom
agent/warn-long-crystal-net-traces

Conversation

@seveibar

@seveibar seveibar commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Summary

  • make Crystal own its default/configured maximum trace-length behavior
  • apply the limit in Crystal.doInitialSourceDesignRuleChecks(), immediately after connectivity-map keys are generated
  • constrain direct crystal traces plus MCU and load-capacitor branches on the same nets
  • preserve stricter per-trace constraints, such as capacitor decoupling limits
  • remove crystal-specific propagation from Group and generic Trace utilities
  • remove the bespoke insertPcbTraceTooLongWarnings mutation path

Architecture

Core tees up Circuit JSON from the owning component: each crystal writes the effective constraint to matching source_trace.max_length records during the source DRC phase. The normal board runDrcChecksrunAllRoutingChecks pipeline then emits pcb_trace_too_long_warning elements through the generic check released from tscircuit/checks#174.

This PR now depends on the published @tscircuit/checks@0.0.146 release containing that generic check.

Validation

  • focused crystal propagation and warning integration tests pass against published @tscircuit/checks@0.0.146
  • configured crystal limits preserve stricter capacitor limits
  • bunx tsc --noEmit
  • GitHub Actions: all four Bun test shards, type-check, smoke-test, dependency check, and Vercel pass

@vercel

vercel Bot commented Jul 23, 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 24, 2026 7:07pm

Request Review

@seveibar seveibar changed the title Propagate crystal trace length constraints across nets [Superseded] Propagate crystal trace length constraints across nets Jul 23, 2026
@seveibar seveibar closed this Jul 23, 2026
@seveibar seveibar changed the title [Superseded] Propagate crystal trace length constraints across nets Propagate crystal trace length constraints across nets Jul 23, 2026
@seveibar seveibar reopened this Jul 23, 2026
@seveibar seveibar changed the title Propagate crystal trace length constraints across nets Propagate crystal trace limits through routing DRC Jul 24, 2026
@seveibar seveibar changed the title Propagate crystal trace limits through routing DRC Apply crystal trace limits through routing DRC Jul 24, 2026
@seveibar
seveibar marked this pull request as ready for review July 24, 2026 19:18
@seveibar
seveibar merged commit edbc7ce into main Jul 24, 2026
11 checks passed
@seveibar
seveibar deleted the agent/warn-long-crystal-net-traces branch July 24, 2026 19:18
@tscircuitbot

Copy link
Copy Markdown
Contributor

Thank you for your contribution! 🎉

PR Rating: ⭐⭐⭐
Impact: Major

Track your contributions and see the leaderboard at: tscircuit Contribution Tracker


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.

2 participants