pixelactions-core 0.5.0

Platform-free core of pixelactions: coordinate-space conversion for macOS CGEvent, Windows SendInput, and Linux XTEST — physical pixels vs logical points, HiDPI and multi-monitor — plus the flow schema, label resolution, and run reports
Documentation
[package]
name = "pixelactions-core"
description = "Platform-free core of pixelactions: coordinate-space conversion for macOS CGEvent, Windows SendInput, and Linux XTEST — physical pixels vs logical points, HiDPI and multi-monitor — plus the flow schema, label resolution, and run reports"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
readme = "README.md"
authors.workspace = true
homepage.workspace = true
repository.workspace = true
# The library's slots, not the tool's. Someone depending on this crate is
# writing their own executor, so the words are the domain's, not the
# product's: `rpa` and `ui-automation` for what it is, `computer-use` for
# who is building it now, `hidpi` and `multi-monitor` for the conversion
# this crate exists to get right. NOT `command-line-utilities`: this is a
# platform-free library.
keywords = ["computer-use", "ui-automation", "rpa", "hidpi", "multi-monitor"]
categories = ["development-tools", "development-tools::testing"]

[dependencies]
# The session schema, from the sister tool's published crate — a caret
# range, never a path dependency, so pixelcoords evolves on its own
# schedule and this crate upgrades deliberately. See AGENTS.md.
pixelcoords-core = "0.7"
serde = { version = "1", features = ["derive"] }
# The line protocol is JSON on stdin/stdout — the one wire format every
# language already has. See protocol.rs.
serde_json = "1"
thiserror = "2"
toml = "1"

[dev-dependencies]
# The conversion math holds invariants for every input (a point converted
# and converted back is the same point; a point inside a monitor stays
# inside it), which example tests only ever check for examples.
proptest = "1"

[lints]
workspace = true