2019-04-28 01:15:43 +00:00
|
|
|
[package]
|
2019-05-08 16:46:19 +00:00
|
|
|
name = "ruffle_core"
|
2019-04-28 01:15:43 +00:00
|
|
|
version = "0.1.0"
|
2022-03-26 20:57:19 +00:00
|
|
|
authors = ["Ruffle LLC <ruffle@ruffle.rs>"]
|
2022-10-14 10:09:22 +00:00
|
|
|
edition.workspace = true
|
2020-05-26 09:10:44 +00:00
|
|
|
license = "MIT OR Apache-2.0"
|
2019-04-28 01:15:43 +00:00
|
|
|
|
|
|
|
[dependencies]
|
2021-07-09 15:57:50 +00:00
|
|
|
byteorder = "1.4"
|
2022-11-21 23:32:31 +00:00
|
|
|
bitstream-io = "1.6.0"
|
2022-11-25 16:17:44 +00:00
|
|
|
flate2 = "1.0.25"
|
2020-05-14 16:22:54 +00:00
|
|
|
fnv = "1.0.7"
|
2021-02-18 02:38:55 +00:00
|
|
|
gc-arena = { git = "https://github.com/ruffle-rs/gc-arena" }
|
2020-05-18 18:41:50 +00:00
|
|
|
generational-arena = "0.2.8"
|
2022-11-22 01:09:01 +00:00
|
|
|
indexmap = "1.9.2"
|
2019-04-28 01:15:43 +00:00
|
|
|
log = "0.4"
|
2021-01-02 17:45:55 +00:00
|
|
|
minimp3 = { version = "0.5.1", optional = true }
|
2022-08-13 22:52:16 +00:00
|
|
|
ruffle_render = { path = "../render" }
|
2022-08-25 22:03:09 +00:00
|
|
|
ruffle_video = { path = "../video" }
|
2019-12-06 18:24:36 +00:00
|
|
|
ruffle_macros = { path = "macros" }
|
2022-03-23 14:52:55 +00:00
|
|
|
ruffle_wstr = { path = "../wstr" }
|
2019-10-03 01:58:58 +00:00
|
|
|
swf = { path = "../swf" }
|
2021-08-16 20:06:16 +00:00
|
|
|
bitflags = "1.3.2"
|
2022-10-03 22:15:49 +00:00
|
|
|
smallvec = { version = "1.10.0", features = ["union"] }
|
2021-06-05 12:41:05 +00:00
|
|
|
num-traits = "0.2"
|
|
|
|
num-derive = "0.3"
|
2021-08-29 12:31:33 +00:00
|
|
|
quick-xml = { git = "https://github.com/ruffle-rs/quick-xml", rev = "8496365ec1412eb5ba5de350937b6bce352fa0ba" }
|
2020-06-30 00:16:54 +00:00
|
|
|
downcast-rs = "1.2.0"
|
2022-09-13 06:21:21 +00:00
|
|
|
url = "2.3.1"
|
2021-12-04 14:21:05 +00:00
|
|
|
weak-table = "0.3.2"
|
2022-09-12 21:23:47 +00:00
|
|
|
percent-encoding = "2.2.0"
|
2020-06-18 08:33:58 +00:00
|
|
|
thiserror = "1.0"
|
2022-11-25 16:39:17 +00:00
|
|
|
chrono = { version = "0.4", default-features = false, features = ["clock"] }
|
2020-10-11 19:10:27 +00:00
|
|
|
instant = "0.1"
|
2022-04-08 16:57:28 +00:00
|
|
|
encoding_rs = "0.8.31"
|
2022-02-14 20:08:39 +00:00
|
|
|
rand = { version = "0.8.5", features = ["std", "small_rng"], default-features = false }
|
2022-12-12 20:03:00 +00:00
|
|
|
serde = { version = "1.0.150", features = ["derive"] }
|
2022-02-26 01:14:37 +00:00
|
|
|
serde_json = { version = "1.0", features = ["preserve_order"] }
|
2022-08-26 01:50:11 +00:00
|
|
|
nellymoser-rs = { git = "https://github.com/ruffle-rs/nellymoser", rev = "4a33521c29a918950df8ae9fe07e527ac65553f5", optional = true }
|
2021-07-12 20:07:00 +00:00
|
|
|
regress = "0.4"
|
2021-08-09 20:30:23 +00:00
|
|
|
flash-lso = { git = "https://github.com/ruffle-rs/rust-flash-lso", rev = "19fecd07b9888c4bdaa66771c468095783b52bed" }
|
2021-06-22 08:26:27 +00:00
|
|
|
lzma-rs = {version = "0.2.0", optional = true }
|
2022-08-26 02:33:51 +00:00
|
|
|
dasp = { git = "https://github.com/RustAudio/dasp", rev = "f05a703", features = ["interpolate", "interpolate-linear", "signal"], optional = true }
|
2022-07-18 20:46:11 +00:00
|
|
|
symphonia = { version = "0.5.1", default-features = false, features = ["mp3"], optional = true }
|
2022-10-04 09:24:05 +00:00
|
|
|
enumset = "1.0.12"
|
2022-09-18 18:47:32 +00:00
|
|
|
static_assertions = "1.1.0"
|
|
|
|
rustversion = "1.0.9"
|
avm2: Partially implement Stage3D for wgpu backend
This PR implements core 'stage3D' APIs. We are now able
to render at least two demos from the Context3D docs - a simple
triangle render, and a rotating cube.
Implemented in this PR:
* Stage3D access and Context3D creation
* IndexBuffer3D and VertexBuffer3D creation, uploading, and usage
* Program3D uploading and usage (via `naga-agal`)
* Context3D: configureBackBuffer, clear, drawTriangles, and present
Not yet implemented:
* Any 'dispose()' methods
* Depth and stencil buffers
* Context3D texture apis
* Scissor rectangle
General implementation strategy:
A new `Object` variant is added for each of the Stage3D objects
(VertexBuffer3D, Program3D, etc). This stores a handle to the
parent `Context3D`, and (depending on the object) a handle
to the underlying native resource, via `Rc<dyn
SomeRenderBackendTrait>`).
Calling methods on Context3D does not usually result in an immediate
call to a `wgpu` method. Instead, we queue up commands in our
`Context3D` instance, and execute them all on a call to `present`.
This avoids some nasty wgpu lifetime issues, and is very similar
to the approah we use for normal rendering.
The actual rendering happens on a `Texture`, with dimensions
determined by `createBackBuffer`. During 'Stage' rendering,
we render all of these Stage3D textures *behind* the normal
stage (but in front of the overall stage background color).
2022-09-18 20:50:21 +00:00
|
|
|
bytemuck = "1.12.1"
|
2019-07-19 08:32:41 +00:00
|
|
|
|
2022-03-15 21:28:13 +00:00
|
|
|
[target.'cfg(not(target_family = "wasm"))'.dependencies.futures]
|
2022-10-25 06:01:55 +00:00
|
|
|
version = "0.3.25"
|
2022-03-15 21:28:13 +00:00
|
|
|
|
|
|
|
[target.'cfg(target_family = "wasm")'.dependencies.wasm-bindgen-futures]
|
2022-09-13 18:06:53 +00:00
|
|
|
version = "0.4.33"
|
2022-03-15 21:28:13 +00:00
|
|
|
|
2019-07-19 08:32:41 +00:00
|
|
|
[features]
|
2022-08-26 00:59:25 +00:00
|
|
|
default = []
|
2021-06-22 08:26:27 +00:00
|
|
|
lzma = ["lzma-rs", "swf/lzma"]
|
2020-10-11 19:10:27 +00:00
|
|
|
wasm-bindgen = [ "instant/wasm-bindgen" ]
|
2019-11-20 23:08:50 +00:00
|
|
|
avm_debug = []
|
2022-03-16 14:47:39 +00:00
|
|
|
deterministic = []
|
2022-06-29 02:04:41 +00:00
|
|
|
timeline_debug = []
|
2022-08-26 01:50:11 +00:00
|
|
|
nellymoser = ["nellymoser-rs"]
|
2022-08-26 02:33:51 +00:00
|
|
|
audio = ["dasp"]
|
2022-06-15 19:00:17 +00:00
|
|
|
|
|
|
|
[build-dependencies]
|
|
|
|
build_playerglobal = { path = "build_playerglobal" }
|