CirCode: Hybrid Circular-Binary Code System
CirCode adalah evolusi dari sistem kode visual melingkar yang menjembatani estetika futuristik dengan reliabilitas tinggi setingkat QR Code. Berbeda dengan sistem sirkular tradisional yang bergantung pada posisi sudut tunggal, CirCode menggunakan Binary Polar Grid yang jauh lebih tahan terhadap noise dan distorsi kamera.
🚀 Fitur Utama
Sistem ini dirancang untuk performa real-world dengan fungsionalitas modern:
- Hybrid Binary-Polar Grid: Data disimpan dalam kisi-kisi biner 36 sektor (filled=1, empty=0) yang disusun secara radial (bercincin).
- 3-Bullseye Finder System: Menggunakan 3 penanda konsentris pada 0°, 120°, dan 240° untuk deteksi posisi, skala, dan rotasi otomatis. Ini memungkinkan pembacaan dari sudut mana pun.
- Timing Ring Calibration: Dilengkapi dengan cincin kalibrasi luar untuk memastikan sampling data yang presisi pada setiap sektor.
- Robust Decoder Engine (OpenCV.js):
- Aspect Ratio Correction: Mengoreksi distorsi lensa kamera HP agar lingkaran tetap bulat sempurna saat diproses.
- Equilateral Filtering: Memilih finder yang paling stabil berdasarkan geometri segitiga sama sisi.
- Inverted Bit Fallback: Mampu membaca kode dalam kondisi kontras terbalik (light-on-dark).
- Smart "Go to Link": Deteksi otomatis protokol URL (http/www) dengan tombol akses langsung setelah scan.
- Progressive Web App (PWA): Mendukung instalasi langsung ke Home Screen HP dan dapat digunakan secara Offline tanpa koneksi internet.
- Audio & Haptic Feedback: Memberikan notifikasi getaran dan suara "Beep" instan setiap kali barcode berhasil dipindai.
- Designer Friendly: Opsi download dengan latar belakang transparan (.png) untuk integrasi desain profesional.
- Smart Input Limit: Sistem validasi pintar yang membatasi input maksimal 63 karakter sesuai kapasitas fisik grid.
🛠️ Cara Penggunaan
Versi Web (Rekomendasi)
Buka index.html di browser Anda (disarankan melalui Local Server atau HTTPS untuk akses
kamera).
- Generator: Masukkan teks atau URL, lalu klik Generate.
- Download: Pilih Black BG untuk cetak standar atau Trans untuk kebutuhan desain.
- Scanner: Klik Live Cam untuk scan real-time menggunakan kamera HP/Laptop, atau ikon Upload untuk memindai gambar yang sudah ada.
Persyaratan Python (Optional)
Untuk integrasi backend, instalasi library berikut:
pip install pillow opencv-python numpy
Untuk membuat barcode via CLI:
python main_encode.py --text "Halo" --bg black --out test.png
📐 Spesifikasi Teknis
Encoding Logic
- Charset:
0-9,A-Z,a-zdan simbol khusus (:/.?=&-_#%@+*()[]{}<>!$). - Data Structure:
- Header: 6-bit panjang data.
- Payload: 7-bit per karakter.
- Checksum: 6-bit verifikasi integritas data untuk mencegah false-positive.
- Capacity: Mendukung hingga 12 ring data (tergantung panjang teks).
Scanner Pipeline
- Adaptive Thresholding: Menangani kondisi cahaya yang tidak merata.
- Contour Analysis: Mencari struktur bullseye (lingkaran dalam lingkaran).
- Coordinate Mapping: Mentransformasi koordinat polar ke grid biner berdasarkan 3 titik referensi.
- Bit Sampling: Mengambil rata-rata nilai pixel pada pusat sektor data.
Developed by Remon · 2026
🤝 Contributors
- Gemini (Google) - Core Logic & Mathematical Mapping Consultant
- Claude (Anthropic) - Web Architecture & Scanner Optimization Consultant
*This project is a human-AI collaboration.*