pub(crate) fn split_param(decl: &str) -> Option<(&str, &str)>
Split a single HLSL parameter declaration into (type, name). The type may contain <...> (vec3<f32>); we split on the last whitespace at angle-depth 0.
(type, name)
<...>
vec3<f32>