[package] name = "ruffle_core" authors.workspace = true edition.workspace = true homepage.workspace = true license.workspace = true repository.workspace = true version.workspace = true [lints] workspace = true [dependencies] linkme = { version = "0.3", optional = true } byteorder = "1.5" bitstream-io = "2.2.0" flate2 = { workspace = true } fnv = "1.0.7" gc-arena = { package = "ruffle_gc_arena", path = "../ruffle_gc_arena" } slotmap = { workspace = true } indexmap = "2.2.6" tracing = { workspace = true } ruffle_render = { path = "../render", features = ["tessellator"] } ruffle_video = { path = "../video" } ruffle_macros = { path = "macros" } ruffle_wstr = { path = "../wstr" } swf = { path = "../swf" } bitflags = { workspace = true } smallvec = { version = "1.13.2", features = ["union"] } num-traits = { workspace = true } num-derive = { workspace = true } quick-xml = "0.31.0" downcast-rs = "1.2.0" url = "2.5.0" weak-table = "0.3.2" percent-encoding = "2.3.1" thiserror = "1.0" chrono = { workspace = true, features = ["clock"] } web-time = "0.2.4" encoding_rs = "0.8.33" rand = { version = "0.8.5", features = ["std", "small_rng"], default-features = false } serde = { version = "1.0.197", features = ["derive"] } serde_json = { version = "1.0", features = ["preserve_order"] } nellymoser-rs = { git = "https://github.com/ruffle-rs/nellymoser", rev = "754b1184037aa9952a907107284fb73897e26adc", optional = true } regress = "0.9" flash-lso = { git = "https://github.com/ruffle-rs/rust-flash-lso", rev = "2f770555ea49c6db49c57c1dd46c7cc686e8dacc" } lzma-rs = {version = "0.3.0", optional = true } dasp = { version = "0.11.0", features = ["interpolate", "interpolate-linear", "signal"], optional = true } symphonia = { version = "0.5.4", default-features = false, features = ["mp3"], optional = true } enumset = "1.1.3" bytemuck = { workspace = true } clap = { workspace = true, optional=true } realfft = "3.3.0" hashbrown = { version = "0.14.3", features = ["raw"] } scopeguard = "1.2.0" fluent-templates = "0.9.1" egui = { workspace = true, optional = true } egui_extras = { version = "0.27.2", optional = true } png = { version = "0.17.13", optional = true } flv-rs = { path = "../flv" } async-channel = { workspace = true } jpegxr = { git = "https://github.com/ruffle-rs/jpegxr", branch = "ruffle", optional = true } image = { workspace = true, features = ["tiff"] } enum-map = { workspace = true } ttf-parser = "0.20" num-bigint = "0.4" unic-segment = "0.9.0" id3 = "1.13.1" either = "1.10.0" [target.'cfg(not(target_family = "wasm"))'.dependencies.futures] workspace = true [target.'cfg(target_family = "wasm")'.dependencies.wasm-bindgen-futures] version = "0.4.42" [features] default = [] lzma = ["lzma-rs", "swf/lzma"] avm_debug = [] deterministic = [] timeline_debug = [] mp3 = ["symphonia"] nellymoser = ["nellymoser-rs"] audio = ["dasp"] known_stubs = ["linkme"] default_compatibility_rules = [] egui = ["dep:egui", "dep:egui_extras", "png"] jpegxr = ["dep:jpegxr", "lzma"] default_font = [] [build-dependencies] build_playerglobal = { path = "build_playerglobal" }