Add rotation to texts - #228
Merged
Merged
Conversation
Text gains an optional `rotation` - degrees counter-clockwise about the anchor point in graphics (y-up) space, so `rotation: 90` reads bottom-to-top. Applied in all three renderers (SVG, canvas, PNG), each negating into its clockwise screen space; SVG bounds account for the rotated corners so rotated text is never clipped. Motivation: the schematic-trace-solver's inline net labels run parallel to the trace they name, and a vertical trace's label was being drawn horizontally across the wire. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
seveibar
added a commit
to tscircuit/schematic-trace-solver
that referenced
this pull request
Aug 8, 2026
A vertical trace's inline label was drawn horizontally across the wire in visualize() output. graphics-debug texts now support rotation, so pass 90 (counter-clockwise, bottom-to-top) for y-axis labels. Needs graphics-debug with Text.rotation (tscircuit/graphics-debug#228); the devDependency bump lands here once that releases. Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
|
Thank you for your contribution! 🎉 PR Rating: ⭐⭐ Track your contributions and see the leaderboard at: tscircuit Contribution Tracker |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Textgains an optionalrotation: degrees counter-clockwise about the anchor point in graphics (y-up) space, sorotation: 90reads bottom-to-top. Unset text renders exactly as before.Why
The schematic-trace-solver's new inline net labels (schematic-trace-solver#792) run parallel to the trace they name. On a vertical trace the debug visualization currently draws the name horizontally across the wire:
With this PR the solver can pass
rotation: 90and the text runs along the wire.Implementation
getSvgFromGraphicsObject(SVGtransform=rotate(…)),drawGraphicsToCanvas(ctx translate/rotate), andgetPngBufferFromGraphicsObject(viastrokeAlphabetText's existingrotationRadians). Each negates the angle into its clockwise screen space.bun test: 68 pass / 0 fail (one new snapshot).bunx tsc --noEmitclean.Once released, I'll follow up in schematic-trace-solver to pass
rotationfromInlineNetLabelSolver.visualize().🤖 Generated with Claude Code