VERIFIED_FEATURES.md - zcatgui
Estado de verificación de funcionalidades en aplicaciones reales.
Leyenda:
- ✅ Verificado - Probado en aplicación real, funciona correctamente
- ⚠️ Tests only - Solo tests unitarios, no probado en app real
- 🔧 Mejorado - Probado y mejorado/corregido durante uso real
- ❌ Incompleto - Conocido como incompleto o con limitaciones
- ❓ Sin probar - No tiene tests ni uso real
Core
context.zig
| Feature |
Estado |
Notas |
| Context init/deinit |
✅ |
zsimifactu |
| beginFrame/endFrame |
✅ |
zsimifactu |
| pushCommand |
✅ |
zsimifactu |
| getId (widget IDs) |
✅ |
zsimifactu |
| frameAllocator |
⚠️ |
Tests only |
| dirty_rects tracking |
⚠️ |
Infraestructura lista, no usada aún |
| resize |
✅ |
zsimifactu |
input.zig
| Feature |
Estado |
Notas |
| handleKeyEvent |
✅ |
zsimifactu - navegación tabla |
| mousePos/setMousePos |
✅ |
zsimifactu |
| mousePressed |
✅ |
zsimifactu - clicks |
| getTextInput |
✅ |
zsimifactu - edición TextInput |
| navKeyPressed |
⚠️ |
1 test fallando |
| Key repeat detection |
✅ |
zsimifactu - scroll continuo |
layout.zig
| Feature |
Estado |
Notas |
| LayoutState |
✅ |
zsimifactu |
| Rect operations |
✅ |
zsimifactu |
| nextRect |
✅ |
zsimifactu |
| row_height |
✅ |
zsimifactu |
style.zig
| Feature |
Estado |
Notas |
| Color struct |
✅ |
zsimifactu |
| Color.toABGR |
🔧 |
Optimizado para font rendering |
| Color.blend |
⚠️ |
Tests only |
| Theme.dark |
✅ |
zsimifactu |
command.zig
| Feature |
Estado |
Notas |
| DrawCommand.rect |
✅ |
zsimifactu |
| DrawCommand.text |
✅ |
zsimifactu |
| DrawCommand.rect_outline |
✅ |
zsimifactu |
| DrawCommand.line |
⚠️ |
Tests only |
| DrawCommand.clip |
✅ |
zsimifactu - tabla clipping |
Render
framebuffer.zig
| Feature |
Estado |
Notas |
| init/deinit |
✅ |
zsimifactu |
| clear |
✅ |
zsimifactu |
| setPixel |
✅ |
zsimifactu (via font) |
| fillRect |
✅ |
zsimifactu |
| resize |
✅ |
zsimifactu |
| getData/getPitch |
✅ |
zsimifactu - SDL2 present |
| drawLine |
⚠️ |
Tests only |
| Alpha blending |
⚠️ |
Tests only |
font.zig
| Feature |
Estado |
Notas |
| Font 8x8 ASCII |
⚠️ |
Tests only |
| Font 8x8 Latin-1 |
⚠️ |
Tests only |
| Font 8x16 ASCII |
⚠️ |
Tests only |
| Font 8x16 Latin-1 |
🔧 |
zsimifactu - optimizado 2025-12-10 |
| drawChar fast path |
🔧 |
Añadido 2025-12-10, ~26x más rápido |
| drawChar clipping |
✅ |
zsimifactu |
| UTF-8 decoding |
✅ |
zsimifactu - caracteres españoles |
| getFontForSize |
⚠️ |
Tests only |
software.zig
| Feature |
Estado |
Notas |
| SoftwareRenderer init |
✅ |
zsimifactu |
| execute commands |
✅ |
zsimifactu |
| drawRect |
✅ |
zsimifactu |
| drawText (UTF-8) |
🔧 |
zsimifactu - fix UTF-8 2025-12-10 |
| drawRectOutline |
✅ |
zsimifactu |
| clip stack |
✅ |
zsimifactu |
ttf.zig
| Feature |
Estado |
Notas |
| TtfFont.loadFromFile |
❌ |
Placeholder - no rasteriza curvas |
| TTF parsing |
⚠️ |
Parsea headers, no glyphs reales |
animation.zig
| Feature |
Estado |
Notas |
| Todas |
❓ |
Sin probar |
antialiasing.zig
| Feature |
Estado |
Notas |
| Todas |
❓ |
Sin probar |
effects.zig
| Feature |
Estado |
Notas |
| Todas |
❓ |
Sin probar |
Backend
sdl2.zig
| Feature |
Estado |
Notas |
| init/deinit |
✅ |
zsimifactu |
| pollEvent |
✅ |
zsimifactu |
| waitEvent |
✅ |
zsimifactu - 0% CPU idle |
| waitEventTimeout |
🔧 |
zsimifactu - sleep progresivo 2025-12-10 |
| present |
✅ |
zsimifactu |
| getSize |
✅ |
zsimifactu |
| Window resize |
✅ |
zsimifactu |
| VSync |
🔧 |
Configurado, funciona con GPU |
| Key translation |
✅ |
zsimifactu |
| Mouse events |
✅ |
zsimifactu |
| Text input events |
✅ |
zsimifactu |
wasm.zig
| Feature |
Estado |
Notas |
| Todas |
❓ |
Sin probar |
android.zig
| Feature |
Estado |
Notas |
| Todas |
❓ |
Sin probar |
ios.zig
| Feature |
Estado |
Notas |
| Todas |
❓ |
Sin probar |
Widgets
Verificados en zsimifactu
| Widget |
Estado |
Notas |
| table.zig |
✅ |
510 registros, scroll, selección |
| text_input.zig |
🔧 |
Edición, cursor, fix buffers 2025-12-10 |
| split.zig |
✅ |
hsplit con drag |
| panel.zig |
✅ |
Con título |
| scroll.zig |
✅ |
Via Table |
Solo tests unitarios
| Widget |
Estado |
Notas |
| button.zig |
⚠️ |
|
| checkbox.zig |
⚠️ |
|
| label.zig |
⚠️ |
|
| select.zig |
⚠️ |
|
| slider.zig |
⚠️ |
|
| radio.zig |
⚠️ |
|
| tabs.zig |
⚠️ |
|
| list.zig |
⚠️ |
|
| menu.zig |
⚠️ |
|
| modal.zig |
⚠️ |
|
| tooltip.zig |
⚠️ |
|
| toast.zig |
⚠️ |
|
| progress.zig |
⚠️ |
|
Sin probar / Avanzados
| Widget |
Estado |
Notas |
| autocomplete.zig |
❓ |
|
| chart.zig |
❓ |
|
| colorpicker.zig |
❓ |
|
| datepicker.zig |
❓ |
|
| textarea.zig |
❓ |
|
| tree.zig |
❓ |
|
| image.zig |
❓ |
|
| canvas.zig |
❓ |
|
| richtext.zig |
❓ |
|
| virtual_scroll.zig |
❓ |
|
| reorderable.zig |
❓ |
|
| numberentry.zig |
❓ |
|
| badge.zig |
❓ |
|
| breadcrumb.zig |
❓ |
|
| appbar.zig |
❓ |
|
| navdrawer.zig |
❓ |
|
| sheet.zig |
❓ |
|
| icon.zig |
❓ |
|
| iconbutton.zig |
❓ |
|
| divider.zig |
❓ |
|
| loader.zig |
❓ |
|
| switch.zig |
❓ |
|
| discloser.zig |
❓ |
|
| selectable.zig |
❓ |
|
| resize.zig |
❓ |
|
| surface.zig |
❓ |
|
| grid.zig |
❓ |
|
| focus.zig |
❓ |
|
Historial de Verificación
| Fecha |
Proyecto |
Features Verificadas |
| 2025-12-10 |
zsimifactu |
Table, TextInput, Split, Panel, Font 8x16 Latin-1, UTF-8 |
| 2025-12-10 |
zsimifactu |
Optimización font.drawChar (26x speedup) |
| 2025-12-10 |
zsimifactu |
waitEvent, waitEventTimeout - CPU 92% → 1.9% |
Próximos a Verificar (Prioridad zsimifactu)
- button.zig - Guardar, Cancelar, Nuevo
- select.zig - Dropdowns (tipo WHO, país, provincia)
- modal.zig - Confirmaciones, errores
- tabs.zig - Navegación entre secciones
- checkbox.zig - Opciones booleanas