From 362393dd10d291baa06d4ff0d4cd7964f7c30fce Mon Sep 17 00:00:00 2001 From: reugenio Date: Tue, 16 Dec 2025 01:27:26 +0100 Subject: [PATCH] docs: Bump zcatgui to v0.16.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- CLAUDE.md | 44 +++++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index ca3b61e..2f7a800 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -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 -zsimifactu se ve "años 90" con fuentes bitmap 8x16. Necesitamos TTF con antialiasing. +### Uso +```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) -- ✅ Parsing TTF completo -- ✅ Lookup de glyphs -- ✅ Métricas -- ❌ `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 +### Archivos clave +- `src/render/ttf.zig` - Parsing y rasterización TTF +- `src/render/embedded_font.zig` - Fuente embebida +- `src/render/fonts/AdwaitaSans-Regular.ttf` - Datos de fuente --- @@ -104,7 +105,7 @@ zsimifactu se ve "años 90" con fuentes bitmap 8x16. Necesitamos TTF con antiali | Campo | Valor | |-------|-------| | **Nombre** | zcatgui | -| **Versión** | v0.16.0 | +| **Versión** | v0.16.1 | | **Fecha inicio** | 2025-12-09 | | **Estado** | ✅ COMPLETO - 37 widgets, ~35K LOC, 4 backends | | **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/ @@ -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.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.1 | Fuente embebida: AdwaitaSans-Regular.ttf (~860KB), TtfFont.initEmbedded() | --- ## 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)