Skip to content

[no_std] Phase 2 — purecv-imgproc under no_std (parallel & simd disabled) #84

Description

@kalwalt

Part of #82. Depends on Phase 1 (#).

Goal

purecv-imgproc builds under no_std + alloc with parallel and simd features off, falling back to scalar implementations.

Tasks

  • Audit std:: usage in purecv-imgproc (canny, sobel, filters, morphology)
  • Gate Rayon-based code paths strictly behind feature = "std" (Rayon requires OS threads, incompatible with no_std)
  • Verify pulp (simd feature) no_std compatibility — check crates.io/docs
    • If not supported: gate simd behind feature = "std" too, for now
    • If supported: verify it actually builds for the bare target
  • Confirm scalar fallback paths are used and correct when both parallel and simd are off
  • Add CI job: purecv-imgproc --no-default-features on the same bare target as Phase 1
  • Basic correctness check: run existing imgproc tests against scalar fallback to confirm no silent regressions from the feature-gating refactor

Out of scope

Actual ESP32/ESP-IDF integration testing (real hardware or QEMU) — could be a stretch goal but not required to close this issue. video/calib3d — Phase 3.

Metadata

Metadata

Assignees

No one assigned

    Type

    Fields

    No fields configured for Task.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions