@elaraai/e3-ui 1.0.96 → 1.0.98

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 (304) hide show
  1. package/dist/src/allocation/index.d.ts +258 -7
  2. package/dist/src/allocation/index.d.ts.map +1 -1
  3. package/dist/src/allocation/index.js +30 -1
  4. package/dist/src/allocation/index.js.map +1 -1
  5. package/dist/src/allocation/types.d.ts +41 -0
  6. package/dist/src/allocation/types.d.ts.map +1 -1
  7. package/dist/src/allocation/types.js +35 -0
  8. package/dist/src/allocation/types.js.map +1 -1
  9. package/dist/src/bind/data-indexed.d.ts +31 -4
  10. package/dist/src/bind/data-indexed.d.ts.map +1 -1
  11. package/dist/src/bind/data-indexed.js +54 -10
  12. package/dist/src/bind/data-indexed.js.map +1 -1
  13. package/dist/src/calendar/index.d.ts +540 -14
  14. package/dist/src/calendar/index.d.ts.map +1 -1
  15. package/dist/src/calendar/index.js +43 -7
  16. package/dist/src/calendar/index.js.map +1 -1
  17. package/dist/src/calendar/paged.d.ts +89 -0
  18. package/dist/src/calendar/paged.d.ts.map +1 -0
  19. package/dist/src/calendar/paged.js +148 -0
  20. package/dist/src/calendar/paged.js.map +1 -0
  21. package/dist/src/flowchart/payload.d.ts +156 -0
  22. package/dist/src/flowchart/payload.d.ts.map +1 -1
  23. package/dist/src/flowchart/window.d.ts +12 -0
  24. package/dist/src/flowchart/window.d.ts.map +1 -1
  25. package/dist/src/index.d.ts +11 -2
  26. package/dist/src/index.d.ts.map +1 -1
  27. package/dist/src/index.js +19 -0
  28. package/dist/src/index.js.map +1 -1
  29. package/dist/src/internal.d.ts +11 -5
  30. package/dist/src/internal.d.ts.map +1 -1
  31. package/dist/src/internal.js +28 -7
  32. package/dist/src/internal.js.map +1 -1
  33. package/dist/src/plan/builders.d.ts +12 -8
  34. package/dist/src/plan/builders.d.ts.map +1 -1
  35. package/dist/src/plan/builders.js +12 -8
  36. package/dist/src/plan/builders.js.map +1 -1
  37. package/dist/src/plan/event-rows.d.ts +228 -156
  38. package/dist/src/plan/event-rows.d.ts.map +1 -1
  39. package/dist/src/plan/event-rows.js +239 -54
  40. package/dist/src/plan/event-rows.js.map +1 -1
  41. package/dist/src/plan/index.d.ts +5 -0
  42. package/dist/src/plan/index.d.ts.map +1 -1
  43. package/dist/src/plan/index.js +3 -0
  44. package/dist/src/plan/index.js.map +1 -1
  45. package/dist/src/plan/ir.d.ts +70 -0
  46. package/dist/src/plan/ir.d.ts.map +1 -1
  47. package/dist/src/plan/ordered-source.d.ts +2038 -1
  48. package/dist/src/plan/ordered-source.d.ts.map +1 -1
  49. package/dist/src/plan/ordered-source.js +19 -11
  50. package/dist/src/plan/ordered-source.js.map +1 -1
  51. package/dist/src/plan/plan.d.ts +513 -32
  52. package/dist/src/plan/plan.d.ts.map +1 -1
  53. package/dist/src/plan/plan.js +119 -32
  54. package/dist/src/plan/plan.js.map +1 -1
  55. package/dist/src/plan/root.d.ts +4 -2
  56. package/dist/src/plan/root.d.ts.map +1 -1
  57. package/dist/src/plan/root.js +6 -4
  58. package/dist/src/plan/root.js.map +1 -1
  59. package/dist/src/plan/series.d.ts +13 -0
  60. package/dist/src/plan/series.d.ts.map +1 -1
  61. package/dist/src/plan/series.js +61 -7
  62. package/dist/src/plan/series.js.map +1 -1
  63. package/dist/src/plan/types.d.ts +14 -0
  64. package/dist/src/plan/types.d.ts.map +1 -1
  65. package/dist/src/plan/types.js +8 -0
  66. package/dist/src/plan/types.js.map +1 -1
  67. package/dist/src/roster/index.d.ts +608 -20
  68. package/dist/src/roster/index.d.ts.map +1 -1
  69. package/dist/src/roster/index.js +103 -29
  70. package/dist/src/roster/index.js.map +1 -1
  71. package/dist/src/roster/library.d.ts +12 -2
  72. package/dist/src/roster/library.d.ts.map +1 -1
  73. package/dist/src/roster/library.js +8 -0
  74. package/dist/src/roster/library.js.map +1 -1
  75. package/dist/src/roster/lists.d.ts +59 -12
  76. package/dist/src/roster/lists.d.ts.map +1 -1
  77. package/dist/src/roster/lists.js +51 -58
  78. package/dist/src/roster/lists.js.map +1 -1
  79. package/dist/src/roster/times.d.ts +402 -0
  80. package/dist/src/roster/times.d.ts.map +1 -1
  81. package/dist/src/roster/types.d.ts +913 -1
  82. package/dist/src/roster/types.d.ts.map +1 -1
  83. package/dist/src/roster/types.js +43 -3
  84. package/dist/src/roster/types.js.map +1 -1
  85. package/dist/src/schedule/cell-checks.d.ts +85 -0
  86. package/dist/src/schedule/cell-checks.d.ts.map +1 -0
  87. package/dist/src/schedule/cell-checks.js +211 -0
  88. package/dist/src/schedule/cell-checks.js.map +1 -0
  89. package/dist/src/schedule/events.d.ts +42 -10
  90. package/dist/src/schedule/events.d.ts.map +1 -1
  91. package/dist/src/schedule/events.js +349 -155
  92. package/dist/src/schedule/events.js.map +1 -1
  93. package/dist/src/schedule/fields.d.ts +134 -0
  94. package/dist/src/schedule/fields.d.ts.map +1 -0
  95. package/dist/src/schedule/fields.js +207 -0
  96. package/dist/src/schedule/fields.js.map +1 -0
  97. package/dist/src/schedule/library.d.ts +11 -3
  98. package/dist/src/schedule/library.d.ts.map +1 -1
  99. package/dist/src/schedule/library.js +9 -6
  100. package/dist/src/schedule/library.js.map +1 -1
  101. package/dist/src/schedule/optimise.d.ts +124 -0
  102. package/dist/src/schedule/optimise.d.ts.map +1 -0
  103. package/dist/src/schedule/optimise.js +140 -0
  104. package/dist/src/schedule/optimise.js.map +1 -0
  105. package/dist/src/schedule/pages.d.ts +76 -0
  106. package/dist/src/schedule/pages.d.ts.map +1 -0
  107. package/dist/src/schedule/pages.js +86 -0
  108. package/dist/src/schedule/pages.js.map +1 -0
  109. package/dist/src/schedule/record-window.d.ts +119 -6
  110. package/dist/src/schedule/record-window.d.ts.map +1 -1
  111. package/dist/src/schedule/record-window.js +139 -60
  112. package/dist/src/schedule/record-window.js.map +1 -1
  113. package/dist/src/schedule/resources.d.ts +8 -4
  114. package/dist/src/schedule/resources.d.ts.map +1 -1
  115. package/dist/src/schedule/resources.js +35 -15
  116. package/dist/src/schedule/resources.js.map +1 -1
  117. package/dist/src/schedule/session.d.ts +14 -0
  118. package/dist/src/schedule/session.d.ts.map +1 -1
  119. package/dist/src/schedule/session.js +29 -17
  120. package/dist/src/schedule/session.js.map +1 -1
  121. package/dist/src/schedule/types.d.ts +426 -36
  122. package/dist/src/schedule/types.d.ts.map +1 -1
  123. package/dist/src/schedule/types.js +63 -17
  124. package/dist/src/schedule/types.js.map +1 -1
  125. package/dist/src/schedule/window.d.ts +30 -9
  126. package/dist/src/schedule/window.d.ts.map +1 -1
  127. package/dist/src/schedule/window.js +101 -49
  128. package/dist/src/schedule/window.js.map +1 -1
  129. package/dist/src/schematic/index.d.ts +277 -0
  130. package/dist/src/schematic/index.d.ts.map +1 -0
  131. package/dist/src/schematic/index.js +206 -0
  132. package/dist/src/schematic/index.js.map +1 -0
  133. package/dist/src/schematic/kinds.d.ts +501 -0
  134. package/dist/src/schematic/kinds.d.ts.map +1 -0
  135. package/dist/src/schematic/kinds.js +1027 -0
  136. package/dist/src/schematic/kinds.js.map +1 -0
  137. package/dist/src/schematic/layers.d.ts +74 -0
  138. package/dist/src/schematic/layers.d.ts.map +1 -0
  139. package/dist/src/schematic/layers.js +99 -0
  140. package/dist/src/schematic/layers.js.map +1 -0
  141. package/dist/src/schematic/library.d.ts +202 -0
  142. package/dist/src/schematic/library.d.ts.map +1 -0
  143. package/dist/src/schematic/library.js +244 -0
  144. package/dist/src/schematic/library.js.map +1 -0
  145. package/dist/src/schematic/payload.d.ts +8360 -0
  146. package/dist/src/schematic/payload.d.ts.map +1 -0
  147. package/dist/src/schematic/payload.js +446 -0
  148. package/dist/src/schematic/payload.js.map +1 -0
  149. package/dist/src/schematic/schematic.d.ts +27 -0
  150. package/dist/src/schematic/schematic.d.ts.map +1 -0
  151. package/dist/src/schematic/schematic.js +17 -0
  152. package/dist/src/schematic/schematic.js.map +1 -0
  153. package/dist/src/schematic/shapes.d.ts +150 -0
  154. package/dist/src/schematic/shapes.d.ts.map +1 -0
  155. package/dist/src/schematic/shapes.js +171 -0
  156. package/dist/src/schematic/shapes.js.map +1 -0
  157. package/dist/src/schematic/templates.d.ts +96 -0
  158. package/dist/src/schematic/templates.d.ts.map +1 -0
  159. package/dist/src/schematic/templates.js +91 -0
  160. package/dist/src/schematic/templates.js.map +1 -0
  161. package/dist/src/schematic/types.d.ts +5766 -0
  162. package/dist/src/schematic/types.d.ts.map +1 -0
  163. package/dist/src/schematic/types.js +688 -0
  164. package/dist/src/schematic/types.js.map +1 -0
  165. package/dist/src/schematic/window.d.ts +212 -0
  166. package/dist/src/schematic/window.d.ts.map +1 -0
  167. package/dist/src/schematic/window.js +337 -0
  168. package/dist/src/schematic/window.js.map +1 -0
  169. package/dist/src/sheet/editing-bridge.d.ts +4 -2
  170. package/dist/src/sheet/editing-bridge.d.ts.map +1 -1
  171. package/dist/src/sheet/editing-bridge.js +8 -2
  172. package/dist/src/sheet/editing-bridge.js.map +1 -1
  173. package/dist/src/sheet/editing-types.d.ts +9 -5
  174. package/dist/src/sheet/editing-types.d.ts.map +1 -1
  175. package/dist/src/sheet/editing-types.js +9 -5
  176. package/dist/src/sheet/editing-types.js.map +1 -1
  177. package/dist/src/sheet/index.d.ts +18 -8
  178. package/dist/src/sheet/index.d.ts.map +1 -1
  179. package/dist/src/sheet/index.js +15 -7
  180. package/dist/src/sheet/index.js.map +1 -1
  181. package/dist/src/sheet/optimise.d.ts +69 -0
  182. package/dist/src/sheet/optimise.d.ts.map +1 -0
  183. package/dist/src/sheet/optimise.js +81 -0
  184. package/dist/src/sheet/optimise.js.map +1 -0
  185. package/dist/src/sheet/registers.d.ts +5 -5
  186. package/dist/src/sheet/registers.js +5 -5
  187. package/dist/src/sheet/root.d.ts +2 -0
  188. package/dist/src/sheet/root.d.ts.map +1 -1
  189. package/dist/src/sheet/root.js +2 -2
  190. package/dist/src/sheet/root.js.map +1 -1
  191. package/dist/src/sheet/sheet.d.ts +753 -573
  192. package/dist/src/sheet/sheet.d.ts.map +1 -1
  193. package/dist/src/sheet/sheet.js +45 -13
  194. package/dist/src/sheet/sheet.js.map +1 -1
  195. package/dist/src/sheet/types.d.ts +92 -12
  196. package/dist/src/sheet/types.d.ts.map +1 -1
  197. package/dist/src/sheet/types.js +4 -8
  198. package/dist/src/sheet/types.js.map +1 -1
  199. package/dist/src/utils/keyed-rows.d.ts +41 -0
  200. package/dist/src/utils/keyed-rows.d.ts.map +1 -0
  201. package/dist/src/utils/keyed-rows.js +64 -0
  202. package/dist/src/utils/keyed-rows.js.map +1 -0
  203. package/dist/src/utils/optimise.d.ts +79 -0
  204. package/dist/src/utils/optimise.d.ts.map +1 -0
  205. package/dist/src/utils/optimise.js +46 -0
  206. package/dist/src/utils/optimise.js.map +1 -0
  207. package/dist/test/allocation/allocation.examples.d.ts +6 -18
  208. package/dist/test/allocation/allocation.examples.d.ts.map +1 -1
  209. package/dist/test/allocation/allocation.examples.js +3 -3
  210. package/dist/test/allocation/allocation.examples.js.map +1 -1
  211. package/dist/test/allocation/optimise.examples.d.ts +109 -0
  212. package/dist/test/allocation/optimise.examples.d.ts.map +1 -0
  213. package/dist/test/allocation/optimise.examples.js +223 -0
  214. package/dist/test/allocation/optimise.examples.js.map +1 -0
  215. package/dist/test/bind/data/data.examples.d.ts +540 -36
  216. package/dist/test/bind/data/data.examples.d.ts.map +1 -1
  217. package/dist/test/bind/data/data.examples.js +66 -2
  218. package/dist/test/bind/data/data.examples.js.map +1 -1
  219. package/dist/test/bind/record/record.examples.d.ts +1 -3
  220. package/dist/test/bind/record/record.examples.d.ts.map +1 -1
  221. package/dist/test/calendar/calendar-records.examples.d.ts.map +1 -1
  222. package/dist/test/calendar/calendar-records.examples.js +3 -3
  223. package/dist/test/calendar/calendar-records.examples.js.map +1 -1
  224. package/dist/test/calendar/calendar-windows.examples.d.ts +9 -0
  225. package/dist/test/calendar/calendar-windows.examples.d.ts.map +1 -0
  226. package/dist/test/calendar/calendar-windows.examples.js +111 -0
  227. package/dist/test/calendar/calendar-windows.examples.js.map +1 -0
  228. package/dist/test/calendar/calendar.examples.d.ts +7 -21
  229. package/dist/test/calendar/calendar.examples.d.ts.map +1 -1
  230. package/dist/test/calendar/calendar.examples.js +7 -7
  231. package/dist/test/calendar/calendar.examples.js.map +1 -1
  232. package/dist/test/calendar/optimise.examples.d.ts +132 -0
  233. package/dist/test/calendar/optimise.examples.d.ts.map +1 -0
  234. package/dist/test/calendar/optimise.examples.js +75 -0
  235. package/dist/test/calendar/optimise.examples.js.map +1 -0
  236. package/dist/test/examples-package.d.ts +46 -10
  237. package/dist/test/examples-package.d.ts.map +1 -1
  238. package/dist/test/examples-package.js +142 -32
  239. package/dist/test/examples-package.js.map +1 -1
  240. package/dist/test/flowchart/flowchart.examples.d.ts +10 -30
  241. package/dist/test/flowchart/flowchart.examples.d.ts.map +1 -1
  242. package/dist/test/plan/optimise.examples.d.ts +207 -0
  243. package/dist/test/plan/optimise.examples.d.ts.map +1 -0
  244. package/dist/test/plan/optimise.examples.js +98 -0
  245. package/dist/test/plan/optimise.examples.js.map +1 -0
  246. package/dist/test/plan/plan-events.examples.d.ts +8 -24
  247. package/dist/test/plan/plan-events.examples.d.ts.map +1 -1
  248. package/dist/test/plan/plan-events.examples.js +3 -3
  249. package/dist/test/plan/plan-events.examples.js.map +1 -1
  250. package/dist/test/plan/plan-records.examples.d.ts +200 -19
  251. package/dist/test/plan/plan-records.examples.d.ts.map +1 -1
  252. package/dist/test/plan/plan-records.examples.js +125 -28
  253. package/dist/test/plan/plan-records.examples.js.map +1 -1
  254. package/dist/test/plan/plan-windows.examples.d.ts +853 -36
  255. package/dist/test/plan/plan-windows.examples.d.ts.map +1 -1
  256. package/dist/test/plan/plan-windows.examples.js +166 -29
  257. package/dist/test/plan/plan-windows.examples.js.map +1 -1
  258. package/dist/test/plan/plan.examples.d.ts +7 -21
  259. package/dist/test/plan/plan.examples.d.ts.map +1 -1
  260. package/dist/test/plan/plan.examples.js +11 -9
  261. package/dist/test/plan/plan.examples.js.map +1 -1
  262. package/dist/test/roster/domain.examples.d.ts +804 -0
  263. package/dist/test/roster/domain.examples.d.ts.map +1 -1
  264. package/dist/test/roster/domain.examples.js +3 -3
  265. package/dist/test/roster/domain.examples.js.map +1 -1
  266. package/dist/test/roster/optimise.examples.d.ts +485 -0
  267. package/dist/test/roster/optimise.examples.d.ts.map +1 -0
  268. package/dist/test/roster/optimise.examples.js +155 -0
  269. package/dist/test/roster/optimise.examples.js.map +1 -0
  270. package/dist/test/roster/roster-records.examples.d.ts +6 -18
  271. package/dist/test/roster/roster-records.examples.d.ts.map +1 -1
  272. package/dist/test/roster/roster-records.examples.js +1 -1
  273. package/dist/test/roster/roster-records.examples.js.map +1 -1
  274. package/dist/test/roster/roster.examples.d.ts +3391 -21
  275. package/dist/test/roster/roster.examples.d.ts.map +1 -1
  276. package/dist/test/roster/roster.examples.js +54 -7
  277. package/dist/test/roster/roster.examples.js.map +1 -1
  278. package/dist/test/roster/warehouse.d.ts +150 -7
  279. package/dist/test/roster/warehouse.d.ts.map +1 -1
  280. package/dist/test/roster/warehouse.js +36 -11
  281. package/dist/test/roster/warehouse.js.map +1 -1
  282. package/dist/test/schedule/schedule.examples.d.ts +1 -3
  283. package/dist/test/schedule/schedule.examples.d.ts.map +1 -1
  284. package/dist/test/schematic/schematic-records.examples.d.ts +444 -0
  285. package/dist/test/schematic/schematic-records.examples.d.ts.map +1 -0
  286. package/dist/test/schematic/schematic-records.examples.js +205 -0
  287. package/dist/test/schematic/schematic-records.examples.js.map +1 -0
  288. package/dist/test/schematic/schematic.examples.d.ts +2289 -0
  289. package/dist/test/schematic/schematic.examples.d.ts.map +1 -0
  290. package/dist/test/schematic/schematic.examples.js +453 -0
  291. package/dist/test/schematic/schematic.examples.js.map +1 -0
  292. package/dist/test/sheet/optimise.examples.d.ts +177 -0
  293. package/dist/test/sheet/optimise.examples.d.ts.map +1 -0
  294. package/dist/test/sheet/optimise.examples.js +75 -0
  295. package/dist/test/sheet/optimise.examples.js.map +1 -0
  296. package/dist/test/sheet/sheet-records.examples.d.ts +95 -204
  297. package/dist/test/sheet/sheet-records.examples.d.ts.map +1 -1
  298. package/dist/test/sheet/sheet-records.examples.js +42 -17
  299. package/dist/test/sheet/sheet-records.examples.js.map +1 -1
  300. package/dist/test/sheet/sheet.examples.d.ts +17 -33
  301. package/dist/test/sheet/sheet.examples.d.ts.map +1 -1
  302. package/dist/test/sheet/sheet.examples.js +18 -15
  303. package/dist/test/sheet/sheet.examples.js.map +1 -1
  304. package/package.json +11 -11
@@ -21,6 +21,26 @@ export declare const planWindowPresses: import("@elaraai/e3").TaskDef<DictType<S
21
21
  readonly hall: StringType;
22
22
  readonly sheets_per_hour: import("@elaraai/east").FloatType;
23
23
  }>>, [variant<"field", "tasks">, variant<"field", "plan_window_presses">, variant<"field", "output">]>;
24
+ /**
25
+ * The works' 2,000 presses as a record of their own (#1344): the presses
26
+ * `generateWindowPresses` makes, stored, so the rail narrows them — a resource
27
+ * kind's source of the slice is an index of its record.
28
+ */
29
+ export declare const planSeriesPresses: import("@elaraai/e3").RecordDef<DictType<StringType, import("@elaraai/east").StructType<{
30
+ readonly name: StringType;
31
+ readonly hall: StringType;
32
+ readonly sheets_per_hour: import("@elaraai/east").FloatType;
33
+ }>>, [variant<"field", "records">, variant<"field", "plan_series_presses">]>;
34
+ /**
35
+ * The presses by hall (#1344): each hall's presses, in their key order — what
36
+ * the rail's `presses` source narrows them through, and the order a Plan pages
37
+ * the presses of the halls chosen in.
38
+ */
39
+ export declare const planSeriesPressesByHall: import("@elaraai/e3").RecordIndexDef<"plan_series_presses_by_hall", DictType<StringType, import("@elaraai/east").StructType<{
40
+ readonly name: StringType;
41
+ readonly hall: StringType;
42
+ readonly sheets_per_hour: import("@elaraai/east").FloatType;
43
+ }>>, StringType, import("@elaraai/east").NullType, readonly ["hall"]>;
24
44
  /**
25
45
  * The print jobs on the presses, from Monday 5 October 2026: a night run into
26
46
  * the next day, a run over three days, jobs on presses in each window of 200,
@@ -544,10 +564,170 @@ export declare const planWindowJobsByTime: import("@elaraai/e3").RecordIndexDef<
544
564
  readonly to: "end";
545
565
  };
546
566
  };
567
+ /**
568
+ * The jobs by the press each is on and the weeks each touches (#1039): a job
569
+ * is filed under every week it runs into, carrying its row, so the jobs of
570
+ * fifty presses over a week are one contiguous range of the index — a cell —
571
+ * and `planWindows` reads only the cells around the rows in view.
572
+ */
573
+ export declare const planWindowJobsByPressWeek: import("@elaraai/e3").RecordIndexDef<"plan_window_jobs_by_press_week", DictType<StringType, import("@elaraai/east").StructType<{
574
+ readonly title: StringType;
575
+ readonly start: OptionType<DateTimeType>;
576
+ readonly end: OptionType<DateTimeType>;
577
+ readonly press: OptionType<StringType>;
578
+ readonly state: import("@elaraai/east").VariantType<{
579
+ readonly estimated: import("@elaraai/east").NullType;
580
+ readonly proposed: import("@elaraai/east").VariantType<{
581
+ readonly added: import("@elaraai/east").NullType;
582
+ readonly recommended: import("@elaraai/east").NullType;
583
+ readonly removed: import("@elaraai/east").NullType;
584
+ }>;
585
+ readonly confirmed: import("@elaraai/east").NullType;
586
+ readonly "in-progress": import("@elaraai/east").NullType;
587
+ readonly actual: import("@elaraai/east").NullType;
588
+ readonly rejected: import("@elaraai/east").NullType;
589
+ }>;
590
+ readonly sheets: import("@elaraai/east").FloatType;
591
+ readonly customer: StringType;
592
+ readonly stock: import("@elaraai/east").VariantType<{
593
+ readonly coated: import("@elaraai/east").NullType;
594
+ readonly uncoated: import("@elaraai/east").NullType;
595
+ readonly board: import("@elaraai/east").NullType;
596
+ }>;
597
+ readonly due: OptionType<DateTimeType>;
598
+ }>>, import("@elaraai/east").StructType<Record<never, never> & {
599
+ __tile: DateTimeType;
600
+ } & {
601
+ press: OptionType<StringType>;
602
+ }>, import("@elaraai/east").StructType<{
603
+ readonly title: StringType;
604
+ readonly start: OptionType<DateTimeType>;
605
+ readonly end: OptionType<DateTimeType>;
606
+ readonly press: OptionType<StringType>;
607
+ readonly state: import("@elaraai/east").VariantType<{
608
+ readonly estimated: import("@elaraai/east").NullType;
609
+ readonly proposed: import("@elaraai/east").VariantType<{
610
+ readonly added: import("@elaraai/east").NullType;
611
+ readonly recommended: import("@elaraai/east").NullType;
612
+ readonly removed: import("@elaraai/east").NullType;
613
+ }>;
614
+ readonly confirmed: import("@elaraai/east").NullType;
615
+ readonly "in-progress": import("@elaraai/east").NullType;
616
+ readonly actual: import("@elaraai/east").NullType;
617
+ readonly rejected: import("@elaraai/east").NullType;
618
+ }>;
619
+ readonly sheets: import("@elaraai/east").FloatType;
620
+ readonly customer: StringType;
621
+ readonly stock: import("@elaraai/east").VariantType<{
622
+ readonly coated: import("@elaraai/east").NullType;
623
+ readonly uncoated: import("@elaraai/east").NullType;
624
+ readonly board: import("@elaraai/east").NullType;
625
+ }>;
626
+ readonly due: OptionType<DateTimeType>;
627
+ }>, readonly ["__tile", "press"]> & {
628
+ series: import("@elaraai/e3").TimeTileOf<{
629
+ readonly key: "press";
630
+ readonly from: "start";
631
+ readonly to: "end";
632
+ readonly tile: "week";
633
+ }>;
634
+ };
635
+ /**
636
+ * How busy each press is, a month at a time (#1039): under each press and
637
+ * month, how many jobs touch it and the milliseconds of it they cover — what
638
+ * `planWindows` shades where the jobs in view are too many to draw.
639
+ */
640
+ export declare const planWindowJobsByPressMonth: import("@elaraai/e3").RecordIndexDef<"plan_window_jobs_by_press_month", DictType<StringType, import("@elaraai/east").StructType<{
641
+ readonly title: StringType;
642
+ readonly start: OptionType<DateTimeType>;
643
+ readonly end: OptionType<DateTimeType>;
644
+ readonly press: OptionType<StringType>;
645
+ readonly state: import("@elaraai/east").VariantType<{
646
+ readonly estimated: import("@elaraai/east").NullType;
647
+ readonly proposed: import("@elaraai/east").VariantType<{
648
+ readonly added: import("@elaraai/east").NullType;
649
+ readonly recommended: import("@elaraai/east").NullType;
650
+ readonly removed: import("@elaraai/east").NullType;
651
+ }>;
652
+ readonly confirmed: import("@elaraai/east").NullType;
653
+ readonly "in-progress": import("@elaraai/east").NullType;
654
+ readonly actual: import("@elaraai/east").NullType;
655
+ readonly rejected: import("@elaraai/east").NullType;
656
+ }>;
657
+ readonly sheets: import("@elaraai/east").FloatType;
658
+ readonly customer: StringType;
659
+ readonly stock: import("@elaraai/east").VariantType<{
660
+ readonly coated: import("@elaraai/east").NullType;
661
+ readonly uncoated: import("@elaraai/east").NullType;
662
+ readonly board: import("@elaraai/east").NullType;
663
+ }>;
664
+ readonly due: OptionType<DateTimeType>;
665
+ }>>, import("@elaraai/east").StructType<Record<never, never> & {
666
+ __tile: DateTimeType;
667
+ } & {
668
+ press: OptionType<StringType>;
669
+ }>, import("@elaraai/east").StructType<{
670
+ readonly count: IntegerType;
671
+ readonly ms: IntegerType;
672
+ }>, readonly ["__tile", "press"]> & {
673
+ summary: import("@elaraai/e3").TimeTileOf<{
674
+ readonly key: "press";
675
+ readonly from: "start";
676
+ readonly to: "end";
677
+ readonly tile: "month";
678
+ }>;
679
+ };
680
+ /**
681
+ * The jobs' monthly summary declared again (#1039): no example lists it — a
682
+ * Plan refuses two summaries of one tile over the same fields, naming both,
683
+ * and the series spec lists it beside `planWindowJobsByPressMonth` to see it
684
+ * refused.
685
+ */
686
+ export declare const planWindowJobsByPressMonthAgain: import("@elaraai/e3").RecordIndexDef<"plan_window_jobs_by_press_month_again", DictType<StringType, import("@elaraai/east").StructType<{
687
+ readonly title: StringType;
688
+ readonly start: OptionType<DateTimeType>;
689
+ readonly end: OptionType<DateTimeType>;
690
+ readonly press: OptionType<StringType>;
691
+ readonly state: import("@elaraai/east").VariantType<{
692
+ readonly estimated: import("@elaraai/east").NullType;
693
+ readonly proposed: import("@elaraai/east").VariantType<{
694
+ readonly added: import("@elaraai/east").NullType;
695
+ readonly recommended: import("@elaraai/east").NullType;
696
+ readonly removed: import("@elaraai/east").NullType;
697
+ }>;
698
+ readonly confirmed: import("@elaraai/east").NullType;
699
+ readonly "in-progress": import("@elaraai/east").NullType;
700
+ readonly actual: import("@elaraai/east").NullType;
701
+ readonly rejected: import("@elaraai/east").NullType;
702
+ }>;
703
+ readonly sheets: import("@elaraai/east").FloatType;
704
+ readonly customer: StringType;
705
+ readonly stock: import("@elaraai/east").VariantType<{
706
+ readonly coated: import("@elaraai/east").NullType;
707
+ readonly uncoated: import("@elaraai/east").NullType;
708
+ readonly board: import("@elaraai/east").NullType;
709
+ }>;
710
+ readonly due: OptionType<DateTimeType>;
711
+ }>>, import("@elaraai/east").StructType<Record<never, never> & {
712
+ __tile: DateTimeType;
713
+ } & {
714
+ press: OptionType<StringType>;
715
+ }>, import("@elaraai/east").StructType<{
716
+ readonly count: IntegerType;
717
+ readonly ms: IntegerType;
718
+ }>, readonly ["__tile", "press"]> & {
719
+ summary: import("@elaraai/e3").TimeTileOf<{
720
+ readonly key: "press";
721
+ readonly from: "start";
722
+ readonly to: "end";
723
+ readonly tile: "month";
724
+ }>;
725
+ };
547
726
  /**
548
727
  * The jobs by the days each touches (`Schedule.days`): a scheduled job is
549
728
  * filed under every day it runs into, and a job in the backlog under none —
550
- * the index a kind with no rail reads the days in view through (`window`).
729
+ * the index a kind with no rail reads the days in view through (`window`), on
730
+ * resources read whole: on paged presses, a Plan refuses it.
551
731
  */
552
732
  export declare const planWindowJobsByDay: import("@elaraai/e3").RecordIndexDef<"plan_window_jobs_by_day", DictType<StringType, import("@elaraai/east").StructType<{
553
733
  readonly title: StringType;
@@ -574,9 +754,7 @@ export declare const planWindowJobsByDay: import("@elaraai/e3").RecordIndexDef<"
574
754
  readonly board: import("@elaraai/east").NullType;
575
755
  }>;
576
756
  readonly due: OptionType<DateTimeType>;
577
- }>>, DateTimeType, import("@elaraai/east").NullType, undefined> & {
578
- interval: undefined;
579
- };
757
+ }>>, DateTimeType, import("@elaraai/east").NullType, undefined>;
580
758
  /**
581
759
  * The jobs with no start, by when they are due (`Schedule.unscheduled`): the
582
760
  * index a kind with no rail reads its backlog through (`backlogWindow`), and
@@ -607,16 +785,15 @@ export declare const planWindowJobsUnscheduled: import("@elaraai/e3").RecordInde
607
785
  readonly board: import("@elaraai/east").NullType;
608
786
  }>;
609
787
  readonly due: OptionType<DateTimeType>;
610
- }>>, OptionType<DateTimeType>, import("@elaraai/east").NullType, undefined> & {
611
- interval: undefined;
612
- };
788
+ }>>, OptionType<DateTimeType>, import("@elaraai/east").NullType, undefined>;
613
789
  /**
614
- * Print runs on a press, filed as the jobs are: the windows spec commits a
615
- * day of runs that fills a whole page of their day index, and one on the next
616
- * day, so a window of the first day reads the page after it to find where the
617
- * day ends. Empty until the spec commits them.
790
+ * The jobs of the series benchmark (#1039), filed as the jobs are: empty here,
791
+ * so neither the showcase nor a test deploys them — e3-ui-components' series
792
+ * benchmark (`E3_UI_PERF=1`) fills them through their patch door, twenty a
793
+ * week on each of the first two hundred of 50,000 presses over a quarter, and
794
+ * reads them a cell at a time.
618
795
  */
619
- export declare const planWindowRuns: import("@elaraai/e3").RecordDef<DictType<StringType, import("@elaraai/east").StructType<{
796
+ export declare const planBenchJobs: import("@elaraai/e3").RecordDef<DictType<StringType, import("@elaraai/east").StructType<{
620
797
  readonly title: StringType;
621
798
  readonly start: OptionType<DateTimeType>;
622
799
  readonly end: OptionType<DateTimeType>;
@@ -641,9 +818,9 @@ export declare const planWindowRuns: import("@elaraai/e3").RecordDef<DictType<St
641
818
  readonly board: import("@elaraai/east").NullType;
642
819
  }>;
643
820
  readonly due: OptionType<DateTimeType>;
644
- }>>, [variant<"field", "records">, variant<"field", "plan_window_runs">]>;
645
- /** The runs' patch door: the spec's commit goes through it. */
646
- export declare const planWindowRunsPatch: import("@elaraai/e3").MutationDef<"patch", DictType<StringType, import("@elaraai/east").StructType<{
821
+ }>>, [variant<"field", "records">, variant<"field", "plan_bench_jobs">]>;
822
+ /** The benchmark jobs' patch door: what the benchmark fills them through. */
823
+ export declare const planBenchJobsPatch: import("@elaraai/e3").MutationDef<"patch", DictType<StringType, import("@elaraai/east").StructType<{
647
824
  readonly title: StringType;
648
825
  readonly start: OptionType<DateTimeType>;
649
826
  readonly end: OptionType<DateTimeType>;
@@ -1093,8 +1270,8 @@ export declare const planWindowRunsPatch: import("@elaraai/e3").MutationDef<"pat
1093
1270
  }>;
1094
1271
  }>>;
1095
1272
  }>]>;
1096
- /** The runs by the days each touches (`Schedule.days`), as the jobs are. */
1097
- export declare const planWindowRunsByDay: import("@elaraai/e3").RecordIndexDef<"plan_window_runs_by_day", DictType<StringType, import("@elaraai/east").StructType<{
1273
+ /** The benchmark jobs over their interval index: the rail's window and its exact count. */
1274
+ export declare const planBenchJobsByTime: import("@elaraai/e3").RecordIndexDef<"plan_bench_jobs_by_time", DictType<StringType, import("@elaraai/east").StructType<{
1098
1275
  readonly title: StringType;
1099
1276
  readonly start: OptionType<DateTimeType>;
1100
1277
  readonly end: OptionType<DateTimeType>;
@@ -1119,11 +1296,81 @@ export declare const planWindowRunsByDay: import("@elaraai/e3").RecordIndexDef<"
1119
1296
  readonly board: import("@elaraai/east").NullType;
1120
1297
  }>;
1121
1298
  readonly due: OptionType<DateTimeType>;
1122
- }>>, DateTimeType, import("@elaraai/east").NullType, undefined> & {
1123
- interval: undefined;
1299
+ }>>, import("@elaraai/east").StructType<Record<never, never> & {
1300
+ __interval: IntegerType;
1301
+ } & {
1302
+ start: OptionType<DateTimeType>;
1303
+ }>, import("@elaraai/east").NullType, readonly ["start"]> & {
1304
+ interval: {
1305
+ readonly from: "start";
1306
+ readonly to: "end";
1307
+ };
1124
1308
  };
1125
- /** The runs with no start, by when they are due (`Schedule.unscheduled`), as the jobs are. */
1126
- export declare const planWindowRunsUnscheduled: import("@elaraai/e3").RecordIndexDef<"plan_window_runs_unscheduled", DictType<StringType, import("@elaraai/east").StructType<{
1309
+ /** The benchmark jobs by the press each is on and the weeks each touches: its cells. */
1310
+ export declare const planBenchJobsByPressWeek: import("@elaraai/e3").RecordIndexDef<"plan_bench_jobs_by_press_week", DictType<StringType, import("@elaraai/east").StructType<{
1311
+ readonly title: StringType;
1312
+ readonly start: OptionType<DateTimeType>;
1313
+ readonly end: OptionType<DateTimeType>;
1314
+ readonly press: OptionType<StringType>;
1315
+ readonly state: import("@elaraai/east").VariantType<{
1316
+ readonly estimated: import("@elaraai/east").NullType;
1317
+ readonly proposed: import("@elaraai/east").VariantType<{
1318
+ readonly added: import("@elaraai/east").NullType;
1319
+ readonly recommended: import("@elaraai/east").NullType;
1320
+ readonly removed: import("@elaraai/east").NullType;
1321
+ }>;
1322
+ readonly confirmed: import("@elaraai/east").NullType;
1323
+ readonly "in-progress": import("@elaraai/east").NullType;
1324
+ readonly actual: import("@elaraai/east").NullType;
1325
+ readonly rejected: import("@elaraai/east").NullType;
1326
+ }>;
1327
+ readonly sheets: import("@elaraai/east").FloatType;
1328
+ readonly customer: StringType;
1329
+ readonly stock: import("@elaraai/east").VariantType<{
1330
+ readonly coated: import("@elaraai/east").NullType;
1331
+ readonly uncoated: import("@elaraai/east").NullType;
1332
+ readonly board: import("@elaraai/east").NullType;
1333
+ }>;
1334
+ readonly due: OptionType<DateTimeType>;
1335
+ }>>, import("@elaraai/east").StructType<Record<never, never> & {
1336
+ __tile: DateTimeType;
1337
+ } & {
1338
+ press: OptionType<StringType>;
1339
+ }>, import("@elaraai/east").StructType<{
1340
+ readonly title: StringType;
1341
+ readonly start: OptionType<DateTimeType>;
1342
+ readonly end: OptionType<DateTimeType>;
1343
+ readonly press: OptionType<StringType>;
1344
+ readonly state: import("@elaraai/east").VariantType<{
1345
+ readonly estimated: import("@elaraai/east").NullType;
1346
+ readonly proposed: import("@elaraai/east").VariantType<{
1347
+ readonly added: import("@elaraai/east").NullType;
1348
+ readonly recommended: import("@elaraai/east").NullType;
1349
+ readonly removed: import("@elaraai/east").NullType;
1350
+ }>;
1351
+ readonly confirmed: import("@elaraai/east").NullType;
1352
+ readonly "in-progress": import("@elaraai/east").NullType;
1353
+ readonly actual: import("@elaraai/east").NullType;
1354
+ readonly rejected: import("@elaraai/east").NullType;
1355
+ }>;
1356
+ readonly sheets: import("@elaraai/east").FloatType;
1357
+ readonly customer: StringType;
1358
+ readonly stock: import("@elaraai/east").VariantType<{
1359
+ readonly coated: import("@elaraai/east").NullType;
1360
+ readonly uncoated: import("@elaraai/east").NullType;
1361
+ readonly board: import("@elaraai/east").NullType;
1362
+ }>;
1363
+ readonly due: OptionType<DateTimeType>;
1364
+ }>, readonly ["__tile", "press"]> & {
1365
+ series: import("@elaraai/e3").TimeTileOf<{
1366
+ readonly key: "press";
1367
+ readonly from: "start";
1368
+ readonly to: "end";
1369
+ readonly tile: "week";
1370
+ }>;
1371
+ };
1372
+ /** How busy each press is, a month at a time: the benchmark's shading. */
1373
+ export declare const planBenchJobsByPressMonth: import("@elaraai/e3").RecordIndexDef<"plan_bench_jobs_by_press_month", DictType<StringType, import("@elaraai/east").StructType<{
1127
1374
  readonly title: StringType;
1128
1375
  readonly start: OptionType<DateTimeType>;
1129
1376
  readonly end: OptionType<DateTimeType>;
@@ -1148,22 +1395,592 @@ export declare const planWindowRunsUnscheduled: import("@elaraai/e3").RecordInde
1148
1395
  readonly board: import("@elaraai/east").NullType;
1149
1396
  }>;
1150
1397
  readonly due: OptionType<DateTimeType>;
1151
- }>>, OptionType<DateTimeType>, import("@elaraai/east").NullType, undefined> & {
1152
- interval: undefined;
1398
+ }>>, import("@elaraai/east").StructType<Record<never, never> & {
1399
+ __tile: DateTimeType;
1400
+ } & {
1401
+ press: OptionType<StringType>;
1402
+ }>, import("@elaraai/east").StructType<{
1403
+ readonly count: IntegerType;
1404
+ readonly ms: IntegerType;
1405
+ }>, readonly ["__tile", "press"]> & {
1406
+ summary: import("@elaraai/e3").TimeTileOf<{
1407
+ readonly key: "press";
1408
+ readonly from: "start";
1409
+ readonly to: "end";
1410
+ readonly tile: "month";
1411
+ }>;
1153
1412
  };
1154
1413
  /**
1155
- * A Plan read a window at a time (`Plan Builder Spec.md` §9.11, PB54–PB55):
1156
- * 2,000 presses, paged 200 to a window as the canvas scrolls, the key search
1157
- * seeking a press by its key; and the jobs on them narrowed through the Plan's
1158
- * one rail (#1344) — its `job` source reads them through their interval
1159
- * index, only the jobs overlapping the window in view, each once, and the
1160
- * backlog, which the library's Backlog tab lists, through its Unset start. The
1161
- * source's range is the window: the toolbar's dates, a pan and the horizon
1162
- * brush write it, and a pan reads the jobs it brings in. One job — the
1163
- * inspector's, a draft's — is read by its key through the record's own
1164
- * entries. Neither the presses nor the jobs are ever read whole, and Save
1165
- * commits through the jobs' patch door, its drafts checked against the
1166
- * revision they were drafted at.
1414
+ * Print runs on a press, filed as the jobs are: the windows spec commits a
1415
+ * day of runs that fills a whole page of their day index, and one on the next
1416
+ * day, so a window of the first day reads the page after it to find where the
1417
+ * day ends. Empty until the spec commits them.
1167
1418
  */
1168
- export declare const planWindows: import("@elaraai/east").ExampleDef<[], any>;
1419
+ export declare const planWindowRuns: import("@elaraai/e3").RecordDef<DictType<StringType, import("@elaraai/east").StructType<{
1420
+ readonly title: StringType;
1421
+ readonly start: OptionType<DateTimeType>;
1422
+ readonly end: OptionType<DateTimeType>;
1423
+ readonly press: OptionType<StringType>;
1424
+ readonly state: import("@elaraai/east").VariantType<{
1425
+ readonly estimated: import("@elaraai/east").NullType;
1426
+ readonly proposed: import("@elaraai/east").VariantType<{
1427
+ readonly added: import("@elaraai/east").NullType;
1428
+ readonly recommended: import("@elaraai/east").NullType;
1429
+ readonly removed: import("@elaraai/east").NullType;
1430
+ }>;
1431
+ readonly confirmed: import("@elaraai/east").NullType;
1432
+ readonly "in-progress": import("@elaraai/east").NullType;
1433
+ readonly actual: import("@elaraai/east").NullType;
1434
+ readonly rejected: import("@elaraai/east").NullType;
1435
+ }>;
1436
+ readonly sheets: import("@elaraai/east").FloatType;
1437
+ readonly customer: StringType;
1438
+ readonly stock: import("@elaraai/east").VariantType<{
1439
+ readonly coated: import("@elaraai/east").NullType;
1440
+ readonly uncoated: import("@elaraai/east").NullType;
1441
+ readonly board: import("@elaraai/east").NullType;
1442
+ }>;
1443
+ readonly due: OptionType<DateTimeType>;
1444
+ }>>, [variant<"field", "records">, variant<"field", "plan_window_runs">]>;
1445
+ /** The runs' patch door: the spec's commit goes through it. */
1446
+ export declare const planWindowRunsPatch: import("@elaraai/e3").MutationDef<"patch", DictType<StringType, import("@elaraai/east").StructType<{
1447
+ readonly title: StringType;
1448
+ readonly start: OptionType<DateTimeType>;
1449
+ readonly end: OptionType<DateTimeType>;
1450
+ readonly press: OptionType<StringType>;
1451
+ readonly state: import("@elaraai/east").VariantType<{
1452
+ readonly estimated: import("@elaraai/east").NullType;
1453
+ readonly proposed: import("@elaraai/east").VariantType<{
1454
+ readonly added: import("@elaraai/east").NullType;
1455
+ readonly recommended: import("@elaraai/east").NullType;
1456
+ readonly removed: import("@elaraai/east").NullType;
1457
+ }>;
1458
+ readonly confirmed: import("@elaraai/east").NullType;
1459
+ readonly "in-progress": import("@elaraai/east").NullType;
1460
+ readonly actual: import("@elaraai/east").NullType;
1461
+ readonly rejected: import("@elaraai/east").NullType;
1462
+ }>;
1463
+ readonly sheets: import("@elaraai/east").FloatType;
1464
+ readonly customer: StringType;
1465
+ readonly stock: import("@elaraai/east").VariantType<{
1466
+ readonly coated: import("@elaraai/east").NullType;
1467
+ readonly uncoated: import("@elaraai/east").NullType;
1468
+ readonly board: import("@elaraai/east").NullType;
1469
+ }>;
1470
+ readonly due: OptionType<DateTimeType>;
1471
+ }>>, [import("@elaraai/east").VariantType<{
1472
+ unchanged: import("@elaraai/east").NullType;
1473
+ replace: import("@elaraai/east").StructType<{
1474
+ before: DictType<StringType, import("@elaraai/east").StructType<{
1475
+ readonly title: StringType;
1476
+ readonly start: OptionType<DateTimeType>;
1477
+ readonly end: OptionType<DateTimeType>;
1478
+ readonly press: OptionType<StringType>;
1479
+ readonly state: import("@elaraai/east").VariantType<{
1480
+ readonly estimated: import("@elaraai/east").NullType;
1481
+ readonly proposed: import("@elaraai/east").VariantType<{
1482
+ readonly added: import("@elaraai/east").NullType;
1483
+ readonly recommended: import("@elaraai/east").NullType;
1484
+ readonly removed: import("@elaraai/east").NullType;
1485
+ }>;
1486
+ readonly confirmed: import("@elaraai/east").NullType;
1487
+ readonly "in-progress": import("@elaraai/east").NullType;
1488
+ readonly actual: import("@elaraai/east").NullType;
1489
+ readonly rejected: import("@elaraai/east").NullType;
1490
+ }>;
1491
+ readonly sheets: import("@elaraai/east").FloatType;
1492
+ readonly customer: StringType;
1493
+ readonly stock: import("@elaraai/east").VariantType<{
1494
+ readonly coated: import("@elaraai/east").NullType;
1495
+ readonly uncoated: import("@elaraai/east").NullType;
1496
+ readonly board: import("@elaraai/east").NullType;
1497
+ }>;
1498
+ readonly due: OptionType<DateTimeType>;
1499
+ }>>;
1500
+ after: DictType<StringType, import("@elaraai/east").StructType<{
1501
+ readonly title: StringType;
1502
+ readonly start: OptionType<DateTimeType>;
1503
+ readonly end: OptionType<DateTimeType>;
1504
+ readonly press: OptionType<StringType>;
1505
+ readonly state: import("@elaraai/east").VariantType<{
1506
+ readonly estimated: import("@elaraai/east").NullType;
1507
+ readonly proposed: import("@elaraai/east").VariantType<{
1508
+ readonly added: import("@elaraai/east").NullType;
1509
+ readonly recommended: import("@elaraai/east").NullType;
1510
+ readonly removed: import("@elaraai/east").NullType;
1511
+ }>;
1512
+ readonly confirmed: import("@elaraai/east").NullType;
1513
+ readonly "in-progress": import("@elaraai/east").NullType;
1514
+ readonly actual: import("@elaraai/east").NullType;
1515
+ readonly rejected: import("@elaraai/east").NullType;
1516
+ }>;
1517
+ readonly sheets: import("@elaraai/east").FloatType;
1518
+ readonly customer: StringType;
1519
+ readonly stock: import("@elaraai/east").VariantType<{
1520
+ readonly coated: import("@elaraai/east").NullType;
1521
+ readonly uncoated: import("@elaraai/east").NullType;
1522
+ readonly board: import("@elaraai/east").NullType;
1523
+ }>;
1524
+ readonly due: OptionType<DateTimeType>;
1525
+ }>>;
1526
+ }>;
1527
+ patch: DictType<StringType, import("@elaraai/east").VariantType<{
1528
+ delete: import("@elaraai/east").StructType<{
1529
+ readonly title: StringType;
1530
+ readonly start: OptionType<DateTimeType>;
1531
+ readonly end: OptionType<DateTimeType>;
1532
+ readonly press: OptionType<StringType>;
1533
+ readonly state: import("@elaraai/east").VariantType<{
1534
+ readonly estimated: import("@elaraai/east").NullType;
1535
+ readonly proposed: import("@elaraai/east").VariantType<{
1536
+ readonly added: import("@elaraai/east").NullType;
1537
+ readonly recommended: import("@elaraai/east").NullType;
1538
+ readonly removed: import("@elaraai/east").NullType;
1539
+ }>;
1540
+ readonly confirmed: import("@elaraai/east").NullType;
1541
+ readonly "in-progress": import("@elaraai/east").NullType;
1542
+ readonly actual: import("@elaraai/east").NullType;
1543
+ readonly rejected: import("@elaraai/east").NullType;
1544
+ }>;
1545
+ readonly sheets: import("@elaraai/east").FloatType;
1546
+ readonly customer: StringType;
1547
+ readonly stock: import("@elaraai/east").VariantType<{
1548
+ readonly coated: import("@elaraai/east").NullType;
1549
+ readonly uncoated: import("@elaraai/east").NullType;
1550
+ readonly board: import("@elaraai/east").NullType;
1551
+ }>;
1552
+ readonly due: OptionType<DateTimeType>;
1553
+ }>;
1554
+ insert: import("@elaraai/east").StructType<{
1555
+ readonly title: StringType;
1556
+ readonly start: OptionType<DateTimeType>;
1557
+ readonly end: OptionType<DateTimeType>;
1558
+ readonly press: OptionType<StringType>;
1559
+ readonly state: import("@elaraai/east").VariantType<{
1560
+ readonly estimated: import("@elaraai/east").NullType;
1561
+ readonly proposed: import("@elaraai/east").VariantType<{
1562
+ readonly added: import("@elaraai/east").NullType;
1563
+ readonly recommended: import("@elaraai/east").NullType;
1564
+ readonly removed: import("@elaraai/east").NullType;
1565
+ }>;
1566
+ readonly confirmed: import("@elaraai/east").NullType;
1567
+ readonly "in-progress": import("@elaraai/east").NullType;
1568
+ readonly actual: import("@elaraai/east").NullType;
1569
+ readonly rejected: import("@elaraai/east").NullType;
1570
+ }>;
1571
+ readonly sheets: import("@elaraai/east").FloatType;
1572
+ readonly customer: StringType;
1573
+ readonly stock: import("@elaraai/east").VariantType<{
1574
+ readonly coated: import("@elaraai/east").NullType;
1575
+ readonly uncoated: import("@elaraai/east").NullType;
1576
+ readonly board: import("@elaraai/east").NullType;
1577
+ }>;
1578
+ readonly due: OptionType<DateTimeType>;
1579
+ }>;
1580
+ update: import("@elaraai/east").VariantType<{
1581
+ unchanged: import("@elaraai/east").NullType;
1582
+ replace: import("@elaraai/east").StructType<{
1583
+ before: import("@elaraai/east").StructType<{
1584
+ readonly title: StringType;
1585
+ readonly start: OptionType<DateTimeType>;
1586
+ readonly end: OptionType<DateTimeType>;
1587
+ readonly press: OptionType<StringType>;
1588
+ readonly state: import("@elaraai/east").VariantType<{
1589
+ readonly estimated: import("@elaraai/east").NullType;
1590
+ readonly proposed: import("@elaraai/east").VariantType<{
1591
+ readonly added: import("@elaraai/east").NullType;
1592
+ readonly recommended: import("@elaraai/east").NullType;
1593
+ readonly removed: import("@elaraai/east").NullType;
1594
+ }>;
1595
+ readonly confirmed: import("@elaraai/east").NullType;
1596
+ readonly "in-progress": import("@elaraai/east").NullType;
1597
+ readonly actual: import("@elaraai/east").NullType;
1598
+ readonly rejected: import("@elaraai/east").NullType;
1599
+ }>;
1600
+ readonly sheets: import("@elaraai/east").FloatType;
1601
+ readonly customer: StringType;
1602
+ readonly stock: import("@elaraai/east").VariantType<{
1603
+ readonly coated: import("@elaraai/east").NullType;
1604
+ readonly uncoated: import("@elaraai/east").NullType;
1605
+ readonly board: import("@elaraai/east").NullType;
1606
+ }>;
1607
+ readonly due: OptionType<DateTimeType>;
1608
+ }>;
1609
+ after: import("@elaraai/east").StructType<{
1610
+ readonly title: StringType;
1611
+ readonly start: OptionType<DateTimeType>;
1612
+ readonly end: OptionType<DateTimeType>;
1613
+ readonly press: OptionType<StringType>;
1614
+ readonly state: import("@elaraai/east").VariantType<{
1615
+ readonly estimated: import("@elaraai/east").NullType;
1616
+ readonly proposed: import("@elaraai/east").VariantType<{
1617
+ readonly added: import("@elaraai/east").NullType;
1618
+ readonly recommended: import("@elaraai/east").NullType;
1619
+ readonly removed: import("@elaraai/east").NullType;
1620
+ }>;
1621
+ readonly confirmed: import("@elaraai/east").NullType;
1622
+ readonly "in-progress": import("@elaraai/east").NullType;
1623
+ readonly actual: import("@elaraai/east").NullType;
1624
+ readonly rejected: import("@elaraai/east").NullType;
1625
+ }>;
1626
+ readonly sheets: import("@elaraai/east").FloatType;
1627
+ readonly customer: StringType;
1628
+ readonly stock: import("@elaraai/east").VariantType<{
1629
+ readonly coated: import("@elaraai/east").NullType;
1630
+ readonly uncoated: import("@elaraai/east").NullType;
1631
+ readonly board: import("@elaraai/east").NullType;
1632
+ }>;
1633
+ readonly due: OptionType<DateTimeType>;
1634
+ }>;
1635
+ }>;
1636
+ patch: import("@elaraai/east").StructType<{
1637
+ readonly title: import("@elaraai/east").VariantType<{
1638
+ unchanged: import("@elaraai/east").NullType;
1639
+ replace: import("@elaraai/east").StructType<{
1640
+ before: StringType;
1641
+ after: StringType;
1642
+ }>;
1643
+ }>;
1644
+ readonly start: import("@elaraai/east").VariantType<{
1645
+ unchanged: import("@elaraai/east").NullType;
1646
+ replace: import("@elaraai/east").StructType<{
1647
+ before: OptionType<DateTimeType>;
1648
+ after: OptionType<DateTimeType>;
1649
+ }>;
1650
+ patch: import("@elaraai/east").VariantType<{
1651
+ none: import("@elaraai/east").VariantType<{
1652
+ unchanged: import("@elaraai/east").NullType;
1653
+ replace: import("@elaraai/east").StructType<{
1654
+ before: import("@elaraai/east").NullType;
1655
+ after: import("@elaraai/east").NullType;
1656
+ }>;
1657
+ }>;
1658
+ some: import("@elaraai/east").VariantType<{
1659
+ unchanged: import("@elaraai/east").NullType;
1660
+ replace: import("@elaraai/east").StructType<{
1661
+ before: DateTimeType;
1662
+ after: DateTimeType;
1663
+ }>;
1664
+ }>;
1665
+ }>;
1666
+ }>;
1667
+ readonly end: import("@elaraai/east").VariantType<{
1668
+ unchanged: import("@elaraai/east").NullType;
1669
+ replace: import("@elaraai/east").StructType<{
1670
+ before: OptionType<DateTimeType>;
1671
+ after: OptionType<DateTimeType>;
1672
+ }>;
1673
+ patch: import("@elaraai/east").VariantType<{
1674
+ none: import("@elaraai/east").VariantType<{
1675
+ unchanged: import("@elaraai/east").NullType;
1676
+ replace: import("@elaraai/east").StructType<{
1677
+ before: import("@elaraai/east").NullType;
1678
+ after: import("@elaraai/east").NullType;
1679
+ }>;
1680
+ }>;
1681
+ some: import("@elaraai/east").VariantType<{
1682
+ unchanged: import("@elaraai/east").NullType;
1683
+ replace: import("@elaraai/east").StructType<{
1684
+ before: DateTimeType;
1685
+ after: DateTimeType;
1686
+ }>;
1687
+ }>;
1688
+ }>;
1689
+ }>;
1690
+ readonly press: import("@elaraai/east").VariantType<{
1691
+ unchanged: import("@elaraai/east").NullType;
1692
+ replace: import("@elaraai/east").StructType<{
1693
+ before: OptionType<StringType>;
1694
+ after: OptionType<StringType>;
1695
+ }>;
1696
+ patch: import("@elaraai/east").VariantType<{
1697
+ none: import("@elaraai/east").VariantType<{
1698
+ unchanged: import("@elaraai/east").NullType;
1699
+ replace: import("@elaraai/east").StructType<{
1700
+ before: import("@elaraai/east").NullType;
1701
+ after: import("@elaraai/east").NullType;
1702
+ }>;
1703
+ }>;
1704
+ some: import("@elaraai/east").VariantType<{
1705
+ unchanged: import("@elaraai/east").NullType;
1706
+ replace: import("@elaraai/east").StructType<{
1707
+ before: StringType;
1708
+ after: StringType;
1709
+ }>;
1710
+ }>;
1711
+ }>;
1712
+ }>;
1713
+ readonly state: import("@elaraai/east").VariantType<{
1714
+ unchanged: import("@elaraai/east").NullType;
1715
+ replace: import("@elaraai/east").StructType<{
1716
+ before: import("@elaraai/east").VariantType<{
1717
+ readonly estimated: import("@elaraai/east").NullType;
1718
+ readonly proposed: import("@elaraai/east").VariantType<{
1719
+ readonly added: import("@elaraai/east").NullType;
1720
+ readonly recommended: import("@elaraai/east").NullType;
1721
+ readonly removed: import("@elaraai/east").NullType;
1722
+ }>;
1723
+ readonly confirmed: import("@elaraai/east").NullType;
1724
+ readonly "in-progress": import("@elaraai/east").NullType;
1725
+ readonly actual: import("@elaraai/east").NullType;
1726
+ readonly rejected: import("@elaraai/east").NullType;
1727
+ }>;
1728
+ after: import("@elaraai/east").VariantType<{
1729
+ readonly estimated: import("@elaraai/east").NullType;
1730
+ readonly proposed: import("@elaraai/east").VariantType<{
1731
+ readonly added: import("@elaraai/east").NullType;
1732
+ readonly recommended: import("@elaraai/east").NullType;
1733
+ readonly removed: import("@elaraai/east").NullType;
1734
+ }>;
1735
+ readonly confirmed: import("@elaraai/east").NullType;
1736
+ readonly "in-progress": import("@elaraai/east").NullType;
1737
+ readonly actual: import("@elaraai/east").NullType;
1738
+ readonly rejected: import("@elaraai/east").NullType;
1739
+ }>;
1740
+ }>;
1741
+ patch: import("@elaraai/east").VariantType<{
1742
+ readonly estimated: import("@elaraai/east").VariantType<{
1743
+ unchanged: import("@elaraai/east").NullType;
1744
+ replace: import("@elaraai/east").StructType<{
1745
+ before: import("@elaraai/east").NullType;
1746
+ after: import("@elaraai/east").NullType;
1747
+ }>;
1748
+ }>;
1749
+ readonly proposed: import("@elaraai/east").VariantType<{
1750
+ unchanged: import("@elaraai/east").NullType;
1751
+ replace: import("@elaraai/east").StructType<{
1752
+ before: import("@elaraai/east").VariantType<{
1753
+ readonly added: import("@elaraai/east").NullType;
1754
+ readonly recommended: import("@elaraai/east").NullType;
1755
+ readonly removed: import("@elaraai/east").NullType;
1756
+ }>;
1757
+ after: import("@elaraai/east").VariantType<{
1758
+ readonly added: import("@elaraai/east").NullType;
1759
+ readonly recommended: import("@elaraai/east").NullType;
1760
+ readonly removed: import("@elaraai/east").NullType;
1761
+ }>;
1762
+ }>;
1763
+ patch: import("@elaraai/east").VariantType<{
1764
+ readonly added: import("@elaraai/east").VariantType<{
1765
+ unchanged: import("@elaraai/east").NullType;
1766
+ replace: import("@elaraai/east").StructType<{
1767
+ before: import("@elaraai/east").NullType;
1768
+ after: import("@elaraai/east").NullType;
1769
+ }>;
1770
+ }>;
1771
+ readonly recommended: import("@elaraai/east").VariantType<{
1772
+ unchanged: import("@elaraai/east").NullType;
1773
+ replace: import("@elaraai/east").StructType<{
1774
+ before: import("@elaraai/east").NullType;
1775
+ after: import("@elaraai/east").NullType;
1776
+ }>;
1777
+ }>;
1778
+ readonly removed: import("@elaraai/east").VariantType<{
1779
+ unchanged: import("@elaraai/east").NullType;
1780
+ replace: import("@elaraai/east").StructType<{
1781
+ before: import("@elaraai/east").NullType;
1782
+ after: import("@elaraai/east").NullType;
1783
+ }>;
1784
+ }>;
1785
+ }>;
1786
+ }>;
1787
+ readonly confirmed: import("@elaraai/east").VariantType<{
1788
+ unchanged: import("@elaraai/east").NullType;
1789
+ replace: import("@elaraai/east").StructType<{
1790
+ before: import("@elaraai/east").NullType;
1791
+ after: import("@elaraai/east").NullType;
1792
+ }>;
1793
+ }>;
1794
+ readonly "in-progress": import("@elaraai/east").VariantType<{
1795
+ unchanged: import("@elaraai/east").NullType;
1796
+ replace: import("@elaraai/east").StructType<{
1797
+ before: import("@elaraai/east").NullType;
1798
+ after: import("@elaraai/east").NullType;
1799
+ }>;
1800
+ }>;
1801
+ readonly actual: import("@elaraai/east").VariantType<{
1802
+ unchanged: import("@elaraai/east").NullType;
1803
+ replace: import("@elaraai/east").StructType<{
1804
+ before: import("@elaraai/east").NullType;
1805
+ after: import("@elaraai/east").NullType;
1806
+ }>;
1807
+ }>;
1808
+ readonly rejected: import("@elaraai/east").VariantType<{
1809
+ unchanged: import("@elaraai/east").NullType;
1810
+ replace: import("@elaraai/east").StructType<{
1811
+ before: import("@elaraai/east").NullType;
1812
+ after: import("@elaraai/east").NullType;
1813
+ }>;
1814
+ }>;
1815
+ }>;
1816
+ }>;
1817
+ readonly sheets: import("@elaraai/east").VariantType<{
1818
+ unchanged: import("@elaraai/east").NullType;
1819
+ replace: import("@elaraai/east").StructType<{
1820
+ before: import("@elaraai/east").FloatType;
1821
+ after: import("@elaraai/east").FloatType;
1822
+ }>;
1823
+ }>;
1824
+ readonly customer: import("@elaraai/east").VariantType<{
1825
+ unchanged: import("@elaraai/east").NullType;
1826
+ replace: import("@elaraai/east").StructType<{
1827
+ before: StringType;
1828
+ after: StringType;
1829
+ }>;
1830
+ }>;
1831
+ readonly stock: import("@elaraai/east").VariantType<{
1832
+ unchanged: import("@elaraai/east").NullType;
1833
+ replace: import("@elaraai/east").StructType<{
1834
+ before: import("@elaraai/east").VariantType<{
1835
+ readonly coated: import("@elaraai/east").NullType;
1836
+ readonly uncoated: import("@elaraai/east").NullType;
1837
+ readonly board: import("@elaraai/east").NullType;
1838
+ }>;
1839
+ after: import("@elaraai/east").VariantType<{
1840
+ readonly coated: import("@elaraai/east").NullType;
1841
+ readonly uncoated: import("@elaraai/east").NullType;
1842
+ readonly board: import("@elaraai/east").NullType;
1843
+ }>;
1844
+ }>;
1845
+ patch: import("@elaraai/east").VariantType<{
1846
+ readonly coated: import("@elaraai/east").VariantType<{
1847
+ unchanged: import("@elaraai/east").NullType;
1848
+ replace: import("@elaraai/east").StructType<{
1849
+ before: import("@elaraai/east").NullType;
1850
+ after: import("@elaraai/east").NullType;
1851
+ }>;
1852
+ }>;
1853
+ readonly uncoated: import("@elaraai/east").VariantType<{
1854
+ unchanged: import("@elaraai/east").NullType;
1855
+ replace: import("@elaraai/east").StructType<{
1856
+ before: import("@elaraai/east").NullType;
1857
+ after: import("@elaraai/east").NullType;
1858
+ }>;
1859
+ }>;
1860
+ readonly board: import("@elaraai/east").VariantType<{
1861
+ unchanged: import("@elaraai/east").NullType;
1862
+ replace: import("@elaraai/east").StructType<{
1863
+ before: import("@elaraai/east").NullType;
1864
+ after: import("@elaraai/east").NullType;
1865
+ }>;
1866
+ }>;
1867
+ }>;
1868
+ }>;
1869
+ readonly due: import("@elaraai/east").VariantType<{
1870
+ unchanged: import("@elaraai/east").NullType;
1871
+ replace: import("@elaraai/east").StructType<{
1872
+ before: OptionType<DateTimeType>;
1873
+ after: OptionType<DateTimeType>;
1874
+ }>;
1875
+ patch: import("@elaraai/east").VariantType<{
1876
+ none: import("@elaraai/east").VariantType<{
1877
+ unchanged: import("@elaraai/east").NullType;
1878
+ replace: import("@elaraai/east").StructType<{
1879
+ before: import("@elaraai/east").NullType;
1880
+ after: import("@elaraai/east").NullType;
1881
+ }>;
1882
+ }>;
1883
+ some: import("@elaraai/east").VariantType<{
1884
+ unchanged: import("@elaraai/east").NullType;
1885
+ replace: import("@elaraai/east").StructType<{
1886
+ before: DateTimeType;
1887
+ after: DateTimeType;
1888
+ }>;
1889
+ }>;
1890
+ }>;
1891
+ }>;
1892
+ }>;
1893
+ }>;
1894
+ }>>;
1895
+ }>]>;
1896
+ /** The runs by the days each touches (`Schedule.days`), as the jobs are. */
1897
+ export declare const planWindowRunsByDay: import("@elaraai/e3").RecordIndexDef<"plan_window_runs_by_day", DictType<StringType, import("@elaraai/east").StructType<{
1898
+ readonly title: StringType;
1899
+ readonly start: OptionType<DateTimeType>;
1900
+ readonly end: OptionType<DateTimeType>;
1901
+ readonly press: OptionType<StringType>;
1902
+ readonly state: import("@elaraai/east").VariantType<{
1903
+ readonly estimated: import("@elaraai/east").NullType;
1904
+ readonly proposed: import("@elaraai/east").VariantType<{
1905
+ readonly added: import("@elaraai/east").NullType;
1906
+ readonly recommended: import("@elaraai/east").NullType;
1907
+ readonly removed: import("@elaraai/east").NullType;
1908
+ }>;
1909
+ readonly confirmed: import("@elaraai/east").NullType;
1910
+ readonly "in-progress": import("@elaraai/east").NullType;
1911
+ readonly actual: import("@elaraai/east").NullType;
1912
+ readonly rejected: import("@elaraai/east").NullType;
1913
+ }>;
1914
+ readonly sheets: import("@elaraai/east").FloatType;
1915
+ readonly customer: StringType;
1916
+ readonly stock: import("@elaraai/east").VariantType<{
1917
+ readonly coated: import("@elaraai/east").NullType;
1918
+ readonly uncoated: import("@elaraai/east").NullType;
1919
+ readonly board: import("@elaraai/east").NullType;
1920
+ }>;
1921
+ readonly due: OptionType<DateTimeType>;
1922
+ }>>, DateTimeType, import("@elaraai/east").NullType, undefined>;
1923
+ /** The runs with no start, by when they are due (`Schedule.unscheduled`), as the jobs are. */
1924
+ export declare const planWindowRunsUnscheduled: import("@elaraai/e3").RecordIndexDef<"plan_window_runs_unscheduled", DictType<StringType, import("@elaraai/east").StructType<{
1925
+ readonly title: StringType;
1926
+ readonly start: OptionType<DateTimeType>;
1927
+ readonly end: OptionType<DateTimeType>;
1928
+ readonly press: OptionType<StringType>;
1929
+ readonly state: import("@elaraai/east").VariantType<{
1930
+ readonly estimated: import("@elaraai/east").NullType;
1931
+ readonly proposed: import("@elaraai/east").VariantType<{
1932
+ readonly added: import("@elaraai/east").NullType;
1933
+ readonly recommended: import("@elaraai/east").NullType;
1934
+ readonly removed: import("@elaraai/east").NullType;
1935
+ }>;
1936
+ readonly confirmed: import("@elaraai/east").NullType;
1937
+ readonly "in-progress": import("@elaraai/east").NullType;
1938
+ readonly actual: import("@elaraai/east").NullType;
1939
+ readonly rejected: import("@elaraai/east").NullType;
1940
+ }>;
1941
+ readonly sheets: import("@elaraai/east").FloatType;
1942
+ readonly customer: StringType;
1943
+ readonly stock: import("@elaraai/east").VariantType<{
1944
+ readonly coated: import("@elaraai/east").NullType;
1945
+ readonly uncoated: import("@elaraai/east").NullType;
1946
+ readonly board: import("@elaraai/east").NullType;
1947
+ }>;
1948
+ readonly due: OptionType<DateTimeType>;
1949
+ }>>, OptionType<DateTimeType>, import("@elaraai/east").NullType, undefined>;
1950
+ /**
1951
+ * A Plan read a window at a time (`Plan Builder Spec.md` §9.11, PB54–PB55,
1952
+ * #1039): 2,000 presses, paged 200 to a window as the canvas scrolls, the key
1953
+ * search seeking a press by its key; and the jobs on them read a cell at a
1954
+ * time through the Plan's one rail (#1344) — its `job` source lists the jobs'
1955
+ * interval index, their series index and their summary, and the Plan reads the
1956
+ * rest itself: the jobs of the fifty presses around the rows in view over the
1957
+ * weeks the window touches, two requests however many cells — their searches,
1958
+ * then their entries — so a pan within the weeks it holds reads nothing, and a
1959
+ * scroll into the next fifty presses reads theirs. Its toolbar zooms from a day
1960
+ * to a quarter, and zoomed out past what it draws, it shades each press's
1961
+ * months from the summary instead: the share of each month the press is
1962
+ * booked. The source's range is the window — the toolbar's dates, a pan and
1963
+ * the horizon brush write it — its exact count the interval index's, and the
1964
+ * backlog, which the library's Backlog tab lists, its Unset start's. One job —
1965
+ * the inspector's, a draft's — is read by its key through the record's own
1966
+ * entries. Neither the presses nor the jobs are ever read whole, and Save
1967
+ * commits through the jobs' patch door, its drafts checked against the
1968
+ * revision they were drafted at. An event kind on paged presses is read so, or
1969
+ * refused: a source listing the interval index alone is, naming both indexes.
1970
+ */
1971
+ export declare const planWindows: import("@elaraai/east").ExampleDef<[], any>;
1972
+ /**
1973
+ * The Plan of `planWindows`, its presses narrowed by hall (#1344): the presses
1974
+ * are a record of their own, paged on the canvas, and the rail's `presses`
1975
+ * source — named after the kind's slot — narrows them through their hall
1976
+ * index. The canvas pages the narrowing's presses themselves, in the index's
1977
+ * order, 200 to a window: a hall chosen reads its presses alone, its count is
1978
+ * the hall's, and the jobs' cells are read for the presses of the hall in view
1979
+ * alone — so a works of a million presses, each with a year of jobs, reads what
1980
+ * is on screen. A choice keeps the view the last one drew until its own presses
1981
+ * land, and the press at the top of the view where the hall holds it. Every
1982
+ * edit is a draft of the jobs' session whatever the halls chosen, and Save
1983
+ * commits it through their patch door.
1984
+ */
1985
+ export declare const planSeriesByHall: import("@elaraai/east").ExampleDef<[], any>;
1169
1986
  //# sourceMappingURL=plan-windows.examples.d.ts.map