DevelopmentAll versions
On this page

Module ketraterm-render-api

Primitive renderer-facing contracts in io.github.ketraterm.render.api. Its only production dependency is the Kotlin standard library.

Ownership

  • TerminalRenderFrameReader, TerminalRenderFrame, and callback sinks define synchronous borrowed reads and primitive row/cluster/cursor copying.
  • TerminalRenderImage defines immutable pixels that may outlive a frame; TerminalRenderImageSink delivers borrowed placement geometry and source crops.
  • TerminalRenderAttrs, TerminalRenderExtraAttrs, and TerminalRenderCellFlags define the public cell encoding, independently of core storage.
  • TerminalColorPalette resolves primary attributes to packed ARGB values and protects its indexed color storage with defensive copies.

Reader implementations own consistency and synchronization. Render cache owns retained copies; UI modules own fonts, layout, shaping, painting, and blink timers.

Further reading