# Sticker Plotter POC

POC připravuje tiskový list, CutContour a registrační značky. Přímý nástroj
`plot-mimaki.py` vytvoří omezený MGL payload pro Mimaki CFL-605RT.

## Výsledek

- List má rozměr 152 × 226 mm. `print.jpg` je určený pro tisk 1:1.
- `cut.svg` obsahuje pouze řezné kontury. `print.jpg` obsahuje značky TP1–TP4.
- Katalog předává print master, CutContour, bleed, barvu a `source_snapshot_id`.
- Rozhraní mění motiv, barvu, počet a typ značek Square, Type 1 nebo Type 2.
- `plot-mimaki.py square` vytvoří MGL čtverce. `plot-mimaki.py job` vytvoří
  MGL z vydané zakázky.

## Stav MGL

**Ověřeno:** starší ovladač vytvoří omezený MGL proud s `IN;`, `SP`, `VS`,
`ZF`, `ZO`, `PU`/`PD` a `PUSP0;`. Encoder zapisuje tyto potvrzené bajty.

**Otevřeno:** legacy RAW přenos na Ethernetu je pracovní model: jedno TCP
spojení, jeden payload, `shutdown(SHUT_WR)` a zavření socketu. `--send` jej
otevře výhradně na zadaném hostu a portu 11110. Fyzický řez zatím není
zaznamenaný.

Současné materiálové profily mají `machine_controls: null`. Obsluha nebo
kolegyně doplní hodnoty do verzovaného JSON profilu; příkaz bez hodnot skončí
chybou a nevytvoří payload.

## Otevřeno

- Automatická detekce TP1–TP4 a fyzický řez zatím nejsou zaznamenané.

## Další pokus

1. Doplnit `machine_controls` v materiálovém profilu.
2. Vytvořit a zkontrolovat `square.mgl`.
3. Odeslat stejný soubor pomocí `--send` na IP plotru.
4. Po ověření vytvořit payload vydané zakázky.
5. Automatická detekce TP1–TP4 zůstává otevřená.

POC je připraveno k fyzickému pokusu. Příkazy jsou v
[provozním zápisu](docs/operations.md).

## Lokální rozhraní

```bash
cd experiments/sticker-plotter
uv run python scripts/run-app.py \
  --jobs-root output/pilot-jobs \
  --catalog-root ../photo-stickers/benchmark \
  --transport mock --host 127.0.0.1 --port 4600 --open
```

Rozhraní běží na <http://127.0.0.1:4600>.
