[package]
name = "portfolio"
version = "0.1.0"
authors = ["Isaac Mills <rooster0055@protonmail.com>"]
edition = "2021"
rust-version = "1.72"


[dependencies]
cosmic-jotdown = { git = "https://git.nations.lol/fnmain/cosmic-jotdown" }
jotdown = { git = "https://git.nations.lol/fnmain/jotdown" }
eframe = { version = "0.27.2", default-features = false, features = [
    "accesskit",     # Make egui comptaible with screen readers. NOTE: adds a lot of dependencies.
    # "default_fonts",
    "wgpu",          # Use the glow rendering backend. Alternative: "wgpu".
    "x11",
    "wayland",
] }
egui-glyphon = { git = "https://git.nations.lol/fnmain/egui-glyphon" }
egui_extras = { version = "0.27.2", features = ["image", "http", "file"] }
encase = { version = "0.7.0", features = ["glam"] }
glam = "0.25.0"
image = { version = "0.24.9", features = ["jpeg", "png"], default-features = false }
keyframe = { version = "1.1.1", default-features = false }
log = "0.4"
rangemap = "1.5.1"

# native:
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
env_logger = "0.11"

# web:
[target.'cfg(target_arch = "wasm32")'.dependencies]
wgpu = { version = "0.19.3", features = ["webgpu", "webgl"] }
wasm-bindgen-futures = "0.4"
wasm-bindgen = "0.2.92"
web-sys = { version = "0.3.69", features = ["Window", "History", "PopStateEvent"] }
arc-swap = "1.7.0"


[profile.release]
opt-level = 2 # fast and small wasm
lto = true
panic = "abort"
strip = true

# Optimize all dependencies even in debug builds:
[profile.dev.package."*"]
opt-level = 2


[patch.crates-io]

[build-dependencies]
databake = "0.1.7"
glob = "0.3.1"
jotdown = { git = "https://git.nations.lol/fnmain/jotdown", features = ["parser"] }
cosmic-jotdown = { git = "https://git.nations.lol/fnmain/cosmic-jotdown", features = ["databake"] }

# If you want to use the bleeding edge version of egui and eframe:
# egui = { git = "https://github.com/emilk/egui", branch = "master" }
# eframe = { git = "https://github.com/emilk/egui", branch = "master" }

# If you fork https://github.com/emilk/egui you can test with:
# egui = { path = "../egui/crates/egui" }
# eframe = { path = "../egui/crates/eframe" }
