Se non c'e' una cartella di lavoro salvata (o punta a una cartella
cancellata), AppContext.BaseDirectory finiva spesso nella cartella di
build (bin/Release/...) invece che dove l'utente tiene effettivamente
il proprio lavoro. Ora il fallback usa la cartella del DB caricato.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- ProgressForm: gerarchia visiva, contrasto testo, barra piatta blu al posto
della ProgressBar nativa verde, footer separato dal bottone Annulla.
- Barra Avanti/Indietro: footer separato con linea, padding allineato ai
pannelli di ogni fase, riordinata sopra la barra di stato come convenzione
standard invece che sotto.
- Fase 5 (Verifica completezza): bottone principale reso primario, lista
file .asm passata da griglia di icone troncate a lista a riga singola
leggibile.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Due bug reali trovati confrontando l'estrazione BOM con la BOM ufficiale Creo:
un componente scartato per placement fallito in un file veniva bloccato per
sempre anche quando il file giusto aveva un vero placement (perdendo interi
sotto-alberi come 9256510047), e i codici con suffisso (_C01 ecc.) richiedevano
sempre placement esplicito invece dell'eccezione per occorrenze ripetute già
presente nella GUI. Entrambi corretti.
AssemblyComponentScanner reso pubblico e scripts/BomViaDb.cs, ExtractCreoStrings.cs
riscritti per referenziarlo via "#:project" invece di duplicare l'euristica:
un'unica fonte di verità condivisa da GUI e script standalone.
Aggiunti test di integrazione per Indexer.ScanAsync (mai coperto oltre al
parsing del nome file) e test end-to-end che ricostruiscono l'intera pipeline
disco -> indice -> risoluzione albero componenti senza toccare la UI.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Regenerated from the last committed (already-transparent) icon instead
of continuing to reprocess an already-degraded local copy, avoiding
further quality loss from repeated extract/recomposite passes.
Two real defects fixed along the way:
- The white background had a faint ghost outline: the transparent
source still carried a very-low-alpha (~5-9%) remnant of the original
card's border, invisible on its own but visible once composited onto
a new solid white background. Added a hard low-alpha cutoff before
cropping/compositing instead of keeping every non-zero alpha pixel.
- Margin around the logo was too generous (14%), making it look small;
reduced to 8%, checked against the 16%-radius rounded corners so nothing
gets clipped.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
PublishSingleFile alone still left e_sqlite3.dll as a loose file next
to PrepStep.exe; moving just the exe (e.g. copying it elsewhere) broke
SQLite with an opaque SqliteConnection type initializer exception.
IncludeNativeLibrariesForSelfExtract embeds it in the exe instead,
self-extracted to a temp folder at first run, so the published exe is
a genuinely single, movable file.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Not needed anymore: the app no longer copies matched .stp files from
step/ into a separate step_finali/ folder, or reports which distinta
codes are still missing a STEP. Removed the "Crea cartella step_finali"
button, GeneraReportStep, and ReportStepForm/EsitoStep. Phase 5 keeps
"Verifica completezza assiemi" and the drag&drop .asm list (still how
files get sent to Creo Distributed Batch); renamed from "Verifica
completezza e STEP" to "Verifica completezza" since it's no longer about
STEP output. PulisciRawEStep now only clears raw/ and step/.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Working folder (phase 1): CSV/raw/step/step_finali all used to live split
across two different implicit locations (CSV in the "repo root" found by
walking up for CLAUDE.md, raw/step next to the input distinta file) with
neither shown to the user. That repo-root lookup also silently breaks once
the app runs as a standalone published exe on a machine with no repo/
CLAUDE.md at all. Replaced both with one explicit "cartella di lavoro",
auto-suggested (last used, remembered the same way as the DB path) and
changeable from phase 1, with no dependency on any repo marker file.
Rename: CadSearchGui was the working name from before the app had a
product identity; renamed folders, csproj files, namespace and the
AppData settings folder to PrepStep throughout, matching the exe name
already in use. Product-facing name stays "Cevolani StepPrep".
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>