[package]
name = "latkit"
description = "Columnar data drawn as vertices, edges, lines, and areas on the GPU."
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
keywords = ["visualization", "webgpu", "graph", "map", "plot"]
categories = ["visualization", "rendering", "graphics", "wasm"]
include = ["LICENSE", "src/**", "tests/fixtures/**", "build/**", "build.rs", "shaders/**", "colormaps/catalog.txt", "colormaps/NOTICES.md", "THIRD_PARTY.md", "README.md"]
[package.metadata.docs.rs]
all-features = true
targets = ["x86_64-unknown-linux-gnu"]
[features]
default = ["gpu"]
gpu = ["dep:wgpu", "dep:glam", "dep:web-time", "dep:wesl", "dep:naga"]
native = ["gpu", "dep:cosmic-text", "dep:windows", "dep:windows-core"]
web = ["gpu", "dep:wasm-bindgen", "dep:wasm-bindgen-futures", "dep:web-sys", "dep:js-sys"]
[dependencies]
thiserror.workspace = true
hashbrown.workspace = true
rustc-hash.workspace = true
bytemuck.workspace = true
serde = { workspace = true }
serde_json.workspace = true
serde_path_to_error.workspace = true
schemars.workspace = true
flate2.workspace = true
image-webp.workspace = true
jpeg-encoder.workspace = true
png.workspace = true
wgpu = { workspace = true, optional = true }
glam = { workspace = true, optional = true }
web-time = { workspace = true, optional = true }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
cosmic-text = { workspace = true, optional = true }
[target.'cfg(windows)'.dependencies]
windows = { workspace = true, optional = true }
windows-core = { workspace = true, optional = true }
[target.'cfg(target_arch = "wasm32")'.dependencies]
wasm-bindgen = { workspace = true, optional = true }
wasm-bindgen-futures = { workspace = true, optional = true }
js-sys = { workspace = true, optional = true }
web-sys = { workspace = true, optional = true, features = [
"AddEventListenerOptions",
"CssStyleDeclaration",
"DedicatedWorkerGlobalScope",
"DomRect",
"Element",
"Event",
"EventTarget",
"HtmlCanvasElement",
"Headers",
"HtmlElement",
"ImageData",
"KeyboardEvent",
"MediaQueryList",
"MouseEvent",
"OffscreenCanvas",
"OffscreenCanvasRenderingContext2d",
"PointerEvent",
"Request",
"RequestInit",
"ResizeObserver",
"Response",
"TextMetrics",
"WheelEvent",
"Window",
"WorkerGlobalScope",
] }
[build-dependencies]
wesl = { workspace = true, optional = true }
naga = { workspace = true, optional = true }
[dev-dependencies]
proptest.workspace = true
pollster.workspace = true
wgpu.workspace = true
bytemuck.workspace = true
[lints]
workspace = true