feat: add project plugin management (#501)

This commit is contained in:
Wassim SAMAD
2026-07-16 10:26:59 -04:00
committed by GitHub
parent 4f0aa7f7b6
commit 9ca3eaa7fe
88 changed files with 684 additions and 3100 deletions
@@ -1,6 +1,12 @@
'use client'
import { type AnyNode, nodeRegistry, type RendererSource, useScene } from '@pascal-app/core'
import {
type AnyNode,
isNodeKindEnabled,
nodeRegistry,
type RendererSource,
useScene,
} from '@pascal-app/core'
import { type ComponentType, lazy, Suspense } from 'react'
import { ParametricNodeRenderer } from './parametric-node-renderer'
@@ -23,7 +29,9 @@ export function getRegistryRenderer(
export const NodeRenderer = ({ nodeId }: { nodeId: AnyNode['id'] }) => {
const node = useScene((state) => state.nodes[nodeId])
const installedPlugins = useScene((state) => state.installedPlugins)
if (!node) return null
if (!isNodeKindEnabled(node.type, installedPlugins)) return null
const def = nodeRegistry.get(node.type)
if (!def) return null
// Two-checkbox dispatch (see wiki/architecture/node-definitions.md):