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.TerminalRenderImagedefines immutable pixels that may outlive a frame;TerminalRenderImageSinkdelivers borrowed placement geometry and source crops.TerminalRenderAttrs,TerminalRenderExtraAttrs, andTerminalRenderCellFlagsdefine the public cell encoding, independently of core storage.TerminalColorPaletteresolves 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.