giseldo/neodataset huggingface dataset:
DRC ignores accidently deleted parts (lp:#1685516)

[Original report](https://bugs.launchpad.net/bugs/1685516) created by **Stephen (steejb)**
```
Most people run DRC prior to manufacture. I was alarmed to find a missing
footprint in the finished board.

I ran the DRC again - it passed...

I think I must have accidently deleted a footprint. Because upon re-
importing the netlist, the footprint appeared.

If the footprint exists in PcbNew, the DRC checks it against the netlist.
Thus, once I re-imported the netlist (no changes to the netlist since the
baord was manufactured, just a re-import), the offending footprint tripped
a DRC fail. This is correct.

However, if I (accidently) delete a footprint, the DRC passes.

So it seems the DRC corectly checks footprint pads for connectivity, but
ignores the total number of net nodes, and merrily passes a board which is
completely missing entire footprints - despite the netlist import.

Application: pcbnew
Version: 4.0.4-stable release build
wxWidgets: Version 3.0.2 (debug,wchar_t,compiler with C++ ABI 1009,GCC
5.2.0,wx containers,compatible with 2.8)
Platform: Windows 7 (build 7601, Service Pack 1), 32 bit, Little endian,
wxMSW
Boost version: 1.59.0
         USE_WX_GRAPHICS_CONTEXT=OFF
         USE_WX_OVERLAY=OFF
         KICAD_SCRIPTING=ON
         KICAD_SCRIPTING_MODULES=ON
         KICAD_SCRIPTING_WXPYTHON=ON
         USE_FP_LIB_TABLE=HARD_CODED_ON
         BUILD_GITHUB_PLUGIN=ON
```
Original tags: drc

Story points: 28.0
Hierarchical pins prone to shorting nets (lp:#1685508)

[Original report](https://bugs.launchpad.net/bugs/1685508) created by **David Pearce (halzia)**
```
Wishlist item probably. Because hierarchical sheet pins have zero length,
it is very easy to have a wire segment linkin two adjacent pins, but hard
to see superimposed on the sheet box outline.
I suggest that having a short external pin makes this much less likely as a
wire bridging the pins would be obvious.
See this forum thread https://forum.kicad.info/t/netlist-problem-not-a-
bug/6194/8

Applies to 4.0.6 on all OS
```

Story points: 24.0
Visibility control of 3D shapes in footprint (lp:#1685004)

[Original report](https://bugs.launchpad.net/bugs/1685004) created by **Art (diametrix)**
```
Footprint editor currently allows you select multiple 3D shapes for a
single footprint, which can be a very handy feature.  For example, it would
be convenient if I can have a single chip component footprint library for
capacitors, inductors and resistors and then add multiple 3D shapes for the
same footprint and then select for each component in PCBnew appropriate 3D
shape.  In the same manner if I have parts which differ in appearance but
share the same footprint you can add multiple shapes and then select
appropriate shape in PCBnew.  However, currently if you add multiple shapes
they all are showing simultaneously, which doesn't make sense.  Ether
selection needs to be restricted to a single shape per single footprint or
there needs to be a way to select between the shape for each component.
```
Original tags: 3d-viewer

Story points: 40.0
unconnected pads when routing trace through pad (lp:#1684006)

[Original report](https://bugs.launchpad.net/bugs/1684006) created by **TPepler (fujimuji)**
```
e.g. it is required to connect pad (3) to (2), and to (1). If the trace is
started on (3), routed through (2), and ends on (1) (by double clicking);
then rats nest still shows (3) and (2) are not connected (as well as
"Unconnected" list in DRC tool). However, if 2 separate routes from (3) to
(2) and then (2) to (1) are used, pads are shown as connected. I suppose
this could be considered a "feature", but it would be nice to have the
option to allow route-throughs.

Problem occurs in pcbnew.

KiCad version info:

Application: kicad
Version: 4.0.6 release build
wxWidgets: Version 3.0.2 (debug,wchar_t,compiler with C++ ABI 1010,GCC
6.3.0,wx containers,compatible with 2.8)
Platform: Windows 7 (build 7601, Service Pack 1), 64-bit edition, 64 bit,
Little endian, wxMSW
Boost version: 1.60.0
Curl version: libcurl/7.52.1 OpenSSL/1.0.2k zlib/1.2.11 libssh2/1.8.0
nghttp2/1.19.0 librtmp/2.3
         USE_WX_GRAPHICS_CONTEXT=OFF
         USE_WX_OVERLAY=OFF
         KICAD_SCRIPTING=ON
         KICAD_SCRIPTING_MODULES=ON
         KICAD_SCRIPTING_WXPYTHON=ON
         USE_FP_LIB_TABLE=HARD_CODED_ON
         BUILD_GITHUB_PLUGIN=ON
```

Story points: 10.0
Update PCB from schematics does not delete duplicated components (lp:#1682970)

[Original report](https://bugs.launchpad.net/bugs/1682970) created by **bkb (bkb-b)**
```
Update PCB from schematics does not delete duplicated components
This is the issue:
https://www.youtube.com/watch?v=HgF4lGlRaTI

it is daily build from http://ppa.launchpad.net/js-reynaud/ppa-kicad/ubuntu

Application: kicad
Version: no-vcs-found-b321eff~58~ubuntu16.04.1, release build
Libraries: wxWidgets 3.0.2
           libcurl/7.47.0 OpenSSL/1.0.2g zlib/1.2.8 libidn/1.32 librtmp/2.3
Platform: Linux 4.8.0-46-generic x86_64, 64 bit, Little endian, wxGTK
- Build Info -
wxWidgets: 3.0.2 (wchar_t,wx containers,compatible with 2.8)
Boost: 1.58.0
Curl: 7.47.0
KiCad - Compiler: GCC 5.4.0 with C++ ABI 1009
        Settings: USE_WX_GRAPHICS_CONTEXT=OFF
                  USE_WX_OVERLAY=OFF
                  KICAD_SCRIPTING=ON
                  KICAD_SCRIPTING_MODULES=ON
                  KICAD_SCRIPTING_WXPYTHON=ON
                  KICAD_SCRIPTING_ACTION_MENU=ON
                  BUILD_GITHUB_PLUGIN=ON
                  KICAD_USE_OCE=ON
```

Story points: 8.0
VRML export via pcbnew's python interface (lp:#1681786)

[Original report](https://bugs.launchpad.net/bugs/1681786) created by **l3iggs (l3iggs)**
```
I'd like to be able to export a .wrl model of the PC board I've designed in
pcbnew from a python script.

I've had a look at the swig file that defines the python API:
https://github.com/KiCad/kicad-source-
mirror/blob/master/pcbnew/swig/pcbnew.i

It looks like the EXCELLON exporter is there but not the VRML one.

I've tried just including exporters/export_vrml.cpp file in swig/pcbnew.i
but that was a fail :-/
```
Original tags: python

Story points: 8.0
Annotating Multi-Unit Components Shares Ref-Des When Common Pin is connected to multiple nodes (lp:#1680638)

[Original report](https://bugs.launchpad.net/bugs/1680638) created by **Martin Franke (martinfranke)**
```
Application: kicad
Version: 4.0.7 release build
wxWidgets: Version 3.0.3 (debug,wchar_t,compiler with C++ ABI 1011,GCC
7.1.0,wx containers,compatible with 2.8)
Platform: Windows 8 (build 9200), 64-bit edition, 64 bit, Little endian,
wxMSW
Boost version: 1.60.0
Curl version: libcurl/7.54.1 OpenSSL/1.0.2l zlib/1.2.11 libssh2/1.8.0
nghttp2/1.23.1 librtmp/2.3
         USE_WX_GRAPHICS_CONTEXT=OFF
         USE_WX_OVERLAY=OFF
         KICAD_SCRIPTING=ON
         KICAD_SCRIPTING_MODULES=ON
         KICAD_SCRIPTING_WXPYTHON=ON
         USE_FP_LIB_TABLE=HARD_CODED_ON
         BUILD_GITHUB_PLUGIN=ON


Placing two multi-unit components on the schematic that have one or more
common pins and then connecting those common pins to different nodes. Auto-
Annotate will create one single physical component when two should have
been created.

See attached project.

Reproduced on 4.0.7-stable release build.

Martin
```
Original tags: 4.0.7

Story points: 10.0
3D Viewer: Raytracing line artifact in the middle of the image (lp:#1680530)

[Original report](https://bugs.launchpad.net/bugs/1680530) created by **Andrey Kuznetsov (kandrey89)**
```
Here's the image raytracing creates:
http://i.imgur.com/k1LXlCD.png

Notice the artifact line halfway down the image, it goes all the way
across, it should not be there. All options for raytracing are enabled
EXCEPT procedural textures, but that doesn't seem to affect it, saw
with/without. All material properties are enabled.

From what I can tell, it shows up when you positioned the PCB perpendicular
to the PCB face, ie looking straight down onto the board. When I tilted the
PCB and rotated it, the line disappeared. The line appears in different
places on the PCB, so it seems like an angle of view positional rendering
issue.

Application: kicad
Version: (2017-04-05 revision bf21640ae)-makepkg, release build
Libraries: wxWidgets 3.0.2
           libcurl/7.52.1 OpenSSL/1.0.2k zlib/1.2.11 libssh2/1.8.0
nghttp2/1.19.0 librtmp/2.3
Platform: Windows 8 (build 9200), 64-bit edition, 64 bit, Little endian,
wxMSW
- Build Info -
wxWidgets: 3.0.2 (wchar_t,wx containers,compatible with 2.8)
Boost: 1.60.0
Curl: 7.52.1
KiCad - Compiler: GCC 6.3.0 with C++ ABI 1010
        Settings: USE_WX_GRAPHICS_CONTEXT=OFF
                  USE_WX_OVERLAY=OFF
                  KICAD_SCRIPTING=ON
                  KICAD_SCRIPTING_MODULES=ON
                  KICAD_SCRIPTING_WXPYTHON=ON
                  KICAD_SCRIPTING_ACTION_MENU=OFF
                  BUILD_GITHUB_PLUGIN=ON
                  KICAD_USE_OCE=ON
```
Original tags: 3d-viewer

Story points: 10.0
3D Viewer: Better raytracing textures for copper layers (lp:#1680527)

[Original report](https://bugs.launchpad.net/bugs/1680527) created by **Andrey Kuznetsov (kandrey89)**
```
http://i.imgur.com/jleDkjH.png

What does Raytracing procedural textures for exactly? If it's to simulate
the fiber board, it's done incorrectly:
1. the pattern is too coarse
2. the pattern is applied to copper, which should not happen if the pattern
is meant to enhance the texture of the PCB



Application: kicad
Version: (2017-04-05 revision bf21640ae)-makepkg, release build
Libraries: wxWidgets 3.0.2
           libcurl/7.52.1 OpenSSL/1.0.2k zlib/1.2.11 libssh2/1.8.0
nghttp2/1.19.0 librtmp/2.3
Platform: Windows 8 (build 9200), 64-bit edition, 64 bit, Little endian,
wxMSW
- Build Info -
wxWidgets: 3.0.2 (wchar_t,wx containers,compatible with 2.8)
Boost: 1.60.0
Curl: 7.52.1
KiCad - Compiler: GCC 6.3.0 with C++ ABI 1010
        Settings: USE_WX_GRAPHICS_CONTEXT=OFF
                  USE_WX_OVERLAY=OFF
                  KICAD_SCRIPTING=ON
                  KICAD_SCRIPTING_MODULES=ON
                  KICAD_SCRIPTING_WXPYTHON=ON
                  KICAD_SCRIPTING_ACTION_MENU=OFF
                  BUILD_GITHUB_PLUGIN=ON
                  KICAD_USE_OCE=ON
```
Original tags: 3d-viewer

Story points: 8.0
Mode to move *only* symbol or *only* netname etc (lp:#1680518)

[Original report](https://bugs.launchpad.net/bugs/1680518) created by **DiBosco (robert-wood)**
```
I should start by saying this is not a bug, but a feature request. I
believe this is the correct place to submit such things, so apologies if I
have misunderstood.

I should also say, that is is not something specific, to kicad, but
something that is lacking from all modern CAD systems.

I would like to see the ability to enter "modes" such as a move footprint
mode, delete net mode mode, mode reference designator mode, move by
reference designator mode etc etc.

It is, for example, incredible tiresome when shifting stuff on the screen
and you are constantly having to choose whether you want to delete, say, a
track, a component or a junction when they are all close together. It would
be much better to have the editor know that you want to delete tracks then
you could go round clicking knowing that you were only going to delete a
track and not worry about whether it was constantly asking you to clarify
whether you wanted to delete the junction or the symbol that was also in
the click vicinity.

So, in summary I am suggesting you have a menu and hotkey that would put
the editor into delete net mode and whenever you click on the screen, if
there is a net there it is immediately deleted. Importantly, do not exit
this mode once you have deleted a track until the escape key is pressed.

In the same way, you would have a mode where you selected move component
mode. Then, every time you clicked on the screen, it would just pick up
component under the the cursor, put it down when you next clicked and, very
importantly, still be in that same mode until you hit escape.

There are lots of other modes that would be equally as useful. For example
the mode you get when you hit T to move component. It should be the case
that once you place the component down, you should not have to press T
again to enter the next reference designator of the part or symbol you want
to move. It should just be there so you can immediately move the next part
by its ref des.

This kind of behaviour would *massively* cut down on keypresses and more
specifically mouse clicks. kicad and modern CAD systems in general are way
too clicky.
```

Story points: 6.0
3D plugin library link file installed in wrong path (lp:#1680229)

[Original report](https://bugs.launchpad.net/bugs/1680229) created by **Wayne Stambaugh (stambaughw)**
```
On windows builds with mingw, the 3D plugin library link file
libkicad_3dsg.dll.a gets installed in the ${CMAKE_INSTALL_PREFIX}/bin path
instead of ${CMAKE_INSTALL_PREFIX}/lib.  This is incorrect and will cause
link errors if someone should attempt to link against it.  The actual
library file libkicad_3dsg.dll is installed in the correct path
${CMAKE_INSTALL_PREFIX}}/bin.  This applies to both mingw32 and mingw64
builds.  I have not checked the install path for other platforms.

Application: kicad
Version: (2017-04-04 revision 36606ceeb)-master, debug build
Libraries: wxWidgets 3.0.2
           libcurl/7.53.1 OpenSSL/1.0.2k zlib/1.2.11 libssh2/1.8.0
nghttp2/1.19.0 librtmp/2.3
Platform: Windows 8 (build 9200), 64-bit edition, 64 bit, Little endian,
wxMSW
- Build Info -
wxWidgets: 3.0.2 (wchar_t,wx containers,compatible with 2.8)
Boost: 1.60.0
Curl: 7.53.1
KiCad - Compiler: GCC 6.3.0 with C++ ABI 1010
        Settings: USE_WX_GRAPHICS_CONTEXT=OFF
                  USE_WX_OVERLAY=OFF
                  KICAD_SCRIPTING=ON
                  KICAD_SCRIPTING_MODULES=ON
                  KICAD_SCRIPTING_WXPYTHON=ON
                  KICAD_SCRIPTING_ACTION_MENU=ON
                  BUILD_GITHUB_PLUGIN=ON
                  KICAD_USE_OCE=ON
```
Original tags: cmake packaging windows

Story points: 10.0
Footprint Position File output improvements needed (lp:#1679205)

[Original report](https://bugs.launchpad.net/bugs/1679205) created by **Art (diametrix)**
```
The x coordinates of the Position File need to be inverted for the bottom
layer.  Let's say that you picked the left corner for your position file as
the origin.  In PCB new the coordinates are of the same sign for the top
and the bottom layer because you are in the "see through" view.  However
when the board is flipped on the pick and place machine your top left
corner now became top right corner and all X coordinates now should be
negative.

And another suggestion.  For the ascii position file the separate fields
are delineated with spaces, so during file generation all the spaces in all
the fields used need to be replaced with underscore.  Not sure about other
fields, but I personally use spaces a lot in the value field (i.e.
designate voltage of a capacitor or precision, like 47uF 50V)  If those
spaces are not replaced the file will be corrupted when imported into a
pick and place machine.
```
Original tags: fabrication pcbnew

Story points: 10.0
PCB editor rotates footprint around random center (lp:#1679190)

[Original report](https://bugs.launchpad.net/bugs/1679190) created by **Art (diametrix)**
```
Well not entirely random but pretty close.  When you need to rotate a
footprint you would make your selection and then use keyboard shortcut or
context menu to rotate the whole selection.  However, it seems that the
center of the rotation is defined by your mouse coordinates.  Considering
lack of capability to snap mouse pointer to grid this makes this
functionality completely unusable.  The only option to rotate a footprint
is to switch back to the default mode and do it there.  In the default mode
you select a rectangular area and the rotate around the center of that
rectangle, which is not the best solution but at least it is usable.  You
can select large grid size and make your rectangular selection symmetrical
around the origin, thus making sure that your selection is turned around
the origin.

Ultimately there should be an easy way to rotate selection either around
the origin or around the center of a pad.  You can have some logic
implemented to see if the mouse pointer is near the origin then the origin
is used as the center or if it is on a pad, then the center of the pad is
used.

The situation with the mirror function is even more confusing.  Mouse
pointer position does affect the position of the final result but it is not
immediately apparent as to how.  The same logic of mirroring it around an
axis or a center of a pad would be preferable.

Application: kicad
Version: (2017-04-02 revision 2f9be81b1)-makepkg, release build
Libraries: wxWidgets 3.0.2
           libcurl/7.52.1 OpenSSL/1.0.2k zlib/1.2.11 libssh2/1.8.0
nghttp2/1.19.0 librtmp/2.3
Platform: Windows 8 (build 9200), 64-bit edition, 64 bit, Little endian,
wxMSW
- Build Info -
wxWidgets: 3.0.2 (wchar_t,wx containers,compatible with 2.8)
Boost: 1.60.0
Curl: 7.52.1
KiCad - Compiler: GCC 6.3.0 with C++ ABI 1010
        Settings: USE_WX_GRAPHICS_CONTEXT=OFF
                  USE_WX_OVERLAY=OFF
                  KICAD_SCRIPTING=ON
                  KICAD_SCRIPTING_MODULES=ON
                  KICAD_SCRIPTING_WXPYTHON=ON
                  KICAD_SCRIPTING_ACTION_MENU=OFF
                  BUILD_GITHUB_PLUGIN=ON
                  KICAD_USE_OCE=ON
```
Original tags: gal pcbnew

Story points: 6.0
eeschema: layout description file ignored starting in standalone mode (lp:#1678849)

[Original report](https://bugs.launchpad.net/bugs/1678849) created by **Sergey A. Borshch (sb-sf)**
```
Layout description file selection missed when eeschema started in
standalone mode. Default layout frame displayed and setting in "page
settings" dialog is empty. Starting from main kicad application shows
correct selected .kicad_wks file and correct setting in "page settings"
dialog. pcbnew works fine in both modes.


Application: eeschema
Version: (2017-04-03 revision 1f3fe6f)-master, release build
Libraries: wxWidgets 3.0.2
Platform: Linux 4.4.0-71-generic x86_64, 64 bit, Little endian, wxGTK
- Build Info -
wxWidgets: 3.0.2 (wchar_t,wx containers,compatible with 2.8)
Boost: 1.58.0
KiCad - Compiler: GCC 5.4.0 with C++ ABI 1009
        Settings: USE_WX_GRAPHICS_CONTEXT=OFF
                  USE_WX_OVERLAY=OFF
                  KICAD_SCRIPTING=OFF
                  KICAD_SCRIPTING_MODULES=OFF
                  KICAD_SCRIPTING_WXPYTHON=OFF
                  KICAD_SCRIPTING_ACTION_MENU=OFF
                  BUILD_GITHUB_PLUGIN=OFF
                  KICAD_USE_OCE=OFF
```
Original tags: eeschema layoutpage standalone

Story points: 14.0
Implement color themes (lp:#1678345)

[Original report](https://bugs.launchpad.net/bugs/1678345) created by **Jon Evans (craftyjon)**
```
Users should be able to switch between sets of color options (themes) in
all programs.  Ideally these themes should be stored as files that can be
shared / backed up / checked in to source control if desired.  Part of this
is a refactoring of the color settings code to be unified among all the
programs, and clean up some aspects of color handling when switching
between legacy and GAL canvases.  This will also enable a "reset to default
colors" option, in the form of a "KiCad Default" theme that cannot be
overwritten.
```

Story points: 70.0
Default KISYS3DMOD path broken after extras installation (lp:#1677545)

[Original report](https://bugs.launchpad.net/bugs/1677545) created by **Jörg Hermann (joerg.hermann)**
```
KiCad 4.0.6 release, applies to nightly as well
Mac OS 10.9.5

After fresh KiCad install path configuration KISYS3DMOD points to
/Library/Application Support/kicad/modules/packages3d

Directory /Library/Application Support/kicad contains various subdirs,
notabely modules and packages3d. modules contains a README and a symlink
for packages3d pointing one directory upwards to the physical location of
the 3d packages - everything fine, all works.

Now user installs KiCad extras, with a modules directory full of footprints
but WITHOUT a packages3d symlink. By shoving the modules directory from dmg
to Applications Support/kicad/modules, the original modules directory is
overwritten. Although a warning pops up, the user accepts it, because he
WANTS to overwrite modules.
Now KISYS3DMOD points to a non existing symlink.

A novice user will then wonder, why he can't generate 3D views.

Suggested Fix: Have KISYS3DMOD point to /Library/Application
Support/kicad/packages3d right from the start, drop symlink in modules and
all is fine.

I don't know how this is implemented in other OS, I imagine similar
problems there.
```
Original tags: osx

Story points: 8.0
multi grid on eeschema (lp:#1677273)

[Original report](https://bugs.launchpad.net/bugs/1677273) created by **muzaffer (muzaffernizam)**
```
I prefer to use 50 mils grid eeschema generally. So component's name and
designators have same grid. If component name and designator have will
different grid from general grid, it will be more usefull and tidy.

Thanks for interest.
```
Original tags: eeschema grid

Story points: 6.0
3d-viewer: behaviour of Bottom View  (lp:#1676940)

[Original report](https://bugs.launchpad.net/bugs/1676940) created by **Eldar Khayrullin (eldar)**
```
It will be good if select the Bottom View the rotating of board process
same as Pcbnew->View->Flip Board View (relative the Y axis)
```
Original tags: 3d-viewer

Story points: 12.0
Component chooser history items don't remember footprint (lp:#1676907)

[Original report](https://bugs.launchpad.net/bugs/1676907) created by **Chris Pavlina (pavlina-chris)**
```
Currently, the history items in the component chooser do not remember any
field modifications (footprint selections) assigned to them.

My plan is to create a new history item for every modification of a
component. One thing to discuss is how to actually display this. I'd like
to display the list entries as multiline items with the field modification
listed below the part name, possibly in grey to help visually separate
them. This would require setting wxDV_VARIABLE_LINE_HEIGHT on the list ctrl
- the documentation for this warns of low efficiency for a large number of
items, so I'll have to try and see if that applies even when most items are
inside collapsed parent nodes.


Application: kicad
Version: (2017-03-27 revision 731b2b8a6)-master, debug build
Libraries: wxWidgets 3.0.2
           libcurl/7.53.1 OpenSSL/1.0.2k zlib/1.2.11 libpsl/0.17.0
(+libicu/58.2) libssh2/1.8.0
Platform: Linux 4.10.5-1-ARCH x86_64, 64 bit, Little endian, wxGTK
- Build Info -
wxWidgets: 3.0.2 (wchar_t,wx containers,compatible with 2.8)
Boost: 1.63.0
Curl: 7.53.1
KiCad - Compiler: GCC 6.3.1 with C++ ABI 1010
        Settings: USE_WX_GRAPHICS_CONTEXT=OFF
                  USE_WX_OVERLAY=OFF
                  KICAD_SCRIPTING=ON
                  KICAD_SCRIPTING_MODULES=ON
                  KICAD_SCRIPTING_WXPYTHON=ON
                  KICAD_SCRIPTING_ACTION_MENU=OFF
                  BUILD_GITHUB_PLUGIN=ON
                  KICAD_USE_OCE=ON
```
Original tags: componentchooser eeschema

Story points: 6.0