Back to browse
GitHub Repository

Serious React TUI renderer for serious CLI apps. Pure TypeScript Yoga layout, diff-based rendering, ScrollBox, alt buffer, mouse events, draggable and resizable components.

2 starsTypeScript

Drag-and-Drop in the Terminal

by re-marked·Apr 29, 2026·2 points·0 comments

AI Analysis

●●SolidWizardryNiche Gem

Cell-by-cell diff rendering hits O(changed cells) while Ink redraws entire frames.

Strengths
  • Cell-by-cell diff rendering achieves O(changed cells) not O(rows × cols)
  • Pure TypeScript Yoga layout with draggable and resizable component primitives
  • ScrollBox with sticky scroll and alt buffer support for streaming output
Weaknesses
  • Ink already dominates the React TUI renderer space with larger community
  • Terminal drag-and-drop solves niche problems most CLI apps don't have
Target Audience

Terminal app developers, CLI tool builders

Similar To

Ink · Blessed · Terminal.js

Post Description

I built drag-and-drop in the terminal.

You can grab an element with a mouse, drag it, drop it on a target, and drag-select text inside it across wrapped rows.

It's built in Yokai, my Ink fork: a React TUI renderer with pure-TS Yoga layout, diff-based rendering, ScrollBox, alt buffer, mouse events, and draggable/resizable components.

I built Yokai because I kept hitting Ink's limits and needed things Ink couldn't offer for my TUI-based project.

Try it:

pnpm demo:scratchpad # draggable editor window (an opaque sticky note you can drag across the screen and edit) pnpm demo:drag # drag rectangles into a drop zone (the one in the readme banner)

Similar Projects

Open Source●●Solid

We open sourced Vapi – UI included

Open-source Vapi alternative with drag-and-drop builder and zero per-minute fees.

Niche GemShip It
pritesh1908
873mo ago