Analisi AI · Italiano
openai · gpt-4o-miniSintesi
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
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.
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.
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.
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
- Cursore a forma di topo che gira (personalizzabile)
- Modalità tradizionale 2D e nuova modalità 3D!
- Oggetti 3D inline
- Rendering del testo supportato da GPU
- Supporto immagini (tramite Kitty Graphics Protocol >:(
▶️ 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:
| Campo | Descrizione |
|---|---|
scale_factor | Scala il modello rispetto alla dimensione della cella del terminale |
brightness | Regola la luminosità del materiale del cursore |
x_offset | Sposta orizzontalmente il modello del cursore all'interno della cella |
plane_offset | Allontana il cursore dalla superficie distorta del terminale in modalità 3D |
visible | Mostra il modello del cursore 3D personalizzato invece del solo cursore del terminale |
Combinazioni di tasti
| Tasto | Azione |
|---|---|
Ctrl+Alt+C | Copia selezione |
Ctrl+Alt+V | Incolla dagli appunti |
Ctrl+Alt+Enter | Alterna modalità 2D / 3D |
Ctrl+Alt+M | Alterna modalità Mobius |
Ctrl+Alt+Su | Aumenta la distorsione |
Ctrl+Alt+Giù | Diminuisce la distorsione |
Alt+PagSu | Scorri una pagina su |
Alt+PagGiù | Scorri una pagina giù |
Alt+Su | Scorri una riga su |
Alt+Giù | Scorri una riga giù |
Ctrl+= | Aumenta la dimensione del font |
Ctrl+- | Diminuisce la dimensione del font |
Ctrl+Alt+0 | Resetta 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
.obje.glbtramite 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:
- Buffer Ratatui sulla CPU
- Parley/Vello renderizza sulla GPU
- Lettura di ritorno di RGBA sulla CPU
- Copia in un'immagine Bevy
- 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
Copyright © 2026, Orhun Parmaksız
Attività commit · ultime 26 settimane
stimaApprofondimenti AI
Chiedi al repo
AI · contesto README + issueFai una domanda sul progetto. L'AI legge README e issue recenti.
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.
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.
0x86ECDF546d8dFc0739d44c066A6110F11cdB7773bc1qqe0wcmhnt78enk8ql0lxvey4z8hquxsxjtyz8rEtTK61Lz7kfdDM8543TMMiAUUTbFVpzX5tvPEcBtZ3ajGrazie di cuore — ogni contributo conta.