← Back to team overview

kicad-developers team mailing list archive

Re: update on 3D refactor

 

On Thu, Oct 29, 2015 at 9:43 PM, Mário Luzeiro <mrluzeiro@xxxxx> wrote:

> Hi Cirilo,
>
> >>> - will it be possible to build the plugins without using kicad source
> code? Maybe for some type of plugins it will be easy to have an API, but
> for things related with kicad, it can be an huge library or dependencies.
> >> The plugins can be built without the kicad source; all you need are the
> correct headers to implement the API.
> > "Plugins only need to include the appropriate API header files; they
> will not need to link to KiCad or know the details of KiCad's internal
> data."
>
> The thing is, let say you want to make an export and you need the BOARD
> structure, then you expect that it exists some header files that define all
> items in the BOARD.
>

No. I never expect this of any software. What I expect is an API to pass
data and
manipulate data. As I wrote, plugins do not need to link to kicad or know
anything
about its internal data structures.


> As far as I understand, at the moment, kicad have this structure defined
> in the same place of the implementation and usage in kicad.
> So, there is a no clean library that can be extracted from kicad (a
> library with only its dependencies) and used both by kicad it self and by
> external plugins.
> As we have the things at the moment, you have to use the includes from
> kicad.. and checkout the whole kicad project.
>
>
I have no plans for kicad and plugins to share code. In some specific cases
it would be
convenient to have a shared library used by the two (wxWidgets is one such
external
library) and a few internal libraries may be created to support specific
in-tree plugins.
While it would be nice to have better decoupling of data structures within
kicad, that
is not in the scope of this work and it is not a necessary precursor to
creating a
working API.


> Ideally what I was thinking is that the headers that the plugins can use,
> can be extracted from kicad and an API will be created and kicad will use
> it as an API too.
> So some one that can develop a plugin, only need to checkout the APIs and
> not the full kicad project.
>
>
For me that's ridiculous and would be a very bad thing for kicad. If people
don't want
to pull in the source tree while working on plugins that's not my problem.
If they don't
maintain their out of tree plugins if/when the API changes, that's not my
problem. Why
would I waste time working on imaginary problems created by other people
who aren't
contributing code to the official tree?

- Cirilo


> Mario

Follow ups

References