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

2.1 KiB

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.