fix: docking gaps + hover radius + node spread + markdown notes
Bug fixes - ImGui ID conflict en menu Change type: dedup tipos del grafo + defaults; PushID/PopID por entrada. - Dockspace ya no tapa la toolbar: se posiciona 44 px por debajo, asi las ventanas dockeadas al borde superior quedan bajo la barra de filtros, no detras. - Hover radius proporcional al tamaño visual del nodo: query espacial amplio (24/zoom) + filtro fino por (radio_visual + 2 px) / zoom. El tooltip solo se dispara si el raton esta efectivamente sobre el nodo. Layout - Default layout = grid (en vez de force) para que los grafos cargados se distribuyan ordenadamente al abrir. - Boton "Reset layout" en la toolbar: limpia NF_PINNED en todos los nodos, resetea velocidades y reaplica el layout activo. - Nodos recien creados (add_node, duplicate) caen en un anillo poisson alrededor del centro de la vista, no en el origen. Posicion determinista por user_data para que el mismo nodo no salte entre reloads. Notes (markdown) - Panel "Note" (dockeable) abierto con doble click sobre un nodo. - entity_get_notes / entity_set_notes en entity_ops sobre la columna `notes` de operations.db (ya existente en el schema). - Ctrl+S guarda. Cabecera muestra entity, type, id.
This commit is contained in:
@@ -51,6 +51,13 @@ bool relation_insert(const char* db_path,
|
||||
const char* from_id, const char* to_id,
|
||||
const char* name);
|
||||
|
||||
// Lee la columna `notes` (markdown) de una entidad. out se reasigna; vacio si
|
||||
// no existe la entidad.
|
||||
bool entity_get_notes(const char* db_path, const char* id, std::string* out);
|
||||
|
||||
// Sobrescribe `notes` con el contenido proporcionado. Toca `updated_at`.
|
||||
bool entity_set_notes(const char* db_path, const char* id, const char* notes);
|
||||
|
||||
// Mapa user_data (FNV1a hash) -> sql id. Se reconstruye despues de cada
|
||||
// carga del grafo (graph_sources usa FNV1a sobre id como user_data).
|
||||
struct EntityIndex {
|
||||
|
||||
Reference in New Issue
Block a user