Danny McGee 0d4072c806 Inspector editing (#96)
This PR adds Material component inspection to the frontend Entity
Inspector, and adds functional editing capabilities for the Transform
and Material inspectors.

### Changes
* Added a `ScalarFieldElement` for numeric form fields, with a hybrid
slider/text-input UX inspired by Blender, Unreal Engine, etc.
* Added `MaterialInspectorElement` for inspecting the Bevy
`StandardMaterial` component
* Wired up the `TransformInspectorElement` and
`MaterialInspectorElement` to apply changes made in the UI to the Bevy
scene
* Refactored the `studio/ui/inspector` module to output `Result::Err`s
to the dev console
* Refactored the `studio/interaction/selection` module to use only the
`Selection` resource, removing the redundant `Selected` component which
added some unnecessary complexity. This fixes #39
* Fixed primitive shapes not receiving a selection outline when selected

### To-Do

These tasks will be addressed in a forthcoming PR:

* The **Transform** > **Rotation** section in the inspector is still not
displaying sensible values. Currently it's just displaying the raw
quaternion `xyz` vector rather than displaying the orientation in
human-readable terms (e.g., as Euler angles).
* We're currently ignoring the Primitive Shape component, which would
allow the user to configure some additional geometric properties of the
shape or replace it with a different one.

---------

Co-authored-by: rewin <rewin1996@gmail.com>
2024-03-22 18:53:28 -04:00
2023-11-10 21:07:39 -05:00
2024-02-28 15:52:01 -05:00
2023-12-27 17:45:07 -05:00
2024-03-22 18:53:28 -04:00
2024-03-22 18:53:28 -04:00
2024-03-22 18:53:28 -04:00
2024-03-21 22:38:33 -04:00
2023-09-27 10:44:40 -04:00
2023-11-10 15:51:17 -05:00
2023-09-28 23:33:08 -04:00
2024-03-22 18:53:28 -04:00
2023-12-07 15:46:32 -05:00
2024-03-20 20:53:24 -04:00
2024-03-09 02:34:55 -05:00
2023-09-27 10:48:41 -04:00
2024-03-22 18:53:28 -04:00

Storyteller Studio

Installing dependencies

Building / Running / Testing stuff

This repo is managed by Nx, a polyglot build system and monorepo framework written in TypeScript. After installing dependencies, dev tasks can be run through the Nx CLI:

npx nx <command> <project> [options]
# OR
npx nx run <project>:<command> [options]

For example, to compile the Bevy app to WebAssembly and serve it via the web frontend project, run:

npx nx serve studio-frontend

You'll need to install the wasm compiler for Rust:

rustup target add wasm32-unknown-unknown

Projects are located in directories at the workspace root. The list of commands supported by a given project can be found under the target property of its project.json file, which defines the Nx configuration for that project.

The full list of options for a given command can be discovered by passing the --help flag:

npx nx <command> <project> --help
S
Description
Danny's Bevy exploration
Readme 316 MiB
Languages
Rust 59.2%
TypeScript 34.9%
SCSS 4.1%
JavaScript 1%
HTML 0.3%
Other 0.5%