# Terminal image

Source: /tuil/docs/reference/components/terminal-image
Locale: en

Render terminal images when the capability profile permits them and deterministic text fallbacks everywhere else.





## Overview [#overview]

Render terminal images when the capability profile permits them and deterministic text fallbacks everywhere else.

<PublishedStory storyId="platform-expansion" variant="TerminalImage" />

## Components and subcomponents [#components-and-subcomponents]

| API                                                                                      | Signature                      | Description                          |
| ---------------------------------------------------------------------------------------- | ------------------------------ | ------------------------------------ |
| [`TerminalImage`](/tuil/docs/reference/components/terminal-image/terminal-image)              | `function TerminalImage`       | Public function TerminalImage.       |
| [`renderTerminalImage`](/tuil/docs/reference/components/terminal-image/render-terminal-image) | `function renderTerminalImage` | Public function renderTerminalImage. |

## Interaction [#interaction]

Image output follows terminal capability detection and explicit dimensions.

## API and events [#api-and-events]

No events are emitted.

Every interactive component publishes semantic roles, labels, state, and focus
identity through the renderer's `SemanticRegistry`. Callback failures flow to
the owning application's error boundary.

<Mermaid
  chart="flowchart LR
  S0[&#x22;props and runtime state&#x22;]
  S1[&#x22;semantic registration&#x22;]
  S2[&#x22;focus and input routing&#x22;]
  S3[&#x22;callback or state update&#x22;]
  S4[&#x22;rerender&#x22;]
  S0 --> S1
  S1 --> S2
  S2 --> S3
  S3 --> S4"
/>

## Example [#example]

```tsx
import type { ComponentProps } from "react";
import { TerminalImage } from "@mwillbanks/tuil-ink";

export function Example(props: ComponentProps<typeof TerminalImage>) {
  return <TerminalImage {...props} />;
}
```

Registry-installed components are source-owned: customize the generated file in
your application, and use the package reference for the shared runtime contracts.
