MCP 3D Printer Server

by DMontgomery40
Verified
import ChainMap from './ChainMap.js'; import RenderBundle from './RenderBundle.js'; const _chainKeys = []; /** * This renderer module manages render bundles. * * @private */ class RenderBundles { /** * Constructs a new render bundle management component. */ constructor() { /** * A chain map for maintaining the render bundles. * * @type {ChainMap} */ this.bundles = new ChainMap(); } /** * Returns a render bundle for the given bundle group and camera. * * @param {BundleGroup} bundleGroup - The bundle group. * @param {Camera} camera - The camera the bundle group is rendered with. * @return {RenderBundle} The render bundle. */ get( bundleGroup, camera ) { const bundles = this.bundles; _chainKeys[ 0 ] = bundleGroup; _chainKeys[ 1 ] = camera; let bundle = bundles.get( _chainKeys ); if ( bundle === undefined ) { bundle = new RenderBundle( bundleGroup, camera ); bundles.set( _chainKeys, bundle ); } _chainKeys.length = 0; return bundle; } /** * Frees all internal resources. */ dispose() { this.bundles = new ChainMap(); } } export default RenderBundles;