orhun
orhun

ratty

A GPU-rendered terminal emulator with inline 3D graphics 🐀🧀

Analisi AI · Italiano

openai · gpt-4o-mini

Sintesi

Ratty è un emulatore di terminale all'avanguardia che supporta il rendering GPU e grafiche 3D inline, aggiungendo una dimensione visiva unica all'esperienza della riga di comando. Ispirato a TempleOS, permette agli utenti di interagire con oggetti 3D direttamente nel terminale e offre una modalità 3D immersiva. Il progetto mira a esplorare nuove possibilità per le interfacce a riga di comando, rendendole più interattive e visivamente ricche. È costruito con Rust e utilizza le librerie Ratatui e Bevy per la sua pipeline di rendering.

Casi d'uso

  • Sviluppatori che desiderano sperimentare con nuove interfacce a riga di comando più immersive e visivamente accattivanti.
  • Presentazioni tecniche o demo che richiedono un terminale unico con capacità grafiche avanzate per illustrare concetti in 3D.
  • Educatori che cercano strumenti innovativi per insegnare concetti di programmazione o grafica all'interno di un ambiente di terminale.
  • Artisti digitali o designer che esplorano l'intersezione tra riga di comando e arte generativa 3D.
  • Utenti che cercano un'alternativa agli emulatori di terminale tradizionali, con un focus sull'estetica e la personalizzazione visiva.

Idee SaaS / Business

Ratty Enterprise: Dashboard 3D per monitoraggio server

Una versione personalizzata di Ratty che integra dati di monitoraggio server e metriche in un dashboard 3D interattivo all'interno del terminale, permettendo agli amministratori di sistema di visualizzare lo stato dell'infrastruttura in modo più intuitivo e coinvolgente. Potrebbe includere modelli 3D di server rack, indicatori di carico in tempo reale e allarmi visivi.

Terminal Art & Gaming Platform

Una piattaforma basata su Ratty che consente agli artisti di creare e condividere 'arte terminale' in 3D o sviluppare piccoli giochi eseguiti direttamente nell'emulatore. Offrirebbe strumenti di editing grafico 3D integrati e un marketplace per asset o applicazioni, capitalizzando sulla natura unica del rendering 3D inline.

Formazione Interattiva per la Riga di Comando

Un ambiente di apprendimento SaaS dove gli utenti possono imparare comandi Linux, scripting e concetti di programmazione attraverso tutorial interattivi all'interno di Ratty. Le visualizzazioni 3D potrebbero essere utilizzate per spiegare strutture di dati, flussi di processo o architetture di sistema in modo più tangibile e memorabile.

Target utenti
Sviluppatori Rust, appassionati di terminali, professionisti della grafica e del design, ricercatori di interfacce utente, educatori nel campo della programmazione e chiunque sia interessato a esplorare nuove e innovative interfacce a riga di comando.
Categoria
Rust, Ratatui, Bevy
Monetizzazione
Il progetto potrebbe essere monetizzato tramite una versione 'Pro' o 'Enterprise' che offre funzionalità avanzate come temi personalizzati, supporto per più formati 3D, integrazioni con servizi cloud, funzionalità di collaborazione o un marketplace per modelli 3D e widget. Potrebbe anche esserci un modello di donazione o abbonamento per funzionalità premium o supporto prioritario.
Licenza
MIT License
Trend: L'interesse per Rust, le interfacce utente non convenzionali e la grafica 3D immersiva continua a crescere, posizionando Ratty in una nicchia di tendenza.

README · tradotto in italiano

Ratty: Un emulatore di terminale con rendering GPU e grafiche 3D inline 🧀

Ispirato da TempleOS | Costruito con Rust & Ratatui

“Sviluppatore ossessionato dai roditori crea Ratty per portare la grafica 3D alla riga di comando” - The Register “Questo nuovo terminale è assurdo (ma totalmente divertente)” - It's FOSS

Caratteristiche

▶️ Guarda il video demo qui! 📚 Leggi il post del blog dietro le quinte qui!

Modalità 3D

Ti sei mai chiesto cosa c'è dietro il terminale? Premi Ctrl+Alt+Enter!

Installazione

Requisiti:

  • Una GPU / stack grafico supportato da Bevy e wgpu
  • Formaggio fuso (opzionale ma raccomandato)

crates.io

cargo install ratty

Arch Linux

sudo pacman -S ratty

Versioni binarie

I binari precompilati sono disponibili sulla pagina delle release di GitHub per il download diretto.

Da Git

Requisiti:

  • Toolchain Rust con Cargo
  • su Bazzite / Bluefin: sudo rpm-ostree install gcc fontconfig-devel wayland-devel (poi riavvia)
  • su Debian / Ubuntu: sudo apt-get update ; sudo apt-get install gcc pkgconf libfontconfig-dev libwayland-dev
  • su Fedora: sudo dnf install gcc fontconfig-devel wayland-devel
cargo install --git https://github.com/orhun/ratty

Configurazione

Il file di configurazione predefinito è disponibile in config/ratty.toml.

Puoi copiare questo file in $HOME/.config/ratty/ratty.toml e personalizzarlo.

Cambiare il cursore

[cursor.model]
path = "CairoSpinyMouse.obj"
scale_factor = 6.0
brightness = 0.5
x_offset = 0.5
plane_offset = 18.0
visible = true

[cursor.animation]
spin_speed = 1.4
bob_speed = 2.2
bob_amplitude = 0.08

Per cursor.model.path, Ratty supporta sia asset .obj che .glb.

Altri campi utili del cursore sono:

CampoDescrizione
scale_factorScala il modello rispetto alla dimensione della cella del terminale
brightnessRegola la luminosità del materiale del cursore
x_offsetSposta orizzontalmente il modello del cursore all'interno della cella
plane_offsetAllontana il cursore dalla superficie distorta del terminale in modalità 3D
visibleMostra il modello del cursore 3D personalizzato invece del solo cursore del terminale

Combinazioni di tasti

TastoAzione
Ctrl+Alt+CCopia selezione
Ctrl+Alt+VIncolla dagli appunti
Ctrl+Alt+EnterAlterna modalità 2D / 3D
Ctrl+Alt+MAlterna modalità Mobius
Ctrl+Alt+SuAumenta la distorsione
Ctrl+Alt+GiùDiminuisce la distorsione
Alt+PagSuScorri una pagina su
Alt+PagGiùScorri una pagina giù
Alt+SuScorri una riga su
Alt+GiùScorri una riga giù
Ctrl+=Aumenta la dimensione del font
Ctrl+-Diminuisce la dimensione del font
Ctrl+Alt+0Resetta la dimensione del font

Oggetti 3D inline

Ratty utilizza il proprio protocollo, il Ratty Graphics Protocol, per posizionare oggetti 3D inline nello spazio del terminale.

RGP supporta:

  • Registrazione di asset .obj e .glb tramite percorso
  • Posizionamento in punti di ancoraggio delle celle del terminale
  • Animazione, scala, colore, profondità e altri attributi

È disponibile un widget Ratatui chiamato ratatui-rgp in widget/ se desideri costruire le tue applicazioni terminali che coinvolgono oggetti 3D inline.

Esempi

Caso 1: Grande topo

Posiziona un singolo topo sovradimensionato direttamente nel tuo terminale:

Caso 2: Documento

Demo di un documento ispirato a TempleOS con testo modificabile e oggetti 3D inline incorporati:

Caso 3: Disegno

Demo di disegno con pannello diviso, con una tela 2D a sinistra e un'anteprima 3D dal vivo a destra:

Architettura

Pipeline di rendering

La superficie del terminale attualmente utilizza ratatui per il buffer dell'interfaccia utente, parley_ratatui per il text shaping/rendering e Bevy per la presentazione della scena.

Flusso di lavoro attuale:

  1. Buffer Ratatui sulla CPU
  2. Parley/Vello renderizza sulla GPU
  3. Lettura di ritorno di RGBA sulla CPU
  4. Copia in un'immagine Bevy
  5. Bevy presenta quell'immagine in 2D e 3D

Il disegno del terminale è renderizzato dalla GPU tramite Parley/Vello, ma l'immagine principale del terminale attraversa ancora la memoria della CPU prima che Bevy la presenti. Questo è un ponte alimentato dalla GPU, non un percorso a texture condivise completamente residente sulla GPU.

Se il progetto si muovesse in seguito verso un percorso completamente residente sulla GPU, ciò richiederebbe un'integrazione di rendering Bevy dedicata che renderizzi in una texture posseduta da Bevy sul dispositivo del render-world di Bevy invece di utilizzare l'attuale ponte di readback.

Licenza

Tutto il codice è concesso in licenza sotto The MIT License.

Crediti

Logo di Ratty progettato da @Strophox & @Harunocaksiz

Copyright © 2026, Orhun Parmaksız

Attività commit · ultime 26 settimane

stima

Approfondimenti AI

L'AI sta preparando gli approfondimenti…

Chiedi al repo

AI · contesto README + issue

Fai una domanda sul progetto. L'AI legge README e issue recenti.

Sponsor · Sconto esclusivo RepoRadar AI

Hai bisogno di un server per far girare orhun/ratty?

Abbiamo testato decine di provider e Hostinger VPS è il miglior rapporto qualità/prezzo per self-hostare le repo che trovi qui. Setup in 1 click, pannello semplice e supporto 24/7.

Deploy in 1 click
2 vCPU · 8 GB RAM · NVMe
Backup + DDoS inclusi
Attiva sconto Hostinger VPSLink affiliato — supporti RepoRadar senza costi extra per te.

Questo progetto esiste grazie a voi

RepoRadar AI è gratis e senza pubblicità. Le donazioni coprono server, API e modelli AI.

Ogni analisi tradotta che leggi costa qualche centesimo di chiamate al modello. Se RepoRadar ti ha fatto risparmiare tempo, considera una piccola donazione cripto — anche pochi euro aiutano a mantenere il servizio libero per tutti.

Ethereum
ETH
0x86ECDF546d8dFc0739d44c066A6110F11cdB7773
Bitcoin
BTC
bc1qqe0wcmhnt78enk8ql0lxvey4z8hquxsxjtyz8r
Solana
SOL
EtTK61Lz7kfdDM8543TMMiAUUTbFVpzX5tvPEcBtZ3aj

Grazie di cuore — ogni contributo conta.