plutonium_engine 0.8.0

A pure-Rust, SVG-first 2D graphics engine built on wgpu, with text, widgets, animation, and a WebAssembly target
Documentation
[package]
name = "plutonium_engine"
version = "0.8.0"
authors = ["Zeke Barnett coding@zeke13.com"]
description = "A pure-Rust, SVG-first 2D graphics engine built on wgpu, with text, widgets, animation, and a WebAssembly target"
license = "Apache-2.0"
repository = "https://github.com/zeke13dev/plutonium_engine"
homepage = "https://github.com/zeke13dev/plutonium_engine"
documentation = "https://docs.rs/plutonium_engine"
readme = "README.md"
keywords = ["wgpu", "rendering", "svg"]
categories = ["graphics", "rendering"]
edition = "2021"
rust-version = "1.79"
include = [
    "/src/**",
    "!/src/bin/snapshots.rs",
    "/shaders/**",
    "/README.md",
    "/LICENSE",
]

[dependencies]
image = "0.25.5"
winit = "0.30.8"
wgpu = "23.0.1"
pollster = "0.4.0"
tiny-skia = "0.11.4"
resvg = "0.44.0"
rusttype = "0.9.3"
rustybuzz = "0.14.1"
anyhow = "1.0.86"
log = "0.4"

uuid = { version = "1.11.0", features = ["v4"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
getrandom = { version = "0.2.15", features = ["js"], optional = true }

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
freetype-rs = "0.36.0"
arboard = "3.4.0"

[target.'cfg(target_arch = "wasm32")'.dependencies]
wasm-bindgen = "0.2.99"
wasm-bindgen-futures = "0.4"
js-sys = "0.3.76"
web-sys = { version = "0.3.76", features = ["Window", "Document", "Element", "HtmlCanvasElement", "Performance", "Response", "console"] }

[dependencies.bytemuck]
version = "1.21.0"
features = ["derive"]

[features]
default = ["widgets"]
raster = []        # enable PNG/JPEG helper APIs
widgets = []       # enable retained-mode widgets (Button, TextInput, etc.)
layout = []        # enable simple layout helpers (anchors/percent)
anim = []          # enable tweening/animation APIs
wasm = ["dep:getrandom"] # opt-in wasm32 support (enables JS entropy backend)

[workspace]
members = [
    ".",
    "plutonium_game/crates/core",
    "plutonium_game/crates/input",
    "plutonium_game/crates/assets",
    "plutonium_game/crates/ui",
    "plutonium_game/crates/audio",
    "plutonium_game/crates/gameplay",
    "plutonium_game/examples/demo_card_game",
]

[[example]]
name = "jitter_test"
path = "examples/jitter_test.rs"

[dev-dependencies]
plutonium_game_input = { path = "plutonium_game/crates/input" }
env_logger = "0.11.6"