← Back to team overview

kicad-developers team mailing list archive

Re: Kicad Tool Framework


On Sun, Aug 11, 2013 at 11:52:48AM -0500, Dick Hollenbeck wrote:
> I think it is positive for the project that you and I agree with Tom on this design
> concept.  We are approaching a unified vision for the project moving forward.  This
> architecture also allows folks to contribute new tools and do so in a less disruptive and
> modular fashion.

It's not extremely different than the one discussed for better
scriptability. Essentially a controller/model split, as we said. Also
IIRC the current tool code is not *too* intermingled with model code, so
it should be too traumatic:D

> But I think Tom sees it as an opportunity to transport code into the new architecture.
> The act of transporting code is a healthy endeavour because it lets you scrutinize and
> revitalize and quality enhance.  It is like pouring a dirty liquid through a filter into a
> new container.

Usually when I refactor, I revise. So, yes, that would be the idea. But,
for example, I wouldn't throw away all the code for deciding what are
the things under the cursor (that would be foolish and a can of bugs...)

> With a #ifdef we can keep the new code out of the stock build binaries for awhile.
> Co-mingling the source is possible, some minor drawbacks no doubt, but how bad are they?

I fear a huge transitional mess.

Depending on the timeline for the GAL code, maybe is not convenient to
port the current pcbnew to the new tool and then merge in the GAL. I.e.
if GAL is near to the 'stable' point, maybe it would be a good idea to
freeze the tools in the current version and write them directly in the
GAL branch.

Otherwise could be useful to implement the tool infrastructure in the
current pcbnew and then merge in the GAL when is more mature (this only
if the new tools don't depend on GAL features...)

I have no idea on what would be the best way to proceed... like you in
this period I need to make more boards than developing kicad. However
I think that a feature freeze for pcbnew at the moment would be doable
(or is someone making huge new stuff for it?)

Lorenzo Marcantonio
Logos Srl