Introduce operations for complex actions instead of using deltas to compose them #4196
Labels
package:engine
status:discussion
type:improvement
This issue reports a possible enhancement of an existing feature.
Milestone
Originally reported here, I am extracting this to a separate issue as it seems that we will be interested in doing this.
As time passes and more issues pop out, I started to have a feeling, that deltas were not a good idea. They are much harder to manage than we originally thought. They gave us good, fast start and hopes that we can easily solve some issues (like add row x add column conflict). But I think it's time to think whether we want them.
By deltas I mean the idea that we have an entity that is composed of operations. When I write about "removing deltas" I mean removing the concept. Instead, we would have to introduce all missing operations, so we would have
MergeOperation
,SplitOperation
, etc., which are now handled byMergeDelta
orSplitDelta
.So back to deltas. They seemed a good idea. Unfortunately, they have very real drawbacks:
Of course, we need to remember, that:
SplitOperation
may be need to transformed toMoveOperation
-- we lose some information and it might lead to some "impossible to solve scenarios" too,All in all, I think that if operations will be enough to reach our goals, it would be a HUGE relief to get rid of deltas. It will have highly positive impact to the project's complexity and future maintaining.
The text was updated successfully, but these errors were encountered: