Loading…
| booth | operator | reviewed | agree | disagree | unusable |
|---|
Keys: 1–9, 0 pick a class in order · u unusable · s skip. Skipped items come back after a reload. Your verdict is the training label; the operator's pick is only compared against it.
import { VEHICLE_CLASSES } from "@parking/shared"; // The reviewer's screen: one pending crop at a time, the operator's pick and the camera's // pick beside it, one button per vocabulary class + "unusable". Served by the collector // itself (no build step, no framework) — this is deliberately the whole UI. export function reviewPage(): string { const classes = JSON.stringify(VEHICLE_CLASSES); return `
Loading…
| booth | operator | reviewed | agree | disagree | unusable |
|---|
Keys: 1–9, 0 pick a class in order · u unusable · s skip. Skipped items come back after a reload. Your verdict is the training label; the operator's pick is only compared against it.