3.2 Core Functions
/* Lifecycle */
d3tui_terminal_t *d3tui_term_create(const d3tui_term_config_t *config);
void d3tui_term_destroy(d3tui_terminal_t *term);
/* Input */
void d3tui_term_input(d3tui_terminal_t *term, const uint8_t *data, size_t len);
void d3tui_term_putc(d3tui_terminal_t *term, uint32_t codepoint);
void d3tui_term_puts(d3tui_terminal_t *term, const char *str);
/* State queries */
const d3tui_cell_t *d3tui_term_get_cell(const d3tui_terminal_t *term,
uint16_t row, uint16_t col);
void d3tui_term_get_cursor(const d3tui_terminal_t *term,
uint16_t *row, uint16_t *col);
bool d3tui_term_is_cursor_visible(const d3tui_terminal_t *term);
/* Buffer operations */
void d3tui_term_clear(d3tui_terminal_t *term);
void d3tui_term_clear_line(d3tui_terminal_t *term, uint16_t row);
void d3tui_term_scroll_up(d3tui_terminal_t *term, uint16_t lines);
void d3tui_term_scroll_down(d3tui_terminal_t *term, uint16_t lines);
/* Scrollback */
void d3tui_term_scrollback_up(d3tui_terminal_t *term, uint16_t lines);
void d3tui_term_scrollback_down(d3tui_terminal_t *term, uint16_t lines);
void d3tui_term_scrollback_reset(d3tui_terminal_t *term);
/* Configuration */
void d3tui_term_set_config(d3tui_terminal_t *term,
const d3tui_term_config_t *config);
void d3tui_term_set_colors(d3tui_terminal_t *term,
const uint32_t *palette, size_t count);