thermark 0.36.1

Local sticker printing for pocket thermal printers over BLE/USB — QR links, inventory tags, badges, photos; no vendor app
Documentation
# Hardware trials

B1 with the `b1` task over BLE is the only hardware-verified print path.
Offline previews and protocol confirmations do not establish physical quality.

## First print

[Install thermark](installation.md), charge and wake the printer, load matching
media, and quit the vendor app. Replace 50x30 with your actual label size:

```sh
thermark setup --label 50x30 --test-print
```

Setup identifies the printer, checks readiness, saves defaults and prints one
example.com QR label. Scan it with your phone. Record OS/CPU, build version,
installation method, time to first successful print and any troubleshooting.
Without `--test-print`, setup sends no label.

## Repeatable measurements

From a source checkout with the installed CLI on PATH, prepare public sparse
text (3 labels), QR (3), repeated-batch (30) and dense-QR (10) jobs offline:

```sh
python3 scripts/hardware-trial.py --output local/trial-1 prepare --label 50x30
thermark job verify --job local/trial-1/qr
thermark job print --job local/trial-1/qr --label 50x30
thermark job status --job local/trial-1/qr
```

Inspect previews before printing. Use a fresh trial directory for each
build/media/environment. Pass `prepare --commit <full-source-SHA>` when known.
Keep charged and low-battery results separate; record interrupted/reconnected
runs with `record --condition interrupted` or `reconnected`. Inspect physical
output and follow [batch recovery](batch.md#print-and-recover) before retrying.

Count complete physical labels, scan each QR, and enter actual measurements:

```sh
python3 scripts/hardware-trial.py --output local/trial-1 record \
  --case qr --printed 3 --scanned 3 --seconds 12.5 --battery charged
python3 scripts/hardware-trial.py --output local/trial-1 report
```

The example duration is illustrative. Sparse text has no QR: use `--scanned 0`.
Reports distinguish offline preparation from operator-reported physical trials;
unmeasured durations stay empty. Repeat on macOS and Linux where available.

## Report results

```sh
thermark doctor --use-config --json > local/thermark-trial-report.json
```

Use the [hardware report form](https://github.com/kahwee/thermark/issues/new?template=hardware-report.yml).
Include OS/CPU, build, model, media size, steps that worked or failed, exact
errors, legibility, QR scans and row order. Failed installs and prints are useful.
After a week, report repeat use and remaining friction.

Keep printer IDs, serial numbers, private labels and Wi-Fi credentials out of
reports. Photos should show only public demo labels. Update support evidence
only from physical results, never from the trial script's offline preparation.