Read the carriers
EAN-13 supplies a GTIN. The QR carries a GS1 Digital Link URI with AI (01), lot and expiry. Both symbols in the game are real, rendered images.
CANVAS CHECKOUT SIMULATION
Run dual-marked packs through a tiny supermarket till. One physical item with two barcodes should still be charged once.
Press Space to scan, R to repeat the same presentation, number keys 1 through 5 to choose a level, M to reduce motion, and question mark to reopen the briefing. You can also drag the package into the scanner or click Scan Item.
Interactive checkout lab ready.
Simulation uses deterministic fixtures. Real SDK results come only from image decoding.
Keyboard: Space scan · R repeat pass · 1–5 levels · M motion
THE RULE BEHIND THE GAME
A barcode tells the checkout what product this is. It does not tell it which physical package just crossed the scanner. Matching carrier reads inside one presentation become one cart commit; a second package is a new presentation.
EAN-13 supplies a GTIN. The QR carries a GS1 Digital Link URI with AI (01), lot and expiry. Both symbols in the game are real, rendered images.
The linear value becomes a canonical GTIN-14 and its check digit is verified. Two valid but different GTINs are a conflict, not a race for the scanner to win.
Same GTIN, same package: one unit. Same GTIN, second physical package: another unit. A permanent GTIN cache would block a legitimate second purchase.
IMPLEMENTATION NOTE
The pure POS engine groups identities inside one presentation. The canvas only visualizes the result; the SDK adapter cannot override these business rules.
Read the GS1 2D at Retail POS guidelineuniqueGtins = validReads.map(normalize).unique()
if (uniqueGtins.size > 1) needsReview()
else if (presentation.wasCommitted) ignore()
else cart.increment(uniqueGtins[0], 1)
A package carries both an established EAN/UPC symbol and a 2D carrier, often to add richer product data during migration. When both represent one item, the POS processes one set of desired data rather than charging twice.
No. It is an industry POS-readiness goal for defined 2D carriers, not a claim that 1D barcodes stop working in 2027. Existing linear checkout remains part of this lab.
Each click creates a new physical package presentation. Clicking Repeat Pass explicitly reuses the same presentation and must not add another unit.
It shows whether Dynamsoft decoded the generated or uploaded image and exposes the genuine returned text. It does not establish camera grouping, scanner hardware behavior or GS1 certification.