Skip to content

Latest commit

 

History

History
129 lines (108 loc) · 8.22 KB

File metadata and controls

129 lines (108 loc) · 8.22 KB

OpenVisionLab Vision SDK Documentation Index

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.

Current contracts and guides

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

Historical records

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

Package-specific quick starts

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.

Images and provenance

  • samples/vision_sample.png is a legacy-branded demonstration input retained for source examples. It is not a calibration or production artifact.
  • images/*.png contains synthetic visual reference captures for the named tools. They were not generated from vision_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.

Start Here

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.

Current verification entry points

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.