--- id: 0021 title: Command palette Ctrl+K — busqueda y acciones globales status: pending priority: high created: 2026-05-01 --- ## Objetivo Atajo `Ctrl+K` (configurable) abre overlay flotante con input de busqueda fuzzy global. Lo que mas acelera el dia a dia: cero navegacion por menus para encontrar un nodo o disparar una accion. ## Alcance Indexa y matchea sobre: - Entidades del grafo (por name, type, metadata). - Acciones de la app ("Toggle inspector", "Save layout", "Run transform", "Export subgraph", "Switch project", "Open settings"). - Comandos recientes (MRU al tope sin escribir). Selecciono con flechas + Enter -> ejecuta accion o enfoca nodo en el viewport. ## Implementacion - Overlay modal centrado, input de texto + lista virtualizada (`ImGuiListClipper`). - Indexador en memoria sobre entidades; refresh al cambiar grafo. - Fuzzy matcher (fzf-like, p.ej. `fts_fuzzy_match` de Forrest the woods, o algo equivalente). - Acciones registrables desde cualquier panel — registro central tipo `cmd_palette_register("name", lambda)`. ## Definicion de hecho - Ctrl+K, escribo 3 letras del nombre de un nodo, lo enfoca en el grafo. - Ctrl+K, "exp", veo accion "Export subgraph as Markdown" disponible. - Latencia de matching imperceptible con 50k entidades. - MRU pone arriba lo usado recientemente.