tui playground.
כלי מסוף, קוד פתוח
[01] batu@batu0:~/playground
כלים קטנים וחדים למסוף. כל אחד עושה דבר אחד היטב ומגיע ב־cargo install אחד.
tui-breath
אפר. – מאי 2026מדריך נשימה למסוף. מחזורי שאיפה / החזקה / נשיפה מודרכים עם עיגול אנימציה חלק, שלוש תבניות והיסטוריית סשנים שמורה לדיסק.
Rust · ratatui · crossterm · tokio
cargo install tui_breath cargo uninstall tui_breath [02] batu@batu0:~/playground/tui-breath/how-it-works
בניתי את זה כי אפליקציות נשימה רוצות לחיות בטלפון שלך ולהתריע לך על מסע המיינדפולנס שלך. רציתי משהו שאוכל להפעיל מאותה סביבה שבה אני עובד — בלי טקסים, בלי החלפת אפליקציה.
איך זה בנוי
חמישה מצבים: Menu → Setup → Session → Results → History, מעברים נאכפים בזמן הידור על־ידי pattern matching ממצה על enum. ה־BreathingEngine הוא struct של Copy — חישוב טהור, ללא I/O — כך ש־SessionAnimator קורא אותו כערך ולא מתאם איתו.
שכבת האנימציה כתובה ביד: Lerp ל־crossfades צבעוניים של 800ms, Typewriter לחשיפת תוויות פאזה, Pulse לבהירות בפאזת ההחזקה. אפס תלות חיצונית של easing — זה מה שהעביר את cargo publish נקי בניסיון הראשון.
שלוש תבניות מהקופסה
- 4-7-8 — שאיפה 4 שניות, החזקה 7 שניות, נשיפה 8 שניות. שובר חרדה קלאסי.
- Box Breathing — 4-4-4-4. בשימוש בהקשרים צבאיים ובביצועים אתלטיים.
- סרעפתי — נשימה איטית מהבטן לריכוז ממושך.
משך הסשן במחזורים (1–100), מהירות במכפיל 0.5×–2.0×. תוצאות ולוגים מלאים נשמרים תחת ~/.local/share/tui_breath/sessions/. מסך היסטוריה ניתן לדפדוף בתוך האפליקציה.