← לדף הבית

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/. מסך היסטוריה ניתן לדפדוף בתוך האפליקציה.

מקור: github.com/avakado0/tui-breath