Skip to content

id: research: image/video conversion tooling — kitty graphics protocol and video-to-ASCII #5971

Open

Description

@dezren39

Part of the worlds design program: #5955. Statements S73–S74 of the 2026-11-04 brief. Filed as dedicated research per Drew's rule for sub-parts needing their own documentation.

Task (Drew, in substance)

We need a basic system to convert images and videos into the kitty protocol, and there are also IDF video-to-ASCII tools out there — some of those might be used as well. Survey what exists before building anything:

  • Kitty graphics protocol: encoder/tooling landscape (library support, terminal support matrix), stills vs animation/video over the protocol, bandwidth and chunking behavior.
  • Adjacent terminal graphics: sixel, iTerm2 inline images — only insofar as the fallback tiers need them.
  • Video-to-ASCII: the IDF tools Drew names and the wider field (jp2a-style stills pipelines, mpv ASCII outputs, dedicated converters) — quality, speed, color fidelity, licensing (this feeds the licensing program too: a converter's license constrains bundling).
  • Where conversion should live: upload-time (presentation-layer conversion tools, per the assets design child of #5955), client-side at render time, or both for different tiers.

Not this

#787 is the kitty keyboard protocol on the raw input path — a different protocol that happens to share the terminal. This research is graphics/media only; don't merge the two.

Done looks like

A research doc: tooling survey with licenses, a recommended converter pipeline per tier (kitty graphics / ASCII video / static ASCII), and the conversion-placement decision with reasons.

Activity

  1. developing-today commented on Nov 5, 2026

    @developing-today
    Contributor
  2. added
    priority/lowNice to have; do when convenient
    app/idPackage/app: id (pkgs/ or apps/ in this repo)
    kind/designA design proposal (design-architect): multi-step, phased, decision-bearing
    queue/queuedHas a queued task in the Supabase agent queue
    task/triageQueue packet kind: verify, reproduce, and route this item
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 5, 2026
  3. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done

    Triage findings (verified fresh 2026-11-05):

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

app/idPackage/app: id (pkgs/ or apps/ in this repo)kind/designA design proposal (design-architect): multi-step, phased, decision-bearingpriority/lowNice to have; do when convenienttask/triageQueue packet kind: verify, reproduce, and route this item

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions