diff --git a/crates/apps/gioser-web/pkg/gioser_web_bg.wasm b/crates/apps/gioser-web/pkg/gioser_web_bg.wasm index 939c2e4..2a36079 100644 Binary files a/crates/apps/gioser-web/pkg/gioser_web_bg.wasm and b/crates/apps/gioser-web/pkg/gioser_web_bg.wasm differ diff --git a/crates/modules/gioser/gioser-graph-web/src/lib.rs b/crates/modules/gioser/gioser-graph-web/src/lib.rs index bd5e3fd..946a449 100644 --- a/crates/modules/gioser/gioser-graph-web/src/lib.rs +++ b/crates/modules/gioser/gioser-graph-web/src/lib.rs @@ -253,21 +253,27 @@ impl GraphWidget { let c2 = color_map.get(edge.target.as_str()).copied().unwrap_or("#888"); let w = edge.weight.unwrap_or(0.7); - // EXAGERADO: grosor 1 a 10px, máximo contraste - // weight 0.50 → 3px, weight 0.95 → 9px - let thick = 1.5 + w * 8.0; - // Color más saturado: mezcla sin gris, cada canal al extremo + // Min-max scaling: expandir el rango real (0.83-0.93) a 0.0-1.0 + // Con un mínimo global de 0.80 para capturar todo + let norm = ((w - 0.80) / 0.15).clamp(0.0, 1.0); + // Curva cuadrática para exagerar diferencias: norm² + let expanded = norm * norm; + + // Grosor sutil: 0.5px a 3.5px (no grueso, diferenciado) + let thick = 0.8 + expanded * 3.0; + + // Color mezclado let blended = blend_colors(c1, c2, 0.5); let (br, bg, bb) = parse_hex(&blended); - // Brillo exagerado: peso bajo = color puro; peso alto → blanco - let bright_factor = w * 0.7; + // Brillo: sin expander, normal 0-1, sútil + let bright_factor = norm * 0.5; let r = (br as f64 + (255.0 - br as f64) * bright_factor).min(255.0) as u32; let g = (bg as f64 + (255.0 - bg as f64) * bright_factor).min(255.0) as u32; let b = (bb as f64 + (255.0 - bb as f64) * bright_factor).min(255.0) as u32; - // Opacidad: peso bajo = 40%, peso alto = 95% - let alpha = 0.40 + w * 0.55; + // Opacidad baja y sutil: 15% a 40% + let alpha = 0.12 + expanded * 0.30; let line: SvgLineElement = self .document