[package]
edition = "2021"
rust-version = "1.82"
name = "optica"
version = "0.2.0"
authors = ["VPRamon <vallespuigramon@gmail.com>"]
build = false
exclude = [
".github/",
"target/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Fast participating-media and optics foundation: typed rays, optical coefficients, phase functions, spectra, and optical-depth integration."
homepage = "https://github.com/Siderust/optica"
documentation = "https://docs.rs/optica"
readme = "README.md"
keywords = [
"optics",
"radiometry",
"atmosphere",
"rendering",
"spectrum",
]
categories = [
"science",
"rendering",
"no-std",
]
license = "AGPL-3.0-only"
repository = "https://github.com/Siderust/optica"
[features]
alloc = ["qtty/alloc"]
astro = []
default = ["std"]
serde = [
"dep:serde",
"qtty/serde",
]
std = [
"alloc",
"qtty/std",
]
[lib]
name = "optica"
path = "src/lib.rs"
[[example]]
name = "grid2d_interp"
path = "examples/grid2d_interp.rs"
[[example]]
name = "optical_depth"
path = "examples/optical_depth.rs"
[[example]]
name = "spectrum_ascii"
path = "examples/spectrum_ascii.rs"
[[test]]
name = "serde_roundtrip"
path = "tests/serde_roundtrip.rs"
[dependencies.affn]
version = "0.8"
default-features = false
[dependencies.qtty]
version = "0.8"
features = ["radiometry"]
default-features = false
[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
default-features = false
[dependencies.thiserror]
version = "2"
default-features = false
[dev-dependencies.approx]
version = "0.5"
[dev-dependencies.serde_json]
version = "1.0"
[lints.clippy]
dbg_macro = "deny"
print_stdout = "warn"
todo = "deny"
unimplemented = "deny"
[lints.clippy.all]
level = "deny"
priority = -1
[lints.rust]
missing_docs = "deny"
unreachable_pub = "warn"
unsafe_code = "forbid"
[lints.rustdoc]
broken_intra_doc_links = "deny"