Add per-class 3D viewers for tiles, tokens, cards, and custom models using React Three Fiber, drei, and postprocessing. Viewers are lazy-loaded and registered through the existing viewer registry, with a shared scene wrapper for lighting, orbit controls, and subtle effects. Add a CORS-safe /asset proxy route so three.js loaders can fetch Workshop-hosted textures and models, and extend TTSObject with the CustomMesh and CustomTile/CustomToken fields the viewers read.
8 lines
285 B
TypeScript
8 lines
285 B
TypeScript
/**
|
|
* Route an external asset URL through the proxy so it can be loaded by
|
|
* three.js loaders (TextureLoader, GLTFLoader, etc.) despite the upstream host
|
|
* omitting CORS headers.
|
|
*/
|
|
export function assetUrl(url: string): string {
|
|
return `/asset?url=${encodeURIComponent(url)}`;
|
|
} |