Skip to content

feat(framing): add cross-dimension constraints to rail framing#891

Open
mairas wants to merge 1 commit intoyaqwsx:masterfrom
mairas:feat/rails-cross-dimension-constraints
Open

feat(framing): add cross-dimension constraints to rail framing#891
mairas wants to merge 1 commit intoyaqwsx:masterfrom
mairas:feat/rails-cross-dimension-constraints

Conversation

@mairas
Copy link
Copy Markdown
Contributor

@mairas mairas commented Mar 18, 2026

Introduction

See the panel below. The large connectors are HDMI connectors that clamp on the board edge, with SMT pads on both sides of the board. When panelized, top and bottom frames can't be used because that would interfere with connector insertion. To meet minimum panel dimensions for the fab house (70x70mm for JLCPCB, for example), the backbone would need to be very wide, and the HDMI connectors would hang outside of the panel area. By extending the rails instead, it is possible to create protective bumpers for the hanging connectors.

Screenshot 2026-03-18 at 15 06 21

Content created with Claude Code follows.

Summary

  • Add mintotalheight/maxtotalheight support to railslr and mintotalwidth/maxtotalwidth support to railstb, allowing rails to extend beyond the board area to meet manufacturer minimum panel size requirements (e.g., JLCPCB's 70mm minimum) without needing a full frame
  • Fix existing typos where "raillr" was used instead of "railslr" in the framing section schema validation, which meant mintotalwidth/maxtotalwidth were silently ignored for railslr

Motivation

When using railslr framing, there was no way to enforce a minimum panel height — mintotalheight was only available for frame, railstb, and tightframe. This forced users to either switch to a full frame (which may conflict with overhanging components) or artificially increase backbone width to reach the required panel dimensions. The symmetric gap existed for railstb missing mintotalwidth.

Add mintotalheight/maxtotalheight support to railslr and
mintotalwidth/maxtotalwidth support to railstb. This allows rails to
extend beyond the board area to meet manufacturer minimum panel size
requirements without needing a full frame.

Also fix existing typos where "raillr" was used instead of "railslr"
in the framing section schema validation.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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