shader_type canvas_item;

uniform vec4 flash_color : source_color = vec4(1.0, 0.0, 0.0, 1.0); 
uniform float intensity : hint_range(0.0, 1.0) = 0.0; 
uniform float edge_power : hint_range(0.1, 4.0) = 2.5; 
uniform float inner_ratio : hint_range(0.0, 1.0) = 0.75; 
uniform float feather : hint_range(0.01, 1.0) = 0.4; 

void fragment() { 
    vec2 uv = UV * 2.0 - 1.0; 
    float dist = length(uv); 
    float a = smoothstep(inner_ratio, inner_ratio + feather, dist); 
    a = pow(a, edge_power); 
    COLOR = vec4(flash_color.rgb, a * flash_color.a * intensity); 
}
