1# llimphi-widget-qr
2
3> Paints a QR matrix: square, centred, with its quiet zone and **no white threads between
4> modules**.
5
6## Why it exists
7
8Because there were three copies of the same painter. `qillqa-mesa-llimphi`, agora-app's
9Mesa module and the "My card" tooth each painted their own version — and agora-app's says
10so in its own comment: "the same composition as `qillqa-mesa-llimphi::qr_painter`".
11
12That is the pattern `shared/qr` had already cut on the **encoding** side (matrix and PNG,
13once) and that was still open on the **drawing** side.
14
15The white threads are the detail that makes it worth a widget: rounding each module
16independently leaves sub-pixel gaps, and a QR with gaps scans worse.
17
18---
19
20Part of **llimphi** — see [llimphi](../../README.md) and the widget catalogue in [`MANUAL.md`](../../MANUAL.md).
README.md
llimphi-widget-qr
Paints a QR matrix: square, centred, with its quiet zone and no white threads between
modules.
Why it exists
Because there were three copies of the same painter. qillqa-mesa-llimphi, agora-app's
Mesa module and the "My card" tooth each painted their own version — and agora-app's says
so in its own comment: "the same composition as qillqa-mesa-llimphi::qr_painter".
That is the pattern shared/qr had already cut on the encoding side (matrix and PNG,
once) and that was still open on the drawing side.
The white threads are the detail that makes it worth a widget: rounding each module
independently leaves sub-pixel gaps, and a QR with gaps scans worse.
Part of llimphi — see llimphi and the widget catalogue in MANUAL.md.