@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
@@ -1 +1 @@
1
- {"version":3,"file":"data.examples.d.ts","sourceRoot":"","sources":["../../../../test/bind/data/data.examples.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data.examples.d.ts","sourceRoot":"","sources":["../../../../test/bind/data/data.examples.tsx"],"names":[],"mappings":"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"}
@@ -43,8 +43,8 @@ export const OpsRow = StructType({
43
43
  load: FloatType,
44
44
  state: EventStateType,
45
45
  });
46
- /** One hall's presses (or the delivery vans), keyed by id. */
47
- export const OpsHall = DictType(StringType, OpsRow);
46
+ /** One hall — its presses (or the delivery vans), a Dict keyed by id, which its series step down into by field. */
47
+ export const OpsHall = StructType({ presses: DictType(StringType, OpsRow) });
48
48
  /**
49
49
  * The seeded ops schedule — an `e3.input`'s default IS the dataset's initial
50
50
  * value, so this is what a freshly-deployed workspace (and the offline
@@ -60,80 +60,80 @@ export const OpsHall = DictType(StringType, OpsRow);
60
60
  * estimated ahead of it.
61
61
  */
62
62
  export const opsInput = e3.input('ops', DictType(StringType, OpsHall), variant('value', new Map([
63
- ["Hall 1", new Map([
64
- ["H1-P01", { ticket: "J-4603", startWeek: 25n, weeks: 3n, sheets: 96.0, load: 78.0, state: ACTUAL }],
65
- ["H1-P02", { ticket: "J-4612", startWeek: 26n, weeks: 2n, sheets: 64.0, load: 71.0, state: ACTUAL }],
66
- ["H1-P03", { ticket: "J-4642", startWeek: 28n, weeks: 3n, sheets: 112.0, load: 88.0, state: RUNNING }],
67
- ["H1-P04", { ticket: "J-4624", startWeek: 27n, weeks: 4n, sheets: 104.0, load: 84.0, state: RUNNING }],
68
- ["H1-P05", { ticket: "J-4657", startWeek: 31n, weeks: 3n, sheets: 88.0, load: 66.0, state: CONFIRMED }],
69
- ["H1-P06", { ticket: "J-4669", startWeek: 32n, weeks: 2n, sheets: 72.0, load: 59.0, state: CONFIRMED }],
70
- ["H1-P07", { ticket: "J-4693", startWeek: 33n, weeks: 4n, sheets: 120.0, load: 92.0, state: PROPOSED }],
71
- ["H1-P08", { ticket: "J-4708", startWeek: 35n, weeks: 3n, sheets: 96.0, load: 74.0, state: PROPOSED }],
72
- ["H1-P09", { ticket: "J-4726", startWeek: 36n, weeks: 3n, sheets: 80.0, load: 63.0, state: ESTIMATED }],
73
- ["H1-P10", { ticket: "J-4741", startWeek: 37n, weeks: 2n, sheets: 56.0, load: 48.0, state: ESTIMATED }],
74
- ])],
75
- ["Hall 2", new Map([
76
- ["H2-P01", { ticket: "J-4906", startWeek: 25n, weeks: 4n, sheets: 118.0, load: 91.0, state: ACTUAL }],
77
- ["H2-P02", { ticket: "J-4921", startWeek: 27n, weeks: 2n, sheets: 52.0, load: 55.0, state: ACTUAL }],
78
- ["H2-P03", { ticket: "J-4933", startWeek: 29n, weeks: 3n, sheets: 92.0, load: 80.0, state: RUNNING }],
79
- ["H2-P04", { ticket: "J-4948", startWeek: 30n, weeks: 2n, sheets: 68.0, load: 61.0, state: CONFIRMED }],
80
- ["H2-P05", { ticket: "J-4960", startWeek: 31n, weeks: 4n, sheets: 128.0, load: 96.0, state: CONFIRMED }],
81
- ["H2-P06", { ticket: "J-4975", startWeek: 33n, weeks: 3n, sheets: 84.0, load: 69.0, state: PROPOSED }],
82
- ["H2-P07", { ticket: "J-4987", startWeek: 34n, weeks: 2n, sheets: 60.0, load: 52.0, state: PROPOSED }],
83
- ["H2-P08", { ticket: "J-5002", startWeek: 35n, weeks: 4n, sheets: 112.0, load: 87.0, state: PROPOSED }],
84
- ["H2-P09", { ticket: "J-5014", startWeek: 37n, weeks: 3n, sheets: 76.0, load: 64.0, state: ESTIMATED }],
85
- ["H2-P10", { ticket: "J-5029", startWeek: 38n, weeks: 2n, sheets: 48.0, load: 44.0, state: ESTIMATED }],
86
- ])],
87
- ["Hall 3", new Map([
88
- ["H3-P01", { ticket: "J-5203", startWeek: 24n, weeks: 3n, sheets: 88.0, load: 73.0, state: ACTUAL }],
89
- ["H3-P02", { ticket: "J-5215", startWeek: 26n, weeks: 4n, sheets: 124.0, load: 94.0, state: ACTUAL }],
90
- ["H3-P03", { ticket: "J-5230", startWeek: 29n, weeks: 2n, sheets: 56.0, load: 51.0, state: RUNNING }],
91
- ["H3-P04", { ticket: "J-5242", startWeek: 30n, weeks: 3n, sheets: 100.0, load: 82.0, state: RUNNING }],
92
- ["H3-P05", { ticket: "J-5257", startWeek: 32n, weeks: 2n, sheets: 72.0, load: 62.0, state: CONFIRMED }],
93
- ["H3-P06", { ticket: "J-5272", startWeek: 33n, weeks: 4n, sheets: 116.0, load: 90.0, state: CONFIRMED }],
94
- ["H3-P07", { ticket: "J-5284", startWeek: 35n, weeks: 3n, sheets: 92.0, load: 76.0, state: PROPOSED }],
95
- ["H3-P08", { ticket: "J-5299", startWeek: 36n, weeks: 2n, sheets: 64.0, load: 57.0, state: PROPOSED }],
96
- ["H3-P09", { ticket: "J-5311", startWeek: 37n, weeks: 4n, sheets: 108.0, load: 85.0, state: ESTIMATED }],
97
- ["H3-P10", { ticket: "J-5323", startWeek: 39n, weeks: 2n, sheets: 44.0, load: 41.0, state: ESTIMATED }],
98
- ])],
99
- ["Hall 4", new Map([
100
- ["H4-P01", { ticket: "J-5506", startWeek: 25n, weeks: 2n, sheets: 60.0, load: 54.0, state: ACTUAL }],
101
- ["H4-P02", { ticket: "J-5518", startWeek: 27n, weeks: 3n, sheets: 96.0, load: 79.0, state: ACTUAL }],
102
- ["H4-P03", { ticket: "J-5533", startWeek: 28n, weeks: 4n, sheets: 132.0, load: 98.0, state: RUNNING }],
103
- ["H4-P04", { ticket: "J-5545", startWeek: 31n, weeks: 2n, sheets: 68.0, load: 60.0, state: CONFIRMED }],
104
- ["H4-P05", { ticket: "J-5560", startWeek: 32n, weeks: 3n, sheets: 104.0, load: 83.0, state: CONFIRMED }],
105
- ["H4-P06", { ticket: "J-5572", startWeek: 34n, weeks: 2n, sheets: 76.0, load: 67.0, state: PROPOSED }],
106
- ["H4-P07", { ticket: "J-5587", startWeek: 35n, weeks: 4n, sheets: 120.0, load: 93.0, state: PROPOSED }],
107
- ["H4-P08", { ticket: "J-5599", startWeek: 37n, weeks: 3n, sheets: 84.0, load: 70.0, state: ESTIMATED }],
108
- ["H4-P09", { ticket: "J-5614", startWeek: 38n, weeks: 2n, sheets: 52.0, load: 47.0, state: ESTIMATED }],
109
- ["H4-P10", { ticket: "J-5626", startWeek: 39n, weeks: 3n, sheets: 88.0, load: 72.0, state: ESTIMATED }],
110
- ])],
111
- ["Hall 5", new Map([
112
- ["H5-P01", { ticket: "J-5803", startWeek: 24n, weeks: 4n, sheets: 110.0, load: 86.0, state: ACTUAL }],
113
- ["H5-P02", { ticket: "J-5815", startWeek: 26n, weeks: 2n, sheets: 58.0, load: 53.0, state: ACTUAL }],
114
- ["H5-P03", { ticket: "J-5827", startWeek: 28n, weeks: 3n, sheets: 94.0, load: 77.0, state: RUNNING }],
115
- ["H5-P04", { ticket: "J-5839", startWeek: 30n, weeks: 4n, sheets: 126.0, load: 95.0, state: RUNNING }],
116
- ["H5-P05", { ticket: "J-5854", startWeek: 32n, weeks: 2n, sheets: 70.0, load: 61.0, state: CONFIRMED }],
117
- ["H5-P06", { ticket: "J-5866", startWeek: 33n, weeks: 3n, sheets: 98.0, load: 81.0, state: CONFIRMED }],
118
- ["H5-P07", { ticket: "J-5881", startWeek: 35n, weeks: 2n, sheets: 66.0, load: 58.0, state: PROPOSED }],
119
- ["H5-P08", { ticket: "J-5893", startWeek: 36n, weeks: 4n, sheets: 114.0, load: 89.0, state: PROPOSED }],
120
- ["H5-P09", { ticket: "J-5908", startWeek: 38n, weeks: 3n, sheets: 82.0, load: 68.0, state: ESTIMATED }],
121
- ["H5-P10", { ticket: "J-5920", startWeek: 39n, weeks: 2n, sheets: 50.0, load: 45.0, state: ESTIMATED }],
122
- ])],
63
+ ["Hall 1", { presses: new Map([
64
+ ["H1-P01", { ticket: "J-4603", startWeek: 25n, weeks: 3n, sheets: 96.0, load: 78.0, state: ACTUAL }],
65
+ ["H1-P02", { ticket: "J-4612", startWeek: 26n, weeks: 2n, sheets: 64.0, load: 71.0, state: ACTUAL }],
66
+ ["H1-P03", { ticket: "J-4642", startWeek: 28n, weeks: 3n, sheets: 112.0, load: 88.0, state: RUNNING }],
67
+ ["H1-P04", { ticket: "J-4624", startWeek: 27n, weeks: 4n, sheets: 104.0, load: 84.0, state: RUNNING }],
68
+ ["H1-P05", { ticket: "J-4657", startWeek: 31n, weeks: 3n, sheets: 88.0, load: 66.0, state: CONFIRMED }],
69
+ ["H1-P06", { ticket: "J-4669", startWeek: 32n, weeks: 2n, sheets: 72.0, load: 59.0, state: CONFIRMED }],
70
+ ["H1-P07", { ticket: "J-4693", startWeek: 33n, weeks: 4n, sheets: 120.0, load: 92.0, state: PROPOSED }],
71
+ ["H1-P08", { ticket: "J-4708", startWeek: 35n, weeks: 3n, sheets: 96.0, load: 74.0, state: PROPOSED }],
72
+ ["H1-P09", { ticket: "J-4726", startWeek: 36n, weeks: 3n, sheets: 80.0, load: 63.0, state: ESTIMATED }],
73
+ ["H1-P10", { ticket: "J-4741", startWeek: 37n, weeks: 2n, sheets: 56.0, load: 48.0, state: ESTIMATED }],
74
+ ]) }],
75
+ ["Hall 2", { presses: new Map([
76
+ ["H2-P01", { ticket: "J-4906", startWeek: 25n, weeks: 4n, sheets: 118.0, load: 91.0, state: ACTUAL }],
77
+ ["H2-P02", { ticket: "J-4921", startWeek: 27n, weeks: 2n, sheets: 52.0, load: 55.0, state: ACTUAL }],
78
+ ["H2-P03", { ticket: "J-4933", startWeek: 29n, weeks: 3n, sheets: 92.0, load: 80.0, state: RUNNING }],
79
+ ["H2-P04", { ticket: "J-4948", startWeek: 30n, weeks: 2n, sheets: 68.0, load: 61.0, state: CONFIRMED }],
80
+ ["H2-P05", { ticket: "J-4960", startWeek: 31n, weeks: 4n, sheets: 128.0, load: 96.0, state: CONFIRMED }],
81
+ ["H2-P06", { ticket: "J-4975", startWeek: 33n, weeks: 3n, sheets: 84.0, load: 69.0, state: PROPOSED }],
82
+ ["H2-P07", { ticket: "J-4987", startWeek: 34n, weeks: 2n, sheets: 60.0, load: 52.0, state: PROPOSED }],
83
+ ["H2-P08", { ticket: "J-5002", startWeek: 35n, weeks: 4n, sheets: 112.0, load: 87.0, state: PROPOSED }],
84
+ ["H2-P09", { ticket: "J-5014", startWeek: 37n, weeks: 3n, sheets: 76.0, load: 64.0, state: ESTIMATED }],
85
+ ["H2-P10", { ticket: "J-5029", startWeek: 38n, weeks: 2n, sheets: 48.0, load: 44.0, state: ESTIMATED }],
86
+ ]) }],
87
+ ["Hall 3", { presses: new Map([
88
+ ["H3-P01", { ticket: "J-5203", startWeek: 24n, weeks: 3n, sheets: 88.0, load: 73.0, state: ACTUAL }],
89
+ ["H3-P02", { ticket: "J-5215", startWeek: 26n, weeks: 4n, sheets: 124.0, load: 94.0, state: ACTUAL }],
90
+ ["H3-P03", { ticket: "J-5230", startWeek: 29n, weeks: 2n, sheets: 56.0, load: 51.0, state: RUNNING }],
91
+ ["H3-P04", { ticket: "J-5242", startWeek: 30n, weeks: 3n, sheets: 100.0, load: 82.0, state: RUNNING }],
92
+ ["H3-P05", { ticket: "J-5257", startWeek: 32n, weeks: 2n, sheets: 72.0, load: 62.0, state: CONFIRMED }],
93
+ ["H3-P06", { ticket: "J-5272", startWeek: 33n, weeks: 4n, sheets: 116.0, load: 90.0, state: CONFIRMED }],
94
+ ["H3-P07", { ticket: "J-5284", startWeek: 35n, weeks: 3n, sheets: 92.0, load: 76.0, state: PROPOSED }],
95
+ ["H3-P08", { ticket: "J-5299", startWeek: 36n, weeks: 2n, sheets: 64.0, load: 57.0, state: PROPOSED }],
96
+ ["H3-P09", { ticket: "J-5311", startWeek: 37n, weeks: 4n, sheets: 108.0, load: 85.0, state: ESTIMATED }],
97
+ ["H3-P10", { ticket: "J-5323", startWeek: 39n, weeks: 2n, sheets: 44.0, load: 41.0, state: ESTIMATED }],
98
+ ]) }],
99
+ ["Hall 4", { presses: new Map([
100
+ ["H4-P01", { ticket: "J-5506", startWeek: 25n, weeks: 2n, sheets: 60.0, load: 54.0, state: ACTUAL }],
101
+ ["H4-P02", { ticket: "J-5518", startWeek: 27n, weeks: 3n, sheets: 96.0, load: 79.0, state: ACTUAL }],
102
+ ["H4-P03", { ticket: "J-5533", startWeek: 28n, weeks: 4n, sheets: 132.0, load: 98.0, state: RUNNING }],
103
+ ["H4-P04", { ticket: "J-5545", startWeek: 31n, weeks: 2n, sheets: 68.0, load: 60.0, state: CONFIRMED }],
104
+ ["H4-P05", { ticket: "J-5560", startWeek: 32n, weeks: 3n, sheets: 104.0, load: 83.0, state: CONFIRMED }],
105
+ ["H4-P06", { ticket: "J-5572", startWeek: 34n, weeks: 2n, sheets: 76.0, load: 67.0, state: PROPOSED }],
106
+ ["H4-P07", { ticket: "J-5587", startWeek: 35n, weeks: 4n, sheets: 120.0, load: 93.0, state: PROPOSED }],
107
+ ["H4-P08", { ticket: "J-5599", startWeek: 37n, weeks: 3n, sheets: 84.0, load: 70.0, state: ESTIMATED }],
108
+ ["H4-P09", { ticket: "J-5614", startWeek: 38n, weeks: 2n, sheets: 52.0, load: 47.0, state: ESTIMATED }],
109
+ ["H4-P10", { ticket: "J-5626", startWeek: 39n, weeks: 3n, sheets: 88.0, load: 72.0, state: ESTIMATED }],
110
+ ]) }],
111
+ ["Hall 5", { presses: new Map([
112
+ ["H5-P01", { ticket: "J-5803", startWeek: 24n, weeks: 4n, sheets: 110.0, load: 86.0, state: ACTUAL }],
113
+ ["H5-P02", { ticket: "J-5815", startWeek: 26n, weeks: 2n, sheets: 58.0, load: 53.0, state: ACTUAL }],
114
+ ["H5-P03", { ticket: "J-5827", startWeek: 28n, weeks: 3n, sheets: 94.0, load: 77.0, state: RUNNING }],
115
+ ["H5-P04", { ticket: "J-5839", startWeek: 30n, weeks: 4n, sheets: 126.0, load: 95.0, state: RUNNING }],
116
+ ["H5-P05", { ticket: "J-5854", startWeek: 32n, weeks: 2n, sheets: 70.0, load: 61.0, state: CONFIRMED }],
117
+ ["H5-P06", { ticket: "J-5866", startWeek: 33n, weeks: 3n, sheets: 98.0, load: 81.0, state: CONFIRMED }],
118
+ ["H5-P07", { ticket: "J-5881", startWeek: 35n, weeks: 2n, sheets: 66.0, load: 58.0, state: PROPOSED }],
119
+ ["H5-P08", { ticket: "J-5893", startWeek: 36n, weeks: 4n, sheets: 114.0, load: 89.0, state: PROPOSED }],
120
+ ["H5-P09", { ticket: "J-5908", startWeek: 38n, weeks: 3n, sheets: 82.0, load: 68.0, state: ESTIMATED }],
121
+ ["H5-P10", { ticket: "J-5920", startWeek: 39n, weeks: 2n, sheets: 50.0, load: 45.0, state: ESTIMATED }],
122
+ ]) }],
123
123
  // The delivery vans — the same flat row, read as weekly load strips
124
124
  // rather than run bars (see the `vans` series below).
125
- ["Vans", new Map([
126
- ["V-01", { ticket: "—", startWeek: 27n, weeks: 12n, sheets: 0.0, load: 46.0, state: CONFIRMED }],
127
- ["V-02", { ticket: "—", startWeek: 27n, weeks: 12n, sheets: 0.0, load: 58.0, state: CONFIRMED }],
128
- ["V-03", { ticket: "—", startWeek: 27n, weeks: 12n, sheets: 0.0, load: 67.0, state: CONFIRMED }],
129
- ["V-04", { ticket: "—", startWeek: 27n, weeks: 12n, sheets: 0.0, load: 74.0, state: CONFIRMED }],
130
- ["V-05", { ticket: "—", startWeek: 27n, weeks: 12n, sheets: 0.0, load: 81.0, state: CONFIRMED }],
131
- ["V-06", { ticket: "—", startWeek: 27n, weeks: 12n, sheets: 0.0, load: 88.0, state: CONFIRMED }],
132
- ["V-07", { ticket: "—", startWeek: 27n, weeks: 12n, sheets: 0.0, load: 93.0, state: CONFIRMED }],
133
- ["V-08", { ticket: "—", startWeek: 27n, weeks: 12n, sheets: 0.0, load: 97.0, state: CONFIRMED }],
134
- ["V-09", { ticket: "—", startWeek: 27n, weeks: 12n, sheets: 0.0, load: 64.0, state: CONFIRMED }],
135
- ["V-10", { ticket: "—", startWeek: 27n, weeks: 12n, sheets: 0.0, load: 52.0, state: CONFIRMED }],
136
- ])],
125
+ ["Vans", { presses: new Map([
126
+ ["V-01", { ticket: "—", startWeek: 27n, weeks: 12n, sheets: 0.0, load: 46.0, state: CONFIRMED }],
127
+ ["V-02", { ticket: "—", startWeek: 27n, weeks: 12n, sheets: 0.0, load: 58.0, state: CONFIRMED }],
128
+ ["V-03", { ticket: "—", startWeek: 27n, weeks: 12n, sheets: 0.0, load: 67.0, state: CONFIRMED }],
129
+ ["V-04", { ticket: "—", startWeek: 27n, weeks: 12n, sheets: 0.0, load: 74.0, state: CONFIRMED }],
130
+ ["V-05", { ticket: "—", startWeek: 27n, weeks: 12n, sheets: 0.0, load: 81.0, state: CONFIRMED }],
131
+ ["V-06", { ticket: "—", startWeek: 27n, weeks: 12n, sheets: 0.0, load: 88.0, state: CONFIRMED }],
132
+ ["V-07", { ticket: "—", startWeek: 27n, weeks: 12n, sheets: 0.0, load: 93.0, state: CONFIRMED }],
133
+ ["V-08", { ticket: "—", startWeek: 27n, weeks: 12n, sheets: 0.0, load: 97.0, state: CONFIRMED }],
134
+ ["V-09", { ticket: "—", startWeek: 27n, weeks: 12n, sheets: 0.0, load: 64.0, state: CONFIRMED }],
135
+ ["V-10", { ticket: "—", startWeek: 27n, weeks: 12n, sheets: 0.0, load: 52.0, state: CONFIRMED }],
136
+ ]) }],
137
137
  ])));
138
138
  /**
139
139
  * A maintenance work order — the row of the `work_orders` record, keyed by
@@ -156,37 +156,38 @@ export const WorkQueueKey = StructType({ status: StringType, due: DateTimeType }
156
156
  * workspace holds, and deploy builds its index over it. The ids run in the
157
157
  * order the orders were raised, which is nothing like the order they are due.
158
158
  */
159
- export const workOrders = e3.record('work_orders', DictType(StringType, WorkOrderRow), new Map([
160
- ["WO-1001", { site: "North", title: "Replace kiln 2 burner", crew: "Mech A", status: "planned", due: new Date("2026-10-19T00:00:00Z") }],
161
- ["WO-1002", { site: "North", title: "Calibrate belt scale 4", crew: "Inst", status: "late", due: new Date("2026-09-15T00:00:00Z") }],
162
- ["WO-1003", { site: "South", title: "Reline crusher jaw", crew: "Mech B", status: "open", due: new Date("2026-09-25T00:00:00Z") }],
163
- ["WO-1004", { site: "South", title: "Grease stacker bearings", crew: "Mech B", status: "open", due: new Date("2026-09-24T00:00:00Z") }],
164
- ["WO-1005", { site: "Port", title: "Inspect shiploader boom", crew: "Struct", status: "late", due: new Date("2026-09-18T00:00:00Z") }],
165
- ["WO-1006", { site: "North", title: "Swap conveyor 7 idlers", crew: "Mech A", status: "open", due: new Date("2026-09-29T00:00:00Z") }],
166
- ["WO-1007", { site: "Port", title: "Test dust suppression pumps", crew: "Elec", status: "planned", due: new Date("2026-10-06T00:00:00Z") }],
167
- ["WO-1008", { site: "South", title: "Replace screen deck panels", crew: "Mech B", status: "late", due: new Date("2026-09-11T00:00:00Z") }],
168
- ["WO-1009", { site: "North", title: "Thermal scan MCC room", crew: "Elec", status: "open", due: new Date("2026-09-26T00:00:00Z") }],
169
- ["WO-1010", { site: "Port", title: "Rebuild reclaimer gearbox", crew: "Mech A", status: "planned", due: new Date("2026-10-26T00:00:00Z") }],
170
- ["WO-1011", { site: "South", title: "Align apron feeder", crew: "Mech B", status: "open", due: new Date("2026-10-01T00:00:00Z") }],
171
- ["WO-1012", { site: "North", title: "Service compressor 2", crew: "Mech A", status: "late", due: new Date("2026-09-21T00:00:00Z") }],
172
- ["WO-1013", { site: "Port", title: "Weld chute liner", crew: "Struct", status: "open", due: new Date("2026-09-30T00:00:00Z") }],
173
- ["WO-1014", { site: "South", title: "Replace pump 3 impeller", crew: "Mech B", status: "planned", due: new Date("2026-10-09T00:00:00Z") }],
174
- ["WO-1015", { site: "North", title: "Relamp stockpile towers", crew: "Elec", status: "planned", due: new Date("2026-10-13T00:00:00Z") }],
175
- ["WO-1016", { site: "Port", title: "Tension berth 2 belt", crew: "Mech A", status: "open", due: new Date("2026-09-24T00:00:00Z") }],
176
- ["WO-1017", { site: "South", title: "Inspect tailings line", crew: "Struct", status: "late", due: new Date("2026-09-22T00:00:00Z") }],
177
- ["WO-1018", { site: "North", title: "Change kiln 1 seals", crew: "Mech A", status: "planned", due: new Date("2026-11-02T00:00:00Z") }],
178
- ]));
179
- /**
180
- * The dispatch queue — every work order under `{status, due}`, carrying its
181
- * title so the queue renders from index pages alone and never reads an
182
- * order's row.
183
- */
184
- export const workQueue = e3.recordIndex('by_status', workOrders, {
185
- key: East.function([StringType, WorkOrderRow], WorkQueueKey, ($, _id, order) => ({ status: order.status, due: order.due })),
186
- value: East.function([StringType, WorkOrderRow], StringType, ($, _id, order) => order.title),
159
+ export const workOrders = e3.record('work_orders', DictType(StringType, WorkOrderRow), {
160
+ initial: new Map([
161
+ ["WO-1001", { site: "North", title: "Replace kiln 2 burner", crew: "Mech A", status: "planned", due: new Date("2026-10-19T00:00:00Z") }],
162
+ ["WO-1002", { site: "North", title: "Calibrate belt scale 4", crew: "Inst", status: "late", due: new Date("2026-09-15T00:00:00Z") }],
163
+ ["WO-1003", { site: "South", title: "Reline crusher jaw", crew: "Mech B", status: "open", due: new Date("2026-09-25T00:00:00Z") }],
164
+ ["WO-1004", { site: "South", title: "Grease stacker bearings", crew: "Mech B", status: "open", due: new Date("2026-09-24T00:00:00Z") }],
165
+ ["WO-1005", { site: "Port", title: "Inspect shiploader boom", crew: "Struct", status: "late", due: new Date("2026-09-18T00:00:00Z") }],
166
+ ["WO-1006", { site: "North", title: "Swap conveyor 7 idlers", crew: "Mech A", status: "open", due: new Date("2026-09-29T00:00:00Z") }],
167
+ ["WO-1007", { site: "Port", title: "Test dust suppression pumps", crew: "Elec", status: "planned", due: new Date("2026-10-06T00:00:00Z") }],
168
+ ["WO-1008", { site: "South", title: "Replace screen deck panels", crew: "Mech B", status: "late", due: new Date("2026-09-11T00:00:00Z") }],
169
+ ["WO-1009", { site: "North", title: "Thermal scan MCC room", crew: "Elec", status: "open", due: new Date("2026-09-26T00:00:00Z") }],
170
+ ["WO-1010", { site: "Port", title: "Rebuild reclaimer gearbox", crew: "Mech A", status: "planned", due: new Date("2026-10-26T00:00:00Z") }],
171
+ ["WO-1011", { site: "South", title: "Align apron feeder", crew: "Mech B", status: "open", due: new Date("2026-10-01T00:00:00Z") }],
172
+ ["WO-1012", { site: "North", title: "Service compressor 2", crew: "Mech A", status: "late", due: new Date("2026-09-21T00:00:00Z") }],
173
+ ["WO-1013", { site: "Port", title: "Weld chute liner", crew: "Struct", status: "open", due: new Date("2026-09-30T00:00:00Z") }],
174
+ ["WO-1014", { site: "South", title: "Replace pump 3 impeller", crew: "Mech B", status: "planned", due: new Date("2026-10-09T00:00:00Z") }],
175
+ ["WO-1015", { site: "North", title: "Relamp stockpile towers", crew: "Elec", status: "planned", due: new Date("2026-10-13T00:00:00Z") }],
176
+ ["WO-1016", { site: "Port", title: "Tension berth 2 belt", crew: "Mech A", status: "open", due: new Date("2026-09-24T00:00:00Z") }],
177
+ ["WO-1017", { site: "South", title: "Inspect tailings line", crew: "Struct", status: "late", due: new Date("2026-09-22T00:00:00Z") }],
178
+ ["WO-1018", { site: "North", title: "Change kiln 1 seals", crew: "Mech A", status: "planned", due: new Date("2026-11-02T00:00:00Z") }],
179
+ ]),
180
+ indexes: (index) => ({
181
+ // The dispatch queue — every work order under `{status, due}`, carrying its
182
+ // title so the queue renders from index pages alone and never reads an
183
+ // order's row.
184
+ by_status: index.key(East.function([StringType, WorkOrderRow], WorkQueueKey, ($, _id, order) => ({ status: order.status, due: order.due })), { value: East.function([StringType, WorkOrderRow], StringType, ($, _id, order) => order.title) }),
185
+ }),
186
+ mutations: (mutation) => ({
187
+ // The work orders' patch door: another session's change to an order commits through it, and moves the queue with it.
188
+ patch: mutation.patch(),
189
+ }),
187
190
  });
188
- /** The work orders' patch door: another session's change to an order commits through it, and moves the queue with it. */
189
- export const workOrdersPatch = e3.mutation.patch(workOrders);
190
191
  export const dataBindFloat = example({
191
192
  keywords: ["Data", "bind", "Reactive", "Float", "dataset", "read"],
192
193
  description: "Bind to a Float dataset and display its current value",
@@ -290,7 +291,7 @@ export const dataBindPagedPlan = example({
290
291
  label: (_h, hall) => hall,
291
292
  runs: _l => [],
292
293
  rollup: "union",
293
- children: Plan.children((l) => l, [
294
+ children: Plan.children("presses", [
294
295
  // Presses — each flat row becomes TWO bars: a one-week
295
296
  // make-ready ahead of the job, then the run itself, with its
296
297
  // label and quantity built from the job ticket and sheets
@@ -326,7 +327,7 @@ export const dataBindPagedPlan = example({
326
327
  match: (_h, hall) => hall.equal("Vans"),
327
328
  label: (_h, hall) => hall,
328
329
  collapsed: true, summaryAggregate: "mean",
329
- children: Plan.children((l) => l, [
330
+ children: Plan.children("presses", [
330
331
  Plan.series.heat(OpsRow, {
331
332
  key: "van-load", title: "Van load",
332
333
  label: (_r, k) => k, id: true,
@@ -374,14 +375,14 @@ export const dataBindPagedRevision = example({
374
375
  });
375
376
  export const dataBindPagedIndex = example({
376
377
  keywords: [
377
- "Data", "bindPaged", "index", "recordIndex", "record", "secondary index", "queue", "ordered",
378
+ "Data", "bindPaged", "index", "indexes", "record", "secondary index", "queue", "ordered",
378
379
  "window", "covering", "projection", "ik", "key", "value", "row", "join", "Table", "paged", "by_status",
379
380
  ],
380
- description: "Read a record THROUGH one of its indexes — `Data.bindPaged(workOrders, { index: workQueue })` serves the INDEX's pages in the index's own order, so the dispatch queue arrives late-first and by due date within each status, whatever the work orders' ids are. Each row is `{ ik, key, value, row }`: the index key, the order's id, and the title the index covers — so the Table renders from index pages alone and reads no order's row (`join: true` would fill `row` from the record too)",
381
+ description: "Read a record THROUGH one of its indexes — `Data.bindPaged(workOrders, { index: \"by_status\" })` serves the INDEX's pages in the index's own order, so the dispatch queue arrives late-first and by due date within each status, whatever the work orders' ids are. Each row is `{ ik, key, value, row }`: the index key, the order's id, and the title the index covers — so the Table renders from index pages alone and reads no order's row (`join: true` would fill `row` from the record too)",
381
382
  fn: East.function([], UIComponentType, (_$) => (_jsx(Reactive, { children: $ => {
382
- // Pass the index DECLARATION, not its name: the window's type —
383
- // its key and what it covers — comes from it.
384
- const queue = $.let(Data.bindPaged(workOrders, { index: workQueue }));
383
+ // Name one of the record's indexes: the window's type — its key
384
+ // and what it covers — comes from the index's declaration.
385
+ const queue = $.let(Data.bindPaged(workOrders, { index: "by_status" }));
385
386
  return _jsx(Table, { data: queue, columns: {
386
387
  ik: { header: "Due", value: (ik) => East.str `${ik.status} · ${ik.due.printFormatted("ddd D MMM")}` },
387
388
  value: { header: "Work order" },
@@ -614,7 +615,7 @@ export const countsSaid = East.function([DictType(StringType, IntegerType)], UIC
614
615
  export const previewCountsView = ui('preview_counts_view', [previewCountsInput], countsSaid);
615
616
  /** A ui task over the work orders, their queue read a window at a time beside the commits of their record, which is never read whole. */
616
617
  export const previewOrdersView = ui('preview_orders_view', [], East.function([], UIComponentType, (_$) => (_jsx(Reactive, { children: $ => {
617
- const orders = $.let(Data.bindPaged(workOrders, { index: workQueue }));
618
+ const orders = $.let(Data.bindPaged(workOrders, { index: "by_status" }));
618
619
  const record = $.let(Record.bind(workOrders, []));
619
620
  const commits = $.let(record.history().match({
620
621
  some: (_$2, history) => history.size(),
@@ -631,14 +632,20 @@ export const previewOrdersView = ui('preview_orders_view', [], East.function([],
631
632
  /** A person and the skills they hold: a Set field, which an index lists once under each skill. */
632
633
  export const IndexedPerson = StructType({ name: StringType, skills: SetType(StringType) });
633
634
  /** People by key: Ada and Amy share skill `b`, and Abe holds none, so the skills index lists him nowhere. */
634
- export const indexedPeople = e3.record('indexed_people', DictType(StringType, IndexedPerson), new Map([
635
- ["p1", { name: "Ada", skills: new Set(["a", "b"]) }],
636
- ["p2", { name: "Abe", skills: new Set() }],
637
- ["p3", { name: "Amy", skills: new Set(["b"]) }],
638
- ]));
639
- export const indexedPeoplePatch = e3.mutation.patch(indexedPeople);
640
- export const peopleByName = e3.recordIndex('by_name', indexedPeople, { on: ["name"] });
641
- export const peopleBySkill = e3.recordIndex('by_skill', indexedPeople, { on: ["skills"] });
635
+ export const indexedPeople = e3.record('indexed_people', DictType(StringType, IndexedPerson), {
636
+ initial: new Map([
637
+ ["p1", { name: "Ada", skills: new Set(["a", "b"]) }],
638
+ ["p2", { name: "Abe", skills: new Set() }],
639
+ ["p3", { name: "Amy", skills: new Set(["b"]) }],
640
+ ]),
641
+ indexes: (index) => ({
642
+ by_name: index.on(["name"]),
643
+ by_skill: index.on(["skills"]),
644
+ }),
645
+ mutations: (mutation) => ({
646
+ patch: mutation.patch(),
647
+ }),
648
+ });
642
649
  /** An event of a status over a span of time: no end is an instant, and no start the backlog. */
643
650
  export const IntervalEvent = StructType({ status: StringType, start: OptionType(DateTimeType), end: OptionType(DateTimeType) });
644
651
  /**
@@ -647,55 +654,168 @@ export const IntervalEvent = StructType({ status: StringType, start: OptionType(
647
654
  * it ends, an instant at each of its bounds, one cancelled and one in the
648
655
  * backlog — what an overlap with `[2 Oct, 3 Oct)` takes and what it leaves.
649
656
  */
650
- export const indexedIntervals = e3.record('indexed_intervals', DictType(StringType, IntervalEvent), new Map([
651
- ["backlog", { status: "Ready", start: none, end: none }],
652
- ["carry", { status: "Ready", start: some(new Date("2026-10-01T22:00:00Z")), end: some(new Date("2026-10-02T06:00:00Z")) }],
653
- ["span", { status: "Ready", start: some(new Date("2025-01-01T00:00:00Z")), end: some(new Date("2027-01-01T00:00:00Z")) }],
654
- ["inside", { status: "Ready", start: some(new Date("2026-10-02T10:00:00Z")), end: some(new Date("2026-10-02T11:00:00Z")) }],
655
- ["ends-at-from", { status: "Ready", start: some(new Date("2026-10-01T12:00:00Z")), end: some(new Date("2026-10-02T00:00:00Z")) }],
656
- ["starts-at-to", { status: "Ready", start: some(new Date("2026-10-03T00:00:00Z")), end: some(new Date("2026-10-03T01:00:00Z")) }],
657
- ["instant-at-from", { status: "Ready", start: some(new Date("2026-10-02T00:00:00Z")), end: none }],
658
- ["instant-at-to", { status: "Ready", start: some(new Date("2026-10-03T00:00:00Z")), end: none }],
659
- ["cancelled", { status: "Cancelled", start: some(new Date("2026-01-01T00:00:00Z")), end: some(new Date("2027-01-01T00:00:00Z")) }],
660
- ]));
661
- export const indexedIntervalsPatch = e3.mutation.patch(indexedIntervals);
662
- // The start alone is listed first: a declared overlap must never be read as a start range because its index came first.
663
- export const intervalsByStart = e3.recordIndex('by_start', indexedIntervals, { on: ["start"] });
664
- export const intervalsByStatusTime = e3.recordIndex('by_status_time', indexedIntervals, { on: ["status"], interval: { from: "start", to: "end" } });
665
- export const intervalsByTime = e3.recordIndex('by_time', indexedIntervals, { interval: { from: "start", to: "end" } });
666
- /** A step of a flow: its lane, and who owns it, if anyone. */
667
- export const ComputedStep = StructType({ lane: StringType, owner: OptionType(StringType) });
668
- /** A flow: what it is, and its steps. */
669
- export const ComputedFlow = StructType({ description: StringType, states: ArrayType(ComputedStep) });
670
- /** Flows whose indexes are computed from their steps: `a` has two steps in one lane, `c` a step no one owns, and `d` none at all. */
671
- export const computedFlows = e3.record('computed_flows', DictType(StringType, ComputedFlow), new Map([
672
- ["a", { description: "Inbound", states: [{ lane: "load", owner: some("team-a") }, { lane: "load", owner: some("team-a") }, { lane: "review", owner: none }] }],
673
- ["b", { description: "Inbound", states: [{ lane: "load", owner: some("team-b") }] }],
674
- ["c", { description: "Returns", states: [{ lane: "review", owner: none }] }],
675
- ["d", { description: "Empty", states: [] }],
676
- ]));
677
- export const computedFlowsPatch = e3.mutation.patch(computedFlows);
678
- export const computedByDescription = e3.recordIndex('description', computedFlows, { on: ["description"] });
679
- export const computedByStateCount = e3.recordIndex('state_count', computedFlows, {
680
- key: East.function([StringType, ComputedFlow], StructType({ stateCount: IntegerType }), (_$, _id, flow) => ({ stateCount: flow.states.size() })),
657
+ export const indexedIntervals = e3.record('indexed_intervals', DictType(StringType, IntervalEvent), {
658
+ initial: new Map([
659
+ ["backlog", { status: "Ready", start: none, end: none }],
660
+ ["carry", { status: "Ready", start: some(new Date("2026-10-01T22:00:00Z")), end: some(new Date("2026-10-02T06:00:00Z")) }],
661
+ ["span", { status: "Ready", start: some(new Date("2025-01-01T00:00:00Z")), end: some(new Date("2027-01-01T00:00:00Z")) }],
662
+ ["inside", { status: "Ready", start: some(new Date("2026-10-02T10:00:00Z")), end: some(new Date("2026-10-02T11:00:00Z")) }],
663
+ ["ends-at-from", { status: "Ready", start: some(new Date("2026-10-01T12:00:00Z")), end: some(new Date("2026-10-02T00:00:00Z")) }],
664
+ ["starts-at-to", { status: "Ready", start: some(new Date("2026-10-03T00:00:00Z")), end: some(new Date("2026-10-03T01:00:00Z")) }],
665
+ ["instant-at-from", { status: "Ready", start: some(new Date("2026-10-02T00:00:00Z")), end: none }],
666
+ ["instant-at-to", { status: "Ready", start: some(new Date("2026-10-03T00:00:00Z")), end: none }],
667
+ ["cancelled", { status: "Cancelled", start: some(new Date("2026-01-01T00:00:00Z")), end: some(new Date("2027-01-01T00:00:00Z")) }],
668
+ ]),
669
+ indexes: (index) => ({
670
+ // The start alone is listed first: a declared overlap must never be read as a start range because its index came first.
671
+ by_start: index.on(["start"]),
672
+ by_status_time: index.interval({ on: ["status"], from: "start", to: "end" }),
673
+ by_time: index.interval({ from: "start", to: "end" }),
674
+ }),
675
+ mutations: (mutation) => ({
676
+ patch: mutation.patch(),
677
+ }),
681
678
  });
682
- export const computedByDescriptionCount = e3.recordIndex('description_count', computedFlows, {
683
- key: East.function([StringType, ComputedFlow], StructType({ description: StringType, stateCount: IntegerType }), (_$, _id, flow) => ({ description: flow.description, stateCount: flow.states.size() })),
679
+ /** A rack on a data centre floor, in metres: its hall, where it stands — by its centre — if anywhere yet, and its footprint. */
680
+ export const IndexedRack = StructType({ hall: StringType, x: OptionType(FloatType), y: OptionType(FloatType), w: FloatType, h: FloatType });
681
+ /**
682
+ * Racks on a floor: three in hall A along a row, one in hall B across the
683
+ * aisle, one in hall B far down the floor, and one in hall A not yet placed —
684
+ * what a window over the row takes, what its margin takes, and what it leaves.
685
+ */
686
+ export const indexedRacks = e3.record('indexed_racks', DictType(StringType, IndexedRack), {
687
+ initial: new Map([
688
+ ["r1", { hall: "A", x: some(1.0), y: some(1.0), w: 0.6, h: 1.2 }],
689
+ ["r2", { hall: "A", x: some(2.0), y: some(1.0), w: 0.6, h: 1.2 }],
690
+ ["r3", { hall: "A", x: some(3.0), y: some(1.0), w: 0.6, h: 1.2 }],
691
+ ["r4", { hall: "B", x: some(2.0), y: some(3.5), w: 0.6, h: 1.2 }],
692
+ ["far", { hall: "B", x: some(40.0), y: some(40.0), w: 0.6, h: 1.2 }],
693
+ ["unplaced", { hall: "A", x: none, y: none, w: 0.6, h: 1.2 }],
694
+ ]),
695
+ indexes: (index) => ({
696
+ // The window whatever the rail chooses, and beside it a choice of halls and the window in one read; both carry their rows.
697
+ racks_by_area: index.area({ x: "x", y: "y", width: "w", height: "h", at: "centre", cell: 0.01 }),
698
+ racks_by_hall_area: index.area({ on: ["hall"], x: "x", y: "y", width: "w", height: "h", at: "centre", cell: 0.01 }),
699
+ racks_by_hall: index.on(["hall"]),
700
+ }),
701
+ mutations: (mutation) => ({
702
+ patch: mutation.patch(),
703
+ }),
684
704
  });
685
- export const computedByLane = e3.recordIndex('lane', computedFlows, {
686
- keys: East.function([StringType, ComputedFlow], SetType(StructType({ lane: StringType })), (_$, _id, flow) => flow.states.toSet((_$2, state) => ({ lane: state.lane }))),
705
+ /**
706
+ * A rack whose fields are named as e3's own parts of a generated key once were
707
+ * (#1432): `area`, `__area`, `tile` and `__tile`. No name is reserved — e3's
708
+ * parts are its index's kind's — so each is a field of the rail like any
709
+ * other, and an area index may be led by them.
710
+ */
711
+ export const NamedRack = StructType({
712
+ area: StringType, __area: StringType, tile: StringType, __tile: StringType, x: OptionType(FloatType), y: OptionType(FloatType),
687
713
  });
688
- export const computedByOwner = e3.recordIndex('owner', computedFlows, {
689
- keys: East.function([StringType, ComputedFlow], SetType(StructType({ owner: OptionType(StringType) })), (_$, _id, flow) => flow.states.toSet((_$2, state) => ({ owner: state.owner }))),
714
+ /**
715
+ * Five racks: two in area A1 by B — one inside the window over the floor's
716
+ * corner, one far down it — one by C and one in A2 inside it, and one in A1 by
717
+ * B not yet placed.
718
+ */
719
+ export const namedRacks = e3.record('named_racks', DictType(StringType, NamedRack), {
720
+ initial: new Map([
721
+ ["n1", { area: "A1", __area: "B", tile: "T1", __tile: "U1", x: some(1.0), y: some(1.0) }],
722
+ ["n2", { area: "A1", __area: "B", tile: "T2", __tile: "U1", x: some(100.0), y: some(100.0) }],
723
+ ["n3", { area: "A1", __area: "C", tile: "T1", __tile: "U2", x: some(1.5), y: some(1.5) }],
724
+ ["n4", { area: "A2", __area: "B", tile: "T1", __tile: "U2", x: some(2.0), y: some(2.0) }],
725
+ ["unplaced", { area: "A1", __area: "B", tile: "T2", __tile: "U1", x: none, y: none }],
726
+ ]),
727
+ indexes: (index) => ({
728
+ // Each field leads a plain index; the window is read whatever the rail chooses, or beside a choice of `area` and `__area`.
729
+ named_by_area: index.on(["area"]),
730
+ named_by_under_area: index.on(["__area"]),
731
+ named_by_tile: index.on(["tile"]),
732
+ named_by_under_tile: index.on(["__tile"]),
733
+ named_by_place: index.area({ x: "x", y: "y", cell: 1 }),
734
+ named_by_area_place: index.area({ on: ["area", "__area"], x: "x", y: "y", cell: 1 }),
735
+ }),
736
+ mutations: (mutation) => ({
737
+ patch: mutation.patch(),
738
+ }),
690
739
  });
691
- // Scalar computed keys, each a field by its index's name.
692
- export const computedByLabel = e3.recordIndex('label', computedFlows, {
693
- key: East.function([StringType, ComputedFlow], StringType, (_$, _id, flow) => flow.description),
740
+ /** A rack's load: what its card's figure and its dot draw. */
741
+ export const IndexedRackLoad = StructType({ kw: FloatType, alarm: StringType });
742
+ /**
743
+ * The racks' loads, keyed as the racks are: two of the row's three, the rack
744
+ * across the aisle's and the far one's — none for `r3`, nor for the rack not
745
+ * yet placed, and one for a rack the floor does not hold — what a window's
746
+ * racks read their details by, through the runs the area index files them in
747
+ * (#1393).
748
+ */
749
+ export const indexedRackLoads = e3.record('indexed_rack_loads', DictType(StringType, IndexedRackLoad), {
750
+ initial: new Map([
751
+ ["far", { kw: 1.0, alarm: "ok" }],
752
+ ["gone", { kw: 2.0, alarm: "ok" }],
753
+ ["r1", { kw: 4.2, alarm: "ok" }],
754
+ ["r2", { kw: 9.9, alarm: "warm" }],
755
+ ["r4", { kw: 11.1, alarm: "hot" }],
756
+ ]),
757
+ mutations: (mutation) => ({
758
+ patch: mutation.patch(),
759
+ }),
694
760
  });
695
- export const computedBySize = e3.recordIndex('size', computedFlows, {
696
- key: East.function([StringType, ComputedFlow], IntegerType, (_$, _id, flow) => flow.states.size()),
761
+ /** A print job: the press it runs on, if any yet, its state, and when it runs, if it is scheduled. */
762
+ export const IndexedJob = StructType({ press: OptionType(StringType), state: StringType, start: OptionType(DateTimeType), end: OptionType(DateTimeType) });
763
+ /**
764
+ * Jobs on three presses about the week of Monday 5 October 2026: one carried in
765
+ * from the week before, one across the week's end into the next, one the whole
766
+ * month, two inside the week, an instant at its start, one on no press yet and
767
+ * one in the backlog — what a cell of some presses in a week holds, and what a
768
+ * month's totals count (#1039).
769
+ */
770
+ export const indexedJobs = e3.record('indexed_jobs', DictType(StringType, IndexedJob), {
771
+ initial: new Map([
772
+ ["carry", { press: some("P-1"), state: "running", start: some(new Date("2026-10-02T20:00:00Z")), end: some(new Date("2026-10-05T04:00:00Z")) }],
773
+ ["across", { press: some("P-1"), state: "planned", start: some(new Date("2026-10-11T18:00:00Z")), end: some(new Date("2026-10-12T06:00:00Z")) }],
774
+ ["month", { press: some("P-2"), state: "planned", start: some(new Date("2026-10-01T00:00:00Z")), end: some(new Date("2026-11-01T00:00:00Z")) }],
775
+ ["inside", { press: some("P-2"), state: "running", start: some(new Date("2026-10-06T08:00:00Z")), end: some(new Date("2026-10-06T16:00:00Z")) }],
776
+ ["late", { press: some("P-3"), state: "late", start: some(new Date("2026-10-07T09:00:00Z")), end: some(new Date("2026-10-07T12:00:00Z")) }],
777
+ ["instant", { press: some("P-3"), state: "late", start: some(new Date("2026-10-05T00:00:00Z")), end: none }],
778
+ ["unpressed", { press: none, state: "planned", start: some(new Date("2026-10-06T00:00:00Z")), end: some(new Date("2026-10-06T02:00:00Z")) }],
779
+ ["backlog", { press: some("P-1"), state: "planned", start: none, end: none }],
780
+ ]),
781
+ indexes: (index) => ({
782
+ // The jobs a window overlaps, by state or not; their cells, some presses in a week, by state or not; and their totals,
783
+ // a press in a month.
784
+ jobs_by_time: index.interval({ from: "start", to: "end" }),
785
+ jobs_by_state_time: index.interval({ on: ["state"], from: "start", to: "end" }),
786
+ jobs_by_press_week: index.series({ key: "press", from: "start", to: "end", tile: "week" }),
787
+ jobs_by_state_press_week: index.series({ on: ["state"], key: "press", from: "start", to: "end", tile: "week" }),
788
+ jobs_by_press_month: index.summary({ key: "press", from: "start", to: "end", tile: "month" }),
789
+ }),
790
+ mutations: (mutation) => ({
791
+ patch: mutation.patch(),
792
+ }),
697
793
  });
698
- export const computedByDecisionOwner = e3.recordIndex('decisionOwner', computedFlows, {
699
- keys: East.function([StringType, ComputedFlow], SetType(OptionType(StringType)), (_$, _id, flow) => flow.states.toSet((_$2, state) => state.owner)),
794
+ /** A step of a flow: its lane, and who owns it, if anyone. */
795
+ export const ComputedStep = StructType({ lane: StringType, owner: OptionType(StringType) });
796
+ /** A flow: what it is, and its steps. */
797
+ export const ComputedFlow = StructType({ description: StringType, states: ArrayType(ComputedStep) });
798
+ /** Flows whose indexes are computed from their steps: `a` has two steps in one lane, `c` a step no one owns, and `d` none at all. */
799
+ export const computedFlows = e3.record('computed_flows', DictType(StringType, ComputedFlow), {
800
+ initial: new Map([
801
+ ["a", { description: "Inbound", states: [{ lane: "load", owner: some("team-a") }, { lane: "load", owner: some("team-a") }, { lane: "review", owner: none }] }],
802
+ ["b", { description: "Inbound", states: [{ lane: "load", owner: some("team-b") }] }],
803
+ ["c", { description: "Returns", states: [{ lane: "review", owner: none }] }],
804
+ ["d", { description: "Empty", states: [] }],
805
+ ]),
806
+ indexes: (index) => ({
807
+ description: index.on(["description"]),
808
+ state_count: index.key(East.function([StringType, ComputedFlow], StructType({ stateCount: IntegerType }), (_$, _id, flow) => ({ stateCount: flow.states.size() }))),
809
+ description_count: index.key(East.function([StringType, ComputedFlow], StructType({ description: StringType, stateCount: IntegerType }), (_$, _id, flow) => ({ description: flow.description, stateCount: flow.states.size() }))),
810
+ lane: index.keys(East.function([StringType, ComputedFlow], SetType(StructType({ lane: StringType })), (_$, _id, flow) => flow.states.toSet((_$2, state) => ({ lane: state.lane })))),
811
+ owner: index.keys(East.function([StringType, ComputedFlow], SetType(StructType({ owner: OptionType(StringType) })), (_$, _id, flow) => flow.states.toSet((_$2, state) => ({ owner: state.owner })))),
812
+ // Scalar computed keys, each a field by its index's name.
813
+ label: index.key(East.function([StringType, ComputedFlow], StringType, (_$, _id, flow) => flow.description)),
814
+ size: index.key(East.function([StringType, ComputedFlow], IntegerType, (_$, _id, flow) => flow.states.size())),
815
+ decisionOwner: index.keys(East.function([StringType, ComputedFlow], SetType(OptionType(StringType)), (_$, _id, flow) => flow.states.toSet((_$2, state) => state.owner))),
816
+ }),
817
+ mutations: (mutation) => ({
818
+ patch: mutation.patch(),
819
+ }),
700
820
  });
701
821
  //# sourceMappingURL=data.examples.js.map