I added the ability to store settings to my debayer module. I think it should be a standard feature on all modules. You can save all manner of fonts and colors with almost absurd detail but you can't save preferences for most of your processes. Sure you can save processes as psm files but that's not the same.
What you call absurd detail is called nice customization capabilities by others.
We are talking of
interface preferences here, not about process preferences.
This is what you have implemented in your Debayer tool (edited; see next posts).
Most process interfaces need no preferences at all. In most cases, adding preferences to store the states of some interface elements can cause more problems than benefits. For example, the CurvesTransformation tool doesn't have preferences. I could save the current channel and curve interpolation selections and restore them when the CurvesTransformation tool is launched again in a different PI session. However, this would be a bad idea because the tool wouldn't be in a predictable state, which would lead to confusion.
An important property of all (standard) tools in PixInsight is that their states are always predictable and consistent when they are launched. This is a key design principle. For this reason a tool must
never save the state of its underlying instance to restore it when it is launched or reset. A tool doing this without a very good reason (Debayer and Annotation are two examples; see next posts), would not qualify as a standard PixInsight tool. Every tool must be launched with the set of
default parameters for its process. This is achieved by instantiating the process with its
default constructor. In the same way, when the user resets a tool it must load the parameters of a default instance, but never a particular set of parameters saved as a preference or any similar resource. This is another consequence of PixInsight's object-oriented design: processes and interfaces are encapsulated, self-sufficient objects. An interface governing the default state of a process would introduce a dependency that violates that principle.