Greetings,
This file <http://f1.grp.yahoofs.com/v1/YMnHShqPpLZM3kQK6MlL1Ncf5dJNj-1YDqgmtNCy6O_yjLOiFWo6hTyIRVod28xjeRI3pfblmwQoCecW9u2PQTVqMr_wKSU8XYRtF90/KiCAD%20Rev%201984%20-%20IsLayerVisible%20etc.zip> contains the patch.
I did many tests and found no obvoius bugs, but it makes deep changes, I would expected something broken.
The work is not totally completed because some incongruencies remained. I would like to discuss with the group before I take further steps or discard it all.
After some reflection I think that the new visibilty flags and methods should be moved from class EDA_BoardDesignSettings to the class DISPLAY_OPTIONS.
It would be better if we create proxy methods in class BOARD which call the appropriate methods in EDA_BoardDesignSettings or DISPLAY_OPTIONS. Then all other classes would use them from class BOARD, instad of from global objects. In my opinion it would be semantically more correct.
Best regards,
Isaac