API 总览
AgileJS Canvas 引擎提供了完整的 API 体系,包括核心引擎、图形管理、命令历史、插件系统等模块。
核心模块
CanvasEngine
画布引擎核心类,负责渲染循环、视口管理、插件协调等。
主要功能:
- 渲染管理(启动/停止/手动渲染)
- 视口控制(缩放/平移/适配)
- 交互配置(全局开关)
- 主题管理
- 性能优化(降质渲染、空间索引)
Graph
图形数据模型,管理节点和边的增删改查。
主要功能:
- 节点/边的 CRUD 操作
- 脏标记机制
- 版本追踪
- 缓存优化
CommandHistory
命令历史系统,支持撤销/重做、事务、命令合并。
主要功能:
- 执行/撤销/重做
- 事务支持(批量操作)
- 命令合并(连续操作)
- 历史调试
EventBus
事件总线,提供发布-订阅模式的事件通信。
主要功能:
- 事件注册/注销
- 事件触发
- 类型安全
管理器
PluginManager
插件管理器,负责插件的注册、卸载和生命周期管理。
RendererRegistry
渲染器注册表,管理各种形状的渲染器。
AnimationManager
动画管理器,提供补间动画支持。
命令系统
Commands
内置命令类,包括:
- 节点操作命令(添加/删除/移动/缩放/旋转)
- 边操作命令(添加/删除/更新)
- 分组命令(创建/解散)
- 画布命令(背景/网格/参考线)
类型定义
Types
核心数据类型定义:
NodeData- 节点数据结构EdgeData- 边数据结构PortData- 端口数据结构EngineOptions- 引擎配置选项InteractionConfig- 交互配置
工具函数
Utilities
常用工具函数:
- 坐标转换
- 碰撞检测
- 边界计算
- 空间索引