A VisualShaderNode supports default values for input ports, and also editing those values by typing them, all very convenient. But:
Once you add the node to the shader you can edit the default value by typing them manually, but they return to their defaults after reloading the project. Data is lost. Very frustrating.
The only way to prevent this data loss is plugging another node into the input, defeating the purpose of having an editable value.
If you don't set a default port value you don't get an editable box, and must use an extra node to hold that value.
Is there a way to store numeric values in the node without them returning to the default?