Skip to main content

pixelactions_core/
lib.rs

1//! Platform-free core for pixelactions.
2//!
3//! Everything here is arithmetic and data: parsing a flow file, resolving
4//! its steps against a pixelcoords session, and converting a physical
5//! pixel into the coordinate space a platform's input API expects. No
6//! window system, no OS calls, no capture — those live in the binary.
7//!
8//! The split exists for the same reason it does in pixelcoords: the part
9//! that decides *where to click* must be testable without a screen.
10//!
11//! The crate README is included below, which makes every example on the
12//! crates.io page a compiled doctest — documentation that cannot rot
13//! without failing CI.
14#![doc = include_str!("../README.md")]
15#![forbid(unsafe_code)]
16
17pub mod audit;
18/// Internal: key-chord parsing for input synthesis. Public only because the binary is a
19/// separate crate; not part of this crate's API.
20#[doc(hidden)]
21pub mod chord;
22pub mod convert;
23/// Internal: which display server this session runs on. Public only because the binary is a
24/// separate crate; not part of this crate's API.
25#[doc(hidden)]
26pub mod display;
27pub mod flow;
28pub mod plan;
29pub mod protocol;
30pub mod report;
31/// Internal: Wayland screencast coordinate space. Public only because the binary is a
32/// separate crate; not part of this crate's API.
33#[doc(hidden)]
34pub mod stream;
35pub mod verb;
36/// Internal: Windows virtual-desktop normalization. Public only because the binary is a
37/// separate crate; not part of this crate's API.
38#[doc(hidden)]
39pub mod virtualdesk;