[package]
name = "proof-engine"
version = "0.3.0"
edition = "2021"
rust-version = "1.88"
authors = ["Matthew Busel <matt@tensorust.com>"]
license = "MIT"
description = "Real-time graphics from math: glyphs and particles moved by ODEs, strange attractors and force fields, drawn with HDR bloom on OpenGL."
repository = "https://gitlab.com/mattbusel/proof-engine"
homepage = "https://proof-engine-rs.vercel.app/"
documentation = "https://docs.rs/proof-engine"
keywords = ["generative-art", "creative-coding", "attractor", "game-engine", "opengl"]
categories = ["game-engines", "graphics", "rendering", "simulation", "mathematics"]
readme = "README.md"
exclude = ["*.png", "*.gif", "*.jpg", "assets/", "docs/", "*.py", ".github/", "ci/"]
[package.metadata.docs.rs]
all-features = true
[dependencies]
glutin = "0.32"
glutin-winit = "0.5"
glow = "0.16"
winit = "0.30"
raw-window-handle = "0.6"
glam = "0.25"
colorgrad = { version = "0.9", default-features = false, features = ["std", "preset", "named-colors"] }
rhai = { version = "1.26", optional = true }
ab_glyph = "0.2"
cpal = "0.15"
hound = "3.5"
image = { version = "0.25", default-features = false, features = ["png", "jpeg", "gif", "bmp", "tga"] }
bytemuck = { version = "1", features = ["derive"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
toml = "0.8"
log = "0.4"
env_logger = "0.11"
bitflags = "2"
rayon = { version = "1", optional = true }
ureq = { version = "3", optional = true, default-features = false, features = ["rustls"] }
tungstenite = { version = "0.28", optional = true, default-features = false, features = ["handshake", "rustls-tls-webpki-roots"] }
rustls = { version = "0.23", optional = true, default-features = false, features = ["ring", "std"] }
[features]
default = ["rhai-scripts"]
rhai-scripts = ["dep:rhai"]
http = ["dep:ureq"]
websocket = ["dep:tungstenite", "dep:rustls"]
net = ["http", "websocket"]
parallel = ["dep:rayon"]
[dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] }
ode_solvers = "0.6"
[[bench]]
name = "particle_bench"
harness = false
[[bench]]
name = "glyph_bench"
harness = false
[[bench]]
name = "attractor_bench"
harness = false
[[example]]
name = "hello_glyph"
[[example]]
name = "chaos_field"
[[example]]
name = "particle_demo"
[[example]]
name = "force_fields"
[[example]]
name = "amorphous_entity"
[[example]]
name = "strange_attractors"
[[example]]
name = "full_combat"
[[example]]
name = "galaxy"
[[example]]
name = "heartbeat"
[[example]]
name = "math_rain"
[[example]]
name = "supernova"
[[example]]
name = "playground"
[[example]]
name = "showcase"
[[example]]
name = "particle_entity"
[[example]]
name = "convergence"
[[example]]
name = "colossus"
[[example]]
name = "sculptor"
[[example]]
name = "apotheosis"
[[example]]
name = "sky"
[[example]]
name = "lorenz"
[[example]]
name = "quickstart"
[[example]]
name = "audio_bounce"
[[example]]
name = "scripted_attractor"
required-features = ["rhai-scripts"]
[[bin]]
name = "proof_editor"
path = "src/bin/proof_editor.rs"