fix: bind converted KiCad reference text to the instance name - #4710
Open
billythompsons wants to merge 3 commits into
Open
fix: bind converted KiCad reference text to the instance name#4710billythompsons wants to merge 3 commits into
billythompsons wants to merge 3 commits into
Conversation
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.
Fixes #4708.
Problem
tsci convertcopies the KiCadfp_text referenceplaceholder into a literaltext="REF**", so every placed instance of the converted footprint prints "REF**" instead of its reference designator.Fix
After
convertCircuitJsonToTscircuitruns, the KiCad reference placeholder (text="REF**"on asilkscreentext) is rebound to the component instance:text={props.name ?? "REF**"}. Ordinary user text stays literal, and the rewrite only applies when the generated component haspropsin scope.Kept this in the CLI's convert path since the placeholder is a KiCad artifact known at conversion time; happy to move it into
circuit-json-to-tscircuitif you'd rather handle it there.Tests
convert-kicad-mod-reference-text.test.ts: converts the issue's two-pad.kicad_modplus anfp_text usercontrol - asserts the reference placeholder is rebound and user text stays literal.convert-kicad-mod-reference-e2e.test.ts: builds a board with two instances (U1, U2) and asserts the emittedpcb_silkscreen_textvalues are exactly["U1", "U2"](the issue's failing scenario).Full
tests/cli/convertsuite passes.