Index: motivation.html
===================================================================
--- motivation.html (revision 10603)
+++ motivation.html (revision 10604)
@@ -23,6 +23,38 @@
pcb-rnd motivation
+
+ Phase 3: community requested features (from 2016 onward)
+Overlapping phase 2 there is an ongoing
+ feature poll . If there
+are enough active users/testers for a feature, it gets implemented in
+phase 3.
+
+There is a small, active, constructive community forming around pcb-rnd. Future
+directions will be mainly set by their need.
+
+
Phase 2: major cleanups (2015..2016)
+In the first phase I was mostly implementing a set of small features and fixes.
+As I got more familiar with the code base, I decided to bite the bullet and
+do some refactoring:
+
+ - replaced the footprint mapping/loading code; instead of a hardwired m4 dependency, parametric (generated-on-the-fly) footprints can be written in any language
+
- replaced the default footprint library shipped with the software; the new library ships a small, well organized collection of essentials, omitting special/rarely used footprints
+
- got the code much more modular - a lot of core code got converted into plugins
+
- threw out the resource parser and file format (manu.res and friends) in favor of lihata; this removed a lot of code duplication and a strangely designed resource tree data structure I really hated; as a side effect the gtk hid has multi-stroke hotkeys
+
- replaced glib with a set of mini libs in core and most of the plugins; at the end only the gtk hid should depend on glib; this made the code easier to maintain and debug; a lot of checks are now compile-time (through the C type system) instead of runtime (glib lists)
+
- replaced the settings/rc/preferences system with a central, lihata based configuration system - long term hid attributes will be converted too
+
+
+Plans for the future includes:
+
+ - turning most of the core code into a library for external tools to reuse
+
- extending the core to provide an infrastructure for composite objects handled by plugins
+
- support for saving and loading pcb and footprint files in the lihata format
+
- plans for a set of smallish features that can be implemented in a weekend or two each.
+
+
+
Phase 1: At the beginning... (2013..2014)
I use PCB a lot on various computers. I used to try to join the mainstream
development with small contribution (minor patches) and was active on
@@ -79,34 +111,5 @@
^1: this may have changed lately and pcb developers are more open to newcomers; there seems to be a shortage of developers tho, which still makes it slow to get bigger patches through
- Phase 2: major cleanups (2015..2016)
-In the first phase I was mostly implementing a set of small features and fixes.
-As I got more familiar with the code base, I decided to bite the bullet and
-do some refactoring:
-
- - replaced the footprint mapping/loading code; instead of a hardwired m4 dependency, parametric (generated-on-the-fly) footprints can be written in any language
-
- replaced the default footprint library shipped with the software; the new library ships a small, well organized collection of essentials, omitting special/rarely used footprints
-
- got the code much more modular - a lot of core code got converted into plugins
-
- threw out the resource parser and file format (manu.res and friends) in favor of lihata; this removed a lot of code duplication and a strangely designed resource tree data structure I really hated; as a side effect the gtk hid has multi-stroke hotkeys
-
- replaced glib with a set of mini libs in core and most of the plugins; at the end only the gtk hid should depend on glib; this made the code easier to maintain and debug; a lot of checks are now compile-time (through the C type system) instead of runtime (glib lists)
-
- replaced the settings/rc/preferences system with a central, lihata based configuration system - long term hid attributes will be converted too
-
-
-Plans for the future includes:
-
- - turning most of the core code into a library for external tools to reuse
-
- extending the core to provide an infrastructure for composite objects handled by plugins
-
- support for saving and loading pcb and footprint files in the lihata format
-
- plans for a set of smallish features that can be implemented in a weekend or two each.
-
-
- Phase 3: community requested features (from 2016 onward)
-Overlapping phase 2 there is an ongoing
- feature poll . If there
-are enough active users/testers for a feature, it gets implemented in
-phase 3.
-
-There is a small, active, constructive community forming around pcb-rnd. Future
-directions will be mainly set by their need.