@nowline/layout 0.8.6 → 0.9.0

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 (338) hide show
  1. package/dist/axis-columns.d.ts +70 -0
  2. package/dist/axis-columns.d.ts.map +1 -0
  3. package/dist/axis-columns.js +104 -0
  4. package/dist/axis-columns.js.map +1 -0
  5. package/dist/calendar-resolver.d.ts +27 -0
  6. package/dist/calendar-resolver.d.ts.map +1 -0
  7. package/dist/calendar-resolver.js +132 -0
  8. package/dist/calendar-resolver.js.map +1 -0
  9. package/dist/calendar.d.ts +0 -19
  10. package/dist/calendar.d.ts.map +1 -1
  11. package/dist/calendar.js +4 -44
  12. package/dist/calendar.js.map +1 -1
  13. package/dist/canvas-width.d.ts +23 -0
  14. package/dist/canvas-width.d.ts.map +1 -0
  15. package/dist/canvas-width.js +26 -0
  16. package/dist/canvas-width.js.map +1 -0
  17. package/dist/capacity.d.ts +28 -0
  18. package/dist/capacity.d.ts.map +1 -1
  19. package/dist/capacity.js +64 -29
  20. package/dist/capacity.js.map +1 -1
  21. package/dist/chart-translation.d.ts +22 -0
  22. package/dist/chart-translation.d.ts.map +1 -0
  23. package/dist/chart-translation.js +83 -0
  24. package/dist/chart-translation.js.map +1 -0
  25. package/dist/container-header-geometry.d.ts +64 -0
  26. package/dist/container-header-geometry.d.ts.map +1 -0
  27. package/dist/container-header-geometry.js +89 -0
  28. package/dist/container-header-geometry.js.map +1 -0
  29. package/dist/dsl-utils.d.ts +3 -4
  30. package/dist/dsl-utils.d.ts.map +1 -1
  31. package/dist/dsl-utils.js +8 -25
  32. package/dist/dsl-utils.js.map +1 -1
  33. package/dist/edge-routing.d.ts +69 -78
  34. package/dist/edge-routing.d.ts.map +1 -1
  35. package/dist/edge-routing.js +271 -401
  36. package/dist/edge-routing.js.map +1 -1
  37. package/dist/frame-tab-geometry.d.ts +24 -14
  38. package/dist/frame-tab-geometry.d.ts.map +1 -1
  39. package/dist/frame-tab-geometry.js +69 -23
  40. package/dist/frame-tab-geometry.js.map +1 -1
  41. package/dist/header-card-geometry.d.ts +12 -0
  42. package/dist/header-card-geometry.d.ts.map +1 -1
  43. package/dist/header-card-geometry.js +14 -2
  44. package/dist/header-card-geometry.js.map +1 -1
  45. package/dist/header-logo.d.ts +28 -0
  46. package/dist/header-logo.d.ts.map +1 -0
  47. package/dist/header-logo.js +51 -0
  48. package/dist/header-logo.js.map +1 -0
  49. package/dist/i18n.d.ts +11 -0
  50. package/dist/i18n.d.ts.map +1 -1
  51. package/dist/i18n.js +11 -1
  52. package/dist/i18n.js.map +1 -1
  53. package/dist/index.d.ts +20 -8
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +17 -7
  56. package/dist/index.js.map +1 -1
  57. package/dist/inline-date-pin-geometry.d.ts +19 -11
  58. package/dist/inline-date-pin-geometry.d.ts.map +1 -1
  59. package/dist/inline-date-pin-geometry.js +45 -46
  60. package/dist/inline-date-pin-geometry.js.map +1 -1
  61. package/dist/item-bar-geometry.d.ts +192 -4
  62. package/dist/item-bar-geometry.d.ts.map +1 -1
  63. package/dist/item-bar-geometry.js +258 -5
  64. package/dist/item-bar-geometry.js.map +1 -1
  65. package/dist/item-port-geometry.d.ts +13 -0
  66. package/dist/item-port-geometry.d.ts.map +1 -0
  67. package/dist/item-port-geometry.js +63 -0
  68. package/dist/item-port-geometry.js.map +1 -0
  69. package/dist/layout-context.d.ts +115 -51
  70. package/dist/layout-context.d.ts.map +1 -1
  71. package/dist/layout-context.js +96 -5
  72. package/dist/layout-context.js.map +1 -1
  73. package/dist/layout-insights.d.ts.map +1 -1
  74. package/dist/layout-insights.js +73 -1
  75. package/dist/layout-insights.js.map +1 -1
  76. package/dist/layout.d.ts +35 -0
  77. package/dist/layout.d.ts.map +1 -1
  78. package/dist/layout.js +18 -1315
  79. package/dist/layout.js.map +1 -1
  80. package/dist/nodes/anchor-node.d.ts.map +1 -1
  81. package/dist/nodes/anchor-node.js +11 -4
  82. package/dist/nodes/anchor-node.js.map +1 -1
  83. package/dist/nodes/content-extent.d.ts +24 -0
  84. package/dist/nodes/content-extent.d.ts.map +1 -0
  85. package/dist/nodes/content-extent.js +100 -0
  86. package/dist/nodes/content-extent.js.map +1 -0
  87. package/dist/nodes/dependency-edges.d.ts +6 -0
  88. package/dist/nodes/dependency-edges.d.ts.map +1 -0
  89. package/dist/nodes/dependency-edges.js +148 -0
  90. package/dist/nodes/dependency-edges.js.map +1 -0
  91. package/dist/nodes/footnote-node.d.ts +24 -3
  92. package/dist/nodes/footnote-node.d.ts.map +1 -1
  93. package/dist/nodes/footnote-node.js +129 -25
  94. package/dist/nodes/footnote-node.js.map +1 -1
  95. package/dist/nodes/group-node.d.ts +10 -21
  96. package/dist/nodes/group-node.d.ts.map +1 -1
  97. package/dist/nodes/group-node.js +79 -152
  98. package/dist/nodes/group-node.js.map +1 -1
  99. package/dist/nodes/header-node.d.ts +56 -0
  100. package/dist/nodes/header-node.d.ts.map +1 -0
  101. package/dist/nodes/header-node.js +163 -0
  102. package/dist/nodes/header-node.js.map +1 -0
  103. package/dist/nodes/include-node.d.ts +22 -12
  104. package/dist/nodes/include-node.d.ts.map +1 -1
  105. package/dist/nodes/include-node.js +95 -62
  106. package/dist/nodes/include-node.js.map +1 -1
  107. package/dist/nodes/item-measure.d.ts +135 -0
  108. package/dist/nodes/item-measure.d.ts.map +1 -0
  109. package/dist/nodes/item-measure.js +514 -0
  110. package/dist/nodes/item-measure.js.map +1 -0
  111. package/dist/nodes/item-node.d.ts +162 -9
  112. package/dist/nodes/item-node.d.ts.map +1 -1
  113. package/dist/nodes/item-node.js +256 -69
  114. package/dist/nodes/item-node.js.map +1 -1
  115. package/dist/nodes/marker-band.d.ts +118 -0
  116. package/dist/nodes/marker-band.d.ts.map +1 -0
  117. package/dist/nodes/marker-band.js +303 -0
  118. package/dist/nodes/marker-band.js.map +1 -0
  119. package/dist/nodes/marker-geometry.js +1 -1
  120. package/dist/nodes/marker-geometry.js.map +1 -1
  121. package/dist/nodes/milestone-node.d.ts +112 -15
  122. package/dist/nodes/milestone-node.d.ts.map +1 -1
  123. package/dist/nodes/milestone-node.js +246 -95
  124. package/dist/nodes/milestone-node.js.map +1 -1
  125. package/dist/nodes/nowline-node.d.ts +8 -0
  126. package/dist/nodes/nowline-node.d.ts.map +1 -0
  127. package/dist/nodes/nowline-node.js +74 -0
  128. package/dist/nodes/nowline-node.js.map +1 -0
  129. package/dist/nodes/parallel-node.d.ts +7 -12
  130. package/dist/nodes/parallel-node.d.ts.map +1 -1
  131. package/dist/nodes/parallel-node.js +66 -30
  132. package/dist/nodes/parallel-node.js.map +1 -1
  133. package/dist/nodes/region-markers.d.ts +41 -0
  134. package/dist/nodes/region-markers.d.ts.map +1 -0
  135. package/dist/nodes/region-markers.js +130 -0
  136. package/dist/nodes/region-markers.js.map +1 -0
  137. package/dist/nodes/roadmap-node.d.ts +9 -72
  138. package/dist/nodes/roadmap-node.d.ts.map +1 -1
  139. package/dist/nodes/roadmap-node.js +38 -788
  140. package/dist/nodes/roadmap-node.js.map +1 -1
  141. package/dist/nodes/row-track.d.ts +33 -0
  142. package/dist/nodes/row-track.d.ts.map +1 -0
  143. package/dist/nodes/row-track.js +170 -0
  144. package/dist/nodes/row-track.js.map +1 -0
  145. package/dist/nodes/sequence-item.d.ts +25 -0
  146. package/dist/nodes/sequence-item.d.ts.map +1 -0
  147. package/dist/nodes/sequence-item.js +396 -0
  148. package/dist/nodes/sequence-item.js.map +1 -0
  149. package/dist/nodes/sequence-one.d.ts +5 -0
  150. package/dist/nodes/sequence-one.d.ts.map +1 -0
  151. package/dist/nodes/sequence-one.js +26 -0
  152. package/dist/nodes/sequence-one.js.map +1 -0
  153. package/dist/nodes/swimlane-node.d.ts +5 -17
  154. package/dist/nodes/swimlane-node.d.ts.map +1 -1
  155. package/dist/nodes/swimlane-node.js +62 -145
  156. package/dist/nodes/swimlane-node.js.map +1 -1
  157. package/dist/nodes/wave-node.d.ts +52 -0
  158. package/dist/nodes/wave-node.d.ts.map +1 -0
  159. package/dist/nodes/wave-node.js +483 -0
  160. package/dist/nodes/wave-node.js.map +1 -0
  161. package/dist/non-working-display.d.ts +14 -0
  162. package/dist/non-working-display.d.ts.map +1 -0
  163. package/dist/non-working-display.js +28 -0
  164. package/dist/non-working-display.js.map +1 -0
  165. package/dist/phases/date-window.d.ts +48 -0
  166. package/dist/phases/date-window.d.ts.map +1 -0
  167. package/dist/phases/date-window.js +130 -0
  168. package/dist/phases/date-window.js.map +1 -0
  169. package/dist/phases/finalize.d.ts +198 -0
  170. package/dist/phases/finalize.d.ts.map +1 -0
  171. package/dist/phases/finalize.js +1058 -0
  172. package/dist/phases/finalize.js.map +1 -0
  173. package/dist/phases/measure.d.ts +77 -0
  174. package/dist/phases/measure.d.ts.map +1 -0
  175. package/dist/phases/measure.js +222 -0
  176. package/dist/phases/measure.js.map +1 -0
  177. package/dist/phases/place.d.ts +28 -0
  178. package/dist/phases/place.d.ts.map +1 -0
  179. package/dist/phases/place.js +225 -0
  180. package/dist/phases/place.js.map +1 -0
  181. package/dist/renderable.d.ts.map +1 -1
  182. package/dist/renderable.js +23 -3
  183. package/dist/renderable.js.map +1 -1
  184. package/dist/resolve-today.d.ts +11 -1
  185. package/dist/resolve-today.d.ts.map +1 -1
  186. package/dist/resolve-today.js +26 -12
  187. package/dist/resolve-today.js.map +1 -1
  188. package/dist/row-packer.d.ts +42 -16
  189. package/dist/row-packer.d.ts.map +1 -1
  190. package/dist/row-packer.js +51 -78
  191. package/dist/row-packer.js.map +1 -1
  192. package/dist/schedule.d.ts +58 -1
  193. package/dist/schedule.d.ts.map +1 -1
  194. package/dist/schedule.js +280 -106
  195. package/dist/schedule.js.map +1 -1
  196. package/dist/start-rules.d.ts +27 -0
  197. package/dist/start-rules.d.ts.map +1 -0
  198. package/dist/start-rules.js +91 -0
  199. package/dist/start-rules.js.map +1 -0
  200. package/dist/start-terms.d.ts +23 -0
  201. package/dist/start-terms.d.ts.map +1 -0
  202. package/dist/start-terms.js +27 -0
  203. package/dist/start-terms.js.map +1 -0
  204. package/dist/status-dot.d.ts +46 -0
  205. package/dist/status-dot.d.ts.map +1 -0
  206. package/dist/status-dot.js +78 -0
  207. package/dist/status-dot.js.map +1 -0
  208. package/dist/style-resolution.d.ts.map +1 -1
  209. package/dist/style-resolution.js +23 -43
  210. package/dist/style-resolution.js.map +1 -1
  211. package/dist/text-measure.d.ts +28 -0
  212. package/dist/text-measure.d.ts.map +1 -0
  213. package/dist/text-measure.js +70 -0
  214. package/dist/text-measure.js.map +1 -0
  215. package/dist/themes/contrast.d.ts +4 -0
  216. package/dist/themes/contrast.d.ts.map +1 -0
  217. package/dist/themes/contrast.js +32 -0
  218. package/dist/themes/contrast.js.map +1 -0
  219. package/dist/themes/dark.d.ts.map +1 -1
  220. package/dist/themes/dark.js +28 -1
  221. package/dist/themes/dark.js.map +1 -1
  222. package/dist/themes/grayscale.d.ts.map +1 -1
  223. package/dist/themes/grayscale.js +28 -1
  224. package/dist/themes/grayscale.js.map +1 -1
  225. package/dist/themes/index.d.ts +4 -11
  226. package/dist/themes/index.d.ts.map +1 -1
  227. package/dist/themes/index.js +6 -4
  228. package/dist/themes/index.js.map +1 -1
  229. package/dist/themes/light.d.ts.map +1 -1
  230. package/dist/themes/light.js +28 -1
  231. package/dist/themes/light.js.map +1 -1
  232. package/dist/themes/shape.d.ts +31 -0
  233. package/dist/themes/shape.d.ts.map +1 -1
  234. package/dist/themes/shared.d.ts +44 -50
  235. package/dist/themes/shared.d.ts.map +1 -1
  236. package/dist/themes/shared.js +79 -83
  237. package/dist/themes/shared.js.map +1 -1
  238. package/dist/time-scale.d.ts +42 -6
  239. package/dist/time-scale.d.ts.map +1 -1
  240. package/dist/time-scale.js +109 -17
  241. package/dist/time-scale.js.map +1 -1
  242. package/dist/types.d.ts +528 -11
  243. package/dist/types.d.ts.map +1 -1
  244. package/dist/view-preset.d.ts +61 -6
  245. package/dist/view-preset.d.ts.map +1 -1
  246. package/dist/view-preset.js +439 -24
  247. package/dist/view-preset.js.map +1 -1
  248. package/dist/wave-barrier.d.ts +107 -0
  249. package/dist/wave-barrier.d.ts.map +1 -0
  250. package/dist/wave-barrier.js +174 -0
  251. package/dist/wave-barrier.js.map +1 -0
  252. package/dist/wave-hatch.d.ts +4 -0
  253. package/dist/wave-hatch.d.ts.map +1 -0
  254. package/dist/wave-hatch.js +21 -0
  255. package/dist/wave-hatch.js.map +1 -0
  256. package/dist/wave-layout.d.ts +99 -0
  257. package/dist/wave-layout.d.ts.map +1 -0
  258. package/dist/wave-layout.js +130 -0
  259. package/dist/wave-layout.js.map +1 -0
  260. package/dist/working-calendar.d.ts +128 -4
  261. package/dist/working-calendar.d.ts.map +1 -1
  262. package/dist/working-calendar.js +725 -51
  263. package/dist/working-calendar.js.map +1 -1
  264. package/dist/working-span.d.ts +11 -0
  265. package/dist/working-span.d.ts.map +1 -0
  266. package/dist/working-span.js +18 -0
  267. package/dist/working-span.js.map +1 -0
  268. package/package.json +4 -4
  269. package/src/axis-columns.ts +140 -0
  270. package/src/calendar-resolver.ts +161 -0
  271. package/src/calendar.ts +4 -45
  272. package/src/canvas-width.ts +36 -0
  273. package/src/capacity.ts +71 -30
  274. package/src/chart-translation.ts +88 -0
  275. package/src/container-header-geometry.ts +116 -0
  276. package/src/dsl-utils.ts +8 -26
  277. package/src/edge-routing.ts +347 -491
  278. package/src/frame-tab-geometry.ts +78 -25
  279. package/src/header-card-geometry.ts +17 -2
  280. package/src/header-logo.ts +67 -0
  281. package/src/i18n.ts +22 -1
  282. package/src/index.ts +97 -12
  283. package/src/inline-date-pin-geometry.ts +55 -58
  284. package/src/item-bar-geometry.ts +341 -5
  285. package/src/item-port-geometry.ts +69 -0
  286. package/src/layout-context.ts +210 -72
  287. package/src/layout-insights.ts +109 -2
  288. package/src/layout.ts +57 -1530
  289. package/src/nodes/anchor-node.ts +11 -4
  290. package/src/nodes/content-extent.ts +107 -0
  291. package/src/nodes/dependency-edges.ts +171 -0
  292. package/src/nodes/footnote-node.ts +171 -31
  293. package/src/nodes/group-node.ts +92 -214
  294. package/src/nodes/header-node.ts +255 -0
  295. package/src/nodes/include-node.ts +124 -110
  296. package/src/nodes/item-measure.ts +723 -0
  297. package/src/nodes/item-node.ts +358 -80
  298. package/src/nodes/marker-band.ts +406 -0
  299. package/src/nodes/marker-geometry.ts +1 -1
  300. package/src/nodes/milestone-node.ts +321 -136
  301. package/src/nodes/nowline-node.ts +87 -0
  302. package/src/nodes/parallel-node.ts +69 -38
  303. package/src/nodes/region-markers.ts +194 -0
  304. package/src/nodes/roadmap-node.ts +46 -950
  305. package/src/nodes/row-track.ts +217 -0
  306. package/src/nodes/sequence-item.ts +433 -0
  307. package/src/nodes/sequence-one.ts +40 -0
  308. package/src/nodes/swimlane-node.ts +66 -205
  309. package/src/nodes/wave-node.ts +609 -0
  310. package/src/non-working-display.ts +32 -0
  311. package/src/phases/date-window.ts +191 -0
  312. package/src/phases/finalize.ts +1303 -0
  313. package/src/phases/measure.ts +329 -0
  314. package/src/phases/place.ts +318 -0
  315. package/src/renderable.ts +23 -3
  316. package/src/resolve-today.ts +28 -25
  317. package/src/row-packer.ts +85 -84
  318. package/src/schedule.ts +362 -114
  319. package/src/start-rules.ts +113 -0
  320. package/src/start-terms.ts +38 -0
  321. package/src/status-dot.ts +81 -0
  322. package/src/style-resolution.ts +27 -57
  323. package/src/text-measure.ts +71 -0
  324. package/src/themes/contrast.ts +34 -0
  325. package/src/themes/dark.ts +28 -1
  326. package/src/themes/grayscale.ts +28 -1
  327. package/src/themes/index.ts +10 -7
  328. package/src/themes/light.ts +28 -1
  329. package/src/themes/shape.ts +38 -0
  330. package/src/themes/shared.ts +85 -93
  331. package/src/time-scale.ts +117 -19
  332. package/src/types.ts +529 -20
  333. package/src/view-preset.ts +520 -27
  334. package/src/wave-barrier.ts +242 -0
  335. package/src/wave-hatch.ts +25 -0
  336. package/src/wave-layout.ts +203 -0
  337. package/src/working-calendar.ts +875 -57
  338. package/src/working-span.ts +19 -0
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,2EAA2E;AAC3E,+CAA+C;AAG/C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAwB,eAAe,EAAE,MAAM,eAAe,CAAC;AAmDtE,MAAM,UAAU,aAAa,CACzB,IAAiB,EACjB,QAAuB,EACvB,OAAO,GAAkB,EAAE;IAE3B,mEAAmE;IACnE,6DAA6D;IAC7D,sEAAsE;IACtE,wEAAwE;IACxE,yEAAyE;IACzE,gBAAgB;IAChB,MAAM,QAAQ,GACV,OAAO,CAAC,QAAQ,EAAE,QAAQ,KAAK,QAAQ;QACnC,CAAC,CAAC,OAAO,CAAC,QAAQ;QAClB,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE;YAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC,IAAI,IAAI;SACxC,CAAC,CAAC;IACb,OAAO,IAAI,WAAW,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AACtE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"anchor-node.d.ts","sourceRoot":"","sources":["../../src/nodes/anchor-node.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAS,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAO3D,qBAAa,UAAU;aAEC,EAAE,EAAE,MAAM;aACV,MAAM,EAAE,iBAAiB;IAF7C,YACoB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,iBAAiB,EACzC;IAEJ;;;;OAIG;IACH,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,gBAAgB,GAAG,IAAI,CAiC5E;CACJ;AAED,wBAAgB,YAAY,CACxB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,EACvC,GAAG,EAAE,aAAa,EAClB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB,gBAAgB,EAAE,CAOpB"}
1
+ {"version":3,"file":"anchor-node.d.ts","sourceRoot":"","sources":["../../src/nodes/anchor-node.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAS,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAO3D,qBAAa,UAAU;aAEC,EAAE,EAAE,MAAM;aACV,MAAM,EAAE,iBAAiB;IAF7C,YACoB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,iBAAiB,EACzC;IAEJ;;;;OAIG;IACH,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,gBAAgB,GAAG,IAAI,CAwC5E;CACJ;AAED,wBAAgB,YAAY,CACxB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,EACvC,GAAG,EAAE,aAAa,EAClB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB,gBAAgB,EAAE,CAOpB"}
@@ -2,9 +2,9 @@
2
2
  // helper. Each anchor sits in the marker row of the timeline and emits
3
3
  // a downward cut line through the chart. Marker-row placement (row +
4
4
  // label box + left/right label side) is decided up-front in
5
- // `roadmap-node.ts` (`packMarkerRow`) so anchors and milestones share
5
+ // `marker-band.ts` (`packMarkerRow`) so anchors and milestones share
6
6
  // the same row stack — see `LayoutContext.markerRowPlacements`.
7
- import { parseDate, propValue } from '../dsl-utils.js';
7
+ import { formatIsoDate, parseIsoDate, propValue } from '../dsl-utils.js';
8
8
  import { resolveStyle } from '../style-resolution.js';
9
9
  import { MARKER_DIAMOND_RADIUS_PX, MARKER_LABEL_GAP_PX, MARKER_LABEL_HEIGHT_PX, } from './marker-geometry.js';
10
10
  export class AnchorNode {
@@ -21,7 +21,7 @@ export class AnchorNode {
21
21
  */
22
22
  place(ctx, _milestoneXs) {
23
23
  const dateRaw = propValue(this.anchor.properties, 'date');
24
- const date = parseDate(dateRaw);
24
+ const date = parseIsoDate(dateRaw);
25
25
  if (!date)
26
26
  return null;
27
27
  const x = ctx.scale.forwardWithinDomain(date);
@@ -41,7 +41,7 @@ export class AnchorNode {
41
41
  ctx.entityLeftEdges.set(this.id, x);
42
42
  ctx.entityRightEdges.set(this.id, x);
43
43
  ctx.entityMidpoints.set(this.id, center);
44
- return {
44
+ const positioned = {
45
45
  id: this.id,
46
46
  title: this.anchor.title ?? this.id,
47
47
  center,
@@ -54,6 +54,13 @@ export class AnchorNode {
54
54
  labelBox,
55
55
  labelSide,
56
56
  };
57
+ // A date the axis hides keeps its own day as a tooltip
58
+ // (specs/working-calendar.md §7.4). Under `show` the day is drawn,
59
+ // and the anchor sits on it.
60
+ if (!ctx.scale.showsNonWorking && !ctx.calendar.isWorkingDay(date)) {
61
+ positioned.hiddenDate = formatIsoDate(date);
62
+ }
63
+ return positioned;
57
64
  }
58
65
  }
59
66
  export function buildAnchors(anchors, ctx, milestoneXs) {
@@ -1 +1 @@
1
- {"version":3,"file":"anchor-node.js","sourceRoot":"","sources":["../../src/nodes/anchor-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anchor-node.js","sourceRoot":"","sources":["../../src/nodes/anchor-node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { PositionedSwimlane, PositionedTrackChild } from '../types.js';
2
+ /**
3
+ * Rightmost x anything in a placed track child paints: an item's bar, its
4
+ * spilled caption, decorations and chips; a group's or parallel's box, its
5
+ * header (a title may run past the bracket's end) and, recursively, its
6
+ * children. A container's box spans only its dates, so a caption one of its
7
+ * children spills past that edge shows up here and nowhere else. The row
8
+ * track feeds it to the packer so the canvas grows to it.
9
+ */
10
+ export declare function trackChildPaintedRightX(child: PositionedTrackChild): number;
11
+ /** Rightmost x reached by any leaf item bar across `swimlanes`, recursing
12
+ * into nested swimlanes and group/parallel children. Returns 0 when the
13
+ * set contains no items — callers combine this with another baseline
14
+ * (e.g. `originX` or a chrome-derived minimum) via `Math.max`. */
15
+ export declare function maxLeafItemRightX(swimlanes: PositionedSwimlane[]): number;
16
+ /**
17
+ * Rightmost x a spilled item caption reaches across `swimlanes` (its spill
18
+ * column: icon, caption, footnotes, dot), recursing like
19
+ * `maxLeafItemRightX`; 0 when no caption spills. Finalize f2 grows the
20
+ * axis by one column for a caption that ends past it (specs/rendering.md
21
+ * § "Caption cap at the chart's end").
22
+ */
23
+ export declare function maxSpilledCaptionRightX(swimlanes: PositionedSwimlane[]): number;
24
+ //# sourceMappingURL=content-extent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-extent.d.ts","sourceRoot":"","sources":["../../src/nodes/content-extent.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAE5E;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,oBAAoB,GAAG,MAAM,CAe3E;AAED;;;mEAGmE;AACnE,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,kBAAkB,EAAE,GAAG,MAAM,CASzE;AAcD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAS/E"}
@@ -0,0 +1,100 @@
1
+ // content-extent — shared helpers that measure how far right placed
2
+ // content reaches. `maxLeafItemRightX` measures the rightmost edge
3
+ // reached by leaf item bars inside a set of swimlanes, recursing
4
+ // through nested swimlanes and group/parallel `children`;
5
+ // `trackChildPaintedRightX` measures everything one track child paints,
6
+ // spilled captions included.
7
+ //
8
+ // A `PositionedItem.box` is always the bar itself, never a spilled
9
+ // caption (see `PositionedItem.textSpills`), so the leaf walk is immune
10
+ // to caption spill by construction. That makes it a stricter measure
11
+ // than `RowPacker.usedRightX()` / `SwimlaneNode`'s `usedRightX`,
12
+ // which both fold in `spillX` (the caption's reserved column).
13
+ //
14
+ // Used by:
15
+ // - Finalize's timeline extension (`extendTimeline`, f2), which
16
+ // grows the date window to cover overflowing content boxes
17
+ // without letting overhanging captions drag it out too.
18
+ // - `buildIncludeRegions`, to size the dashed include bracket to
19
+ // its nested content's bars rather than a spilled caption.
20
+ //
21
+ // `maxSpilledCaptionRightX` is the other half of f2: a spilled caption
22
+ // past the axis end grows the axis by the one column it was capped to.
23
+ import { containerHeaderRightX } from '../container-header-geometry.js';
24
+ /**
25
+ * Rightmost x anything in a placed track child paints: an item's bar, its
26
+ * spilled caption, decorations and chips; a group's or parallel's box, its
27
+ * header (a title may run past the bracket's end) and, recursively, its
28
+ * children. A container's box spans only its dates, so a caption one of its
29
+ * children spills past that edge shows up here and nowhere else. The row
30
+ * track feeds it to the packer so the canvas grows to it.
31
+ */
32
+ export function trackChildPaintedRightX(child) {
33
+ if (child.kind === 'item') {
34
+ // `decorationsRightX` leads the spill column even when nothing
35
+ // spills, so it counts only when something does.
36
+ const spills = child.textSpills || child.dotSpills || child.iconSpills || child.footnoteSpills;
37
+ return Math.max(child.box.x + child.box.width, spills ? child.decorationsRightX : Number.NEGATIVE_INFINITY, child.chipsOutside ? child.chipsRightX : Number.NEGATIVE_INFINITY);
38
+ }
39
+ let right = Math.max(child.box.x + child.box.width, containerHeaderRightX(child));
40
+ for (const sub of child.children)
41
+ right = Math.max(right, trackChildPaintedRightX(sub));
42
+ return right;
43
+ }
44
+ /** Rightmost x reached by any leaf item bar across `swimlanes`, recursing
45
+ * into nested swimlanes and group/parallel children. Returns 0 when the
46
+ * set contains no items — callers combine this with another baseline
47
+ * (e.g. `originX` or a chrome-derived minimum) via `Math.max`. */
48
+ export function maxLeafItemRightX(swimlanes) {
49
+ let max = 0;
50
+ for (const lane of swimlanes) {
51
+ max = Math.max(max, maxTrackChildRightX(lane.children));
52
+ if (lane.nested.length > 0) {
53
+ max = Math.max(max, maxLeafItemRightX(lane.nested));
54
+ }
55
+ }
56
+ return max;
57
+ }
58
+ function maxTrackChildRightX(children) {
59
+ let max = 0;
60
+ for (const child of children) {
61
+ if (child.kind === 'item') {
62
+ max = Math.max(max, child.box.x + child.box.width);
63
+ }
64
+ else {
65
+ max = Math.max(max, maxTrackChildRightX(child.children));
66
+ }
67
+ }
68
+ return max;
69
+ }
70
+ /**
71
+ * Rightmost x a spilled item caption reaches across `swimlanes` (its spill
72
+ * column: icon, caption, footnotes, dot), recursing like
73
+ * `maxLeafItemRightX`; 0 when no caption spills. Finalize f2 grows the
74
+ * axis by one column for a caption that ends past it (specs/rendering.md
75
+ * § "Caption cap at the chart's end").
76
+ */
77
+ export function maxSpilledCaptionRightX(swimlanes) {
78
+ let max = 0;
79
+ for (const lane of swimlanes) {
80
+ max = Math.max(max, maxTrackChildCaptionRightX(lane.children));
81
+ if (lane.nested.length > 0) {
82
+ max = Math.max(max, maxSpilledCaptionRightX(lane.nested));
83
+ }
84
+ }
85
+ return max;
86
+ }
87
+ function maxTrackChildCaptionRightX(children) {
88
+ let max = 0;
89
+ for (const child of children) {
90
+ if (child.kind === 'item') {
91
+ if (child.textSpills)
92
+ max = Math.max(max, child.decorationsRightX);
93
+ }
94
+ else {
95
+ max = Math.max(max, maxTrackChildCaptionRightX(child.children));
96
+ }
97
+ }
98
+ return max;
99
+ }
100
+ //# sourceMappingURL=content-extent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-extent.js","sourceRoot":"","sources":["../../src/nodes/content-extent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { ItemDeclaration, SwimlaneDeclaration } from '@nowline/core';
2
+ import type { LayoutContext } from '../layout-context.js';
3
+ import type { PositionedDependencyEdge, PositionedIncludeRegion, PositionedSwimlane } from '../types.js';
4
+ export declare function collectItems(swimlanes: SwimlaneDeclaration[]): Map<string, ItemDeclaration>;
5
+ export declare function buildDependencies(items: Map<string, ItemDeclaration>, swimlanes: PositionedSwimlane[], includes: PositionedIncludeRegion[], ctx: LayoutContext): PositionedDependencyEdge[];
6
+ //# sourceMappingURL=dependency-edges.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-edges.d.ts","sourceRoot":"","sources":["../../src/nodes/dependency-edges.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAa1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EACR,wBAAwB,EAExB,uBAAuB,EAEvB,kBAAkB,EAErB,MAAM,aAAa,CAAC;AAOrB,wBAAgB,YAAY,CAAC,SAAS,EAAE,mBAAmB,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAM3F;AAoED,wBAAgB,iBAAiB,CAC7B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,EACnC,SAAS,EAAE,kBAAkB,EAAE,EAC/B,QAAQ,EAAE,uBAAuB,EAAE,EACnC,GAAG,EAAE,aAAa,GACnB,wBAAwB,EAAE,CAyD5B"}
@@ -0,0 +1,148 @@
1
+ // Dependency edges (finalize step f11): every `after:` reference of a
2
+ // placed item becomes an arrow on the dates (specs/true-width-layout.md
3
+ // §3.4), its ends read off the final model. The host chart and each
4
+ // isolated region route their own, among their own lanes.
5
+ import { isItemDeclaration } from '@nowline/core';
6
+ import { trackNodes } from '@nowline/core/internal';
7
+ import { containerHeaderRightX } from '../container-header-geometry.js';
8
+ import { propValues } from '../dsl-utils.js';
9
+ import { arrowHead, routeDependencies, } from '../edge-routing.js';
10
+ import { containerArrowEnd, itemArrowEnd } from '../item-port-geometry.js';
11
+ import { resolveStyle } from '../style-resolution.js';
12
+ import { trackChildPaintedRightX } from './content-extent.js';
13
+ import { syntheticItemKey } from './sequence-item.js';
14
+ // Every item under the lanes, keyed by id. Title-only items register under a
15
+ // synthetic, non-referenceable handle so they still appear as dependency-edge
16
+ // targets.
17
+ export function collectItems(swimlanes) {
18
+ const out = new Map();
19
+ for (const node of trackNodes(swimlanes)) {
20
+ if (isItemDeclaration(node))
21
+ out.set(node.name ?? syntheticItemKey(node), node);
22
+ }
23
+ return out;
24
+ }
25
+ /** A target that starts within this of a marker's date touches its line. */
26
+ const ON_LINE_PX = 0.01;
27
+ /**
28
+ * What the router must route around, and every group and parallel by id
29
+ * (the containers an `after:` may name), from the lanes it routes among.
30
+ * Include regions in `includes` count as obstacles only: their own arrows
31
+ * are routed separately.
32
+ */
33
+ function collectRouting(swimlanes, includes) {
34
+ const obstacles = { blocks: [], edges: [] };
35
+ const containers = new Map();
36
+ const line = (x, width, y) => {
37
+ obstacles.blocks.push({ x, y, width, height: 0 });
38
+ };
39
+ const visitChild = (child, register) => {
40
+ const { box } = child;
41
+ if (child.kind === 'item') {
42
+ // The bar with whatever it spills right of itself (caption,
43
+ // decorations, chips), so a horizontal leg stays out of the text.
44
+ obstacles.blocks.push({ ...box, width: trackChildPaintedRightX(child) - box.x });
45
+ obstacles.edges.push({ x: box.x, top: box.y, bottom: box.y + box.height }, { x: box.x + box.width, top: box.y, bottom: box.y + box.height });
46
+ return;
47
+ }
48
+ if (register && child.id)
49
+ containers.set(child.id, child);
50
+ if (!(child.kind === 'group' && child.waveOnly)) {
51
+ if (child.headerHeight > 0) {
52
+ obstacles.blocks.push({
53
+ x: box.x,
54
+ y: box.y,
55
+ width: Math.max(box.width, containerHeaderRightX(child) - box.x),
56
+ height: child.headerHeight,
57
+ });
58
+ }
59
+ // Nor along the body's bottom edge.
60
+ line(box.x, box.width, box.y + box.height);
61
+ obstacles.edges.push({ x: box.x, top: box.y, bottom: box.y + box.height }, { x: box.x + box.width, top: box.y, bottom: box.y + box.height });
62
+ }
63
+ for (const sub of child.children)
64
+ visitChild(sub, register);
65
+ };
66
+ const visitLane = (lane, register) => {
67
+ // A leg never runs along a lane's edge.
68
+ line(lane.box.x, lane.box.width, lane.box.y);
69
+ line(lane.box.x, lane.box.width, lane.box.y + lane.box.height);
70
+ for (const child of lane.children)
71
+ visitChild(child, register);
72
+ for (const nested of lane.nested)
73
+ visitLane(nested, register);
74
+ };
75
+ for (const lane of swimlanes)
76
+ visitLane(lane, true);
77
+ // A region's containers are not referenceable from the host.
78
+ for (const region of includes) {
79
+ line(region.box.x, region.box.width, region.box.y);
80
+ line(region.box.x, region.box.width, region.box.y + region.box.height);
81
+ for (const lane of region.nestedSwimlanes)
82
+ visitLane(lane, false);
83
+ }
84
+ return { obstacles, containers };
85
+ }
86
+ export function buildDependencies(items, swimlanes, includes, ctx) {
87
+ const { obstacles, containers } = collectRouting(swimlanes, includes);
88
+ const bandwidth = ctx.bandScale.bandwidth();
89
+ const style = resolveStyle('item', [], ctx.styleCtx);
90
+ // Each slot keeps the arrow's place in `after:` order, whichever way it
91
+ // is built, so the model lists arrows as the file declares them.
92
+ const slots = [];
93
+ for (const [id, item] of items) {
94
+ const placed = ctx.placedItems.get(id);
95
+ if (!placed)
96
+ continue;
97
+ const target = itemArrowEnd(placed, bandwidth);
98
+ for (const pred of propValues(item.properties, 'after')) {
99
+ const predItem = ctx.placedItems.get(pred);
100
+ const predContainer = predItem ? undefined : containers.get(pred);
101
+ let source;
102
+ if (predItem)
103
+ source = itemArrowEnd(predItem, bandwidth);
104
+ else if (predContainer)
105
+ source = containerArrowEnd(predContainer);
106
+ if (source) {
107
+ slots.push({ fromId: pred, toId: id, source, target });
108
+ continue;
109
+ }
110
+ // An anchor or milestone: its cut line is the stem. An item that
111
+ // starts on it touches the line and needs no arrow; one that
112
+ // starts later gets a dotted stub from the line to its start
113
+ // (specs/true-width-layout.md §3.5).
114
+ const marker = ctx.entityMidpoints.get(pred);
115
+ if (!marker || target.startX - marker.x <= ON_LINE_PX)
116
+ continue;
117
+ const y = target.rowY ?? target.top;
118
+ slots.push({
119
+ fromId: pred,
120
+ toId: id,
121
+ waypoints: [
122
+ { x: marker.x, y },
123
+ { x: target.paintedX, y },
124
+ ],
125
+ slack: true,
126
+ ...arrowHead(target.bottom - target.top),
127
+ style,
128
+ });
129
+ }
130
+ }
131
+ const requests = slots.filter((s) => s !== null && 'source' in s);
132
+ const routed = routeDependencies(requests, obstacles, ctx.scale.pixelsPerDay);
133
+ const byRequest = new Map(requests.map((r, i) => [r, routed[i]]));
134
+ const out = [];
135
+ for (const slot of slots) {
136
+ if (!slot)
137
+ continue;
138
+ if (!('source' in slot)) {
139
+ out.push(slot);
140
+ continue;
141
+ }
142
+ const r = byRequest.get(slot);
143
+ if (r)
144
+ out.push({ ...r, style });
145
+ }
146
+ return out;
147
+ }
148
+ //# sourceMappingURL=dependency-edges.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-edges.js","sourceRoot":"","sources":["../../src/nodes/dependency-edges.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,31 @@
1
1
  import type { FootnoteDeclaration } from '@nowline/core';
2
2
  import type { LayoutContext } from '../layout-context.js';
3
3
  import type { PositionedFootnoteArea } from '../types.js';
4
- export interface BuiltFootnotes {
5
- area: PositionedFootnoteArea;
4
+ /** Each footnote's 1-based number (in document order) and its `on:` host ids. */
5
+ export interface FootnoteIndex {
6
6
  index: Map<string, number>;
7
7
  hosts: Map<string, string[]>;
8
8
  }
9
- export declare function buildFootnotes(footnotes: Map<string, FootnoteDeclaration>, ctx: LayoutContext, chartBottomY: number): BuiltFootnotes;
9
+ /**
10
+ * Pure: depends only on the footnote declarations. Numbers start after
11
+ * `precedingCount` (an isolated region continues after the host and the
12
+ * regions before it). The map's order is document order: the resolver
13
+ * inserts a file's own footnotes as declared, then each merged include's.
14
+ */
15
+ export declare function indexFootnotes(footnotes: Map<string, FootnoteDeclaration>, precedingCount?: number): FootnoteIndex;
16
+ /** An isolated region's footnotes, numbered and styled by its own context. */
17
+ export interface RegionFootnotes {
18
+ /** The region's title, as on its label tab. */
19
+ title: string;
20
+ footnotes: Map<string, FootnoteDeclaration>;
21
+ ctx: LayoutContext;
22
+ }
23
+ /**
24
+ * The panel below the chart, spanning the final canvas (`chartRightX`):
25
+ * the host's footnotes, then each region's under its title, each in
26
+ * document order. The canvas does not grow for the panel: an entry whose
27
+ * title or description runs past the panel's inner right edge wraps onto
28
+ * more rows, which start at the title's x and use the whole width.
29
+ */
30
+ export declare function buildFootnotePanel(footnotes: Map<string, FootnoteDeclaration>, ctx: LayoutContext, chartBottomY: number, chartRightX: number, regions?: readonly RegionFootnotes[]): PositionedFootnoteArea;
10
31
  //# sourceMappingURL=footnote-node.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"footnote-node.d.ts","sourceRoot":"","sources":["../../src/nodes/footnote-node.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAO1D,OAAO,KAAK,EAAe,sBAAsB,EAA2B,MAAM,aAAa,CAAC;AAEhG,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,sBAAsB,CAAC;IAC7B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAChC;AAED,wBAAgB,cAAc,CAC1B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAC3C,GAAG,EAAE,aAAa,EAClB,YAAY,EAAE,MAAM,GACrB,cAAc,CAgChB"}
1
+ {"version":3,"file":"footnote-node.d.ts","sourceRoot":"","sources":["../../src/nodes/footnote-node.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAQ1D,OAAO,KAAK,EAER,sBAAsB,EAGzB,MAAM,aAAa,CAAC;AAErB,iFAAiF;AACjF,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAChC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC1B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAC3C,cAAc,SAAI,GACnB,aAAa,CAQf;AAED,8EAA8E;AAC9E,MAAM,WAAW,eAAe;IAC5B,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC5C,GAAG,EAAE,aAAa,CAAC;CACtB;AAUD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAC9B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAC3C,GAAG,EAAE,aAAa,EAClB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,SAAS,eAAe,EAAO,GACzC,sBAAsB,CA0DxB"}