# Knowledge Base - App CID Flutter ## 1. Struttura dei File - `global_data.dart`: Contiene le variabili dei conducenti (Lato A e B). - `config_cid.dart`: Contiene le coordinate millimetriche (X, Y) fisse. - `pdf_engine.dart`: Logica di generazione del PDF tramite pw.Stack. ## 2. Regole Blindate Coordinate (ConfigCID) - **Box Somma Sezione 12**: Coordinata Y = 575.0 fissa. - **Indirizzo Conducente**: Coordinata Y = 575.0 fissa. - **Font Size**: Base = 8.0, Bold. - **Sezione 12 (Crocette)**: Y Inizio = 211.0, Passo = 23.5. - **Sezione 13 (Grafico)**: Gestito solo dal Conducente A (sincronizzato su B). ## 3. Mappatura Database (Nomi Brevi Firebase) Per evitare perdite di dati, usare sempre queste chiavi nel payload JSON: - Cognome: `cog` - Nome: `nom` - Codice Fiscale: `cf` - Targa: `tg` - Polizza: `pol` - Compagnia: `den` - Circostanze: `circ` (Mappa di int, bool) ## 4. Fix Critici - **Firebase Sync**: Firebase scarica le circostanze come List. Usare sempre la funzione `fixCircostanze` per convertirle in Map prima di assegnarle a GlobalData. - **PDF Overflow**: Se il testo รจ troppo lungo, non deve rompere il layout.