Feature/runtime cdn and plugin loader (#240)

* feat(ui): 完善 UI 布局系统和编辑器可视化工具

* refactor: 移除 ModuleRegistry,统一使用 PluginManager 插件系统

* fix: 修复 CodeQL 警告并提升测试覆盖率

* refactor: 分离运行时入口点,解决 runtime bundle 包含 React 的问题

* fix(ci): 添加 editor-core 和 editor-runtime 到 CI 依赖构建步骤

* docs: 完善 ServiceContainer 文档,新增 Symbol.for 模式和 @InjectProperty 说明

* fix(ci): 修复 type-check 失败问题

* fix(ci): 修复类型检查失败问题

* fix(ci): 修复类型检查失败问题

* fix(ci): behavior-tree 构建添加 @tauri-apps 外部依赖

* fix(ci): behavior-tree 添加 @tauri-apps/plugin-fs 类型依赖

* fix(ci): platform-web 添加缺失的 behavior-tree 依赖

* fix(lint): 移除正则表达式中不必要的转义字符
This commit is contained in:
YHH
2025-11-27 20:42:46 +08:00
committed by GitHub
parent 71869b1a58
commit 107439d70c
367 changed files with 10661 additions and 12473 deletions

View File

@@ -1,32 +0,0 @@
import { NodeTemplate } from '@esengine/behavior-tree';
import { Node } from '../models/Node';
import { Position } from '../value-objects';
/**
* 节点工厂接口
* 负责创建不同类型的节点
*/
export interface INodeFactory {
/**
* 创建节点
*/
createNode(
template: NodeTemplate,
position: Position,
data?: Record<string, unknown>
): Node;
/**
* 根据模板类型创建节点
*/
createNodeByType(
nodeType: string,
position: Position,
data?: Record<string, unknown>
): Node;
/**
* 克隆节点
*/
cloneNode(node: Node, newPosition?: Position): Node;
}

View File

@@ -1,27 +0,0 @@
import { BehaviorTree } from '../models/BehaviorTree';
/**
* 仓储接口
* 负责行为树的持久化
*/
export interface IBehaviorTreeRepository {
/**
* 保存行为树
*/
save(tree: BehaviorTree, path: string): Promise<void>;
/**
* 加载行为树
*/
load(path: string): Promise<BehaviorTree>;
/**
* 检查文件是否存在
*/
exists(path: string): Promise<boolean>;
/**
* 删除行为树文件
*/
delete(path: string): Promise<void>;
}

View File

@@ -1,30 +0,0 @@
import { BehaviorTree } from '../models/BehaviorTree';
/**
* 序列化格式
*/
export type SerializationFormat = 'json' | 'binary';
/**
* 序列化接口
* 负责行为树的序列化和反序列化
*/
export interface ISerializer {
/**
* 序列化行为树
*/
serialize(tree: BehaviorTree, format: SerializationFormat): string | Uint8Array;
/**
* 反序列化行为树
*/
deserialize(data: string | Uint8Array, format: SerializationFormat): BehaviorTree;
/**
* 导出为运行时资产格式
*/
exportToRuntimeAsset(
tree: BehaviorTree,
format: SerializationFormat
): string | Uint8Array;
}

View File

@@ -1,46 +0,0 @@
import { BehaviorTree } from '../models/BehaviorTree';
import { Node } from '../models/Node';
import { Connection } from '../models/Connection';
/**
* 验证结果
*/
export interface ValidationResult {
isValid: boolean;
errors: ValidationError[];
}
/**
* 验证错误详情
*/
export interface ValidationError {
message: string;
nodeId?: string;
field?: string;
}
/**
* 验证器接口
* 负责行为树的验证逻辑
*/
export interface IValidator {
/**
* 验证整个行为树
*/
validateTree(tree: BehaviorTree): ValidationResult;
/**
* 验证节点
*/
validateNode(node: Node): ValidationResult;
/**
* 验证连接
*/
validateConnection(connection: Connection, tree: BehaviorTree): ValidationResult;
/**
* 验证是否会产生循环引用
*/
validateNoCycles(tree: BehaviorTree): ValidationResult;
}

View File

@@ -1,4 +0,0 @@
export { type INodeFactory } from './INodeFactory';
export { type ISerializer, type SerializationFormat } from './ISerializer';
export { type IBehaviorTreeRepository } from './IRepository';
export { type IValidator, type ValidationResult, type ValidationError } from './IValidator';