Repository navigation
PolylineKit 0.1.0-alpha.2
Pre-releasePolylineKit 0.1.0-alpha.2
This update makes polygon input and the package quick start easier to use. Core
returns area, intersection, IoU and coverage as numbers on planar double
coordinates, with no third-party runtime dependencies.
Changes
PreparedRegion.FromPolygon(exterior, holes)andFromPolygons(polygons)
orient copied rings according to explicit shell and hole roles. For valid
simple polygon boundaries, a hole keeps its meaning regardless of the supplied
ring direction.FromRingsremains the raw-winding input API.- Package READMEs include installation, IoU and polygon-with-hole examples, and
guidance on choosing Core, Clipper2 or NetTopologySuite. Package metadata adds
IoU and overlap search tags; verification checks the embedded README and nuspec. - A tested NetTopologySuite conversion example
accepts valid Polygon/MultiPolygon inputs, including holes and disconnected
parts. It is an example, not a new runtime dependency or adapter package.
This is an additive release. Existing methods, fill-rule defaults and assembly
identities are preserved: Core ships PolylineKit.Winding.dll; the optional
Clipper adapter ships PolylineKit.dll. Duplicate WindingArea.FilledArea and
IntersectionArea conveniences remain callable but are hidden from IntelliSense.
Both packages target .NET Standard 2.0 and .NET 10. The adapter depends on Core and
Clipper2 2.0.0. No area algorithm or performance optimization changes in alpha.2.
Install from NuGet.org
Both packages are published on NuGet.org:
Core and the
optional Clipper adapter.
dotnet add MyApp/MyApp.csproj package PolylineKit.Core --version 0.1.0-alpha.2 --source https://api.nuget.org/v3/index.jsonThe optional adapter restores its matching Core package and Clipper2 2.0.0.
The GitHub assets below remain available as the verified original packages for
local feeds. Alpha.1 remains listed and unchanged on NuGet.org.
Verification
These are the original verified packages from
5e9dcc1a5bcb34b5b2d8ae60105d328aec66a80c,
uploaded without rebuilding. SHA256SUMS covers the two packages and
verification.json, which records the clean source identity, package/DLL hashes
and four external PackageReference-only consumers on .NET 8 and .NET 10.
All four tested shell/hole direction combinations return area 84.
The publication workflow
published these original files without rebuilding. After indexing, all ten
original ZIP entries per served NuGet package were verified byte-for-byte;
NuGet added only .signature.p7s. Both cryptographic repository-signature checks
passed, confirming the current owner wowbagger. Four further isolated consumers
restored solely from NuGet.org and passed on .NET 8 and .NET 10, checking selected
target assets, dependency sets, runtime DLL hashes and the source identity above.
Every shell/hole direction case again returned 84. Both public gallery READMEs
match the packaged text. Main CI on Windows and Linux
also passed; delivery-documentation commits do not replace the original binaries.
Assembly debug records retain source-machine build paths, as in alpha.1. PDBs
and local per-consumer restore records are excluded from the release assets.
Five-mode checks passed: 183,604 with the portable assembly and 183,532 in each
modern mode. The NTS example passed 62 conversion contracts, 12 analytic invalid
walk controls and 45,028 GIS metric comparisons. The correctness report
records the observed differences and invalid-input behavior. Windows and Linux CI
passed on the subsequent delivery-metadata commit; this does not replace the
package source or binaries. No tolerance was loosened and no new timing claim
is made. Historical benchmark evidence remains in the alpha.1 release.
Limits
These remain alpha APIs. Polygon-role factories require valid simple boundaries
for polygon topology semantics; they do not validate or repair geometry or infer
nesting. NonZero unions overlapping polygon parts; EvenOdd uses parity and can
cancel their overlap. Zero-signed-area rings retain their supplied direction.
Raw self-intersecting walks remain supported under explicit fill rules.
Coordinates are planar. Exact predicates do not make crossing positions or final
double areas exact. There is no projection, geodesic area or Core output
geometry. See the region contract
and performance evidence
for scope and tradeoffs.