ice-entity-designer 0.9.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,23 @@
1
+ /**
2
+ * 把 IED 的全部领域图元类型注册到某个 `ICE` 实例上(幂等,重复调用无副作用)。
3
+ *
4
+ * **为什么需要它**:类型注册是**按实例**的(`ice.registerType(typeId, Ctor)`),而 `Deserializer`
5
+ * 完全靠这张注册表还原组件 —— 应用里那台 ICE 由各 Designer 的构造函数顺手注册(`FlowDesigner`
6
+ * 注册 `FlowNode/FlowEdge`、`UmlDesigner` 注册 `UmlClass/UmlRelation`……)。
7
+ *
8
+ * 但 **worker 侧的镜像那台 ICE 没有任何 Designer**:它只做"按文档重建 + 渲染"。
9
+ * 不注册的后果不是报错,而是**静默丢内容** —— 反序列化器会跳过整棵未注册的子树
10
+ * (`MirrorTarget.applyScene()` 会把 `unknownTypes` 原样报回来,这正是那条上报存在的意义)。
11
+ *
12
+ * 用法(worker 脚本里,`importScripts` 引擎与 IED 两个 UMD 之后):
13
+ * ```js
14
+ * ICE.init(offscreenCanvas.getContext('2d'));
15
+ * IED.registerDesignerTypes(ice);
16
+ * const target = new ICE.MirrorTarget(ice);
17
+ * ```
18
+ *
19
+ * 不需要全部领域时,也可以只注册用到的那几个类(`iedTypeId('FlowNode')` → 直接 `ice.registerType`)。
20
+ */
21
+ export declare function registerDesignerTypes(ice: any): number;
22
+ /** 注册表里有哪些类型(调试 / 文档用)。 */
23
+ export declare function designerTypeIds(): string[];
@@ -0,0 +1,23 @@
1
+ /**
2
+ * 把 IED 的全部领域图元类型注册到某个 `ICE` 实例上(幂等,重复调用无副作用)。
3
+ *
4
+ * **为什么需要它**:类型注册是**按实例**的(`ice.registerType(typeId, Ctor)`),而 `Deserializer`
5
+ * 完全靠这张注册表还原组件 —— 应用里那台 ICE 由各 Designer 的构造函数顺手注册(`FlowDesigner`
6
+ * 注册 `FlowNode/FlowEdge`、`UmlDesigner` 注册 `UmlClass/UmlRelation`……)。
7
+ *
8
+ * 但 **worker 侧的镜像那台 ICE 没有任何 Designer**:它只做"按文档重建 + 渲染"。
9
+ * 不注册的后果不是报错,而是**静默丢内容** —— 反序列化器会跳过整棵未注册的子树
10
+ * (`MirrorTarget.applyScene()` 会把 `unknownTypes` 原样报回来,这正是那条上报存在的意义)。
11
+ *
12
+ * 用法(worker 脚本里,`importScripts` 引擎与 IED 两个 UMD 之后):
13
+ * ```js
14
+ * ICE.init(offscreenCanvas.getContext('2d'));
15
+ * IED.registerDesignerTypes(ice);
16
+ * const target = new ICE.MirrorTarget(ice);
17
+ * ```
18
+ *
19
+ * 不需要全部领域时,也可以只注册用到的那几个类(`iedTypeId('FlowNode')` → 直接 `ice.registerType`)。
20
+ */
21
+ export declare function registerDesignerTypes(ice: any): number;
22
+ /** 注册表里有哪些类型(调试 / 文档用)。 */
23
+ export declare function designerTypeIds(): string[];
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "author": "大漠穷秋",
3
3
  "name": "ice-entity-designer",
4
- "version": "0.9.0",
4
+ "version": "0.10.0",
5
5
  "description": "An entity designer based on ice-render.",
6
6
  "repository": {
7
7
  "type": "git",
@@ -59,7 +59,7 @@
59
59
  "types:watch": "npm run types:check -- --watch"
60
60
  },
61
61
  "peerDependencies": {
62
- "ice-render": "^2.19.0",
62
+ "ice-render": "^4.0.0",
63
63
  "react": "^18 || ^19",
64
64
  "react-dom": "^18 || ^19"
65
65
  },
@@ -101,7 +101,7 @@
101
101
  "eslint-plugin-react-hooks": "4.6.0",
102
102
  "http-server": "14.1.1",
103
103
  "husky": "8.0.3",
104
- "ice-render": "^2.19.0",
104
+ "ice-render": "^4.0.0",
105
105
  "jest": "29.7.0",
106
106
  "jest-environment-jsdom": "29.7.0",
107
107
  "lint-staged": "15.5.2",