tui playground.
outils terminal, open source
[01] batu@batu0:~/playground
Petits outils tranchants pour le terminal. Chacun fait une chose bien et se livre en un seul cargo install.
tui-breath
avr. – mai 2026Guide de respiration pour terminal. Cycles guidés inspiration / pause / expiration avec un cercle animé fluide, trois rythmes, et historique de session sauvegardé sur disque.
Rust · ratatui · crossterm · tokio
cargo install tui_breath cargo uninstall tui_breath [02] batu@batu0:~/playground/tui-breath/how-it-works
Je l'ai construit parce que les apps de respiration veulent vivre sur ton téléphone et te notifier sur ton parcours de pleine conscience. Je voulais quelque chose que je puisse déclencher depuis le même environnement où je travaille — sans cérémonie, sans changement d'app.
Comment c'est construit
Cinq états : Menu → Setup → Session → Results → History, transitions garanties à la compilation par pattern matching exhaustif sur enum. Le BreathingEngine est une struct Copy — calcul pur, sans I/O — donc le SessionAnimator le lit comme une valeur plutôt que de coordonner avec lui.
La couche d'animation est écrite à la main : Lerp pour des fondus de couleur de 800 ms, Typewriter pour les révélations de labels de phase, Pulse pour la luminosité en phase de pause. Aucune dépendance d'easing externe — c'est ce qui a fait passer cargo publish proprement du premier coup.
Trois rythmes prêts à l'emploi
- 4-7-8 — inspirer 4s, retenir 7s, expirer 8s. Anti-anxiété classique.
- Box Breathing — 4-4-4-4. Utilisé en contextes militaires et de performance athlétique.
- Diaphragmatique — respiration ventrale lente pour la concentration durable.
Durée de session en cycles (1–100), vitesse en multiplicateur 0,5×–2,0×. Résultats et journaux d'événements complets persistés à ~/.local/share/tui_breath/sessions/. Écran d'historique navigable depuis l'app.
Source : github.com/avakado0/tui-breath