Files
storyteller-bevy/studio/Cargo.toml
T
Danny McGee c788bcf6b7 Refactor Studio entry-points (#54)
This PR heavily refactors the entry-point functions in
`studio/src/lib.rs` to simplify and consolidate. Additionally, the
frontend application should now be configurable as expected with any
valid combination of the following URL parameters:

* `objectId` : A pre-bundled library object to load (e.g., "couch.gltf")
* `bvh` : Any resolvable path to a BVH animation with a MocapNET
skeleton (e.g., "mocap/shuffle.bvh")
* `mixamo` : Any resolvable path to a glTF animation with the Mixamo
skeleton (e.g., "mocap/hip-hop-dancing.gltf")
* `sceneImport` : Any resolvable path to an arbitrary glTF scene
(untested, but should theoretically work)
* `scene` : Any resolvable path to a previously saved Storyteller Studio
scene in `*.scn.ron` format
* `skybox` : The ID of a pre-bundled skybox asset. Valid options are:
  - "gum_trees_4k"
  - "kloofenfal_28d_misty_4k"
  - "meadow_4k"
  - "promenade_de_vidy_4k"
  - "scythian_tombs_4k"
  - "test_scene" (this is the default if not specified)
* `mode` : One of "studio" or "viewer" (the default if not specified)

"Validity" rules are as follows:

* `objectId`, `bvh`, `mixamo`, `sceneImport` and `scene` are mutually
exclusive
* `skybox` is not supported for `scene` (the skybox should be saved and
loaded as part of the scene description, though this is not currently
working)
* Both `mode` options are valid for all other parameters
2024-02-27 10:22:00 -07:00

86 lines
1.7 KiB
TOML

[package]
name = "studio"
version = "0.1.0"
edition = "2021"
[lib]
name = "studio"
crate-type = ["cdylib", "rlib"]
path = "src/lib.rs"
[[bin]]
name = "studio-standalone"
path = "src/main.rs"
[[bin]]
name = "studio-headless"
path = "src/main-headless.rs"
[dependencies]
bevy-inspector-egui = "0.22.0"
bevy_mod_raycast = "0.16.0"
bevy_rapier3d = "0.23.0"
bevy_mod_outline = "0.6.0"
bevy_web_asset = "0.7.0"
bitflags = "2.4.0"
console_error_panic_hook = { version = "0.1.7", optional = true }
itertools = "0.12.1"
js-sys = { version = "0.3.65", optional = true }
parking_lot = "0.12.1"
serde = "1.0.192"
serde-wasm-bindgen = { version = "0.6.1", optional = true }
serde_json = "1.0.108"
studio-bvh = { path = "../studio-bvh" }
wasm-bindgen = "0.2.84"
web-sys = { version = "0.3.65", optional = true, features = [
"CustomEvent",
"CustomEventInit",
"Document",
"HtmlElement",
"Window",
] }
clap = { version = "4.4.18", features = ["derive"] }
futures-intrusive = "0.5.0"
wgpu = "0.17.1"
futures-lite = "2.2.0"
futures = "0.3.30"
image = "0.24.8"
bytemuck = "1.14.1"
space_editor = {git = "https://github.com/rewin123/space_editor", rev = "ce83f86dc902787ab16213f3209276a784654df6"}
anyhow.workspace = true
serde_repr = "0.1.18"
[dependencies.reqwest]
version = "0.11.24"
features = [
"default",
"json",
"stream",
]
[features]
wasm = [
"dep:console_error_panic_hook",
"dep:js-sys",
"dep:serde-wasm-bindgen",
"dep:web-sys",
"bevy_rapier3d/wasm-bindgen",
]
desktop = []
wasm_screenshot = []
[dependencies.bevy]
workspace = true
[dependencies.bevy_mod_picking]
version = "0.17.0"
default-features = false
features = [
"backend_bevy_ui",
"backend_rapier",
"backend_raycast",
"backend_sprite",
"debug",
"selection",
]