From ef3d698c4b4d0c0ab88da4d59c37d57fef894ce8 Mon Sep 17 00:00:00 2001 From: Sergio Date: Sat, 23 May 2026 15:51:21 +0000 Subject: [PATCH] gioser-graph: edge colors blend from connected node caminos - Each edge color is a 50/50 blend of its two nodes' camino colors - Extra brightness proportional to weight (higher weight = closer to white) - Edge opacity/width also varies by weight - Edges drawn before nodes in SVG (already behind them) --- crates/apps/gioser-web/pkg/gioser_web.d.ts | 4 +- crates/apps/gioser-web/pkg/gioser_web.js | 16 +++--- crates/apps/gioser-web/pkg/gioser_web_bg.wasm | Bin 524273 -> 527892 bytes .../gioser-web/pkg/gioser_web_bg.wasm.d.ts | 4 +- .../gioser/gioser-graph-web/src/lib.rs | 49 +++++++++++++++--- 5 files changed, 54 insertions(+), 19 deletions(-) diff --git a/crates/apps/gioser-web/pkg/gioser_web.d.ts b/crates/apps/gioser-web/pkg/gioser_web.d.ts index bc7a32e..2296ddf 100644 --- a/crates/apps/gioser-web/pkg/gioser_web.d.ts +++ b/crates/apps/gioser-web/pkg/gioser_web.d.ts @@ -9,11 +9,11 @@ export interface InitOutput { readonly memory: WebAssembly.Memory; readonly boot: () => void; readonly __wasm_bindgen_func_elem_216: (a: number, b: number, c: number) => void; - readonly __wasm_bindgen_func_elem_1404: (a: number, b: number, c: number, d: number) => void; + readonly __wasm_bindgen_func_elem_1408: (a: number, b: number, c: number, d: number) => void; readonly __wasm_bindgen_func_elem_215: (a: number, b: number, c: number) => void; readonly __wasm_bindgen_func_elem_215_3: (a: number, b: number, c: number) => void; readonly __wasm_bindgen_func_elem_492: (a: number, b: number, c: number) => void; - readonly __wasm_bindgen_func_elem_598: (a: number, b: number, c: number) => void; + readonly __wasm_bindgen_func_elem_602: (a: number, b: number, c: number) => void; readonly __wasm_bindgen_func_elem_285: (a: number, b: number, c: number) => void; readonly __wasm_bindgen_func_elem_284: (a: number, b: number) => void; readonly __wbindgen_export: (a: number, b: number) => number; diff --git a/crates/apps/gioser-web/pkg/gioser_web.js b/crates/apps/gioser-web/pkg/gioser_web.js index 382f2a9..984813e 100644 --- a/crates/apps/gioser-web/pkg/gioser_web.js +++ b/crates/apps/gioser-web/pkg/gioser_web.js @@ -570,8 +570,8 @@ function __wbg_get_imports() { return ret; }, __wbindgen_cast_0000000000000001: function(arg0, arg1) { - // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 179, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`. - const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_1404); + // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [Externref], shim_idx: 180, ret: Result(Unit), inner_ret: Some(Result(Unit)) }, mutable: true }) -> Externref`. + const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_1408); return addHeapObject(ret); }, __wbindgen_cast_0000000000000002: function(arg0, arg1) { @@ -595,8 +595,8 @@ function __wbg_get_imports() { return addHeapObject(ret); }, __wbindgen_cast_0000000000000006: function(arg0, arg1) { - // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("MouseEvent")], shim_idx: 173, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`. - const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_598); + // Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("MouseEvent")], shim_idx: 174, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`. + const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_602); return addHeapObject(ret); }, __wbindgen_cast_0000000000000007: function(arg0, arg1) { @@ -649,18 +649,18 @@ function __wasm_bindgen_func_elem_492(arg0, arg1, arg2) { wasm.__wasm_bindgen_func_elem_492(arg0, arg1, addHeapObject(arg2)); } -function __wasm_bindgen_func_elem_598(arg0, arg1, arg2) { - wasm.__wasm_bindgen_func_elem_598(arg0, arg1, addHeapObject(arg2)); +function __wasm_bindgen_func_elem_602(arg0, arg1, arg2) { + wasm.__wasm_bindgen_func_elem_602(arg0, arg1, addHeapObject(arg2)); } function __wasm_bindgen_func_elem_285(arg0, arg1, arg2) { wasm.__wasm_bindgen_func_elem_285(arg0, arg1, addHeapObject(arg2)); } -function __wasm_bindgen_func_elem_1404(arg0, arg1, arg2) { +function __wasm_bindgen_func_elem_1408(arg0, arg1, arg2) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - wasm.__wasm_bindgen_func_elem_1404(retptr, arg0, arg1, addHeapObject(arg2)); + wasm.__wasm_bindgen_func_elem_1408(retptr, arg0, arg1, addHeapObject(arg2)); var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true); var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true); if (r1) { diff --git a/crates/apps/gioser-web/pkg/gioser_web_bg.wasm b/crates/apps/gioser-web/pkg/gioser_web_bg.wasm index fa7efc8ee11f197823c054fb058f4e48dc0db829..c45b3e524705a87b75649981ee82c9a261e33d6e 100644 GIT binary patch delta 69854 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 delta 66699 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 void; export const __wasm_bindgen_func_elem_216: (a: number, b: number, c: number) => void; -export const __wasm_bindgen_func_elem_1404: (a: number, b: number, c: number, d: number) => void; +export const __wasm_bindgen_func_elem_1408: (a: number, b: number, c: number, d: number) => void; export const __wasm_bindgen_func_elem_215: (a: number, b: number, c: number) => void; export const __wasm_bindgen_func_elem_215_3: (a: number, b: number, c: number) => void; export const __wasm_bindgen_func_elem_492: (a: number, b: number, c: number) => void; -export const __wasm_bindgen_func_elem_598: (a: number, b: number, c: number) => void; +export const __wasm_bindgen_func_elem_602: (a: number, b: number, c: number) => void; export const __wasm_bindgen_func_elem_285: (a: number, b: number, c: number) => void; export const __wasm_bindgen_func_elem_284: (a: number, b: number) => void; export const __wbindgen_export: (a: number, b: number) => number; diff --git a/crates/modules/gioser/gioser-graph-web/src/lib.rs b/crates/modules/gioser/gioser-graph-web/src/lib.rs index 43b92cd..53f9dad 100644 --- a/crates/modules/gioser/gioser-graph-web/src/lib.rs +++ b/crates/modules/gioser/gioser-graph-web/src/lib.rs @@ -92,6 +92,27 @@ fn camino_color(camino: &str) -> &str { "#888888" } +fn parse_hex(hex: &str) -> (u8, u8, u8) { + let h = hex.trim_start_matches('#'); + if h.len() == 6 { + let r = u8::from_str_radix(&h[0..2], 16).unwrap_or(128); + let g = u8::from_str_radix(&h[2..4], 16).unwrap_or(128); + let b = u8::from_str_radix(&h[4..6], 16).unwrap_or(128); + (r, g, b) + } else { + (136, 136, 136) + } +} + +fn blend_colors(c1: &str, c2: &str, t: f64) -> String { + let (r1, g1, b1) = parse_hex(c1); + let (r2, g2, b2) = parse_hex(c2); + let r = (r1 as f64 * (1.0 - t) + r2 as f64 * t) as u32; + let g = (g1 as f64 * (1.0 - t) + g2 as f64 * t) as u32; + let b = (b1 as f64 * (1.0 - t) + b2 as f64 * t) as u32; + format!("#{:02x}{:02x}{:02x}", r, g, b) +} + pub struct GraphWidget { container: HtmlElement, api_url: String, @@ -194,18 +215,22 @@ impl GraphWidget { .unwrap(); breathe_group.set_attribute("class", "gb-svg").ok(); - // Mapa: node.id → (x, y) — usamos UUID, no doc_id + // Mapas: UUID → posición y color let pos_map: std::collections::HashMap<&str, (f64, f64)> = positions .iter() .map(|(id, p)| (id.as_str(), *p)) .collect(); + let color_map: std::collections::HashMap<&str, &str> = self.nodes + .iter() + .map(|n| (n.id.as_str(), camino_color(&n.camino))) + .collect(); let max_w = self.edges.iter() .filter_map(|e| e.weight) .fold(0.0_f64, f64::max) .max(0.5); - // ── Aristas ── + // ── Aristas: mezcla de colores de los nodos que conecta ── let mut drawn = std::collections::HashSet::new(); for edge in &self.edges { let key = if edge.source < edge.target { @@ -218,13 +243,23 @@ impl GraphWidget { let Some((x1, y1)) = pos_map.get(edge.source.as_str()) else { continue; }; let Some((x2, y2)) = pos_map.get(edge.target.as_str()) else { continue; }; + let c1 = color_map.get(edge.source.as_str()).copied().unwrap_or("#888"); + let c2 = color_map.get(edge.target.as_str()).copied().unwrap_or("#888"); + let w = edge.weight.unwrap_or(0.7); let norm_w = (w / max_w).clamp(0.0, 1.0); - let alpha = 0.15 + norm_w * 0.70; - let sw = 1.0 + norm_w * 4.0; - let r = (255.0 - (1.0 - norm_w) * 80.0) as u32; - let g = (255.0 - (1.0 - norm_w) * 60.0) as u32; - let b = (255.0 - (1.0 - norm_w) * 40.0) as u32; + + // Mezclar colores: 50/50 + brillo según weight + let blended = blend_colors(c1, c2, 0.5); + + // Brillo extra según el peso (acercar a blanco) + let (br, bg, bb) = parse_hex(&blended); + let r = (br as f64 + (255.0 - br as f64) * norm_w * 0.4) as u32; + let g = (bg as f64 + (255.0 - bg as f64) * norm_w * 0.4) as u32; + let b = (bb as f64 + (255.0 - bb as f64) * norm_w * 0.4) as u32; + + let alpha = 0.20 + norm_w * 0.65; + let sw = 1.0 + norm_w * 4.5; let line: SvgLineElement = self .document