# Changelog Tutte le modifiche rilevanti di questo progetto sono documentate in questo file. Il formato segue [Keep a Changelog](https://keepachangelog.com/it/1.1.0/), e il progetto aderisce a [Semantic Versioning](https://semver.org/lang/it/). ## [Non rilasciato] ### Aggiunto - Setup di installazione per-utente (`installer/PrepStep.iss`, Inno Setup 6): installa in `%LOCALAPPDATA%\Programs\PrepStep` senza diritti di amministratore, con collegamento nel menu Start e disinstallazione dal menu Start, da "App installate" o rilanciando il setup (che, se l'app è già installata, chiede se aggiornarla o disinstallarla). ### Modificato - Nome dell'app mostrato all'utente: da "Cevolani StepPrep" a "PrepStep - Cevolani" (titolo finestra, guida, setup, menu Start). Aggiornando, il setup rimuove i collegamenti col vecchio nome. - Il database è sempre `cad_index.db` nella cartella di installazione: non viene più ricordato l'ultimo DB aperto (`%AppData%/PrepStep/ultimo_db.txt` non è più usato) e "Apri DB..." vale solo per la sessione. - Senza una cartella di lavoro salvata si propone la cartella di installazione invece di quella del DB. ## [0.9.0] - 2026-09-23 ### Aggiunto - Guida utente `docs/guida-utente.md`: tutti i passi, dalla distinta esportata dal gestionale fino all'esportazione STEP con Creo Distributed Batch. - Fase 2: bottone "Verifica presenza", visibile solo dopo un import riuscito; è lui (non il solo import) a sbloccare "Avanti". Etichette numerate accanto ai bottoni. - Dialogo "Componenti referenziati trovati": bottone "Chiudi" (anche con Esc) e icona dell'app. ### Modificato - "Scegli cartella di lavoro..." e "Pulisci raw e step..." spostati dalla fase 1 al menu File, raggiungibili in qualunque momento; "File → Nuova estrazione" rinominato in "Nuovo". - Fase 1 ridisegnata in una card di stato "Database" con indicatore verde/rosso; rimossa la card "Cartella di lavoro". - Barra Avanti/Indietro trasformata in floatbar staccata dai bordi, con bottoni di dimensioni e stile uniformi (riusata anche nel dialogo dei componenti referenziati). - Finestra Guida ridisegnata: sezioni con titolo, passi numerati e callout "Nota"/"Attenzione" colorati; sidebar con selezione nel blu dell'app. - Testi delle fasi 3-4 semplificati. ### Corretto - "Avanti" restava disabilitato in fase 1 all'avvio anche con DB e cartella di lavoro già caricati. - Guida in-app e README citavano ancora "Verifica completezza assiemi" e "Cambia cartella...", rimossi da tempo. ## [0.1.0] - 2026-09-22 ### Aggiunto - Wizard a 5 fasi (Database → Importa Distinta Base → Crea cartella raw → Trova componenti referenziati → Verifica completezza) per preparare i file `raw/` da passare a Creo Distributed Batch per l'esportazione STEP. - Indicizzazione dei file CAD Pro-ENGINEER/Creo di un disco/share di rete (radice di default `X:\`) in un DB SQLite locale (`cad_index.db`), con aggiornamento incrementale e barra di progresso. - Import della distinta base dall'export del gestionale (`.xls`/`.xml`) in CSV componente;descrizione, incluso il riconoscimento della convenzione `DBP__` per aggiungere l'assieme generale come riga. - Creazione della cartella `raw/` con copia parallela dei file CAD dei componenti trovati nell'indice. - Risoluzione ricorsiva dell'albero componenti dai file `.asm` (sotto-assiemi, parti, componenti soppressi, riferimenti esterni), con parser esatto dei record binari (`AsmRecordReader`) e fallback euristico testuale (`AssemblyComponentScanner`) per i file fuori formato. - Scelta automatica della copia corretta quando lo stesso codice esiste in più cartelle della share, preferendo quella della cartella dell'assieme che la referenzia. - Anteprima trascinabile (drag&drop) dei file `.asm` della distinta già in `raw/`, pronti per Creo Distributed Batch. - Menu "File → Nuova estrazione" (Ctrl+N) per ripartire con una nuova distinta senza ricaricare database e cartella di lavoro, e "Aiuto → Guida" (F1) con una sintesi interattiva delle 5 fasi. - Script standalone C# file-based (`scripts/`): `ExtractCreoStrings.cs`, `BomViaDb.cs`, `CreoBom.cs`, per estrarre la distinta componenti da riga di comando. - Pubblicazione come eseguibile standalone single-file self-contained (Windows x64).