# PLAN: Modularización de virtual_advanced_table.zig **Fecha:** 2025-12-29 **Estado:** En progreso --- ## Objetivo Dividir `virtual_advanced_table.zig` (1367 LOC) en módulos más pequeños. --- ## Estado Actual ``` virtual_advanced_table/ ├── cell_editor.zig # 179 LOC ✓ ├── data_provider.zig # 296 LOC ✓ ├── paged_datasource.zig # 188 LOC ✓ ├── state.zig # 847 LOC (revisar después) ├── types.zig # 242 LOC ✓ └── virtual_advanced_table.zig # 1367 LOC ⚠️ DIVIDIR ``` --- ## Estructura Final ``` virtual_advanced_table/ ├── cell_editor.zig # 179 LOC (sin cambios) ├── data_provider.zig # 296 LOC (sin cambios) ├── paged_datasource.zig # 188 LOC (sin cambios) ├── state.zig # 847 LOC (sin cambios por ahora) ├── types.zig # 242 LOC (sin cambios) ├── drawing.zig # ~400 LOC (NUEVO) ├── input.zig # ~200 LOC (NUEVO) └── virtual_advanced_table.zig # ~500 LOC (reducido) ``` --- ## Mapeo de Funciones ### → drawing.zig (~400 LOC) | Función | Líneas orig | Descripción | |---------|-------------|-------------| | drawFilterBar | 604-830 | Barra de filtro superior | | drawHeaderAt | 836-911 | Cabecera de tabla | | drawRows | 917-1008 | Filas de datos | | drawFooter | 1014-1056 | Pie de tabla | | drawScrollbar | 1062-1087 | Scrollbar vertical | | drawScrollbarH | 1093-1120 | Scrollbar horizontal | ### → input.zig (~200 LOC) | Función | Líneas orig | Descripción | |---------|-------------|-------------| | handleKeyboard | 1169-1273 | Manejo de teclado | | handleMouseClick | 1279-1345 | Manejo de clicks | | ensureColumnVisible | 1127-1160 | Scroll a columna | | needsRefetch | 577-598 | Detectar necesidad de refetch | ### → virtual_advanced_table.zig (reducido) - VirtualAdvancedTableResult struct - virtualAdvancedTable() (API pública) - virtualAdvancedTableRect() (orquestación) --- ## Fases - [ ] FASE 1: Extraer drawing.zig - [ ] FASE 2: Extraer input.zig - [ ] FASE 3: Actualizar imports en virtual_advanced_table.zig - [ ] FASE 4: Verificar compilación - [ ] FASE 5: Commit y push --- ## Historial | Fecha | Hora | Acción | Estado | |-------|------|--------|--------| | 2025-12-29 | ~02:30 | Plan creado | En progreso |