container->get(LiveComponentRenderer::class); $cacheManager = $this->container->get(ComponentCacheManager::class); $handler = $this->container->get(LiveComponentHandler::class); $metadataCache = $this->container->get(ComponentMetadataCache::class); $performanceTracker = $this->container->get(NestedPerformanceTracker::class); // DebugPanel is optional $debugPanel = null; try { $debugPanel = $this->container->get(DebugPanelRenderer::class); } catch (\Throwable) { // DebugPanel not available, that's okay } $registry = new ComponentRegistry( container: $this->container, discoveryRegistry: $this->discoveryRegistry, renderer: $renderer, cacheManager: $cacheManager, handler: $handler, metadataCache: $metadataCache, performanceTracker: $performanceTracker, debugPanel: $debugPanel ); // Register as interface $this->container->singleton(ComponentRegistryInterface::class, $registry); return $registry; } }