import { lazy } from 'react'; import { registerViewer } from '../viewers'; // Register 3D viewers for the object classes that carry renderable assets. // Importing this module has the side effect of populating the viewer registry. // The viewers are lazy-loaded so the three.js stack is code-split out of the // main bundle and only fetched when a 3D-capable object is actually selected. const TileViewer = lazy(() => import('./TileViewer')); const TokenViewer = lazy(() => import('./TokenViewer')); const CardViewer = lazy(() => import('./CardViewer')); const CustomModelViewer = lazy(() => import('./CustomModelViewer')); registerViewer('Tile', TileViewer); registerViewer('Custom_Tile', TileViewer); registerViewer('Custom_Token', TokenViewer); registerViewer('Card', CardViewer); registerViewer('CardCustom', CardViewer); registerViewer('Deck', CardViewer); registerViewer('DeckCustom', CardViewer); registerViewer('Custom_Deck', CardViewer); registerViewer('Custom_Model', CustomModelViewer); registerViewer('Custom_Model_Bag', CustomModelViewer); registerViewer('Custom_Model_Infinite_Bag', CustomModelViewer);