@bilig/core 0.1.27 → 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,26 @@
1
+ import type { LiteralInput } from "@bilig/protocol";
2
+ import type { EngineOp } from "@bilig/workbook-domain";
3
+ import type { WorkbookStore } from "./workbook-store.js";
4
+ export type EngineCellMutationAt = {
5
+ kind: "setCellValue";
6
+ row: number;
7
+ col: number;
8
+ value: LiteralInput;
9
+ } | {
10
+ kind: "setCellFormula";
11
+ row: number;
12
+ col: number;
13
+ formula: string;
14
+ } | {
15
+ kind: "clearCell";
16
+ row: number;
17
+ col: number;
18
+ };
19
+ export interface EngineCellMutationRef {
20
+ sheetId: number;
21
+ mutation: EngineCellMutationAt;
22
+ }
23
+ export declare function cloneCellMutationAt(mutation: EngineCellMutationAt): EngineCellMutationAt;
24
+ export declare function cloneCellMutationRef(ref: EngineCellMutationRef): EngineCellMutationRef;
25
+ export declare function cellMutationRefToEngineOp(workbook: Pick<WorkbookStore, "getSheetById">, ref: EngineCellMutationRef): EngineOp;
26
+ export declare function countPotentialNewCellsForMutationRefs(refs: readonly EngineCellMutationRef[]): number;
@@ -0,0 +1,70 @@
1
+ import { formatAddress } from "@bilig/formula";
2
+ export function cloneCellMutationAt(mutation) {
3
+ switch (mutation.kind) {
4
+ case "setCellValue":
5
+ return {
6
+ kind: "setCellValue",
7
+ row: mutation.row,
8
+ col: mutation.col,
9
+ value: mutation.value,
10
+ };
11
+ case "setCellFormula":
12
+ return {
13
+ kind: "setCellFormula",
14
+ row: mutation.row,
15
+ col: mutation.col,
16
+ formula: mutation.formula,
17
+ };
18
+ case "clearCell":
19
+ return {
20
+ kind: "clearCell",
21
+ row: mutation.row,
22
+ col: mutation.col,
23
+ };
24
+ }
25
+ }
26
+ export function cloneCellMutationRef(ref) {
27
+ return {
28
+ sheetId: ref.sheetId,
29
+ mutation: cloneCellMutationAt(ref.mutation),
30
+ };
31
+ }
32
+ export function cellMutationRefToEngineOp(workbook, ref) {
33
+ const sheet = workbook.getSheetById(ref.sheetId);
34
+ if (!sheet) {
35
+ throw new Error(`Unknown sheet id: ${ref.sheetId}`);
36
+ }
37
+ const address = formatAddress(ref.mutation.row, ref.mutation.col);
38
+ switch (ref.mutation.kind) {
39
+ case "setCellValue":
40
+ return {
41
+ kind: "setCellValue",
42
+ sheetName: sheet.name,
43
+ address,
44
+ value: ref.mutation.value,
45
+ };
46
+ case "setCellFormula":
47
+ return {
48
+ kind: "setCellFormula",
49
+ sheetName: sheet.name,
50
+ address,
51
+ formula: ref.mutation.formula,
52
+ };
53
+ case "clearCell":
54
+ return {
55
+ kind: "clearCell",
56
+ sheetName: sheet.name,
57
+ address,
58
+ };
59
+ }
60
+ }
61
+ export function countPotentialNewCellsForMutationRefs(refs) {
62
+ let count = 0;
63
+ for (let index = 0; index < refs.length; index += 1) {
64
+ if (refs[index]?.mutation.kind !== "clearCell") {
65
+ count += 1;
66
+ }
67
+ }
68
+ return count;
69
+ }
70
+ //# sourceMappingURL=cell-mutations-at.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cell-mutations-at.js","sourceRoot":"","sources":["../src/cell-mutations-at.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAe/C,MAAM,UAAU,mBAAmB,CAAC,QAA8B;IAChE,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,cAAc;YACjB,OAAO;gBACL,IAAI,EAAE,cAAc;gBACpB,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,KAAK,EAAE,QAAQ,CAAC,KAAK;aACtB,CAAC;QACJ,KAAK,gBAAgB;YACnB,OAAO;gBACL,IAAI,EAAE,gBAAgB;gBACtB,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,OAAO,EAAE,QAAQ,CAAC,OAAO;aAC1B,CAAC;QACJ,KAAK,WAAW;YACd,OAAO;gBACL,IAAI,EAAE,WAAW;gBACjB,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,GAAG,EAAE,QAAQ,CAAC,GAAG;aAClB,CAAC;IACN,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAA0B;IAC7D,OAAO;QACL,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,QAAQ,EAAE,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,QAA6C,EAC7C,GAA0B;IAE1B,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAClE,QAAQ,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC1B,KAAK,cAAc;YACjB,OAAO;gBACL,IAAI,EAAE,cAAc;gBACpB,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,OAAO;gBACP,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK;aAC1B,CAAC;QACJ,KAAK,gBAAgB;YACnB,OAAO;gBACL,IAAI,EAAE,gBAAgB;gBACtB,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,OAAO;gBACP,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO;aAC9B,CAAC;QACJ,KAAK,WAAW;YACd,OAAO;gBACL,IAAI,EAAE,WAAW;gBACjB,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,OAAO;aACR,CAAC;IACN,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qCAAqC,CACnD,IAAsC;IAEtC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC/C,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -12,6 +12,7 @@ export declare const enum CellFlags {
12
12
  export declare class CellStore {
13
13
  size: number;
14
14
  capacity: number;
15
+ onSetValue: ((index: number) => void) | null;
15
16
  tags: Uint8Array;
16
17
  numbers: Float64Array;
17
18
  stringIds: Uint32Array;
@@ -2,6 +2,7 @@ import { ErrorCode, ValueTag } from "@bilig/protocol";
2
2
  export class CellStore {
3
3
  size = 0;
4
4
  capacity;
5
+ onSetValue = null;
5
6
  tags;
6
7
  numbers;
7
8
  stringIds;
@@ -92,6 +93,7 @@ export class CellStore {
92
93
  : 0
93
94
  : 0;
94
95
  this.versions[index] = (this.versions[index] ?? 0) + 1;
96
+ this.onSetValue?.(index);
95
97
  }
96
98
  getValue(index, stringLookup) {
97
99
  const rawTag = this.tags[index];
@@ -1 +1 @@
1
- {"version":3,"file":"cell-store.js","sourceRoot":"","sources":["../src/cell-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cell-store.js","sourceRoot":"","sources":["../src/cell-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AActD,MAAM,OAAO,SAAS;IACpB,IAAI,GAAG,CAAC,CAAC;IACT,QAAQ,CAAS;IACjB,UAAU,GAAqC,IAAI,CAAC;IACpD,IAAI,CAAa;IACjB,OAAO,CAAe;IACtB,SAAS,CAAc;IACvB,MAAM,CAAc;IACpB,UAAU,CAAc;IACxB,QAAQ,CAAc;IACtB,KAAK,CAAc;IACnB,QAAQ,CAAc;IACtB,IAAI,CAAc;IAClB,IAAI,CAAc;IAClB,SAAS,CAAc;IACvB,aAAa,CAAa;IAE1B,YAAY,eAAe,GAAG,EAAE;QAC9B,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC,eAAe,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,IAAI,WAAW,CAAC,eAAe,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,GAAG,IAAI,WAAW,CAAC,eAAe,CAAC,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,IAAI,WAAW,CAAC,eAAe,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,GAAG,IAAI,WAAW,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,CAAC,eAAe,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,WAAW,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,eAAe,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAC,eAAe,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,IAAI,WAAW,CAAC,eAAe,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,IAAI,UAAU,CAAC,eAAe,CAAC,CAAC;QACrD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,cAAc,CAAC,QAAgB;QAC7B,IAAI,QAAQ,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtC,IAAI,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,OAAO,YAAY,GAAG,QAAQ;YAAE,YAAY,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QACzD,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;IAC/B,CAAC;IAED,QAAQ,CAAC,OAAe,EAAE,GAAW,EAAE,GAAW;QAChD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QACf,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,kCAAyB,CAAC;QAC3C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,KAAgB,EAAE,QAAQ,GAAG,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;QAChF,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YACjB,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,MAAM;gBAC3B,CAAC,CAAC,KAAK,CAAC,KAAK;gBACb,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,OAAO;oBAC9B,CAAC,CAAC,KAAK,CAAC,KAAK;wBACX,CAAC,CAAC,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC,CAAC;QACV,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,QAAQ,CAAC,KAAa,EAAE,YAAoC;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC1E,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjC,CAAC;QACD,OAAO,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IAC9C,CAAC;CACF;AAED,MAAM,YAAY,GAEd,EAAE,CAAC;AAEP,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;AAC/D,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IACjD,GAAG,EAAE,QAAQ,CAAC,MAAM;IACpB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAE;CAC7B,CAAC,CAAC;AACH,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAClD,GAAG,EAAE,QAAQ,CAAC,OAAO;IACrB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAE,KAAK,CAAC;CACnC,CAAC,CAAC;AACH,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;IAC/D,GAAG,EAAE,QAAQ,CAAC,MAAM;IACpB,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAE,CAAC;IAC5C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAE;CAClC,CAAC,CAAC;AACH,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAChD,GAAG,EAAE,QAAQ,CAAC,KAAK;IACnB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAE;CAC3B,CAAC,CAAC;AAOH,SAAS,IAAI,CACX,MAA0E,EAC1E,QAAgB;IAEhB,IAAI,MAAM,YAAY,UAAU,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,MAAM,YAAY,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,MAAM,YAAY,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,MAAM,YAAY,UAAU,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjB,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -40,7 +40,7 @@ export interface EngineServiceRuntime {
40
40
  readonly sync: EngineReplicaSyncService;
41
41
  }
42
42
  type EngineMutationSupportRuntimeConfig = Omit<Parameters<typeof createEngineMutationSupportService>[0], "removeFormula" | "rebindFormulasForSheet" | "applyDerivedOp" | "scheduleWasmProgramSync" | "collectFormulaDependents" | "ensureRecalcScratchCapacity" | "getChangedInputEpoch" | "setChangedInputEpoch" | "getChangedInputSeen" | "setChangedInputSeen" | "getChangedInputBuffer" | "setChangedInputBuffer" | "getChangedFormulaEpoch" | "setChangedFormulaEpoch" | "getChangedFormulaSeen" | "setChangedFormulaSeen" | "getChangedFormulaBuffer" | "setChangedFormulaBuffer" | "getChangedUnionEpoch" | "setChangedUnionEpoch" | "getChangedUnionSeen" | "setChangedUnionSeen" | "getChangedUnion" | "setChangedUnion" | "getMutationRoots" | "setMutationRoots" | "getMaterializedCellCount" | "setMaterializedCellCount" | "getMaterializedCells" | "setMaterializedCells" | "getExplicitChangedEpoch" | "setExplicitChangedEpoch" | "getExplicitChangedSeen" | "setExplicitChangedSeen" | "getExplicitChangedBuffer" | "setExplicitChangedBuffer" | "getImpactedFormulaEpoch" | "setImpactedFormulaEpoch" | "getImpactedFormulaSeen" | "setImpactedFormulaSeen" | "getImpactedFormulaBuffer" | "setImpactedFormulaBuffer">;
43
- type EngineFormulaBindingRuntimeConfig = Omit<Parameters<typeof createEngineFormulaBindingService>[0], "ensureCellTracked" | "ensureCellTrackedByCoords" | "markFormulaChanged" | "forEachSheetCell" | "resolveStructuredReference" | "resolveSpillReference" | "scheduleWasmProgramSync">;
43
+ type EngineFormulaBindingRuntimeConfig = Omit<Parameters<typeof createEngineFormulaBindingService>[0], "ensureCellTracked" | "ensureCellTrackedByCoords" | "markFormulaChanged" | "forEachSheetCell" | "lookup" | "resolveStructuredReference" | "resolveSpillReference" | "scheduleWasmProgramSync">;
44
44
  type EngineFormulaGraphRuntimeConfig = Omit<Parameters<typeof createEngineFormulaGraphService>[0], "forEachFormulaDependencyCell" | "collectFormulaDependents">;
45
45
  type EngineRecalcRuntimeConfig = Omit<Parameters<typeof createEngineRecalcService>[0], "beginMutationCollection" | "markInputChanged" | "markFormulaChanged" | "markExplicitChanged" | "composeMutationRoots" | "composeEventChanges" | "unionChangedSets" | "composeChangedRootsAndOrdered" | "emptyChangedSet" | "ensureRecalcScratchCapacity" | "getPendingKernelSync" | "getWasmBatch" | "getChangedInputBuffer" | "getEntityDependents" | "materializeSpill" | "clearOwnedSpill" | "evaluateUnsupportedFormula" | "materializePivot">;
46
46
  type EngineMaintenanceRuntimeConfig = Omit<Parameters<typeof createEngineMaintenanceService>[0], "captureSheetCellState" | "captureRowRangeCellState" | "captureColumnRangeCellState" | "setMaterializedCellCount" | "scheduleWasmProgramSync">;
@@ -2,6 +2,7 @@ import { Effect, Exit, Cause } from "effect";
2
2
  import { createEngineCellStateService, } from "./services/cell-state-service.js";
3
3
  import { createEngineEventService } from "./services/event-service.js";
4
4
  import { createEngineFormulaEvaluationService, } from "./services/formula-evaluation-service.js";
5
+ import { createEngineLookupService } from "./services/lookup-service.js";
5
6
  import { createEngineFormulaBindingService, } from "./services/formula-binding-service.js";
6
7
  import { createEngineFormulaGraphService, } from "./services/formula-graph-service.js";
7
8
  import { createEngineHistoryService, } from "./services/history-service.js";
@@ -27,6 +28,7 @@ function requireService(service, name) {
27
28
  export function createEngineServiceRuntime(args) {
28
29
  const scratch = createEngineRuntimeScratchService();
29
30
  const traversal = createEngineTraversalService(args.traversal);
31
+ const lookup = createEngineLookupService({ state: args.state });
30
32
  const graph = createEngineFormulaGraphService({
31
33
  ...args.formulaGraph,
32
34
  forEachFormulaDependencyCell: (cellIndex, fn) => traversal.forEachFormulaDependencyCellNow(cellIndex, fn),
@@ -120,19 +122,21 @@ export function createEngineServiceRuntime(args) {
120
122
  });
121
123
  const evaluation = createEngineFormulaEvaluationService({
122
124
  state: args.state,
123
- materializeSpill: (cellIndex, arrayValue) => runEngineEffect(support.materializeSpill(cellIndex, arrayValue)),
124
- clearOwnedSpill: (cellIndex) => runEngineEffect(support.clearOwnedSpill(cellIndex)),
125
+ lookup,
126
+ materializeSpill: (cellIndex, arrayValue) => support.materializeSpillNow(cellIndex, arrayValue),
127
+ clearOwnedSpill: (cellIndex) => support.clearOwnedSpillNow(cellIndex),
125
128
  resolvePivotData: (sheetName, address, dataField, filters) => runEngineEffect(requireService(pivot, "pivot").resolvePivotData(sheetName, address, dataField, filters)),
126
129
  });
127
130
  binding = createEngineFormulaBindingService({
128
131
  ...args.formulaBinding,
129
- ensureCellTracked: (sheetName, address) => runEngineEffect(support.ensureCellTracked(sheetName, address)),
130
- ensureCellTrackedByCoords: (sheetId, row, col) => runEngineEffect(support.ensureCellTrackedByCoords(sheetId, row, col)),
131
- markFormulaChanged: (cellIndex, count) => runEngineEffect(support.markFormulaChanged(cellIndex, count)),
132
+ lookup,
133
+ ensureCellTracked: (sheetName, address) => support.ensureCellTrackedNow(sheetName, address),
134
+ ensureCellTrackedByCoords: (sheetId, row, col) => support.ensureCellTrackedByCoordsNow(sheetId, row, col),
135
+ markFormulaChanged: (cellIndex, count) => support.markFormulaChangedNow(cellIndex, count),
132
136
  resolveStructuredReference: (tableName, columnName) => runEngineEffect(evaluation.resolveStructuredReference(tableName, columnName)),
133
137
  resolveSpillReference: (currentSheetName, sheetName, address) => runEngineEffect(evaluation.resolveSpillReference(currentSheetName, sheetName, address)),
134
138
  forEachSheetCell: (sheetId, fn) => traversal.forEachSheetCellNow(sheetId, fn),
135
- scheduleWasmProgramSync: () => runEngineEffect(graph.scheduleWasmProgramSync()),
139
+ scheduleWasmProgramSync: () => graph.scheduleWasmProgramSyncNow(),
136
140
  });
137
141
  const read = createEngineReadService({
138
142
  state: args.state,
@@ -152,9 +156,9 @@ export function createEngineServiceRuntime(args) {
152
156
  formulas: args.state.formulas,
153
157
  pivotOutputOwners: args.pivotState.pivotOutputOwners,
154
158
  },
155
- captureStoredCellOps: (cellIndex, sheetName, address, sourceSheetName, sourceAddress) => runEngineEffect(cellState.captureStoredCellOps(cellIndex, sheetName, address, sourceSheetName, sourceAddress)),
156
- removeFormula: (cellIndex) => runEngineEffect(binding.clearFormula(cellIndex)),
157
- clearOwnedPivot: (pivotRecord) => runEngineEffect(requireService(pivot, "pivot").clearOwnedPivot(pivotRecord)),
159
+ captureStoredCellOps: (cellIndex, sheetName, address, sourceSheetName, sourceAddress) => cellState.captureStoredCellOpsNow(cellIndex, sheetName, address, sourceSheetName, sourceAddress),
160
+ removeFormula: (cellIndex) => binding.clearFormulaNow(cellIndex),
161
+ clearOwnedPivot: (pivotRecord) => requireService(pivot, "pivot").clearOwnedPivotNow(pivotRecord),
158
162
  rebuildAllFormulaBindings: () => runEngineEffect(binding.rebuildAllFormulaBindings()),
159
163
  });
160
164
  const maintenance = createEngineMaintenanceService({
@@ -172,23 +176,23 @@ export function createEngineServiceRuntime(args) {
172
176
  });
173
177
  recalc = createEngineRecalcService({
174
178
  ...args.recalc,
175
- beginMutationCollection: () => runEngineEffect(support.beginMutationCollection()),
176
- markInputChanged: (cellIndex, count) => runEngineEffect(support.markInputChanged(cellIndex, count)),
177
- markFormulaChanged: (cellIndex, count) => runEngineEffect(support.markFormulaChanged(cellIndex, count)),
178
- markExplicitChanged: (cellIndex, count) => runEngineEffect(support.markExplicitChanged(cellIndex, count)),
179
- composeMutationRoots: (changedInputCount, formulaChangedCount) => runEngineEffect(support.composeMutationRoots(changedInputCount, formulaChangedCount)),
180
- composeEventChanges: (recalculated, explicitChangedCount) => runEngineEffect(support.composeEventChanges(recalculated, explicitChangedCount)),
181
- unionChangedSets: (...sets) => runEngineEffect(support.unionChangedSets(...sets)),
182
- composeChangedRootsAndOrdered: (changedRoots, ordered, orderedCount) => runEngineEffect(support.composeChangedRootsAndOrdered(changedRoots, ordered, orderedCount)),
183
- emptyChangedSet: () => runEngineEffect(support.unionChangedSets()),
184
- ensureRecalcScratchCapacity: (size) => runEngineEffect(scratch.ensureRecalcCapacity(size)),
179
+ beginMutationCollection: () => support.beginMutationCollectionNow(),
180
+ markInputChanged: (cellIndex, count) => support.markInputChangedNow(cellIndex, count),
181
+ markFormulaChanged: (cellIndex, count) => support.markFormulaChangedNow(cellIndex, count),
182
+ markExplicitChanged: (cellIndex, count) => support.markExplicitChangedNow(cellIndex, count),
183
+ composeMutationRoots: (changedInputCount, formulaChangedCount) => support.composeMutationRootsNow(changedInputCount, formulaChangedCount),
184
+ composeEventChanges: (recalculated, explicitChangedCount) => support.composeEventChangesNow(recalculated, explicitChangedCount),
185
+ unionChangedSets: (...sets) => support.unionChangedSetsNow(...sets),
186
+ composeChangedRootsAndOrdered: (changedRoots, ordered, orderedCount) => support.composeChangedRootsAndOrderedNow(changedRoots, ordered, orderedCount),
187
+ emptyChangedSet: () => support.unionChangedSetsNow(),
188
+ ensureRecalcScratchCapacity: (size) => scratch.ensureRecalcCapacityNow(size),
185
189
  getPendingKernelSync: () => scratch.getPendingKernelSyncNow(),
186
190
  getWasmBatch: () => scratch.getWasmBatchNow(),
187
- getChangedInputBuffer: () => runEngineEffect(support.getChangedInputBuffer()),
188
- materializeSpill: (cellIndex, arrayValue) => runEngineEffect(support.materializeSpill(cellIndex, arrayValue)),
189
- clearOwnedSpill: (cellIndex) => runEngineEffect(support.clearOwnedSpill(cellIndex)),
191
+ getChangedInputBuffer: () => support.getChangedInputBufferNow(),
192
+ materializeSpill: (cellIndex, arrayValue) => support.materializeSpillNow(cellIndex, arrayValue),
193
+ clearOwnedSpill: (cellIndex) => support.clearOwnedSpillNow(cellIndex),
190
194
  evaluateUnsupportedFormula: (cellIndex) => runEngineEffect(evaluation.evaluateUnsupportedFormula(cellIndex)),
191
- materializePivot: (pivotRecord) => runEngineEffect(requireService(pivot, "pivot").materializePivot(pivotRecord)),
195
+ materializePivot: (pivotRecord) => requireService(pivot, "pivot").materializePivotNow(pivotRecord),
192
196
  getEntityDependents: (entityId) => traversal.getEntityDependentsNow(entityId),
193
197
  });
194
198
  operations = createEngineOperationService({
@@ -197,37 +201,37 @@ export function createEngineServiceRuntime(args) {
197
201
  setSelection: (sheetName, address) => runEngineEffect(selection.setSelection(sheetName, address)),
198
202
  rewriteDefinedNamesForSheetRename: (oldSheetName, newSheetName) => runEngineEffect(maintenance.rewriteDefinedNamesForSheetRename(oldSheetName, newSheetName)),
199
203
  rewriteCellFormulasForSheetRename: (oldSheetName, newSheetName, formulaChangedCount) => runEngineEffect(binding.rewriteCellFormulasForSheetRename(oldSheetName, newSheetName, formulaChangedCount)),
200
- rebindDefinedNameDependents: (names, formulaChangedCount) => runEngineEffect(binding.rebindDefinedNameDependents(names, formulaChangedCount)),
201
- rebindTableDependents: (tableNames, formulaChangedCount) => runEngineEffect(binding.rebindTableDependents(tableNames, formulaChangedCount)),
202
- rebindFormulaCells: (candidates, formulaChangedCount) => runEngineEffect(binding.rebindFormulaCells(candidates, formulaChangedCount)),
203
- rebindFormulasForSheet: (sheetName, formulaChangedCount, candidates) => runEngineEffect(binding.rebindFormulasForSheet(sheetName, formulaChangedCount, candidates)),
204
- removeSheetRuntime: (sheetName, explicitChangedCount) => runEngineEffect(support.removeSheetRuntime(sheetName, explicitChangedCount)),
204
+ rebindDefinedNameDependents: (names, formulaChangedCount) => binding.rebindDefinedNameDependentsNow(names, formulaChangedCount),
205
+ rebindTableDependents: (tableNames, formulaChangedCount) => binding.rebindTableDependentsNow(tableNames, formulaChangedCount),
206
+ rebindFormulaCells: (candidates, formulaChangedCount) => binding.rebindFormulaCellsNow(candidates, formulaChangedCount),
207
+ rebindFormulasForSheet: (sheetName, formulaChangedCount, candidates) => binding.rebindFormulasForSheetNow(sheetName, formulaChangedCount, candidates),
208
+ removeSheetRuntime: (sheetName, explicitChangedCount) => support.removeSheetRuntimeNow(sheetName, explicitChangedCount),
205
209
  applyStructuralAxisOp: (op) => runEngineEffect(structure.applyStructuralAxisOp(op)),
206
- clearOwnedSpill: (cellIndex) => runEngineEffect(support.clearOwnedSpill(cellIndex)),
207
- clearPivotForCell: (cellIndex) => runEngineEffect(requireService(pivot, "pivot").clearPivotForCell(cellIndex)),
208
- clearOwnedPivot: (pivotRecord) => runEngineEffect(requireService(pivot, "pivot").clearOwnedPivot(pivotRecord)),
209
- removeFormula: (cellIndex) => runEngineEffect(binding.clearFormula(cellIndex)),
210
- bindFormula: (cellIndex, ownerSheetName, source) => runEngineEffect(binding.bindFormula(cellIndex, ownerSheetName, source)),
211
- setInvalidFormulaValue: (cellIndex) => runEngineEffect(binding.invalidateFormula(cellIndex)),
212
- beginMutationCollection: () => runEngineEffect(support.beginMutationCollection()),
213
- markInputChanged: (cellIndex, count) => runEngineEffect(support.markInputChanged(cellIndex, count)),
214
- markFormulaChanged: (cellIndex, count) => runEngineEffect(support.markFormulaChanged(cellIndex, count)),
215
- markVolatileFormulasChanged: (count) => runEngineEffect(support.markVolatileFormulasChanged(count)),
216
- markSpillRootsChanged: (cellIndices, count) => runEngineEffect(support.markSpillRootsChanged(cellIndices, count)),
217
- markPivotRootsChanged: (cellIndices, count) => runEngineEffect(support.markPivotRootsChanged(cellIndices, count)),
218
- markExplicitChanged: (cellIndex, count) => runEngineEffect(support.markExplicitChanged(cellIndex, count)),
219
- composeMutationRoots: (changedInputCount, formulaChangedCount) => runEngineEffect(support.composeMutationRoots(changedInputCount, formulaChangedCount)),
220
- composeEventChanges: (recalculated, explicitChangedCount) => runEngineEffect(support.composeEventChanges(recalculated, explicitChangedCount)),
221
- getChangedInputBuffer: () => runEngineEffect(support.getChangedInputBuffer()),
210
+ clearOwnedSpill: (cellIndex) => support.clearOwnedSpillNow(cellIndex),
211
+ clearPivotForCell: (cellIndex) => requireService(pivot, "pivot").clearPivotForCellNow(cellIndex),
212
+ clearOwnedPivot: (pivotRecord) => requireService(pivot, "pivot").clearOwnedPivotNow(pivotRecord),
213
+ removeFormula: (cellIndex) => binding.clearFormulaNow(cellIndex),
214
+ bindFormula: (cellIndex, ownerSheetName, source) => binding.bindFormulaNow(cellIndex, ownerSheetName, source),
215
+ setInvalidFormulaValue: (cellIndex) => binding.invalidateFormulaNow(cellIndex),
216
+ beginMutationCollection: () => support.beginMutationCollectionNow(),
217
+ markInputChanged: (cellIndex, count) => support.markInputChangedNow(cellIndex, count),
218
+ markFormulaChanged: (cellIndex, count) => support.markFormulaChangedNow(cellIndex, count),
219
+ markVolatileFormulasChanged: (count) => support.markVolatileFormulasChangedNow(count),
220
+ markSpillRootsChanged: (cellIndices, count) => support.markSpillRootsChangedNow(cellIndices, count),
221
+ markPivotRootsChanged: (cellIndices, count) => support.markPivotRootsChangedNow(cellIndices, count),
222
+ markExplicitChanged: (cellIndex, count) => support.markExplicitChangedNow(cellIndex, count),
223
+ composeMutationRoots: (changedInputCount, formulaChangedCount) => support.composeMutationRootsNow(changedInputCount, formulaChangedCount),
224
+ composeEventChanges: (recalculated, explicitChangedCount) => support.composeEventChangesNow(recalculated, explicitChangedCount),
225
+ getChangedInputBuffer: () => support.getChangedInputBufferNow(),
222
226
  estimatePotentialNewCells: (ops) => runEngineEffect(maintenance.estimatePotentialNewCells(ops)),
223
- ensureCellTracked: (sheetName, address) => runEngineEffect(support.ensureCellTracked(sheetName, address)),
224
- resetMaterializedCellScratch: (expectedSize) => runEngineEffect(support.resetMaterializedCellScratch(expectedSize)),
225
- syncDynamicRanges: (formulaChangedCount) => runEngineEffect(support.syncDynamicRanges(formulaChangedCount)),
226
- rebuildTopoRanks: () => runEngineEffect(graph.rebuildTopoRanks()),
227
- detectCycles: () => runEngineEffect(graph.detectCycles()),
228
- recalculate: (changedRoots, kernelSyncRoots) => runEngineEffect(requireService(recalc, "recalc").recalculate(changedRoots, kernelSyncRoots)),
229
- reconcilePivotOutputs: (baseChanged, forceAllPivots) => runEngineEffect(requireService(recalc, "recalc").reconcilePivotOutputs(baseChanged, forceAllPivots)),
230
- flushWasmProgramSync: () => runEngineEffect(graph.flushWasmProgramSync()),
227
+ ensureCellTracked: (sheetName, address) => support.ensureCellTrackedNow(sheetName, address),
228
+ resetMaterializedCellScratch: (expectedSize) => support.resetMaterializedCellScratchNow(expectedSize),
229
+ syncDynamicRanges: (formulaChangedCount) => support.syncDynamicRangesNow(formulaChangedCount),
230
+ rebuildTopoRanks: () => graph.rebuildTopoRanksNow(),
231
+ detectCycles: () => graph.detectCyclesNow(),
232
+ recalculate: (changedRoots, kernelSyncRoots) => requireService(recalc, "recalc").recalculateNowSync(changedRoots, kernelSyncRoots),
233
+ reconcilePivotOutputs: (baseChanged, forceAllPivots) => requireService(recalc, "recalc").reconcilePivotOutputsNow(baseChanged, forceAllPivots),
234
+ flushWasmProgramSync: () => graph.flushWasmProgramSyncNow(),
231
235
  collectFormulaDependents: (entityId) => traversal.collectFormulaDependentsNow(entityId),
232
236
  });
233
237
  const mutation = createEngineMutationService({
@@ -235,10 +239,12 @@ export function createEngineServiceRuntime(args) {
235
239
  captureSheetCellState: (sheetName) => runEngineEffect(maintenance.captureSheetCellState(sheetName)),
236
240
  captureRowRangeCellState: (sheetName, start, count) => runEngineEffect(maintenance.captureRowRangeCellState(sheetName, start, count)),
237
241
  captureColumnRangeCellState: (sheetName, start, count) => runEngineEffect(maintenance.captureColumnRangeCellState(sheetName, start, count)),
238
- restoreCellOps: (sheetName, address) => runEngineEffect(cellState.restoreCellOps(sheetName, address)),
239
- readRangeCells: (range) => runEngineEffect(cellState.readRangeCells(range)),
240
- toCellStateOps: (sheetName, address, snapshot, sourceSheetName, sourceAddress) => runEngineEffect(cellState.toCellStateOps(sheetName, address, snapshot, sourceSheetName, sourceAddress)),
242
+ restoreCellOps: (sheetName, address) => cellState.restoreCellOpsNow(sheetName, address),
243
+ getCellByIndex: args.getCellByIndex,
244
+ readRangeCells: (range) => cellState.readRangeCellsNow(range),
245
+ toCellStateOps: (sheetName, address, snapshot, sourceSheetName, sourceAddress) => cellState.toCellStateOpsNow(sheetName, address, snapshot, sourceSheetName, sourceAddress),
241
246
  applyBatchNow: (batch, source, potentialNewCells) => runEngineEffect(operations.applyBatch(batch, source, potentialNewCells)),
247
+ applyCellMutationsAtBatchNow: (refs, batch, source, potentialNewCells) => runEngineEffect(operations.applyCellMutationsAt(refs, batch, source, potentialNewCells)),
242
248
  });
243
249
  const history = createEngineHistoryService({
244
250
  state: args.state,
@@ -246,10 +252,10 @@ export function createEngineServiceRuntime(args) {
246
252
  });
247
253
  pivot = createEnginePivotService({
248
254
  ...args.pivot,
249
- ensureCellTrackedByCoords: (sheetId, row, col) => runEngineEffect(support.ensureCellTrackedByCoords(sheetId, row, col)),
255
+ ensureCellTrackedByCoords: (sheetId, row, col) => support.ensureCellTrackedByCoordsNow(sheetId, row, col),
250
256
  forEachSheetCell: (sheetId, fn) => traversal.forEachSheetCellNow(sheetId, fn),
251
- scheduleWasmProgramSync: () => runEngineEffect(graph.scheduleWasmProgramSync()),
252
- flushWasmProgramSync: () => runEngineEffect(graph.flushWasmProgramSync()),
257
+ scheduleWasmProgramSync: () => graph.scheduleWasmProgramSyncNow(),
258
+ flushWasmProgramSync: () => graph.flushWasmProgramSyncNow(),
253
259
  applyDerivedOp: (op) => runEngineEffect(operations.applyDerivedOp(op)),
254
260
  });
255
261
  const snapshot = createEngineSnapshotService({
@@ -1 +1 @@
1
- {"version":3,"file":"live.js","sourceRoot":"","sources":["../../src/engine/live.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"live.js","sourceRoot":"","sources":["../../src/engine/live.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,8 @@ export interface CommitOp {
25
25
  export interface SpreadsheetEngineOptions {
26
26
  workbookName?: string;
27
27
  replicaId?: string;
28
+ useColumnIndex?: boolean;
29
+ trackReplicaVersions?: boolean;
28
30
  }
29
31
  export interface EngineSyncClientConnection {
30
32
  send(batch: EngineOpBatch): void | Promise<void>;
@@ -105,6 +107,8 @@ export interface EngineRuntimeState {
105
107
  readonly selectionListeners: Set<() => void>;
106
108
  readonly undoStack: TransactionLogEntry[];
107
109
  readonly redoStack: TransactionLogEntry[];
110
+ readonly useColumnIndex: boolean;
111
+ readonly trackReplicaVersions: boolean;
108
112
  getSelection(): SelectionState;
109
113
  setSelection(selection: SelectionState): void;
110
114
  getSyncState(): SyncState;
@@ -131,6 +135,8 @@ export interface EngineRuntimeStateController {
131
135
  readonly selectionListeners: Set<() => void>;
132
136
  readonly undoStack: TransactionLogEntry[];
133
137
  readonly redoStack: TransactionLogEntry[];
138
+ readonly useColumnIndex: boolean;
139
+ readonly trackReplicaVersions: boolean;
134
140
  getSelection(): SelectionState;
135
141
  setSelection(selection: SelectionState): void;
136
142
  getSyncState(): SyncState;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-state.js","sourceRoot":"","sources":["../../src/engine/runtime-state.ts"],"names":[],"mappings":"AA2FA,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAW,CAAC;AAkFnD,MAAM,UAAU,wBAAwB,CACtC,UAAwC;IAExC,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,OAAO;QACL,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,IAAI;QACb,aAAa,EAAE,IAAI;QACnB,KAAK,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;QAC/C,QAAQ,EAAE,MAAM;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,OAAO;QACL,OAAO,EAAE,CAAC;QACV,iBAAiB,EAAE,CAAC;QACpB,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,CAAC;QACnB,cAAc,EAAE,CAAC;QACjB,eAAe,EAAE,CAAC;QAClB,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,CAAC;KACb,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"runtime-state.js","sourceRoot":"","sources":["../../src/engine/runtime-state.ts"],"names":[],"mappings":"AAkGA,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAW,CAAC;AAsFnD,MAAM,UAAU,wBAAwB,CACtC,UAAwC;IAExC,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,OAAO;QACL,SAAS,EAAE,QAAQ;QACnB,OAAO,EAAE,IAAI;QACb,aAAa,EAAE,IAAI;QACnB,KAAK,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE;QAC/C,QAAQ,EAAE,MAAM;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B;IACxC,OAAO;QACL,OAAO,EAAE,CAAC;QACV,iBAAiB,EAAE,CAAC;QACpB,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,CAAC;QACnB,cAAc,EAAE,CAAC;QACjB,eAAe,EAAE,CAAC;QAClB,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,CAAC;KACb,CAAC;AACJ,CAAC"}
@@ -8,6 +8,10 @@ export interface EngineCellStateService {
8
8
  readonly restoreCellOps: (sheetName: string, address: string) => Effect.Effect<EngineOp[], EngineCellStateError>;
9
9
  readonly readRangeCells: (range: CellRangeRef) => Effect.Effect<CellSnapshot[][], EngineCellStateError>;
10
10
  readonly toCellStateOps: (sheetName: string, address: string, snapshot: CellSnapshot, sourceSheetName?: string, sourceAddress?: string) => Effect.Effect<EngineOp[], EngineCellStateError>;
11
+ readonly captureStoredCellOpsNow: (cellIndex: number, sheetName: string, address: string, sourceSheetName?: string, sourceAddress?: string) => EngineOp[];
12
+ readonly restoreCellOpsNow: (sheetName: string, address: string) => EngineOp[];
13
+ readonly readRangeCellsNow: (range: CellRangeRef) => CellSnapshot[][];
14
+ readonly toCellStateOpsNow: (sheetName: string, address: string, snapshot: CellSnapshot, sourceSheetName?: string, sourceAddress?: string) => EngineOp[];
11
15
  }
12
16
  export declare function createEngineCellStateService(args: {
13
17
  readonly state: Pick<EngineRuntimeState, "workbook">;
@@ -1,6 +1,6 @@
1
1
  import { Effect } from "effect";
2
- import { ValueTag, } from "@bilig/protocol";
3
- import { formatAddress, parseCellAddress, translateFormulaReferences, } from "@bilig/formula";
2
+ import { ValueTag } from "@bilig/protocol";
3
+ import { formatAddress, parseCellAddress, translateFormulaReferences } from "@bilig/formula";
4
4
  import { normalizeRange } from "../../engine-range-utils.js";
5
5
  import { EngineCellStateError } from "../errors.js";
6
6
  function cellStateErrorMessage(message, cause) {
@@ -47,12 +47,21 @@ export function createEngineCellStateService(args) {
47
47
  const restoreCellOpsNow = (sheetName, address) => {
48
48
  const cellIndex = args.state.workbook.getCellIndex(sheetName, address);
49
49
  if (cellIndex === undefined) {
50
- return [
51
- { kind: "clearCell", sheetName, address },
52
- { kind: "setCellFormat", sheetName, address, format: null },
53
- ];
50
+ return [{ kind: "clearCell", sheetName, address }];
51
+ }
52
+ const snapshot = args.getCellByIndex(cellIndex);
53
+ if (snapshot.formula !== undefined) {
54
+ return [{ kind: "setCellFormula", sheetName, address, formula: snapshot.formula }];
55
+ }
56
+ switch (snapshot.value.tag) {
57
+ case ValueTag.Empty:
58
+ case ValueTag.Error:
59
+ return [{ kind: "clearCell", sheetName, address }];
60
+ case ValueTag.Number:
61
+ case ValueTag.Boolean:
62
+ case ValueTag.String:
63
+ return [{ kind: "setCellValue", sheetName, address, value: snapshot.value.value }];
54
64
  }
55
- return toCellStateOpsNow(sheetName, address, args.getCellByIndex(cellIndex), undefined, undefined, args.state.workbook.getCellFormat(cellIndex) ?? null);
56
65
  };
57
66
  const readRangeCellsNow = (range) => {
58
67
  const bounds = normalizeRange(range);
@@ -103,6 +112,10 @@ export function createEngineCellStateService(args) {
103
112
  }),
104
113
  });
105
114
  },
115
+ captureStoredCellOpsNow,
116
+ restoreCellOpsNow,
117
+ readRangeCellsNow,
118
+ toCellStateOpsNow,
106
119
  };
107
120
  }
108
121
  //# sourceMappingURL=cell-state-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cell-state-service.js","sourceRoot":"","sources":["../../../src/engine/services/cell-state-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cell-state-service.js","sourceRoot":"","sources":["../../../src/engine/services/cell-state-service.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,8 @@ import { type FormulaNode } from "@bilig/formula";
3
3
  import type { EdgeArena, EdgeSlice } from "../../edge-arena.js";
4
4
  import { type EngineRuntimeState, type U32 } from "../runtime-state.js";
5
5
  import { EngineFormulaBindingError } from "../errors.js";
6
- import type { Uint32Arena, Float64Arena } from "@bilig/formula/program-arena";
6
+ import type { Uint32Arena, Float64Arena } from "@bilig/formula";
7
+ import type { EngineLookupService } from "./lookup-service.js";
7
8
  export interface EngineFormulaBindingService {
8
9
  readonly bindFormula: (cellIndex: number, ownerSheetName: string, source: string) => Effect.Effect<void, EngineFormulaBindingError>;
9
10
  readonly clearFormula: (cellIndex: number) => Effect.Effect<boolean, EngineFormulaBindingError>;
@@ -14,9 +15,17 @@ export interface EngineFormulaBindingService {
14
15
  readonly rebindDefinedNameDependents: (names: readonly string[], formulaChangedCount: number) => Effect.Effect<number, EngineFormulaBindingError>;
15
16
  readonly rebindTableDependents: (tableNames: readonly string[], formulaChangedCount: number) => Effect.Effect<number, EngineFormulaBindingError>;
16
17
  readonly rebindFormulasForSheet: (sheetName: string, formulaChangedCount: number, candidates?: readonly number[] | U32) => Effect.Effect<number, EngineFormulaBindingError>;
18
+ readonly bindFormulaNow: (cellIndex: number, ownerSheetName: string, source: string) => void;
19
+ readonly clearFormulaNow: (cellIndex: number) => boolean;
20
+ readonly invalidateFormulaNow: (cellIndex: number) => void;
21
+ readonly rebindFormulaCellsNow: (candidates: readonly number[], formulaChangedCount: number) => number;
22
+ readonly rebindDefinedNameDependentsNow: (names: readonly string[], formulaChangedCount: number) => number;
23
+ readonly rebindTableDependentsNow: (tableNames: readonly string[], formulaChangedCount: number) => number;
24
+ readonly rebindFormulasForSheetNow: (sheetName: string, formulaChangedCount: number, candidates?: readonly number[] | U32) => number;
17
25
  }
18
26
  export declare function createEngineFormulaBindingService(args: {
19
- readonly state: Pick<EngineRuntimeState, "workbook" | "strings" | "formulas" | "ranges">;
27
+ readonly state: Pick<EngineRuntimeState, "workbook" | "strings" | "formulas" | "ranges" | "useColumnIndex">;
28
+ readonly lookup: Pick<EngineLookupService, "primeExactColumnIndex" | "primeApproximateColumnIndex">;
20
29
  readonly edgeArena: EdgeArena;
21
30
  readonly programArena: Uint32Arena;
22
31
  readonly constantArena: Float64Arena;