(
    schema_version: 2,
    label: "Standard Lit",
    kind: StandardLit,
    wgsl_path: None,
    schema: (
        groups: [
            (
                id: "surface_inputs",
                display_name: "Surface Inputs",
                order: 0,
                advanced: false,
            ),
            (
                id: "advanced_inputs",
                display_name: "Advanced Inputs",
                order: 100,
                advanced: true,
            ),
        ],
        inputs: [
            (
                name: "base_color",
                display_name: "Base Color",
                group: "surface_inputs",
                order: 0,
                property_type: Color,
                default_value: Some(Color((
                    r: 0.8,
                    g: 0.8,
                    b: 0.8,
                    a: 1.0,
                ))),
                texture: Some((
                    semantic: Color,
                    default_channel: Rgba,
                    allow_channel_override: false,
                )),
                tooltip: "Color multiplier applied to the base-color texture.",
                advanced: false,
            ),
            (
                name: "metallic",
                display_name: "Metallic",
                group: "surface_inputs",
                order: 10,
                property_type: Float(
                    min: Some(0.0),
                    max: Some(1.0),
                ),
                default_value: Some(Float(0.0)),
                texture: Some((
                    semantic: Scalar,
                    default_channel: B,
                    allow_channel_override: true,
                )),
                tooltip: "Scalar multiplier; ARM/ORM uses the blue channel.",
                advanced: false,
            ),
            (
                name: "roughness",
                display_name: "Roughness",
                group: "surface_inputs",
                order: 20,
                property_type: Float(
                    min: Some(0.0),
                    max: Some(1.0),
                ),
                default_value: Some(Float(0.65)),
                texture: Some((
                    semantic: Scalar,
                    default_channel: G,
                    allow_channel_override: true,
                )),
                tooltip: "Scalar multiplier; ARM/ORM uses the green channel.",
                advanced: false,
            ),
            (
                name: "occlusion",
                display_name: "Occlusion",
                group: "surface_inputs",
                order: 30,
                property_type: Float(
                    min: Some(0.0),
                    max: Some(1.0),
                ),
                default_value: Some(Float(1.0)),
                texture: Some((
                    semantic: Scalar,
                    default_channel: R,
                    allow_channel_override: true,
                )),
                tooltip: "Ambient-occlusion strength; ARM/ORM uses the red channel.",
                advanced: false,
            ),
            (
                name: "normal",
                display_name: "Normal Map",
                group: "surface_inputs",
                order: 40,
                property_type: Texture,
                default_value: None,
                texture: Some((
                    semantic: Normal,
                    default_channel: Rgb,
                    allow_channel_override: false,
                )),
                tooltip: "",
                advanced: false,
            ),
            (
                name: "emissive_color",
                display_name: "Emissive",
                group: "surface_inputs",
                order: 50,
                property_type: Color,
                default_value: Some(Color((
                    r: 1.0,
                    g: 1.0,
                    b: 1.0,
                    a: 1.0,
                ))),
                texture: Some((
                    semantic: Color,
                    default_channel: Rgb,
                    allow_channel_override: false,
                )),
                tooltip: "Emissive color multiplied by the texture and intensity.",
                advanced: false,
            ),
            (
                name: "emissive_intensity",
                display_name: "Emissive Intensity",
                group: "surface_inputs",
                order: 60,
                property_type: Float(
                    min: Some(0.0),
                    max: Some(50000.0),
                ),
                default_value: Some(Float(0.0)),
                texture: None,
                tooltip: "Emissive luminance multiplier in nits.",
                advanced: false,
            ),
        ],
    ),
)