Sorry, I guess I missed it.
Simple example:
If the part number and manufacturer fields are filled you could:
- Right-click on a component and trigger a web search of the manufacturer’s website
- You have to go to the manufacturer website for:
- Simulation models
- 3D models
- Application notes
- Samples
- Technical drawings (example: a connector has a mechanical drawing and a datasheet and more)
- Development boards
- Equivalent components/substitution
- Support
- In the case of MCU’s, FPGA’s etc. development tools and support
- Etc.
- Right click on a component and perform a pricing search
- You could have this be configurable in settings or through a JSON file
- You could have it search your favorite vendor or something like Octopart
- You could also have it launch an external script to do interesting things
- For example, price the part at Mouser and Digikey and pull in the 1000 piece price into a custom field
- Right click on the component and trigger an external script that looks it up in your database
Just three quick thoughts. One could do a lot more. However, these fields need to be semantically integrated into KiCad so that, if you use them --remember, I am saying they are blank by default-- the software and the user (through external applications) can make intelligent use of them.
At the most basic level the fields can be completely ignored and nothing whatsoever would change for any KiCad user today. No difference. Just two fields you never use. I seriously doubt most people will ignore them, BTW.
Next level is, you use them to store the most important information you need in order to actually build a board. And, as a side effect, you get to use a few new features that are enabled when the fields are populated.
The third level is a connection to external scripts that you either register to show-up on right click or can reach into the design via an API.
I am pretty sure all of this requires work at the core level, rather than writing a bunch of external Python code. I have not done enough work writing Python for KiCad to know this conclusively. I suspect I am right on a good portion of that assumption. In fact, I am about to launch into a more serious effort with Python/KiCad and need to post for help setting-up a solid development environment under Windows with Pycharm or VSCode (subject for a different discussion).
EDIT:
I’ll add one more to the list. If you have these two fields and they are accessible via the Python API, you could easily integrate these into a database driven process after populating the part number with your internal part number (or just use manufacturer and their part number) to pull in relevant data, instantly create and populate new fields in the schematic and do just about whatever the API allows in both schematic and PCB.
The key is to have these two fields as standard and fully-integrated fields. They can be blank and completely ignored by most. And yet, if sensibly integrated, they functionality they would enable and the experience they would provide would be a vast improvement over the current state of affairs.
Instant databased-driven functionality. Just two fields.