Files
2026-08-27 17:57:30 +07:00

3.9 KiB

DESIGN.md

Dokumen spesifikasi desain antarmuka, prinsip estetika, dan token visual untuk aplikasi ChronoType (Classic Mode & Game Mode).


1. Filosofi Desain

  • Distraction-Free (Zen Mode): Menghilangkan elemen UI yang tidak relevan selama pengguna sedang mengetik.
  • Rogue RPG Elements (Minimalist HUD): Integrasi status game (Floor, Target Score, Gold, Streak, Relics) tanpa membuat layar penuh sesak.
  • Micro-Feedback yang Presisi: Kursor animasi bercahaya (glowing caret) dan pewarnaan karakter seketika (instant feedback).
  • Subtle Timer: Indikator waktu tidak menggunakan angka yang mencolok melainkan garis tipis (edge-to-edge line) di puncak layar.

2. Palet Warna (Color Palette)

Aplikasi dibangun dengan tema gelap berbasis Tailwind CSS v4 dan palet Slate:

Peran Hex / Tailwind Token Keterangan
Background Utama #020617 (slate-950) Latar belakang gelap pekat untuk kenyamanan mata.
Background Card/Header/HUD #0f172a (slate-900) Kontainer HUD, kartu shop, pill selector, dan modal hasil.
Border & Divider #1e293b (slate-800) Garis tepi subtil dengan batas kontras rendah.
Aksen Utama (Caret & Gold) #f59e0b (amber-500 / amber-400) Warna kursor glowing, karakter benar, mata uang Gold, dan timer bar.
Streak / Fire #f97316 (orange-500 / orange-400) Indikator combo streak menyala (flame accent).
Boss Floor / Error #fb7185 (rose-500 / rose-400) Badge Boss Floor dan highlight karakter typo.
Rarity: Rare Item #22d3ee (cyan-400) Badge dan border item langka.
Rarity: Legendary Item #c084fc (purple-400) Badge dan border item legendaris.
Teks Belum Diketik #475569 (slate-600) Teks abu-abu redup agar mata fokus pada kata aktif.
Teks Sudah Diketik (Benar) #94a3b8 (slate-400) Warna netral pasca pengetikan.

3. Tipografi

Dua jenis font Google Fonts yang dimuat via index.html:

  1. JetBrains Mono (font-mono):
    • Digunakan untuk: Area pengetikan kata, caret, dan angka statistik WPM/Akurasi/Score/Gold.
    • Karakteristik: Monospace presisi, lebar karakter seragam untuk kalkulasi posisi caret offsetLeft.
  2. Plus Jakarta Sans (font-sans):
    • Digunakan untuk: Header, navigasi, dialog shop, deskripsi relic, dan label UI umum.
    • Karakteristik: Geometris modern, bersih, dan mudah dibaca pada berbagai ukuran layar.

4. Spesifikasi Komponen

Top-Edge Timer Bar (TopProgressBar.vue)

  • Posisi: fixed top-0 left-0 w-full z-50
  • Ketebalan: 3px
  • Visual: Gradasi from-amber-500 via-amber-400 to-amber-300 dengan efek shadow-[0_0_8px_rgba(245,158,11,0.6)].
  • Animasi: transition-all duration-100 ease-linear (menyusut proporsional seiring waktu floor berjalan dan terpengaruh time speed scaling di Game Mode).

Roguelite HUD (RogueHud.vue)

  • Terletak tepat di atas area pengetikan saat mode Game Mode aktif.
  • Menampilkan:
    • Floor Badge: Normal floor (Amber) atau Boss floor (Rose red dengan animasi crown).
    • Score Progress: Score vs Target Score dengan bar gradasi progresif.
    • Gold Wallet: Jumlah koin emas yang terkumpul.
    • Combo Streak: Pengali kombo dengan ikon api dinamis.
    • Relic Inventory: Ikon mini relic aktif dengan kartu tooltip deskripsi.

The Rogue Merchant Shop (ShopModal.vue)

  • Tampil otomatis saat player berhasil mencapai target score suatu Floor.
  • Menyediakan 3 kartu Relic acak (Common / Rare / Legendary) yang seimbang untuk mengatasi eskalasi kesulitan dan percepatan timer (Time Extenders, Slowers, Multipliers, & Forgiveness).
  • Tombol Lanjut ke Floor Berikutnya.

Game Over Modal (GameOverModal.vue)

  • Tampil saat timer habis sebelum target score tercapai di mode Roguelite.
  • Menampilkan metrik Floor tertinggi yang dicapai, Max Combo Streak, dan Total Relics yang dimiliki beserta tombol Mulai Run Baru.