Add DearPyGUI observer/server UI and demo launcher
This commit is contained in:
103
dearpygui_observer_server_spec.md
Normal file
103
dearpygui_observer_server_spec.md
Normal file
@@ -0,0 +1,103 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user