---
id: 0036a
title: Rename Table-expanded -> NodeGroups (paperwork, sin cambio funcional)
status: done
priority: high
created: 2026-05-04
parent: 0036
---

## Objetivo

Cambio puramente de nombres. Cero cambio de comportamiento. Bloquea
los issues siguientes (0036b-f) que ya asumen la nueva convencion.

## Cambios

### Archivos renombrados

- `tableview.cpp` -> `node_groups.cpp`
- `tableview.h`   -> `node_groups.h`

### Tipos (en el sub-repo del app)

| Antes | Despues |
|---|---|
| `TableWindowState` (en `views.h`) | `NodeGroupsWindowState` |
| `TableMetadata` (en `tableview.h`) | `NodeGroupsMeta` |
| `TablePageRow` (en `tableview.h`) | `NodeGroupsRow` |

### Campos AppState

| Antes | Despues |
|---|---|
| `app.table_windows` | `app.node_groups_windows` |
| `app.table_node_counts` | `app.node_groups_counts` |
| `app.toggle_expanded_id` | `app.toggle_nodegroups_id` |
| `app.want_toggle_expanded` | `app.want_toggle_nodegroups` |
| `app.want_promote_row` (relacionado) | dejar igual por ahora — es promote de DuckDB, lo retocaremos en 0036d |

### Funciones y prefijos

| Antes | Despues |
|---|---|
| `tableview_load_metadata` | `node_groups_load_metadata` |
| `tableview_page_rows` | `node_groups_page_rows` |
| `tableview_refresh_counts` | `node_groups_refresh_counts` |
| Cualquier `tableview_*` no relacionado al panel generico `Table` | `node_groups_*` |

**OJO**: el panel generico `Table` (`views_table` en `views.cpp`) NO se
renombra. Es la lista global de entidades, no la window por contenedor.
Lo afectado es solo lo que abre el "expand" de un nodo Table-typed
(hoy) y lo que abrira el "drill" de un Group (mañana, 0036c).

### CMakeLists.txt

Actualizar `apps/graph_explorer/CMakeLists.txt` para usar el nombre
nuevo `node_groups.cpp` en lugar de `tableview.cpp`.

### Strings de UI

| Antes | Despues |
|---|---|
| Window title `"Table: <name>"` | `"NodeGroups: <name>"` |
| `"Expand table"` (context menu) | `"Open NodeGroups"` |
| `"Collapse table"` | `"Close NodeGroups"` |
| Mensajes de logs `[tableview]` | `[node_groups]` |

### Comentarios y docs

Buscar y reemplazar referencias a "Table-expanded", "Table expanded",
"tabla expandida" en comentarios. NO tocar los issues completados que
documentan la historia (0010, 0011) — son archivo historico.

## Acceptance criteria

- Build C++ verde sin warnings nuevos.
- pytest verde en WSL y Windows.
- Smoke test manual: abrir un Table existente con right-click "Open
  NodeGroups" → la window se abre como antes, mismo contenido,
  mismo titulo "NodeGroups: <name>".
- `git grep -i "tableview\|TableWindow\|TablePageRow\|TableMetadata"`
  solo encuentra ocurrencias en `issues/completed/` (historia) y en
  el panel generico `Table` (que NO se toca).

## TBD

Branch `issue/0036a-rename-nodegroups`, merge `--no-ff` a master.

## Out of scope

- Cualquier cambio funcional (eso es 0036b y siguientes).
- Renombrar el panel generico `Table` (queda como esta).
- Tocar la lista de issues completados.
