Danny McGee 6ca2a992e5 Storyteller.ai API integration (#49)
This PR integrates asset retrieval from the Storyteller.ai back-end API,
and begins implementing long-term scene saving and storage.

### Media retrieval
Instead of fetching raw asset URLs, going forward, media files from
remote sources (e.g., in URL parameters) should be specified with a path
like the following:
```
remote://<token>.<filetype>
```
where
* `token` is a media token (e.g., "m_70b77neq9jsgmy5v31mekzchcbd223")
* `filetype` is a file extension appropriate for the type of file being
  fetched (e.g., "gltf")

The `remote` protocol will be recognized by a [custom asset
reader](https://github.com/storytold/storyteller-bevy/blob/70726db111f6ccafd47feb055c5546540fef1786/studio/src/remote/reader.rs)
which will retrieve the file by calling a Storyteller API endpoint.

### Scene storage
Additionally, this PR begins laying the groundwork for
storing/retrieving Bevy scenes to/from the backend instead of solely
in-memory. This work is still incomplete -- as of this PR, a button has
been added to the web UI allowing the user to download the scene
file locally for testing/debugging purposes.

### Test URL
Media retrieval from the backend can be tested by [visiting this
URL](https://deploy-preview-49--storyteller-studio.netlify.app/?mode=viewer&mixamo=remote://m_70b77neq9jsgmy5v31mekzchcbd223.gltf)
in Chrome with the `--disable-web-security` flag (to bypass CORS errors)
2024-02-23 21:05:32 -05:00
2023-11-10 21:07:39 -05:00
2024-01-12 16:35:32 -05:00
2024-02-22 14:21:02 -05:00
2023-12-27 17:45:07 -05:00
2024-02-19 16:00:30 -07:00
2024-02-22 14:21:02 -05:00
2023-12-19 16:11:25 -05:00
2023-09-27 10:44:40 -04:00
2024-02-19 16:00:30 -07:00
2023-11-10 15:51:17 -05:00
2023-09-28 23:33:08 -04:00
2024-02-23 20:52:59 -05:00
2023-12-07 15:46:32 -05:00
2024-01-12 16:48:50 -05:00
2023-12-27 17:45:07 -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%