[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.4.2" 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.35.0" downcast-rs = "1.2.1" url = { workspace = true } weak-table = "0.3.2" percent-encoding = "2.3.1" thiserror = { workspace = true } chrono = { workspace = true, features = ["clock"] } web-time = "1.1.0" encoding_rs = "0.8.34" rand = { version = "0.8.5", features = ["std", "small_rng"], default-features = false } serde = { workspace = true } serde_json = { version = "1.0", features = ["preserve_order"] } nellymoser-rs = { git = "https://github.com/ruffle-rs/nellymoser", rev = "754b1184037aa9952a907107284fb73897e26adc", optional = true } regress = "0.10" 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.5", features = ["raw"] } scopeguard = "1.2.0" fluent-templates = "0.9.4" egui = { workspace = true, optional = true } egui_extras = { version = "0.28.0", 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", rev = "db88651220688d2883a90d5477048071507b0493", optional = true } image = { workspace = true, features = ["tiff"] } enum-map = { workspace = true } ttf-parser = "0.24" num-bigint = "0.4" unic-segment = "0.9.0" id3 = "1.14.0" either = "1.13.0" chardetng = "0.1.17" [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", "serde"] default_compatibility_rules = [] egui = ["dep:egui", "dep:egui_extras", "png"] jpegxr = ["dep:jpegxr", "lzma"] default_font = [] test_only_as3 = [] serde = ["serde/derive"] [build-dependencies] build_playerglobal = { path = "build_playerglobal" }