Commit Graph

8 Commits

Author SHA1 Message Date
72cdb32750 refactor(PepLib.Core): modernize and deduplicate Program class
- Extract ApplyTransform() to consolidate Rotate/Offset methods
- Add BoundsTracker helper class for bounding box calculations
- Extract ProcessLinearMotion/ProcessCircularMotion helpers
- Use pattern matching instead of type checks and casts
- Use foreach loops instead of indexed for loops
- Use expression-bodied members for simple methods
- Use tuple deconstruction and Math.Min/Max

Reduces code from 368 to 227 lines (~38% reduction).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 09:53:20 -05:00
a0c707583d refactor(PepLib.Core): move Node classes to Utilities namespace
Node and KeyNode are INI parsing helpers used by IniConfig,
not geometry types. Move from Geometry/ to Utilities/.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 09:32:43 -05:00
9088af52de refactor(PepLib.Core): reorganize files into logical folder structure
Move 38 files from root directory into organized subfolders:
- Enums/ (7 files): StatusType, ApplicationType, DrawingType, etc.
- Geometry/ (5 files): Vector, Box, Size, Spacing, Node
- Models/ (15 files): Nest, Plate, Part, Program, Report, etc.
- Utilities/ (7 files): MathHelper, Tolerance, ZipHelper, etc.
- Extensions/ (2 files): PartListExtensions, PlateListExtensions
- Interfaces/ (1 file): IMovable

Update namespaces to follow folder hierarchy (e.g., PepLib.Models).
Add GlobalUsings.cs for internal backward compatibility.
Update Codes/ and IO/ files with new using statements.
Update PepApi.Core consumers to reference new namespaces.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 09:29:13 -05:00
AJ
1358f0136b style(PepLib.Core): normalize enum value alignment
Remove extra spacing used for column alignment in enum value
declarations to follow standard C# formatting conventions.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 07:52:34 -05:00
AJ
7c5b4ded5f chore(PepLib.Core): remove unused using directives and clean up formatting
Remove unnecessary System, System.Collections.Generic, System.IO, and
System.Linq using directives that were flagged by IDE analyzers. Also
includes minor whitespace and code style normalization.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 07:52:17 -05:00
61866df17e refactor(pep-lib): replace DotNetZip with System.IO.Compression and refactor readers
- Remove DotNetZip package from PepLib.Core.csproj
- Update DrawingReader, NestReader, and ZipHelper to use System.IO.Compression.ZipArchive
- Simplify stream handling and improve resource disposal
- Keep behavior consistent for loop/plate detection and extraction
2025-10-29 11:07:22 -04:00
AJ
44a2af7429 feat(db): add MaterialHeader EF entity and DbSet mapping\n\n- Map to dbo.MaterialHeader with key and relevant columns.\n- Register DbSet in PepDB and configure string columns as non-Unicode. 2025-10-29 11:07:22 -04:00
ab916dc82a Added Files 2025-10-27 18:48:23 -04:00