UNPKG

@scenemesh/entity-engine-studio

Version:

Entity Engine Studio

66 lines 2.85 kB
// Entity Engine Studio - 基于 EntityEngine 的配置工作室 // ================================================================================ // 🎯 核心组件 // ================================================================================ export { PreviewPanel } from './components/preview'; export { StudioService } from './services/studio-service'; // 变更检测服务 export { changeDetector } from './services/change-detector'; // 视图和组件编辑器 export { ViewOptionsEditor } from './components/view-editor'; export { WidgetConfigEditor } from './components/view-editor'; export { EnhancedFieldEditor } from './components/view-editor'; export { EntityEngineAPI } from './services/entity-engine-api'; export { UniversalFieldsEditor } from './components/view-editor'; // ================================================================================ // 🔧 服务层 // ================================================================================ export { HierarchicalViewEditor } from './components/view-editor'; export { HierarchicalModelEditor } from './components/model-editor'; // 主工作空间组件 export { UnifiedConfigurationWorkspace } from './components/workspace'; export { StudioEngineService } from './services/studio-engine-service'; export { studioRenderers, EntityEngineStudioLauncher } from './renderers'; export { StudioEngineProvider, useStudioEngineOptional } from './providers/studio-engine-provider'; export class StudioExtensionRegistry { constructor() { this.extensions = new Map(); } register(extension) { this.extensions.set(extension.name, extension); } unregister(name) { this.extensions.delete(name); } get(name) { return this.extensions.get(name); } getAll() { return Array.from(this.extensions.values()); } getEditors(type) { return this.getAll() .map((ext) => ext.editors?.[type]) .filter(Boolean); } getToolbarItems() { return this.getAll().flatMap((ext) => ext.toolbar?.items || []); } getPanels(position) { return this.getAll().flatMap((ext) => ext.panels?.[position] || []); } } export const studioExtensionRegistry = new StudioExtensionRegistry(); // ================================================================================ // 🛠️ 工具函数 // ================================================================================ import { StudioEngineService } from './services/studio-engine-service'; export function createStudioInstance(engine) { return { service: new StudioEngineService(engine), extensionRegistry: studioExtensionRegistry, }; } export const STUDIO_VERSION = '0.0.4'; export const STUDIO_NAME = '@scenemesh/entity-engine-studio'; //# sourceMappingURL=index.js.map