mirror of
https://github.com/storytold/storyteller-bevy.git
synced 2026-10-25 08:30:24 +00:00
StudioMode switch for full-editor capabilities (#23)
This PR adds a `StudioMode` resource to toggle editing capabilities, and configures the frontend application to read the desired mode from a URL parameter. For now, setting the app to `StudioMode::Viewer` with `<app-url>?mode=viewer` hides the Transform Toolbar and disables most of the interactive features of the app, but otherwise exhibits the same behavior as `StudioMode::Editor` / `<app-url>?mode=studio`. In the future, the "Viewer" and "Editor" modes will receive different initialization inputs to better serve the needs of their use cases. In particular: * The "Viewer" mode will accept a BVH animation handle, which should be played in a loop on a simple mannequin asset, allowing a user to preview a given animation before using it within the full studio workflow. * The "Editor" mode will accept a full Bevy scene handle which can be edited and saved to the user's account. These scenes will serve as the basis for the generative-AI workflows Storyteller Studio is ultimately seeking to facilitate. * It will likely be useful for "Editor" mode to alternatively accept only a BVH animation handle, which would be used to initialize a new scene for editing similar to "Viewer" mode, but with editing capabilities enabled.
This commit is contained in:
+4
-2
@@ -7,7 +7,7 @@ use bevy_mod_picking::debug::DebugPickingMode;
|
||||
use crate::{
|
||||
camera_controller::{CameraController, CameraMotionSystem},
|
||||
input::{Action, InputAction, Lifecycle},
|
||||
MainCamera,
|
||||
is_editor, MainCamera,
|
||||
};
|
||||
|
||||
#[derive(Resource, Deref, DerefMut)]
|
||||
@@ -36,7 +36,9 @@ impl Plugin for DebugPlugin {
|
||||
Update,
|
||||
(
|
||||
toggle_debug_mode,
|
||||
update_debug_picking_mode.run_if(resource_changed::<DebugMode>()),
|
||||
update_debug_picking_mode
|
||||
.run_if(is_editor)
|
||||
.run_if(resource_changed::<DebugMode>()),
|
||||
update_gizmo_line_thickness,
|
||||
(draw_world_axes, draw_debug_points)
|
||||
.after(CameraMotionSystem)
|
||||
|
||||
Reference in New Issue
Block a user