# Calibration Playbook (when camera moves) ## 0) Check service - `GET /healthz` - `GET /readyz` - Open `/tools/camera_live.html` ## 1) Refinement Open `/tools/refinement_workbench.html` 1. Barrel corrected tab: - Drag 4 perspective points (TL/TR/BR/BL) - Toggle square reference grid ON if needed 2. Update config 3. Trigger sample 4. Validate sequence: - perspective corrected - rotation adjusted - illumination normalized ## 2) Decode geometry Open `/tools/decode_workbench.html` → **Grid Model** 1. Drag 10 points (4 corners + 3 x + 3 y) 2. Check grid lines alignment 3. Update config 4. Trigger sample ## 3) Dead cells Decode workbench → **Dead Cells** (click-toggle) - Update config ## 4) Pattern mapping Use `/tools/unique_cells_mapping.html` 1. Load latest 2. Assign values to unique patterns 3. Update config mapping ## 5) Sliders Decode workbench → **Sliders** - Drag min/max for each slider (line is axis) - Update config ## 6) Sample Decode workbench → **Sample** - Drag 4 corners - Update config ## 7) Validate final - `GET /api/latest` - Confirm fields: - `grid` (row-major 1D) - `sliders` ([s1,s2], 0..1) - `sample` (mapped code) - Open latest layout SVG from welcome page