mirror of
https://github.com/storytold/storyteller-bevy.git
synced 2026-10-13 23:52:55 +00:00
cba70a62ae
This commit implements a Sketchfab-style single-object viewer as a minimal proof-of-concept. ### `@storyteller/studio-web` This is a new package to house web components for interfacing with the `@storyteller/studio` WASM library. It currently includes a single component, `<sts-viewer />`, which is exported from `@storyteller/studio-web/viewer`. ### `react-frontend` This is a new application intended as a proof-of-concept and testbed for React interop with `@storyteller/studio-web`. Web components are currently a little bit fiddly to use in a React application. `react-frontend/src/app/studio-viewer.tsx` demonstrates how a React-idiomatic component can be written as a thin wrapper around a web component, and `react-frontend/src/app/app.tsx` demonstrates that wrapper component in use.
27 lines
994 B
TypeScript
27 lines
994 B
TypeScript
// FIXME: Oh my god, did Danny seriously just copy and paste this entire folder
|
|
// from `studio-frontend` instead of creating a separate project for it
|
|
// and importing it like a decent, law-abiding citizen? Wow, dude really
|
|
// needs to get his shit together.
|
|
|
|
// NOTE: This is an inline fork of this npm package:
|
|
// https://github.com/nguyenbatranvan/vite-multiple-assets
|
|
//
|
|
// The published version at time of writing doesn't include mime types for many
|
|
// of the asset types Bevy needs to load.
|
|
|
|
import {PluginOption, ViteDevServer} from "vite";
|
|
import {ServerMiddleWare} from "./server";
|
|
import {buildMiddleWare} from "./build";
|
|
|
|
export default function DynamicPublicDirectory(assets: string[]): PluginOption {
|
|
return {
|
|
configureServer(server: ViteDevServer) {
|
|
return ServerMiddleWare(server, assets)
|
|
},
|
|
async writeBundle(options) {
|
|
buildMiddleWare(options, assets)
|
|
},
|
|
name: "dynamic assets"
|
|
};
|
|
}
|