[moved to geda-dev] > after the HID conversion, keepouts are high on my hit list. Reminds > me... I should check in my document I plan to work from.
One of the things I was thinking was adding a "layer flag" to each layer. I think I've mentioned this before, but the hid's set_layer() api makes it a lot easier to design. Each layer's flags have a bit for "component side", one for "solder side" (none or both mean "inner" or "all", like for keep-outs), and a bit for "copper" (non-copper top might be, for example, mask or silk). Most of the code would only need to test the "copper" bit, and ignore non-copper layers (atm everything is copper anyway, so this should be straight-forward). Then, we can have an enum field for special layer type (copper, anticopper, outline, keepout, silk, mask, antimask, etc) that corresponds to the set_layer enums.