diff --git a/CLAUDE.md b/CLAUDE.md index ffbbb10..d939c7c 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -132,18 +132,27 @@ zig build # Tests (186+ tests) zig build test -# Ejecutar ejemplos -zig build hello -zig build events-demo -zig build list-demo -zig build table-demo -zig build dashboard -zig build input-demo -zig build animation-demo -zig build clipboard-demo -zig build menu-demo -zig build form-demo -zig build panel-demo +# Ejecutar ejemplos (20 demos) +zig build hello # Hello World básico +zig build events-demo # Manejo de eventos +zig build list-demo # Lista interactiva +zig build table-demo # Tabla con datos +zig build dashboard # Dashboard completo +zig build input-demo # Campos de entrada +zig build animation-demo # Animaciones +zig build clipboard-demo # Clipboard +zig build menu-demo # Menús +zig build form-demo # Formularios +zig build panel-demo # Paneles +zig build resize-demo # Manejo resize [v2.2] +zig build splitter-demo # Paneles redimensionables [v2.2] +zig build dirtree-demo # Navegador archivos [v2.1] +zig build spinner-demo # Spinners [v2.1] +zig build progress-demo # Barras progreso [v2.1] +zig build markdown-demo # Markdown [v2.1] +zig build syntax-demo # Syntax highlighting [v2.1] +zig build help-demo # Panel de ayuda [v2.1] +zig build viewport-demo # Scroll viewport [v2.1] # Git git status @@ -384,8 +393,64 @@ git.reugenio.com (Forgejo) --- +## DOCUMENTACIÓN + +| Documento | Ubicación | Descripción | +|-----------|-----------|-------------| +| **API_REFERENCE.md** | `docs/API_REFERENCE.md` | Manual completo de referencia (1400 líneas) - LEER PARA USAR LA LIBRERÍA | +| ARCHITECTURE.md | `docs/ARCHITECTURE.md` | Arquitectura técnica | +| WIDGETS.md | `docs/WIDGETS.md` | Guía de widgets | +| PLAN_V2.2.md | `docs/PLAN_V2.2.md` | Plan de implementación v2.2 | + +### Paradigma de la Librería + +**zcatui es Immediate Mode** (como ratatui, Dear ImGui, egui): +- No hay árbol de widgets persistente +- Cada frame describes toda la UI desde cero +- El estado lo maneja el usuario, no la librería +- Flujo: `Estado → render() → Buffer → diff() → Terminal → pollEvent() → Estado` + +```zig +// Patrón típico +while (running) { + try term.draw(render); // Redibuja TODO cada frame + if (try term.pollEvent(16)) |event| { + updateState(event); // TÚ manejas el estado + } +} +fn render(area: Rect, buf: *Buffer) void { + // UI es función pura de tu estado + widget.render(area, buf); +} +``` + +--- + ## REFERENCIAS - ratatui (Rust): https://ratatui.rs/ - Zig docs 0.15: https://ziglang.org/documentation/0.15.0/std/ - ANSI codes: https://gist.github.com/fnky/458719343aabd01cfb17a3a4f7296797 + +--- + +## RESUMEN PARA NUEVA CONVERSACIÓN + +Si eres una nueva instancia de Claude, esto es lo que necesitas saber: + +1. **Qué es**: Librería TUI para Zig, equivalente a ratatui+crossterm de Rust +2. **Estado**: v2.2 COMPLETA - 70+ archivos, 35 widgets, 186+ tests, 20 demos +3. **Paradigma**: Immediate Mode (sin árbol de widgets, estado externo) +4. **Leer primero**: + - `TEAM_STANDARDS/LAST_UPDATE.md` (normas actualizadas) + - `docs/API_REFERENCE.md` (referencia completa de la API) +5. **Compilador**: `/mnt/cello2/arno/re/recode/zig/zig-0.15.2/zig-x86_64-linux-0.15.2/zig` +6. **Verificar**: `zig build test` antes de cualquier commit +7. **Commits**: Solo cuando el usuario lo pida, con formato estándar + +### Comandos de verificación rápida: +```bash +cd /mnt/cello2/arno/re/recode/zig/zcatui +git status && git log --oneline -3 +zig build test +```