# Hasil uji — v2.0 (tampilan tanpa angka)

Lingkungan uji: Linux, PHP 8.3.6 CLI (ekstensi `pdo_sqlite` aktif, SQLite 3.45.1),
Chromium headless lewat Playwright 1.56, layar 1368 × 713 px.

## Ringkasan

| Uji | Hasil |
|---|---|
| `php -l` semua file PHP (`public/index.php`, `public/router.php`, `src/bootstrap.php`, `src/DashboardRepository.php`, `tools/init_db.php`) | Lulus, tanpa error sintaks |
| `node --check public/assets/js/dashboard.js` | Lulus |
| Halaman via `php -S … public/router.php` (PHP + pdo_sqlite) | HTTP 200; 0 JS error, 0 error/warning konsol, 0 request gagal |
| Halaman tanpa `pdo_sqlite` (`php -n`) | HTTP 200; semua nilai tetap “—”; tanpa warning |
| HTML hasil render — `html-validate` (preset recommended) | 0 error |
| HTML hasil render — parser `html5lib` | 0 parse error |
| CSS — parser `tinycss2` | 0 error aturan / deklarasi |
| Database `storage/dashboard.sqlite` | 5 tabel, semuanya **0 baris**; `integrity_check` = ok |
| Pencarian angka dari screenshot di seluruh file (kode, CSS, JS, HTML, SQLite, dokumen) | **0 temuan** |
| Akses langsung `/storage`, `/src`, `/database`, `/tools`, `/docs` lewat router | 403 |
| `public/preview.html` dan `Preview_Standalone.html` dibuka sebagai file | Identik piksel dengan render PHP |

## Kecocokan posisi terhadap screenshot (1368 × 713)

- 10 kartu putih + kotak logo: posisi dan ukuran **identik** dengan screenshot (selisih 0 px).
- 70 titik ukur teks/grafik (judul, label, titik dua, tepi kanan nilai, legenda, pie, donut):
  69 dalam **±1 px**; satu-satunya selisih adalah placeholder “—” di posisi persentase total,
  yang memang berbeda bentuk dari angka.
- Label bulan miring: rata-rata selisih tepi < 1 px.
- Selisih piksel terhadap screenshot yang angkanya disamarkan:

| Versi | Rata-rata selisih warna | Piksel berbeda > 30 |
|---|---|---|
| v1.0 (ZIP sebelumnya) | 19,9 | 9,95 % |
| v2.0 (ini) | 6,9 | 3,25 % |

  Sisa selisih hampir seluruhnya berasal dari anti-aliasing huruf (screenshot dibuat di Windows/ClearType)
  dan dari tanda “—” yang tidak ada di screenshot.

## Layar lain

| Viewport | Hasil |
|---|---|
| 1920 × 1080 | Tanpa gulir; kanvas 1349 × 701 di kiri atas, sisa putih |
| 1280 × 720, 1024 × 768, 390 × 844 | Lebar dokumen 1349 px → gulir horizontal, susunan tidak berubah |

## Jalur data (siap tahap 2)

Diuji pada salinan sementara dengan nilai uji sintetis (bukan data bisnis; salinan langsung dihapus,
database yang dikirim tetap kosong): donut, batang total, pie, grafik 12 bulan, tabel, dan achievement
berubah sesuai nilai; persentase hanya dihitung bila target > 0.

## Keterbatasan

- Diuji di Chromium/Linux dengan font Liberation Sans (lebar huruf sama dengan Arial).
  Di Windows bentuk huruf Arial + ClearType sedikit berbeda, posisi tetap sama. Firefox/Safari belum diuji.
- File `.htaccess` memakai sintaks standar Apache 2.2/2.4, tetapi tidak diuji di server Apache/LiteSpeed sungguhan.
- Tata letak cetak (`@media print`, A4 landscape) belum diuji di kertas.
