smix-driver 0.3.0

smix-driver — decide layer (CLAUDE.md §12.1 middle, between sense & act). Wraps smix-runner-client with host-side resolve dispatch (Path B: tree+resolve+tapAtNormCoord, default since v1.5 c5i-a S6). Ported from now-retired TS source: src/driver/simctl-driver.ts (runner-client-bound methods only; simctl-bound methods stay in c10 smix-simctl).
Documentation
//! v6.0 c3a — `AndroidDriver` impl smoke. Box<dyn Driver> + platform
//! reports Android + as_ios_driver returns None.

use smix_driver::{AndroidDriver, Driver, HttpRunnerClient, Platform};

#[test]
fn android_driver_dyn_compat() {
    let client = HttpRunnerClient::new(28080);
    let _: Box<dyn Driver> = Box::new(AndroidDriver::new(client));
}

#[test]
fn android_driver_platform_reports_android() {
    let driver = AndroidDriver::new(HttpRunnerClient::new(28080));
    assert_eq!(driver.platform(), Platform::Android);
}

#[test]
fn android_driver_as_ios_driver_returns_none() {
    let driver = AndroidDriver::new(HttpRunnerClient::new(28080));
    assert!(driver.as_ios_driver().is_none());
}