Cati Documentation Index
Welcome to the Cati developer documentation. The following resources cover our project guides, code rules, and architecture:
- System Documentation — Rendering pipeline, design decisions, viewer core consolidation, line-width invariant, offline website asset generation, and licensing.
- Render Pipelines — Step-by-step Mermaid diagrams and spatial character art pixel flows for each render mode (half-block, quad-block, sextant, sparkline).
- Video & Audio Pipeline — FPS/dimension probing, rawvideo pipe, one-frame-per-tick loop, play-once vs loop, input resilience, audio via ffplay.
- Interactive Grid Browser — Page layouts, composite thumbnail grids, mouse tracking, async thumb loading, space-pan, raw terminal swaps.
- Terminal Input System —
spec/input.yamldecision tree,internal/inputpackage, SGR 1006 mouse protocol, UTF-8 tokenization, move vs drag,--input-testTUI. Read before touching input handling orspec/input.yaml. - Spec System — Authoritative Reference — Spec-as-code philosophy, file map, key dispatch pipeline, quality invariants, agent rules, integrity tests, and change checklist. Read this before touching any
spec/file or its Go loaders. - Spec System & Browser Design — The
spec/YAML-driven config system: template engine (renderTpl/if()), color system, button/label/view pipeline, full hint-bar variable table (meta.*,ssim,last_key, …), scrollbar, dense-mode grid, split-screen preview. - Quad-Block Pixel Art — Half-block vs. quad-block layout math, the 2× horizontal stretch aspect-ratio correction, neighbour-aware colour quantisation, and the quadrant character lookup table.
- Sparkline Pixel Art — Sparkline layout math, horizontal and vertical orientation, optimal-split character and color selection, and the test helper suite.
- Render Experiment Lessons — Short notes from the removed sextant search and geomshape render experiments.
- Rendering Bug & Golden-Change Playbook — How to diagnose visual/geometry bugs (prove the root cause with numbers first) and change golden images safely. Read before fixing any rendering bug or touching
testdata/goldens. - Go Library API — Import and use Cati’s high-performance renderers in your own Go applications and TUIs.
- Go Conventions — Development guidelines for writing Go code, state management, error handling, CLI verbs, and testing.
- Make Conventions — Standardized Makefile structures, target phony declarations using the sentinel
⚙️trick, and self-documenting rules.
Issues
Tracked in ../issues/ — concrete bugs, design problems, and features with resolution notes.