@sheetxl/sdk 0.8.0-beta.10 → 0.8.0-beta.11

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 (480) hide show
  1. package/README.md +1 -1
  2. package/browser/esm/B7aUIvgUjncMMD_i.mjs +394 -0
  3. package/browser/esm/{Cgd5BnM3hg9RyUel.mjs → BFagR2JeWs74iAG3.mjs} +1 -1
  4. package/browser/esm/BGOFfpxr2jPIdqmV.mjs +40 -0
  5. package/browser/esm/{CdLZWVcH8cncBUPJ.mjs → BLoUBId2xZpXAK_H.mjs} +110 -261
  6. package/browser/esm/BMyDRQ716j79h_bH.mjs +86 -0
  7. package/browser/esm/{o8MFgcVXns987D6_.mjs → BVDiOXGMc5_FMGfy.mjs} +6 -6
  8. package/browser/esm/{BzLfNyc6OOShIErH.mjs → BjkCiv5Jz6WYKZeu.mjs} +2 -2
  9. package/browser/esm/{De175LygU7ot4nQm.mjs → BkBhLS0l6z8sxI6D.mjs} +2 -2
  10. package/browser/esm/{Y79I7Sm8kjaYexhf.mjs → BnG31I6Oj_HEtSPS.mjs} +1 -1
  11. package/browser/esm/BoV6zPBnfqCBCqZ7.mjs +7729 -0
  12. package/browser/esm/{CYyv6uGjo10ig5FP.mjs → BpgskG1Er_lGQ_yS.mjs} +1 -1
  13. package/browser/esm/{C9B0djuUarfNdoj0.mjs → BtvLTTfSBdAKplVG.mjs} +1 -1
  14. package/browser/esm/{zqJOaweiXE9D8RY1.mjs → C16ycKja6zG0crV_.mjs} +27687 -38788
  15. package/browser/esm/C2VbEI_XVAoseAwa.mjs +1552 -0
  16. package/browser/esm/{Btg43M1Bf-ENDreu.mjs → C4MqfLn9Dm-l3OIk.mjs} +1 -1
  17. package/browser/esm/C5E6zSGAALWf61n4.mjs +199 -0
  18. package/browser/esm/{CjsUGJEQSbGjnH6R.mjs → CHU6iu_WGlm7fLET.mjs} +1 -1
  19. package/browser/esm/{DhKkrCVASZ6Isvz6.mjs → CQYjO777cmAznUzK.mjs} +1 -1
  20. package/browser/esm/{D4uVlrG0xEFctsSM.mjs → CU3DmJ-YnVVrC1_k.mjs} +285 -67
  21. package/browser/esm/{ClB5ix51roQOpZEr.mjs → CV5EGEjG5_-CPpP0.mjs} +2877 -2067
  22. package/browser/esm/{CSx9ed1JOs7K5BXO.mjs → CaB7J-xgfKO2uAkG.mjs} +2 -2
  23. package/browser/esm/CkxWugaJFjDGZNZ-.mjs +12 -0
  24. package/browser/esm/{CZ5oa92wZEAXebgk.mjs → ClPfI4lODvCece29.mjs} +32 -22
  25. package/browser/esm/ClbvFbFzFzXLBKNN.mjs +193 -0
  26. package/browser/esm/{Cqr3knDsBvoVZ6MN.mjs → Ctjb0SsxV4K4MMqG.mjs} +2 -2
  27. package/browser/esm/{Bk7xxbdDpa7-sIwd.mjs → D5np__Jb1euAyaLw.mjs} +2 -2
  28. package/browser/esm/{Di58Ji1n--3Mgc_2.mjs → DEiPS3Dr-s4fPbVZ.mjs} +1 -1
  29. package/browser/esm/DLLE0FZNsKxbBzRn.mjs +128 -0
  30. package/browser/esm/{BqskM7wA8oPfFQue.mjs → DWNzqw7DUKwoxjri.mjs} +2 -2
  31. package/browser/esm/{BEAY9XgKNx-bakXW.mjs → Dlmig06rIo7cInRk.mjs} +1 -1
  32. package/browser/esm/DvAaxH6z_tGvrRzl.mjs +5132 -0
  33. package/browser/esm/Dyq_ivuHvlXLwPCl.mjs +12831 -0
  34. package/browser/esm/{Dtoyt8q5RyGAlxCp.mjs → PcHFjNzQsE54POri.mjs} +1 -1
  35. package/browser/esm/S2dNNx1a5ydRnARM.mjs +367 -0
  36. package/browser/esm/f1IoRb7tEb0QmCSt.mjs +110 -0
  37. package/browser/esm/gssVX_FH1XFN-twD.mjs +210 -0
  38. package/browser/esm/index.mjs +999 -850
  39. package/browser/esm/nvU0ClAbf0g94YBK.mjs +1695 -0
  40. package/browser/esm/{BcHmrKHwMMOlzc9_.mjs → zlLuW405RSguy4Kn.mjs} +34 -34
  41. package/licenses/dependencies.txt +75 -75
  42. package/node/esm/{CnSQ7MTXAUAyBOoS.mjs → 2Kihw_-5lVTEnwMa.mjs} +285 -64
  43. package/node/esm/857CIBgQgGpnqrXk.mjs +199 -0
  44. package/node/esm/B084DssTcdBheTp_.mjs +7966 -0
  45. package/node/esm/B21JjOLghRoDOrkx.mjs +134 -0
  46. package/node/esm/{CImNvdz1iP-lUlro.mjs → BIRq1kT7lLRzns9t.mjs} +181 -181
  47. package/node/esm/{CD9wbvufChVYYkrI.mjs → BIwObuhTJYf0jpUa.mjs} +2 -2
  48. package/node/esm/Bbf1Pm9Gk7YpLTvg.mjs +12 -0
  49. package/node/esm/{B6D7sSetrcOWLsKj.mjs → BqiexuA89caYnAPz.mjs} +1 -1
  50. package/node/esm/{BH1v-E4Ro3bR7Znw.mjs → BrCKGFRsX_ezFJ4B.mjs} +151 -302
  51. package/node/esm/CCN5vD410obwdz38.mjs +405 -0
  52. package/node/esm/{Bh4dv6tMjXX3X4nI.mjs → CDHdgJXH2vS71WMc.mjs} +1 -1
  53. package/node/esm/{DCplLG93GfTs1vNw.mjs → CGp6VZL-gZa9Uezx.mjs} +1 -1
  54. package/node/esm/{B9ljpEIZg6wOTzRE.mjs → CNCNJNg890KdgkWh.mjs} +1 -1
  55. package/node/esm/{Bqd62L8KFgdS0Vou.mjs → CZICGK_ss0HoGHCP.mjs} +2 -2
  56. package/node/esm/{D7MfcID2Wf6l6VpC.mjs → CZiqiay42tFTrLI4.mjs} +1 -1
  57. package/node/esm/{Bsx9uijd4X_SKV3L.mjs → CdJHUJSBRHZoryPe.mjs} +41 -41
  58. package/node/esm/Ct3h15sCus4Tgt6M.mjs +1762 -0
  59. package/node/esm/CwePQwTILHHjGDkZ.mjs +1033 -0
  60. package/node/esm/{CUUoseJmFsCf82bb.mjs → CzXT00vrQa1_gvW9.mjs} +1 -1
  61. package/node/esm/{C6ZXsNyLXI6zA63X.mjs → D1TKBVmoKGAXf37B.mjs} +9 -9
  62. package/node/esm/{BN9j8V9gCExMjVtJ.mjs → D2KBymQJd1XhpeQD.mjs} +1 -1
  63. package/node/esm/{MiU4rDOiocmJ-9Ry.mjs → D6e2z7eZpxOJXHc7.mjs} +1 -1
  64. package/node/esm/{BtuY37FumvLE7EBo.mjs → D8zEN-6ZdDqDvTxM.mjs} +156 -146
  65. package/node/esm/DNRhGK-8Tr9xcRyc.mjs +8320 -0
  66. package/node/esm/DOU54VsOjG-m-NyQ.mjs +210 -0
  67. package/node/esm/DUTskXCXref-IJnI.mjs +133 -0
  68. package/node/esm/{DMD12JUh7HJw2-jl.mjs → D_t5AUxSm7_icjzq.mjs} +1 -1
  69. package/node/esm/Db0v7zXNnyjBIjjI.mjs +372 -0
  70. package/node/esm/{CUQi5ZtMO02nhG0W.mjs → De2IONBxQhz-Qbyh.mjs} +1 -1
  71. package/node/esm/Df1bL6VFvrqIdSLB.mjs +40 -0
  72. package/node/esm/DkwIPzKc3UwdUIfM.mjs +86 -0
  73. package/node/esm/DrTZbfemSLq2mseG.mjs +111 -0
  74. package/node/esm/OVfaSb506tNSIvbv.mjs +57107 -0
  75. package/node/esm/{DefYISWfdZJFx57m.mjs → cGwrLA1RCE-WhJ7w.mjs} +1 -1
  76. package/node/esm/index.mjs +2657 -65664
  77. package/node/esm/mFiBSM7XgBHV9AY7.mjs +13010 -0
  78. package/node/esm/{DdFgXl-Ux2cMBTs_.mjs → yavzZOiZW_EjG9lE.mjs} +1 -1
  79. package/package.json +6 -7
  80. package/resources/contents.json +120 -0
  81. package/resources/fonts/arial-bold-italic.hinted.json +125 -0
  82. package/resources/fonts/arial-bold-italic.metrics.json +13 -13
  83. package/resources/fonts/arial-bold-italic.rows.json +9 -0
  84. package/resources/fonts/arial-bold.hinted.json +125 -0
  85. package/resources/fonts/arial-bold.metrics.json +12 -12
  86. package/resources/fonts/arial-bold.rows.json +9 -0
  87. package/resources/fonts/arial-italic.hinted.json +125 -0
  88. package/resources/fonts/arial-italic.metrics.json +13 -13
  89. package/resources/fonts/arial-italic.rows.json +9 -0
  90. package/resources/fonts/arial-regular.hinted.json +125 -0
  91. package/resources/fonts/arial-regular.metrics.json +12 -12
  92. package/resources/fonts/arial-regular.rows.json +9 -0
  93. package/resources/fonts/calibri-bold-italic.hinted.json +122 -0
  94. package/resources/fonts/calibri-bold-italic.metrics.json +2 -2
  95. package/resources/fonts/calibri-bold-italic.rows.json +9 -0
  96. package/resources/fonts/calibri-bold.hinted.json +122 -0
  97. package/resources/fonts/calibri-bold.metrics.json +1 -1
  98. package/resources/fonts/calibri-bold.rows.json +9 -0
  99. package/resources/fonts/calibri-italic.hinted.json +121 -0
  100. package/resources/fonts/calibri-italic.metrics.json +2 -2
  101. package/resources/fonts/calibri-italic.rows.json +9 -0
  102. package/resources/fonts/calibri-regular.hinted.json +121 -0
  103. package/resources/fonts/calibri-regular.metrics.json +1 -1
  104. package/resources/fonts/calibri-regular.rows.json +9 -0
  105. package/resources/fonts/cambria-bold-italic.hinted.json +105 -0
  106. package/resources/fonts/cambria-bold-italic.metrics.json +26 -26
  107. package/resources/fonts/cambria-bold-italic.rows.json +9 -0
  108. package/resources/fonts/cambria-bold.hinted.json +108 -0
  109. package/resources/fonts/cambria-bold.metrics.json +19 -19
  110. package/resources/fonts/cambria-bold.rows.json +9 -0
  111. package/resources/fonts/cambria-italic.hinted.json +102 -0
  112. package/resources/fonts/cambria-italic.metrics.json +23 -23
  113. package/resources/fonts/cambria-italic.rows.json +9 -0
  114. package/resources/fonts/cambria-regular.hinted.json +110 -0
  115. package/resources/fonts/cambria-regular.metrics.json +18 -18
  116. package/resources/fonts/cambria-regular.rows.json +9 -0
  117. package/resources/fonts/contents.json +280 -0
  118. package/resources/fonts/courier-new-bold-italic.hinted.json +11 -0
  119. package/resources/fonts/courier-new-bold-italic.metrics.json +12 -12
  120. package/resources/fonts/courier-new-bold-italic.rows.json +9 -0
  121. package/resources/fonts/courier-new-bold.hinted.json +11 -0
  122. package/resources/fonts/courier-new-bold.metrics.json +12 -12
  123. package/resources/fonts/courier-new-bold.rows.json +9 -0
  124. package/resources/fonts/courier-new-italic.hinted.json +11 -0
  125. package/resources/fonts/courier-new-italic.metrics.json +12 -12
  126. package/resources/fonts/courier-new-italic.rows.json +9 -0
  127. package/resources/fonts/courier-new-regular.hinted.json +11 -0
  128. package/resources/fonts/courier-new-regular.metrics.json +12 -12
  129. package/resources/fonts/courier-new-regular.rows.json +9 -0
  130. package/resources/fonts/times-new-roman-bold-italic.hinted.json +125 -0
  131. package/resources/fonts/times-new-roman-bold-italic.metrics.json +15 -15
  132. package/resources/fonts/times-new-roman-bold-italic.rows.json +9 -0
  133. package/resources/fonts/times-new-roman-bold.hinted.json +125 -0
  134. package/resources/fonts/times-new-roman-bold.metrics.json +12 -12
  135. package/resources/fonts/times-new-roman-bold.rows.json +9 -0
  136. package/resources/fonts/times-new-roman-italic.hinted.json +125 -0
  137. package/resources/fonts/times-new-roman-italic.metrics.json +16 -16
  138. package/resources/fonts/times-new-roman-italic.rows.json +9 -0
  139. package/resources/fonts/times-new-roman-regular.hinted.json +125 -0
  140. package/resources/fonts/times-new-roman-regular.metrics.json +16 -16
  141. package/resources/fonts/times-new-roman-regular.rows.json +9 -0
  142. package/resources/locales/de/model.msg.json +87 -9
  143. package/resources/locales/en/model.msg.json +88 -10
  144. package/types/scripting-api.json +10636 -8021
  145. package/types/scripting-enums.json +181 -43
  146. package/types/scripting.d.ts +15886 -8459
  147. package/types/src/.generated/wasm/fonts.d.ts +161 -0
  148. package/types/src/.generated/wasm/fonts_bg.inline.d.ts +3 -0
  149. package/types/src/.generated/wasm/sdk.d.ts +122 -0
  150. package/types/src/.generated/wasm/sdk_bg.inline.d.ts +3 -0
  151. package/types/src/address/AddressUtils.d.ts +10 -1
  152. package/types/src/address/_StructuredAddress.d.ts +58 -0
  153. package/types/src/border/IBorders.d.ts +16 -0
  154. package/types/src/calculation/Calculation.d.ts +93 -363
  155. package/types/src/calculation/FormulaLiterals.d.ts +2 -1
  156. package/types/src/calculation/FormulaText.d.ts +18 -2
  157. package/types/src/calculation/ICalculation.d.ts +37 -9
  158. package/types/src/calculation/INamedFormulasCollection.d.ts +4 -0
  159. package/types/src/calculation/NamedFormulaCollection.d.ts +190 -15
  160. package/types/src/calculation/_FormulaToolkit.d.ts +9 -0
  161. package/types/src/calculation/_TableExtent.d.ts +60 -0
  162. package/types/src/calculation/compiler/CompilerUtils.d.ts +17 -0
  163. package/types/src/calculation/compiler/ParserUtils.d.ts +16 -0
  164. package/types/src/calculation/compiler/Types.d.ts +1 -1
  165. package/types/src/calculation/engine/CalcBackend.d.ts +855 -0
  166. package/types/src/calculation/engine/index.d.ts +10 -0
  167. package/types/src/calculation/executor/CalcExecutor.d.ts +21 -2
  168. package/types/src/calculation/executor/CalcExecutorUtils.d.ts +6 -0
  169. package/types/src/calculation/formula/Formula.d.ts +9 -0
  170. package/types/src/calculation/formula/FormulaBlock.d.ts +6 -0
  171. package/types/src/calculation/formula/IFormulaBlock.d.ts +16 -0
  172. package/types/src/calculation/formula/LambdaValue.d.ts +5 -3
  173. package/types/src/calculation/functions/FunctionDeclarations.d.ts +5 -1
  174. package/types/src/calculation/functions/expandDeclaration.d.ts +15 -0
  175. package/types/src/calculation/functions/initializeFunctions.d.ts +0 -12
  176. package/types/src/calculation/grid/CalcGrid.d.ts +40 -4
  177. package/types/src/calculation/grid/CalcGridBackend.d.ts +30 -0
  178. package/types/src/calculation/grid/CalcGridProxy.d.ts +2 -0
  179. package/types/src/calculation/grid/CalcGridUtils.d.ts +8 -1
  180. package/types/src/calculation/grid/FormulaHost.d.ts +51 -6
  181. package/types/src/calculation/grid/ICalcGrid.d.ts +35 -6
  182. package/types/src/calculation/grid/_CalcRequest.d.ts +11 -1
  183. package/types/src/calculation/grid/_CellValueRun.d.ts +21 -0
  184. package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +27 -2
  185. package/types/src/calculation/state/CalcScope.d.ts +15 -6
  186. package/types/src/calculation/state/CalcState.d.ts +10 -0
  187. package/types/src/calculation/state/CalculationContext.d.ts +2 -2
  188. package/types/src/calculation/state/IContextContainer.d.ts +12 -0
  189. package/types/src/calculation/toolkit/FormulaLiteralReader.d.ts +4 -0
  190. package/types/src/calculation/toolkit/FormulaTextParser.d.ts +10 -0
  191. package/types/src/calculation/toolkit/FunctionDeclarationTable.d.ts +4 -0
  192. package/types/src/calculation/toolkit/index.d.ts +12 -0
  193. package/types/src/cell/ICell.d.ts +256 -7
  194. package/types/src/cell/ICellHeader.d.ts +7 -6
  195. package/types/src/cell/ICellProtection.d.ts +1 -1
  196. package/types/src/cellRange/ICellHeaderRange.d.ts +6 -9
  197. package/types/src/cellRange/ICellHeaderRanges.d.ts +5 -0
  198. package/types/src/cellRange/ICellRange.d.ts +322 -55
  199. package/types/src/cellRange/ICellRanges.d.ts +8 -3
  200. package/types/src/chart/Chart.d.ts +217 -15
  201. package/types/src/chart/ChartCollection.d.ts +7 -2
  202. package/types/src/chart/IChart.d.ts +1921 -35
  203. package/types/src/chart/IChartCollection.d.ts +27 -2
  204. package/types/src/chart/_ChartParts.d.ts +1066 -0
  205. package/types/src/chart/_ChartSource.d.ts +47 -0
  206. package/types/src/chart/createChart.d.ts +26 -0
  207. package/types/src/chart/index.d.ts +4 -0
  208. package/types/src/chart/kinds/ChartKind.d.ts +252 -0
  209. package/types/src/chart/kinds/_Area.d.ts +3 -0
  210. package/types/src/chart/kinds/_Bar.d.ts +4 -0
  211. package/types/src/chart/kinds/_BoxWhisker.d.ts +4 -0
  212. package/types/src/chart/kinds/_Bubble.d.ts +3 -0
  213. package/types/src/chart/kinds/_Funnel.d.ts +4 -0
  214. package/types/src/chart/kinds/_Hierarchy.d.ts +31 -0
  215. package/types/src/chart/kinds/_Histogram.d.ts +4 -0
  216. package/types/src/chart/kinds/_HitKinds.d.ts +23 -0
  217. package/types/src/chart/kinds/_Line.d.ts +4 -0
  218. package/types/src/chart/kinds/_OfPie.d.ts +4 -0
  219. package/types/src/chart/kinds/_Pie.d.ts +4 -0
  220. package/types/src/chart/kinds/_Placeholder.d.ts +6 -0
  221. package/types/src/chart/kinds/_Radar.d.ts +4 -0
  222. package/types/src/chart/kinds/_Scatter.d.ts +8 -0
  223. package/types/src/chart/kinds/_Sunburst.d.ts +4 -0
  224. package/types/src/chart/kinds/_Surface.d.ts +4 -0
  225. package/types/src/chart/kinds/_Treemap.d.ts +4 -0
  226. package/types/src/chart/kinds/_Waterfall.d.ts +18 -0
  227. package/types/src/chart/kinds/_builtIns.d.ts +11 -0
  228. package/types/src/chart/layout/ChartLayout.d.ts +825 -0
  229. package/types/src/chart/layout/TextMeasurer.d.ts +38 -0
  230. package/types/src/chart/layout/_HitGeometry.d.ts +50 -0
  231. package/types/src/chart/layout/_HitTest.d.ts +36 -0
  232. package/types/src/chart/layout/_Layout.d.ts +25 -0
  233. package/types/src/chart/layout/_LayoutUtils.d.ts +97 -0
  234. package/types/src/chart/math/BoxStats.d.ts +35 -0
  235. package/types/src/chart/math/DateUnitCalcs.d.ts +80 -0
  236. package/types/src/chart/math/DisplayUnits.d.ts +53 -0
  237. package/types/src/chart/math/Histogram.d.ts +48 -0
  238. package/types/src/chart/math/OrdUnitCalcs.d.ts +166 -0
  239. package/types/src/chart/math/Treemap.d.ts +28 -0
  240. package/types/src/chart/math/Trendlines.d.ts +71 -0
  241. package/types/src/chart/math/UnitCalcs.d.ts +98 -0
  242. package/types/src/chart/model/ChartModel.d.ts +681 -0
  243. package/types/src/chart/model/_ChartType.d.ts +14 -0
  244. package/types/src/chart/model/_Edits.d.ts +489 -0
  245. package/types/src/chart/model/_Grouping.d.ts +83 -0
  246. package/types/src/chart/model/_Inference.d.ts +52 -0
  247. package/types/src/chart/model/_ModelFacts.d.ts +112 -0
  248. package/types/src/chart/model/_NewChart.d.ts +208 -0
  249. package/types/src/chart/model/_OfPie.d.ts +18 -0
  250. package/types/src/chart/resolve/_LegacyStyles.d.ts +48 -0
  251. package/types/src/chart/resolve/_Resolve.d.ts +51 -0
  252. package/types/src/chart/resolve/_ResolvedChart.d.ts +444 -0
  253. package/types/src/collections/RTree.d.ts +116 -36
  254. package/types/src/collections/SparseGrid.d.ts +6 -3
  255. package/types/src/collections/SpatialMap.d.ts +2 -8
  256. package/types/src/collections/SpatialMap3D.d.ts +2 -0
  257. package/types/src/collections/index.d.ts +1 -1
  258. package/types/src/comment/Comment.d.ts +32 -9
  259. package/types/src/comment/IComment.d.ts +41 -4
  260. package/types/src/comment/_NoteBox.d.ts +19 -2
  261. package/types/src/condition/AnchoredConditional.d.ts +28 -2
  262. package/types/src/condition/ICondition.d.ts +3 -2
  263. package/types/src/conditionalFormat/ConditionalFormat.d.ts +9 -3
  264. package/types/src/conditionalFormat/IConditionalFormat.d.ts +4 -3
  265. package/types/src/dataTable/DataTable.d.ts +67 -0
  266. package/types/src/dataTable/DataTableCollection.d.ts +19 -0
  267. package/types/src/dataTable/IDataTable.d.ts +99 -0
  268. package/types/src/dataTable/IDataTableCollection.d.ts +18 -0
  269. package/types/src/dataTable/index.d.ts +6 -0
  270. package/types/src/dataValidation/DataValidation.d.ts +1 -1
  271. package/types/src/dataValidation/DataValidationCollection.d.ts +4 -1
  272. package/types/src/dataValidation/IDataValidation.d.ts +1 -1
  273. package/types/src/dataValidation/IDataValidationCollection.d.ts +24 -0
  274. package/types/src/documentProperties/DocumentProperties.d.ts +66 -0
  275. package/types/src/documentProperties/ICustomProperty.d.ts +69 -0
  276. package/types/src/documentProperties/IDocumentProperties.d.ts +110 -0
  277. package/types/src/documentProperties/index.d.ts +3 -0
  278. package/types/src/externalBook/IExternalBook.d.ts +1 -1
  279. package/types/src/fill/IFill.d.ts +7 -0
  280. package/types/src/fill/IFillable.d.ts +47 -0
  281. package/types/src/fill/IStroke.d.ts +15 -1
  282. package/types/src/fill/PaintUtils.d.ts +22 -0
  283. package/types/src/fill/index.d.ts +2 -0
  284. package/types/src/font/AdvanceBuilder.d.ts +34 -0
  285. package/types/src/font/AdvanceTable.d.ts +128 -14
  286. package/types/src/font/CanvasAdvanceBuilder.d.ts +54 -0
  287. package/types/src/font/FontCapture.d.ts +4 -0
  288. package/types/src/font/FontCollection.d.ts +53 -2
  289. package/types/src/font/FontPlatform.d.ts +20 -0
  290. package/types/src/font/FontUtils.d.ts +5 -0
  291. package/types/src/font/IFont.d.ts +191 -61
  292. package/types/src/font/IFontCollection.d.ts +20 -14
  293. package/types/src/font/IFontStyle.d.ts +207 -0
  294. package/types/src/font/TableFileAdvanceBuilder.d.ts +9 -0
  295. package/types/src/font/_FontUtils.d.ts +11 -4
  296. package/types/src/font/_FontsVersion.d.ts +7 -0
  297. package/types/src/font/index.d.ts +1 -3
  298. package/types/src/font/platform.browser.d.ts +15 -0
  299. package/types/src/font/platform.node.d.ts +5 -0
  300. package/types/src/group/Group.d.ts +5 -0
  301. package/types/src/group/GroupMovableCollection.d.ts +4 -0
  302. package/types/src/history/IHistory.d.ts +19 -2
  303. package/types/src/hyperlink/IHyperlink.d.ts +7 -1
  304. package/types/src/index.d.ts +3 -0
  305. package/types/src/license/LicenseManager.d.ts +21 -0
  306. package/types/src/license/_Utils.d.ts +18 -1
  307. package/types/src/license/runtime.browser.d.ts +5 -0
  308. package/types/src/license/runtime.node.d.ts +10 -0
  309. package/types/src/listener/IListener.d.ts +14 -2
  310. package/types/src/listener/ListenerEmitter.d.ts +11 -3
  311. package/types/src/movable/IMovable.d.ts +28 -15
  312. package/types/src/movable/IMovableCollection.d.ts +1 -1
  313. package/types/src/movable/Movable.d.ts +12 -1
  314. package/types/src/movable/MovableCollection.d.ts +7 -3
  315. package/types/src/movable/_InsertableCollection.d.ts +16 -5
  316. package/types/src/named/INamed.d.ts +30 -0
  317. package/types/src/named/INamedCollection.d.ts +2 -2
  318. package/types/src/named/NamedCollection.d.ts +16 -4
  319. package/types/src/numFmt/NumberFormatParser.d.ts +5 -0
  320. package/types/src/outline/IOutline.d.ts +1 -1
  321. package/types/src/outline/Outline.d.ts +2 -2
  322. package/types/src/picture/IPicture.d.ts +98 -1
  323. package/types/src/picture/Picture.d.ts +15 -7
  324. package/types/src/pivot/IPivotTable.d.ts +2 -2
  325. package/types/src/pivot/PivotTable.d.ts +5 -5
  326. package/types/src/primitives/ReferenceRange.d.ts +2 -2
  327. package/types/src/print/IPageLayout.d.ts +635 -0
  328. package/types/src/print/PageLayout.d.ts +258 -0
  329. package/types/src/print/index.d.ts +1 -1
  330. package/types/src/protectedRange/IProtectedRange.d.ts +2 -2
  331. package/types/src/protection/IProtection.d.ts +6 -0
  332. package/types/src/protection/PasswordHasher.d.ts +13 -0
  333. package/types/src/richData/IRichDataKind.d.ts +22 -0
  334. package/types/src/richData/RichDataRegistry.d.ts +57 -0
  335. package/types/src/richData/RichText.d.ts +59 -0
  336. package/types/src/richData/index.d.ts +3 -0
  337. package/types/src/scripting/IModule.d.ts +3 -3
  338. package/types/src/scripting/IScript.d.ts +2 -2
  339. package/types/src/scripting/ITypedFunction.d.ts +1 -1
  340. package/types/src/scripting/declarations.d.ts +3 -0
  341. package/types/src/selection/ChartElementSelection.d.ts +39 -0
  342. package/types/src/selection/IChartElementSelection.d.ts +103 -0
  343. package/types/src/selection/IItemSelection.d.ts +131 -0
  344. package/types/src/selection/IMovableSelection.d.ts +6 -34
  345. package/types/src/selection/IRangeSelection.d.ts +4 -4
  346. package/types/src/selection/ItemSelection.d.ts +49 -0
  347. package/types/src/selection/MovableSelection.d.ts +11 -30
  348. package/types/src/selection/RangeSelection.d.ts +4 -4
  349. package/types/src/selection/index.d.ts +3 -0
  350. package/types/src/shape/IShape.d.ts +2 -1
  351. package/types/src/shape/IShapeStyle.d.ts +5 -31
  352. package/types/src/shape/ITextBoxStyle.d.ts +85 -0
  353. package/types/src/shape/ShapeStyleUtils.d.ts +13 -1
  354. package/types/src/shape/_Connectors.d.ts +9 -9
  355. package/types/src/shape/_ShapeStyle.d.ts +9 -0
  356. package/types/src/shape/index.d.ts +1 -0
  357. package/types/src/sheet/CellRegion.d.ts +37 -3
  358. package/types/src/sheet/IOpaqueSheet.d.ts +46 -0
  359. package/types/src/sheet/ISheet.d.ts +81 -1078
  360. package/types/src/sheet/IWorksheet.d.ts +1514 -0
  361. package/types/src/sheet/{ISheetCollection.d.ts → IWorksheetCollection.d.ts} +37 -12
  362. package/types/src/sheet/NamedCellRange.d.ts +2 -2
  363. package/types/src/sheet/NamedRange.d.ts +2 -2
  364. package/types/src/sheet/OpaqueSheet.d.ts +114 -0
  365. package/types/src/sheet/SheetCell.d.ts +24 -27
  366. package/types/src/sheet/SheetRange.d.ts +42 -11
  367. package/types/src/sheet/SheetRanges.d.ts +12 -10
  368. package/types/src/sheet/{Sheet.d.ts → Worksheet.d.ts} +510 -144
  369. package/types/src/sheet/WorksheetCollection.d.ts +39 -0
  370. package/types/src/sheet/_Anomalies.d.ts +109 -0
  371. package/types/src/sheet/_AnomalyFormulaChecks.d.ts +125 -0
  372. package/types/src/sheet/_AnomalyLabelChecks.d.ts +21 -0
  373. package/types/src/sheet/_CellBuffer.d.ts +11 -1
  374. package/types/src/sheet/_CopyUtils.d.ts +13 -6
  375. package/types/src/sheet/_IgnoredErrors.d.ts +46 -0
  376. package/types/src/sheet/_InvalidSheetRange.d.ts +3 -2
  377. package/types/src/sheet/_Kinds.d.ts +34 -0
  378. package/types/src/sheet/_Labels.d.ts +38 -0
  379. package/types/src/sheet/_RangeStateSweep.d.ts +2 -3
  380. package/types/src/sheet/_ScalarListFactory.d.ts +1 -1
  381. package/types/src/sheet/_SheetAutoFillUtils.d.ts +3 -3
  382. package/types/src/sheet/_SheetAutoFitUtils.d.ts +3 -3
  383. package/types/src/sheet/_SheetChangeEvent.d.ts +72 -0
  384. package/types/src/sheet/_SheetCoords.d.ts +3 -3
  385. package/types/src/sheet/_SheetEvents.d.ts +1 -1
  386. package/types/src/sheet/_SheetFilterUtils.d.ts +6 -6
  387. package/types/src/sheet/_SheetIntents.d.ts +32 -14
  388. package/types/src/sheet/_SheetMessages.d.ts +1 -1
  389. package/types/src/sheet/_SheetMutations.d.ts +7 -8
  390. package/types/src/sheet/_SheetSortUtils.d.ts +2 -2
  391. package/types/src/sheet/_SheetStateReader.d.ts +18 -0
  392. package/types/src/sheet/_SheetStateTypes.d.ts +60 -1
  393. package/types/src/sheet/_SheetUtils.d.ts +20 -19
  394. package/types/src/sheet/_WatchAnchor.d.ts +15 -2
  395. package/types/src/sheet/clipboard/RangeClipboardItems.d.ts +4 -4
  396. package/types/src/sheet/clipboard/SheetHTMLTableParser.d.ts +3 -3
  397. package/types/src/sheet/clipboard/SheetHTMLTableWriter.d.ts +3 -3
  398. package/types/src/sheet/index.d.ts +5 -2
  399. package/types/src/sheet/style/SheetCellStyle.d.ts +67 -86
  400. package/types/src/sheet/style/SheetDirectStyle.d.ts +3 -3
  401. package/types/src/sheet/style/SheetNamedStyle.d.ts +2 -0
  402. package/types/src/sheet/style/_DigitWidth.d.ts +7 -0
  403. package/types/src/sheet/style/_Resolvers.d.ts +3 -2
  404. package/types/src/sheet/style/_StyleUtils.d.ts +7 -43
  405. package/types/src/sheetHeader/ISheetHeader.d.ts +2 -2
  406. package/types/src/sheetHeader/SheetCellHeader.d.ts +2 -0
  407. package/types/src/sheetHeader/SheetCellHeaderRange.d.ts +2 -0
  408. package/types/src/sheetHeader/SheetCellHeaderRanges.d.ts +2 -0
  409. package/types/src/sheetHeader/SheetHeader.d.ts +7 -6
  410. package/types/src/sheetHeader/_HeaderUtils.d.ts +2 -3
  411. package/types/src/sheetProtection/{ISheetProtection.d.ts → IWorksheetProtection.d.ts} +28 -28
  412. package/types/src/sheetProtection/WorksheetProtection.d.ts +51 -0
  413. package/types/src/sheetProtection/index.d.ts +1 -1
  414. package/types/src/sheetView/{ISheetView.d.ts → IWorksheetView.d.ts} +168 -61
  415. package/types/src/sheetView/WorksheetView.d.ts +139 -0
  416. package/types/src/sheetView/_SheetViewUtils.d.ts +5 -3
  417. package/types/src/sheetView/index.d.ts +1 -1
  418. package/types/src/slicer/ISlicer.d.ts +2 -2
  419. package/types/src/sort/ISort.d.ts +35 -5
  420. package/types/src/style/ICellStyle.d.ts +56 -44
  421. package/types/src/style/_BuiltInStyleDefs.d.ts +4 -3
  422. package/types/src/table/AnchoredTable.d.ts +23 -7
  423. package/types/src/table/AutoTable.d.ts +1 -1
  424. package/types/src/table/ITable.d.ts +32 -19
  425. package/types/src/table/_NamedTable.d.ts +3 -3
  426. package/types/src/table/_NamedTableSource.d.ts +2 -2
  427. package/types/src/text/IText.d.ts +4 -51
  428. package/types/src/text/TextEngine.d.ts +34 -0
  429. package/types/src/text/TextFrame.d.ts +4 -2
  430. package/types/src/text/TextRun.d.ts +3 -2
  431. package/types/src/text/TextWrapper.d.ts +32 -26
  432. package/types/src/text/_TextUtils.d.ts +5 -5
  433. package/types/src/text/_TextWrapperFallback.d.ts +49 -0
  434. package/types/src/text/impl/TabStrategy.d.ts +3 -1
  435. package/types/src/text/richtext/IRichText.d.ts +16 -2
  436. package/types/src/text/richtext/index.d.ts +0 -1
  437. package/types/src/theme/ITheme.d.ts +108 -7
  438. package/types/src/theme/ThemeCollection.d.ts +5 -0
  439. package/types/src/theme/_OfficeFontScheme.d.ts +8 -0
  440. package/types/src/transaction/ITransaction.d.ts +20 -1
  441. package/types/src/transaction/Transaction.d.ts +8 -1
  442. package/types/src/transaction/_BatchHandle.d.ts +118 -0
  443. package/types/src/type/AbstractCollection.d.ts +4 -13
  444. package/types/src/type/ICollection.d.ts +17 -4
  445. package/types/src/type/IProperties.d.ts +1 -1
  446. package/types/src/utils/_CSSUtils.d.ts +1 -1
  447. package/types/src/wasm/_fontsWasm.d.ts +7 -0
  448. package/types/src/wasm/_sdkWasm.d.ts +1 -1
  449. package/types/src/wasm/fontsWasm.d.ts +32 -0
  450. package/types/src/wasm/index.d.ts +1 -0
  451. package/types/src/wasm/loader.browser.d.ts +9 -0
  452. package/types/src/wasm/loader.node.d.ts +9 -0
  453. package/types/src/wasm/sdkWasm.d.ts +6 -3
  454. package/types/src/workbook/IWorkbook.d.ts +229 -38
  455. package/types/src/workbook/Workbook.d.ts +77 -22
  456. package/types/src/workbook/WorkbookRange.d.ts +2 -2
  457. package/types/src/workbook/WorkbookRanges.d.ts +2 -2
  458. package/types/src/workbook/_WorkbookIntents.d.ts +2 -2
  459. package/types/src/workbook/_WorkbookMessages.d.ts +5 -0
  460. package/types/src/workbookView/IWorkbookView.d.ts +82 -0
  461. package/types/src/workbookView/WorkbookView.d.ts +21 -0
  462. package/browser/esm/BbSmt62FpFIpoVzu.mjs +0 -392
  463. package/browser/esm/BgcZ-CoTbMfmyDJL.mjs +0 -412
  464. package/browser/esm/DOMHmhYzPcLVcpAW.mjs +0 -7
  465. package/browser/esm/DUvUK61b2_4pf4tG.mjs +0 -484
  466. package/node/esm/CCouEwT37f08qO3V.mjs +0 -7
  467. package/node/esm/CT0CN82y0_Qgoryk.mjs +0 -7568
  468. package/node/esm/DHUADiCmxNQS1ARz.mjs +0 -417
  469. package/node/esm/Ds0d8zXzmgOu3MGx.mjs +0 -403
  470. package/types/src/chart/_ChartXml.d.ts +0 -70
  471. package/types/src/collections/OverlappingRangeIterator.d.ts +0 -87
  472. package/types/src/collections/_RangeSweep.d.ts +0 -97
  473. package/types/src/font/CanvasFontMeasurer.d.ts +0 -25
  474. package/types/src/font/FontKitFontMeasurer.d.ts +0 -11
  475. package/types/src/font/SimpleFontMeasurer.d.ts +0 -4
  476. package/types/src/print/IPrint.d.ts +0 -212
  477. package/types/src/sheet/SheetCollection.d.ts +0 -29
  478. package/types/src/sheetProtection/SheetProtection.d.ts +0 -51
  479. package/types/src/sheetView/SheetView.d.ts +0 -122
  480. package/types/src/text/richtext/IStyledFont.d.ts +0 -330
@@ -1,69 +1,39 @@
1
- import { IRange, IFormulaContext, IRuntime, Scalar } from '@sheetxl/primitives';
1
+ import { IRange, IRuntime, Scalar } from '@sheetxl/primitives';
2
2
  import { IListener } from '../listener';
3
3
  import { FunctionProvider } from '@sheetxl/scripting';
4
4
  import { AbstractModel, IModel } from '../model';
5
5
  import { ITransaction } from '../transaction';
6
6
  import { IStringCollection } from '../string';
7
7
  import { IFunctionCollection } from '../scripting';
8
- import { ISpatialMap, ISpatialMap3D } from '../collections';
9
8
  import { INamed, INamedCollection } from '../named';
10
9
  import { ICellRange, ICellRanges } from '../cellRange';
11
10
  import { NamedNodeInfo } from './Types';
12
11
  import { ITable } from '../table';
13
12
  import { IExternalBook, IExternalBookCollection } from '../externalBook';
14
13
  import { ExternalBookCollection } from '../externalBook/ExternalBookCollection';
15
- import { ExternalBookBindings } from './ExternalBookBindings';
16
14
  import { FormulaBlockResolvers, FormulaImager } from './formula';
17
15
  import { IFormulaCompiler } from './compiler';
18
- import { CalculationContext, IContextContainer, CalcNode } from './state';
19
- import { FormulaSpatialValue, PrecedentSpatialValue } from './spatial';
20
- import { CalcGridBackend, CalcGrid, FormulaHost, ICalcGrid } from './grid';
16
+ import { CalcGrid, FormulaHost, ICalcGrid } from './grid';
21
17
  import { CalcRequest, CalcResponse, CalcGridSpec, TableSymbols, NameSymbols } from './grid/_CalcRequest';
22
- import { CalcExecutor } from './executor';
18
+ import { CalcBackend } from './engine/CalcBackend';
23
19
  import { IndirectSymbolProvider, ISymbolRegistry } from './symbol';
24
20
  import { ICalculation } from './ICalculation';
25
21
  import { NamedFormulaCollection } from './NamedFormulaCollection';
26
22
  import { INamedFormulasCollection } from './INamedFormulasCollection';
27
- /**
28
- * What a structured reference resolves against: a live table, or a snapshot of one taken before it
29
- * was removed ({@link snapshotTableExtent}).
30
- */
31
- interface TableExtent {
32
- getRange(): {
33
- getCoords(): IRange.Coords;
34
- };
35
- getDataRange(): {
36
- getCoords(): IRange.Coords;
37
- };
38
- getHeaderRowRange(): {
39
- getCoords(): IRange.Coords;
40
- };
41
- getTotalRowRange(): {
42
- getCoords(): IRange.Coords;
43
- };
44
- isShowHeaders(): boolean;
45
- isShowTotals(): boolean;
46
- getColumnById(id: string): {
47
- getIndex(): number;
48
- } | null;
49
- getSheet(): {
50
- getId(): string;
51
- } | null | undefined;
52
- }
53
23
  /**
54
24
  * Implementation for {@link ICalculation}.
55
25
  */
56
- export declare class Calculation extends AbstractModel<State, ICalculation.JSON, ICalculation.IListeners> implements ICalculation {
57
- protected _container: IContextContainer;
58
- protected _context: CalculationContext & IFormulaContext;
26
+ export declare class Calculation extends AbstractModel<AbstractModel.State, ICalculation.JSON, ICalculation.IListeners> implements ICalculation {
27
+ protected _backend: CalcBackend | null;
28
+ protected _startReplica: CalcBackend.Replica | null;
29
+ /** The symbols formulas bind through (DESIGN-CALC-SERVICE §8): the model's, handed to the backend. */
30
+ protected _symbols: ISymbolRegistry;
59
31
  protected _status: ICalculation.Status;
60
32
  protected _statusTransition: Promise<void> | null;
61
33
  protected _runtime: IRuntime;
62
34
  protected _functions: IFunctionCollection;
63
35
  protected _namedFormulas: NamedFormulaCollection;
64
36
  protected _externalBooks: ExternalBookCollection;
65
- /** The cache as grids and the cached names as virtual grids — see {@link ExternalBookBindings}. */
66
- protected _externalBindings: ExternalBookBindings | null;
67
37
  /** `json.names` held from construction until {@link hydrateNames} — see it for why. */
68
38
  protected _pendingNames: INamed.JSON[] | null;
69
39
  protected _compiler: IFormulaCompiler;
@@ -71,28 +41,18 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
71
41
  protected _compilerEditingSig: string;
72
42
  protected _compilerEditingStorage: IFormulaCompiler | null;
73
43
  protected _compilerModule: typeof import('./compiler/FormulaCompiler');
44
+ protected _engineModule: typeof import('./engine') | null;
45
+ protected _planCache: 'off' | 'assert' | 'on' | null;
74
46
  protected _getActiveCell: () => IRange.CellCoords | null;
75
47
  protected _getRange: (address: ICellRange.Address, options?: ICellRange.GetRangeOptions) => ICellRange;
76
48
  protected _getRanges: (address: ICellRanges.Address, options?: ICellRange.GetRangeOptions) => ICellRanges;
77
- protected _calcExecutor: CalcExecutor;
78
- protected _cycleId: number;
79
- protected _staticEpoch: number;
80
- protected _precedentEpoch: number;
81
- protected _epochSeenFormulas: ISpatialMap3D<FormulaSpatialValue> | null;
82
- protected _epochSeenPrecedents: ISpatialMap3D<PrecedentSpatialValue> | null;
83
- protected _epochSeenDynamics: Map<FormulaSpatialValue, ISpatialMap.Entry<PrecedentSpatialValue>[]> | null;
84
- protected _volatiles: Set<CalcNode>;
85
49
  /** The current handle of every formula host's grid, by grid id. */
86
50
  protected _formulaHosts: Map<string, FormulaHost>;
87
- protected _calculatedCommitId: string | null;
88
- protected _calculatedEngineId: string | null;
89
51
  protected _modelStore: ITransaction.IStore | null;
90
52
  /** The model-side grids, by grid id (DESIGN-CALC-SERVICE §13.23): what a copy lands on, what a start seeds from. */
91
53
  protected readonly _fronts: Map<string, CalcGrid>;
92
54
  /** What each model grid is, for the `create` a start sends for it (its size is read then). */
93
55
  protected readonly _gridSpecs: Map<string, CalcGridSpec>;
94
- /** The engine holds grids: from a start's boot until a stop. */
95
- protected _engineUp: boolean;
96
56
  protected _modelStoreRemoveListener: IListener.Remove | null;
97
57
  protected _mirrorRemoveListener: IListener.Remove | null;
98
58
  _modelMirrorId: string | null;
@@ -100,13 +60,7 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
100
60
  protected _ownerStore: ITransaction.IStore;
101
61
  /** The record holding the owner's sheet list, in {@link _ownerStore}. */
102
62
  protected _sheetListId: string;
103
- protected _engineIds: Map<string, string>;
104
- protected _landingOf: Map<string, string>;
105
- protected _mirroredId: string | null;
106
- protected _lastRevert: {
107
- commitId: string;
108
- regions: Map<string, IRange.Coords[]>;
109
- } | null;
63
+ protected _landedCommits: Set<string> | null;
110
64
  protected _outstanding: Set<Promise<ICalcGrid.Results>> | null;
111
65
  protected _pendingActions: (() => Promise<unknown>)[] | null;
112
66
  protected _pendingPriority: (() => Promise<unknown>)[] | null;
@@ -126,6 +80,8 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
126
80
  /** `ready()` calls waiting for work in flight to end: woken on every check. */
127
81
  protected _calculationStateWaiters: (() => void)[] | null;
128
82
  protected _bootFull: boolean;
83
+ /** Consumer work not yet settled: see {@link waitUntil}. */
84
+ protected _consumerWork: number;
129
85
  protected _bootExplicit: boolean;
130
86
  protected _compilerWaiters: (() => void)[] | null;
131
87
  protected _wroteWhileOff: boolean;
@@ -138,8 +94,8 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
138
94
  /** The `calcPr` the file carried, kept whole so settings this engine ignores still round-trip. */
139
95
  protected _calcJSON: ICalculation.JSON | null;
140
96
  protected _removeNamedItemsListeners: (() => void) | null;
141
- protected _namedDependents: Map<string, IRange.Coords[]> | null;
142
- protected _namedDependentsOf: ISpatialMap3D<FormulaSpatialValue> | null;
97
+ /** The listeners on each table's extent, registered again whenever the named collection changes. */
98
+ protected _tableListenerRemovers: (() => void)[];
143
99
  /**
144
100
  * Resolver callbacks passed to every {@link FormulaBlock} at creation time.
145
101
  * Populated from {@link Calculation.ConstructorOptions} during `_initialize`.
@@ -151,40 +107,27 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
151
107
  constructor(options?: Calculation.ConstructorOptions);
152
108
  protected _initialize(options?: Calculation.ConstructorOptions): void;
153
109
  /**
154
- * Reverse-invalidates only the formulas that reference any of `changedIds` — the stable name/table
155
- * fake ids reported by `IndirectSymbolProvider.reconcile()` (add/heal, delete, rename).
110
+ * Makes the backend from its loaded module. Once per calculation; a restart reuses it, as
111
+ * `_dropEngine` leaves it.
156
112
  *
157
113
  * @remarks
158
- * Replaces the old `isFullCalcRequired` blanket. `bind()` assigns a stable fake id at compile time
159
- * regardless of whether the symbol resolves, and reconcile() reports that same id — so matching a
160
- * formula's `getReferencedSymbolIds()` catches the "heal" case (`#NAME?`/`#REF!` → valid) that a
161
- * precedent-range markDirty can't, because an unresolved reference has no precedent range.
162
- *
163
- * Marking the direct referencers is not enough where the referencer is another NAME. Downstream
164
- * of a cell, the dependency graph carries transitivity for free; downstream of a name it carries
165
- * nothing, because a name registers no precedent range for the formulas that mention it. So the
166
- * ids are first expanded over the symbol graph ({@link _namedTargets}), and only from the cells
167
- * that land in are the ordinary edges left to do the rest.
168
- *
169
- * O(formulas) all3D scan — same cost/scale as `recompileNamed`.
170
- *
171
- * @returns `true` if any formula was marked dirty.
114
+ * Its history starts here, at the model's current commit: nothing before a start writes to it.
115
+ * Its replicas start as the owner held them when the start was asked for.
172
116
  */
173
- protected _markDirtyReferencing(changedIds: Set<string>): boolean;
117
+ protected _attachEngine(engine: typeof import('./engine')): void;
174
118
  /**
175
- * Recompiles every formula that references any of `changedIds` — a name or a table, directly or
176
- * through a name — from its own text, so it re-derives its precedents.
177
- *
178
- * @remarks
179
- * The re-wire half of {@link _markDirtyReferencing}. A node stores the coords its references
180
- * resolved to when it was wired, and `precedentSpatial` indexes those, so a symbol that now
181
- * designates different cells (a name redefined, a table resized) leaves its readers evaluating
182
- * against the old edges; a dirty mark does not reach them. Same `all3D` scan and the same
183
- * {@link _namedTargets} expansion: a name whose body cites the symbol reaches its own readers.
184
- *
185
- * Run at a safe point only — it writes inputs.
119
+ * What the backend asks of this calculation (see {@link CalcBackend.Callbacks}): the in-process
120
+ * half of the backend's interface.
121
+ */
122
+ protected _backendCallbacks(): CalcBackend.Callbacks;
123
+ /**
124
+ * Recompiles, at the next safe point, the formulas that reference a name - or reference a name
125
+ * that does: a name's link to the engine, held from before there is one. See
126
+ * {@link IContextContainer.recompileNamed}.
186
127
  */
187
- protected _recompileReferencing(changedIds: Set<string>): void;
128
+ protected _recompileNamed(nameId: string): void;
129
+ /** Marks, at the next safe point, the formulas that reference a name out of date. See {@link IContextContainer.invalidateNamed}. */
130
+ protected _invalidateNamed(nameId: string): void;
188
131
  /**
189
132
  * @internal
190
133
  * Rewrites the formulas that reference `table`, which is about to be removed: `'error'` puts
@@ -199,41 +142,8 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
199
142
  _releaseTableReferences(table: ITable, release: 'error' | 'address'): void;
200
143
  /**
201
144
  * @internal
202
- * A table's body has changed rows: re-fit the A1 references that spanned it.
203
- *
204
- * @remarks
205
- * Excel treats a reference whose ROWS are exactly a table's body - or run from its header to the
206
- * body's end - as naming the body, whatever columns of the table it covers, and keeps it on the
207
- * body however the body's rows change (probed, `probe-table-refit.ps1`): `SUM(B2:B5)` over body
208
- * rows 2-5 reads `SUM(B2:B6)` after a row is appended, and `SUM(B2:B3)` after a resize gives two
209
- * up. Relative, absolute or mixed alike, from any sheet, and in anything that holds a reference -
210
- * a defined name, a table's held totals formula and a condition's formula are blocks too. A
211
- * reference that only starts or only ends with the body is an ordinary one, and a change of
212
- * COLUMNS re-fits nothing. A name's relative rows are read from its body's origin, A1, as Excel
213
- * reads them (`probe-table-refit-relative.ps1`); a shift never moves them, so a row at the top
214
- * leaves such a name alone.
215
- *
216
- * An insert or delete inside the body already leaves such a reference right, so this is asked
217
- * only for what a shift gets wrong: rows taken or given up at the body's end, and a row inserted
218
- * at its first row (which pushes the whole reference down).
219
- *
220
- * One search of the precedent index over the rows that match - an entry per (block, reference)
221
- * that reads them - so the cost is the readers of the body, on a change of a table's rows. The
222
- * text a cell shows catches up with the engine the way it does after any shift.
223
- *
224
- * A block is re-fitted cell by cell: only the cells whose reference spans the body are rewritten,
225
- * which splits them out of the block. An array-entered block is one formula, read at its top-left,
226
- * and is never split.
227
- *
228
- * **A DELIBERATE DIVERGENCE lives here** (Michael, 2026-09-22). Excel asks how the cell was
229
- * authored, not what it reads: a fully relative reference is left where it is when the cell
230
- * belongs to a shared-formula group, and re-fitted when it stands alone - so `SUM(B2:B5)` follows
231
- * the body when it was typed and does not when the same three formulas were filled, and the file
232
- * carries the difference as `<f t="shared">` (`probe-table-refit-fillhandle.ps1`,
233
- * `probe-table-refit-roundtrip.ps1`). Here a run is a data-model fact, not an authoring one -
234
- * cells holding the same formula are conflated whatever made them - so honoring that rule would
235
- * make a formula follow the body or not depending on what a NEIGHBOR happens to hold, which a
236
- * user cannot see. Every reference that spans the body is re-fitted, however it was written.
145
+ * A table's body has changed rows: re-fit the A1 references that spanned it (see
146
+ * {@link CalcBackend.refitTableRows}).
237
147
  *
238
148
  * @param sheet The sheet the table is on, by id or name.
239
149
  * @param columns The table's columns. A reference reaching outside them is an ordinary one.
@@ -255,16 +165,6 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
255
165
  rowStart: number;
256
166
  rowEnd: number;
257
167
  }, afterShift: boolean, isCurrent: () => boolean): void;
258
- /**
259
- * Replaces every structured reference to `tableId` on a sheet: by its address in `extent`, or by
260
- * `#REF!` when there is none.
261
- */
262
- protected _rewriteTableReferences(tableId: string, extent: TableExtent | null): void;
263
- /**
264
- * Writes `text` over `fsv`'s cells - or over `coords`, a part of them - as the engine's own input.
265
- * Safe point only.
266
- */
267
- protected _writeBlockText(fsv: FormulaSpatialValue, text: string, coords?: IRange.Coords): void;
268
168
  /**
269
169
  * @internal
270
170
  * Rewrites the 3-D spans that a tab-order change from `before` to `after` broke — an endpoint that
@@ -272,66 +172,12 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
272
172
  * so an undo of the move restores the text.
273
173
  */
274
174
  _replaceSheetSpans(before: readonly string[], after: readonly string[], movedId?: string): void;
275
- /**
276
- * {@inheritDoc IContextContainer.getNamedDependents}
277
- *
278
- * @remarks
279
- * The bucket for a NAME out of {@link _getSymbolDependents}. Kept as the name-flavored spelling
280
- * the callers read; the index underneath is one index for every symbol kind.
281
- */
282
- protected _getNamedDependents(nameId: string): readonly IRange.Coords[];
283
- /**
284
- * Every formula block that references a symbol — a defined name, a table, or an external BOOK —
285
- * by its stable id, as `{ ...ref, scope: gridId }` coords.
286
- *
287
- * @remarks
288
- * The memo is keyed on the formula spatial's IDENTITY, which is the whole invalidation story:
289
- * the map is copy-on-write (`getFormulas().clone()` before any mutation, `setFormulas` to
290
- * publish), so a formula added, removed, shifted or recompiled necessarily replaces it — and an
291
- * undo, which restores an earlier map, replaces it too. Nothing has to remember to clear this.
292
- *
293
- * The sweep is the same `all3D` walk `recompileNamed` and {@link _markDirtyReferencing} already
294
- * do, done once for every symbol instead of once per symbol. Bucketed off
295
- * `getReferencedSymbolIds()` — names, tables and books alike — so a book's dependents
296
- * (`IExternalBook.getDependents`) come out of the same walk as a name's, and a name's body that
297
- * cites a book lands in the book's bucket with the name's id as its scope.
298
- */
299
- protected _getSymbolDependents(symbolId: string): readonly IRange.Coords[];
300
- /**
301
- * Every symbol id a formula cites, to the blocks citing it — the index
302
- * {@link _getSymbolDependents} answers from, memoized the same way.
303
- */
304
- protected _getSymbolIndex(): ReadonlyMap<string, readonly IRange.Coords[]>;
305
- /**
306
- * {@inheritDoc IContextContainer.getNamedDependentNames}
307
- *
308
- * @remarks
309
- * A block that depends on a name and lives on a VIRTUAL grid is another name's BODY, and that
310
- * grid's id is that name's id — `add` binds the two together and `delete` keeps the grid rather
311
- * than dropping it. So the hop is a bucket lookup on the id itself; a sheet grid id is never a
312
- * name id, which is what {@link NamedFormulaCollection.getById} is asked to confirm before the
313
- * walk continues through one.
314
- *
315
- * Expands each id once. That is the cycle guard (`A = B+1`, `B = A+1` reaches `A` again on its
316
- * second hop) and the diamond guard both.
317
- */
318
- protected _getNamedDependentNames(nameId: string): ReadonlySet<string>;
319
- /**
320
- * `changedIds` widened to everything a change to them reaches through the SYMBOL graph: each id
321
- * plus, for the names among them, every name transitively referencing it.
322
- *
323
- * @remarks
324
- * The one expansion both `recompileNamed` and {@link _markDirtyReferencing} apply before their
325
- * all3D scan, so a formula naming an intermediate name is matched by the same pass that matches
326
- * one naming the changed name directly. Ids that are not names (a table's) expand to themselves.
327
- */
328
- protected _namedTargets(changedIds: Set<string>): ReadonlySet<string>;
329
175
  /**
330
176
  * @internal
331
177
  * Demand/plan counters and timings since construction (or the last {@link _resetStats}) — the
332
178
  * plan-cache soak rig. From a console: `SheetXL.getSelectedWorkbook().getCalculation()._stats()`.
333
179
  */
334
- _stats(): ReturnType<CalcExecutor['getDemandStats']>;
180
+ _stats(): ReturnType<CalcBackend['getDemandStats']>;
335
181
  /** @internal Zeroes every counter/timing so a measurement window starts clean. */
336
182
  _resetStats(): void;
337
183
  /**
@@ -381,15 +227,36 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
381
227
  */
382
228
  protected _abandonStart(): void;
383
229
  protected _releaseCompilerWaiters(): void;
230
+ /**
231
+ * Runs the start batch under one operation on the model's store, folded into the commit the
232
+ * batch happens during.
233
+ *
234
+ * @remarks
235
+ * What the batch vends - a seed's record, a name body's answer - the model adopts as it is
236
+ * applied, and each adoption is a write to the model's store. Made as its own root commit, each
237
+ * write copies the store's whole state map into the record it keeps (a state per sheet model, and
238
+ * one per defined name's host), so a start that answers thousands of bodies cost thousands of
239
+ * such copies - the larger part of opening a legacy file. Under one open operation the writes
240
+ * join it, and the store copies once when it closes. Nothing of the model's changes here: the
241
+ * batch is the engine's answer to what the model already holds.
242
+ */
243
+ protected _underOneModelOperation<R>(batch: () => R): R;
384
244
  /**
385
245
  * @internal
386
246
  * Resolves once the engine can compile: at once when `Running`; when the batch has applied the
387
- * seeds, ahead of the boot pass, while `Starting`; after the start it makes when `Off`.
247
+ * seeds, ahead of the boot pass, while `Starting`; and, when `Off`, once something else starts
248
+ * it. It never starts the engine itself.
388
249
  *
389
250
  * @remarks
390
251
  * What an owner that registers a formula asynchronously waits on (a condition formula's
391
252
  * evaluation). Waiting on {@link ready} instead resolves after the boot pass, and the
392
253
  * registration then costs a pass of its own (design §6.5: a boot owes one).
254
+ *
255
+ * An `Off` engine stays off (DESIGN-CALC-ON-LOAD: under `calcOnLoad: 'none'` a read starts
256
+ * nothing, and a conditional format or data validation evaluating on load is a read). Starting it
257
+ * here ran the boot pass, and the pass moved cached values — every volatile, every iterating
258
+ * cycle — in a workbook that was only being opened and saved. The waiter is released by the
259
+ * start the first mutation (or an explicit calculation) makes, and by {@link close}.
393
260
  */
394
261
  _whenCanCompile(): Promise<void>;
395
262
  /**
@@ -510,11 +377,13 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
510
377
  protected _calculateNow(options?: ICalculation.CalculateOptions, gridId?: string): Promise<ICalculation.Status>;
511
378
  protected _runCalculation(options?: ICalculation.CalculateOptions, gridId?: string): Promise<ICalculation.Status>;
512
379
  /**
513
- * A restore moves every grid to another snapshot and reports nothing, so each formula host is
514
- * told here what its grid now holds.
380
+ * The model commit the last pass recalculated for, `null` before the first: what a sheet
381
+ * realizing the pass's results amends them into.
515
382
  * @internal
516
383
  */
517
- protected _processRestoreOrRevert(state: State, commit: ITransaction.ICommit): void;
384
+ get _calculatedCommitId(): string | null;
385
+ /** A response's cycle: the engine's last pass, or none before there is an engine. */
386
+ protected get _cycleId(): number;
518
387
  /**
519
388
  * Formula text as a cell at `coords` would STORE it, without writing it anywhere.
520
389
  *
@@ -576,11 +445,6 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
576
445
  _createCalcGrid(options: Calculation.CalcGridOptions): CalcGrid;
577
446
  /** What a `create` for a model grid carries: its description. */
578
447
  protected _specOf(front: CalcGrid): CalcGridSpec;
579
- /**
580
- * The engine's grid for a model grid, as a `create` describes it. What it pushes reaches the
581
- * model grid under the same id.
582
- */
583
- protected _createEngineGrid(spec: CalcGridSpec): CalcGridBackend;
584
448
  /**
585
449
  * Make the engine's grids from the model's (design §6.3): each live model grid's `create`, the
586
450
  * hosts' first (a name's grid before any sheet's); each host's body sent again; then every grid
@@ -596,12 +460,6 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
596
460
  * from. The model's grids are untouched.
597
461
  */
598
462
  protected _dropEngine(): void;
599
- /**
600
- * The engine's history starts at the boot: the commits mirrored before it hold none of the
601
- * grids the boot made, so a restore to one is not followed but rebuilt ({@link _followRestore}).
602
- * The model's commit now is the boot's.
603
- */
604
- protected _forgetEarlierLandings(modelCommitId?: string | null): void;
605
463
  /**
606
464
  * The model restored itself to `commitId`: the engine restores its own history there, or - on a
607
465
  * `Running` engine whose history does not reach it (a commit from before its start, or one
@@ -618,9 +476,6 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
618
476
  * @internal
619
477
  */
620
478
  _reportError(error: unknown): void;
621
- protected _createBackendGrid(options?: CalcGridBackend.ConstructorOptions): CalcGridBackend;
622
- protected _registerGrid(grid: CalcGridBackend): void;
623
- protected _unregisterGrid(gridId: string): void;
624
479
  /** The owner's sheet list as it last said ({@link _setSheets}): what a start seeds the replica from. */
625
480
  protected _heldSheets(): Calculation.SheetList['sheets'];
626
481
  /** One sheet of {@link _heldSheets} by its grid id, or `undefined` for a grid that is no sheet. */
@@ -639,25 +494,14 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
639
494
  * record, and owes a full pass only when a sheet already listed was renamed, moved or removed.
640
495
  * @internal
641
496
  */
642
- _setSheets(sheets: readonly (readonly [id: string, name: string | null])[]): void;
497
+ _setSheets(sheets: readonly (readonly [id: string, name: string | null, gridless?: boolean])[]): void;
643
498
  /**
644
- * Replaces the replica with the list a `sheets` message carries.
645
- *
646
- * @remarks
647
- * A sheet that survived with a different name or at a different position changes what the
648
- * functions reading names and positions answer (`INDIRECT`, `FORMULATEXT`, `CELL`, `SHEET`, a
649
- * 3-D span's members), and none of that is a precedent: a full pass follows, which is what the
650
- * model asked for on a rename or a move before the engine was told of either. A sheet
651
- * appended moves nothing; one inserted or deleted ahead of a survivor moves it, and counts.
652
- */
653
- protected _applySheets(sheets: readonly (readonly [id: string, name: string | null])[]): void;
654
- /**
655
- * Before a start applies what it held: every sheet a held \`sheets\` message adds enters the
656
- * replica at the end, under the name it was first listed by. A defined name's body is applied
657
- * ahead of the seeds and may name a sheet listed while starting; the messages themselves still
658
- * apply in send order, so a seed sent before a rename binds the name it was sent under.
499
+ * Compiles every loaded name whose text mentions the sheet, ahead of a change a compiled body
500
+ * follows and text cannot: a shift of the sheet's cells, its rename, its removal. See
501
+ * {@link NamedFormulaCollection._materializeMentioning}. Nothing while `Off`: a body written
502
+ * then is sent at the next start, against the sheets as they are by then, as the text would be.
659
503
  */
660
- protected _enterHeldSheets(held: readonly HeldRequest[]): void;
504
+ protected _materializeNamesMentioning(sheetId: string, name?: string | null): void;
661
505
  /** The model's tables as the replica holds them: by id, each table's name and columns. */
662
506
  protected _liveTables(): Map<string, TableSymbols>;
663
507
  /** The defined names as the replica holds them: by id, each name's spelling and scope sheet. */
@@ -684,22 +528,21 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
684
528
  */
685
529
  protected _sendSymbolChange<T>(kind: 'tables' | 'names', id: string, entry: T | null, same: (a: T | null | undefined, b: T | null) => boolean): void;
686
530
  /**
687
- * Applies what a `tables` message carries to the replica. A reference bound by a name the
688
- * replica did not have yet heals to it now, as one to a table added does.
531
+ * While `Starting`: per kind, the held symbol message a new symbol of that kind joins, and the
532
+ * ids every message of the start has told. Dropped with the channel - see {@link _sendSymbolChange}.
689
533
  */
690
- protected _applyTables(changes: readonly (readonly [id: string, table: TableSymbols | null])[]): void;
691
- /** Applies what a `names` message carries, as {@link _applyTables} does. */
692
- protected _applyNames(changes: readonly (readonly [id: string, name: NameSymbols | null])[]): void;
534
+ protected _openSymbolMessages: Map<'tables' | 'names', HeldRequest> | null;
535
+ protected _symbolsTold: Map<'tables' | 'names', Set<string>> | null;
693
536
  /** What a replica's change re-resolved - healed, renamed, gone - is marked for the next pass. */
694
537
  protected _markDirtyReconciled(provider: {
695
538
  reconcile(): string[];
696
539
  } | null): void;
697
- private _tablesDerived;
698
- private _namesDerived;
699
540
  /**
700
- * The table replica and its name index, or `null` while `Off`: an engine that has been told
701
- * nothing reads the model.
541
+ * Whether the engine's replicas answer: not while `Off`, nor before the start has made the
542
+ * engine. An engine that has been told nothing reads the model.
702
543
  */
544
+ protected _hasReplicas(): boolean;
545
+ /** The table replica and its name index, or `null` when there is none (see {@link _hasReplicas}). */
703
546
  protected _replicaTables(): {
704
547
  of: ReadonlyMap<string, TableSymbols>;
705
548
  idByName: Map<string, string>;
@@ -710,9 +553,8 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
710
553
  idsByName: Map<string, string[]>;
711
554
  } | null;
712
555
  /**
713
- * The name a spelling resolves to from `scope`, by the replica: that sheet's own name first, then
714
- * the global; asked from no sheet, the global, else any scoped one - the collection's rule
715
- * (`NamedFormulaCollection.getByName`). `undefined` when the replica cannot answer, and the
556
+ * The name a spelling resolves to from `scope`, by the replica (see
557
+ * {@link CalcBackend.getReplicaNameId}). `undefined` when the replica cannot answer, and the
716
558
  * collection is asked instead.
717
559
  * @internal
718
560
  */
@@ -732,8 +574,6 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
732
574
  * @internal
733
575
  */
734
576
  _imagerFor(gridId: string): FormulaImager;
735
- private _sheetsDerived;
736
- private _sheetsCache;
737
577
  /** Every sheet's grid id in tab order, from the replica. */
738
578
  protected _sheetIds(): readonly string[];
739
579
  /** A sheet's grid id by its name, as Excel reads sheet names: case-insensitively. `null` when none. */
@@ -759,66 +599,18 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
759
599
  close(): void;
760
600
  /** A model holding writes for the engine makes them on this read (`ITransaction.Hooks.writes`). */
761
601
  protected _flushModel(): void;
762
- /**
763
- * Runs `action` with its engine writes landing under `landingId`, or as they are when none.
764
- *
765
- * @remarks
766
- * A root-level request after a nested savepoint of the same root has landed: the root's own
767
- * commit is behind the tip, and the savepoint is part of the root for good, so the write joins
768
- * the tip. The engine's live maps are always the tip's.
769
- * @internal
770
- */
771
- _landUnder<R>(landingId: string | undefined, action: () => R): R;
772
- /** Whether the engine still holds a commit: its own record is in every commit made since it was built. */
773
- protected _holdsEngineCommit(engineId: string): boolean;
774
- /**
775
- * Records the model commit that just landed: its mirror, a commit of the engine's own that names
776
- * it in the engine's record.
777
- *
778
- * @remarks
779
- * A commit even when nothing landed under the model's: an engine write made after the close,
780
- * outside any model operation (a deferred recompile), amends the engine's tip, and that tip has
781
- * to be this model commit's, not the one before it, or a restore to the one before carries the
782
- * write. The engine's record changes with every mirror, so the commit is never elided.
783
- */
784
- protected _mirror(commitId: string): void;
785
- /** Forgets a landing, and the engine commit it made if it made one. */
786
- protected _dropLanding(landingId: string): void;
787
- /** Drops the landings whose engine commit the store has trimmed or pruned. Rare: sized by the store's cap. */
788
- protected _sweepLandings(): void;
789
602
  /** The model commits on the live history: the current one and its ancestors. */
790
603
  protected _modelHistory(): Set<string>;
791
604
  /**
792
- * A model root closed without landing (an amend, or nothing written): the engine commits made
793
- * under its id (`<id>:0`, `<id>:n`) fold into the mirror of the model's current commit.
605
+ * Whether a model commit landed: the model holds it, or did when a held request was judged
606
+ * against it. A snapshot that never landed (an amended root's) is not one a restore can undo.
794
607
  */
795
- protected _foldPhantom(rootId: string): void;
608
+ protected _hasLanded(commitId: string): boolean;
796
609
  /**
797
- * The engine commit an engine write made during a model operation lands in: the operation's
798
- * root (`<id>:0`) or the nested savepoint open now. `null` outside an operation, or while a
799
- * landing is already open (the write joins it).
610
+ * The landing of the model operation open now, which an engine write made during it lands in:
611
+ * the operation's root (`<id>:0`) or the nested savepoint open now. `null` outside an operation.
800
612
  */
801
613
  protected _modelLanding(): string | null;
802
- /**
803
- * Engine state is never a step of history on its own: a write is attributed to the model
804
- * operation it is made in, or folded into the current snapshot (a pass's bookkeeping).
805
- * @internal
806
- */
807
- protected _updateState(updateState?: Partial<State>, options?: ITransaction.StoreOperationOptions, events?: (keyof ICalculation.IListeners)[]): this;
808
- /** @internal */
809
- protected _amendState(updateState?: Partial<State>, options?: ITransaction.StoreOperationOptions, events?: (keyof ICalculation.IListeners)[]): this;
810
- /**
811
- * Restore the engine's history to the model's `commitId`, once; answers what changed per grid.
812
- *
813
- * @remarks
814
- * The changed regions are the union of what every engine commit between the two snapshots
815
- * recorded as touched (`IntentTouched`), whichever direction the restore goes; they are marked
816
- * dirty so the pass that follows recomputes them, and handed back so each grid can re-vend the
817
- * blocks over them. An id the engine no longer holds is answered with `null`: the engine's
818
- * history is shorter than the model's there, and a seed is what brings it back (step 3).
819
- * @internal
820
- */
821
- _revertTo(commitId: string): Map<string, IRange.Coords[]> | null;
822
614
  /**
823
615
  * Hook the rollback of the savepoint a request goes out under, the first time one does: a
824
616
  * `rollback` message follows, through the channel, if it rolls back. By a step that shares the
@@ -828,11 +620,6 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
828
620
  */
829
621
  protected _hookRollback(landingId: string): void;
830
622
  private _rollbackHooked;
831
- /**
832
- * A nested savepoint of the model rolled back: what the engine landed under it goes with it.
833
- * What a `rollback` message does.
834
- */
835
- protected _savepointRolledBack(savepointId: string): void;
836
623
  /** @inheritdoc ICalculation.getStatus */
837
624
  getStatus(): ICalculation.Status;
838
625
  /**
@@ -855,13 +642,17 @@ export declare class Calculation extends AbstractModel<State, ICalculation.JSON,
855
642
  toJSON(): ICalculation.JSON;
856
643
  /** @inheritdoc ICalculation.ready */
857
644
  ready(options?: ICalculation.CalculateOptions): Promise<ICalculation.Status>;
645
+ /** {@inheritDoc ICalculation.waitUntil} */
646
+ waitUntil<T>(work: Promise<T>): Promise<T>;
858
647
  /** One round of `ready()`: up, drained, and the passes the dirty set owes (none in manual mode). */
859
648
  protected _readyPass(full: boolean): Promise<void>;
860
649
  /** @inheritdoc ICalculation.getCalculationState */
861
650
  getCalculationState(): ICalculation.CalculationState;
862
651
  /**
863
652
  * Work in flight: answers owed to the model, a drain posted or running, deferred actions, a pass
864
- * owed or running, the boot. What `ready()` waits out.
653
+ * owed or running, the boot, and what consumers derive from the results ({@link waitUntil}) -
654
+ * except in manual mode, where the pass that work waits for runs only when asked. What `ready()`
655
+ * waits out.
865
656
  */
866
657
  protected _isWorking(): boolean;
867
658
  /**
@@ -949,6 +740,8 @@ export declare namespace Calculation {
949
740
  unanchored?: boolean;
950
741
  /** `true` for a body whose every cell is its own 1x1 array-entered formula. See {@link ICalcGrid.isArrayFirstCell}. */
951
742
  arrayFirstCell?: boolean;
743
+ /** `true` for a body whose blank region may be evaluated a tile at a time. See {@link FormulaHost.request}. */
744
+ paged?: boolean;
952
745
  /** The grid's size: fixed, a name's. */
953
746
  entireCoords?: IRange.Coords;
954
747
  /** The grid whose size the body has, whatever it is then: a sheet's, for a body on it. */
@@ -960,8 +753,8 @@ export declare namespace Calculation {
960
753
  }
961
754
  /** The owner's sheet list as {@link Calculation._setSheets} holds it. */
962
755
  interface SheetList {
963
- /** Every sheet's grid id and name, in tab order. */
964
- readonly sheets: readonly (readonly [id: string, name: string | null])[];
756
+ /** Every sheet's grid id and name, in tab order, and `true` third for a sheet with no grid. */
757
+ readonly sheets: readonly (readonly [id: string, name: string | null, gridless?: boolean])[];
965
758
  }
966
759
  /** See {@link Calculation._createCalcGrid}. */
967
760
  interface CalcGridOptions extends CalcGrid.HostOptions, Pick<CalcGrid.ConstructorOptions, 'valuesAxis'> {
@@ -973,6 +766,8 @@ export declare namespace Calculation {
973
766
  unanchored?: boolean;
974
767
  /** See {@link CalcGridSpec.arrayFirstCell}. */
975
768
  arrayFirstCell?: boolean;
769
+ /** See {@link CalcGridSpec.paged}. */
770
+ paged?: boolean;
976
771
  /** See {@link CalcGridSpec.entireCoords}. */
977
772
  entireCoords?: IRange.Coords;
978
773
  /** See {@link CalcGridSpec.sizeOf}. */
@@ -1090,70 +885,5 @@ interface HeldRequest {
1090
885
  resolve: (response: CalcResponse | PromiseLike<CalcResponse>) => void;
1091
886
  reject: (error: unknown) => void;
1092
887
  }
1093
- interface State extends AbstractModel.State {
1094
- /** The model commit this engine commit mirrors; written by every mirror so the commit lands. */
1095
- mirrorOf?: string;
1096
- /**
1097
- * Top down evaluation and marking dirty.
1098
- * This is the only spatial map that is completely updated via api.
1099
- *
1100
- * @remarks
1101
- * For top down evaluation and marking formulas dirty.
1102
- */
1103
- formulaSpatial: ISpatialMap3D<FormulaSpatialValue>;
1104
- /**
1105
- * Tracks the inputs to formulas.
1106
- *
1107
- * @remarks
1108
- * * For bottom up marking dirty.
1109
- * * Contains a back-pointer to the formula.
1110
- *
1111
- */
1112
- precedentSpatial: ISpatialMap3D<PrecedentSpatialValue>;
1113
- /**
1114
- * Tracks dynamic precedents by block.
1115
- * Used to remove old dynamic precedents when a block is re-evaluated and to add new ones after evaluation.
1116
- */
1117
- dynamicByBlock: Map<FormulaSpatialValue, ISpatialMap.Entry<PrecedentSpatialValue>[]>;
1118
- /**
1119
- * Dirty regions
1120
- */
1121
- dirtySpatial: ISpatialMap3D;
1122
- /**
1123
- * If true, the next calculation will be a full calc regardless of dirty state. Used for example when the engine detects a circular dependency and needs to fallback to iterative calculation or when the user explicitly requests a full calc.
1124
- */
1125
- isFullCalcRequired: boolean;
1126
- /**
1127
- * All registered grids.
1128
- */
1129
- gridsAll: Map<string, CalcGridBackend>;
1130
- /**
1131
- * The engine's replica of the model's sheet list (DESIGN-CALC-SERVICE §8): grid id to name, in
1132
- * tab order. What every symbol lookup, span and sheet-position function reads. Fed by the
1133
- * `sheets` message and by grid registration; versioned here so a revert restores it with the
1134
- * formulas that bound through it.
1135
- */
1136
- sheets: ReadonlyMap<string, string | null>;
1137
- /**
1138
- * The engine's replica of the model's tables (DESIGN-CALC-SERVICE §8): table id to its name and
1139
- * its columns' ids and names. What a structured reference binds and images through. Fed by the
1140
- * `tables` message, seeded at a start, versioned here as {@link sheets} is.
1141
- */
1142
- tables: ReadonlyMap<string, TableSymbols>;
1143
- /**
1144
- * The engine's replica of the defined names: name id to its spelling and the sheet it is scoped
1145
- * to. What a name binds and images through. Fed by the `names` message, as {@link tables} is.
1146
- */
1147
- names: ReadonlyMap<string, NameSymbols>;
1148
- /**
1149
- * Each grid's per-grid maps as of this snapshot (`CalcGridMaps`): values, contentful, spills,
1150
- * errors, pending, circular. Copy-on-write per request; handed back to the grid on a restore.
1151
- */
1152
- gridMaps: Map<string, object>;
1153
- /**
1154
- * Listeners to individual named items
1155
- */
1156
- itemRemoveListeners: (() => void)[];
1157
- }
1158
888
  export {};
1159
889
  //# sourceMappingURL=Calculation.d.ts.map