docs: Bump zcatgui to v0.16.1

- Actualizar CLAUDE.md con tarea TTF completada
- Añadir v0.16.1 al historial (fuente embebida)
- Actualizar versión en todos los lugares

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
reugenio 2025-12-16 01:27:26 +01:00
parent 42a9e97a6b
commit 362393dd10

View file

@ -75,27 +75,28 @@ Esta regla está documentada en teamdocs desde 2025-11-30.
--- ---
## TAREA ACTUAL: Fuentes TTF con Antialiasing ## TAREA COMPLETADA: Fuentes TTF con Antialiasing ✅
**Documento completo**: `/mnt/cello2/arno/re/recode/teamdocs/Conversaciones/TAREA_TTF_ZCATGUI.md` ### Estado actual (v0.16.0)
- ✅ Parsing TTF completo (glyf, cmap format 4 y 12)
- ✅ Rasterización con bezier cuadráticas
- ✅ Antialiasing 2x supersampling
- ✅ **Fuente embebida** (AdwaitaSans-Regular, ~860KB)
- ✅ Integración con SoftwareRenderer
### Problema ### Uso
zsimifactu se ve "años 90" con fuentes bitmap 8x16. Necesitamos TTF con antialiasing. ```zig
// Fuente embebida (RECOMENDADO - cero dependencias)
var ttf = try TtfFont.initEmbedded(allocator);
defer ttf.deinit();
ttf.setSize(14);
renderer.setTtfFont(&ttf);
```
### Estado de ttf.zig (637 líneas) ### Archivos clave
- ✅ Parsing TTF completo - `src/render/ttf.zig` - Parsing y rasterización TTF
- ✅ Lookup de glyphs - `src/render/embedded_font.zig` - Fuente embebida
- ✅ Métricas - `src/render/fonts/AdwaitaSans-Regular.ttf` - Datos de fuente
- ❌ `drawGlyphPlaceholder()` solo dibuja rectángulos, NO renderiza contornos
### Fases de implementación
1. Parsear contornos (puntos + Bezier cuadráticas)
2. Rasterización básica (scanline)
3. Antialiasing (coverage-based)
4. Integración con SoftwareRenderer
### Referencia
- **stb_truetype.h** (~5000 líneas C) - implementación de referencia
--- ---
@ -104,7 +105,7 @@ zsimifactu se ve "años 90" con fuentes bitmap 8x16. Necesitamos TTF con antiali
| Campo | Valor | | Campo | Valor |
|-------|-------| |-------|-------|
| **Nombre** | zcatgui | | **Nombre** | zcatgui |
| **Versión** | v0.16.0 | | **Versión** | v0.16.1 |
| **Fecha inicio** | 2025-12-09 | | **Fecha inicio** | 2025-12-09 |
| **Estado** | ✅ COMPLETO - 37 widgets, ~35K LOC, 4 backends | | **Estado** | ✅ COMPLETO - 37 widgets, ~35K LOC, 4 backends |
| **Lenguaje** | Zig 0.15.2 | | **Lenguaje** | Zig 0.15.2 |
@ -233,7 +234,7 @@ vs Retained Mode (Fyne):
└─────────────────────────────────────────────────────────────┘ └─────────────────────────────────────────────────────────────┘
``` ```
### Estructura de Archivos (ACTUAL v0.15.0) ### Estructura de Archivos (ACTUAL v0.16.0)
``` ```
zcatgui/ zcatgui/
@ -663,12 +664,13 @@ const stdout = std.fs.File.stdout(); // NO std.io.getStdOut()
| 2025-12-11 | v0.15.1 | FocusSystem rediseñado: registration_group/active_group, focus implícito | | 2025-12-11 | v0.15.1 | FocusSystem rediseñado: registration_group/active_group, focus implícito |
| 2025-12-11 | v0.15.2 | Widgets adaptados a FocusSystem: numberentry, textarea, select, radio, slider, tabs | | 2025-12-11 | v0.15.2 | Widgets adaptados a FocusSystem: numberentry, textarea, select, radio, slider, tabs |
| 2025-12-16 | v0.16.0 | TTF rasterization con antialiasing (supersampling 2x), tests con AdwaitaSans | | 2025-12-16 | v0.16.0 | TTF rasterization con antialiasing (supersampling 2x), tests con AdwaitaSans |
| 2025-12-16 | v0.16.1 | Fuente embebida: AdwaitaSans-Regular.ttf (~860KB), TtfFont.initEmbedded() |
--- ---
## ESTADO ACTUAL ## ESTADO ACTUAL
**✅ PROYECTO COMPLETADO - v0.16.0** **✅ PROYECTO COMPLETADO - v0.16.1**
> **Para detalles técnicos completos, ver `REFERENCE.md`** (1370 líneas de documentación) > **Para detalles técnicos completos, ver `REFERENCE.md`** (1370 líneas de documentación)