# 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] ## [1.1.0] - 2026-10-07 ### Aggiunto - Fase 2: modalità "Lista personalizzata" per inserire i codici a mano, uno alla volta, in alternativa al file del gestionale. - Docs-as-code: `scripts/CheckDocs.cs`, markdownlint, `docs/README.md` (indice Diátaxis e fonte unica). - Nuovi doc: `tutorial-primo-giro`, `risoluzione-problemi`, `sviluppo`, `rilascio`, `glossario` e registro delle decisioni `docs/decisioni/` (6 ADR). ### Modificato - Il README rimanda a `docs/sviluppo.md` e `docs/rilascio.md` per build, test e setup, invece di duplicarli. - Fase 2: dopo "Verifica presenza" la riga selezionata mantiene il verde/rosso dell'esito invece di diventare blu. ## [1.0.0] - 2026-09-23 Prima versione distribuita agli utenti tramite setup di installazione. ### Aggiunto - Setup di installazione per-utente (`installer/PrepStep.iss`, Inno Setup 6): `PrepStep-Setup-.exe` installa in `%LOCALAPPDATA%\Programs\PrepStep` senza diritti di amministratore, crea nel menu Start i collegamenti al programma e al disinstallatore (quello sul desktop è facoltativo) e registra l'app in "Impostazioni → App installate". - Il setup, se l'app è già installata, chiede se aggiornarla/reinstallarla, disinstallarla o uscire; con `/VERYSILENT` aggiorna senza chiedere. Aggiornando, database e impostazioni restano. - "File → Elimina CSV delle distinte...": elimina i CSV generati dall'import, che altrimenti si accumulano nella cartella di lavoro (uno per distinta). Chiede conferma mostrando l'elenco dei file; non tocca gli `.xls` del gestionale né `raw/`/`step/`. - Guida utente e guida in-app: nuova sezione "Dove finiscono i file" (database, CSV, `raw/`, `step/`, comandi di pulizia, come aprire la cartella nascosta in `AppData`, file che restano dopo la disinstallazione). - Licenza proprietaria (`LICENSE`, © 2026 Davide Grilli, tutti i diritti riservati), anche nei metadati dell'exe e del setup. - README: sequenza completa di comandi per generare il setup a ogni release. ### Modificato - Nome dell'app mostrato all'utente: da "Cevolani StepPrep" a "PrepStep - Cevolani" (titolo finestra, guida, setup, menu Start, "App installate"). - Il database è sempre `cad_index.db` nella cartella di installazione: all'avvio si carica solo quello e "Aggiorna indice" lo crea lì se manca. "Apri DB..." carica un altro database solo per la sessione corrente. - La cartella di lavoro predefinita (se non ne è stata scelta una con "File → Scegli cartella di lavoro...") è la cartella di installazione, invece della cartella del database. - Guida utente: fase 1 riscritta per il database fisso; tolta la sezione di installazione (chi legge la guida ha già il programma; le istruzioni restano nel `README.md`). - Finestra Guida più grande (1000×680) e testo non più "da editor": niente cursore lampeggiante, niente cursore a "I" e niente selezione col mouse. - Documentazione riallineata al codice: nomi delle fasi come nella UI ("5. Verifica completezza"), "File → Nuovo" che non cancella file su disco, mappa dei file e test nel README, riferimenti a metodi non più esistenti (`AssiemeCompleto`) e ruolo di `CaricaCodiciNoti`/`CaricaCandidati` in fase 4. ### Rimosso - Memoria dell'ultimo database aperto (`%AppData%\PrepStep\ultimo_db.txt`) e ricerca di `cad_index.db` nella cartella corrente. ## [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).