aws-cqc / aws-cqc/DeviceLayout.jl

Scale arc tolerance for JoinTypeRound in Clipper offset

Open
#316 1 comment 0 reactions 0 assignees View on GitHub
bug
Dominant language
Julia
Stars
67
Forks
14
Avg merge
1d 16h
Merged PRs (30d)
21

Description

The Clipper default arc tolerance is 0.25 lattice units, which is `0.25 fm` for float inputs. This creates ~10^5 vertices for offsets with JoinTypeRound at micron scale. We should set `ArcTolerance`, either to scale with `SCALE`, our default `1 nm` tolerance, or the Clipper2 default ArcTolerance `offset_radius / 500`. This would be a bugfix.

Contributor guide

Open the contributing guide

Research direction

Start at the Clipper offset path for JoinTypeRound and trace how ArcTolerance, SCALE, and float inputs interact. Compare the proposed tolerance rules at micron scale, then verify that the chosen behavior avoids excessive vertices while preserving the intended round offset geometry.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
computer-graphics
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.