ID 605208 - Invalid characters are not removed from BlinkScript knob names when a Kernel is compiled

Follow

Problem summary:
Invalid characters are not removed from BlinkScript knob names when a Kernel is compiled
 
Customer reported version:
Nuke 16.0v1
 
Customer reported platform:
Windows 11
 
Steps to reproduce:
1) Launch Nuke and create a BlinkScript node in the Node Graph
2) In the BlinkScript's Properties, paste the following code into the Kernel Source:
kernel MyKernel : ImageComputationKernel<ePixelWise> {   Image<eWrite> dst;   param:     float test;   void define() {     defineParam(test, "Display Name", 1.0f);   }     void process() {     dst() = float4(test);   } }; 
3) Press the Recompile button
4) Switch to the Kernel Parameters tab and hover over the "Display Name" knob
5) Observe how the space between "Display" and "Name" has not been removed, despite spaces not being valid characters in knob names:
 
6) Optionally, attempt to expression link another knob to this MyKernel_Display Name knob, and note how the knob cannot be found:

 
Expected behavior:
Knob names generated by BlinkScript Kernels should have unsupported characters removed from them, as described in the documentation.
 
Actual behavior:
When a BlinkScript Kernel creates a knob, no validation occurs for unsupported characters, so invalid characters like spaces or ?^$%@; can be added to the knob name:
 
 
Workaround:
Besides manually removing any unsupported characters before compiling the Kernel, there are no known workarounds at this time.
 
Reproduced by Support in:
Nuke 16.0v4 - Windows 11, macOS 14 Sonoma
Nuke 15.0v1 - Windows 11
Nuke 14.0v1 - Windows 11
Nuke 13.0v1 - Windows 11
Nuke 12.0v1 - Windows 11
 
Earliest version tested:
Nuke 12.0v1 - This issue appears to be in all tested versions of the product

    We're sorry to hear that

    Please tell us why