5.3 KiB
Verification and consumer handoff
- Initial extraction preserved the Studio snapshot. The four-mode update below adds two geometry modes while retaining ABI 5 sizes, old field offsets, and existing mode values. All model weights and user samples remain outside this library.
scripts/verify.ps1: standalone Windows build, seven CTest contracts with Release assertions enabled, dependency negative checks, installation and an independent installed CMake consumer.- Native Linux: configure with RKNN backends disabled, build and run
ctest --output-on-failurefrom the build directory. Seven contracts pass; this is host-native logic validation, not NPU execution. - Studio cross-builds the Linux AArch64 Runtime using its explicitly supplied Model Zoo. The manifest identifies ELF architecture; only matching Windows/ARM source revisions can be published together.
- MatchVerify's scripts/verify-runtime-update.ps1 exercises both real consumer build paths against a disposable ABI-compatible source update and restores the original source dependency. SDK decoding/masks/geometry parity uses the real business sample without changing it.
- Final current-source completion and command evidence: .codex/delivery-integrity.json. There is no physical RK3588/camera/robot acceptance and no automatic update service for already deployed programs.
Four Seg geometry modes (2026-10-21)
- Scope: shared Runtime only; rectangle=1, enclosing circle=2 unchanged; mean diameter circle=3, robust fit circle=4 added. No consumer app or deployed Runtime was changed.
- Robust fit is migrated without algorithm changes from the MatchVerify header used in the preceding 1981-target comparison. It chooses the largest external contour; failed fitting returns that contour's enclosing circle.
fit_statusreports success/fallback in a formerly reserved ABI word. - Windows
scripts/verify.ps1: seven Release CTest contracts, install, dependency-manifest negative checks and independent installed C consumer pass. Synthetic tests cover non-square mean radius, origin offsets, detached noise, protrusions, elongated/point fallback and empty inputs. tests/verify_four_geometry.py: installed public C API, four modes on rotor10_origin.png(22 targets) and stator135_origin.png(32 targets), using the preceding experiment directories as explicit--referencearguments. All masks match their recorded SHA256 values; rectangle/mean output exactly matches prior float results; robust fit maximum discrepancy is below 0.000061 pixel. Invalid modes 0/5 are rejected. Evidence:build/four-geometry/four-mode-api.json.- OpenCV runtime DLL deployment is included in build and installation; the initial missing-DLL test startup failure was fixed before the successful full rerun.
- Linux runner accepts rect/circle/mean/fit and includes fit status in JSON. Linux/AArch64 rebuild and physical RK3588 validation are not performed in this batch; target-compatible OpenCV core/imgproc is required for that build.
- Completion record and exact commands:
.codex/delivery-integrity.json. Next consumer step is explicit selection of one of the four public modes after rebuilding against this library; it is outside this batch.
Consumer four-mode and board mask update (2026-10-21)
- Runner now saves an unpadded P5 binary PGM for each Seg instance under
<output-stem>.masks/, with relative maskPath in JSON and the unchanged mask metadata/original-image offsets. RGB/RGBA render overlays use the same class colors and alpha as Studio, before the requested geometry is drawn. yolo_runner_mask_output_testadds padded-row/offset/hole preservation, alpha/unchanged-background and file-byte tests. Windows baseline now includes eight contracts.- Studio's matching ARM64 Runtime/runner build completed using the supplied Model Zoo OpenCV 3.4.5. Readelf confirms AArch64 and no external OpenCV shared-library dependency. Matching Windows/ARM manifests are checked during Studio publication. No real-device execution was performed.
- Current consumer checkpoints: MatchVerify/SHARED_RUNTIME_HANDOFF.md and RK3588_AI_Platform/docs/codex/CURRENT_BATCH.md.
RGB instance-ID mask batch (2026-10-21)
Scope: additive public yolo_masks_compose_rgb_ids; preserve existing ABI 5
structures and per-instance masks; no dilation, consumer migration, runner
export change, deployment, commit, push, or physical-device validation.
Pre-existing dirty library changes are retained; baseline copies for edited
existing files are in build/rgb-id-mask-baseline.
Acceptance: exact background/one/two/three membership RGB rules; independent
membership reconstruction over the full fixture canvas; holes/disconnected
pixels, input origins and padded input/output rows; all 255 instance IDs;
explicit four-overlap/count/binary/ABI/bounds/capacity errors with untouched
caller output. yolo_mask_ids_test exercises the exported DLL function;
yolo_runtime_c_api_contract calls it from C. The installed C consumer also
calls the new symbol. Run powershell -ExecutionPolicy Bypass -File scripts/verify.ps1
for the complete native build/CTest/install/manifest/consumer baseline.
Actual completion and command evidence are in .codex/delivery-integrity.json.
Next action after successful verification: consumers can pass their ordered
mask views and original canvas size to the new API; existing applications stay
on their current export path until separately migrated.