@@ -69,12 +69,6 @@ fn vs_main(@builtin(vertex_index) idx: u32) -> VertexOutput {
6969 return out ;
7070}
7171
72- fn squircle_norm (p : vec2 <f32 >, power : f32 ) -> f32 {
73- let x = pow (abs (p . x ), power );
74- let y = pow (abs (p . y ), power );
75- return pow (x + y , 1 .0 / power );
76- }
77-
7872@fragment
7973fn fs_main (in : VertexOutput ) -> @location (0 ) vec4 <f32 > {
8074 // Calculate the effective rendering dimensions (accounting for toolbar)
@@ -133,13 +127,13 @@ fn fs_main(in: VertexOutput) -> @location(0) vec4<f32> {
133127 let corner_radius = select (0 .1 , 0 .12 , size == 1 .0 );
134128 let abs_uv = abs (center_uv );
135129 let corner_pos = abs_uv - (1 .0 - corner_radius );
136- let corner_norm = squircle_norm (max (corner_pos , vec2 <f32 >(0 .0 , 0 .0 )), 4 .0 );
130+ let corner_dist = length (max (corner_pos , vec2 <f32 >(0 .0 , 0 .0 )));
137131
138132 // Enhanced anti-aliasing for corners
139133 let pixel_size = length (fwidth (center_uv ));
140134 let aa_width = max (pixel_size , 0 .002 );
141135
142- let edge_distance = corner_norm - corner_radius ;
136+ let edge_distance = corner_dist - corner_radius ;
143137 mask = 1 .0 - smoothstep (- aa_width , aa_width , edge_distance );
144138 } else if (shape == 2 .0 ) {
145139 // Full shape with aspect ratio-corrected rounded corners
0 commit comments