Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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 Systemspec/input.yaml decision tree, internal/input package, SGR 1006 mouse protocol, UTF-8 tokenization, move vs drag, --input-test TUI. Read before touching input handling or spec/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.