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(())
}