@bilig/core 0.1.28 → 0.1.29

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.
Files changed (66) hide show
  1. package/dist/cell-mutations-at.d.ts +26 -0
  2. package/dist/cell-mutations-at.js +70 -0
  3. package/dist/cell-mutations-at.js.map +1 -0
  4. package/dist/cell-store.d.ts +1 -0
  5. package/dist/cell-store.js +2 -0
  6. package/dist/cell-store.js.map +1 -1
  7. package/dist/engine/live.d.ts +1 -1
  8. package/dist/engine/live.js +64 -58
  9. package/dist/engine/live.js.map +1 -1
  10. package/dist/engine/runtime-state.d.ts +6 -0
  11. package/dist/engine/runtime-state.js.map +1 -1
  12. package/dist/engine/services/cell-state-service.d.ts +4 -0
  13. package/dist/engine/services/cell-state-service.js +20 -7
  14. package/dist/engine/services/cell-state-service.js.map +1 -1
  15. package/dist/engine/services/formula-binding-service.d.ts +11 -2
  16. package/dist/engine/services/formula-binding-service.js +284 -7
  17. package/dist/engine/services/formula-binding-service.js.map +1 -1
  18. package/dist/engine/services/formula-evaluation-service.d.ts +3 -1
  19. package/dist/engine/services/formula-evaluation-service.js +30 -2
  20. package/dist/engine/services/formula-evaluation-service.js.map +1 -1
  21. package/dist/engine/services/formula-graph-service.d.ts +5 -1
  22. package/dist/engine/services/formula-graph-service.js +21 -4
  23. package/dist/engine/services/formula-graph-service.js.map +1 -1
  24. package/dist/engine/services/lookup-service.d.ts +51 -0
  25. package/dist/engine/services/lookup-service.js +370 -0
  26. package/dist/engine/services/lookup-service.js.map +1 -0
  27. package/dist/engine/services/mutation-history-fast-path.d.ts +17 -0
  28. package/dist/engine/services/mutation-history-fast-path.js +119 -0
  29. package/dist/engine/services/mutation-history-fast-path.js.map +1 -0
  30. package/dist/engine/services/mutation-service.d.ts +26 -2
  31. package/dist/engine/services/mutation-service.js +169 -36
  32. package/dist/engine/services/mutation-service.js.map +1 -1
  33. package/dist/engine/services/mutation-support-service.d.ts +27 -0
  34. package/dist/engine/services/mutation-support-service.js +114 -0
  35. package/dist/engine/services/mutation-support-service.js.map +1 -1
  36. package/dist/engine/services/operation-service.d.ts +3 -1
  37. package/dist/engine/services/operation-service.js +351 -75
  38. package/dist/engine/services/operation-service.js.map +1 -1
  39. package/dist/engine/services/pivot-service.d.ts +7 -0
  40. package/dist/engine/services/pivot-service.js +9 -1
  41. package/dist/engine/services/pivot-service.js.map +1 -1
  42. package/dist/engine/services/recalc-service.d.ts +2 -0
  43. package/dist/engine/services/recalc-service.js +15 -6
  44. package/dist/engine/services/recalc-service.js.map +1 -1
  45. package/dist/engine/services/runtime-scratch-service.d.ts +1 -0
  46. package/dist/engine/services/runtime-scratch-service.js +1 -0
  47. package/dist/engine/services/runtime-scratch-service.js.map +1 -1
  48. package/dist/engine-value-utils.d.ts +2 -0
  49. package/dist/engine-value-utils.js +28 -0
  50. package/dist/engine-value-utils.js.map +1 -1
  51. package/dist/engine.d.ts +12 -0
  52. package/dist/engine.js +35 -3
  53. package/dist/engine.js.map +1 -1
  54. package/dist/index.d.ts +2 -0
  55. package/dist/index.js +2 -0
  56. package/dist/index.js.map +1 -1
  57. package/dist/literal-sheet-loader.d.ts +4 -0
  58. package/dist/literal-sheet-loader.js +69 -0
  59. package/dist/literal-sheet-loader.js.map +1 -0
  60. package/dist/wasm-facade.d.ts +2 -0
  61. package/dist/wasm-facade.js +34 -5
  62. package/dist/wasm-facade.js.map +1 -1
  63. package/dist/workbook-store.d.ts +6 -0
  64. package/dist/workbook-store.js +48 -0
  65. package/dist/workbook-store.js.map +1 -1
  66. package/package.json +5 -5
@@ -0,0 +1,119 @@
1
+ import { ValueTag } from "@bilig/protocol";
2
+ function isFastSimpleCellOp(op) {
3
+ return (op.kind === "setCellValue" ||
4
+ op.kind === "setCellFormula" ||
5
+ op.kind === "clearCell" ||
6
+ op.kind === "setCellFormat");
7
+ }
8
+ function cloneSimpleCellOp(op) {
9
+ switch (op.kind) {
10
+ case "setCellValue":
11
+ return {
12
+ kind: "setCellValue",
13
+ sheetName: op.sheetName,
14
+ address: op.address,
15
+ value: op.value,
16
+ };
17
+ case "setCellFormula":
18
+ return {
19
+ kind: "setCellFormula",
20
+ sheetName: op.sheetName,
21
+ address: op.address,
22
+ formula: op.formula,
23
+ };
24
+ case "clearCell":
25
+ return {
26
+ kind: "clearCell",
27
+ sheetName: op.sheetName,
28
+ address: op.address,
29
+ };
30
+ case "setCellFormat":
31
+ return {
32
+ kind: "setCellFormat",
33
+ sheetName: op.sheetName,
34
+ address: op.address,
35
+ format: op.format,
36
+ };
37
+ }
38
+ }
39
+ function restoreCellOpFromSnapshot(workbook, getCellByIndex, sheetName, address) {
40
+ const cellIndex = workbook.getCellIndex(sheetName, address);
41
+ if (cellIndex === undefined) {
42
+ return { kind: "clearCell", sheetName, address };
43
+ }
44
+ const snapshot = getCellByIndex(cellIndex);
45
+ if (snapshot.formula !== undefined) {
46
+ return {
47
+ kind: "setCellFormula",
48
+ sheetName,
49
+ address,
50
+ formula: snapshot.formula,
51
+ };
52
+ }
53
+ switch (snapshot.value.tag) {
54
+ case ValueTag.Empty:
55
+ case ValueTag.Error:
56
+ return { kind: "clearCell", sheetName, address };
57
+ case ValueTag.Number:
58
+ case ValueTag.Boolean:
59
+ case ValueTag.String:
60
+ return {
61
+ kind: "setCellValue",
62
+ sheetName,
63
+ address,
64
+ value: snapshot.value.value,
65
+ };
66
+ }
67
+ }
68
+ function buildSimpleCellInverseOp(workbook, getCellByIndex, op) {
69
+ switch (op.kind) {
70
+ case "setCellValue":
71
+ case "setCellFormula":
72
+ case "clearCell":
73
+ return restoreCellOpFromSnapshot(workbook, getCellByIndex, op.sheetName, op.address);
74
+ case "setCellFormat": {
75
+ const cellIndex = workbook.getCellIndex(op.sheetName, op.address);
76
+ return {
77
+ kind: "setCellFormat",
78
+ sheetName: op.sheetName,
79
+ address: op.address,
80
+ format: cellIndex === undefined ? null : (workbook.getCellFormat(cellIndex) ?? null),
81
+ };
82
+ }
83
+ default:
84
+ return null;
85
+ }
86
+ }
87
+ export function tryBuildFastMutationHistory(args) {
88
+ const forwardOps = Array(args.ops.length);
89
+ for (let index = 0; index < args.ops.length; index += 1) {
90
+ const op = args.ops[index];
91
+ if (op === undefined || !isFastSimpleCellOp(op)) {
92
+ return null;
93
+ }
94
+ forwardOps[index] = cloneSimpleCellOp(op);
95
+ }
96
+ const inverseOps = [];
97
+ for (let index = forwardOps.length - 1; index >= 0; index -= 1) {
98
+ const op = forwardOps[index];
99
+ if (op === undefined) {
100
+ return null;
101
+ }
102
+ const inverse = buildSimpleCellInverseOp(args.workbook, args.getCellByIndex, op);
103
+ if (!inverse) {
104
+ return null;
105
+ }
106
+ inverseOps.push(inverse);
107
+ }
108
+ return {
109
+ forward: args.potentialNewCells === undefined
110
+ ? { ops: forwardOps }
111
+ : { ops: forwardOps, potentialNewCells: args.potentialNewCells },
112
+ inverse: {
113
+ ops: inverseOps,
114
+ potentialNewCells: args.ops.length,
115
+ },
116
+ undoOps: inverseOps.map((op) => cloneSimpleCellOp(op)),
117
+ };
118
+ }
119
+ //# sourceMappingURL=mutation-history-fast-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutation-history-fast-path.js","sourceRoot":"","sources":["../../../src/engine/services/mutation-history-fast-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAqB,MAAM,iBAAiB,CAAC;AA0B9D,SAAS,kBAAkB,CAAC,EAAY;IACtC,OAAO,CACL,EAAE,CAAC,IAAI,KAAK,cAAc;QAC1B,EAAE,CAAC,IAAI,KAAK,gBAAgB;QAC5B,EAAE,CAAC,IAAI,KAAK,WAAW;QACvB,EAAE,CAAC,IAAI,KAAK,eAAe,CAC5B,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,EAAoB;IAC7C,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,cAAc;YACjB,OAAO;gBACL,IAAI,EAAE,cAAc;gBACpB,SAAS,EAAE,EAAE,CAAC,SAAS;gBACvB,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnB,KAAK,EAAE,EAAE,CAAC,KAAK;aAChB,CAAC;QACJ,KAAK,gBAAgB;YACnB,OAAO;gBACL,IAAI,EAAE,gBAAgB;gBACtB,SAAS,EAAE,EAAE,CAAC,SAAS;gBACvB,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnB,OAAO,EAAE,EAAE,CAAC,OAAO;aACpB,CAAC;QACJ,KAAK,WAAW;YACd,OAAO;gBACL,IAAI,EAAE,WAAW;gBACjB,SAAS,EAAE,EAAE,CAAC,SAAS;gBACvB,OAAO,EAAE,EAAE,CAAC,OAAO;aACpB,CAAC;QACJ,KAAK,eAAe;YAClB,OAAO;gBACL,IAAI,EAAE,eAAe;gBACrB,SAAS,EAAE,EAAE,CAAC,SAAS;gBACvB,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnB,MAAM,EAAE,EAAE,CAAC,MAAM;aAClB,CAAC;IACN,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAChC,QAAuB,EACvB,cAAmD,EACnD,SAAiB,EACjB,OAAe;IAEf,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC5D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;IACnD,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,QAAQ,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO;YACL,IAAI,EAAE,gBAAgB;YACtB,SAAS;YACT,OAAO;YACP,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC1B,CAAC;IACJ,CAAC;IAED,QAAQ,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAC3B,KAAK,QAAQ,CAAC,KAAK,CAAC;QACpB,KAAK,QAAQ,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;QACnD,KAAK,QAAQ,CAAC,MAAM,CAAC;QACrB,KAAK,QAAQ,CAAC,OAAO,CAAC;QACtB,KAAK,QAAQ,CAAC,MAAM;YAClB,OAAO;gBACL,IAAI,EAAE,cAAc;gBACpB,SAAS;gBACT,OAAO;gBACP,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK;aAC5B,CAAC;IACN,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAC/B,QAAuB,EACvB,cAAmD,EACnD,EAAoB;IAEpB,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,cAAc,CAAC;QACpB,KAAK,gBAAgB,CAAC;QACtB,KAAK,WAAW;YACd,OAAO,yBAAyB,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;QACvF,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;YAClE,OAAO;gBACL,IAAI,EAAE,eAAe;gBACrB,SAAS,EAAE,EAAE,CAAC,SAAS;gBACvB,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnB,MAAM,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;aACrF,CAAC;QACJ,CAAC;QACD;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,IAA6B;IAE7B,MAAM,UAAU,GAAG,KAAK,CAAmB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACxD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,EAAE,KAAK,SAAS,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,UAAU,CAAC,KAAK,CAAC,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,UAAU,GAAuB,EAAE,CAAC;IAC1C,KAAK,IAAI,KAAK,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC/D,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,wBAAwB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACjF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO;QACL,OAAO,EACL,IAAI,CAAC,iBAAiB,KAAK,SAAS;YAClC,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE;YACrB,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE;QACpE,OAAO,EAAE;YACP,GAAG,EAAE,UAAU;YACf,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM;SACnC;QACD,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;KACvD,CAAC;AACJ,CAAC"}
@@ -1,15 +1,37 @@
1
1
  import { Effect } from "effect";
2
2
  import type { EngineOp, EngineOpBatch } from "@bilig/workbook-domain";
3
- import type { CellRangeRef, CellSnapshot, LiteralInput } from "@bilig/protocol";
4
- import type { WorkbookStore } from "../../workbook-store.js";
3
+ import { type CellRangeRef, type CellSnapshot, type LiteralInput } from "@bilig/protocol";
4
+ import { type WorkbookStore } from "../../workbook-store.js";
5
+ import { type EngineCellMutationRef } from "../../cell-mutations-at.js";
5
6
  import type { CommitOp, EngineRuntimeState, TransactionRecord } from "../runtime-state.js";
6
7
  import { EngineMutationError } from "../errors.js";
7
8
  export interface EngineMutationService {
9
+ readonly executeTransactionNow: (record: TransactionRecord, source: "local" | "restore" | "history") => void;
8
10
  readonly executeTransaction: (record: TransactionRecord, source: "local" | "restore" | "history") => Effect.Effect<void, EngineMutationError>;
11
+ readonly executeLocalNow: (ops: EngineOp[], potentialNewCells?: number) => readonly EngineOp[] | null;
12
+ readonly executeLocalCellMutationsAtNow: (refs: readonly EngineCellMutationRef[], potentialNewCells?: number) => readonly EngineOp[] | null;
13
+ readonly applyCellMutationsAtNow: (refs: readonly EngineCellMutationRef[], options?: {
14
+ captureUndo?: boolean;
15
+ potentialNewCells?: number;
16
+ source?: "local" | "restore";
17
+ }) => readonly EngineOp[] | null;
18
+ readonly applyCellMutationsAt: (refs: readonly EngineCellMutationRef[], options?: {
19
+ captureUndo?: boolean;
20
+ potentialNewCells?: number;
21
+ source?: "local" | "restore";
22
+ }) => Effect.Effect<readonly EngineOp[] | null, EngineMutationError>;
9
23
  readonly executeLocal: (ops: EngineOp[], potentialNewCells?: number) => Effect.Effect<readonly EngineOp[] | null, EngineMutationError>;
24
+ readonly applyOpsNow: (ops: readonly EngineOp[], options?: {
25
+ captureUndo?: boolean;
26
+ potentialNewCells?: number;
27
+ source?: "local" | "restore";
28
+ trusted?: boolean;
29
+ }) => readonly EngineOp[] | null;
10
30
  readonly applyOps: (ops: readonly EngineOp[], options?: {
11
31
  captureUndo?: boolean;
12
32
  potentialNewCells?: number;
33
+ source?: "local" | "restore";
34
+ trusted?: boolean;
13
35
  }) => Effect.Effect<readonly EngineOp[] | null, EngineMutationError>;
14
36
  readonly captureUndoOps: <Result>(mutate: () => Result) => Effect.Effect<{
15
37
  result: Result;
@@ -32,7 +54,9 @@ export declare function createEngineMutationService(args: {
32
54
  readonly captureRowRangeCellState: (sheetName: string, start: number, count: number) => EngineOp[];
33
55
  readonly captureColumnRangeCellState: (sheetName: string, start: number, count: number) => EngineOp[];
34
56
  readonly restoreCellOps: (sheetName: string, address: string) => EngineOp[];
57
+ readonly getCellByIndex: (cellIndex: number) => CellSnapshot;
35
58
  readonly readRangeCells: (range: CellRangeRef) => CellSnapshot[][];
36
59
  readonly toCellStateOps: (sheetName: string, address: string, snapshot: CellSnapshot, sourceSheetName?: string, sourceAddress?: string) => EngineOp[];
37
60
  readonly applyBatchNow: (batch: EngineOpBatch, source: "local" | "restore" | "history", potentialNewCells?: number) => void;
61
+ readonly applyCellMutationsAtBatchNow: (refs: readonly EngineCellMutationRef[], batch: EngineOpBatch, source: "local" | "restore", potentialNewCells?: number) => void;
38
62
  }): EngineMutationService;
@@ -1,12 +1,16 @@
1
1
  import { Effect } from "effect";
2
2
  import { formatAddress } from "@bilig/formula";
3
+ import { ValueTag } from "@bilig/protocol";
3
4
  import { normalizeRange } from "../../engine-range-utils.js";
4
5
  import { cloneCellStyleRecord } from "../../engine-style-utils.js";
5
6
  import { restoreFormatRangeOps, restoreStyleRangeOps } from "../../engine-range-format-ops.js";
6
7
  import { sheetMetadataToOps } from "../../engine-snapshot-utils.js";
7
8
  import { parseCsv, parseCsvCellInput } from "../../csv.js";
8
9
  import { createBatch } from "../../replica-state.js";
10
+ import { makeCellKey } from "../../workbook-store.js";
11
+ import { cellMutationRefToEngineOp, cloneCellMutationRef, countPotentialNewCellsForMutationRefs, } from "../../cell-mutations-at.js";
9
12
  import { EngineMutationError } from "../errors.js";
13
+ import { tryBuildFastMutationHistory, } from "./mutation-history-fast-path.js";
10
14
  function mutationErrorMessage(message, cause) {
11
15
  return cause instanceof Error && cause.message.length > 0 ? cause.message : message;
12
16
  }
@@ -22,6 +26,56 @@ function getMatrixCell(matrix, rowIndex, colIndex) {
22
26
  return cell;
23
27
  }
24
28
  export function createEngineMutationService(args) {
29
+ const restoreCellOpFromRef = (ref) => {
30
+ const sheet = args.state.workbook.getSheetById(ref.sheetId);
31
+ if (!sheet) {
32
+ throw new Error(`Unknown sheet id: ${ref.sheetId}`);
33
+ }
34
+ const address = formatAddress(ref.mutation.row, ref.mutation.col);
35
+ const cellIndex = args.state.workbook.cellKeyToIndex.get(makeCellKey(ref.sheetId, ref.mutation.row, ref.mutation.col));
36
+ if (cellIndex === undefined) {
37
+ return { kind: "clearCell", sheetName: sheet.name, address };
38
+ }
39
+ const snapshot = args.getCellByIndex(cellIndex);
40
+ if (snapshot.formula !== undefined) {
41
+ return {
42
+ kind: "setCellFormula",
43
+ sheetName: sheet.name,
44
+ address,
45
+ formula: snapshot.formula,
46
+ };
47
+ }
48
+ switch (snapshot.value.tag) {
49
+ case ValueTag.Empty:
50
+ case ValueTag.Error:
51
+ return { kind: "clearCell", sheetName: sheet.name, address };
52
+ case ValueTag.Number:
53
+ case ValueTag.Boolean:
54
+ case ValueTag.String:
55
+ return {
56
+ kind: "setCellValue",
57
+ sheetName: sheet.name,
58
+ address,
59
+ value: snapshot.value.value,
60
+ };
61
+ }
62
+ };
63
+ const buildFastMutationHistoryFromRefs = (refs, potentialNewCells) => {
64
+ const forwardOps = Array.from({ length: refs.length });
65
+ for (let index = 0; index < refs.length; index += 1) {
66
+ const ref = refs[index];
67
+ forwardOps[index] = cellMutationRefToEngineOp(args.state.workbook, ref);
68
+ }
69
+ const inverseOps = [];
70
+ for (let index = refs.length - 1; index >= 0; index -= 1) {
71
+ inverseOps.push(restoreCellOpFromRef(refs[index]));
72
+ }
73
+ return {
74
+ forward: { ops: forwardOps, potentialNewCells },
75
+ inverse: { ops: inverseOps, potentialNewCells: refs.length },
76
+ undoOps: structuredClone(inverseOps),
77
+ };
78
+ };
25
79
  const inverseOpsFor = (op) => {
26
80
  switch (op.kind) {
27
81
  case "upsertWorkbook":
@@ -32,7 +86,10 @@ export function createEngineMutationService(args) {
32
86
  }
33
87
  case "setCalculationSettings":
34
88
  return [
35
- { kind: "setCalculationSettings", settings: args.state.workbook.getCalculationSettings() },
89
+ {
90
+ kind: "setCalculationSettings",
91
+ settings: args.state.workbook.getCalculationSettings(),
92
+ },
36
93
  ];
37
94
  case "setVolatileContext":
38
95
  return [{ kind: "setVolatileContext", context: args.state.workbook.getVolatileContext() }];
@@ -454,7 +511,47 @@ export function createEngineMutationService(args) {
454
511
  const batch = createBatch(args.state.replicaState, record.ops);
455
512
  args.applyBatchNow(batch, source, record.potentialNewCells);
456
513
  };
514
+ const executeLocalCellMutationsAtNow = (refs, potentialNewCells) => {
515
+ if (refs.length === 0) {
516
+ return null;
517
+ }
518
+ const nextRefs = refs.map((ref) => cloneCellMutationRef(ref));
519
+ const nextPotentialNewCells = potentialNewCells ?? countPotentialNewCellsForMutationRefs(nextRefs);
520
+ const fastHistory = buildFastMutationHistoryFromRefs(nextRefs, nextPotentialNewCells);
521
+ const inverse = fastHistory?.inverse ?? {
522
+ ops: buildInverseOps(fastHistory.forward.ops),
523
+ potentialNewCells: fastHistory.forward.ops.length,
524
+ };
525
+ args.applyCellMutationsAtBatchNow(nextRefs, createBatch(args.state.replicaState, fastHistory.forward.ops), "local", nextPotentialNewCells);
526
+ if (args.state.getTransactionReplayDepth() === 0) {
527
+ args.state.undoStack.push({
528
+ forward: fastHistory?.forward ?? {
529
+ ops: canonicalizeForwardOps(fastHistory.forward.ops),
530
+ potentialNewCells: nextPotentialNewCells,
531
+ },
532
+ inverse,
533
+ });
534
+ args.state.redoStack.length = 0;
535
+ }
536
+ return fastHistory?.undoOps ?? structuredClone(inverse.ops);
537
+ };
538
+ const applyCellMutationsAtNow = (refs, options = {}) => {
539
+ const source = options.source ?? "restore";
540
+ const captureUndo = options.captureUndo ?? source === "local";
541
+ if (captureUndo) {
542
+ return executeLocalCellMutationsAtNow(refs, options.potentialNewCells);
543
+ }
544
+ if (refs.length === 0) {
545
+ return null;
546
+ }
547
+ const nextRefs = refs.map((ref) => cloneCellMutationRef(ref));
548
+ const nextPotentialNewCells = options.potentialNewCells ?? countPotentialNewCellsForMutationRefs(nextRefs);
549
+ const forwardOps = nextRefs.map((ref) => cellMutationRefToEngineOp(args.state.workbook, ref));
550
+ args.applyCellMutationsAtBatchNow(nextRefs, createBatch(args.state.replicaState, forwardOps), source, nextPotentialNewCells);
551
+ return null;
552
+ };
457
553
  return {
554
+ executeTransactionNow: executeTransactionNow,
458
555
  executeTransaction(record, source) {
459
556
  return Effect.try({
460
557
  try: () => {
@@ -466,49 +563,80 @@ export function createEngineMutationService(args) {
466
563
  }),
467
564
  });
468
565
  },
566
+ executeLocalNow(ops, potentialNewCells) {
567
+ if (ops.length === 0) {
568
+ return null;
569
+ }
570
+ const forward = potentialNewCells === undefined ? { ops } : { ops, potentialNewCells };
571
+ const fastHistory = tryBuildFastMutationHistory(potentialNewCells === undefined
572
+ ? {
573
+ workbook: args.state.workbook,
574
+ getCellByIndex: args.getCellByIndex,
575
+ ops,
576
+ }
577
+ : {
578
+ workbook: args.state.workbook,
579
+ getCellByIndex: args.getCellByIndex,
580
+ ops,
581
+ potentialNewCells,
582
+ });
583
+ const inverse = fastHistory?.inverse ?? {
584
+ ops: buildInverseOps(ops),
585
+ potentialNewCells: ops.length,
586
+ };
587
+ executeTransactionNow(forward, "local");
588
+ if (args.state.getTransactionReplayDepth() === 0) {
589
+ args.state.undoStack.push({
590
+ forward: fastHistory?.forward ??
591
+ (potentialNewCells === undefined
592
+ ? { ops: canonicalizeForwardOps(ops) }
593
+ : { ops: canonicalizeForwardOps(ops), potentialNewCells }),
594
+ inverse,
595
+ });
596
+ args.state.redoStack.length = 0;
597
+ }
598
+ return fastHistory?.undoOps ?? structuredClone(inverse.ops);
599
+ },
600
+ executeLocalCellMutationsAtNow(refs, potentialNewCells) {
601
+ return executeLocalCellMutationsAtNow(refs, potentialNewCells);
602
+ },
603
+ applyCellMutationsAtNow(refs, options = {}) {
604
+ return applyCellMutationsAtNow(refs, options);
605
+ },
606
+ applyCellMutationsAt(refs, options = {}) {
607
+ return Effect.try({
608
+ try: () => applyCellMutationsAtNow(refs, options),
609
+ catch: (cause) => new EngineMutationError({
610
+ message: "Failed to apply cell mutations",
611
+ cause,
612
+ }),
613
+ });
614
+ },
469
615
  executeLocal(ops, potentialNewCells) {
470
616
  return Effect.try({
471
- try: () => {
472
- if (ops.length === 0) {
473
- return null;
474
- }
475
- const forward = potentialNewCells === undefined ? { ops } : { ops, potentialNewCells };
476
- const inverse = {
477
- ops: buildInverseOps(ops),
478
- potentialNewCells: ops.length,
479
- };
480
- executeTransactionNow(forward, "local");
481
- if (args.state.getTransactionReplayDepth() === 0) {
482
- const historyForwardOps = canonicalizeForwardOps(ops);
483
- const historyForward = potentialNewCells === undefined
484
- ? { ops: historyForwardOps }
485
- : { ops: historyForwardOps, potentialNewCells };
486
- args.state.undoStack.push({ forward: historyForward, inverse });
487
- args.state.redoStack.length = 0;
488
- }
489
- return structuredClone(inverse.ops);
490
- },
617
+ try: () => this.executeLocalNow(ops, potentialNewCells),
491
618
  catch: (cause) => new EngineMutationError({
492
619
  message: "Failed to execute local transaction",
493
620
  cause,
494
621
  }),
495
622
  });
496
623
  },
624
+ applyOpsNow(ops, options = {}) {
625
+ const nextOps = options.trusted ? Array.from(ops) : structuredClone([...ops]);
626
+ if (nextOps.length === 0) {
627
+ return null;
628
+ }
629
+ if (options.captureUndo) {
630
+ return this.executeLocalNow(nextOps, options.potentialNewCells);
631
+ }
632
+ executeTransactionNow(options.potentialNewCells === undefined
633
+ ? { ops: nextOps }
634
+ : { ops: nextOps, potentialNewCells: options.potentialNewCells }, options.source ?? "restore");
635
+ return null;
636
+ },
497
637
  applyOps(ops, options = {}) {
498
638
  return Effect.try({
499
- try: () => {
500
- const nextOps = structuredClone([...ops]);
501
- if (nextOps.length === 0) {
502
- return null;
503
- }
504
- if (options.captureUndo) {
505
- return Effect.runSync(this.executeLocal(nextOps, options.potentialNewCells));
506
- }
507
- executeTransactionNow(options.potentialNewCells === undefined
508
- ? { ops: nextOps }
509
- : { ops: nextOps, potentialNewCells: options.potentialNewCells }, "restore");
510
- return null;
511
- },
639
+ try: () => this.applyOpsNow(ops, options),
512
640
  catch: (cause) => new EngineMutationError({
513
641
  message: "Failed to apply engine operations",
514
642
  cause,
@@ -546,7 +674,8 @@ export function createEngineMutationService(args) {
546
674
  const bounds = normalizeRange(range);
547
675
  const expectedHeight = bounds.endRow - bounds.startRow + 1;
548
676
  const expectedWidth = bounds.endCol - bounds.startCol + 1;
549
- if (values.length !== expectedHeight || values.some((row) => row.length !== expectedWidth)) {
677
+ if (values.length !== expectedHeight ||
678
+ values.some((row) => row.length !== expectedWidth)) {
550
679
  throw new Error("setRangeValues requires a value matrix that exactly matches the target range");
551
680
  }
552
681
  const opCount = expectedHeight * expectedWidth;
@@ -823,7 +952,11 @@ export function createEngineMutationService(args) {
823
952
  break;
824
953
  case "deleteCell":
825
954
  if (op.sheetName && op.addr) {
826
- engineOps.push({ kind: "clearCell", sheetName: op.sheetName, address: op.addr });
955
+ engineOps.push({
956
+ kind: "clearCell",
957
+ sheetName: op.sheetName,
958
+ address: op.addr,
959
+ });
827
960
  engineOps.push({
828
961
  kind: "setCellFormat",
829
962
  sheetName: op.sheetName,
@@ -1 +1 @@
1
- {"version":3,"file":"mutation-service.js","sourceRoot":"","sources":["../../../src/engine/services/mutation-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mutation-service.js","sourceRoot":"","sources":["../../../src/engine/services/mutation-service.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,33 @@ export interface EngineMutationSupportService {
35
35
  }, EngineMutationError>;
36
36
  readonly syncDynamicRanges: (formulaChangedCount: number) => Effect.Effect<number, EngineMutationError>;
37
37
  readonly resetMaterializedCellScratch: (expectedSize: number) => Effect.Effect<void, EngineMutationError>;
38
+ readonly beginMutationCollectionNow: () => void;
39
+ readonly markInputChangedNow: (cellIndex: number, count: number) => number;
40
+ readonly markFormulaChangedNow: (cellIndex: number, count: number) => number;
41
+ readonly markVolatileFormulasChangedNow: (count: number) => number;
42
+ readonly markSpillRootsChangedNow: (cellIndices: readonly number[], count: number) => number;
43
+ readonly markPivotRootsChangedNow: (cellIndices: readonly number[], count: number) => number;
44
+ readonly markExplicitChangedNow: (cellIndex: number, count: number) => number;
45
+ readonly composeMutationRootsNow: (changedInputCount: number, formulaChangedCount: number) => U32;
46
+ readonly composeEventChangesNow: (recalculated: U32, explicitChangedCount: number) => U32;
47
+ readonly unionChangedSetsNow: (...sets: Array<readonly number[] | U32>) => U32;
48
+ readonly composeChangedRootsAndOrderedNow: (changedRoots: readonly number[] | U32, ordered: U32, orderedCount: number) => U32;
49
+ readonly getChangedInputBufferNow: () => U32;
50
+ readonly ensureCellTrackedNow: (sheetName: string, address: string) => number;
51
+ readonly ensureCellTrackedByCoordsNow: (sheetId: number, row: number, col: number) => number;
52
+ readonly clearOwnedSpillNow: (cellIndex: number) => number[];
53
+ readonly materializeSpillNow: (cellIndex: number, arrayValue: {
54
+ values: CellValue[];
55
+ rows: number;
56
+ cols: number;
57
+ }) => SpillMaterialization;
58
+ readonly removeSheetRuntimeNow: (sheetName: string, explicitChangedCount: number) => {
59
+ changedInputCount: number;
60
+ formulaChangedCount: number;
61
+ explicitChangedCount: number;
62
+ };
63
+ readonly syncDynamicRangesNow: (formulaChangedCount: number) => number;
64
+ readonly resetMaterializedCellScratchNow: (expectedSize: number) => void;
38
65
  }
39
66
  export declare function createEngineMutationSupportService(args: {
40
67
  readonly state: Pick<EngineRuntimeState, "workbook" | "strings" | "formulas" | "ranges">;