Skip to content

Geopack v2.0.0#41

Merged
Demosfen merged 36 commits intomainfrom
2.0.0-dev
Feb 4, 2026
Merged

Geopack v2.0.0#41
Demosfen merged 36 commits intomainfrom
2.0.0-dev

Conversation

@Demosfen
Copy link
Member

No description provided.

@Demosfen Demosfen requested a review from alex1ozr October 25, 2025 06:55
@Demosfen Demosfen self-assigned this Oct 25, 2025
@alex1ozr alex1ozr added this to the 2.0.0 milestone Oct 27, 2025
Demosfen and others added 16 commits October 30, 2025 10:46
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
# Conflicts:
#	Directory.Build.props
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
# Conflicts:
#	Directory.Build.props
#	Geopack.slnx
#	benchmarks/AuroraScienceHub.Geopack.Benchmarks/Geopack/IgrfMagneticFieldBenchmarks.cs
#	benchmarks/AuroraScienceHub.Geopack.Benchmarks/Geopack/MagneticFieldLineTraceBenchmarks.cs
# Conflicts:
#	Directory.Build.props
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR represents a major v2.0.0 release of the Geopack library, implementing comprehensive architectural improvements focused on thread-safety, immutability, performance, and API design.

Changes:

  • Replaces mutable shared state (Common1/Common2) with immutable ComputationContext pattern for thread-safety
  • Introduces strongly-typed generic vector quantities (CartesianVector, SphericalVector) for better type safety
  • Converts data models from reference types to readonly record structs for improved performance
  • Adds dependency injection support with ServiceCollectionExtensions
  • Implements comprehensive performance optimizations including SIMD vectorization, Math.SinCos, and Math.FusedMultiplyAdd
  • Extracts magic numbers to well-documented constants in GeopackConstants

Reviewed changes

Copilot reviewed 113 out of 114 changed files in this pull request and generated 16 comments.

Show a summary per file
File Description
src/Geopack/Utilities/ObjectExtensions.cs Adds null-checking extension methods for required parameters
src/Geopack/ServiceCollectionExtensions.cs Adds DI registration for Geopack services
src/Geopack/IGeopack.cs Updated interface using new strongly-typed contracts
src/Geopack/Geopack.cs Main class now requires ILogger via DI
src/Geopack/Geopack.*.cs Multiple partial class files with refactored methods accepting ComputationContext
src/Contracts/* New strongly-typed contract types replacing legacy models
UnitTests/* Updated tests using new API patterns
benchmarks/* Updated benchmarks showing performance improvements

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Demosfen Demosfen merged commit fc510dc into main Feb 4, 2026
1 of 2 checks passed
@Demosfen Demosfen deleted the 2.0.0-dev branch February 4, 2026 12:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants