Operatore, task camera/DXF: le quote mostrano #id invece del nome #114

Closed
opened 2026-10-28 15:29:13 +00:00 by Adriano · 3 comments
Owner

src/frontend/flask_app/static/js/vision_execute.js:257, getter rows: l'etichetta usa st.measurement_type || st.name || '#'+subtask_id, ma la quota (SubtaskResponse) ha il nome in description e name non esiste. Con measurement_type vuoto (quote create dal wizard DXF o via API) l'operatore vede '#15', '#16'... invece di 'Larghezza', 'Lunghezza'. Visto in fiera 28/10/2026 sul PC DESKTOP-RABEHJJ, ricetta TEST1 task 14 (quote 15-26) e ricetta FIERA-DXF-COPIA-2 task 10 (quote 13, 14). Riferimento: la schermata manuale usa description come titolo (templates/measure/task_execute.html:395).

src/frontend/flask_app/static/js/vision_execute.js:257, getter rows: l'etichetta usa st.measurement_type || st.name || '#'+subtask_id, ma la quota (SubtaskResponse) ha il nome in description e name non esiste. Con measurement_type vuoto (quote create dal wizard DXF o via API) l'operatore vede '#15', '#16'... invece di 'Larghezza', 'Lunghezza'. Visto in fiera 28/10/2026 sul PC DESKTOP-RABEHJJ, ricetta TEST1 task 14 (quote 15-26) e ricetta FIERA-DXF-COPIA-2 task 10 (quote 13, 14). Riferimento: la schermata manuale usa description come titolo (templates/measure/task_execute.html:395).
Adriano added the bug label 2026-10-28 15:29:13 +00:00
Author
Owner

ANALISI (Opus, passo 1)
COSA: l'etichetta di riga nella tabella delle quote del pannello visione usa il nome della quota (description), come la schermata manuale (templates/measure/task_execute.html:395).
FILE: src/frontend/flask_app/static/js/vision_execute.js:257 (getter rows) — label = (st.marker_number ? st.marker_number + '. ' : '') + (st.description || st.measurement_type || '#' + m.subtask_id). Commento inline #114. Nessun'altra riga cambia.
TEST: nuovo src/frontend/flask_app/tests/js/test_vision_rows.js (node puro, stile test_dxf_zoom.js): carica vision_execute.js in vm con window.__visionCfg.subtasks = [{id:15, marker_number:1, description:'Larghezza', measurement_type:null, unit:'mm'}, {id:16, marker_number:2, description:'', measurement_type:'Diametro', unit:'mm'}, {id:17, marker_number:3, description:null, measurement_type:null}] e result.measurements per 15, 16, 17, 99. Attese: '1. Larghezza', '2. Diametro', '3. #17', '#99'; unit 'mm' di default. Wrapper pytest src/frontend/flask_app/tests/test_vision_rows_js.py (stesso schema di test_dxf_zoom_js.py, skip senza node).
NON TOCCARE: template, backend, altri getter di vision_execute.js, test esistenti.
RAMO: lavoro/daitarn-tmf-nomiquote da lavoro/daitarn-tmf-dxfcal (198c6c6), poi merge nel ramo fiera.

ANALISI (Opus, passo 1) COSA: l'etichetta di riga nella tabella delle quote del pannello visione usa il nome della quota (`description`), come la schermata manuale (`templates/measure/task_execute.html:395`). FILE: `src/frontend/flask_app/static/js/vision_execute.js:257` (getter `rows`) — `label = (st.marker_number ? st.marker_number + '. ' : '') + (st.description || st.measurement_type || '#' + m.subtask_id)`. Commento inline `#114`. Nessun'altra riga cambia. TEST: nuovo `src/frontend/flask_app/tests/js/test_vision_rows.js` (node puro, stile `test_dxf_zoom.js`): carica `vision_execute.js` in `vm` con `window.__visionCfg.subtasks` = `[{id:15, marker_number:1, description:'Larghezza', measurement_type:null, unit:'mm'}, {id:16, marker_number:2, description:'', measurement_type:'Diametro', unit:'mm'}, {id:17, marker_number:3, description:null, measurement_type:null}]` e `result.measurements` per 15, 16, 17, 99. Attese: `'1. Larghezza'`, `'2. Diametro'`, `'3. #17'`, `'#99'`; `unit` `'mm'` di default. Wrapper pytest `src/frontend/flask_app/tests/test_vision_rows_js.py` (stesso schema di `test_dxf_zoom_js.py`, skip senza node). NON TOCCARE: template, backend, altri getter di `vision_execute.js`, test esistenti. RAMO: `lavoro/daitarn-tmf-nomiquote` da `lavoro/daitarn-tmf-dxfcal` (`198c6c6`), poi merge nel ramo fiera.
Adriano added the assegnata:daitarn label 2026-10-28 15:30:38 +00:00
Author
Owner

🔵 daitarn — preso in carico 2026-10-28T15:30:36Z
ramo: lavoro/daitarn · capacità: build-windows, gpu

🔵 daitarn — **preso in carico** 2026-10-28T15:30:36Z ramo: `lavoro/daitarn` · capacità: build-windows, gpu
Author
Owner

Soluzione

Ramo lavoro/daitarn-tmf-dxfcal 7a1df0b (fast-forward da lavoro/daitarn-tmf-nomiquote). src/frontend/flask_app/static/js/vision_execute.js:257, getter rows: label = marker + (description || measurement_type || '#id'). Test: src/frontend/flask_app/tests/js/test_vision_rows.js + wrapper test_vision_rows_js.py (rosso sul codice vecchio: '1. #15'; verde sul nuovo); pytest 29 passed (vision_rows_js, template_js_syntax, measure_vision, measure_vision_check, dxf_zoom_js). Deploy PC fiera DESKTOP-RABEHJJ 28/10: solo il JS, sha256 14ee36aa..., servito su :8780, nessun riavvio; backup in C:\Tielogic\backup\pre-114. Codice Sonnet (claude-sonnet-5-5), controllo Opus.

**Soluzione** Ramo lavoro/daitarn-tmf-dxfcal 7a1df0b (fast-forward da lavoro/daitarn-tmf-nomiquote). src/frontend/flask_app/static/js/vision_execute.js:257, getter rows: label = marker + (description || measurement_type || '#id'). Test: src/frontend/flask_app/tests/js/test_vision_rows.js + wrapper test_vision_rows_js.py (rosso sul codice vecchio: '1. #15'; verde sul nuovo); pytest 29 passed (vision_rows_js, template_js_syntax, measure_vision, measure_vision_check, dxf_zoom_js). Deploy PC fiera DESKTOP-RABEHJJ 28/10: solo il JS, sha256 14ee36aa..., servito su :8780, nessun riavvio; backup in C:\Tielogic\backup\pre-114. Codice Sonnet (claude-sonnet-5-5), controllo Opus.
Adriano removed the assegnata:daitarn label 2026-10-28 15:35:34 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Adriano/TieMeasureFlow#114