Start with the current status and work contract.
It is the current human-readable authority for product identity, priority order,
completion criteria, and verification boundaries. The repository
README.md is the consumer overview and quick start.
| Document | Role |
|---|---|
| Current status and work contract | Active PL-0016 priorities 1–4 implementation, prior closures, and current external prerequisites |
| SDK direction and capability matrix | Rule-based kernel boundary, all 15 2D factory contracts, 3D execution coverage, Pipeline artifact/error contracts, and ordered product priorities |
| SDK priorities 1–4 implementation analysis | PL-0016 owner/call-path analysis, alternatives, compatibility decisions, probe evidence, acceptance criteria, and stop gates |
| Core third-party provenance and notice status | Exact mixed OpenCvSharp/OpenCV binary origin, preserved license evidence, and the two remaining redistribution approvals |
| Third-party redistribution clearance checklist | Exact facts, questions, and approval record needed to resolve the two remaining external prerequisites |
| 3D inspection contract | Complete public 3D Tool catalog, input layers, units, frames, missing samples, outcomes, and verification limits |
| 2.9.1 to OpenVisionLab 3.0 migration | Package/namespace migration; 3.0.0 is the API migration baseline, not a current package-install promise |
| Affine Transform 2D | Current 2D affine Tool and Pipeline contract |
| Object candidate contract | Additive Blob/Contour candidate evidence contract |
| Edge-based unique match | Current fail-closed unique-result contract |
| Auto MPoint V1 | Current teaching-time contract with a historical completion-evidence section |
| Edge-based global polarity V1 | Current opt-in polarity contract with a historical verification count |
| Matching responsibility and production baseline | Active SDK/host responsibility boundary and missing sensor-backed production prerequisites |
| Legacy C/CV/LineGuage 4.0 removal plan | Active 3.x compatibility policy and separately gated 4.0 removal criteria |
These files preserve dated decisions and evidence. Their versions, commands, test counts, paths, percentages, and “next” statements are not current status.
| Document | Historical scope |
|---|---|
| Vision SDK identity and v3 migration ledger | 2026-08 migration chronology, completion records, and benchmark attempts |
| 3D consumer API usability and release plan | 2026-08-04 Library-Noah/2.9 package-integration snapshot |
OpenVisionLab.CoreOpenVisionLab.Vision2DOpenVisionLab.Vision2D.BlobOpenVisionLab.Vision3DOpenVisionLab.Inspection
Package quick starts name 3.0.1-dev.1 only as the repository-local default and
tell the consumer to replace it with the exact version from the selected source. The
API/assembly baseline is 3.0.0; shared, consumed, or published bytes require a
separately recorded immutable version.
samples/vision_sample.pngis a legacy-branded demonstration input retained for source examples. It is not a calibration or production artifact.images/*.pngcontains synthetic visual reference captures for the named tools. They were not generated fromvision_sample.png.- The repository currently has no tracked generator, exact source image, parameter manifest, commit, or checksum record for those six captures. Treat them as illustrations, not reproducible test or release evidence.
Open OpenVisionLab.VisionSdk.sln. This is a library solution; no application host
or repository-defined startup/launch profile exists. Choose
OpenVisionLab.Inspection.Smoke as the console startup project for contract checks.
OpenVisionLab.Vision3D.Benchmark is a separate console benchmark, not the SDK entry
point. The package-only consumer is outside the solution.
Read the root consumer quick start, the selected package README's input/result
contract, and then the matching Tool's Execute/Run plus its smoke case. Search
for the Tool name in tests/OpenVisionLab.Inspection.Smoke/Suites to reach both
normal and failure examples. This is the single developer onboarding route.
Project references (arrow means depends on): Vision2D -> Core;
Vision2D.Blob -> Vision2D + Core; Inspection -> Vision2D + Vision3D;
Inspection.Smoke -> Inspection + Vision2D.Blob; Vision3D.Benchmark -> Vision3D.
Core and Vision3D have no project references; Core supplies the native OpenCV
dependency. Library projects target netstandard2.0; console checks target net8.0.
Run from the repository root. Do not infer success from a historical case count.
dotnet tool restore
$testRoot = "D:\OpenVisionLab-TestData\OpenVisionLab-Vision-SDK\local-check"
New-Item -ItemType Directory -Force -Path $testRoot | Out-Null
$env:TEMP = $testRoot
$env:TMP = $testRoot
dotnet build OpenVisionLab.VisionSdk.sln -c Release --artifacts-path "$testRoot\build"
$assemblyDirectory = "$testRoot\build\bin\OpenVisionLab.Inspection.Smoke\release"
$smokeAssembly = "$assemblyDirectory\OpenVisionLab.Inspection.Smoke.dll"
dotnet $smokeAssembly --list
dotnet $smokeAssembly --filter "SIFT" # Case-insensitive name substring; no match fails.
# For a full regression run: dotnet $smokeAssembly
./eng/Verify-Coverage.ps1 `
-SmokeAssembly $smokeAssembly `
-OutputPath "$testRoot\coverage.cobertura.xml"
./eng/Verify-PublicApi.ps1 `
-AssemblyDirectory $assemblyDirectory
./eng/Verify-AnalyzerBaseline.ps1 `
-SolutionPath OpenVisionLab.VisionSdk.sln `
-ArtifactsPath "$testRoot\analyzer"Verify-Coverage.ps1 executes the full smoke assembly while collecting coverage.
The API baseline is an exact reviewed set: an addition, removal, signature change,
or recorded parameter-name change requires an explicit compatibility decision.
Analyzer results are compared by diagnostic code so existing debt cannot grow
silently. CA1051, CA1707, and CA1716 are also compared against all 186 reviewed
rule/kind/symbol identities in eng/analyzer-compatibility-baseline.json. The seven
performance rules are compared against their exact reviewed counts, including zero
for CA1825 and CA1843, and all 225 retained identities in
eng/analyzer-performance-baseline.json. A same-count replacement therefore fails
until its compatibility or performance effect is reviewed explicitly.
The package-provenance entry point is eng/Verify-PackageProvenance.ps1; its
minimal fail-closed regression check is
eng/Test-PackageProvenanceNegative.ps1. See the
repository README.md
for its runnable fresh D-drive pack, manifest, and isolated-consumer sequence. The
gate requires a clean committed worktree and proves package metadata, required
contents, assembly commit, and internal dependency declaration consistency; it does
not publish packages or make the dependency declarations exact pins.
The solution also contains
tests/OpenVisionLab.Vision3D.Benchmark/OpenVisionLab.Vision3D.Benchmark.csproj.
tests/OpenVisionLab.PackageConsumer.Smoke is intentionally outside the solution and
must be restored against a freshly packed, isolated NuGet source/cache when package
behavior is being verified.