visual-cortex-ocr-onnx 0.2.1

PaddleOCR detection+recognition via ONNX Runtime for visual-cortex, with pinned, checksummed model download.
Documentation
//! Compile-and-run proof that the spec's flagship usage — a real PaddleOcr
//! engine flowing into visual_cortex's builder sugar under visual_cortex::Result — type-checks
//! and composes. Ignored: constructing PaddleOcr downloads models.

use visual_cortex::{patterns, Rate, Region, Session};
use visual_cortex_ocr_onnx::PaddleOcr;

#[tokio::test]
#[ignore = "constructs a real engine (downloads models on cold cache)"]
async fn spec_usage_example_compiles_and_subscribes() -> visual_cortex::Result<()> {
    let session = Session::builder()
        .source(visual_cortex::FakeSource::new([
            visual_cortex::Frame::solid(64, 64, [0, 0, 0, 255]),
        ]))
        .build()
        .await?;

    let _hp = session
        .watch("hp")
        .region(Region::percent(0.05, 0.03, 0.25, 0.06))
        .rate(Rate::hz(2.0))
        .ocr(
            PaddleOcr::new()
                .await
                .map_err(visual_cortex::Error::engine)?,
            patterns::number(),
        )
        .on_threshold(|hp| hp < 300.0)
        .subscribe()?;

    let _tooltip = session
        .watch("tooltip")
        .region(Region::percent(0.50, 0.05, 0.48, 0.90))
        .rate(Rate::hz(4.0))
        .ocr_text(
            PaddleOcr::new()
                .await
                .map_err(visual_cortex::Error::engine)?,
        )
        .subscribe()?;

    Ok(())
}