mirror of
https://github.com/storytold/storyteller-bevy.git
synced 2026-10-12 23:48:57 +00:00
0d4072c806
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>
47 lines
2.6 KiB
JSON
47 lines
2.6 KiB
JSON
{
|
|
"compileOnSave": false,
|
|
"compilerOptions": {
|
|
"rootDir": ".",
|
|
"sourceMap": true,
|
|
"declaration": false,
|
|
"moduleResolution": "node",
|
|
"emitDecoratorMetadata": true,
|
|
"experimentalDecorators": true,
|
|
"importHelpers": true,
|
|
"target": "es2015",
|
|
"module": "esnext",
|
|
"lib": ["es2021", "dom"],
|
|
"skipLibCheck": true,
|
|
"skipDefaultLibCheck": true,
|
|
"baseUrl": ".",
|
|
"paths": {
|
|
"@storyteller/framework": ["framework/src/index.ts"],
|
|
"@storyteller/studio": ["dist/studio"],
|
|
"@storyteller/studio-ui": ["studio-ui/src/index.ts"],
|
|
"@storyteller/studio-ui/button": ["studio-ui/src/lib/button.element.ts"],
|
|
"@storyteller/studio-ui/dialog": ["studio-ui/src/lib/dialog/index.ts"],
|
|
"@storyteller/studio-ui/icon": ["studio-ui/src/lib/icon.element.ts"],
|
|
"@storyteller/studio-ui/menu": ["studio-ui/src/lib/menu.element.ts"],
|
|
"@storyteller/studio-ui/overlay-provider": ["studio-ui/src/lib/overlay-provider.element.ts"],
|
|
"@storyteller/studio-ui/progress": ["studio-ui/src/lib/progress.element.ts"],
|
|
"@storyteller/studio-ui/toolbar": ["studio-ui/src/lib/toolbar.element.ts"],
|
|
"@storyteller/studio-ui/tree": ["studio-ui/src/lib/tree.element.ts"],
|
|
"@storyteller/studio-ui/forms/text-field": ["studio-ui/src/lib/forms/text-field.element.ts"],
|
|
"@storyteller/studio-ui/forms/scalar-field": ["studio-ui/src/lib/forms/scalar-field.element.ts"],
|
|
"@storyteller/studio-web": ["studio-web/src/index.ts"],
|
|
"@storyteller/studio-web/add-to-scene-menu": ["studio-web/src/lib/add-to-scene-menu.element.ts"],
|
|
"@storyteller/studio-web/canvas-provider": ["studio-web/src/lib/canvas-provider.element.ts"],
|
|
"@storyteller/studio-web/entity-inspector": ["studio-web/src/lib/inspector/entity-inspector.element.ts"],
|
|
"@storyteller/studio-web/iframe-messaging-bridge": ["studio-web/src/lib/iframe-messaging-bridge.element.ts"],
|
|
"@storyteller/studio-web/loading": ["studio-web/src/lib/loading.element.ts"],
|
|
"@storyteller/studio-web/media-library-dialog": ["studio-web/src/lib/media-library-dialog.element.ts"],
|
|
"@storyteller/studio-web/scene-data-provider": ["studio-web/src/lib/scene-data-provider.element.ts"],
|
|
"@storyteller/studio-web/scene-hierarchy": ["studio-web/src/lib/scene-hierarchy.element.ts"],
|
|
"@storyteller/studio-web/studio": ["studio-web/src/lib/studio.element.ts"],
|
|
"@storyteller/studio-web/transform-toolbar": ["studio-web/src/lib/transform-toolbar.element.ts"],
|
|
"@storyteller/utility": ["utility/src/index.ts"]
|
|
}
|
|
},
|
|
"exclude": ["node_modules", "tmp"]
|
|
}
|