/ archive / python-cli-final / kamaji / ascii_art.py
ascii_art.py
  1  """
  2  ASCII art for Kamaji TUI interface using Rich components.
  3  """
  4  
  5  from rich.text import Text
  6  from rich.console import Console
  7  
  8  
  9  def get_kamaji_art_with_kanji(kanji_chars, show_kanji=False):
 10      """Get Kamaji ASCII art with floating kanji around his face."""
 11      import random
 12      
 13      art = Text()
 14      
 15      # Title border
 16      art.append("  ╭─────────────────────────────╮\n", style="bold red")
 17      art.append("  │", style="bold red")
 18      art.append(" 🎭 KAMAJI - Multi-Agent AI ", style="bold yellow")
 19      art.append("│\n", style="bold red")
 20      art.append("  ╰─────────────────────────────╯\n", style="bold red")
 21      
 22      # Enhanced furnaces with better fire
 23      art.append("     ╭─╮ ╭─╮ ╭─╮ ╭─╮\n", style="bold #8B4513")
 24      art.append("    ╱🔥╲╱🔥╲╱🔥╲╱🔥╲\n", style="bold #FF4500")
 25      art.append("   │▓▓││▓▓││▓▓││▓▓│\n", style="bold #696969")
 26      art.append("    ╲▓╱ ╲▓╱ ╲▓╱ ╲▓╱\n", style="bold #8B4513")
 27      
 28      # Arms and body
 29      art.append(" ╭─╮╭─╮ ║ ║ ║ ║ ╭─╮╭─╮\n", style="bold #8B4513")
 30      art.append("╱⚙⚙╲⚙⚙╲║ ║ ║ ║╱⚙⚙╲⚙⚙╲\n", style="bold #FFD700")
 31      art.append("│▓▓││▓▓│║ ║ ║ ║│▓▓││▓▓│\n", style="bold #696969")
 32      art.append("╲▓▓╱╲▓▓╱╲═╩═╩═╱╲▓▓╱╲▓▓╱\n", style="bold #8B4513")
 33      
 34      # Kamaji's face with floating kanji
 35      if show_kanji and kanji_chars:
 36          k1, k2, k3, k4 = random.choices(kanji_chars, k=4)
 37          color = "#FF4500"  # Same as fire color
 38          art.append(f"  ║ ║ {k1}╱ ◉   ◉ ╲{k2} ║ ║\n", style=f"bold {color}")
 39          art.append(f"  ║ ║{k3}│   ▼   │{k4}║ ║\n", style=f"bold {color}")
 40      else:
 41          art.append("  ║ ║  ╱ ◉   ◉ ╲  ║ ║\n", style="bold #DEB887")
 42          art.append("  ║ ║ │   ▼   │ ║ ║\n", style="bold #DEB887")
 43      
 44      art.append("  ║ ║  ╲ ╔═╗ ╱  ║ ║\n", style="bold #DEB887")
 45      art.append("  ║ ║   ╲║█║╱   ║ ║\n", style="bold #8B4513")
 46      
 47      # Lower arms and base
 48      art.append(" ╭┴╮╭┴╮       ╭┴╮╭┴╮\n", style="bold #8B4513")
 49      art.append("╱⚙⚙╲⚙⚙╲ ╭─╮ ╱⚙⚙╲⚙⚙╲\n", style="bold #FFD700")
 50      art.append("│▓▓││▓▓│╱⚙⚙╲│▓▓││▓▓│\n", style="bold #696969")
 51      art.append("╲▓▓╱╲▓▓╱ │▓▓│ ╲▓▓╱╲▓▓╱\n", style="bold #8B4513")
 52      
 53      return art
 54  
 55  
 56  def _create_compact_kamaji():
 57      """Create compact Kamaji ASCII art with Rich Text."""
 58      art = Text()
 59      
 60      # Title border
 61      art.append("  ╭─────────────────────────────╮\n", style="bold red")
 62      art.append("  │", style="bold red")
 63      art.append(" 🎭 KAMAJI - Multi-Agent AI ", style="bold yellow")
 64      art.append("│\n", style="bold red")
 65      art.append("  ╰─────────────────────────────╯\n", style="bold red")
 66      
 67      # Enhanced furnaces with better fire
 68      art.append("     ╭─╮ ╭─╮ ╭─╮ ╭─╮\n", style="bold #8B4513")
 69      art.append("    ╱🔥╲╱🔥╲╱🔥╲╱🔥╲\n", style="bold #FF4500")
 70      art.append("   │▓▓││▓▓││▓▓││▓▓│\n", style="bold #696969")
 71      art.append("    ╲▓╱ ╲▓╱ ╲▓╱ ╲▓╱\n", style="bold #8B4513")
 72      
 73      # Arms and body with kanji floating around
 74      art.append(" ╭─╮╭─╮ ║ ║ ║ ║ ╭─╮╭─╮\n", style="bold #8B4513")
 75      art.append("╱⚙⚙╲⚙⚙╲║ ║ ║ ║╱⚙⚙╲⚙⚙╲\n", style="bold #FFD700")
 76      art.append("│▓▓││▓▓│║ ║ ║ ║│▓▓││▓▓│\n", style="bold #696969")
 77      art.append("╲▓▓╱╲▓▓╱╲═╩═╩═╱╲▓▓╱╲▓▓╱\n", style="bold #8B4513")
 78      
 79      # Kamaji's face with floating kanji
 80      art.append("  ║ ║  ╱ ◉   ◉ ╲  ║ ║\n", style="bold #DEB887")
 81      art.append("  ║ ║ │   ▼   │ ║ ║\n", style="bold #DEB887")
 82      art.append("  ║ ║  ╲ ╔═╗ ╱  ║ ║\n", style="bold #DEB887")
 83      art.append("  ║ ║   ╲║█║╱   ║ ║\n", style="bold #8B4513")
 84      
 85      # Lower arms and base
 86      art.append(" ╭┴╮╭┴╮       ╭┴╮╭┴╮\n", style="bold #8B4513")
 87      art.append("╱⚙⚙╲⚙⚙╲ ╭─╮ ╱⚙⚙╲⚙⚙╲\n", style="bold #FFD700")
 88      art.append("│▓▓││▓▓│╱⚙⚙╲│▓▓││▓▓│\n", style="bold #696969")
 89      art.append("╲▓▓╱╲▓▓╱ │▓▓│ ╲▓▓╱╲▓▓╱\n", style="bold #8B4513")
 90      
 91      return art
 92      art.append("     ╭─╮ ╭─╮ ╭─╮ ╭─╮\n", style="bold orange1")
 93      art.append("    ╱", style="bold orange1")
 94      art.append("🔥", style="bold red")
 95      art.append("╲╱", style="bold orange1")
 96      art.append("🔥", style="bold red")
 97      art.append("╲╱", style="bold orange1")
 98      art.append("🔥", style="bold red")
 99      art.append("╲╱", style="bold orange1")
100      art.append("🔥", style="bold red")
101      art.append("╲\n", style="bold orange1")
102      art.append("   │", style="bold orange1")
103      art.append("▓▓", style="bold red")
104      art.append("││", style="bold orange1")
105      art.append("▓▓", style="bold red")
106      art.append("││", style="bold orange1")
107      art.append("▓▓", style="bold red")
108      art.append("││", style="bold orange1")
109      art.append("▓▓", style="bold red")
110      art.append("│\n", style="bold orange1")
111      art.append("    ╲▓╱ ╲▓╱ ╲▓╱ ╲▓╱\n", style="bold orange1")
112      
113      # Enhanced arms with more detail
114      art.append(" ╭─╮╭─╮", style="bold cyan")
115      art.append(" ║ ║ ║ ║ ", style="dim yellow")
116      art.append("╭─╮╭─╮\n", style="bold cyan")
117      
118      art.append("╱", style="bold cyan")
119      art.append("⚙⚙", style="bold yellow")
120      art.append("╲", style="bold cyan")
121      art.append("⚙⚙", style="bold yellow")
122      art.append("╲", style="bold cyan")
123      art.append("║ ║ ║ ║", style="dim yellow")
124      art.append("╱", style="bold cyan")
125      art.append("⚙⚙", style="bold yellow")
126      art.append("╲", style="bold cyan")
127      art.append("⚙⚙", style="bold yellow")
128      art.append("╲\n", style="bold cyan")
129      
130      art.append("│", style="bold cyan")
131      art.append("▓▓", style="dim white")
132      art.append("││", style="bold cyan")
133      art.append("▓▓", style="dim white")
134      art.append("│", style="bold cyan")
135      art.append("║ ║ ║ ║", style="dim yellow")
136      art.append("│", style="bold cyan")
137      art.append("▓▓", style="dim white")
138      art.append("││", style="bold cyan")
139      art.append("▓▓", style="dim white")
140      art.append("│\n", style="bold cyan")
141      
142      art.append("╲", style="bold cyan")
143      art.append("▓▓", style="dim white")
144      art.append("╱╲", style="bold cyan")
145      art.append("▓▓", style="dim white")
146      art.append("╱", style="bold cyan")
147      art.append("╲═╩═╩═╱", style="bold magenta")
148      art.append("╲", style="bold cyan")
149      art.append("▓▓", style="dim white")
150      art.append("╱╲", style="bold cyan")
151      art.append("▓▓", style="dim white")
152      art.append("╱\n", style="bold cyan")
153      
154      # Enhanced face with more character
155      art.append("  ║ ║", style="dim yellow")
156      art.append("  ╱", style="bold magenta")
157      art.append(" ◉", style="bold white")
158      art.append("   ", style="dim white")
159      art.append("◉", style="bold white")
160      art.append(" ╲", style="bold magenta")
161      art.append("  ║ ║\n", style="dim yellow")
162      
163      art.append("  ║ ║", style="dim yellow")
164      art.append(" │", style="bold magenta")
165      art.append("   ", style="dim white")
166      art.append("▼", style="bold white")
167      art.append("   ", style="dim white")
168      art.append("│", style="bold magenta")
169      art.append(" ║ ║\n", style="dim yellow")
170      
171      art.append("  ║ ║", style="dim yellow")
172      art.append("  ╲", style="bold magenta")
173      art.append(" ╔═╗", style="bold red")
174      art.append(" ╱", style="bold magenta")
175      art.append("  ║ ║\n", style="dim yellow")
176      
177      art.append("  ║ ║", style="dim yellow")
178      art.append("   ╲", style="bold magenta")
179      art.append("║", style="bold red")
180      art.append("█", style="bold black")
181      art.append("║", style="bold red")
182      art.append("╱", style="bold magenta")
183      art.append("   ║ ║\n", style="dim yellow")
184      
185      # Enhanced lower arms with more gears
186      art.append(" ╭┴╮╭┴╮", style="bold cyan")
187      art.append("       ", style="dim white")
188      art.append("╭┴╮╭┴╮\n", style="bold cyan")
189      
190      art.append("╱", style="bold cyan")
191      art.append("⚙⚙", style="bold yellow")
192      art.append("╲", style="bold cyan")
193      art.append("⚙⚙", style="bold yellow")
194      art.append("╲", style="bold cyan")
195      art.append(" ╭─╮ ", style="bold green")
196      art.append("╱", style="bold cyan")
197      art.append("⚙⚙", style="bold yellow")
198      art.append("╲", style="bold cyan")
199      art.append("⚙⚙", style="bold yellow")
200      art.append("╲\n", style="bold cyan")
201      
202      art.append("│", style="bold cyan")
203      art.append("▓▓", style="dim white")
204      art.append("││", style="bold cyan")
205      art.append("▓▓", style="dim white")
206      art.append("│", style="bold cyan")
207      art.append("╱", style="bold green")
208      art.append("⚙⚙", style="bold yellow")
209      art.append("╲", style="bold green")
210      art.append("│", style="bold cyan")
211      art.append("▓▓", style="dim white")
212      art.append("││", style="bold cyan")
213      art.append("▓▓", style="dim white")
214      art.append("│\n", style="bold cyan")
215      
216      art.append("╲", style="bold cyan")
217      art.append("▓▓", style="dim white")
218      art.append("╱╲", style="bold cyan")
219      art.append("▓▓", style="dim white")
220      art.append("╱", style="bold cyan")
221      art.append(" │", style="bold green")
222      art.append("▓▓", style="dim white")
223      art.append("│ ", style="bold green")
224      art.append("╲", style="bold cyan")
225      art.append("▓▓", style="dim white")
226      art.append("╱╲", style="bold cyan")
227      art.append("▓▓", style="dim white")
228      art.append("╱", style="bold cyan")
229  
230      return art