Danny McGee 0a0acacfdb Single-canvas juggling (#15)
This PR adds a `CanvasProviderElement` to `@storyteller/studio-web` to manage
the complexity of maintaining a single concrete `HTMLCanvasElement` for
`@storyteller/studio`, while still being able to treat components like the
`ViewerElement` as self-contained "views" that behave as expected with regards
to CSS styling, DOM placement, etc.

Consuming applications should wrap the new `<sts-canvas-provider />` element
around some common ancestor of all views into the `@storyteller/studio` app,
similar to a React context provider.

The `react-frontend` application has been updated to take advantage of the new
`CanvasProviderElement` by demonstrating a more realistic use case for the
`ViewerElement`. The new demo presents a grid of "thumbnails," one for each
object in our hard-coded "object library." Clicking on one of these thumbnails
will render a `ViewerElement` for that object in a modal dialog.
2023-12-19 16:11:25 -05:00
2023-11-10 21:07:39 -05:00
2023-12-07 15:46:32 -05:00
2023-12-19 16:11:25 -05:00
2023-12-19 16:11:25 -05:00
2023-12-19 16:11:25 -05:00
2023-12-19 16:11:25 -05:00
2023-09-27 10:44:40 -04:00
2023-09-27 10:48:41 -04:00
2023-11-10 15:51:17 -05:00
2023-09-28 23:33:08 -04:00
2023-11-22 23:05:42 -05:00
2023-11-22 23:05:42 -05:00
2023-10-04 17:57:37 -04:00
2023-12-07 15:46:32 -05:00
2023-12-07 15:46:32 -05:00
2023-09-30 00:17:20 -04:00
2023-09-27 10:48:41 -04:00
2023-09-27 10:48:41 -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

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%