Initial barcode scanner webapp

Camera-based barcode scanner using ZXing for decoding. Requests wide
video (256x2048), rotates to landscape for decoding, applies contrast
boost and tries both HybridBinarizer and GlobalHistogramBinarizer.
Includes camera selector, manual/auto focus controls, and focus slider.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-21 23:41:23 +00:00
commit b98534214f
6 changed files with 615 additions and 0 deletions

46
package-lock.json generated Normal file
View File

@@ -0,0 +1,46 @@
{
"name": "phone-barcode",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "phone-barcode",
"version": "1.0.0",
"dependencies": {
"@zxing/library": "0.19.2"
}
},
"node_modules/@zxing/library": {
"version": "0.19.2",
"resolved": "https://registry.npmjs.org/@zxing/library/-/library-0.19.2.tgz",
"integrity": "sha512-0aCQIbGXsDHcBuRYuZRZfJeLRYiPfdLxIlh5bY7k+k2bkxFwzla+75VyFi1rnjU5hqaZogdSH+Dw013YDsQOjg==",
"license": "MIT",
"dependencies": {
"ts-custom-error": "^3.0.0"
},
"engines": {
"node": ">= 10.4.0"
},
"optionalDependencies": {
"@zxing/text-encoding": "~0.9.0"
}
},
"node_modules/@zxing/text-encoding": {
"version": "0.9.0",
"resolved": "https://registry.npmjs.org/@zxing/text-encoding/-/text-encoding-0.9.0.tgz",
"integrity": "sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==",
"license": "(Unlicense OR Apache-2.0)",
"optional": true
},
"node_modules/ts-custom-error": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/ts-custom-error/-/ts-custom-error-3.3.1.tgz",
"integrity": "sha512-5OX1tzOjxWEgsr/YEUWSuPrQ00deKLh6D7OTWcvNHm12/7QPyRh8SYpyWvA4IZv8H/+GQWQEh/kwo95Q9OVW1A==",
"license": "MIT",
"engines": {
"node": ">=14.0.0"
}
}
}
}