///|
/// Typed access to a three.js uniforms dictionary. Setters preserve existing
/// uniform objects so live shader bindings see value updates.
pub extern "js" fn Uniforms::Uniforms() -> Uniforms =
#| () => Object.create(null)
///|
#module("@mizchi/three-mbt/constructors")
pub extern "js" fn ShaderMaterial::ShaderMaterial(
vertex_shader : String,
fragment_shader : String,
uniforms : Uniforms,
) -> ShaderMaterial = "shaderMaterial"