Hi Dave-

Just some quick feedback.

1) The http/db lib already does this.  It is literally one of the features
that motivated the dblib development.
2) The term "variant" is already taken.

For the applications you list, variants already allow annotation
differences for the same part in schematic variants.  And symbol body
styles largely cover the use case where you want alternate geometry and pin
layouts for different circuit functions.

Unless I misunderstood your proposal, it sounds like all of your use cases
are already covered by existing KiCad functionality.  Could you review the
current KiCad v10 behavior and let us know if there are specific
functionality points that are lacking?

Seth



Seth Hillbrand
*Lead Developer*
+1-530-302-5483‬
Long Beach, CA
www.kipro-pcb.com    [email protected]


On Tue, Jul 14, 2026 at 2:14 PM Dave F <[email protected]> wrote:

> The library model provides a "derived symbol" that reuses a symbol from a
> reference library (like the kicad distributed libs) and allows the user to
> modify fields.  This works great for a hobbyist workflow where you lay out
> a circuit with placeholder symbols, then fill in the values.
>
> But many users will prefer to work from a curated library of orderable,
> BOM-able parts, often in a dblib or an http lib.  For these users, the
> curated fields are valuable and their immutability is a benefit.  But
> sometimes a symbols tweak, or even a new symbol, is needed for clean
> layout.  Kicad has no mechanism for preserving the values but changing out
> the symbols and pins.
>
> It is possible to copy and paste a curated library part and update the
> symbol locally, but then the derivative part is subject to rot, stagnating
> while the source part can be updated in the library to add new fields, such
> as lifecycle status, etc.
>
> I propose a "variant of" library feature, which is the inverse of "derived
> from".  It attaches the immutable fields from a library part to a user's
> symbol and pin design.
>
> This is useful in many applications such as:
>
>    - Arranging microcontroller, fpga, or buffer pins to match the
>    function of a circuit
>    - matching a part to the style of an existing design
>    - breaking a symbols into multiple units (This is often done for
>    simple analog and logic parts, like amplifiers, buffers, flip-flops, but
>    many complex chips may come as a lumped symbol
>    - Annotating different treatment of the same part in schematic
>    variants, for automatic inclusion of notes in the BOM
>
> I'm working on a patch to implement this.  The behavior is:
>
>    - The patch adds a 'variant of'  selector just below the 'derived
>    from' checkbox in the new part dialog.
>    - The new part can have any name
>    - The new part cannot mutate any of the source part's parameters, but
>    can add new parameters
>    - If the variant-of part adds a parameter that conflicts with a
>    parameter in the source part, the source part parameter wins.
>    - position of the field text does not count as mutation
>    - the variant part automatically inherits updates from the source on
>    loading (if the source is connected)
>    - A part place in the schematic is never updated automatically.  A
>    schematic part can be updated from the variant in the library just the same
>    any other part.
>    - The variant can have new fields as needed.  These are not affected
>    by update of the inherited fields
>
> The change does involve a file format change, not only for libraries, but
> for schematics, so it's not trivial.  But I believe it would be a valuable
> addition to version 11.
>
> I am planning to submit a patch, but would be grateful for feedback.
>
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "KiCad Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion visit
> https://groups.google.com/a/kicad.org/d/msgid/devlist/aa1e18bf-18cf-4542-9dbe-14234e3371cbn%40kicad.org
> <https://groups.google.com/a/kicad.org/d/msgid/devlist/aa1e18bf-18cf-4542-9dbe-14234e3371cbn%40kicad.org?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"KiCad Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/a/kicad.org/d/msgid/devlist/CAFdeG-pDPL%3DEZzK4mFTR%2BAxyGb41eS5TNCYaFCjJNYM_qpsAvQ%40mail.gmail.com.

Reply via email to