gioser-graph: fix edge UUID mapping, index 4 docs, unify page bg

- Fix: map positions by node.id (UUID) not doc_id — edges now draw
- Index the 4 docs/ files into Qdrant (15 fragments via index-gioser-docs.py)
- Page background: single smooth radial-gradient per element (no color
  divisions), animated 'page-breathe' — opacity pulses 0.35↔0.80
- Graph CSS: 'graph-breathe' 5s opacity animation (feels alive)
This commit is contained in:
Sergio
2026-05-23 15:40:42 +00:00
parent b5032de1e3
commit fa2bedf851
6 changed files with 105 additions and 191 deletions
+8 -8
View File
@@ -8,14 +8,14 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
export interface InitOutput {
readonly memory: WebAssembly.Memory;
readonly boot: () => void;
readonly __wasm_bindgen_func_elem_219: (a: number, b: number, c: number) => void;
readonly __wasm_bindgen_func_elem_1408: (a: number, b: number, c: number, d: number) => void;
readonly __wasm_bindgen_func_elem_218: (a: number, b: number, c: number) => void;
readonly __wasm_bindgen_func_elem_218_3: (a: number, b: number, c: number) => void;
readonly __wasm_bindgen_func_elem_496: (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_289: (a: number, b: number, c: number) => void;
readonly __wasm_bindgen_func_elem_288: (a: number, b: number) => 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_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_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;
readonly __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
readonly __wbindgen_export3: (a: number) => void;
+24 -24
View File
@@ -571,42 +571,42 @@ function __wbg_get_imports() {
},
__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_1408);
const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_1404);
return addHeapObject(ret);
},
__wbindgen_cast_0000000000000002: function(arg0, arg1) {
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [F64], shim_idx: 2, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_219);
const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_216);
return addHeapObject(ret);
},
__wbindgen_cast_0000000000000003: function(arg0, arg1) {
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("Event")], shim_idx: 6, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_218);
const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_215);
return addHeapObject(ret);
},
__wbindgen_cast_0000000000000004: function(arg0, arg1) {
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("KeyboardEvent")], shim_idx: 6, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_218_3);
const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_215_3);
return addHeapObject(ret);
},
__wbindgen_cast_0000000000000005: function(arg0, arg1) {
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("MouseEvent")], shim_idx: 137, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_496);
const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_492);
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_602);
const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_598);
return addHeapObject(ret);
},
__wbindgen_cast_0000000000000007: function(arg0, arg1) {
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [NamedExternref("PointerEvent")], shim_idx: 67, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_289);
const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_285);
return addHeapObject(ret);
},
__wbindgen_cast_0000000000000008: function(arg0, arg1) {
// Cast intrinsic for `Closure(Closure { owned: true, function: Function { arguments: [], shim_idx: 69, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.
const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_288);
const ret = makeMutClosure(arg0, arg1, __wasm_bindgen_func_elem_284);
return addHeapObject(ret);
},
__wbindgen_cast_0000000000000009: function(arg0, arg1) {
@@ -633,34 +633,34 @@ function __wbg_get_imports() {
};
}
function __wasm_bindgen_func_elem_288(arg0, arg1) {
wasm.__wasm_bindgen_func_elem_288(arg0, arg1);
function __wasm_bindgen_func_elem_284(arg0, arg1) {
wasm.__wasm_bindgen_func_elem_284(arg0, arg1);
}
function __wasm_bindgen_func_elem_218(arg0, arg1, arg2) {
wasm.__wasm_bindgen_func_elem_218(arg0, arg1, addHeapObject(arg2));
function __wasm_bindgen_func_elem_215(arg0, arg1, arg2) {
wasm.__wasm_bindgen_func_elem_215(arg0, arg1, addHeapObject(arg2));
}
function __wasm_bindgen_func_elem_218_3(arg0, arg1, arg2) {
wasm.__wasm_bindgen_func_elem_218_3(arg0, arg1, addHeapObject(arg2));
function __wasm_bindgen_func_elem_215_3(arg0, arg1, arg2) {
wasm.__wasm_bindgen_func_elem_215_3(arg0, arg1, addHeapObject(arg2));
}
function __wasm_bindgen_func_elem_496(arg0, arg1, arg2) {
wasm.__wasm_bindgen_func_elem_496(arg0, arg1, addHeapObject(arg2));
function __wasm_bindgen_func_elem_492(arg0, arg1, arg2) {
wasm.__wasm_bindgen_func_elem_492(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_598(arg0, arg1, arg2) {
wasm.__wasm_bindgen_func_elem_598(arg0, arg1, addHeapObject(arg2));
}
function __wasm_bindgen_func_elem_289(arg0, arg1, arg2) {
wasm.__wasm_bindgen_func_elem_289(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_1408(arg0, arg1, arg2) {
function __wasm_bindgen_func_elem_1404(arg0, arg1, arg2) {
try {
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
wasm.__wasm_bindgen_func_elem_1408(retptr, arg0, arg1, addHeapObject(arg2));
wasm.__wasm_bindgen_func_elem_1404(retptr, arg0, arg1, addHeapObject(arg2));
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
if (r1) {
@@ -671,8 +671,8 @@ function __wasm_bindgen_func_elem_1408(arg0, arg1, arg2) {
}
}
function __wasm_bindgen_func_elem_219(arg0, arg1, arg2) {
wasm.__wasm_bindgen_func_elem_219(arg0, arg1, arg2);
function __wasm_bindgen_func_elem_216(arg0, arg1, arg2) {
wasm.__wasm_bindgen_func_elem_216(arg0, arg1, arg2);
}
function addHeapObject(obj) {
Binary file not shown.
+8 -8
View File
@@ -2,14 +2,14 @@
/* eslint-disable */
export const memory: WebAssembly.Memory;
export const boot: () => void;
export const __wasm_bindgen_func_elem_219: (a: number, b: number, c: number) => void;
export const __wasm_bindgen_func_elem_1408: (a: number, b: number, c: number, d: number) => void;
export const __wasm_bindgen_func_elem_218: (a: number, b: number, c: number) => void;
export const __wasm_bindgen_func_elem_218_3: (a: number, b: number, c: number) => void;
export const __wasm_bindgen_func_elem_496: (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_289: (a: number, b: number, c: number) => void;
export const __wasm_bindgen_func_elem_288: (a: number, b: number) => 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_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_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;
export const __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
export const __wbindgen_export3: (a: number) => void;
+12 -34
View File
@@ -231,49 +231,27 @@ body.deck-active-tierra .deck { --deck-glow: rgba(212, 152, 115, 0.24); }
inset: 0;
pointer-events: none;
z-index: 0;
transition: opacity 2s ease;
}
.deck-page[data-element="aire"] .page-ambience {
background:
radial-gradient(circle at 18% 22%, rgba(208, 219, 255, 0.20), transparent 38%),
radial-gradient(circle at 78% 68%, rgba(208, 219, 255, 0.14), transparent 40%),
radial-gradient(circle at 45% 90%, rgba(180, 200, 255, 0.10), transparent 45%);
animation: aire-drift 45s ease-in-out infinite alternate;
background: radial-gradient(circle at 50% 60%, rgba(208,219,255,0.18), transparent 70%);
animation: page-breathe 8s ease-in-out infinite alternate;
}
.deck-page[data-element="fuego"] .page-ambience {
background:
radial-gradient(circle at 50% 100%, rgba(245, 144, 86, 0.35), transparent 55%),
radial-gradient(circle at 25% 80%, rgba(255, 90, 40, 0.18), transparent 35%),
radial-gradient(circle at 80% 85%, rgba(255, 140, 60, 0.18), transparent 35%);
animation: fuego-flicker 12s ease-in-out infinite;
background: radial-gradient(circle at 50% 80%, rgba(245,144,86,0.22), transparent 70%);
animation: page-breathe 6s ease-in-out infinite alternate;
}
.deck-page[data-element="agua"] .page-ambience {
background:
radial-gradient(ellipse at 50% 95%, rgba(60, 160, 230, 0.30), transparent 60%),
radial-gradient(ellipse at 20% 70%, rgba(108, 208, 243, 0.15), transparent 50%),
radial-gradient(ellipse at 80% 75%, rgba(108, 208, 243, 0.12), transparent 50%);
animation: agua-tide 30s ease-in-out infinite alternate;
background: radial-gradient(circle at 50% 80%, rgba(108,208,243,0.18), transparent 70%);
animation: page-breathe 10s ease-in-out infinite alternate;
}
.deck-page[data-element="tierra"] .page-ambience {
background:
radial-gradient(ellipse at 50% 100%, rgba(120, 80, 40, 0.40), transparent 60%),
radial-gradient(ellipse at 22% 88%, rgba(180, 130, 80, 0.20), transparent 45%),
radial-gradient(ellipse at 78% 88%, rgba(150, 100, 60, 0.22), transparent 45%);
background: radial-gradient(circle at 50% 85%, rgba(140,100,60,0.22), transparent 70%);
animation: page-breathe 7s ease-in-out infinite alternate;
}
/* Animaciones sutiles — solo opacidad, sin desplazamiento visible.
El movimiento (transform) del fondo causaba un "respiro" molesto
al abrir el deck. */
@keyframes aire-drift {
from { opacity: 0.60; }
to { opacity: 0.90; }
}
@keyframes fuego-flicker {
0%, 100% { opacity: 0.65; }
35% { opacity: 0.90; }
60% { opacity: 0.75; }
}
@keyframes agua-tide {
from { opacity: 0.55; }
to { opacity: 0.85; }
@keyframes page-breathe {
from { opacity: 0.35; }
to { opacity: 0.80; }
}
/* Head + controls */