---
id: 0024
title: Exportar subgrafo seleccionado a Markdown / Mermaid / CSV / PNG
status: pending
priority: medium
created: 2026-05-01
---

## Objetivo

Seleccion de nodos (rect drag o filtro activo) -> menu "Export as..." con
varios formatos de salida segun el destino.

## Formatos

- **Markdown**: una pagina por entidad con sus campos y links a vecinos.
  Encaja con 0025 (sync con vault).
- **Mermaid `graph TD`**: para pegar en notas o issues.
- **CSV**: dos archivos `nodes.csv` + `edges.csv` para Gephi/Cytoscape.
- **PNG / SVG**: render del subgrafo con layout actual.
- **JSON**: shape `{nodes:[], edges:[]}` para reimportar o procesar.

## Alcance

- Menu "Export selected" en context menu del canvas y en menu superior.
- Cada exportador es una funcion del registry reutilizable
  (`export_subgraph_md_cpp_viz`, `export_subgraph_mermaid_cpp_viz`, etc).
- Para PNG/SVG: reusar el render actual a un framebuffer offscreen, con
  factor de escalado configurable (1x / 2x / 4x).
- Diccionario de plantillas configurable para Markdown (por entity_type).

## Decisiones

- Mermaid copiado al portapapeles automaticamente; otros formatos
  abren dialogo de guardado.
- Limite suave a 500 nodos para Mermaid (ilegible mas alla).

## Definicion de hecho

- Selecciono 20 nodos, exporto Markdown -> directorio con 20 .md y
  enlaces cruzados validos.
- Exporto Mermaid -> string copiado al portapapeles, valido en
  mermaid.live.
- Exporto PNG con layout fijo, calidad 2x, fidelidad pixel a la vista.
- CSV importable directo en Gephi sin transformaciones.
