# Patch Notes Fase 7B — Kontrol Kamera Pro Overlay

## Ringkasan

Fase 7B memindahkan kontrol utama AUTO/PRO, ISO, shutter, aperture, EV, grid, switch, fullscreen, reset, dan shutter ke overlay live preview. Panel lama tetap tersedia sebagai fallback/detail.

## File utama yang diubah

- `app/Views/partials/camera-pro-overlay.php` — overlay, quick control, bottom sheet, grid, dock, toast, dan review hasil.
- `app/Views/siswa/praktikum/kamera.php` dan `app/Views/siswa/virtual-lab/index.php` — memuat overlay serta menyatukan state kontrol.
- `public/assets/js/pro-controls.js` — sinkronisasi AUTO/PRO, bottom sheet, reset, grid, keyboard, focus, dan nilai aktif.
- `public/assets/js/photography-engine.js` — exposure compensation -2 sampai +2 untuk simulasi.
- `public/assets/js/camera-ui.js` — binding overlay, hardware EV opsional, capture guard, metadata, dan review Original–Simulated.
- `public/assets/css/phase3b-camera.css` — layout portrait, landscape, fullscreen, safe-area, touch target, serta reduced motion.
- `app/Services/CaptureSettingsService.php` — validasi metadata EV dan grid tanpa perubahan database.

## Perilaku penting

- AUTO menonaktifkan pengaturan manual; PRO mengaktifkan simulasi langsung.
- Original photo tidak menerima efek simulasi atau grid. Simulated photo tetap dibuat melalui renderer lama.
- Exposure compensation hardware hanya dicoba bila dilaporkan oleh `getCapabilities()` dan diverifikasi melalui `getSettings()`; kegagalan tetap memakai simulasi.
- Bottom sheet dapat ditutup melalui tombol, backdrop, atau Escape dan tidak menghentikan kamera.
- Fullscreen native dan immersive fallback Fase 7A tetap digunakan.

## Pengujian

Gunakan `MANUAL_TEST_PHASE7B.md`. Pemeriksaan otomatis tersedia pada `tests/phase7b_camera_pro_contract_test.php` dan `tests/phase7b_exposure_engine_test.mjs`. Kamera fisik belum diuji di environment pengerjaan.
