@elaraai/e3-ui 1.0.97 → 1.0.99

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 (491) hide show
  1. package/README.md +0 -2
  2. package/dist/src/allocation/adapters.d.ts +1 -1
  3. package/dist/src/allocation/adapters.js +1 -1
  4. package/dist/src/allocation/index.d.ts +232 -25
  5. package/dist/src/allocation/index.d.ts.map +1 -1
  6. package/dist/src/allocation/index.js +35 -6
  7. package/dist/src/allocation/index.js.map +1 -1
  8. package/dist/src/allocation/types.d.ts +41 -0
  9. package/dist/src/allocation/types.d.ts.map +1 -1
  10. package/dist/src/allocation/types.js +35 -0
  11. package/dist/src/allocation/types.js.map +1 -1
  12. package/dist/src/bind/data-indexed.d.ts +286 -37
  13. package/dist/src/bind/data-indexed.d.ts.map +1 -1
  14. package/dist/src/bind/data-indexed.js +259 -38
  15. package/dist/src/bind/data-indexed.js.map +1 -1
  16. package/dist/src/bind/data.d.ts +48 -9
  17. package/dist/src/bind/data.d.ts.map +1 -1
  18. package/dist/src/bind/data.js +48 -3
  19. package/dist/src/bind/data.js.map +1 -1
  20. package/dist/src/bind/record.d.ts +61 -24
  21. package/dist/src/bind/record.d.ts.map +1 -1
  22. package/dist/src/bind/record.js +17 -57
  23. package/dist/src/bind/record.js.map +1 -1
  24. package/dist/src/calendar/index.d.ts +522 -36
  25. package/dist/src/calendar/index.d.ts.map +1 -1
  26. package/dist/src/calendar/index.js +53 -13
  27. package/dist/src/calendar/index.js.map +1 -1
  28. package/dist/src/calendar/paged.d.ts +89 -0
  29. package/dist/src/calendar/paged.d.ts.map +1 -0
  30. package/dist/src/calendar/paged.js +148 -0
  31. package/dist/src/calendar/paged.js.map +1 -0
  32. package/dist/src/flowchart/index.d.ts +35 -31
  33. package/dist/src/flowchart/index.d.ts.map +1 -1
  34. package/dist/src/flowchart/index.js +35 -31
  35. package/dist/src/flowchart/index.js.map +1 -1
  36. package/dist/src/flowchart/library.d.ts +108 -84
  37. package/dist/src/flowchart/library.d.ts.map +1 -1
  38. package/dist/src/flowchart/library.js +108 -84
  39. package/dist/src/flowchart/library.js.map +1 -1
  40. package/dist/src/flowchart/payload.d.ts +105 -17
  41. package/dist/src/flowchart/payload.d.ts.map +1 -1
  42. package/dist/src/flowchart/payload.js +3 -3
  43. package/dist/src/flowchart/payload.js.map +1 -1
  44. package/dist/src/flowchart/values.d.ts +35 -31
  45. package/dist/src/flowchart/values.d.ts.map +1 -1
  46. package/dist/src/flowchart/values.js +35 -31
  47. package/dist/src/flowchart/values.js.map +1 -1
  48. package/dist/src/flowchart/window.d.ts.map +1 -1
  49. package/dist/src/flowchart/window.js +3 -2
  50. package/dist/src/flowchart/window.js.map +1 -1
  51. package/dist/src/index.d.ts +13 -4
  52. package/dist/src/index.d.ts.map +1 -1
  53. package/dist/src/index.js +20 -1
  54. package/dist/src/index.js.map +1 -1
  55. package/dist/src/internal.d.ts +18 -8
  56. package/dist/src/internal.d.ts.map +1 -1
  57. package/dist/src/internal.js +40 -10
  58. package/dist/src/internal.js.map +1 -1
  59. package/dist/src/plan/assemble.d.ts +8 -0
  60. package/dist/src/plan/assemble.d.ts.map +1 -1
  61. package/dist/src/plan/assemble.js +1 -1
  62. package/dist/src/plan/assemble.js.map +1 -1
  63. package/dist/src/plan/builders.d.ts +1530 -10
  64. package/dist/src/plan/builders.d.ts.map +1 -1
  65. package/dist/src/plan/builders.js +260 -122
  66. package/dist/src/plan/builders.js.map +1 -1
  67. package/dist/src/plan/event-rows.d.ts +224 -157
  68. package/dist/src/plan/event-rows.d.ts.map +1 -1
  69. package/dist/src/plan/event-rows.js +201 -56
  70. package/dist/src/plan/event-rows.js.map +1 -1
  71. package/dist/src/plan/factories.d.ts +72 -4
  72. package/dist/src/plan/factories.d.ts.map +1 -1
  73. package/dist/src/plan/factories.js +147 -1
  74. package/dist/src/plan/factories.js.map +1 -1
  75. package/dist/src/plan/index.d.ts +152 -125
  76. package/dist/src/plan/index.d.ts.map +1 -1
  77. package/dist/src/plan/index.js +138 -122
  78. package/dist/src/plan/index.js.map +1 -1
  79. package/dist/src/plan/ir.d.ts +1139 -8
  80. package/dist/src/plan/ir.d.ts.map +1 -1
  81. package/dist/src/plan/ir.js +5 -0
  82. package/dist/src/plan/ir.js.map +1 -1
  83. package/dist/src/plan/library.d.ts +65 -42
  84. package/dist/src/plan/library.d.ts.map +1 -1
  85. package/dist/src/plan/library.js +65 -42
  86. package/dist/src/plan/library.js.map +1 -1
  87. package/dist/src/plan/nested-checks.d.ts +146 -0
  88. package/dist/src/plan/nested-checks.d.ts.map +1 -0
  89. package/dist/src/plan/nested-checks.js +468 -0
  90. package/dist/src/plan/nested-checks.js.map +1 -0
  91. package/dist/src/plan/nested-patch.d.ts +35 -0
  92. package/dist/src/plan/nested-patch.d.ts.map +1 -0
  93. package/dist/src/plan/nested-patch.js +143 -0
  94. package/dist/src/plan/nested-patch.js.map +1 -0
  95. package/dist/src/plan/nested-read.d.ts +3250 -0
  96. package/dist/src/plan/nested-read.d.ts.map +1 -0
  97. package/dist/src/plan/nested-read.js +163 -0
  98. package/dist/src/plan/nested-read.js.map +1 -0
  99. package/dist/src/plan/nested.d.ts +280 -0
  100. package/dist/src/plan/nested.d.ts.map +1 -0
  101. package/dist/src/plan/nested.js +6 -0
  102. package/dist/src/plan/nested.js.map +1 -0
  103. package/dist/src/plan/ordered-source.d.ts +3067 -1
  104. package/dist/src/plan/ordered-source.d.ts.map +1 -1
  105. package/dist/src/plan/ordered-source.js +67 -17
  106. package/dist/src/plan/ordered-source.js.map +1 -1
  107. package/dist/src/plan/over.d.ts +111 -75
  108. package/dist/src/plan/over.d.ts.map +1 -1
  109. package/dist/src/plan/over.js +111 -75
  110. package/dist/src/plan/over.js.map +1 -1
  111. package/dist/src/plan/pick.d.ts +15 -3
  112. package/dist/src/plan/pick.d.ts.map +1 -1
  113. package/dist/src/plan/pick.js +75 -36
  114. package/dist/src/plan/pick.js.map +1 -1
  115. package/dist/src/plan/plan.d.ts +3143 -501
  116. package/dist/src/plan/plan.d.ts.map +1 -1
  117. package/dist/src/plan/plan.js +133 -34
  118. package/dist/src/plan/plan.js.map +1 -1
  119. package/dist/src/plan/reads.d.ts +421 -0
  120. package/dist/src/plan/reads.d.ts.map +1 -0
  121. package/dist/src/plan/reads.js +143 -0
  122. package/dist/src/plan/reads.js.map +1 -0
  123. package/dist/src/plan/refs.d.ts +111 -75
  124. package/dist/src/plan/refs.d.ts.map +1 -1
  125. package/dist/src/plan/refs.js +111 -75
  126. package/dist/src/plan/refs.js.map +1 -1
  127. package/dist/src/plan/root.d.ts +14 -7
  128. package/dist/src/plan/root.d.ts.map +1 -1
  129. package/dist/src/plan/root.js +82 -17
  130. package/dist/src/plan/root.js.map +1 -1
  131. package/dist/src/plan/series.d.ts +5153 -4331
  132. package/dist/src/plan/series.d.ts.map +1 -1
  133. package/dist/src/plan/series.js +1082 -266
  134. package/dist/src/plan/series.js.map +1 -1
  135. package/dist/src/plan/shade.d.ts +981 -0
  136. package/dist/src/plan/shade.d.ts.map +1 -0
  137. package/dist/src/plan/shade.js +60 -0
  138. package/dist/src/plan/shade.js.map +1 -0
  139. package/dist/src/plan/types.d.ts +192 -18
  140. package/dist/src/plan/types.d.ts.map +1 -1
  141. package/dist/src/plan/types.js +77 -19
  142. package/dist/src/plan/types.js.map +1 -1
  143. package/dist/src/query/builder.d.ts +3 -3
  144. package/dist/src/query/builder.d.ts.map +1 -1
  145. package/dist/src/query/builder.js +1 -1
  146. package/dist/src/query/library.d.ts +3 -3
  147. package/dist/src/query/library.d.ts.map +1 -1
  148. package/dist/src/query/library.js +1 -1
  149. package/dist/src/query/queries.d.ts +2 -2
  150. package/dist/src/query/queries.js +1 -1
  151. package/dist/src/query/saved.d.ts +8 -4
  152. package/dist/src/query/saved.d.ts.map +1 -1
  153. package/dist/src/query/saved.js +8 -4
  154. package/dist/src/query/saved.js.map +1 -1
  155. package/dist/src/query/types.d.ts +8 -3
  156. package/dist/src/query/types.d.ts.map +1 -1
  157. package/dist/src/query/types.js +8 -3
  158. package/dist/src/query/types.js.map +1 -1
  159. package/dist/src/roster/index.d.ts +583 -39
  160. package/dist/src/roster/index.d.ts.map +1 -1
  161. package/dist/src/roster/index.js +109 -35
  162. package/dist/src/roster/index.js.map +1 -1
  163. package/dist/src/roster/library.d.ts +12 -2
  164. package/dist/src/roster/library.d.ts.map +1 -1
  165. package/dist/src/roster/library.js +8 -0
  166. package/dist/src/roster/library.js.map +1 -1
  167. package/dist/src/roster/lists.d.ts +59 -12
  168. package/dist/src/roster/lists.d.ts.map +1 -1
  169. package/dist/src/roster/lists.js +51 -58
  170. package/dist/src/roster/lists.js.map +1 -1
  171. package/dist/src/roster/targets.d.ts +8 -4
  172. package/dist/src/roster/targets.d.ts.map +1 -1
  173. package/dist/src/roster/targets.js +9 -5
  174. package/dist/src/roster/targets.js.map +1 -1
  175. package/dist/src/roster/times.d.ts +402 -0
  176. package/dist/src/roster/times.d.ts.map +1 -1
  177. package/dist/src/roster/types.d.ts +913 -1
  178. package/dist/src/roster/types.d.ts.map +1 -1
  179. package/dist/src/roster/types.js +43 -3
  180. package/dist/src/roster/types.js.map +1 -1
  181. package/dist/src/schedule/cell-checks.d.ts +85 -0
  182. package/dist/src/schedule/cell-checks.d.ts.map +1 -0
  183. package/dist/src/schedule/cell-checks.js +211 -0
  184. package/dist/src/schedule/cell-checks.js.map +1 -0
  185. package/dist/src/schedule/days.d.ts +1 -1
  186. package/dist/src/schedule/days.js +1 -1
  187. package/dist/src/schedule/events.d.ts +52 -16
  188. package/dist/src/schedule/events.d.ts.map +1 -1
  189. package/dist/src/schedule/events.js +574 -356
  190. package/dist/src/schedule/events.js.map +1 -1
  191. package/dist/src/schedule/fields.d.ts +134 -0
  192. package/dist/src/schedule/fields.d.ts.map +1 -0
  193. package/dist/src/schedule/fields.js +207 -0
  194. package/dist/src/schedule/fields.js.map +1 -0
  195. package/dist/src/schedule/library.d.ts +11 -3
  196. package/dist/src/schedule/library.d.ts.map +1 -1
  197. package/dist/src/schedule/library.js +9 -6
  198. package/dist/src/schedule/library.js.map +1 -1
  199. package/dist/src/schedule/optimise.d.ts +124 -0
  200. package/dist/src/schedule/optimise.d.ts.map +1 -0
  201. package/dist/src/schedule/optimise.js +140 -0
  202. package/dist/src/schedule/optimise.js.map +1 -0
  203. package/dist/src/schedule/pages.d.ts +76 -0
  204. package/dist/src/schedule/pages.d.ts.map +1 -0
  205. package/dist/src/schedule/pages.js +86 -0
  206. package/dist/src/schedule/pages.js.map +1 -0
  207. package/dist/src/schedule/patch.d.ts +1 -1
  208. package/dist/src/schedule/patch.js +1 -1
  209. package/dist/src/schedule/periods.d.ts +8 -4
  210. package/dist/src/schedule/periods.d.ts.map +1 -1
  211. package/dist/src/schedule/periods.js +1 -1
  212. package/dist/src/schedule/periods.js.map +1 -1
  213. package/dist/src/schedule/record-window.d.ts +115 -22
  214. package/dist/src/schedule/record-window.d.ts.map +1 -1
  215. package/dist/src/schedule/record-window.js +140 -62
  216. package/dist/src/schedule/record-window.js.map +1 -1
  217. package/dist/src/schedule/resources.d.ts +9 -5
  218. package/dist/src/schedule/resources.d.ts.map +1 -1
  219. package/dist/src/schedule/resources.js +35 -15
  220. package/dist/src/schedule/resources.js.map +1 -1
  221. package/dist/src/schedule/session.d.ts +15 -1
  222. package/dist/src/schedule/session.d.ts.map +1 -1
  223. package/dist/src/schedule/session.js +30 -18
  224. package/dist/src/schedule/session.js.map +1 -1
  225. package/dist/src/schedule/types.d.ts +455 -37
  226. package/dist/src/schedule/types.d.ts.map +1 -1
  227. package/dist/src/schedule/types.js +79 -18
  228. package/dist/src/schedule/types.js.map +1 -1
  229. package/dist/src/schedule/window.d.ts +30 -9
  230. package/dist/src/schedule/window.d.ts.map +1 -1
  231. package/dist/src/schedule/window.js +101 -49
  232. package/dist/src/schedule/window.js.map +1 -1
  233. package/dist/src/schematic/index.d.ts +287 -0
  234. package/dist/src/schematic/index.d.ts.map +1 -0
  235. package/dist/src/schematic/index.js +216 -0
  236. package/dist/src/schematic/index.js.map +1 -0
  237. package/dist/src/schematic/kinds.d.ts +501 -0
  238. package/dist/src/schematic/kinds.d.ts.map +1 -0
  239. package/dist/src/schematic/kinds.js +1027 -0
  240. package/dist/src/schematic/kinds.js.map +1 -0
  241. package/dist/src/schematic/layers.d.ts +74 -0
  242. package/dist/src/schematic/layers.d.ts.map +1 -0
  243. package/dist/src/schematic/layers.js +99 -0
  244. package/dist/src/schematic/layers.js.map +1 -0
  245. package/dist/src/schematic/library.d.ts +202 -0
  246. package/dist/src/schematic/library.d.ts.map +1 -0
  247. package/dist/src/schematic/library.js +244 -0
  248. package/dist/src/schematic/library.js.map +1 -0
  249. package/dist/src/schematic/payload.d.ts +8310 -0
  250. package/dist/src/schematic/payload.d.ts.map +1 -0
  251. package/dist/src/schematic/payload.js +446 -0
  252. package/dist/src/schematic/payload.js.map +1 -0
  253. package/dist/src/schematic/schematic.d.ts +27 -0
  254. package/dist/src/schematic/schematic.d.ts.map +1 -0
  255. package/dist/src/schematic/schematic.js +17 -0
  256. package/dist/src/schematic/schematic.js.map +1 -0
  257. package/dist/src/schematic/shapes.d.ts +150 -0
  258. package/dist/src/schematic/shapes.d.ts.map +1 -0
  259. package/dist/src/schematic/shapes.js +171 -0
  260. package/dist/src/schematic/shapes.js.map +1 -0
  261. package/dist/src/schematic/templates.d.ts +96 -0
  262. package/dist/src/schematic/templates.d.ts.map +1 -0
  263. package/dist/src/schematic/templates.js +91 -0
  264. package/dist/src/schematic/templates.js.map +1 -0
  265. package/dist/src/schematic/types.d.ts +5766 -0
  266. package/dist/src/schematic/types.d.ts.map +1 -0
  267. package/dist/src/schematic/types.js +688 -0
  268. package/dist/src/schematic/types.js.map +1 -0
  269. package/dist/src/schematic/window.d.ts +213 -0
  270. package/dist/src/schematic/window.d.ts.map +1 -0
  271. package/dist/src/schematic/window.js +340 -0
  272. package/dist/src/schematic/window.js.map +1 -0
  273. package/dist/src/sheet/bridge.d.ts +19 -0
  274. package/dist/src/sheet/bridge.d.ts.map +1 -1
  275. package/dist/src/sheet/bridge.js +28 -21
  276. package/dist/src/sheet/bridge.js.map +1 -1
  277. package/dist/src/sheet/editing-bridge.d.ts +4 -2
  278. package/dist/src/sheet/editing-bridge.d.ts.map +1 -1
  279. package/dist/src/sheet/editing-bridge.js +8 -2
  280. package/dist/src/sheet/editing-bridge.js.map +1 -1
  281. package/dist/src/sheet/editing-types.d.ts +9 -5
  282. package/dist/src/sheet/editing-types.d.ts.map +1 -1
  283. package/dist/src/sheet/editing-types.js +9 -5
  284. package/dist/src/sheet/editing-types.js.map +1 -1
  285. package/dist/src/sheet/index.d.ts +84 -54
  286. package/dist/src/sheet/index.d.ts.map +1 -1
  287. package/dist/src/sheet/index.js +81 -53
  288. package/dist/src/sheet/index.js.map +1 -1
  289. package/dist/src/sheet/library.d.ts +13 -8
  290. package/dist/src/sheet/library.d.ts.map +1 -1
  291. package/dist/src/sheet/library.js +13 -8
  292. package/dist/src/sheet/library.js.map +1 -1
  293. package/dist/src/sheet/optimise.d.ts +69 -0
  294. package/dist/src/sheet/optimise.d.ts.map +1 -0
  295. package/dist/src/sheet/optimise.js +81 -0
  296. package/dist/src/sheet/optimise.js.map +1 -0
  297. package/dist/src/sheet/record.d.ts +1 -1
  298. package/dist/src/sheet/record.js +2 -2
  299. package/dist/src/sheet/record.js.map +1 -1
  300. package/dist/src/sheet/registers.d.ts +157 -133
  301. package/dist/src/sheet/registers.d.ts.map +1 -1
  302. package/dist/src/sheet/registers.js +157 -133
  303. package/dist/src/sheet/registers.js.map +1 -1
  304. package/dist/src/sheet/root.d.ts +6 -1
  305. package/dist/src/sheet/root.d.ts.map +1 -1
  306. package/dist/src/sheet/root.js +17 -5
  307. package/dist/src/sheet/root.js.map +1 -1
  308. package/dist/src/sheet/sheet.d.ts +696 -590
  309. package/dist/src/sheet/sheet.d.ts.map +1 -1
  310. package/dist/src/sheet/sheet.js +49 -15
  311. package/dist/src/sheet/sheet.js.map +1 -1
  312. package/dist/src/sheet/sub-rows.d.ts +106 -76
  313. package/dist/src/sheet/sub-rows.d.ts.map +1 -1
  314. package/dist/src/sheet/sub-rows.js +106 -76
  315. package/dist/src/sheet/sub-rows.js.map +1 -1
  316. package/dist/src/sheet/types.d.ts +57 -20
  317. package/dist/src/sheet/types.d.ts.map +1 -1
  318. package/dist/src/sheet/types.js +4 -8
  319. package/dist/src/sheet/types.js.map +1 -1
  320. package/dist/src/studio/builder.d.ts +3 -153
  321. package/dist/src/studio/builder.d.ts.map +1 -1
  322. package/dist/src/studio/builder.js +1 -1
  323. package/dist/src/studio/canvas.d.ts +5 -4
  324. package/dist/src/studio/canvas.d.ts.map +1 -1
  325. package/dist/src/studio/canvas.js +8 -7
  326. package/dist/src/studio/canvas.js.map +1 -1
  327. package/dist/src/studio/component.d.ts +30 -20
  328. package/dist/src/studio/component.d.ts.map +1 -1
  329. package/dist/src/studio/component.js +26 -61
  330. package/dist/src/studio/component.js.map +1 -1
  331. package/dist/src/studio/index.d.ts +2 -2
  332. package/dist/src/studio/index.d.ts.map +1 -1
  333. package/dist/src/studio/index.js +1 -1
  334. package/dist/src/studio/index.js.map +1 -1
  335. package/dist/src/studio/inspector.d.ts +10 -39
  336. package/dist/src/studio/inspector.d.ts.map +1 -1
  337. package/dist/src/studio/inspector.js +11 -31
  338. package/dist/src/studio/inspector.js.map +1 -1
  339. package/dist/src/studio/library.d.ts +3 -169
  340. package/dist/src/studio/library.d.ts.map +1 -1
  341. package/dist/src/studio/library.js +1 -1
  342. package/dist/src/studio/page.d.ts +0 -8
  343. package/dist/src/studio/page.d.ts.map +1 -1
  344. package/dist/src/studio/pages.d.ts +17 -591
  345. package/dist/src/studio/pages.d.ts.map +1 -1
  346. package/dist/src/studio/pages.js +17 -44
  347. package/dist/src/studio/pages.js.map +1 -1
  348. package/dist/src/studio/palette.d.ts +2 -7
  349. package/dist/src/studio/palette.d.ts.map +1 -1
  350. package/dist/src/studio/palette.js +4 -5
  351. package/dist/src/studio/palette.js.map +1 -1
  352. package/dist/src/studio/publish.d.ts +8 -18
  353. package/dist/src/studio/publish.d.ts.map +1 -1
  354. package/dist/src/studio/publish.js +10 -36
  355. package/dist/src/studio/publish.js.map +1 -1
  356. package/dist/src/utils/derive.d.ts +12 -12
  357. package/dist/src/utils/derive.d.ts.map +1 -1
  358. package/dist/src/utils/derive.js +5 -2
  359. package/dist/src/utils/derive.js.map +1 -1
  360. package/dist/src/utils/keyed-rows.d.ts +41 -0
  361. package/dist/src/utils/keyed-rows.d.ts.map +1 -0
  362. package/dist/src/utils/keyed-rows.js +64 -0
  363. package/dist/src/utils/keyed-rows.js.map +1 -0
  364. package/dist/src/utils/optimise.d.ts +79 -0
  365. package/dist/src/utils/optimise.d.ts.map +1 -0
  366. package/dist/src/utils/optimise.js +46 -0
  367. package/dist/src/utils/optimise.js.map +1 -0
  368. package/dist/src/utils/ordered-source.d.ts.map +1 -1
  369. package/dist/src/utils/ordered-source.js +14 -5
  370. package/dist/src/utils/ordered-source.js.map +1 -1
  371. package/dist/test/allocation/allocation.examples.d.ts +1900 -1610
  372. package/dist/test/allocation/allocation.examples.d.ts.map +1 -1
  373. package/dist/test/allocation/allocation.examples.js +179 -89
  374. package/dist/test/allocation/allocation.examples.js.map +1 -1
  375. package/dist/test/allocation/optimise.examples.d.ts +109 -0
  376. package/dist/test/allocation/optimise.examples.d.ts.map +1 -0
  377. package/dist/test/allocation/optimise.examples.js +223 -0
  378. package/dist/test/allocation/optimise.examples.js.map +1 -0
  379. package/dist/test/bind/data/data.examples.d.ts +1172 -514
  380. package/dist/test/bind/data/data.examples.d.ts.map +1 -1
  381. package/dist/test/bind/data/data.examples.js +284 -164
  382. package/dist/test/bind/data/data.examples.js.map +1 -1
  383. package/dist/test/bind/record/record.examples.d.ts +457 -428
  384. package/dist/test/bind/record/record.examples.d.ts.map +1 -1
  385. package/dist/test/bind/record/record.examples.js +41 -21
  386. package/dist/test/bind/record/record.examples.js.map +1 -1
  387. package/dist/test/calendar/calendar-records.examples.d.ts +162 -170
  388. package/dist/test/calendar/calendar-records.examples.d.ts.map +1 -1
  389. package/dist/test/calendar/calendar-records.examples.js +20 -12
  390. package/dist/test/calendar/calendar-records.examples.js.map +1 -1
  391. package/dist/test/calendar/calendar-windows.examples.d.ts +9 -0
  392. package/dist/test/calendar/calendar-windows.examples.d.ts.map +1 -0
  393. package/dist/test/calendar/calendar-windows.examples.js +111 -0
  394. package/dist/test/calendar/calendar-windows.examples.js.map +1 -0
  395. package/dist/test/calendar/calendar.examples.d.ts +1172 -915
  396. package/dist/test/calendar/calendar.examples.d.ts.map +1 -1
  397. package/dist/test/calendar/calendar.examples.js +211 -124
  398. package/dist/test/calendar/calendar.examples.js.map +1 -1
  399. package/dist/test/calendar/optimise.examples.d.ts +132 -0
  400. package/dist/test/calendar/optimise.examples.d.ts.map +1 -0
  401. package/dist/test/calendar/optimise.examples.js +75 -0
  402. package/dist/test/calendar/optimise.examples.js.map +1 -0
  403. package/dist/test/examples-package.d.ts +49 -16
  404. package/dist/test/examples-package.d.ts.map +1 -1
  405. package/dist/test/examples-package.js +138 -49
  406. package/dist/test/examples-package.js.map +1 -1
  407. package/dist/test/flowchart/flowchart.examples.d.ts +3841 -2840
  408. package/dist/test/flowchart/flowchart.examples.d.ts.map +1 -1
  409. package/dist/test/flowchart/flowchart.examples.js +211 -121
  410. package/dist/test/flowchart/flowchart.examples.js.map +1 -1
  411. package/dist/test/plan/optimise.examples.d.ts +207 -0
  412. package/dist/test/plan/optimise.examples.d.ts.map +1 -0
  413. package/dist/test/plan/optimise.examples.js +98 -0
  414. package/dist/test/plan/optimise.examples.js.map +1 -0
  415. package/dist/test/plan/plan-events.examples.d.ts +4055 -3279
  416. package/dist/test/plan/plan-events.examples.d.ts.map +1 -1
  417. package/dist/test/plan/plan-events.examples.js +492 -319
  418. package/dist/test/plan/plan-events.examples.js.map +1 -1
  419. package/dist/test/plan/plan-nested.examples.d.ts +1829 -0
  420. package/dist/test/plan/plan-nested.examples.d.ts.map +1 -0
  421. package/dist/test/plan/plan-nested.examples.js +321 -0
  422. package/dist/test/plan/plan-nested.examples.js.map +1 -0
  423. package/dist/test/plan/plan-records.examples.d.ts +391 -244
  424. package/dist/test/plan/plan-records.examples.d.ts.map +1 -1
  425. package/dist/test/plan/plan-records.examples.js +186 -65
  426. package/dist/test/plan/plan-records.examples.js.map +1 -1
  427. package/dist/test/plan/plan-windows.examples.d.ts +1978 -803
  428. package/dist/test/plan/plan-windows.examples.d.ts.map +1 -1
  429. package/dist/test/plan/plan-windows.examples.js +269 -99
  430. package/dist/test/plan/plan-windows.examples.js.map +1 -1
  431. package/dist/test/plan/plan.examples.d.ts +2238 -5726
  432. package/dist/test/plan/plan.examples.d.ts.map +1 -1
  433. package/dist/test/plan/plan.examples.js +846 -973
  434. package/dist/test/plan/plan.examples.js.map +1 -1
  435. package/dist/test/query/query.examples.d.ts +5221 -3005
  436. package/dist/test/query/query.examples.d.ts.map +1 -1
  437. package/dist/test/query/query.examples.js +169 -118
  438. package/dist/test/query/query.examples.js.map +1 -1
  439. package/dist/test/roster/domain.examples.d.ts +804 -0
  440. package/dist/test/roster/domain.examples.d.ts.map +1 -1
  441. package/dist/test/roster/domain.examples.js +3 -3
  442. package/dist/test/roster/domain.examples.js.map +1 -1
  443. package/dist/test/roster/optimise.examples.d.ts +485 -0
  444. package/dist/test/roster/optimise.examples.d.ts.map +1 -0
  445. package/dist/test/roster/optimise.examples.js +155 -0
  446. package/dist/test/roster/optimise.examples.js.map +1 -0
  447. package/dist/test/roster/roster-records.examples.d.ts +364 -404
  448. package/dist/test/roster/roster-records.examples.d.ts.map +1 -1
  449. package/dist/test/roster/roster-records.examples.js +40 -26
  450. package/dist/test/roster/roster-records.examples.js.map +1 -1
  451. package/dist/test/roster/roster.examples.d.ts +5091 -1424
  452. package/dist/test/roster/roster.examples.d.ts.map +1 -1
  453. package/dist/test/roster/roster.examples.js +255 -109
  454. package/dist/test/roster/roster.examples.js.map +1 -1
  455. package/dist/test/roster/warehouse.d.ts +150 -7
  456. package/dist/test/roster/warehouse.d.ts.map +1 -1
  457. package/dist/test/roster/warehouse.js +36 -11
  458. package/dist/test/roster/warehouse.js.map +1 -1
  459. package/dist/test/schedule/schedule.examples.d.ts +2646 -2473
  460. package/dist/test/schedule/schedule.examples.d.ts.map +1 -1
  461. package/dist/test/schedule/schedule.examples.js +144 -88
  462. package/dist/test/schedule/schedule.examples.js.map +1 -1
  463. package/dist/test/schematic/schematic-records.examples.d.ts +454 -0
  464. package/dist/test/schematic/schematic-records.examples.d.ts.map +1 -0
  465. package/dist/test/schematic/schematic-records.examples.js +219 -0
  466. package/dist/test/schematic/schematic-records.examples.js.map +1 -0
  467. package/dist/test/schematic/schematic.examples.d.ts +2640 -0
  468. package/dist/test/schematic/schematic.examples.d.ts.map +1 -0
  469. package/dist/test/schematic/schematic.examples.js +559 -0
  470. package/dist/test/schematic/schematic.examples.js.map +1 -0
  471. package/dist/test/sheet/optimise.examples.d.ts +184 -0
  472. package/dist/test/sheet/optimise.examples.d.ts.map +1 -0
  473. package/dist/test/sheet/optimise.examples.js +79 -0
  474. package/dist/test/sheet/optimise.examples.js.map +1 -0
  475. package/dist/test/sheet/sheet-records.examples.d.ts +208 -356
  476. package/dist/test/sheet/sheet-records.examples.d.ts.map +1 -1
  477. package/dist/test/sheet/sheet-records.examples.js +66 -29
  478. package/dist/test/sheet/sheet-records.examples.js.map +1 -1
  479. package/dist/test/sheet/sheet.examples.d.ts +3650 -3377
  480. package/dist/test/sheet/sheet.examples.d.ts.map +1 -1
  481. package/dist/test/sheet/sheet.examples.js +406 -296
  482. package/dist/test/sheet/sheet.examples.js.map +1 -1
  483. package/dist/test/studio/component.examples.js +2 -2
  484. package/dist/test/studio/component.examples.js.map +1 -1
  485. package/dist/test/studio/page.examples.js +6 -6
  486. package/dist/test/studio/page.examples.js.map +1 -1
  487. package/dist/test/studio/studio.examples.d.ts +2329 -873
  488. package/dist/test/studio/studio.examples.d.ts.map +1 -1
  489. package/dist/test/studio/studio.examples.js +155 -107
  490. package/dist/test/studio/studio.examples.js.map +1 -1
  491. package/package.json +15 -11
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/schematic/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,213 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ /**
6
+ * A Schematic kind's reads (#1386, `Schematic Builder Spec.md` §10.4): its
7
+ * record read whole, or its narrowing read complete through its source of the
8
+ * Schematic's `Slice.bindRecords` — the record slice's `PagedScan`, over
9
+ * `recordSliceReadPlatform` — each answering `none` while a read is in flight.
10
+ * Reading by area — a viewport's window from an area index alone, and the
11
+ * density at overview (§10.4, #1393) — is the renderer's reader's, which reads
12
+ * a window by its cells as the Plan's events are read (D41): what this module
13
+ * gives it is which index and which searches a window reads
14
+ * ({@link schematicAreaIndexes}, {@link schematicWindowPlan}), the agreement
15
+ * of an area index's box with the kind's roles (SC34), and the density's
16
+ * raster ({@link schematicRaster}); the kind's `rowsOf` makes the rows it
17
+ * reads its stored rows.
18
+ *
19
+ * Through its source a kind reads what its narrowing holds and nothing else:
20
+ * the source's choices, each as the rail holds it. Under `narrowed="dim"` it
21
+ * reads every row through its source instead, and never the narrowing, so a
22
+ * choice reads none of its rows again: the renderer draws the rows the
23
+ * narrowing leaves out as context, from the source's shown keys (§10.3,
24
+ * #1392). An entry's row is its `row` — the source joins it — or its `value`,
25
+ * for an index that carries the whole row (D29).
26
+ *
27
+ * @packageDocumentation
28
+ */
29
+ import { DictType, OptionType, StringType, StructType, type EastType, type ExprType, type FunctionType, type ValueTypeOf } from "@elaraai/east";
30
+ import { RecordSliceReadType, type AreaCell, type AreaWindow, type RecordOnPrinter, type RecordSliceChoiceType, type RecordSliceIndexType } from "@elaraai/east-ui/internal";
31
+ import type { SchematicBoxFieldsType } from "./types.js";
32
+ /**
33
+ * A kind's source of the Schematic's slice, as the payload hands it to the
34
+ * kind: the source's typed record Slice handle, `Slice.bindRecords`' part
35
+ * named after the kind's slot, bound once in the payload's block
36
+ * (`recordSources(…).bind($)`, #1356). A kind's read reads its members inside
37
+ * its function, so it holds this one source, never the whole slice.
38
+ */
39
+ export type SchematicKindPart = ExprType<StructType>;
40
+ /** A kind's rows, by key: what a read of it gives; `none` while it is in flight. */
41
+ type RowsRead = ExprType<FunctionType<[], OptionType<DictType<StringType, EastType>>>>;
42
+ /**
43
+ * A kind's record read whole: its binding's `read()` — `Record.bind`'s or
44
+ * `Data.bind`'s — by key.
45
+ *
46
+ * @param handle - The record's binding
47
+ * @param rowType - Its row type
48
+ * @returns `()` → the record's rows, by key
49
+ */
50
+ export declare function schematicWholeRows(handle: ExprType<EastType>, rowType: StructType): RowsRead;
51
+ /**
52
+ * A kind's narrowing read complete through its source of the slice (see the
53
+ * module docs).
54
+ *
55
+ * @param part - The kind's source of the slice, bound in the payload
56
+ * @param slot - The kind's slot, which names the source
57
+ * @param rowType - The kind's record's row type
58
+ * @param where - The kind, as a refusal names it
59
+ * @param every - Whether it reads every row, the narrowing read nowhere: under `narrowed="dim"`, what the narrowing
60
+ * leaves out draws as context
61
+ * @returns `()` → the rows the narrowing holds — or every row — by key; `none` while a search or a page is in flight
62
+ * @throws {Error} When the source narrows another record, or reads neither its rows nor an index carrying them
63
+ */
64
+ export declare function schematicSourceRows(part: SchematicKindPart, slot: string, rowType: StructType, where: string, every?: boolean): RowsRead;
65
+ /** One index a record Slice's binding lists, decoded. */
66
+ type Index = ValueTypeOf<typeof RecordSliceIndexType>;
67
+ /** A record Slice's narrowing, decoded. */
68
+ type Where = ReadonlyMap<string, ValueTypeOf<typeof RecordSliceChoiceType>>;
69
+ /** The fields a kind's box is, decoded. */
70
+ type BoxFields = ValueTypeOf<typeof SchematicBoxFieldsType>;
71
+ /**
72
+ * Past this many rows in view, the canvas draws the density in place of items
73
+ * (D25): by the counts its window's searches answer — each cell's rows held
74
+ * evenly over it, the view's share of them — and, past those, by the
75
+ * density's own count of the view, which its footer says.
76
+ */
77
+ export declare const SCHEMATIC_WINDOW_ROWS = 5000;
78
+ /**
79
+ * The most rows a window's searches hold for its rows to be read (D25): its
80
+ * view's, its margin's and its cells' reach past them, which hold some twice a
81
+ * view's rows over an even floor — four views' worth. Past this, the window
82
+ * draws its density whatever its view holds, and a zoom in plans one that
83
+ * holds fewer.
84
+ */
85
+ export declare const SCHEMATIC_WINDOW_READ_ROWS = 20000;
86
+ /** A kind's area indexes (§10.4, D20): the one led by no field, and those led by fields beside it. */
87
+ export interface SchematicAreaIndexes {
88
+ /** The area index led by no field: what reads the window whatever the rail chooses. */
89
+ readonly unled: Index;
90
+ /** The area indexes led by fields, in the order the source lists them: each reads a choice of its fields and the window in one. */
91
+ readonly led: readonly Index[];
92
+ }
93
+ /**
94
+ * The area indexes a kind is read by (§10.4, §11.4, SC34): those its source of
95
+ * the slice lists, each held to the kind's roles — the same `x`, `y`, `width`
96
+ * and `height` fields, at the centre for an item kind and the corner for a
97
+ * zone kind — one led by no field among them.
98
+ *
99
+ * @param indexes - The indexes the kind's source lists (its config's)
100
+ * @param box - The fields the kind's box is (its kind's `box`)
101
+ * @param sort - The kind's sort: items are placed by their centre, zones by their corner
102
+ * @param where - The kind, as a refusal names it
103
+ * @returns Its area indexes; `undefined` for a source that lists none, through which the kind reads its narrowing complete
104
+ * @throws {Error} When an area index's box isn't the kind's roles, naming both; when none is led by no field, naming the
105
+ * index to declare
106
+ */
107
+ export declare function schematicAreaIndexes(indexes: readonly Index[], box: BoxFields, sort: "items" | "zones", where: string): SchematicAreaIndexes | undefined;
108
+ /** Which area index a window reads, and how (§10.4, SC34). */
109
+ export interface SchematicWindowPlan {
110
+ /** The index read. */
111
+ readonly index: Index;
112
+ /** Its finest cell's side, a power of two. */
113
+ readonly cell: number;
114
+ /** The `.east` literals of its leading values, a combination each, a window's searches asked of each: `[[]]` for the unled index. */
115
+ readonly prefixes: readonly (readonly string[])[];
116
+ /** The narrowing's fields the index doesn't lead, which `within` asks of the window's rows; none where it serves the narrowing whole. */
117
+ readonly residual: readonly string[];
118
+ }
119
+ /**
120
+ * Which area index a window reads (§10.4, SC34): one whose `on` the rail's
121
+ * exact choices fill — each leading field a choice of values, one value for a
122
+ * Set field — while its searches across those choices stay within the record
123
+ * slice's bound on landed searches, the one leaving the fewest fields of the
124
+ * narrowing to `within` first; otherwise the one led by no field, the
125
+ * narrowing asked of the window's rows. The window is a read, never the
126
+ * rail's: it is never a choice, and never counted.
127
+ *
128
+ * @param areas - The kind's area indexes ({@link schematicAreaIndexes})
129
+ * @param where - The narrowing the window reads: the rail's, or none, to read every row
130
+ * @param box - The window's box, in world units: its searches grow it by the margin (`areaQueries`)
131
+ * @returns The index, its leading values and the fields left to `within`
132
+ */
133
+ export declare function schematicWindowPlan(areas: SchematicAreaIndexes, where: Where, box: AreaWindow): SchematicWindowPlan;
134
+ /** How a kind read by area reads its rows with no position: the read it asks, and the fields it leaves to `within`. */
135
+ export interface SchematicUnplacedPlan {
136
+ /** The index read. */
137
+ readonly index: Index;
138
+ /**
139
+ * The read it asks (`pageWhere`, `countWhere`): the narrowing's choices of the fields the index leads, and beside them
140
+ * the unplaced clause (#1432).
141
+ */
142
+ readonly read: ValueTypeOf<typeof RecordSliceReadType>;
143
+ /** The narrowing's fields the index doesn't lead, which `within` asks of the rows read; none where it serves the narrowing whole. */
144
+ readonly residual: readonly string[];
145
+ }
146
+ /**
147
+ * How a kind read by area reads its rows with no position — its Backlog's
148
+ * (§8, §11.4, #1393): through the area index the window would read through
149
+ * ({@link schematicWindowPlan}'s rule, one search a combination of its leading
150
+ * values), the narrowing's choices of the fields it leads beside the unplaced
151
+ * clause; the narrowing's other fields left to `within`, asked of the rows
152
+ * read. The unplaced clause is offered only by an index whose `x` and `y` are
153
+ * Options, as a kind with a backlog boxes its rows.
154
+ *
155
+ * @param areas - The kind's area indexes ({@link schematicAreaIndexes})
156
+ * @param where - The narrowing: the rail's
157
+ * @returns The index, the narrowing a read takes and the fields left to `within`
158
+ */
159
+ export declare function schematicUnplacedPlan(areas: SchematicAreaIndexes, where: Where): SchematicUnplacedPlan;
160
+ /** A window's density raster (§10.4, D25): one level's cells, counted, a combination of the index's leading values at a time. */
161
+ export interface SchematicRaster {
162
+ /** Its level. */
163
+ readonly level: number;
164
+ /** Its cells' side, in world units. */
165
+ readonly side: number;
166
+ /** Each combination's cells, in the plan's order of its prefixes: through a led index, a raster per value. */
167
+ readonly cells: readonly (readonly AreaCell[])[];
168
+ /**
169
+ * The coarser levels' cells, every combination's: their rows are boxes larger than half a raster cell, counted by their
170
+ * keys, and read as rows while they are few.
171
+ */
172
+ readonly coarse: readonly AreaCell[];
173
+ }
174
+ /**
175
+ * A window's density raster (§10.4, D25): the counts of its area index's cells
176
+ * at the level whose cells are about a sixty-fourth of the box, each
177
+ * combination of its leading values a raster of its own, all of them in at
178
+ * most {@link MAX_AREA_RASTER} counted ranges, and the coarser levels' cells by
179
+ * exact key.
180
+ *
181
+ * @param plan - The window's plan ({@link schematicWindowPlan})
182
+ * @param box - The box the raster covers, in world units
183
+ * @param printOn - The plan's index's `on` printer: the coarser cells' searches name its leading values as one (#1432)
184
+ * @returns The raster
185
+ */
186
+ export declare function schematicRaster(plan: SchematicWindowPlan, box: AreaWindow, printOn: RecordOnPrinter): SchematicRaster;
187
+ /** One cell of a window's density raster that holds rows (D25): its corner, in world units, and how many rows it holds. */
188
+ export interface SchematicDensityCell {
189
+ /** Its left edge. */
190
+ readonly minX: number;
191
+ /** Its top edge. */
192
+ readonly minY: number;
193
+ /** How many rows' centres it holds — some of them a coarser cell's rows' share, spread over it. */
194
+ readonly count: number;
195
+ }
196
+ /**
197
+ * A window's density raster's cells that hold rows (§10.4, D25): each cell's
198
+ * count, every combination's raster added up cell by cell — they are all at one
199
+ * level, over one box — and, given the coarser levels' counts where their rows
200
+ * are too many to read, each coarser cell's rows spread evenly over the raster
201
+ * cells it covers: a row's centre lies anywhere in the cell it is filed in. A
202
+ * cell holds rows while it holds at least half of one.
203
+ *
204
+ * @param raster - The raster ({@link schematicRaster})
205
+ * @param counts - Each of its cells' count, every combination's cells in turn, as `raster.cells` lists them
206
+ * @param spread - Each of its coarser cells' count, as `raster.coarse` lists them, to spread over it; `undefined` while
207
+ * their rows are read as rows
208
+ * @returns The cells that hold rows, row by row
209
+ * @throws {Error} When the counts are not one a cell
210
+ */
211
+ export declare function schematicDensityCells(raster: SchematicRaster, counts: readonly bigint[], spread?: readonly bigint[]): SchematicDensityCell[];
212
+ export {};
213
+ //# sourceMappingURL=window.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../../src/schematic/window.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,340 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ /**
6
+ * A Schematic kind's reads (#1386, `Schematic Builder Spec.md` §10.4): its
7
+ * record read whole, or its narrowing read complete through its source of the
8
+ * Schematic's `Slice.bindRecords` — the record slice's `PagedScan`, over
9
+ * `recordSliceReadPlatform` — each answering `none` while a read is in flight.
10
+ * Reading by area — a viewport's window from an area index alone, and the
11
+ * density at overview (§10.4, #1393) — is the renderer's reader's, which reads
12
+ * a window by its cells as the Plan's events are read (D41): what this module
13
+ * gives it is which index and which searches a window reads
14
+ * ({@link schematicAreaIndexes}, {@link schematicWindowPlan}), the agreement
15
+ * of an area index's box with the kind's roles (SC34), and the density's
16
+ * raster ({@link schematicRaster}); the kind's `rowsOf` makes the rows it
17
+ * reads its stored rows.
18
+ *
19
+ * Through its source a kind reads what its narrowing holds and nothing else:
20
+ * the source's choices, each as the rail holds it. Under `narrowed="dim"` it
21
+ * reads every row through its source instead, and never the narrowing, so a
22
+ * choice reads none of its rows again: the renderer draws the rows the
23
+ * narrowing leaves out as context, from the source's shown keys (§10.3,
24
+ * #1392). An entry's row is its `row` — the source joins it — or its `value`,
25
+ * for an index that carries the whole row (D29).
26
+ *
27
+ * @packageDocumentation
28
+ */
29
+ import { BooleanType, DictType, East, Expr, IntegerType, OptionType, SortedMap, StringType, StructType, compareFor, equalFor, isSubtype, isTypeEqual, none, some, variant, } from "@elaraai/east";
30
+ import { MAX_AREA_RASTER, MAX_LANDED_SEARCHES, MAX_RECORD_SLICE_RUNS, RecordSliceBindType, RecordSliceConfigType, RecordSliceReadType, RecordSliceStateType, areaQueries, areaRaster, recordOnPrinter, recordSliceReadPlatform, } from "@elaraai/east-ui/internal";
31
+ import { optionOf } from "../schedule/window.js";
32
+ /**
33
+ * A kind's record read whole: its binding's `read()` — `Record.bind`'s or
34
+ * `Data.bind`'s — by key.
35
+ *
36
+ * @param handle - The record's binding
37
+ * @param rowType - Its row type
38
+ * @returns `()` → the record's rows, by key
39
+ */
40
+ export function schematicWholeRows(handle, rowType) {
41
+ const Held = DictType(StringType, rowType);
42
+ const read = handle.read;
43
+ return East.function([], OptionType(Held), (_$) => East.value(some(read()), OptionType(Held)));
44
+ }
45
+ /**
46
+ * A kind's narrowing read complete through its source of the slice (see the
47
+ * module docs).
48
+ *
49
+ * @param part - The kind's source of the slice, bound in the payload
50
+ * @param slot - The kind's slot, which names the source
51
+ * @param rowType - The kind's record's row type
52
+ * @param where - The kind, as a refusal names it
53
+ * @param every - Whether it reads every row, the narrowing read nowhere: under `narrowed="dim"`, what the narrowing
54
+ * leaves out draws as context
55
+ * @returns `()` → the rows the narrowing holds — or every row — by key; `none` while a search or a page is in flight
56
+ * @throws {Error} When the source narrows another record, or reads neither its rows nor an index carrying them
57
+ */
58
+ export function schematicSourceRows(part, slot, rowType, where, every = false) {
59
+ const type = Expr.type(part);
60
+ const fields = type.type === "Struct" ? type.fields : {};
61
+ const data = fields["data"];
62
+ const page = fields["pageWhere"];
63
+ const output = page?.type === "Function" ? page.output : undefined;
64
+ const collection = output === undefined ? undefined : optionOf(output);
65
+ const entry = collection?.type === "Array" ? collection.value : undefined;
66
+ const entryFields = entry?.type === "Struct" ? entry.fields : undefined;
67
+ const keyed = entryFields?.["key"] !== undefined && isTypeEqual(entryFields["key"], StringType);
68
+ // An entry's row: its `row`, which a joined read fills, or its `value`, when the index carries the whole row (D29).
69
+ const joined = entryFields?.["row"] !== undefined && isTypeEqual(entryFields["row"], OptionType(rowType));
70
+ const carried = entryFields?.["value"] !== undefined && isTypeEqual(entryFields["value"], rowType);
71
+ const pages = page?.type === "Function" && page.inputs.length === 3 && isTypeEqual(page.inputs[0], RecordSliceReadType)
72
+ && isTypeEqual(page.inputs[1], IntegerType) && isTypeEqual(page.inputs[2], IntegerType);
73
+ const identified = data?.type === "Struct" && data.fields["id"] !== undefined && isTypeEqual(data.fields["id"], StringType)
74
+ && data.fields["revision"] !== undefined && data.fields["revision"].type === "Function";
75
+ const sliced = Object.entries(RecordSliceBindType.fields).every(([name, expected]) => fields[name] !== undefined && isSubtype(fields[name], expected));
76
+ if (!pages || !keyed || !(joined || carried) || !identified || !sliced) {
77
+ throw new Error(`${where}: the slice's source "${slot}" narrows another record — name it after this kind's slot, over the kind's own record: ` +
78
+ `Data.bindPaged(record, { indexes }), its rows joined or carried by its indexes`);
79
+ }
80
+ const Held = DictType(StringType, rowType);
81
+ const Entries = collection;
82
+ const noRows = `${where}: the slice's source "${slot}" reads no rows — bind it with Data.bindPaged(record, { indexes, join: true })`;
83
+ return East.function([], OptionType(Held), ($) => {
84
+ // The source as the payload bound it, its members read here: the read captures the source alone.
85
+ const source = $.const(part);
86
+ const countWhere = $.const(source.countWhere);
87
+ const pageWhere = $.const(source.pageWhere);
88
+ const id = $.const(source.data.id);
89
+ const revision = $.const(source.data.revision);
90
+ // The read: no narrowing under `dim` — every row, the source's state read nowhere, so a choice reads nothing
91
+ // again and the renderer dims what it leaves out (§10.3) — else the rail's, each of the source's choices. Never
92
+ // a read by area (#1432).
93
+ let taken;
94
+ if (every) {
95
+ taken = $.const({ where: new Map(), area: none }, RecordSliceReadType);
96
+ }
97
+ else {
98
+ const read = $.const(source.read);
99
+ const state = $.const(read());
100
+ taken = $.let({ where: state.where, area: none }, RecordSliceReadType);
101
+ }
102
+ const result = $.let(none, OptionType(Held));
103
+ $.match(recordSliceReadPlatform([Entries], id, revision, countWhere, pageWhere, taken), {
104
+ some: ($2, entries) => {
105
+ const held = $2.let(new Map(), Held);
106
+ $2.for(entries, ($3, e) => {
107
+ if (joined) {
108
+ $3.match(e.row, {
109
+ some: ($4, row) => { $4(held.insert(e.key, row)); },
110
+ none: ($4) => {
111
+ if (carried)
112
+ $4(held.insert(e.key, e.value));
113
+ else
114
+ $4.error(noRows);
115
+ },
116
+ });
117
+ }
118
+ else {
119
+ $3(held.insert(e.key, e.value));
120
+ }
121
+ });
122
+ $2.assign(result, some(held));
123
+ },
124
+ });
125
+ return result;
126
+ });
127
+ }
128
+ /**
129
+ * Past this many rows in view, the canvas draws the density in place of items
130
+ * (D25): by the counts its window's searches answer — each cell's rows held
131
+ * evenly over it, the view's share of them — and, past those, by the
132
+ * density's own count of the view, which its footer says.
133
+ */
134
+ export const SCHEMATIC_WINDOW_ROWS = 5_000;
135
+ /**
136
+ * The most rows a window's searches hold for its rows to be read (D25): its
137
+ * view's, its margin's and its cells' reach past them, which hold some twice a
138
+ * view's rows over an even floor — four views' worth. Past this, the window
139
+ * draws its density whatever its view holds, and a zoom in plans one that
140
+ * holds fewer.
141
+ */
142
+ export const SCHEMATIC_WINDOW_READ_ROWS = 20_000;
143
+ const stringEqual = equalFor(StringType);
144
+ const compareString = compareFor(StringType);
145
+ const sideEqual = equalFor(OptionType(StringType));
146
+ const booleanEqual = equalFor(BooleanType);
147
+ /** A box's fields and where it is placed, as a refusal names them. */
148
+ function boxText(box, centre) {
149
+ const sides = box.width.type === "some" && box.height.type === "some" ? `, width: "${box.width.value}", height: "${box.height.value}"` : "";
150
+ return `x: "${box.x}", y: "${box.y}"${sides}, at: "${centre ? "centre" : "corner"}"`;
151
+ }
152
+ /**
153
+ * The area indexes a kind is read by (§10.4, §11.4, SC34): those its source of
154
+ * the slice lists, each held to the kind's roles — the same `x`, `y`, `width`
155
+ * and `height` fields, at the centre for an item kind and the corner for a
156
+ * zone kind — one led by no field among them.
157
+ *
158
+ * @param indexes - The indexes the kind's source lists (its config's)
159
+ * @param box - The fields the kind's box is (its kind's `box`)
160
+ * @param sort - The kind's sort: items are placed by their centre, zones by their corner
161
+ * @param where - The kind, as a refusal names it
162
+ * @returns Its area indexes; `undefined` for a source that lists none, through which the kind reads its narrowing complete
163
+ * @throws {Error} When an area index's box isn't the kind's roles, naming both; when none is led by no field, naming the
164
+ * index to declare
165
+ */
166
+ export function schematicAreaIndexes(indexes, box, sort, where) {
167
+ const areas = indexes.filter((index) => index.area.type === "some");
168
+ if (areas.length === 0)
169
+ return undefined;
170
+ const centre = sort === "items";
171
+ for (const index of areas) {
172
+ if (index.area.type !== "some")
173
+ continue;
174
+ const area = index.area.value;
175
+ if (!stringEqual(area.x, box.x) || !stringEqual(area.y, box.y) || !sideEqual(area.width, box.width) || !sideEqual(area.height, box.height)
176
+ || !booleanEqual(area.centre, centre)) {
177
+ throw new Error(`${where}: the area index '${index.name}' boxes each row by { ${boxText(area, area.centre)} }, and the kind's roles place it by ` +
178
+ `{ ${boxText(box, centre)} } — an area index the kind is read by boxes each row as its roles place it: declare it ` +
179
+ `index.area({ ${boxText(box, centre)}, cell })`);
180
+ }
181
+ }
182
+ // An area index's fields are its leading fields alone, its key's `on` (#1432).
183
+ const unled = areas.find((index) => index.fields.length === 0);
184
+ if (unled === undefined) {
185
+ const named = areas.map((index) => `'${index.name}'`).join(", ");
186
+ throw new Error(`${where}: a kind read by area reads its window through an area index led by no field, whatever the rail chooses, and ` +
187
+ `${named} ${areas.length === 1 ? "is" : "are"} led by fields — declare index.area({ ${boxText(box, centre)}, cell }) ` +
188
+ "beside it, and list it in Data.bindPaged's indexes");
189
+ }
190
+ return { unled, led: areas.filter((index) => index.fields.length > 0) };
191
+ }
192
+ /**
193
+ * Which area index a window reads (§10.4, SC34): one whose `on` the rail's
194
+ * exact choices fill — each leading field a choice of values, one value for a
195
+ * Set field — while its searches across those choices stay within the record
196
+ * slice's bound on landed searches, the one leaving the fewest fields of the
197
+ * narrowing to `within` first; otherwise the one led by no field, the
198
+ * narrowing asked of the window's rows. The window is a read, never the
199
+ * rail's: it is never a choice, and never counted.
200
+ *
201
+ * @param areas - The kind's area indexes ({@link schematicAreaIndexes})
202
+ * @param where - The narrowing the window reads: the rail's, or none, to read every row
203
+ * @param box - The window's box, in world units: its searches grow it by the margin (`areaQueries`)
204
+ * @returns The index, its leading values and the fields left to `within`
205
+ */
206
+ export function schematicWindowPlan(areas, where, box) {
207
+ return areaPlan(areas, where, (index) => areaQueries([], box, cellOf(index), NO_LEADING).length);
208
+ }
209
+ /** The `on` of no leading field: a window asks the same cells whatever an index's leading values, so they are counted under none. */
210
+ const NO_LEADING = recordOnPrinter(StructType({}));
211
+ /** An area index's finest cell's side. */
212
+ function cellOf(index) {
213
+ return index.area.type === "some" ? index.area.value.cell : 1;
214
+ }
215
+ /**
216
+ * Which area index a read by area reads through (§10.4, SC34): one whose `on`
217
+ * the narrowing's exact choices fill — each leading field a choice of values,
218
+ * one value for a Set field — while the read's searches across those choices
219
+ * stay within the record slice's bound on landed searches, the one leaving the
220
+ * fewest fields of the narrowing to `within` first; otherwise the one led by
221
+ * no field.
222
+ *
223
+ * @param areas - The kind's area indexes
224
+ * @param where - The narrowing the read takes
225
+ * @param searches - How many searches the read asks of each combination of an index's leading values
226
+ * @returns The index, its leading values and the fields left to `within`
227
+ */
228
+ function areaPlan(areas, where, searches) {
229
+ let best;
230
+ for (const index of areas.led) {
231
+ const leading = index.fields;
232
+ let prefixes = [[]];
233
+ let fills = true;
234
+ for (const field of leading) {
235
+ const choice = where.get(field);
236
+ const values = choice?.type === "values" ? [...new Set(choice.value)] : [];
237
+ if (values.length === 0 || (index.sets.has(field) && values.length !== 1) || prefixes.length * values.length > MAX_RECORD_SLICE_RUNS) {
238
+ fills = false;
239
+ break;
240
+ }
241
+ prefixes = prefixes.flatMap((prefix) => values.map((value) => [...prefix, value]));
242
+ }
243
+ if (!fills || prefixes.length * searches(index) > MAX_LANDED_SEARCHES)
244
+ continue;
245
+ const residual = [...where.keys()].filter((field) => !leading.some((led) => stringEqual(led, field)));
246
+ if (best === undefined || residual.length < best.residual.length)
247
+ best = { index, cell: cellOf(index), prefixes, residual };
248
+ }
249
+ return best ?? { index: areas.unled, cell: cellOf(areas.unled), prefixes: [[]], residual: [...where.keys()] };
250
+ }
251
+ /**
252
+ * How a kind read by area reads its rows with no position — its Backlog's
253
+ * (§8, §11.4, #1393): through the area index the window would read through
254
+ * ({@link schematicWindowPlan}'s rule, one search a combination of its leading
255
+ * values), the narrowing's choices of the fields it leads beside the unplaced
256
+ * clause; the narrowing's other fields left to `within`, asked of the rows
257
+ * read. The unplaced clause is offered only by an index whose `x` and `y` are
258
+ * Options, as a kind with a backlog boxes its rows.
259
+ *
260
+ * @param areas - The kind's area indexes ({@link schematicAreaIndexes})
261
+ * @param where - The narrowing: the rail's
262
+ * @returns The index, the narrowing a read takes and the fields left to `within`
263
+ */
264
+ export function schematicUnplacedPlan(areas, where) {
265
+ const plan = areaPlan(areas, where, () => 1);
266
+ const taken = new SortedMap([], compareString);
267
+ for (const [field, choice] of where)
268
+ if (plan.index.fields.some((name) => stringEqual(name, field)))
269
+ taken.set(field, choice);
270
+ return { index: plan.index, read: { where: taken, area: some(variant("unplaced", null)) }, residual: plan.residual };
271
+ }
272
+ /**
273
+ * A window's density raster (§10.4, D25): the counts of its area index's cells
274
+ * at the level whose cells are about a sixty-fourth of the box, each
275
+ * combination of its leading values a raster of its own, all of them in at
276
+ * most {@link MAX_AREA_RASTER} counted ranges, and the coarser levels' cells by
277
+ * exact key.
278
+ *
279
+ * @param plan - The window's plan ({@link schematicWindowPlan})
280
+ * @param box - The box the raster covers, in world units
281
+ * @param printOn - The plan's index's `on` printer: the coarser cells' searches name its leading values as one (#1432)
282
+ * @returns The raster
283
+ */
284
+ export function schematicRaster(plan, box, printOn) {
285
+ const budget = Math.max(1, Math.floor(MAX_AREA_RASTER / plan.prefixes.length));
286
+ const rasters = plan.prefixes.map((prefix) => areaRaster(prefix, box, plan.cell, printOn, budget));
287
+ // The same box, cell and budget: every combination's raster is at one level.
288
+ const first = rasters[0];
289
+ return { level: first.level, side: first.side, cells: rasters.map((raster) => raster.cells), coarse: rasters.flatMap((raster) => raster.coarse) };
290
+ }
291
+ /**
292
+ * A window's density raster's cells that hold rows (§10.4, D25): each cell's
293
+ * count, every combination's raster added up cell by cell — they are all at one
294
+ * level, over one box — and, given the coarser levels' counts where their rows
295
+ * are too many to read, each coarser cell's rows spread evenly over the raster
296
+ * cells it covers: a row's centre lies anywhere in the cell it is filed in. A
297
+ * cell holds rows while it holds at least half of one.
298
+ *
299
+ * @param raster - The raster ({@link schematicRaster})
300
+ * @param counts - Each of its cells' count, every combination's cells in turn, as `raster.cells` lists them
301
+ * @param spread - Each of its coarser cells' count, as `raster.coarse` lists them, to spread over it; `undefined` while
302
+ * their rows are read as rows
303
+ * @returns The cells that hold rows, row by row
304
+ * @throws {Error} When the counts are not one a cell
305
+ */
306
+ export function schematicDensityCells(raster, counts, spread) {
307
+ const grid = raster.cells[0] ?? [];
308
+ const total = raster.cells.reduce((sum, cells) => sum + cells.length, 0);
309
+ if (counts.length !== total || (spread !== undefined && spread.length !== raster.coarse.length)) {
310
+ throw new Error(`A density raster of ${total} cells and ${raster.coarse.length} coarser ones was counted ${counts.length} and ${spread?.length ?? 0}`);
311
+ }
312
+ if (grid.length === 0)
313
+ return [];
314
+ // Every combination's raster is the same grid, row by row: a cell's place in it is its place in each.
315
+ const x0 = grid[0].ix, y0 = grid[0].iy, x1 = grid[grid.length - 1].ix, y1 = grid[grid.length - 1].iy;
316
+ const across = x1 - x0 + 1;
317
+ const held = new Float64Array(grid.length);
318
+ let at = 0;
319
+ for (const cells of raster.cells)
320
+ for (let i = 0; i < cells.length; i++)
321
+ held[i] = held[i] + Number(counts[at++]);
322
+ raster.coarse.forEach((cell, i) => {
323
+ const count = spread === undefined ? 0 : Number(spread[i]);
324
+ if (count === 0)
325
+ return;
326
+ // A cell `d` levels coarser covers 2^d raster cells a side: each holds its share of the cell's rows.
327
+ const span = 2 ** (raster.level - cell.level);
328
+ const share = count / (span * span);
329
+ const fromX = Math.max(x0, cell.ix * span), toX = Math.min(x1, (cell.ix + 1) * span - 1);
330
+ const fromY = Math.max(y0, cell.iy * span), toY = Math.min(y1, (cell.iy + 1) * span - 1);
331
+ for (let iy = fromY; iy <= toY; iy++) {
332
+ for (let ix = fromX; ix <= toX; ix++) {
333
+ const k = (iy - y0) * across + (ix - x0);
334
+ held[k] = held[k] + share;
335
+ }
336
+ }
337
+ });
338
+ return grid.flatMap((cell, i) => (held[i] >= 0.5 ? [{ minX: cell.minX, minY: cell.minY, count: held[i] }] : []));
339
+ }
340
+ //# sourceMappingURL=window.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"window.js","sourceRoot":"","sources":["../../../src/schematic/window.ts"],"names":[],"mappings":"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"}