Appearance
Documentation / @geoverse/editor-core / EditEngine
Class: EditEngine
Defined in: packages/editor-core/src/engine.ts:41
编辑引擎:dispatch 走 校验→applyForward→入栈→清 redo→emit。 undo/redo 复用泛型 applyForward/applyReverse,只认 added/removed/modified, 对要素数量变化(split 1→2、merge 2→1)零特判。
Constructors
Constructor
ts
new EditEngine(options?): EditEngine;Defined in: packages/editor-core/src/engine.ts:51
Parameters
options?
EditEngineOptions = {}
Returns
EditEngine
Properties
crs
ts
readonly crs: string;Defined in: packages/editor-core/src/engine.ts:49
Methods
adoptServerState()
ts
adoptServerState(serverFeatures): void;Defined in: packages/editor-core/src/engine.ts:159
采纳服务端权威状态(409 冲突 rebase):以服务端要素覆盖/补齐本地同 id 要素, 并清空历史栈(rebase 后旧历史不再有效)。本地未提交编辑由调用方在 commit 前后取舍。
Parameters
serverFeatures
Returns
void
dispatch()
ts
dispatch(cmd): EditResult;Defined in: packages/editor-core/src/engine.ts:60
Parameters
cmd
Returns
getFeature()
ts
getFeature(id): EditableFeature | undefined;Defined in: packages/editor-core/src/engine.ts:137
Parameters
id
string
Returns
EditableFeature | undefined
on()
ts
on(listener): () => void;Defined in: packages/editor-core/src/engine.ts:114
Parameters
listener
Returns
() => void
onTransaction()
ts
onTransaction(listener): () => void;Defined in: packages/editor-core/src/engine.ts:120
订阅事务事件(同步层用以累积未提交变更)。
Parameters
listener
Returns
() => void
redo()
ts
redo(): boolean;Defined in: packages/editor-core/src/engine.ts:104
Returns
boolean
remapIds()
ts
remapIds(idMap): void;Defined in: packages/editor-core/src/engine.ts:169
提交后端回包后,把临时 id 替换成真实 id(状态 + 历史栈一并改)。
Parameters
idMap
Returns
void
setVersions()
ts
setVersions(versions): void;Defined in: packages/editor-core/src/engine.ts:143
写入后端下发的版本号(乐观锁)。
Parameters
versions
Record<FeatureId, number>
Returns
void
snapshot()
ts
snapshot(): EditSnapshot;Defined in: packages/editor-core/src/engine.ts:125
Returns
undo()
ts
undo(): boolean;Defined in: packages/editor-core/src/engine.ts:94
Returns
boolean
