@whykusanagi/corrupted-theme 0.1.1 → 0.1.3

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 (52) hide show
  1. package/CHANGELOG.md +253 -0
  2. package/README.md +97 -7
  3. package/docs/CAPABILITIES.md +209 -0
  4. package/docs/CHARACTER_LEVEL_CORRUPTION.md +264 -0
  5. package/docs/COMPONENTS_REFERENCE.md +295 -8
  6. package/docs/CORRUPTION_PHRASES.md +529 -0
  7. package/docs/FUTURE_WORK.md +189 -0
  8. package/docs/IMPLEMENTATION_VALIDATION.md +401 -0
  9. package/docs/LLM_PROVIDERS.md +345 -0
  10. package/docs/PERSONALITY.md +128 -0
  11. package/docs/ROADMAP.md +266 -0
  12. package/docs/ROUTING.md +324 -0
  13. package/docs/STYLE_GUIDE.md +605 -0
  14. package/docs/brand/BRAND_OVERVIEW.md +413 -0
  15. package/docs/brand/COLOR_SYSTEM.md +583 -0
  16. package/docs/brand/DESIGN_TOKENS.md +1009 -0
  17. package/docs/brand/TRANSLATION_FAILURE_AESTHETIC.md +525 -0
  18. package/docs/brand/TYPOGRAPHY.md +624 -0
  19. package/docs/components/ANIMATION_GUIDELINES.md +901 -0
  20. package/docs/components/COMPONENT_LIBRARY.md +1061 -0
  21. package/docs/components/GLASSMORPHISM.md +602 -0
  22. package/docs/components/INTERACTIVE_STATES.md +766 -0
  23. package/docs/governance/CONTRIBUTION_GUIDELINES.md +593 -0
  24. package/docs/governance/DESIGN_SYSTEM_GOVERNANCE.md +451 -0
  25. package/docs/governance/VERSION_MANAGEMENT.md +447 -0
  26. package/docs/governance/VERSION_REFERENCES.md +229 -0
  27. package/docs/platforms/CLI_IMPLEMENTATION.md +1025 -0
  28. package/docs/platforms/COMPONENT_MAPPING.md +579 -0
  29. package/docs/platforms/NPM_PACKAGE.md +854 -0
  30. package/docs/platforms/WEB_IMPLEMENTATION.md +1221 -0
  31. package/docs/standards/ACCESSIBILITY.md +715 -0
  32. package/docs/standards/ANTI_PATTERNS.md +554 -0
  33. package/docs/standards/SPACING_SYSTEM.md +549 -0
  34. package/examples/assets/celeste-avatar.png +0 -0
  35. package/examples/button.html +22 -10
  36. package/examples/card.html +22 -9
  37. package/examples/extensions-showcase.html +716 -0
  38. package/examples/form.html +22 -9
  39. package/examples/index.html +619 -396
  40. package/examples/layout.html +22 -8
  41. package/examples/nikke-team-builder.html +23 -9
  42. package/examples/showcase-complete.html +884 -28
  43. package/examples/showcase.html +21 -8
  44. package/package.json +14 -5
  45. package/src/css/components.css +676 -0
  46. package/src/css/extensions.css +933 -0
  47. package/src/css/theme.css +6 -74
  48. package/src/css/typography.css +5 -0
  49. package/src/lib/character-corruption.js +563 -0
  50. package/src/lib/components.js +283 -0
  51. package/src/lib/countdown-widget.js +609 -0
  52. package/src/lib/gallery.js +481 -0
@@ -0,0 +1,554 @@
1
+ # Anti-Patterns
2
+
3
+ > **Celeste Brand System** | Standards Documentation
4
+ > **Document**: What NOT to Do - Common Mistakes and Violations
5
+ > **Version**: 1.0.0
6
+ > **Last Updated**: 2025-12-13
7
+
8
+ ---
9
+
10
+ ## Table of Contents
11
+
12
+ 1. [Overview](#overview)
13
+ 2. [Corruption Anti-Patterns](#corruption-anti-patterns)
14
+ 3. [Color Misuse](#color-misuse)
15
+ 4. [Animation Abuse](#animation-abuse)
16
+ 5. [Accessibility Violations](#accessibility-violations)
17
+ 6. [Performance Issues](#performance-issues)
18
+ 7. [Typography Mistakes](#typography-mistakes)
19
+ 8. [Layout Problems](#layout-problems)
20
+
21
+ ---
22
+
23
+ ## Overview
24
+
25
+ This document catalogs **forbidden patterns** and common mistakes in Celeste brand implementation. Following these guidelines prevents brand dilution and ensures quality consistency.
26
+
27
+ ### Anti-Pattern Categories
28
+
29
+ - 🚫 **Corruption**: Leet speak, over-corruption, wrong character types
30
+ - 🚫 **Color**: Low contrast, wrong palette, color-only indicators
31
+ - 🚫 **Animation**: Too fast, seizure risk, no reduced-motion support
32
+ - 🚫 **Accessibility**: Missing alt text, keyboard traps, poor contrast
33
+ - 🚫 **Performance**: Too many glass elements, animation jank
34
+ - 🚫 **Typography**: Wrong fonts, poor line heights, bad hierarchy
35
+ - 🚫 **Layout**: Inconsistent spacing, broken responsive design
36
+
37
+ ---
38
+
39
+ ## Corruption Anti-Patterns
40
+
41
+ ### 🚫 LEET SPEAK (Forbidden)
42
+
43
+ **The most critical rule**: NEVER use leet speak (number substitutions).
44
+
45
+ ```
46
+ ❌ WRONG: Leet Speak Examples
47
+ - c0rrupt (0 for o)
48
+ - l0ad (0 for o)
49
+ - st4t (4 for a)
50
+ - us3r (3 for e)
51
+ - d4t4 (4 for a)
52
+ - l33t (3 for e)
53
+ - h4ck (4 for a)
54
+ - 5y5t3m (5 for s, 3 for e)
55
+
56
+ ✅ CORRECT: Character-Level Japanese Mixing
57
+ - c使rrupt (Japanese character IN word)
58
+ - l統ad (Japanese character IN word)
59
+ - st使t (Japanese character IN word)
60
+ - us計r (Japanese character IN word)
61
+ ```
62
+
63
+ **Why it's wrong**:
64
+ - Leet speak is 2000s internet culture, not AI corruption
65
+ - Numbers don't represent translation failure
66
+ - Violates brand aesthetic guidelines
67
+ - Makes brand look dated/unprofessional
68
+
69
+ ---
70
+
71
+ ### 🚫 Over-Corruption (>40% Intensity)
72
+
73
+ ```css
74
+ /* ❌ WRONG: Too corrupted, unreadable */
75
+ .header {
76
+ /* 60% corruption: "US使R MA埋AGE統ENT理" */
77
+ content: "US使R MA埋AGE統ENT理設定化変換"; /* Can't read this */
78
+ }
79
+
80
+ /* ✅ CORRECT: Readable corruption (25-35%) */
81
+ .header {
82
+ /* 30% corruption: "US使R MANAGE統ENT" */
83
+ content: "US使R MANAGE統ENT"; /* Still readable */
84
+ }
85
+ ```
86
+
87
+ **Readability threshold**:
88
+ - 0-20%: Minimal (decorative only)
89
+ - 25-35%: **Optimal** (brand + readable)
90
+ - 40-50%: High (loading screens only)
91
+ - 50%+: **FORBIDDEN** (unreadable)
92
+
93
+ ---
94
+
95
+ ### 🚫 Word-Level Replacement
96
+
97
+ ```
98
+ ❌ WRONG: Replace entire words
99
+ - "USER 管理" (English word + Japanese word)
100
+ - "STATISTICS 統計" (Side-by-side translation)
101
+ - "使用 MANAGEMENT" (Swapped words)
102
+
103
+ ✅ CORRECT: Character-level mixing
104
+ - "US使R MANAGEMENT" (Japanese chars INSIDE English words)
105
+ - "STAT統STICS" (Mixed at character level)
106
+ - "M埋NAGEMENT" (Kanji embedded)
107
+ ```
108
+
109
+ **Why character-level is correct**:
110
+ - Represents AI failing mid-word
111
+ - More authentic "glitch" aesthetic
112
+ - Maintains partial readability
113
+ - Follows translation-failure philosophy
114
+
115
+ ---
116
+
117
+ ### 🚫 Wrong Character Sets
118
+
119
+ ```
120
+ ❌ WRONG: Random Unicode (emoji, symbols, Cyrillic)
121
+ - "USER 😂ANAGEMENT" (Emoji corruption)
122
+ - "STAT☭STICS" (Symbol corruption)
123
+ - "MAИAGEMENT" (Cyrillic corruption)
124
+
125
+ ✅ CORRECT: Japanese only (Kanji, Katakana, Hiragana)
126
+ - "US使R MANAGEMENT" (Kanji)
127
+ - "STATア統STICS" (Katakana + Kanji)
128
+ - "MAなAGEMENT" (Hiragana)
129
+ ```
130
+
131
+ **Allowed characters**:
132
+ - ✅ Kanji (Chinese characters used in Japanese)
133
+ - ✅ Katakana (angular Japanese script)
134
+ - ✅ Hiragana (curved Japanese script)
135
+ - ❌ Emoji, symbols, other languages
136
+
137
+ ---
138
+
139
+ ### 🚫 Corrupting Critical UI
140
+
141
+ ```html
142
+ <!-- ❌ WRONG: Corrupt critical instructions -->
143
+ <button>S使bm統t</button> <!-- User can't read action -->
144
+ <input placeholder="Em使il addr狀ss" /> <!-- Unclear what to enter -->
145
+ <p class="error">Er使r: F埋led t統 s狀ve</p> <!-- Can't understand error -->
146
+
147
+ <!-- ✅ CORRECT: Keep critical UI readable -->
148
+ <button>Submit</button> <!-- Clear action -->
149
+ <input placeholder="Email address" /> <!-- Clear field -->
150
+ <p class="error">Error: Failed to save</p> <!-- Clear error -->
151
+
152
+ <!-- ✅ OK: Corrupt decorative elements -->
153
+ <h1 class="hero-title">US使R MANAGE統ENT</h1> <!-- Brand moment, not critical -->
154
+ ```
155
+
156
+ **Never corrupt**:
157
+ - Error messages
158
+ - Form labels/placeholders
159
+ - Button labels (unless obvious from context)
160
+ - Navigation links
161
+ - Critical instructions
162
+
163
+ ---
164
+
165
+ ## Color Misuse
166
+
167
+ ### 🚫 Low Contrast
168
+
169
+ ```css
170
+ /* ❌ WRONG: Pink on red (1.8:1 - fails WCAG) */
171
+ .btn {
172
+ background: #ef4444; /* Red */
173
+ color: #d94f90; /* Pink - TOO SIMILAR */
174
+ }
175
+
176
+ /* ✅ CORRECT: Pink on dark (7.2:1 - passes AAA) */
177
+ .btn {
178
+ background: #0a0612; /* Dark purple-black */
179
+ color: #d94f90; /* Pink - HIGH CONTRAST */
180
+ }
181
+ ```
182
+
183
+ **Minimum contrast ratios**:
184
+ - 4.5:1 for normal text (WCAG AA)
185
+ - 3:1 for large text (18px+)
186
+ - 3:1 for UI components
187
+
188
+ ---
189
+
190
+ ### 🚫 Color-Only Indicators
191
+
192
+ ```html
193
+ <!-- ❌ WRONG: Color only (inaccessible to colorblind users) -->
194
+ <span style="color: #10b981;">Success</span>
195
+ <span style="color: #ef4444;">Error</span>
196
+
197
+ <!-- ✅ CORRECT: Color + icon + text -->
198
+ <span class="status-success">
199
+ <span class="icon">✓</span>
200
+ <span class="sr-only">Success:</span>
201
+ Operation completed
202
+ </span>
203
+
204
+ <span class="status-error">
205
+ <span class="icon">✗</span>
206
+ <span class="sr-only">Error:</span>
207
+ Operation failed
208
+ </span>
209
+ ```
210
+
211
+ ---
212
+
213
+ ### 🚫 Wrong Color Palette
214
+
215
+ ```css
216
+ /* ❌ WRONG: Off-brand colors */
217
+ .btn {
218
+ background: #ff6b9d; /* Wrong pink (too bright) */
219
+ background: #9b4dca; /* Wrong purple (too dark) */
220
+ background: #00bfff; /* Wrong cyan (too light) */
221
+ }
222
+
223
+ /* ✅ CORRECT: Official palette */
224
+ .btn {
225
+ background: #d94f90; /* Official pink */
226
+ background: #8b5cf6; /* Official purple */
227
+ background: #00d4ff; /* Official cyan */
228
+ }
229
+ ```
230
+
231
+ ---
232
+
233
+ ## Animation Abuse
234
+
235
+ ### 🚫 Too Fast (<100ms)
236
+
237
+ ```css
238
+ /* ❌ WRONG: Too fast, jarring */
239
+ .btn {
240
+ transition: transform 0.05s ease; /* 50ms - TOO FAST */
241
+ }
242
+
243
+ /* ✅ CORRECT: Appropriate speed */
244
+ .btn {
245
+ transition: transform 0.15s ease; /* 150ms - GOOD */
246
+ }
247
+ ```
248
+
249
+ ---
250
+
251
+ ### 🚫 Seizure Risk (Flashing)
252
+
253
+ ```css
254
+ /* ❌ WRONG: Dangerous flashing (5Hz = 5 flashes/second) */
255
+ @keyframes dangerous {
256
+ 0%, 100% { opacity: 1; }
257
+ 50% { opacity: 0; }
258
+ }
259
+
260
+ .flashy {
261
+ animation: dangerous 0.2s infinite; /* 5Hz - CAN TRIGGER SEIZURES */
262
+ }
263
+
264
+ /* ✅ CORRECT: Safe flicker (<3Hz) */
265
+ @keyframes safe {
266
+ 0%, 100% { opacity: 1; }
267
+ 50% { opacity: 0.7; }
268
+ }
269
+
270
+ .safe-flicker {
271
+ animation: safe 2s ease-in-out infinite; /* 0.5Hz - SAFE */
272
+ }
273
+ ```
274
+
275
+ **WCAG 2.3.1**: No more than 3 flashes per second
276
+
277
+ ---
278
+
279
+ ### 🚫 Ignoring Reduced Motion
280
+
281
+ ```css
282
+ /* ❌ WRONG: No reduced-motion support */
283
+ .animated {
284
+ animation: spin 1s infinite; /* Always animates */
285
+ }
286
+
287
+ /* ✅ CORRECT: Respect user preference */
288
+ .animated {
289
+ animation: spin 1s infinite;
290
+ }
291
+
292
+ @media (prefers-reduced-motion: reduce) {
293
+ .animated {
294
+ animation: none; /* Disable for accessibility */
295
+ }
296
+ }
297
+ ```
298
+
299
+ ---
300
+
301
+ ### 🚫 Too Many Animations
302
+
303
+ ```css
304
+ /* ❌ WRONG: Animating everything */
305
+ * {
306
+ transition: all 0.3s ease; /* PERFORMANCE NIGHTMARE */
307
+ }
308
+
309
+ /* ✅ CORRECT: Selective animations */
310
+ .btn, .card, .input {
311
+ transition: transform 0.15s ease; /* Only interactive elements */
312
+ }
313
+ ```
314
+
315
+ ---
316
+
317
+ ## Accessibility Violations
318
+
319
+ ### 🚫 Missing Alt Text
320
+
321
+ ```html
322
+ <!-- ❌ WRONG: No alt text -->
323
+ <img src="dashboard.png">
324
+
325
+ <!-- ✅ CORRECT: Descriptive alt text -->
326
+ <img src="dashboard.png" alt="User dashboard showing statistics and activity">
327
+ ```
328
+
329
+ ---
330
+
331
+ ### 🚫 Keyboard Trap
332
+
333
+ ```javascript
334
+ // ❌ WRONG: Can't escape modal with keyboard
335
+ function openModal() {
336
+ modal.showModal();
337
+ // No Esc handler - USER TRAPPED
338
+ }
339
+
340
+ // ✅ CORRECT: Esc closes modal
341
+ modal.addEventListener('keydown', (e) => {
342
+ if (e.key === 'Escape') {
343
+ closeModal();
344
+ }
345
+ });
346
+ ```
347
+
348
+ ---
349
+
350
+ ### 🚫 Invisible Focus Indicator
351
+
352
+ ```css
353
+ /* ❌ WRONG: Remove focus outline */
354
+ *:focus {
355
+ outline: none; /* ACCESSIBILITY VIOLATION */
356
+ }
357
+
358
+ /* ✅ CORRECT: Visible focus indicator */
359
+ :focus-visible {
360
+ outline: 2px solid var(--color-accent);
361
+ outline-offset: 2px;
362
+ }
363
+ ```
364
+
365
+ ---
366
+
367
+ ## Performance Issues
368
+
369
+ ### 🚫 Too Many Glass Elements
370
+
371
+ ```html
372
+ <!-- ❌ WRONG: Glass effect on every element (laggy scroll) -->
373
+ <div class="glass-card">
374
+ <div class="glass-panel">
375
+ <div class="glass-box">
376
+ <div class="glass-container">
377
+ <!-- 4 nested glass effects = VERY SLOW -->
378
+ </div>
379
+ </div>
380
+ </div>
381
+ </div>
382
+
383
+ <!-- ✅ CORRECT: Glass on container only -->
384
+ <div class="glass-card">
385
+ <div class="panel">
386
+ <div class="box">
387
+ <div class="container">
388
+ <!-- 1 glass effect = FAST -->
389
+ </div>
390
+ </div>
391
+ </div>
392
+ </div>
393
+ ```
394
+
395
+ **Limit**: Maximum 1-2 glass elements per viewport
396
+
397
+ ---
398
+
399
+ ### 🚫 Animating Layout Properties
400
+
401
+ ```css
402
+ /* ❌ WRONG: Animating width (causes reflow) */
403
+ .card {
404
+ transition: width 0.3s ease;
405
+ }
406
+
407
+ .card:hover {
408
+ width: 320px; /* Triggers reflow - SLOW */
409
+ }
410
+
411
+ /* ✅ CORRECT: Animating transform (GPU-accelerated) */
412
+ .card {
413
+ transition: transform 0.3s ease;
414
+ }
415
+
416
+ .card:hover {
417
+ transform: scale(1.05); /* GPU-accelerated - FAST */
418
+ }
419
+ ```
420
+
421
+ ---
422
+
423
+ ## Typography Mistakes
424
+
425
+ ### 🚫 Wrong Font Stack
426
+
427
+ ```css
428
+ /* ❌ WRONG: Missing Japanese support */
429
+ body {
430
+ font-family: Arial, sans-serif; /* Japanese chars show as boxes */
431
+ }
432
+
433
+ /* ✅ CORRECT: Japanese-capable font stack */
434
+ body {
435
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI',
436
+ 'Hiragino Sans', 'Yu Gothic', sans-serif;
437
+ }
438
+ ```
439
+
440
+ ---
441
+
442
+ ### 🚫 Poor Line Height
443
+
444
+ ```css
445
+ /* ❌ WRONG: Too tight (hard to read) */
446
+ p {
447
+ line-height: 1.0; /* Text cramped */
448
+ }
449
+
450
+ /* ✅ CORRECT: Readable line height */
451
+ p {
452
+ line-height: 1.5; /* Comfortable reading */
453
+ }
454
+ ```
455
+
456
+ ---
457
+
458
+ ## Layout Problems
459
+
460
+ ### 🚫 Inconsistent Spacing
461
+
462
+ ```css
463
+ /* ❌ WRONG: Random spacing values */
464
+ .card-1 { padding: 17px; }
465
+ .card-2 { padding: 23px; }
466
+ .card-3 { padding: 19px; }
467
+
468
+ /* ✅ CORRECT: 8-point scale */
469
+ .card-1 { padding: var(--spacing-md); } /* 16px */
470
+ .card-2 { padding: var(--spacing-lg); } /* 24px */
471
+ .card-3 { padding: var(--spacing-md); } /* 16px */
472
+ ```
473
+
474
+ ---
475
+
476
+ ### 🚫 Broken Responsive Design
477
+
478
+ ```css
479
+ /* ❌ WRONG: Fixed widths (breaks on mobile) */
480
+ .container {
481
+ width: 1200px; /* Overflows on phone */
482
+ }
483
+
484
+ /* ✅ CORRECT: Max-width + padding */
485
+ .container {
486
+ max-width: 1200px;
487
+ width: 100%;
488
+ padding: 0 var(--spacing-md);
489
+ }
490
+ ```
491
+
492
+ ---
493
+
494
+ ## When NOT to Use Celeste Aesthetic
495
+
496
+ ### Inappropriate Contexts
497
+
498
+ **DO NOT use corruption/glassmorphism for**:
499
+ - 🚫 Banking/financial apps (trust/security concerns)
500
+ - 🚫 Medical/healthcare (clarity is critical)
501
+ - 🚫 Legal documents (must be unambiguous)
502
+ - 🚫 Emergency services (no time for aesthetic)
503
+ - 🚫 Government forms (accessibility requirements)
504
+ - 🚫 Educational testing (must be readable)
505
+
506
+ **DO use for**:
507
+ - ✅ Creative portfolios
508
+ - ✅ Tech products (developer tools, CLI, APIs)
509
+ - ✅ Entertainment/gaming
510
+ - ✅ Personal branding
511
+ - ✅ Art/design showcases
512
+
513
+ ---
514
+
515
+ ## Checklist: Avoiding Anti-Patterns
516
+
517
+ Before shipping, verify:
518
+
519
+ - [ ] **No leet speak** (0, 1, 3, 4, 5, 7 substitutions)
520
+ - [ ] **Corruption ≤40%** intensity
521
+ - [ ] **Character-level** mixing (not word-level)
522
+ - [ ] **Japanese only** (no emoji/symbols)
523
+ - [ ] **Critical UI readable** (no corruption on errors)
524
+ - [ ] **Contrast ≥4.5:1** (WCAG AA)
525
+ - [ ] **Color + icon/text** (never color alone)
526
+ - [ ] **Official palette** used
527
+ - [ ] **Animation ≥100ms** (not too fast)
528
+ - [ ] **<3 flashes/second** (seizure safety)
529
+ - [ ] **Reduced motion** supported
530
+ - [ ] **Alt text** on all images
531
+ - [ ] **Keyboard accessible** (no traps)
532
+ - [ ] **Focus indicators** visible
533
+ - [ ] **≤2 glass elements** per viewport
534
+ - [ ] **Transform-only animations** (not width/height)
535
+ - [ ] **Japanese fonts** included
536
+ - [ ] **8-point spacing** used
537
+ - [ ] **Responsive design** tested
538
+
539
+ ---
540
+
541
+ ## Related Documentation
542
+
543
+ - [TRANSLATION_FAILURE_AESTHETIC.md](../brand/TRANSLATION_FAILURE_AESTHETIC.md) - Corruption rules
544
+ - [COLOR_SYSTEM.md](../brand/COLOR_SYSTEM.md) - Official color palette
545
+ - [ACCESSIBILITY.md](./ACCESSIBILITY.md) - WCAG compliance
546
+ - [ANIMATION_GUIDELINES.md](../components/ANIMATION_GUIDELINES.md) - Animation standards
547
+
548
+ ---
549
+
550
+ **Last Updated**: 2025-12-13
551
+ **Version**: 1.0.0
552
+ **Critical Rules**: NO leet speak, ≤40% corruption, Japanese only
553
+ **Maintainer**: Celeste Brand System
554
+ **Status**: ✅ Mandatory Guidelines