Refactor ShaderEditor