Files
flywms/dearpygui_observer_server_spec.md
2026-06-04 08:57:36 +02:00

104 lines
2.1 KiB
Markdown

# DearPyGUI UI Spec - Observer e WMS Server
## Scopo
Rendere la demo piu' ordinata e leggibile spostando la presentazione visuale da OpenCV a DearPyGUI nei soli componenti esterni:
- `flywms_navigation_observer.py`
- `flywms_wms_server.py`
La parte intelligente resta invariata:
- `flywms_navigation.py`
- tracking
- snapshot logic
- WMS client
- logica OCR / FastAPI lato server
## Principio architetturale
La UI non entra nel percorso critico.
### Observer
- riceve gia' telemetria e preview dal core;
- DearPyGUI sostituisce solo le finestre OpenCV;
- il protocollo socket e il payload restano invariati.
### WMS Server
- continua a ricevere upload e a fare OCR come oggi;
- DearPyGUI sostituisce solo le finestre OpenCV di monitoraggio;
- nessuna modifica al contratto HTTP.
## Layout Observer
### Colonna sinistra
- preview principale `navigate`
### Colonna destra superiore
- snapshot OCR payload
- crop etichetta
### Colonna destra inferiore
- stato / metriche
- comando corrente
- lista comandi
### Metriche minime
- `frame_id`
- `processed_frames` se presente
- `loop_fps`
- `yolo_fps`
- `last_yolo_ms`
- `det_count`
- `track_count`
- `snapshot_counter`
- `yolo_mode` se disponibile
- `motion_text`
## Layout WMS Server
### Colonna sinistra
- ultima immagine ricevuta dal server
### Colonna destra
- payload request corrente
- esito OCR
- esito ACK/NACK
- contatore richieste
## Requisiti UI
- finestre ridimensionabili
- nessun blocco sul core/server
- refresh periodico leggero
- fallback a OpenCV se DearPyGUI non e' disponibile
## Strategia di implementazione
### Fase 1
- introdurre backend DearPyGUI opzionale per observer
- introdurre backend DearPyGUI opzionale per WMS server
- mantenere OpenCV come fallback
### Fase 2
- rifinire il layout
- eventuali colori/stati piu' chiari
- eventuali controlli aggiuntivi
## Criterio di successo
1. la demo risulta piu' ordinata;
2. il core intelligente non cambia comportamento;
3. observer e server possono essere lanciati senza finestre OpenCV;
4. il fallback OpenCV resta disponibile in caso di problema.