104 lines
2.1 KiB
Markdown
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.
|