@whykusanagi/corrupted-theme 0.1.2 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/CHANGELOG.md +157 -0
  2. package/README.md +6 -0
  3. package/docs/CHARACTER_LEVEL_CORRUPTION.md +264 -0
  4. package/docs/CORRUPTION_PHRASES.md +529 -0
  5. package/docs/ROADMAP.md +266 -0
  6. package/docs/STYLE_GUIDE.md +605 -0
  7. package/docs/brand/BRAND_OVERVIEW.md +413 -0
  8. package/docs/brand/COLOR_SYSTEM.md +583 -0
  9. package/docs/brand/DESIGN_TOKENS.md +1009 -0
  10. package/docs/brand/TRANSLATION_FAILURE_AESTHETIC.md +525 -0
  11. package/docs/brand/TYPOGRAPHY.md +624 -0
  12. package/docs/components/ANIMATION_GUIDELINES.md +901 -0
  13. package/docs/components/COMPONENT_LIBRARY.md +1061 -0
  14. package/docs/components/GLASSMORPHISM.md +602 -0
  15. package/docs/components/INTERACTIVE_STATES.md +766 -0
  16. package/docs/governance/CONTRIBUTION_GUIDELINES.md +593 -0
  17. package/docs/governance/DESIGN_SYSTEM_GOVERNANCE.md +451 -0
  18. package/docs/governance/VERSION_MANAGEMENT.md +447 -0
  19. package/docs/governance/VERSION_REFERENCES.md +229 -0
  20. package/docs/platforms/COMPONENT_MAPPING.md +579 -0
  21. package/docs/platforms/NPM_PACKAGE.md +854 -0
  22. package/docs/platforms/WEB_IMPLEMENTATION.md +1221 -0
  23. package/docs/standards/ACCESSIBILITY.md +715 -0
  24. package/docs/standards/ANTI_PATTERNS.md +554 -0
  25. package/docs/standards/SPACING_SYSTEM.md +549 -0
  26. package/examples/button.html +1 -1
  27. package/examples/card.html +1 -1
  28. package/examples/form.html +1 -1
  29. package/examples/index.html +2 -2
  30. package/examples/layout.html +1 -1
  31. package/examples/nikke-team-builder.html +1 -1
  32. package/examples/showcase-complete.html +840 -15
  33. package/examples/showcase.html +1 -1
  34. package/package.json +16 -3
  35. package/src/css/components.css +676 -0
  36. package/src/lib/character-corruption.js +563 -0
  37. package/src/lib/components.js +283 -0
@@ -0,0 +1,605 @@
1
+ # Celeste CLI Style Guide
2
+
3
+ **Translation-Failure Corruption Aesthetic - Official Style Documentation**
4
+
5
+ This document defines the visual and textual styling standards for CelesteCLI. These rules MUST be followed for all UI components, dashboard outputs, and user-facing text to maintain Celeste's brand identity.
6
+
7
+ > **Based on**: `@whykusanagi/corrupted-theme` official npm package
8
+ > **Updated**: 2025-12-12 - Corrected to remove leet speak entirely
9
+
10
+ ---
11
+
12
+ ## Core Principle: Translation-Failure Corruption
13
+
14
+ Celeste's aesthetic simulates a **multilingual AI system glitching between languages mid-translation**. Think of a corrupted translation engine that randomly switches between:
15
+
16
+ - **English** (primary language)
17
+ - **Japanese Kanji** (漢字) - meaning-based characters
18
+ - **Japanese Katakana** (カタカナ) - foreign word phonetics
19
+ - **Japanese Hiragana** (ひらがな) - native phonetics
20
+ - **Romaji** (rōmaji) - Japanese written in Latin alphabet
21
+
22
+ The corruption happens **at the character level** - individual letters get replaced with Japanese characters or symbols, creating a cyberpunk aesthetic of data corruption across language barriers.
23
+
24
+ ---
25
+
26
+ ## ❌ FORBIDDEN: Leet Speak
27
+
28
+ **DO NOT USE number substitutions** for letters:
29
+ - ❌ 4 for a
30
+ - ❌ 3 for e
31
+ - ❌ 1 for i or l
32
+ - ❌ 0 for o
33
+ - ❌ 5 for s
34
+ - ❌ 7 for t
35
+
36
+ **Examples of BANNED styling**:
37
+ ```
38
+ ❌ "US4G3 4N4LYT1CS"
39
+ ❌ "ST4TS D4SHB04RD"
40
+ ❌ "c0rrupt1on"
41
+ ❌ "l0ad1ng"
42
+ ❌ "pr0cess1ng"
43
+ ```
44
+
45
+ This is **1990s leet speak**, not Celeste's corruption aesthetic.
46
+
47
+ ---
48
+
49
+ ## ✅ CORRECT: Translation-Failure Mixing
50
+
51
+ ### How It Works
52
+
53
+ Characters randomly get replaced with Japanese equivalents during "corruption":
54
+
55
+ **English → Katakana** (most common):
56
+ - loading → ローディング (rōdingu)
57
+ - processing → プロセス (purosesu)
58
+ - session → セッション (sesshon)
59
+ - error → エラー (erā)
60
+
61
+ **English → Kanji** (for meaning):
62
+ - corrupt → 壊 (kowas/broken)
63
+ - void → 虚 (kyo/emptiness)
64
+ - analyze → 分析 (bunseki)
65
+ - watch → 監視 (kanshi)
66
+
67
+ **English → Hiragana** (rare, for particles):
68
+ - ing → 中 (chū/in progress)
69
+ - the → の (no/possessive)
70
+
71
+ **English → Romaji** (transliterated):
72
+ - corrupting → kowarete
73
+ - watching → miteiru
74
+ - loading → rōdo
75
+
76
+ ### Practical Examples
77
+
78
+ **Single-word corruption** (25-40% character replacement):
79
+ ```
80
+ "loading..." → "loaディング..."
81
+ "processing..." → "pro理cessing..."
82
+ "analyzing..." → "ana分lysing..."
83
+ "corrupting..." → "cor壊rupting..."
84
+ "watching..." → "wat監ching..."
85
+ "session" → "seセshon"
86
+ "statistics" → "sta計stics"
87
+ "connection" → "con接nection"
88
+ ```
89
+
90
+ **Multi-language mixing** (full phrase corruption):
91
+ ```
92
+ "loading data..." → "ロード data読み込み..."
93
+ "processing request..." → "処理 request プロセス中..."
94
+ "analyzing corruption..." → "分析 cor壊ruption 解析..."
95
+ "void corruption active" → "虚空 corruption 壊れ active"
96
+ "deep abyss connection" → "深淵 abyss 接続 shinnen"
97
+ "watching session data" → "監視 session データ kanshi"
98
+ ```
99
+
100
+ **With context markers** (terminal-style):
101
+ ```
102
+ "⟨ ロード loading 読み込み中... ⟩"
103
+ "⟨ 処理 processing purosesu... ⟩"
104
+ "⟨ 分析 analyzing bunseki... ⟩"
105
+ "⟨ 壊れ corrupting kowarete... ⟩"
106
+ ```
107
+
108
+ ---
109
+
110
+ ## Character Sets Reference
111
+
112
+ ### Katakana (Foreign Words)
113
+ ```
114
+ ア イ ウ エ オ
115
+ カ キ ク ケ コ
116
+ サ シ ス セ ソ
117
+ タ チ ツ テ ト
118
+ ナ ニ ヌ ネ ノ
119
+ ハ ヒ フ ヘ ホ
120
+ マ ミ ム メ モ
121
+ ヤ ユ ヨ
122
+ ラ リ ル レ ロ
123
+ ワ ヲ ン
124
+ ```
125
+
126
+ ### Common Kanji (Meanings)
127
+ ```
128
+ 壊 (kowas) - broken/corrupt
129
+ 虚 (kyo) - void/emptiness
130
+ 深 (shin) - deep
131
+ 淵 (en) - abyss
132
+ 闇 (yami) - darkness
133
+ 処 (sho) - process
134
+ 理 (ri) - logic/reason
135
+ 分 (bun) - part/analyze
136
+ 析 (seki) - analyze
137
+ 監 (kan) - watch/supervise
138
+ 視 (shi) - see/observe
139
+ 接 (setsu) - connect
140
+ 続 (zoku) - continue
141
+ 統 (tō) -統計 statistics
142
+ 計 (kei) - measure/count
143
+ 読 (yomi) - read
144
+ 込 (komi) - load/include
145
+ 中 (chū) - in progress
146
+ ```
147
+
148
+ ### Hiragana (Native Phonetics)
149
+ ```
150
+ あ い う え お
151
+ か き く け こ
152
+ さ し す せ そ
153
+ た ち つ て と
154
+ な に ぬ ね の
155
+ は ひ ふ へ ほ
156
+ ま み む め も
157
+ や ゆ よ
158
+ ら り る れ ろ
159
+ わ を ん
160
+ ```
161
+
162
+ ### Corruption Symbols
163
+ ```
164
+ █ ▓ ▒ ░ - Shading blocks
165
+ ⟨ ⟩ - Angle brackets
166
+ 👁️ - Eye (Celeste watching)
167
+ ═ ─ - Lines
168
+ ♟ ☣ ☭ ☾ - Misc symbols
169
+ ⚔ ✡ ☯ ⚡ - Decorative
170
+ ▮ ▯ ◉ ◈ - Geometric
171
+ ```
172
+
173
+ ---
174
+
175
+ ## Visual Elements
176
+
177
+ ### Block Characters (Progress Bars, Separators)
178
+
179
+ ```
180
+ █ Full block (100%)
181
+ ▓ Dark shade (75%)
182
+ ▒ Medium shade (50%)
183
+ ░ Light shade (25%)
184
+ ```
185
+
186
+ **Usage**:
187
+ - Progress bars: `████████▓▓▓▓▒▒░░`
188
+ - Section bullets: `▓ Item`, `▒ Item`, `░ Item`
189
+ - Separators: `▓▒░ ════ ░▒▓`
190
+
191
+ ### Corruption Markers
192
+
193
+ ```
194
+ ⟨⟩ Angle brackets for labels
195
+ 👁️ Celeste's watching eye
196
+ ═══ Heavy horizontal line
197
+ ─── Light horizontal line
198
+ ```
199
+
200
+ **Usage**:
201
+ - Labels: `⟨ 処理 processing プロセス中... ⟩`
202
+ - Headers: `═══════════════`
203
+ - Eye indicators: `👁️ 監視 watching kanshi 👁️`
204
+
205
+ ### Status Indicators
206
+
207
+ ```
208
+ 🟢 Normal/OK (0-75%)
209
+ 🟡 Warning (75-85%)
210
+ 🟠 Caution (85-95%)
211
+ 🔴 Critical (95%+)
212
+ 👁️ Celeste watching/analyzing
213
+ ```
214
+
215
+ ---
216
+
217
+ ## Color Palette
218
+
219
+ Defined in `/cmd/celeste/tui/styles.go`:
220
+
221
+ ### Primary Colors
222
+ - **Pink/Magenta** (`#d94f90`, `#ff4da6`) - Primary accent, headers
223
+ - **Purple Void** (`#8b5cf6`, `#c084fc`) - Secondary elements
224
+ - **Cyan Glitch** (`#00d4ff`) - Digital effects
225
+
226
+ ### Background Colors
227
+ - **Deep Void** (`#0a0a0a`) - Main background
228
+ - **Void Secondary** (`#0f0f1a`) - Secondary background
229
+ - **Glassmorphic** (`#1a1a2e`) - Overlays
230
+
231
+ ### Functional Colors
232
+ - **Success**: Green (`#22c55e`)
233
+ - **Error**: Red (`#ef4444`)
234
+ - **Warning**: Yellow (`#eab308`)
235
+ - **Info**: Cyan (`#06b6d4`)
236
+
237
+ ### Corruption/Glitch Colors
238
+ - **Red Corruption** (`#ff4757`)
239
+ - **Pink Corruption** (`#ff6b9d`)
240
+ - **Purple Corruption** (`#c084fc`)
241
+ - **Cyan Glitch** (`#00d4ff`)
242
+
243
+ ---
244
+
245
+ ## UI Component Patterns
246
+
247
+ ### 1. Dashboard Header Pattern
248
+
249
+ ```
250
+ ▓▒░ ═══════════════════════════════════════════════════════════ ░▒▓
251
+ 👁️ USAGE 統計 ANALYTICS 👁️
252
+ ⟨ 壊れ corrupting kowarete from the 虚空 void... ⟩
253
+ ▓▒░ ═══════════════════════════════════════════════════════════ ░▒▓
254
+ ```
255
+
256
+ **Rules**:
257
+ - Separator: `▓▒░ ═══...═══ ░▒▓` (symmetric)
258
+ - Title: Mix English/Katakana/Kanji (uppercase English)
259
+ - Subtitle: `⟨⟩` brackets with translation-failure text
260
+ - Eyes: `👁️` on both sides for emphasis
261
+
262
+ ### 2. Section Header Pattern
263
+
264
+ ```
265
+ █ LIFETIME 統計 CORRUPTION:
266
+ ▓ Total セッション: 127
267
+ ▓ Total トークン: 1,234,567
268
+ ▓ Total コスト: $12.45
269
+ ```
270
+
271
+ **Rules**:
272
+ - Section marker: `█` (full block)
273
+ - Section name: Mix UPPERCASE English with Katakana/Kanji
274
+ - Data bullets: `▓` or `▒` for importance hierarchy
275
+ - Numbers/currency: Keep as-is (no corruption)
276
+
277
+ ### 3. Progress Bar Pattern
278
+
279
+ ```
280
+ OpenAI ████████▓▓▓▓░░░░ 45 msgs (35%) ⟨ $8.23 ⟩
281
+ ```
282
+
283
+ **Rules**:
284
+ - Provider name: Plain English (readable)
285
+ - Filled: `█` (100%)
286
+ - Gradient: `▓` (75%)
287
+ - Empty: `▒` (50%) then `░` (25%)
288
+ - Values in `⟨⟩` brackets
289
+
290
+ ### 4. Data Row Pattern
291
+
292
+ ```
293
+ 2025-12-11 ▓ 8 セッション ░ 284 msgs ▒ $1.23
294
+ ```
295
+
296
+ **Rules**:
297
+ - Timestamp: ISO format (plain)
298
+ - Labels: Mix English/Katakana
299
+ - Separator bullets: `▓`, `░`, or `▒`
300
+ - Values: Plain numbers
301
+
302
+ ### 5. Status Line Pattern
303
+
304
+ ```
305
+ ⟨ 処理 processing purosesu... ⟩
306
+ ⟨ 分析 analyzing bunseki... ⟩
307
+ ⟨ 壊れ corrupting kowarete... ⟩
308
+ ```
309
+
310
+ **Rules**:
311
+ - Angle bracket wrapper
312
+ - Kanji + English + Romaji mix
313
+ - Ellipsis for ongoing action
314
+
315
+ ### 6. Footer Pattern
316
+
317
+ ```
318
+ ▓▒░ ═══════════════════════════════════════════════════════════ ░▒▓
319
+ ⟨ 終わり end of report owari... ⟩
320
+ ▓▒░ ═══════════════════════════════════════════════════════════ ░▒▓
321
+ ```
322
+
323
+ **Rules**:
324
+ - Same separator as header
325
+ - Center-aligned message
326
+ - Mix all three languages (Kanji + English + Romaji)
327
+
328
+ ---
329
+
330
+ ## Seeded Phrases for Branding
331
+
332
+ ### Loading/Processing States
333
+
334
+ ```
335
+ "ロード loading 読み込み中..."
336
+ "処理 processing purosesu..."
337
+ "分析 analyzing bunseki..."
338
+ "壊れ corrupting kowarete..."
339
+ "接続 connecting setsuzoku..."
340
+ "待機 waiting taiki..."
341
+ "実行 executing jikkō..."
342
+ ```
343
+
344
+ ### Status Messages
345
+
346
+ ```
347
+ "👁️ 監視 watching kanshi 👁️"
348
+ "深淵 deep abyss shinnen 接続 connected"
349
+ "虚空 void corruption 壊れ active"
350
+ "データ data 読み込み yomikomi complete"
351
+ "統計 statistics tōkei 生成 generated"
352
+ "セッション session 保存 saved"
353
+ "エラー error detected 検出"
354
+ ```
355
+
356
+ ### Dashboard Labels
357
+
358
+ ```
359
+ "LIFETIME 統計 CORRUPTION"
360
+ "PROVIDER 分類 BREAKDOWN"
361
+ "SESSION データ DATA"
362
+ "TOKEN 使用 USAGE"
363
+ "COST 計算 CALCULATION"
364
+ "RECENT 活動 ACTIVITY"
365
+ "TOP プロバイダー PROVIDERS"
366
+ ```
367
+
368
+ ### Action Verbs (Gerund Form)
369
+
370
+ ```
371
+ loading → ロード rōdo
372
+ processing → 処理 shori
373
+ analyzing → 分析 bunseki
374
+ corrupting → 壊れ kowarete
375
+ watching → 監視 kanshi
376
+ connecting → 接続 setsuzoku
377
+ executing → 実行 jikkō
378
+ generating → 生成 seisei
379
+ calculating→ 計算 keisan
380
+ ```
381
+
382
+ ### Nouns
383
+
384
+ ```
385
+ session → セッション sesshon
386
+ token → トークン tōkun
387
+ data → データ dēta
388
+ error → エラー erā
389
+ statistics → 統計 tōkei
390
+ cost → コスト kosuto
391
+ provider → プロバイダー purobaida
392
+ void → 虚空 kokū
393
+ abyss → 深淵 shinnen
394
+ corruption → 壊れ koware
395
+ ```
396
+
397
+ ---
398
+
399
+ ## Code Implementation
400
+
401
+ ### Go: Text Corruption Function
402
+
403
+ **Location**: `/cmd/celeste/tui/streaming.go` or create new file
404
+
405
+ ```go
406
+ package tui
407
+
408
+ import (
409
+ "math/rand"
410
+ "strings"
411
+ )
412
+
413
+ // Japanese character sets for corruption
414
+ var (
415
+ katakana = []rune("アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヲン")
416
+ hiragana = []rune("あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん")
417
+ symbols = []rune("█▓▒░⟨⟩═─♟☣☭☾⚔✡☯⚡▮▯◉◈")
418
+ )
419
+
420
+ // CorruptText applies translation-failure corruption to text
421
+ // intensity: 0.0-1.0 (recommended 0.2-0.4 for readability)
422
+ func CorruptText(text string, intensity float64) string {
423
+ if intensity <= 0 {
424
+ return text
425
+ }
426
+
427
+ runes := []rune(text)
428
+ result := make([]rune, len(runes))
429
+
430
+ for i, r := range runes {
431
+ // Skip whitespace, punctuation, numbers
432
+ if r == ' ' || r < 33 || (r >= '0' && r <= '9') {
433
+ result[i] = r
434
+ continue
435
+ }
436
+
437
+ // Corrupt character based on intensity
438
+ if rand.Float64() < intensity {
439
+ // 70% Katakana, 20% symbols, 10% Hiragana
440
+ roll := rand.Float64()
441
+ if roll < 0.7 {
442
+ result[i] = katakana[rand.Intn(len(katakana))]
443
+ } else if roll < 0.9 {
444
+ result[i] = symbols[rand.Intn(len(symbols))]
445
+ } else {
446
+ result[i] = hiragana[rand.Intn(len(hiragana))]
447
+ }
448
+ } else {
449
+ result[i] = r
450
+ }
451
+ }
452
+
453
+ return string(result)
454
+ }
455
+
456
+ // RenderCorruptedSkill renders skill name with corruption during execution
457
+ func RenderCorruptedSkill(name string) string {
458
+ corrupted := CorruptText(name, 0.35) // 35% corruption
459
+ return SkillExecutingStyle.
460
+ Strikethrough(true).
461
+ Render(corrupted)
462
+ }
463
+ ```
464
+
465
+ ### Usage in Dashboard
466
+
467
+ ```go
468
+ // Header with translation-failure
469
+ header := lipgloss.NewStyle().
470
+ Foreground(ColorAccentGlow).
471
+ Bold(true).
472
+ Render("👁️ USAGE 統計 ANALYTICS 👁️")
473
+
474
+ // Status line with mixed languages
475
+ status := lipgloss.NewStyle().
476
+ Foreground(ColorTextSecondary).
477
+ Render("⟨ 処理 processing purosesu... ⟩")
478
+
479
+ // Section with Katakana labels
480
+ section := fmt.Sprintf("█ LIFETIME 統計 CORRUPTION:\n ▓ Total セッション: %d", count)
481
+ ```
482
+
483
+ ---
484
+
485
+ ## Common Corrupted Phrases
486
+
487
+ Reference table for consistency:
488
+
489
+ | English | Corrupted Form | Usage |
490
+ |---------|----------------|-------|
491
+ | "Loading..." | "ロード loading 読み込み中..." | General loading |
492
+ | "Processing..." | "処理 processing purosesu..." | Background work |
493
+ | "Analyzing..." | "分析 analyzing bunseki..." | Data analysis |
494
+ | "Corrupting..." | "壊れ corrupting kowarete..." | Celeste-specific |
495
+ | "Statistics" | "統計 statistics tōkei" | Stats display |
496
+ | "Usage" | "使用 usage shiyō" | Usage tracking |
497
+ | "Session" | "セッション session sesshon" | Session management |
498
+ | "Connection" | "接続 connection setsuzoku" | Network |
499
+ | "Error" | "エラー error erā" | Error messages |
500
+ | "Complete" | "完了 complete kanryō" | Success |
501
+ | "Void" | "虚空 void kokū" | Theme-specific |
502
+ | "Abyss" | "深淵 abyss shinnen" | Theme-specific |
503
+ | "Watching" | "監視 watching kanshi" | Celeste observing |
504
+ | "End of report" | "終わり end owari" | Footer |
505
+ | "Data" | "データ data dēta" | General data |
506
+ | "Token" | "トークン token tōkun" | API tokens |
507
+
508
+ ---
509
+
510
+ ## Style Enforcement
511
+
512
+ ### For All New Features:
513
+
514
+ 1. **Check this guide first** before implementing UI text
515
+ 2. **Use translation-failure**, never leet speak
516
+ 3. **Reference `styles.go`** for colors
517
+ 4. **Test in terminal** (256-color support required)
518
+ 5. **Update this guide** if creating new patterns
519
+
520
+ ### Code Review Checklist:
521
+
522
+ - [ ] No leet speak used (NO number substitutions)
523
+ - [ ] Japanese/English mixing used correctly
524
+ - [ ] Katakana for foreign words, Kanji for meanings
525
+ - [ ] Colors from `styles.go` palette
526
+ - [ ] Block characters (`█▓▒░`) for visual elements
527
+ - [ ] Follows established component patterns
528
+ - [ ] Maintains readability (corruption ≤ 40%)
529
+
530
+ ---
531
+
532
+ ## Examples: Before/After
533
+
534
+ ### ❌ BEFORE (Incorrect - Leet Speak):
535
+
536
+ ```
537
+ ╔═══════════════════════════════════╗
538
+ US4G3 ST4TS D4SHB04RD
539
+ c0rrupt1on 1n pr0gr3ss...
540
+ ╚═══════════════════════════════════╝
541
+
542
+ █ T0T4L US4G3:
543
+ • S3SS10NS: 127
544
+ • T0K3NS: 1.23M
545
+ • C0ST: $12.45
546
+ ```
547
+
548
+ ### ✅ AFTER (Correct - Translation Failure):
549
+
550
+ ```
551
+ ▓▒░ ═══════════════════════════════════════════════════════════ ░▒▓
552
+ 👁️ USAGE 統計 ANALYTICS 👁️
553
+ ⟨ 処理 processing purosesu from the 虚空 void... ⟩
554
+ ▓▒░ ═══════════════════════════════════════════════════════════ ░▒▓
555
+
556
+ █ LIFETIME 統計 CORRUPTION:
557
+ ▓ Total セッション: 127
558
+ ▓ Total トークン: 1.23M
559
+ ▓ Total コスト: $12.45
560
+
561
+ █ TOP プロバイダー PROVIDERS:
562
+ ▓ OpenAI ████████▓▓░░ 89 (70%) ⟨ $8.90 ⟩
563
+ ▓ Claude ███▓░░░░░░░░ 23 (18%) ⟨ $2.30 ⟩
564
+ ▓ Grok ██░░░░░░░░░░ 15 (12%) ⟨ $1.25 ⟩
565
+
566
+ ▓▒░ ═══════════════════════════════════════════════════════════ ░▒▓
567
+ ⟨ 終わり end of report owari... ⟩
568
+ ▓▒░ ═══════════════════════════════════════════════════════════ ░▒▓
569
+ ```
570
+
571
+ ---
572
+
573
+ ## Revision History
574
+
575
+ - **2025-12-12**: Complete rewrite to remove leet speak
576
+ - Aligned with `@whykusanagi/corrupted-theme` official package
577
+ - Removed ALL number substitutions (0,1,3,4,5,7)
578
+ - Added Japanese character set references
579
+ - Added seeded phrases for branding
580
+ - Added Go implementation examples
581
+ - **Purpose**: Establish translation-failure as canonical aesthetic
582
+ - **Authority**: Official Celeste brand guidelines
583
+
584
+ ---
585
+
586
+ ## Questions?
587
+
588
+ If implementing a new feature and unsure about styling:
589
+
590
+ 1. Check `cmd/celeste/tui/styles.go` for existing patterns
591
+ 2. Reference character sets above for Japanese mixing
592
+ 3. Use `CorruptText()` function for dynamic corruption
593
+ 4. Test output in terminal before committing
594
+ 5. Add examples to this guide if creating new patterns
595
+
596
+ **Remember**: Celeste's aesthetic is **translation-failure corruption** (multilingual glitching), NOT leet speak (number substitutions).
597
+
598
+ ---
599
+
600
+ ## Related Files
601
+
602
+ - **Go Styles**: `/cmd/celeste/tui/styles.go`
603
+ - **Corruption Logic**: `/cmd/celeste/tui/streaming.go`
604
+ - **Official Theme**: `@whykusanagi/corrupted-theme` npm package
605
+ - **TypeScript Reference**: `../_archive/celeste-cli-typescript/src/ui/corruption.ts` (legacy, uses leet speak - DO NOT FOLLOW)