[package]
edition = "2021"
rust-version = "1.78"
name = "framewatch"
version = "0.2.0"
build = false
exclude = [
"tests/fixtures/*.png",
"/.github",
"framewatch-spec.md",
"dist",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Event-driven, change-triggered window capture that emits timestamped screenshots + metadata for AI agents."
readme = "README.md"
keywords = [
"screen-capture",
"screenshot",
"windows",
"agent",
"automation",
]
categories = [
"multimedia",
"os::windows-apis",
"computer-vision",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/dmoore-dwmmholdings/framewatch"
[package.metadata.docs.rs]
default-target = "x86_64-pc-windows-msvc"
targets = ["x86_64-pc-windows-msvc"]
features = [
"gui",
"wgc",
]
[features]
cli = [
"dep:clap",
"dep:anyhow",
"dep:tracing-subscriber",
]
default = ["cli"]
gui = [
"dep:eframe",
"dep:egui",
"dep:dirs",
]
jpeg = ["image/jpeg"]
llm = []
webp = ["dep:webp"]
wgc = [
"dep:windows-capture",
"dep:windows",
]
[lib]
name = "framewatch"
path = "src/lib.rs"
[[bin]]
name = "framewatch"
path = "src/bin/framewatch.rs"
required-features = ["cli"]
[[example]]
name = "embed"
path = "examples/embed.rs"
[[test]]
name = "dedup"
path = "tests/dedup.rs"
[[test]]
name = "engine_fullscreen"
path = "tests/engine_fullscreen.rs"
[[test]]
name = "engine_spinner"
path = "tests/engine_spinner.rs"
[[test]]
name = "engine_static"
path = "tests/engine_static.rs"
[[test]]
name = "engine_value"
path = "tests/engine_value.rs"
[[test]]
name = "metadata_golden"
path = "tests/metadata_golden.rs"
[[test]]
name = "sink_directory"
path = "tests/sink_directory.rs"
[[test]]
name = "watch_driver"
path = "tests/watch_driver.rs"
[dependencies.anyhow]
version = "1"
optional = true
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.clap]
version = "4"
features = ["derive"]
optional = true
[dependencies.crossbeam-channel]
version = "0.5"
[dependencies.dirs]
version = "5"
optional = true
[dependencies.eframe]
version = "0.33"
optional = true
[dependencies.egui]
version = "0.33"
optional = true
[dependencies.image]
version = "0.25"
features = ["png"]
default-features = false
[dependencies.image_hasher]
version = "3"
[dependencies.regex]
version = "1"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.smallvec]
version = "1"
[dependencies.thiserror]
version = "2"
[dependencies.toml]
version = "0.8"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
optional = true
[dependencies.webp]
version = "0.3"
optional = true
[dev-dependencies.tempfile]
version = "3"
[target."cfg(windows)".dependencies.windows]
version = "0.62"
features = [
"Win32_Foundation",
"Win32_UI_WindowsAndMessaging",
"Win32_UI_HiDpi",
"Win32_Graphics_Dwm",
"Win32_Graphics_Gdi",
"Win32_System_Threading",
]
optional = true
[target."cfg(windows)".dependencies.windows-capture]
version = "2"
optional = true