@elaraai/e3-ui 1.0.93 → 1.0.95

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 (303) hide show
  1. package/dist/src/allocation/adapters.d.ts +159 -0
  2. package/dist/src/allocation/adapters.d.ts.map +1 -0
  3. package/dist/src/allocation/adapters.js +241 -0
  4. package/dist/src/allocation/adapters.js.map +1 -0
  5. package/dist/src/allocation/functions.d.ts +664 -0
  6. package/dist/src/allocation/functions.d.ts.map +1 -0
  7. package/dist/src/allocation/functions.js +782 -0
  8. package/dist/src/allocation/functions.js.map +1 -0
  9. package/dist/src/allocation/index.d.ts +2985 -0
  10. package/dist/src/allocation/index.d.ts.map +1 -0
  11. package/dist/src/allocation/index.js +499 -0
  12. package/dist/src/allocation/index.js.map +1 -0
  13. package/dist/src/allocation/types.d.ts +832 -0
  14. package/dist/src/allocation/types.d.ts.map +1 -0
  15. package/dist/src/allocation/types.js +360 -0
  16. package/dist/src/allocation/types.js.map +1 -0
  17. package/dist/src/bind/func.d.ts +14 -0
  18. package/dist/src/bind/func.d.ts.map +1 -1
  19. package/dist/src/bind/func.js +22 -1
  20. package/dist/src/bind/func.js.map +1 -1
  21. package/dist/src/calendar/index.d.ts +510 -1639
  22. package/dist/src/calendar/index.d.ts.map +1 -1
  23. package/dist/src/calendar/index.js +56 -29
  24. package/dist/src/calendar/index.js.map +1 -1
  25. package/dist/src/flowchart/canvas.d.ts +9 -21
  26. package/dist/src/flowchart/canvas.d.ts.map +1 -1
  27. package/dist/src/flowchart/canvas.js +10 -22
  28. package/dist/src/flowchart/canvas.js.map +1 -1
  29. package/dist/src/flowchart/flowchart.d.ts +19 -13
  30. package/dist/src/flowchart/flowchart.d.ts.map +1 -1
  31. package/dist/src/flowchart/flowchart.js.map +1 -1
  32. package/dist/src/flowchart/index.d.ts +44 -21
  33. package/dist/src/flowchart/index.d.ts.map +1 -1
  34. package/dist/src/flowchart/index.js +43 -20
  35. package/dist/src/flowchart/index.js.map +1 -1
  36. package/dist/src/flowchart/library.d.ts +166 -81
  37. package/dist/src/flowchart/library.d.ts.map +1 -1
  38. package/dist/src/flowchart/library.js +232 -105
  39. package/dist/src/flowchart/library.js.map +1 -1
  40. package/dist/src/flowchart/over.d.ts +9 -16
  41. package/dist/src/flowchart/over.d.ts.map +1 -1
  42. package/dist/src/flowchart/over.js +9 -16
  43. package/dist/src/flowchart/over.js.map +1 -1
  44. package/dist/src/flowchart/payload.d.ts +710 -508
  45. package/dist/src/flowchart/payload.d.ts.map +1 -1
  46. package/dist/src/flowchart/payload.js +128 -74
  47. package/dist/src/flowchart/payload.js.map +1 -1
  48. package/dist/src/flowchart/window.d.ts +132 -347
  49. package/dist/src/flowchart/window.d.ts.map +1 -1
  50. package/dist/src/flowchart/window.js +48 -55
  51. package/dist/src/flowchart/window.js.map +1 -1
  52. package/dist/src/index.d.ts +11 -7
  53. package/dist/src/index.d.ts.map +1 -1
  54. package/dist/src/index.js +14 -6
  55. package/dist/src/index.js.map +1 -1
  56. package/dist/src/internal.d.ts +18 -7
  57. package/dist/src/internal.d.ts.map +1 -1
  58. package/dist/src/internal.js +28 -9
  59. package/dist/src/internal.js.map +1 -1
  60. package/dist/src/plan/event-rows.d.ts +26 -10
  61. package/dist/src/plan/event-rows.d.ts.map +1 -1
  62. package/dist/src/plan/event-rows.js +39 -13
  63. package/dist/src/plan/event-rows.js.map +1 -1
  64. package/dist/src/plan/ir.d.ts +244 -815
  65. package/dist/src/plan/ir.d.ts.map +1 -1
  66. package/dist/src/plan/ir.js +8 -6
  67. package/dist/src/plan/ir.js.map +1 -1
  68. package/dist/src/plan/library.d.ts +3 -0
  69. package/dist/src/plan/library.d.ts.map +1 -1
  70. package/dist/src/plan/library.js +1 -1
  71. package/dist/src/plan/library.js.map +1 -1
  72. package/dist/src/plan/ordered-source.d.ts +1 -0
  73. package/dist/src/plan/ordered-source.d.ts.map +1 -1
  74. package/dist/src/plan/plan.d.ts +559 -1667
  75. package/dist/src/plan/plan.d.ts.map +1 -1
  76. package/dist/src/plan/plan.js +123 -45
  77. package/dist/src/plan/plan.js.map +1 -1
  78. package/dist/src/plan/root.d.ts +16 -20
  79. package/dist/src/plan/root.d.ts.map +1 -1
  80. package/dist/src/plan/root.js +23 -33
  81. package/dist/src/plan/root.js.map +1 -1
  82. package/dist/src/roster/coverage.d.ts +17 -231
  83. package/dist/src/roster/coverage.d.ts.map +1 -1
  84. package/dist/src/roster/coverage.js +94 -90
  85. package/dist/src/roster/coverage.js.map +1 -1
  86. package/dist/src/roster/fit.d.ts +59 -0
  87. package/dist/src/roster/fit.d.ts.map +1 -0
  88. package/dist/src/roster/fit.js +155 -0
  89. package/dist/src/roster/fit.js.map +1 -0
  90. package/dist/src/roster/index.d.ts +2862 -3662
  91. package/dist/src/roster/index.d.ts.map +1 -1
  92. package/dist/src/roster/index.js +383 -81
  93. package/dist/src/roster/index.js.map +1 -1
  94. package/dist/src/roster/library.d.ts +37 -92
  95. package/dist/src/roster/library.d.ts.map +1 -1
  96. package/dist/src/roster/library.js +25 -64
  97. package/dist/src/roster/library.js.map +1 -1
  98. package/dist/src/roster/lists.d.ts +195 -0
  99. package/dist/src/roster/lists.d.ts.map +1 -0
  100. package/dist/src/roster/lists.js +233 -0
  101. package/dist/src/roster/lists.js.map +1 -0
  102. package/dist/src/roster/rules.d.ts +17 -260
  103. package/dist/src/roster/rules.d.ts.map +1 -1
  104. package/dist/src/roster/rules.js +135 -132
  105. package/dist/src/roster/rules.js.map +1 -1
  106. package/dist/src/roster/targets.d.ts +115 -0
  107. package/dist/src/roster/targets.d.ts.map +1 -0
  108. package/dist/src/roster/targets.js +213 -0
  109. package/dist/src/roster/targets.js.map +1 -0
  110. package/dist/src/roster/times.d.ts +251 -0
  111. package/dist/src/roster/times.d.ts.map +1 -0
  112. package/dist/src/roster/times.js +174 -0
  113. package/dist/src/roster/times.js.map +1 -0
  114. package/dist/src/roster/types.d.ts +828 -183
  115. package/dist/src/roster/types.d.ts.map +1 -1
  116. package/dist/src/roster/types.js +224 -97
  117. package/dist/src/roster/types.js.map +1 -1
  118. package/dist/src/schedule/accessor.d.ts +28 -0
  119. package/dist/src/schedule/accessor.d.ts.map +1 -0
  120. package/dist/src/schedule/accessor.js +39 -0
  121. package/dist/src/schedule/accessor.js.map +1 -0
  122. package/dist/src/schedule/events.d.ts +170 -42
  123. package/dist/src/schedule/events.d.ts.map +1 -1
  124. package/dist/src/schedule/events.js +431 -171
  125. package/dist/src/schedule/events.js.map +1 -1
  126. package/dist/src/schedule/index.d.ts +41 -4
  127. package/dist/src/schedule/index.d.ts.map +1 -1
  128. package/dist/src/schedule/index.js +35 -3
  129. package/dist/src/schedule/index.js.map +1 -1
  130. package/dist/src/schedule/library.d.ts +13 -3
  131. package/dist/src/schedule/library.d.ts.map +1 -1
  132. package/dist/src/schedule/library.js +11 -4
  133. package/dist/src/schedule/library.js.map +1 -1
  134. package/dist/src/schedule/periods.d.ts +115 -0
  135. package/dist/src/schedule/periods.d.ts.map +1 -0
  136. package/dist/src/schedule/periods.js +215 -0
  137. package/dist/src/schedule/periods.js.map +1 -0
  138. package/dist/src/schedule/record-window.d.ts +25 -3
  139. package/dist/src/schedule/record-window.d.ts.map +1 -1
  140. package/dist/src/schedule/record-window.js +31 -18
  141. package/dist/src/schedule/record-window.js.map +1 -1
  142. package/dist/src/schedule/resources.d.ts +82 -4
  143. package/dist/src/schedule/resources.d.ts.map +1 -1
  144. package/dist/src/schedule/resources.js +44 -14
  145. package/dist/src/schedule/resources.js.map +1 -1
  146. package/dist/src/schedule/session.d.ts +69 -0
  147. package/dist/src/schedule/session.d.ts.map +1 -0
  148. package/dist/src/schedule/session.js +121 -0
  149. package/dist/src/schedule/session.js.map +1 -0
  150. package/dist/src/schedule/templates.d.ts +14 -2
  151. package/dist/src/schedule/templates.d.ts.map +1 -1
  152. package/dist/src/schedule/templates.js +5 -3
  153. package/dist/src/schedule/templates.js.map +1 -1
  154. package/dist/src/schedule/types.d.ts +1671 -37
  155. package/dist/src/schedule/types.d.ts.map +1 -1
  156. package/dist/src/schedule/types.js +196 -5
  157. package/dist/src/schedule/types.js.map +1 -1
  158. package/dist/src/schedule/window.d.ts +14 -0
  159. package/dist/src/schedule/window.d.ts.map +1 -1
  160. package/dist/src/schedule/window.js +14 -4
  161. package/dist/src/schedule/window.js.map +1 -1
  162. package/dist/src/schedule/words.d.ts +22 -0
  163. package/dist/src/schedule/words.d.ts.map +1 -0
  164. package/dist/src/schedule/words.js +25 -0
  165. package/dist/src/schedule/words.js.map +1 -0
  166. package/dist/src/sheet/index.d.ts +61 -27
  167. package/dist/src/sheet/index.d.ts.map +1 -1
  168. package/dist/src/sheet/index.js +59 -25
  169. package/dist/src/sheet/index.js.map +1 -1
  170. package/dist/src/sheet/library.d.ts +21 -3
  171. package/dist/src/sheet/library.d.ts.map +1 -1
  172. package/dist/src/sheet/library.js +23 -6
  173. package/dist/src/sheet/library.js.map +1 -1
  174. package/dist/src/sheet/registers.d.ts +100 -85
  175. package/dist/src/sheet/registers.d.ts.map +1 -1
  176. package/dist/src/sheet/registers.js +100 -85
  177. package/dist/src/sheet/registers.js.map +1 -1
  178. package/dist/src/sheet/root.d.ts +8 -12
  179. package/dist/src/sheet/root.d.ts.map +1 -1
  180. package/dist/src/sheet/root.js +6 -40
  181. package/dist/src/sheet/root.js.map +1 -1
  182. package/dist/src/sheet/sheet.d.ts +598 -2349
  183. package/dist/src/sheet/sheet.d.ts.map +1 -1
  184. package/dist/src/sheet/sheet.js +124 -37
  185. package/dist/src/sheet/sheet.js.map +1 -1
  186. package/dist/src/sheet/sub-rows.d.ts +74 -28
  187. package/dist/src/sheet/sub-rows.d.ts.map +1 -1
  188. package/dist/src/sheet/sub-rows.js +74 -28
  189. package/dist/src/sheet/sub-rows.js.map +1 -1
  190. package/dist/src/sheet/templates.d.ts +98 -34
  191. package/dist/src/sheet/templates.d.ts.map +1 -1
  192. package/dist/src/sheet/templates.js +102 -58
  193. package/dist/src/sheet/templates.js.map +1 -1
  194. package/dist/src/sheet/types.d.ts +289 -1359
  195. package/dist/src/sheet/types.d.ts.map +1 -1
  196. package/dist/src/sheet/types.js +20 -26
  197. package/dist/src/sheet/types.js.map +1 -1
  198. package/dist/src/sheet/views.d.ts +10 -11
  199. package/dist/src/sheet/views.d.ts.map +1 -1
  200. package/dist/src/sheet/views.js +15 -20
  201. package/dist/src/sheet/views.js.map +1 -1
  202. package/dist/src/{roster/visibility.d.ts → utils/key-visibility.d.ts} +42 -7
  203. package/dist/src/utils/key-visibility.d.ts.map +1 -0
  204. package/dist/src/utils/key-visibility.js +36 -0
  205. package/dist/src/utils/key-visibility.js.map +1 -0
  206. package/dist/src/utils/ordered-source.d.ts +1 -0
  207. package/dist/src/utils/ordered-source.d.ts.map +1 -1
  208. package/dist/src/utils/ordered-source.js +8 -3
  209. package/dist/src/utils/ordered-source.js.map +1 -1
  210. package/dist/src/utils/record-sources.d.ts +107 -0
  211. package/dist/src/utils/record-sources.d.ts.map +1 -0
  212. package/dist/src/utils/record-sources.js +132 -0
  213. package/dist/src/utils/record-sources.js.map +1 -0
  214. package/dist/test/allocation/allocation.examples.d.ts +2902 -0
  215. package/dist/test/allocation/allocation.examples.d.ts.map +1 -0
  216. package/dist/test/allocation/allocation.examples.js +643 -0
  217. package/dist/test/allocation/allocation.examples.js.map +1 -0
  218. package/dist/test/allocation/fit.examples.d.ts +546 -0
  219. package/dist/test/allocation/fit.examples.d.ts.map +1 -0
  220. package/dist/test/allocation/fit.examples.js +171 -0
  221. package/dist/test/allocation/fit.examples.js.map +1 -0
  222. package/dist/test/allocation/kiln-yard.d.ts +181 -0
  223. package/dist/test/allocation/kiln-yard.d.ts.map +1 -0
  224. package/dist/test/allocation/kiln-yard.js +228 -0
  225. package/dist/test/allocation/kiln-yard.js.map +1 -0
  226. package/dist/test/bind/data/data.examples.d.ts +651 -1
  227. package/dist/test/bind/data/data.examples.d.ts.map +1 -1
  228. package/dist/test/bind/data/data.examples.js +140 -2
  229. package/dist/test/bind/data/data.examples.js.map +1 -1
  230. package/dist/test/bind/func/func.examples.d.ts +10 -1
  231. package/dist/test/bind/func/func.examples.d.ts.map +1 -1
  232. package/dist/test/bind/func/func.examples.js +8 -1
  233. package/dist/test/bind/func/func.examples.js.map +1 -1
  234. package/dist/test/bind/record/record.examples.d.ts +633 -1
  235. package/dist/test/bind/record/record.examples.d.ts.map +1 -1
  236. package/dist/test/bind/record/record.examples.js +26 -2
  237. package/dist/test/bind/record/record.examples.js.map +1 -1
  238. package/dist/test/calendar/calendar-records.examples.d.ts.map +1 -1
  239. package/dist/test/calendar/calendar-records.examples.js +18 -14
  240. package/dist/test/calendar/calendar-records.examples.js.map +1 -1
  241. package/dist/test/calendar/calendar.examples.d.ts +521 -16
  242. package/dist/test/calendar/calendar.examples.d.ts.map +1 -1
  243. package/dist/test/calendar/calendar.examples.js +182 -135
  244. package/dist/test/calendar/calendar.examples.js.map +1 -1
  245. package/dist/test/examples-package.d.ts +75 -0
  246. package/dist/test/examples-package.d.ts.map +1 -0
  247. package/dist/test/examples-package.js +263 -0
  248. package/dist/test/examples-package.js.map +1 -0
  249. package/dist/test/flowchart/flowchart.examples.d.ts +211 -19
  250. package/dist/test/flowchart/flowchart.examples.d.ts.map +1 -1
  251. package/dist/test/flowchart/flowchart.examples.js +102 -75
  252. package/dist/test/flowchart/flowchart.examples.js.map +1 -1
  253. package/dist/test/plan/plan-events.examples.d.ts +1439 -209
  254. package/dist/test/plan/plan-events.examples.d.ts.map +1 -1
  255. package/dist/test/plan/plan-events.examples.js +199 -59
  256. package/dist/test/plan/plan-events.examples.js.map +1 -1
  257. package/dist/test/plan/plan-records.examples.d.ts +420 -0
  258. package/dist/test/plan/plan-records.examples.d.ts.map +1 -1
  259. package/dist/test/plan/plan-records.examples.js +70 -19
  260. package/dist/test/plan/plan-records.examples.js.map +1 -1
  261. package/dist/test/plan/plan-windows.examples.d.ts +636 -55
  262. package/dist/test/plan/plan-windows.examples.d.ts.map +1 -1
  263. package/dist/test/plan/plan-windows.examples.js +69 -33
  264. package/dist/test/plan/plan-windows.examples.js.map +1 -1
  265. package/dist/test/plan/plan.examples.d.ts +153 -31
  266. package/dist/test/plan/plan.examples.d.ts.map +1 -1
  267. package/dist/test/plan/plan.examples.js +178 -101
  268. package/dist/test/plan/plan.examples.js.map +1 -1
  269. package/dist/test/roster/domain.examples.d.ts +467 -250
  270. package/dist/test/roster/domain.examples.d.ts.map +1 -1
  271. package/dist/test/roster/domain.examples.js +92 -29
  272. package/dist/test/roster/domain.examples.js.map +1 -1
  273. package/dist/test/roster/roster-records.examples.d.ts +430 -586
  274. package/dist/test/roster/roster-records.examples.d.ts.map +1 -1
  275. package/dist/test/roster/roster-records.examples.js +102 -43
  276. package/dist/test/roster/roster-records.examples.js.map +1 -1
  277. package/dist/test/roster/roster.examples.d.ts +2319 -606
  278. package/dist/test/roster/roster.examples.d.ts.map +1 -1
  279. package/dist/test/roster/roster.examples.js +456 -148
  280. package/dist/test/roster/roster.examples.js.map +1 -1
  281. package/dist/test/roster/warehouse.d.ts +172 -63
  282. package/dist/test/roster/warehouse.d.ts.map +1 -1
  283. package/dist/test/roster/warehouse.js +172 -39
  284. package/dist/test/roster/warehouse.js.map +1 -1
  285. package/dist/test/schedule/schedule.examples.d.ts +3499 -0
  286. package/dist/test/schedule/schedule.examples.d.ts.map +1 -0
  287. package/dist/test/schedule/schedule.examples.js +192 -0
  288. package/dist/test/schedule/schedule.examples.js.map +1 -0
  289. package/dist/test/sheet/sheet-records.examples.d.ts.map +1 -1
  290. package/dist/test/sheet/sheet-records.examples.js +22 -18
  291. package/dist/test/sheet/sheet-records.examples.js.map +1 -1
  292. package/dist/test/sheet/sheet.examples.d.ts +715 -26
  293. package/dist/test/sheet/sheet.examples.d.ts.map +1 -1
  294. package/dist/test/sheet/sheet.examples.js +204 -130
  295. package/dist/test/sheet/sheet.examples.js.map +1 -1
  296. package/package.json +17 -10
  297. package/dist/src/roster/people.d.ts +0 -50
  298. package/dist/src/roster/people.d.ts.map +0 -1
  299. package/dist/src/roster/people.js +0 -32
  300. package/dist/src/roster/people.js.map +0 -1
  301. package/dist/src/roster/visibility.d.ts.map +0 -1
  302. package/dist/src/roster/visibility.js +0 -25
  303. package/dist/src/roster/visibility.js.map +0 -1
@@ -0,0 +1,228 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ /**
6
+ * The kiln yard, transcribed from docs/proposals/Allocation Spec.html into
7
+ * records of its own (#1371, `Builder Interfaces Spec.md` §6.5): its bins and
8
+ * the days of its plan, which the board writes, and its kilns, its loads and
9
+ * its bays, which it reads — three unloading bays in two areas, 33 drying
10
+ * kilns in six groups, the day's loads and Tue 11 May 2027's plan. Every name,
11
+ * code and figure is generated. Beside them, the board's reading of the plan
12
+ * day (`Allocation.Types.Day(KilnBin)`), each bin its roles and the yard's own
13
+ * row, which the pure functions' specs hold to the spec's worked facts (§0).
14
+ */
15
+ import { ArrayType, DateTimeType, DictType, FloatType, NullType, OptionType, SortedMap, StringType, StructType, VariantType, compareFor, none, some, variant, } from "@elaraai/east";
16
+ import { TimeStepType } from "@elaraai/east-ui";
17
+ import { Allocation } from "@elaraai/e3-ui";
18
+ /**
19
+ * A bin, the yard's own: where it is booked (its bay and its time), the load
20
+ * it books (none: a reservation), its m³, its spec, how long it dries and its
21
+ * split across kilns — the board's roles — and the yard's own fields beside
22
+ * them: the moisture target and grade booked, and as measured on arrival, and
23
+ * its loading instruction.
24
+ */
25
+ export const KilnBin = StructType({
26
+ bay: StringType, at: DateTimeType, load: OptionType(StringType),
27
+ m3: FloatType, spec: OptionType(StringType), dryFor: TimeStepType,
28
+ kilns: DictType(StringType, FloatType),
29
+ specBooked: StringType, specMeasured: StringType,
30
+ gradeBooked: StringType, gradeMeasured: StringType, instruction: OptionType(StringType),
31
+ });
32
+ /** A day of the yard's plan: a draft, or issued and when. */
33
+ export const YardDay = StructType({ state: VariantType({ draft: NullType, issued: StructType({ at: DateTimeType }) }) });
34
+ /** A bin of the smallest board's: the board's roles alone — its bay, its time, its load, its m³, its split across kilns and how long it dries. */
35
+ export const MinimalBin = StructType({
36
+ bay: StringType, at: DateTimeType, load: OptionType(StringType), m3: FloatType, kilns: DictType(StringType, FloatType), dryFor: TimeStepType,
37
+ });
38
+ /** A drying kiln: its range, the days it usually dries for, and its charges — the one drying now and the next planned. */
39
+ export const Kiln = StructType({
40
+ name: StringType, group: StringType, min: FloatType, max: FloatType, days: FloatType, note: OptionType(StringType),
41
+ charges: ArrayType(Allocation.Types.Job),
42
+ });
43
+ /** An unloading bay: its name, the yard area it stands in, whether it is covered or open, and how far past each hour it takes its bin. */
44
+ export const Bay = StructType({ name: StringType, area: StringType, cover: StringType, offset: TimeStepType });
45
+ /** A load of sawn timber on its way from a mill. */
46
+ export const TimberLoad = StructType({
47
+ code: StringType, mill: StringType, spec: StringType, grade: StringType,
48
+ m3: FloatType, dryingDays: FloatType, due: DateTimeType, from: DateTimeType, to: DateTimeType,
49
+ schedule: StringType, instruction: OptionType(StringType),
50
+ });
51
+ /** The board's reading of a bin of the yard's: its roles, and the yard's own row. */
52
+ export const YardBin = Allocation.Types.Bin(KilnBin);
53
+ /** The board's reading of a day of the yard's: its status, and its bins. */
54
+ export const YardPlan = Allocation.Types.Day(KilnBin);
55
+ const byString = compareFor(StringType);
56
+ const byDate = compareFor(DateTimeType);
57
+ const DAY = 86_400_000;
58
+ /** The plan day the mock opens on: Tue 11 May 2027. */
59
+ export const yardDay = new Date("2027-05-11T00:00:00Z");
60
+ /** The week before's day, published: Tue 4 May 2027. */
61
+ export const yardPublishedDay = new Date("2027-05-04T00:00:00Z");
62
+ /** When Tue 4 May was issued. */
63
+ export const yardIssuedAt = new Date("2027-05-03T17:40:00Z");
64
+ /** A day of loads split across kilns: Wed 12 May 2027. */
65
+ export const yardSplitDay = new Date("2027-05-12T00:00:00Z");
66
+ /** The unloading bays, by key: two in the north yard, one in the south, B-2 the open one; each takes one bin an hour, at its offset past the hour. */
67
+ export const yardBayRows = new SortedMap([
68
+ ["B-1", { name: "B-1", area: "North", cover: "Covered", offset: variant("minutes", 15) }],
69
+ ["B-2", { name: "B-2", area: "North", cover: "Open", offset: variant("minutes", 35) }],
70
+ ["B-3", { name: "B-3", area: "South", cover: "Covered", offset: variant("minutes", 55) }],
71
+ ], byString);
72
+ export const yardKilns = new SortedMap([
73
+ ["K-101", { name: "K-101", group: "Hall A", min: 16, max: 32, days: 9, note: none, charges: [{ label: "planned", start: new Date("2027-05-20T00:00:00Z"), end: new Date("2027-05-28T00:00:00Z") }] }],
74
+ ["K-102", { name: "K-102", group: "Hall A", min: 16, max: 32, days: 9, note: none, charges: [] }],
75
+ ["K-103", { name: "K-103", group: "Hall A", min: 16, max: 32, days: 8, note: none, charges: [{ label: "C-3141", start: new Date("2027-04-28T00:00:00Z"), end: new Date("2027-05-08T00:00:00Z") }, { label: "planned", start: new Date("2027-05-18T00:00:00Z"), end: new Date("2027-05-26T00:00:00Z") }] }],
76
+ ["K-104", { name: "K-104", group: "Hall A", min: 16, max: 32, days: 8, note: none, charges: [{ label: "planned", start: new Date("2027-05-14T00:00:00Z"), end: new Date("2027-05-22T00:00:00Z") }] }],
77
+ ["K-105", { name: "K-105", group: "Hall A", min: 16, max: 32, days: 8, note: none, charges: [{ label: "planned", start: new Date("2027-05-17T00:00:00Z"), end: new Date("2027-05-25T00:00:00Z") }] }],
78
+ ["K-106", { name: "K-106", group: "Hall A", min: 12, max: 24, days: 8, note: none, charges: [{ label: "C-3142", start: new Date("2027-04-28T00:00:00Z"), end: new Date("2027-05-08T00:00:00Z") }] }],
79
+ ["K-107", { name: "K-107", group: "Hall A", min: 12, max: 24, days: 8, note: none, charges: [{ label: "planned", start: new Date("2027-05-19T00:00:00Z"), end: new Date("2027-05-27T00:00:00Z") }] }],
80
+ ["K-108", { name: "K-108", group: "Hall A", min: 16, max: 32, days: 7, note: some("the plan had this charge on Wed 12"), charges: [{ label: "C-3143", start: new Date("2027-04-28T00:00:00Z"), end: new Date("2027-05-11T00:00:00Z") }, { label: "planned", start: new Date("2027-05-20T00:00:00Z"), end: new Date("2027-05-28T00:00:00Z") }] }],
81
+ ["K-109", { name: "K-109", group: "Hall A", min: 12, max: 24, days: 9, note: none, charges: [{ label: "planned", start: new Date("2027-05-20T00:00:00Z"), end: new Date("2027-05-28T00:00:00Z") }] }],
82
+ ["K-110", { name: "K-110", group: "Hall A", min: 12, max: 24, days: 8, note: none, charges: [{ label: "C-3144", start: new Date("2027-04-28T00:00:00Z"), end: new Date("2027-05-08T00:00:00Z") }, { label: "planned", start: new Date("2027-05-14T00:00:00Z"), end: new Date("2027-05-22T00:00:00Z") }] }],
83
+ ["K-201", { name: "K-201", group: "Hall B", min: 20, max: 40, days: 8, note: none, charges: [{ label: "C-3145", start: new Date("2027-04-28T00:00:00Z"), end: new Date("2027-05-11T00:00:00Z") }, { label: "planned", start: new Date("2027-05-21T00:00:00Z"), end: new Date("2027-05-29T00:00:00Z") }] }],
84
+ ["K-202", { name: "K-202", group: "Hall B", min: 20, max: 40, days: 8, note: none, charges: [{ label: "planned", start: new Date("2027-05-20T00:00:00Z"), end: new Date("2027-05-28T00:00:00Z") }] }],
85
+ ["K-203", { name: "K-203", group: "Hall B", min: 20, max: 40, days: 7, note: none, charges: [{ label: "planned", start: new Date("2027-05-19T00:00:00Z"), end: new Date("2027-05-27T00:00:00Z") }] }],
86
+ ["K-204", { name: "K-204", group: "Hall B", min: 20, max: 40, days: 8, note: none, charges: [{ label: "planned", start: new Date("2027-05-15T00:00:00Z"), end: new Date("2027-05-23T00:00:00Z") }] }],
87
+ ["K-205", { name: "K-205", group: "Hall B", min: 20, max: 40, days: 8, note: none, charges: [{ label: "C-3146", start: new Date("2027-04-28T00:00:00Z"), end: new Date("2027-05-10T00:00:00Z") }, { label: "planned", start: new Date("2027-05-19T00:00:00Z"), end: new Date("2027-05-27T00:00:00Z") }] }],
88
+ ["K-206", { name: "K-206", group: "Hall B", min: 20, max: 40, days: 7, note: none, charges: [{ label: "C-3147", start: new Date("2027-04-28T00:00:00Z"), end: new Date("2027-05-09T00:00:00Z") }, { label: "planned", start: new Date("2027-05-18T00:00:00Z"), end: new Date("2027-05-26T00:00:00Z") }] }],
89
+ ["K-207", { name: "K-207", group: "Hall B", min: 20, max: 40, days: 9, note: none, charges: [{ label: "C-3148", start: new Date("2027-04-28T00:00:00Z"), end: new Date("2027-05-08T00:00:00Z") }, { label: "planned", start: new Date("2027-05-20T00:00:00Z"), end: new Date("2027-05-28T00:00:00Z") }] }],
90
+ ["K-208", { name: "K-208", group: "Hall B", min: 20, max: 40, days: 8, note: none, charges: [{ label: "C-3149", start: new Date("2027-04-28T00:00:00Z"), end: new Date("2027-05-08T00:00:00Z") }, { label: "planned", start: new Date("2027-05-13T00:00:00Z"), end: new Date("2027-05-21T00:00:00Z") }] }],
91
+ ["K-209", { name: "K-209", group: "Hall B", min: 20, max: 40, days: 7, note: none, charges: [{ label: "planned", start: new Date("2027-05-19T00:00:00Z"), end: new Date("2027-05-27T00:00:00Z") }] }],
92
+ ["K-301", { name: "K-301", group: "Compact", min: 4, max: 10, days: 8, note: none, charges: [{ label: "C-3150", start: new Date("2027-04-28T00:00:00Z"), end: new Date("2027-05-08T00:00:00Z") }, { label: "planned", start: new Date("2027-05-16T00:00:00Z"), end: new Date("2027-05-24T00:00:00Z") }] }],
93
+ ["K-302", { name: "K-302", group: "Compact", min: 4, max: 10, days: 9, note: none, charges: [{ label: "planned", start: new Date("2027-05-20T00:00:00Z"), end: new Date("2027-05-28T00:00:00Z") }] }],
94
+ ["K-303", { name: "K-303", group: "Compact", min: 4, max: 10, days: 8, note: some("the plan had this charge on Thu 13"), charges: [{ label: "planned", start: new Date("2027-05-20T00:00:00Z"), end: new Date("2027-05-28T00:00:00Z") }] }],
95
+ ["K-304", { name: "K-304", group: "Compact", min: 4, max: 10, days: 7, note: none, charges: [{ label: "planned", start: new Date("2027-05-19T00:00:00Z"), end: new Date("2027-05-27T00:00:00Z") }] }],
96
+ ["K-305", { name: "K-305", group: "Compact", min: 4, max: 10, days: 8, note: none, charges: [{ label: "C-3151", start: new Date("2027-04-28T00:00:00Z"), end: new Date("2027-05-11T00:00:00Z") }, { label: "planned", start: new Date("2027-05-20T00:00:00Z"), end: new Date("2027-05-28T00:00:00Z") }] }],
97
+ ["K-401", { name: "K-401", group: "Standard", min: 10, max: 20, days: 9, note: none, charges: [{ label: "planned", start: new Date("2027-05-20T00:00:00Z"), end: new Date("2027-05-28T00:00:00Z") }] }],
98
+ ["K-402", { name: "K-402", group: "Standard", min: 10, max: 20, days: 7, note: none, charges: [{ label: "planned", start: new Date("2027-05-18T00:00:00Z"), end: new Date("2027-05-26T00:00:00Z") }] }],
99
+ ["K-403", { name: "K-403", group: "Standard", min: 10, max: 20, days: 9, note: none, charges: [{ label: "C-3152", start: new Date("2027-04-28T00:00:00Z"), end: new Date("2027-05-08T00:00:00Z") }, { label: "planned", start: new Date("2027-05-22T00:00:00Z"), end: new Date("2027-05-30T00:00:00Z") }] }],
100
+ ["K-501", { name: "K-501", group: "Large", min: 24, max: 48, days: 7, note: none, charges: [{ label: "planned", start: new Date("2027-05-19T00:00:00Z"), end: new Date("2027-05-27T00:00:00Z") }] }],
101
+ ["K-502", { name: "K-502", group: "Large", min: 24, max: 48, days: 8, note: none, charges: [{ label: "planned", start: new Date("2027-05-14T00:00:00Z"), end: new Date("2027-05-22T00:00:00Z") }] }],
102
+ ["K-503", { name: "K-503", group: "Large", min: 24, max: 48, days: 9, note: none, charges: [{ label: "C-3153", start: new Date("2027-05-01T00:00:00Z"), end: new Date("2027-05-14T00:00:00Z") }, { label: "planned", start: new Date("2027-05-14T00:00:00Z"), end: new Date("2027-05-22T00:00:00Z") }] }],
103
+ ["K-504", { name: "K-504", group: "Large", min: 24, max: 48, days: 9, note: none, charges: [{ label: "C-3154", start: new Date("2027-05-05T00:00:00Z"), end: new Date("2027-05-15T00:00:00Z") }, { label: "planned", start: new Date("2027-05-14T00:00:00Z"), end: new Date("2027-05-22T00:00:00Z") }] }],
104
+ ["K-601", { name: "K-601", group: "Bulk", min: 40, max: 60, days: 8, note: none, charges: [] }],
105
+ ["K-602", { name: "K-602", group: "Bulk", min: 40, max: 60, days: 8, note: none, charges: [{ label: "C-3155", start: new Date("2027-04-28T00:00:00Z"), end: new Date("2027-05-08T00:00:00Z") }, { label: "planned", start: new Date("2027-05-16T00:00:00Z"), end: new Date("2027-05-24T00:00:00Z") }] }],
106
+ ], byString);
107
+ export const yardArrivals = new SortedMap([
108
+ ["LD-2231", { code: "LD-2231", mill: "BRK", spec: "MC12", grade: "R2", m3: 21, dryingDays: 8, due: new Date("2027-05-09T00:00:00Z"), from: new Date("2027-05-07T00:00:00Z"), to: new Date("2027-05-10T00:00:00Z"), schedule: "Schedule KS-2 · 55 °C dry bulb · 10 % target", instruction: some("Sticker every 600 mm before loading") }],
109
+ ["LD-2232", { code: "LD-2232", mill: "RDG", spec: "MC10", grade: "R1", m3: 30, dryingDays: 8, due: new Date("2027-05-11T00:00:00Z"), from: new Date("2027-05-10T00:00:00Z"), to: new Date("2027-05-14T00:00:00Z"), schedule: "Schedule KS-2 · 55 °C dry bulb · 10 % target", instruction: some("Sticker every 600 mm before loading") }],
110
+ ["LD-2233", { code: "LD-2233", mill: "RDG", spec: "MC10", grade: "R1", m3: 26, dryingDays: 8, due: new Date("2027-05-12T00:00:00Z"), from: new Date("2027-05-11T00:00:00Z"), to: new Date("2027-05-15T00:00:00Z"), schedule: "Schedule KS-2 · 55 °C dry bulb · 10 % target", instruction: some("Sticker every 600 mm before loading") }],
111
+ ["LD-2234", { code: "LD-2234", mill: "ASH", spec: "MC12", grade: "P2", m3: 18, dryingDays: 9, due: new Date("2027-05-12T00:00:00Z"), from: new Date("2027-05-11T00:00:00Z"), to: new Date("2027-05-14T00:00:00Z"), schedule: "Schedule KS-2 · 55 °C dry bulb · 10 % target", instruction: some("Sticker every 600 mm before loading") }],
112
+ ["LD-2235", { code: "LD-2235", mill: "MRS", spec: "MC10", grade: "P1", m3: 8, dryingDays: 9, due: new Date("2027-05-11T00:00:00Z"), from: new Date("2027-05-10T00:00:00Z"), to: new Date("2027-05-13T00:00:00Z"), schedule: "Schedule KS-2 · 55 °C dry bulb · 10 % target", instruction: some("Sticker every 600 mm before loading") }],
113
+ ["LD-2236", { code: "LD-2236", mill: "STB", spec: "MC16", grade: "U2", m3: 11, dryingDays: 6, due: new Date("2027-05-13T00:00:00Z"), from: new Date("2027-05-12T00:00:00Z"), to: new Date("2027-05-16T00:00:00Z"), schedule: "Schedule KS-2 · 55 °C dry bulb · 10 % target", instruction: some("Sticker every 600 mm before loading") }],
114
+ ["LD-2201", { code: "LD-2201", mill: "BRK", spec: "MC14", grade: "R1", m3: 35, dryingDays: 8, due: new Date("2027-05-11T00:00:00Z"), from: new Date("2027-05-10T00:00:00Z"), to: new Date("2027-05-13T00:00:00Z"), schedule: "Schedule KS-4 · 70 °C dry bulb · continuous venting", instruction: some("Load into K-209 first; any balance goes with bin 3102. Sticker every 600 mm before loading") }],
115
+ ["LD-2202", { code: "LD-2202", mill: "STB", spec: "MC08", grade: "P1", m3: 27, dryingDays: 9, due: new Date("2027-05-11T00:00:00Z"), from: new Date("2027-05-10T00:00:00Z"), to: new Date("2027-05-13T00:00:00Z"), schedule: "Schedule KS-2 · 55 °C dry bulb · 12 % target", instruction: some("Hold the kiln at 40 °C on arrival") }],
116
+ ["LD-2203", { code: "LD-2203", mill: "STB", spec: "MC14", grade: "U1", m3: 24, dryingDays: 6, due: new Date("2027-05-11T00:00:00Z"), from: new Date("2027-05-10T00:00:00Z"), to: new Date("2027-05-13T00:00:00Z"), schedule: "Schedule KS-2 · 55 °C dry bulb · 12 % target", instruction: some("Hold the kiln at 40 °C on arrival") }],
117
+ ["LD-2204", { code: "LD-2204", mill: "CLY", spec: "MC14", grade: "U1", m3: 47, dryingDays: 6, due: new Date("2027-05-11T00:00:00Z"), from: new Date("2027-05-10T00:00:00Z"), to: new Date("2027-05-13T00:00:00Z"), schedule: "Schedule KS-4 · 70 °C dry bulb · continuous venting", instruction: none }],
118
+ ["LD-2205", { code: "LD-2205", mill: "BRK", spec: "MC12", grade: "U1", m3: 39, dryingDays: 6, due: new Date("2027-05-11T00:00:00Z"), from: new Date("2027-05-10T00:00:00Z"), to: new Date("2027-05-13T00:00:00Z"), schedule: "Schedule KS-4 · 70 °C dry bulb · continuous venting", instruction: some("Sticker every 600 mm before loading") }],
119
+ ["LD-2206", { code: "LD-2206", mill: "ASH", spec: "MC20", grade: "P2", m3: 36, dryingDays: 9, due: new Date("2027-05-11T00:00:00Z"), from: new Date("2027-05-10T00:00:00Z"), to: new Date("2027-05-13T00:00:00Z"), schedule: "Schedule KS-6 · 80 °C · equalise 12 h · condition 6 h", instruction: some("Hold the kiln at 40 °C on arrival") }],
120
+ ["LD-2207", { code: "LD-2207", mill: "ASH", spec: "MC14", grade: "R3", m3: 63, dryingDays: 8, due: new Date("2027-05-11T00:00:00Z"), from: new Date("2027-05-10T00:00:00Z"), to: new Date("2027-05-13T00:00:00Z"), schedule: "Schedule KS-6 · 80 °C · equalise 12 h · condition 6 h", instruction: some("Hold the kiln at 40 °C on arrival") }],
121
+ ["LD-2208", { code: "LD-2208", mill: "RDG", spec: "MC18", grade: "P2", m3: 1, dryingDays: 9, due: new Date("2027-05-11T00:00:00Z"), from: new Date("2027-05-10T00:00:00Z"), to: new Date("2027-05-13T00:00:00Z"), schedule: "Schedule KS-2 · 55 °C dry bulb · 10 % target", instruction: none }],
122
+ ["LD-2209", { code: "LD-2209", mill: "BRK", spec: "MC18", grade: "R3", m3: 18, dryingDays: 8, due: new Date("2027-05-11T00:00:00Z"), from: new Date("2027-05-10T00:00:00Z"), to: new Date("2027-05-13T00:00:00Z"), schedule: "Schedule KS-4 · 70 °C dry bulb · continuous venting", instruction: none }],
123
+ ["LD-2210", { code: "LD-2210", mill: "FRN", spec: "MC08", grade: "R2", m3: 32, dryingDays: 8, due: new Date("2027-05-11T00:00:00Z"), from: new Date("2027-05-10T00:00:00Z"), to: new Date("2027-05-13T00:00:00Z"), schedule: "Schedule KS-7 · 80 °C · equalise 12 h · direct", instruction: none }],
124
+ ["LD-2211", { code: "LD-2211", mill: "FRN", spec: "MC16", grade: "R1", m3: 2, dryingDays: 8, due: new Date("2027-05-11T00:00:00Z"), from: new Date("2027-05-10T00:00:00Z"), to: new Date("2027-05-13T00:00:00Z"), schedule: "Schedule KS-2 · 55 °C dry bulb · 10 % target", instruction: some("Hold the kiln at 40 °C on arrival") }],
125
+ ["LD-2212", { code: "LD-2212", mill: "RDG", spec: "MC20", grade: "U2", m3: 20, dryingDays: 6, due: new Date("2027-05-11T00:00:00Z"), from: new Date("2027-05-10T00:00:00Z"), to: new Date("2027-05-13T00:00:00Z"), schedule: "Schedule KS-7 · 80 °C · equalise 12 h · direct", instruction: some("Hold the kiln at 40 °C on arrival") }],
126
+ ["LD-2213", { code: "LD-2213", mill: "STB", spec: "MC22", grade: "R2", m3: 10, dryingDays: 8, due: new Date("2027-05-11T00:00:00Z"), from: new Date("2027-05-10T00:00:00Z"), to: new Date("2027-05-13T00:00:00Z"), schedule: "Schedule KS-2 · 55 °C dry bulb · 12 % target", instruction: some("Sticker every 600 mm before loading") }],
127
+ ["LD-2214", { code: "LD-2214", mill: "BRK", spec: "MC18", grade: "R3", m3: 5, dryingDays: 8, due: new Date("2027-05-11T00:00:00Z"), from: new Date("2027-05-10T00:00:00Z"), to: new Date("2027-05-13T00:00:00Z"), schedule: "Schedule KS-2 · 55 °C dry bulb · 10 % target", instruction: some("Sticker every 600 mm before loading") }],
128
+ ["LD-2215", { code: "LD-2215", mill: "RDG", spec: "MC14", grade: "U2", m3: 15, dryingDays: 6, due: new Date("2027-05-11T00:00:00Z"), from: new Date("2027-05-10T00:00:00Z"), to: new Date("2027-05-13T00:00:00Z"), schedule: "Schedule KS-2 · 55 °C dry bulb · 12 % target", instruction: some("Sticker every 600 mm before loading") }],
129
+ ["LD-2216", { code: "LD-2216", mill: "ASH", spec: "MC14", grade: "U1", m3: 37, dryingDays: 6, due: new Date("2027-05-11T00:00:00Z"), from: new Date("2027-05-10T00:00:00Z"), to: new Date("2027-05-13T00:00:00Z"), schedule: "Schedule KS-2 · 55 °C dry bulb · 12 % target", instruction: some("Sticker every 600 mm before loading") }],
130
+ ["LD-2217", { code: "LD-2217", mill: "CLY", spec: "MC08", grade: "U2", m3: 5, dryingDays: 6, due: new Date("2027-05-11T00:00:00Z"), from: new Date("2027-05-10T00:00:00Z"), to: new Date("2027-05-13T00:00:00Z"), schedule: "Schedule KS-7 · 80 °C · equalise 12 h · direct", instruction: some("Sticker every 600 mm before loading") }],
131
+ ["LD-2218", { code: "LD-2218", mill: "HLM", spec: "MC08", grade: "P1", m3: 38, dryingDays: 9, due: new Date("2027-05-11T00:00:00Z"), from: new Date("2027-05-10T00:00:00Z"), to: new Date("2027-05-13T00:00:00Z"), schedule: "Schedule KS-7 · 80 °C · equalise 12 h · direct", instruction: none }],
132
+ ["LD-2219", { code: "LD-2219", mill: "MRS", spec: "MC20", grade: "R2", m3: 54, dryingDays: 8, due: new Date("2027-05-11T00:00:00Z"), from: new Date("2027-05-10T00:00:00Z"), to: new Date("2027-05-13T00:00:00Z"), schedule: "Schedule KS-2 · 55 °C dry bulb · 12 % target", instruction: some("Sticker every 600 mm before loading") }],
133
+ ["LD-2220", { code: "LD-2220", mill: "RDG", spec: "MC18", grade: "R1", m3: 31, dryingDays: 8, due: new Date("2027-05-11T00:00:00Z"), from: new Date("2027-05-10T00:00:00Z"), to: new Date("2027-05-13T00:00:00Z"), schedule: "Schedule KS-2 · 55 °C dry bulb · 12 % target", instruction: none }],
134
+ ["LD-2221", { code: "LD-2221", mill: "FRN", spec: "MC08", grade: "R3", m3: 17, dryingDays: 8, due: new Date("2027-05-11T00:00:00Z"), from: new Date("2027-05-10T00:00:00Z"), to: new Date("2027-05-13T00:00:00Z"), schedule: "Schedule KS-4 · 70 °C dry bulb · continuous venting", instruction: some("Hold the kiln at 40 °C on arrival") }],
135
+ ], byString);
136
+ /** Tue 4 May 2027's bins: the week before's plan, published. */
137
+ const publishedBins = [
138
+ ["3001", { bay: "B-1", at: new Date("2027-05-04T06:15:00Z"), load: some("LD-2201"), m3: 35, spec: some("MC14"), dryFor: variant("days", 8), kilns: new SortedMap([["K-209", 35]], byString), specBooked: "MC14", specMeasured: "MC14", gradeBooked: "R", gradeMeasured: "R1", instruction: some("Sticker every 600 mm before loading") }],
139
+ ["3002", { bay: "B-2", at: new Date("2027-05-04T06:35:00Z"), load: some("LD-2205"), m3: 39, spec: some("MC12"), dryFor: variant("days", 6), kilns: new SortedMap([["K-203", 39]], byString), specBooked: "MC12", specMeasured: "MC12", gradeBooked: "U", gradeMeasured: "U1", instruction: some("Sticker every 600 mm before loading") }],
140
+ ["3003", { bay: "B-3", at: new Date("2027-05-04T08:55:00Z"), load: some("LD-2213"), m3: 10, spec: some("MC22"), dryFor: variant("days", 8), kilns: new SortedMap([["K-303", 10]], byString), specBooked: "MC22", specMeasured: "MC22", gradeBooked: "R", gradeMeasured: "R2", instruction: some("Sticker every 600 mm before loading") }],
141
+ ["3004", { bay: "B-1", at: new Date("2027-05-04T10:15:00Z"), load: some("LD-2215"), m3: 15, spec: some("MC14"), dryFor: variant("days", 6), kilns: new SortedMap([["K-401", 15]], byString), specBooked: "MC14", specMeasured: "MC14", gradeBooked: "U", gradeMeasured: "U2", instruction: some("Sticker every 600 mm before loading") }],
142
+ ];
143
+ /** Tue 11 May 2027's bins, as the mock opens: 26 bins in 18 slots, 556 m³. */
144
+ const planBins = [
145
+ ["3101", { bay: "B-3", at: new Date("2027-05-11T01:55:00Z"), load: some("LD-2201"), m3: 35, spec: some("MC14"), dryFor: variant("days", 7), kilns: new SortedMap([["K-209", 35]], byString), specBooked: "MC14", specMeasured: "MC14", gradeBooked: "R", gradeMeasured: "R1", instruction: some("Load into K-209 first; any balance goes with bin 3102. Sticker every 600 mm before loading") }],
146
+ ["3102", { bay: "B-3", at: new Date("2027-05-11T01:56:00Z"), load: some("LD-2202"), m3: 27, spec: some("MC22"), dryFor: variant("days", 9), kilns: new SortedMap([["K-102", 27]], byString), specBooked: "MC08", specMeasured: "MC22", gradeBooked: "P", gradeMeasured: "P1", instruction: some("Hold the kiln at 40 °C on arrival") }],
147
+ ["3103", { bay: "B-1", at: new Date("2027-05-11T02:15:00Z"), load: some("LD-2203"), m3: 24, spec: some("MC14"), dryFor: variant("days", 9), kilns: new SortedMap([["K-109", 24]], byString), specBooked: "MC14", specMeasured: "MC14", gradeBooked: "U", gradeMeasured: "U1", instruction: some("Hold the kiln at 40 °C on arrival") }],
148
+ ["3104", { bay: "B-1", at: new Date("2027-05-11T03:15:00Z"), load: some("LD-2204"), m3: 47, spec: some("MC14"), dryFor: variant("days", 7), kilns: new SortedMap([["K-501", 47]], byString), specBooked: "MC14", specMeasured: "MC14", gradeBooked: "P", gradeMeasured: "U1", instruction: none }],
149
+ ["3105", { bay: "B-1", at: new Date("2027-05-11T04:15:00Z"), load: some("LD-2205"), m3: 39, spec: some("MC10"), dryFor: variant("days", 7), kilns: new SortedMap([["K-203", 39]], byString), specBooked: "MC12", specMeasured: "MC10", gradeBooked: "P", gradeMeasured: "U1", instruction: some("Sticker every 600 mm before loading") }],
150
+ ["3106", { bay: "B-2", at: new Date("2027-05-11T05:35:00Z"), load: some("LD-2206"), m3: 1, spec: some("MC18"), dryFor: variant("days", 7), kilns: new SortedMap([["K-304", 1]], byString), specBooked: "MC20", specMeasured: "MC18", gradeBooked: "P", gradeMeasured: "P2", instruction: some("Hold the kiln at 40 °C on arrival") }],
151
+ ["3107", { bay: "B-2", at: new Date("2027-05-11T05:36:00Z"), load: some("LD-2206"), m3: 35, spec: some("MC18"), dryFor: variant("days", 8), kilns: new SortedMap([["K-201", 35]], byString), specBooked: "MC18", specMeasured: "MC18", gradeBooked: "P", gradeMeasured: "P1", instruction: some("Sticker every 600 mm before loading") }],
152
+ ["3108", { bay: "B-2", at: new Date("2027-05-11T06:35:00Z"), load: some("LD-2207"), m3: 19, spec: some("MC12"), dryFor: variant("days", 7), kilns: new SortedMap([["K-402", 19]], byString), specBooked: "MC14", specMeasured: "MC12", gradeBooked: "P", gradeMeasured: "R3", instruction: some("Hold the kiln at 40 °C on arrival") }],
153
+ ["3109", { bay: "B-2", at: new Date("2027-05-11T06:36:00Z"), load: some("LD-2207"), m3: 44, spec: some("MC12"), dryFor: variant("days", 9), kilns: new SortedMap([["K-207", 44]], byString), specBooked: "MC12", specMeasured: "MC12", gradeBooked: "P", gradeMeasured: "P2", instruction: some("Sticker every 600 mm before loading") }],
154
+ ["3110", { bay: "B-1", at: new Date("2027-05-11T09:15:00Z"), load: some("LD-2208"), m3: 1, spec: some("MC18"), dryFor: variant("days", 7), kilns: new SortedMap([["K-304", 1]], byString), specBooked: "MC18", specMeasured: "MC18", gradeBooked: "U", gradeMeasured: "P2", instruction: none }],
155
+ ["3111", { bay: "B-1", at: new Date("2027-05-11T10:15:00Z"), load: some("LD-2209"), m3: 16, spec: some("MC18"), dryFor: variant("days", 9), kilns: new SortedMap([["K-403", 16]], byString), specBooked: "MC18", specMeasured: "MC18", gradeBooked: "P", gradeMeasured: "R3", instruction: none }],
156
+ ["3112", { bay: "B-1", at: new Date("2027-05-11T10:16:00Z"), load: some("LD-2209"), m3: 2, spec: some("MC20"), dryFor: variant("days", 7), kilns: new SortedMap([["K-304", 2]], byString), specBooked: "MC22", specMeasured: "MC20", gradeBooked: "R", gradeMeasured: "R3", instruction: some("Hold the kiln at 40 °C on arrival") }],
157
+ ["3113", { bay: "B-2", at: new Date("2027-05-11T10:35:00Z"), load: some("LD-2210"), m3: 32, spec: some("MC22"), dryFor: variant("days", 7), kilns: new SortedMap([["K-108", 32]], byString), specBooked: "MC08", specMeasured: "MC22", gradeBooked: "R", gradeMeasured: "R2", instruction: none }],
158
+ ["3114", { bay: "B-1", at: new Date("2027-05-11T13:15:00Z"), load: some("LD-2211"), m3: 2, spec: some("MC16"), dryFor: variant("days", 7), kilns: new SortedMap([["K-304", 2]], byString), specBooked: "MC16", specMeasured: "MC16", gradeBooked: "R", gradeMeasured: "R1", instruction: some("Hold the kiln at 40 °C on arrival") }],
159
+ ["3115", { bay: "B-2", at: new Date("2027-05-11T15:35:00Z"), load: some("LD-2212"), m3: 20, spec: some("MC18"), dryFor: variant("days", 8), kilns: new SortedMap([["K-106", 20]], byString), specBooked: "MC20", specMeasured: "MC18", gradeBooked: "P", gradeMeasured: "U2", instruction: some("Hold the kiln at 40 °C on arrival") }],
160
+ ["3116", { bay: "B-3", at: new Date("2027-05-11T16:55:00Z"), load: some("LD-2213"), m3: 10, spec: some("MC20"), dryFor: variant("days", 8), kilns: new SortedMap([["K-303", 10]], byString), specBooked: "MC22", specMeasured: "MC20", gradeBooked: "P", gradeMeasured: "R2", instruction: some("Sticker every 600 mm before loading") }],
161
+ ["3117", { bay: "B-2", at: new Date("2027-05-11T17:35:00Z"), load: some("LD-2214"), m3: 5, spec: some("MC16"), dryFor: variant("days", 8), kilns: new SortedMap([["K-301", 5]], byString), specBooked: "MC18", specMeasured: "MC16", gradeBooked: "R", gradeMeasured: "R3", instruction: some("Sticker every 600 mm before loading") }],
162
+ ["3118", { bay: "B-3", at: new Date("2027-05-11T17:55:00Z"), load: some("LD-2215"), m3: 15, spec: some("MC14"), dryFor: variant("days", 9), kilns: new SortedMap([["K-401", 15]], byString), specBooked: "MC14", specMeasured: "MC14", gradeBooked: "U", gradeMeasured: "U2", instruction: some("Sticker every 600 mm before loading") }],
163
+ ["3119", { bay: "B-3", at: new Date("2027-05-11T17:56:00Z"), load: some("LD-2216"), m3: 37, spec: some("MC12"), dryFor: variant("days", 8), kilns: new SortedMap([["K-205", 37]], byString), specBooked: "MC14", specMeasured: "MC12", gradeBooked: "P", gradeMeasured: "U1", instruction: some("Sticker every 600 mm before loading") }],
164
+ ["3120", { bay: "B-3", at: new Date("2027-05-11T17:57:00Z"), load: some("LD-2217"), m3: 5, spec: some("MC08"), dryFor: variant("days", 9), kilns: new SortedMap([["K-302", 5]], byString), specBooked: "MC08", specMeasured: "MC08", gradeBooked: "U", gradeMeasured: "U2", instruction: some("Sticker every 600 mm before loading") }],
165
+ ["3121", { bay: "B-2", at: new Date("2027-05-11T20:35:00Z"), load: some("LD-2218"), m3: 1, spec: some("MC22"), dryFor: variant("days", 7), kilns: new SortedMap([["K-304", 1]], byString), specBooked: "MC08", specMeasured: "MC22", gradeBooked: "R", gradeMeasured: "P1", instruction: none }],
166
+ ["3122", { bay: "B-2", at: new Date("2027-05-11T20:36:00Z"), load: some("LD-2218"), m3: 37, spec: some("MC16"), dryFor: variant("days", 7), kilns: new SortedMap([["K-206", 37]], byString), specBooked: "MC16", specMeasured: "MC16", gradeBooked: "U", gradeMeasured: "U2", instruction: none }],
167
+ ["3123", { bay: "B-3", at: new Date("2027-05-11T20:55:00Z"), load: some("LD-2219"), m3: 22, spec: some("MC20"), dryFor: variant("days", 8), kilns: new SortedMap([["K-202", 22]], byString), specBooked: "MC20", specMeasured: "MC20", gradeBooked: "R", gradeMeasured: "R2", instruction: some("Sticker every 600 mm before loading") }],
168
+ ["3124", { bay: "B-3", at: new Date("2027-05-11T20:56:00Z"), load: some("LD-2219"), m3: 32, spec: some("MC22"), dryFor: variant("days", 8), kilns: new SortedMap([["K-105", 32]], byString), specBooked: "MC22", specMeasured: "MC22", gradeBooked: "U", gradeMeasured: "U2", instruction: some("Sticker every 600 mm before loading") }],
169
+ ["3125", { bay: "B-2", at: new Date("2027-05-11T22:35:00Z"), load: some("LD-2220"), m3: 31, spec: some("MC18"), dryFor: variant("days", 9), kilns: new SortedMap([["K-101", 31]], byString), specBooked: "MC18", specMeasured: "MC18", gradeBooked: "U", gradeMeasured: "R1", instruction: none }],
170
+ ["3126", { bay: "B-2", at: new Date("2027-05-11T23:35:00Z"), load: some("LD-2221"), m3: 17, spec: some("MC08"), dryFor: variant("days", 8), kilns: new SortedMap([["K-202", 17]], byString), specBooked: "MC08", specMeasured: "MC08", gradeBooked: "U", gradeMeasured: "R3", instruction: some("Hold the kiln at 40 °C on arrival") }],
171
+ ];
172
+ /** Wed 12 May 2027's bins: loads split across kilns, one with a remainder still unallocated. */
173
+ const splitBins = [
174
+ ["3201", { bay: "B-1", at: new Date("2027-05-12T06:15:00Z"), load: some("LD-2232"), m3: 30, spec: some("MC10"), dryFor: variant("days", 8), kilns: new SortedMap([["K-208", 6], ["K-601", 20]], byString), specBooked: "MC10", specMeasured: "MC10", gradeBooked: "R", gradeMeasured: "R1", instruction: some("Sticker every 600 mm before loading") }],
175
+ ["3202", { bay: "B-2", at: new Date("2027-05-12T07:35:00Z"), load: some("LD-2234"), m3: 18, spec: some("MC12"), dryFor: variant("days", 9), kilns: new SortedMap([["K-107", 12], ["K-110", 6]], byString), specBooked: "MC12", specMeasured: "MC12", gradeBooked: "P", gradeMeasured: "P2", instruction: some("Sticker every 600 mm before loading") }],
176
+ ["3203", { bay: "B-3", at: new Date("2027-05-12T09:55:00Z"), load: some("LD-2236"), m3: 11, spec: some("MC16"), dryFor: variant("days", 6), kilns: new SortedMap([["K-110", 3], ["K-305", 8]], byString), specBooked: "MC16", specMeasured: "MC16", gradeBooked: "U", gradeMeasured: "U2", instruction: some("Sticker every 600 mm before loading") }],
177
+ ];
178
+ /** The yard's bins, every day's, by key: Tue 4 May's four, published; Tue 11's 26, the mock's day; and Wed 12's three, split across kilns. */
179
+ export const yardBinRows = new SortedMap([...publishedBins, ...planBins, ...splitBins], byString);
180
+ /** The days of the yard's plan: Tue 4 May issued, Tue 11 and Wed 12 drafts. */
181
+ export const yardDayRows = new SortedMap([
182
+ [yardPublishedDay, { state: variant("issued", { at: yardIssuedAt }) }],
183
+ [yardDay, { state: variant("draft", null) }],
184
+ [yardSplitDay, { state: variant("draft", null) }],
185
+ ], byDate);
186
+ /** The smallest board's bins: the plan day's, their roles alone. */
187
+ export const yardMinimalBinRows = new SortedMap(planBins.map(([id, row]) => [id, {
188
+ bay: row.bay, at: row.at, load: row.load, m3: row.m3, kilns: new SortedMap([...row.kilns], byString), dryFor: row.dryFor,
189
+ }]), byString);
190
+ /**
191
+ * Two years of the yard's bins to Tue 11 May 2027, for the board read a day
192
+ * at a time through its slice: on each day before it, four of the plan day's
193
+ * bins at their times on that day, keyed by how many days before; and the plan
194
+ * day's own.
195
+ */
196
+ export const yardBinHistoryRows = (() => {
197
+ const history = new SortedMap(planBins, byString);
198
+ const sample = planBins.slice(0, 4);
199
+ for (let n = 1; n <= 730; n++) {
200
+ for (const [id, row] of sample) {
201
+ history.set(`h${n}-${id}`, { ...row, at: new Date(row.at.getTime() - n * DAY), kilns: new SortedMap([...row.kilns], byString) });
202
+ }
203
+ }
204
+ return history;
205
+ })();
206
+ /** The days of those two years: each issued six hours before it starts, and the plan day a draft. */
207
+ export const yardDayHistoryRows = (() => {
208
+ const days = new SortedMap([[yardDay, { state: variant("draft", null) }]], byDate);
209
+ for (let n = 1; n <= 730; n++) {
210
+ const day = new Date(yardDay.getTime() - n * DAY);
211
+ days.set(day, { state: variant("issued", { at: new Date(day.getTime() - 6 * 3_600_000) }) });
212
+ }
213
+ return days;
214
+ })();
215
+ /**
216
+ * A bin as the board reads it: its roles from the yard's fields — its bay its
217
+ * lane, its load its arrival, its m³ its quantity, its spec its kind, how long
218
+ * it dries its hold, its split its parts — beside the row itself.
219
+ */
220
+ function boardBin(row) {
221
+ return { lane: row.bay, at: row.at, arrival: row.load, quantity: row.m3, kind: row.spec, hold: row.dryFor, parts: new SortedMap([...row.kilns], byString), row };
222
+ }
223
+ /** Tue 11 May 2027 as the board reads it: a draft, its 26 bins. */
224
+ export const yardPlanDay = {
225
+ status: variant("draft", null),
226
+ bins: new SortedMap(planBins.map(([id, row]) => [id, boardBin(row)]), byString),
227
+ };
228
+ //# sourceMappingURL=kiln-yard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kiln-yard.js","sourceRoot":"","sources":["../../../test/allocation/kiln-yard.ts"],"names":[],"mappings":"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"}