@graview/core 0.1.28 → 0.1.29

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 (501) hide show
  1. package/README.md +17 -0
  2. package/dist/amount-input.d.ts +21 -0
  3. package/dist/amount-input.d.ts.map +1 -0
  4. package/dist/amount-input.js +96 -0
  5. package/dist/amount-input.js.map +1 -0
  6. package/dist/answer-seen.d.ts +38 -0
  7. package/dist/answer-seen.d.ts.map +1 -0
  8. package/dist/answer-seen.js +122 -0
  9. package/dist/answer-seen.js.map +1 -0
  10. package/dist/app-places.d.ts +56 -0
  11. package/dist/app-places.d.ts.map +1 -0
  12. package/dist/app-places.js +153 -0
  13. package/dist/app-places.js.map +1 -0
  14. package/dist/arrange.d.ts +2 -2
  15. package/dist/arrange.d.ts.map +1 -1
  16. package/dist/arrange.js +2 -2
  17. package/dist/arrange.js.map +1 -1
  18. package/dist/arrangement-words.d.ts +3 -0
  19. package/dist/arrangement-words.d.ts.map +1 -0
  20. package/dist/arrangement-words.js +50 -0
  21. package/dist/arrangement-words.js.map +1 -0
  22. package/dist/arrangement.d.ts +25 -3
  23. package/dist/arrangement.d.ts.map +1 -1
  24. package/dist/arrangement.js +36 -32
  25. package/dist/arrangement.js.map +1 -1
  26. package/dist/arranging.d.ts.map +1 -1
  27. package/dist/arranging.js +19 -8
  28. package/dist/arranging.js.map +1 -1
  29. package/dist/bind.d.ts +3 -0
  30. package/dist/bind.d.ts.map +1 -1
  31. package/dist/bind.js.map +1 -1
  32. package/dist/capabilities.js +1 -1
  33. package/dist/capabilities.js.map +1 -1
  34. package/dist/check.d.ts +3 -0
  35. package/dist/check.d.ts.map +1 -1
  36. package/dist/check.js +3 -0
  37. package/dist/check.js.map +1 -1
  38. package/dist/city.d.ts +58 -50
  39. package/dist/city.d.ts.map +1 -1
  40. package/dist/city.js +160 -147
  41. package/dist/city.js.map +1 -1
  42. package/dist/cli/check/brand.js +1 -1
  43. package/dist/cli/check/brand.js.map +1 -1
  44. package/dist/cli/check/clock-rules.d.ts +4 -0
  45. package/dist/cli/check/clock-rules.d.ts.map +1 -0
  46. package/dist/cli/check/clock-rules.js +26 -0
  47. package/dist/cli/check/clock-rules.js.map +1 -0
  48. package/dist/cli/check/field-sight.d.ts +11 -0
  49. package/dist/cli/check/field-sight.d.ts.map +1 -0
  50. package/dist/cli/check/field-sight.js +113 -0
  51. package/dist/cli/check/field-sight.js.map +1 -0
  52. package/dist/cli/check/index.d.ts +2 -0
  53. package/dist/cli/check/index.d.ts.map +1 -1
  54. package/dist/cli/check/index.js +2 -0
  55. package/dist/cli/check/index.js.map +1 -1
  56. package/dist/cli/check/lenses.d.ts +1 -1
  57. package/dist/cli/check/lenses.d.ts.map +1 -1
  58. package/dist/cli/check/lenses.js +43 -2
  59. package/dist/cli/check/lenses.js.map +1 -1
  60. package/dist/cli/check/relations.d.ts.map +1 -1
  61. package/dist/cli/check/relations.js +2 -1
  62. package/dist/cli/check/relations.js.map +1 -1
  63. package/dist/cli/check.d.ts.map +1 -1
  64. package/dist/cli/check.js +7 -4
  65. package/dist/cli/check.js.map +1 -1
  66. package/dist/cli/describe.d.ts.map +1 -1
  67. package/dist/cli/describe.js +44 -3
  68. package/dist/cli/describe.js.map +1 -1
  69. package/dist/cli/docs.d.ts.map +1 -1
  70. package/dist/cli/docs.js +4 -3
  71. package/dist/cli/docs.js.map +1 -1
  72. package/dist/cli/types.d.ts.map +1 -1
  73. package/dist/cli/types.js +10 -1
  74. package/dist/cli/types.js.map +1 -1
  75. package/dist/clock-readers.d.ts +18 -0
  76. package/dist/clock-readers.d.ts.map +1 -0
  77. package/dist/clock-readers.js +70 -0
  78. package/dist/clock-readers.js.map +1 -0
  79. package/dist/clock.d.ts +30 -0
  80. package/dist/clock.d.ts.map +1 -0
  81. package/dist/clock.js +41 -0
  82. package/dist/clock.js.map +1 -0
  83. package/dist/columns.d.ts.map +1 -1
  84. package/dist/columns.js +2 -1
  85. package/dist/columns.js.map +1 -1
  86. package/dist/conformance/fixtures.d.ts.map +1 -1
  87. package/dist/conformance/fixtures.js +326 -43
  88. package/dist/conformance/fixtures.js.map +1 -1
  89. package/dist/days.d.ts +53 -4
  90. package/dist/days.d.ts.map +1 -1
  91. package/dist/days.js +136 -16
  92. package/dist/days.js.map +1 -1
  93. package/dist/describe.d.ts +1 -0
  94. package/dist/describe.d.ts.map +1 -1
  95. package/dist/describe.js +1 -0
  96. package/dist/describe.js.map +1 -1
  97. package/dist/document/act-findings.d.ts.map +1 -1
  98. package/dist/document/act-findings.js +13 -3
  99. package/dist/document/act-findings.js.map +1 -1
  100. package/dist/document/amount.d.ts +4 -0
  101. package/dist/document/amount.d.ts.map +1 -0
  102. package/dist/document/amount.js +22 -0
  103. package/dist/document/amount.js.map +1 -0
  104. package/dist/document/block-context.d.ts.map +1 -1
  105. package/dist/document/block-context.js +1 -0
  106. package/dist/document/block-context.js.map +1 -1
  107. package/dist/document/blocks.d.ts +13 -3
  108. package/dist/document/blocks.d.ts.map +1 -1
  109. package/dist/document/blocks.js +56 -12
  110. package/dist/document/blocks.js.map +1 -1
  111. package/dist/document/compile-checked.d.ts.map +1 -1
  112. package/dist/document/compile-checked.js +3 -2
  113. package/dist/document/compile-checked.js.map +1 -1
  114. package/dist/document/compile.d.ts.map +1 -1
  115. package/dist/document/compile.js +30 -7
  116. package/dist/document/compile.js.map +1 -1
  117. package/dist/document/compiled.d.ts +4 -2
  118. package/dist/document/compiled.d.ts.map +1 -1
  119. package/dist/document/compiled.js +50 -19
  120. package/dist/document/compiled.js.map +1 -1
  121. package/dist/document/describe-coverage.d.ts.map +1 -1
  122. package/dist/document/describe-coverage.js +2 -1
  123. package/dist/document/describe-coverage.js.map +1 -1
  124. package/dist/document/describe-place.d.ts +6 -2
  125. package/dist/document/describe-place.d.ts.map +1 -1
  126. package/dist/document/describe-place.js +14 -8
  127. package/dist/document/describe-place.js.map +1 -1
  128. package/dist/document/diff.d.ts +2 -0
  129. package/dist/document/diff.d.ts.map +1 -1
  130. package/dist/document/diff.js +34 -6
  131. package/dist/document/diff.js.map +1 -1
  132. package/dist/document/durations.d.ts +8 -0
  133. package/dist/document/durations.d.ts.map +1 -0
  134. package/dist/document/durations.js +82 -0
  135. package/dist/document/durations.js.map +1 -0
  136. package/dist/document/edit.d.ts +1 -1
  137. package/dist/document/edit.d.ts.map +1 -1
  138. package/dist/document/edit.js +195 -22
  139. package/dist/document/edit.js.map +1 -1
  140. package/dist/document/expr/evaluate.d.ts +1 -1
  141. package/dist/document/expr/evaluate.d.ts.map +1 -1
  142. package/dist/document/expr/evaluate.js +17 -4
  143. package/dist/document/expr/evaluate.js.map +1 -1
  144. package/dist/document/field-spec.d.ts.map +1 -1
  145. package/dist/document/field-spec.js +15 -1
  146. package/dist/document/field-spec.js.map +1 -1
  147. package/dist/document/format-findings.d.ts +4 -0
  148. package/dist/document/format-findings.d.ts.map +1 -0
  149. package/dist/document/format-findings.js +39 -0
  150. package/dist/document/format-findings.js.map +1 -0
  151. package/dist/document/format-rules.d.ts +8 -0
  152. package/dist/document/format-rules.d.ts.map +1 -0
  153. package/dist/document/format-rules.js +19 -0
  154. package/dist/document/format-rules.js.map +1 -0
  155. package/dist/document/format-words.d.ts +9 -0
  156. package/dist/document/format-words.d.ts.map +1 -0
  157. package/dist/document/format-words.js +29 -0
  158. package/dist/document/format-words.js.map +1 -0
  159. package/dist/document/graview-template.d.ts +2 -2
  160. package/dist/document/migrate.d.ts +1 -0
  161. package/dist/document/migrate.d.ts.map +1 -1
  162. package/dist/document/migrate.js +45 -1
  163. package/dist/document/migrate.js.map +1 -1
  164. package/dist/document/money.d.ts +14 -0
  165. package/dist/document/money.d.ts.map +1 -0
  166. package/dist/document/money.js +14 -0
  167. package/dist/document/money.js.map +1 -0
  168. package/dist/document/policy-words.d.ts +2 -0
  169. package/dist/document/policy-words.d.ts.map +1 -1
  170. package/dist/document/policy-words.js +19 -4
  171. package/dist/document/policy-words.js.map +1 -1
  172. package/dist/document/rule-line.d.ts.map +1 -1
  173. package/dist/document/rule-line.js +16 -12
  174. package/dist/document/rule-line.js.map +1 -1
  175. package/dist/document/rules.d.ts.map +1 -1
  176. package/dist/document/rules.js +6 -5
  177. package/dist/document/rules.js.map +1 -1
  178. package/dist/document/schema.d.ts +62 -19
  179. package/dist/document/schema.d.ts.map +1 -1
  180. package/dist/document/schema.js +30 -4
  181. package/dist/document/schema.js.map +1 -1
  182. package/dist/document/template-parse.d.ts.map +1 -1
  183. package/dist/document/template-parse.js +9 -2
  184. package/dist/document/template-parse.js.map +1 -1
  185. package/dist/document/template.d.ts +3 -13
  186. package/dist/document/template.d.ts.map +1 -1
  187. package/dist/document/template.js +24 -22
  188. package/dist/document/template.js.map +1 -1
  189. package/dist/document/thumbnail.d.ts.map +1 -1
  190. package/dist/document/thumbnail.js +4 -3
  191. package/dist/document/thumbnail.js.map +1 -1
  192. package/dist/document/to-document.d.ts +0 -1
  193. package/dist/document/to-document.d.ts.map +1 -1
  194. package/dist/document/to-document.js +19 -2
  195. package/dist/document/to-document.js.map +1 -1
  196. package/dist/document/view-specs.d.ts.map +1 -1
  197. package/dist/document/view-specs.js +3 -0
  198. package/dist/document/view-specs.js.map +1 -1
  199. package/dist/document/views.d.ts +2 -0
  200. package/dist/document/views.d.ts.map +1 -1
  201. package/dist/document/views.js +18 -6
  202. package/dist/document/views.js.map +1 -1
  203. package/dist/document.schema.json +63 -6
  204. package/dist/excerpt-of.d.ts +14 -0
  205. package/dist/excerpt-of.d.ts.map +1 -0
  206. package/dist/excerpt-of.js +120 -0
  207. package/dist/excerpt-of.js.map +1 -0
  208. package/dist/excerpt.d.ts +9 -0
  209. package/dist/excerpt.d.ts.map +1 -0
  210. package/dist/excerpt.js +43 -0
  211. package/dist/excerpt.js.map +1 -0
  212. package/dist/field-sight.d.ts +33 -0
  213. package/dist/field-sight.d.ts.map +1 -0
  214. package/dist/field-sight.js +313 -0
  215. package/dist/field-sight.js.map +1 -0
  216. package/dist/forms.d.ts +1 -0
  217. package/dist/forms.d.ts.map +1 -1
  218. package/dist/forms.js +1 -0
  219. package/dist/forms.js.map +1 -1
  220. package/dist/graph/archived.d.ts +25 -0
  221. package/dist/graph/archived.d.ts.map +1 -0
  222. package/dist/graph/archived.js +16 -0
  223. package/dist/graph/archived.js.map +1 -0
  224. package/dist/graph/diff.d.ts.map +1 -1
  225. package/dist/graph/diff.js +2 -1
  226. package/dist/graph/diff.js.map +1 -1
  227. package/dist/graph/graph.d.ts +37 -13
  228. package/dist/graph/graph.d.ts.map +1 -1
  229. package/dist/graph/graph.js +86 -40
  230. package/dist/graph/graph.js.map +1 -1
  231. package/dist/graph/tracked.d.ts +8 -8
  232. package/dist/graph/tracked.d.ts.map +1 -1
  233. package/dist/graph/tracked.js +15 -20
  234. package/dist/graph/tracked.js.map +1 -1
  235. package/dist/graph/types.d.ts +16 -8
  236. package/dist/graph/types.d.ts.map +1 -1
  237. package/dist/graph/types.js.map +1 -1
  238. package/dist/import/coerce.d.ts +45 -0
  239. package/dist/import/coerce.d.ts.map +1 -0
  240. package/dist/import/coerce.js +252 -0
  241. package/dist/import/coerce.js.map +1 -0
  242. package/dist/import/csv.d.ts +16 -0
  243. package/dist/import/csv.d.ts.map +1 -0
  244. package/dist/import/csv.js +77 -0
  245. package/dist/import/csv.js.map +1 -0
  246. package/dist/import/index.d.ts +17 -0
  247. package/dist/import/index.d.ts.map +1 -0
  248. package/dist/import/index.js +13 -0
  249. package/dist/import/index.js.map +1 -0
  250. package/dist/import/mapping.d.ts +99 -0
  251. package/dist/import/mapping.d.ts.map +1 -0
  252. package/dist/import/mapping.js +182 -0
  253. package/dist/import/mapping.js.map +1 -0
  254. package/dist/import/rows.d.ts +116 -0
  255. package/dist/import/rows.d.ts.map +1 -0
  256. package/dist/import/rows.js +584 -0
  257. package/dist/import/rows.js.map +1 -0
  258. package/dist/index.d.ts +38 -21
  259. package/dist/index.d.ts.map +1 -1
  260. package/dist/index.js +27 -16
  261. package/dist/index.js.map +1 -1
  262. package/dist/invariants/engine.d.ts +5 -1
  263. package/dist/invariants/engine.d.ts.map +1 -1
  264. package/dist/invariants/engine.js +4 -3
  265. package/dist/invariants/engine.js.map +1 -1
  266. package/dist/invariants/types.d.ts +18 -3
  267. package/dist/invariants/types.d.ts.map +1 -1
  268. package/dist/json-schema.d.ts +1 -0
  269. package/dist/json-schema.d.ts.map +1 -1
  270. package/dist/json-schema.js +2 -0
  271. package/dist/json-schema.js.map +1 -1
  272. package/dist/labels.d.ts.map +1 -1
  273. package/dist/labels.js +2 -1
  274. package/dist/labels.js.map +1 -1
  275. package/dist/lines.d.ts +1 -0
  276. package/dist/lines.d.ts.map +1 -1
  277. package/dist/lines.js +5 -3
  278. package/dist/lines.js.map +1 -1
  279. package/dist/markdown.d.ts +102 -0
  280. package/dist/markdown.d.ts.map +1 -0
  281. package/dist/markdown.js +460 -0
  282. package/dist/markdown.js.map +1 -0
  283. package/dist/mutations/arg-shape.d.ts +95 -0
  284. package/dist/mutations/arg-shape.d.ts.map +1 -0
  285. package/dist/mutations/arg-shape.js +101 -0
  286. package/dist/mutations/arg-shape.js.map +1 -0
  287. package/dist/mutations/define-mutation.d.ts +48 -2
  288. package/dist/mutations/define-mutation.d.ts.map +1 -1
  289. package/dist/mutations/define-mutation.js +103 -36
  290. package/dist/mutations/define-mutation.js.map +1 -1
  291. package/dist/mutations/derive-edits.d.ts +16 -1
  292. package/dist/mutations/derive-edits.d.ts.map +1 -1
  293. package/dist/mutations/derive-edits.js +67 -28
  294. package/dist/mutations/derive-edits.js.map +1 -1
  295. package/dist/mutations/derive-repeats.d.ts +8 -0
  296. package/dist/mutations/derive-repeats.d.ts.map +1 -0
  297. package/dist/mutations/derive-repeats.js +118 -0
  298. package/dist/mutations/derive-repeats.js.map +1 -0
  299. package/dist/mutations/derived-names.d.ts +20 -0
  300. package/dist/mutations/derived-names.d.ts.map +1 -0
  301. package/dist/mutations/derived-names.js +19 -0
  302. package/dist/mutations/derived-names.js.map +1 -0
  303. package/dist/mutations/form.d.ts +21 -1
  304. package/dist/mutations/form.d.ts.map +1 -1
  305. package/dist/mutations/form.js +19 -2
  306. package/dist/mutations/form.js.map +1 -1
  307. package/dist/mutations/invalid-arguments.d.ts +14 -0
  308. package/dist/mutations/invalid-arguments.d.ts.map +1 -0
  309. package/dist/mutations/invalid-arguments.js +18 -0
  310. package/dist/mutations/invalid-arguments.js.map +1 -0
  311. package/dist/mutations/keep-link.d.ts +27 -0
  312. package/dist/mutations/keep-link.d.ts.map +1 -0
  313. package/dist/mutations/keep-link.js +56 -0
  314. package/dist/mutations/keep-link.js.map +1 -0
  315. package/dist/mutations/kept-arguments.d.ts +26 -0
  316. package/dist/mutations/kept-arguments.d.ts.map +1 -0
  317. package/dist/mutations/kept-arguments.js +77 -0
  318. package/dist/mutations/kept-arguments.js.map +1 -0
  319. package/dist/mutations/node-ref.d.ts +0 -80
  320. package/dist/mutations/node-ref.d.ts.map +1 -1
  321. package/dist/mutations/node-ref.js +0 -93
  322. package/dist/mutations/node-ref.js.map +1 -1
  323. package/dist/mutations/types.d.ts +17 -1
  324. package/dist/mutations/types.d.ts.map +1 -1
  325. package/dist/mutations/words.d.ts +0 -13
  326. package/dist/mutations/words.d.ts.map +1 -1
  327. package/dist/mutations/words.js +1 -12
  328. package/dist/mutations/words.js.map +1 -1
  329. package/dist/ops/kept-fields.d.ts +7 -0
  330. package/dist/ops/kept-fields.d.ts.map +1 -0
  331. package/dist/ops/kept-fields.js +24 -0
  332. package/dist/ops/kept-fields.js.map +1 -0
  333. package/dist/ops/lineage.d.ts +37 -0
  334. package/dist/ops/lineage.d.ts.map +1 -0
  335. package/dist/ops/lineage.js +26 -0
  336. package/dist/ops/lineage.js.map +1 -0
  337. package/dist/ops/log.d.ts.map +1 -1
  338. package/dist/ops/log.js +1 -0
  339. package/dist/ops/log.js.map +1 -1
  340. package/dist/ops/provenance.d.ts +68 -0
  341. package/dist/ops/provenance.d.ts.map +1 -0
  342. package/dist/ops/provenance.js +83 -0
  343. package/dist/ops/provenance.js.map +1 -0
  344. package/dist/ops/types.d.ts +25 -0
  345. package/dist/ops/types.d.ts.map +1 -1
  346. package/dist/ops/withheld.d.ts +25 -2
  347. package/dist/ops/withheld.d.ts.map +1 -1
  348. package/dist/ops/withheld.js +6 -15
  349. package/dist/ops/withheld.js.map +1 -1
  350. package/dist/permissions/policy.d.ts +6 -1
  351. package/dist/permissions/policy.d.ts.map +1 -1
  352. package/dist/permissions/policy.js +29 -9
  353. package/dist/permissions/policy.js.map +1 -1
  354. package/dist/permissions/sight.d.ts +40 -2
  355. package/dist/permissions/sight.d.ts.map +1 -1
  356. package/dist/permissions/sight.js +25 -2
  357. package/dist/permissions/sight.js.map +1 -1
  358. package/dist/permissions/types.d.ts +21 -0
  359. package/dist/permissions/types.d.ts.map +1 -1
  360. package/dist/permissions/types.js.map +1 -1
  361. package/dist/places.d.ts +0 -49
  362. package/dist/places.d.ts.map +1 -1
  363. package/dist/places.js +2 -141
  364. package/dist/places.js.map +1 -1
  365. package/dist/provenance.d.ts +14 -0
  366. package/dist/provenance.d.ts.map +1 -0
  367. package/dist/provenance.js +13 -0
  368. package/dist/provenance.js.map +1 -0
  369. package/dist/repeat-words.d.ts +13 -0
  370. package/dist/repeat-words.d.ts.map +1 -0
  371. package/dist/repeat-words.js +56 -0
  372. package/dist/repeat-words.js.map +1 -0
  373. package/dist/repeat.d.ts +59 -0
  374. package/dist/repeat.d.ts.map +1 -0
  375. package/dist/repeat.js +155 -0
  376. package/dist/repeat.js.map +1 -0
  377. package/dist/scaffold/project.d.ts.map +1 -1
  378. package/dist/scaffold/project.js +13 -0
  379. package/dist/scaffold/project.js.map +1 -1
  380. package/dist/scaffold/ui.js +2 -2
  381. package/dist/scene-districts.d.ts +2 -1
  382. package/dist/scene-districts.d.ts.map +1 -1
  383. package/dist/scene-districts.js +2 -1
  384. package/dist/scene-districts.js.map +1 -1
  385. package/dist/scene.d.ts +4 -2
  386. package/dist/scene.d.ts.map +1 -1
  387. package/dist/scene.js +2 -1
  388. package/dist/scene.js.map +1 -1
  389. package/dist/schema/amount-mark.d.ts +13 -0
  390. package/dist/schema/amount-mark.d.ts.map +1 -0
  391. package/dist/schema/amount-mark.js +20 -0
  392. package/dist/schema/amount-mark.js.map +1 -0
  393. package/dist/schema/amount-words.d.ts +12 -0
  394. package/dist/schema/amount-words.d.ts.map +1 -0
  395. package/dist/schema/amount-words.js +31 -0
  396. package/dist/schema/amount-words.js.map +1 -0
  397. package/dist/schema/app-link-field.d.ts +4 -0
  398. package/dist/schema/app-link-field.d.ts.map +1 -0
  399. package/dist/schema/app-link-field.js +19 -0
  400. package/dist/schema/app-link-field.js.map +1 -0
  401. package/dist/schema/app-link.d.ts +41 -0
  402. package/dist/schema/app-link.d.ts.map +1 -0
  403. package/dist/schema/app-link.js +40 -0
  404. package/dist/schema/app-link.js.map +1 -0
  405. package/dist/schema/define-node.d.ts +25 -94
  406. package/dist/schema/define-node.d.ts.map +1 -1
  407. package/dist/schema/define-node.js +3 -247
  408. package/dist/schema/define-node.js.map +1 -1
  409. package/dist/schema/field-words.d.ts +45 -0
  410. package/dist/schema/field-words.d.ts.map +1 -0
  411. package/dist/schema/field-words.js +124 -0
  412. package/dist/schema/field-words.js.map +1 -0
  413. package/dist/schema/json-schema.d.ts +6 -1
  414. package/dist/schema/json-schema.d.ts.map +1 -1
  415. package/dist/schema/json-schema.js +83 -2
  416. package/dist/schema/json-schema.js.map +1 -1
  417. package/dist/schema/markdown-field.d.ts +4 -0
  418. package/dist/schema/markdown-field.d.ts.map +1 -0
  419. package/dist/schema/markdown-field.js +20 -0
  420. package/dist/schema/markdown-field.js.map +1 -0
  421. package/dist/schema/markdown.d.ts +6 -0
  422. package/dist/schema/markdown.d.ts.map +1 -0
  423. package/dist/schema/markdown.js +27 -0
  424. package/dist/schema/markdown.js.map +1 -0
  425. package/dist/schema/reading.d.ts +86 -0
  426. package/dist/schema/reading.d.ts.map +1 -0
  427. package/dist/schema/reading.js +270 -0
  428. package/dist/schema/reading.js.map +1 -0
  429. package/dist/schema/repeat-field.d.ts +5 -0
  430. package/dist/schema/repeat-field.d.ts.map +1 -0
  431. package/dist/schema/repeat-field.js +20 -0
  432. package/dist/schema/repeat-field.js.map +1 -0
  433. package/dist/schema/schema.d.ts.map +1 -1
  434. package/dist/schema/schema.js +5 -1
  435. package/dist/schema/schema.js.map +1 -1
  436. package/dist/schema/to-json-schema.d.ts +14 -0
  437. package/dist/schema/to-json-schema.d.ts.map +1 -0
  438. package/dist/schema/to-json-schema.js +616 -0
  439. package/dist/schema/to-json-schema.js.map +1 -0
  440. package/dist/schema/typed-field-builders.d.ts +8 -0
  441. package/dist/schema/typed-field-builders.d.ts.map +1 -0
  442. package/dist/schema/typed-field-builders.js +30 -0
  443. package/dist/schema/typed-field-builders.js.map +1 -0
  444. package/dist/schema/typed-field-of.d.ts +4 -0
  445. package/dist/schema/typed-field-of.d.ts.map +1 -0
  446. package/dist/schema/typed-field-of.js +14 -0
  447. package/dist/schema/typed-field-of.js.map +1 -0
  448. package/dist/schema/typed-fields.d.ts +11 -0
  449. package/dist/schema/typed-fields.d.ts.map +1 -0
  450. package/dist/schema/typed-fields.js +16 -0
  451. package/dist/schema/typed-fields.js.map +1 -0
  452. package/dist/schema/types.d.ts +14 -0
  453. package/dist/schema/types.d.ts.map +1 -1
  454. package/dist/schema/value-words.d.ts +21 -0
  455. package/dist/schema/value-words.d.ts.map +1 -0
  456. package/dist/schema/value-words.js +32 -0
  457. package/dist/schema/value-words.js.map +1 -0
  458. package/dist/search.d.ts +91 -4
  459. package/dist/search.d.ts.map +1 -1
  460. package/dist/search.js +288 -53
  461. package/dist/search.js.map +1 -1
  462. package/dist/seat.d.ts +19 -0
  463. package/dist/seat.d.ts.map +1 -0
  464. package/dist/seat.js +19 -0
  465. package/dist/seat.js.map +1 -0
  466. package/dist/seen.d.ts +15 -33
  467. package/dist/seen.d.ts.map +1 -1
  468. package/dist/seen.js +44 -135
  469. package/dist/seen.js.map +1 -1
  470. package/dist/store.d.ts +46 -1
  471. package/dist/store.d.ts.map +1 -1
  472. package/dist/store.js +121 -22
  473. package/dist/store.js.map +1 -1
  474. package/dist/theme/types.d.ts +7 -1
  475. package/dist/theme/types.d.ts.map +1 -1
  476. package/dist/theme/types.js.map +1 -1
  477. package/dist/typed.d.ts +12 -3
  478. package/dist/typed.d.ts.map +1 -1
  479. package/dist/typed.js.map +1 -1
  480. package/dist/validate-graph.d.ts.map +1 -1
  481. package/dist/validate-graph.js +3 -10
  482. package/dist/validate-graph.js.map +1 -1
  483. package/dist/version.d.ts +1 -1
  484. package/dist/version.js +1 -1
  485. package/dist/views/types.d.ts +57 -8
  486. package/dist/views/types.d.ts.map +1 -1
  487. package/dist/views/types.js +22 -3
  488. package/dist/views/types.js.map +1 -1
  489. package/dist/village.d.ts +63 -0
  490. package/dist/village.d.ts.map +1 -0
  491. package/dist/village.js +143 -0
  492. package/dist/village.js.map +1 -0
  493. package/dist/watched.d.ts +12 -45
  494. package/dist/watched.d.ts.map +1 -1
  495. package/dist/watched.js +7 -119
  496. package/dist/watched.js.map +1 -1
  497. package/dist/words.d.ts +33 -0
  498. package/dist/words.d.ts.map +1 -0
  499. package/dist/words.js +36 -0
  500. package/dist/words.js.map +1 -0
  501. package/package.json +37 -2
package/dist/city.d.ts CHANGED
@@ -4,35 +4,54 @@ import type { AnySchema } from "./schema/schema.js";
4
4
  *
5
5
  * A kind is a neighborhood, and where it stands is decided by the
6
6
  * declaration alone — never by today's data, never by what looks nice.
7
- * Same declaration, same map; add a kind and every existing plot stays
8
- * where it was; a kind that grows takes a bigger block on the same corner.
9
- * That is what makes an address an address: the place a person remembers
10
- * is the place they get.
7
+ * Same declaration, same map; a kind that grows takes a bigger block on
8
+ * the same corner. That is what makes an address an address: the place a
9
+ * person remembers is the place they get.
10
+ *
11
+ * THE MAP READS UPSTREAM TO DOWNSTREAM. A kind whose records point at
12
+ * another's stands after it: a session names its people, a question its
13
+ * session, a finding its question, so People, Sessions, Questions and
14
+ * Findings stand in that order along one of the ground's axes, up and to
15
+ * the right on the screen — a topological order of the declared
16
+ * relations, each kind one place past the furthest kind it points at, a
17
+ * cycle broken where the walk meets it. Kinds of one place stand side by
18
+ * side along the other axis, near the kinds they point at, so the map is
19
+ * rows of districts each on a line of the lattice. A kind tied to no other
20
+ * kind stands in a row of its own beside the rest, so a note pinned to
21
+ * nothing is not put in the middle of the work. Placed in the order the
22
+ * declaration fills its kinds (`beginning(app).order`, or sorted ids when
23
+ * nobody said), so ties break the same way every time; a kind declaring
24
+ * `plot` is put exactly there.
11
25
  *
12
26
  * Units are LATTICE CELLS on the isometric ground, not pixels. `col` runs
13
27
  * down-right along one diagonal, `row` down-left along the other; a plot
14
- * occupies `side × side` cells from its corner. Plots sit on a block grid
15
- * one `BLOCK` apart, so a plot growing to its largest side never reaches
16
- * its neighbor: the street between is the cell left over.
17
- *
18
- * Placement walks the kinds in the order the declaration says a blank
19
- * installation fills them (`beginning(app).order`, or sorted ids when
20
- * nobody said), puts the first at the origin, and puts each next kind in
21
- * the free block adjacent to the placed kind it shares the most declared
22
- * edges with — ties by id — spiraling outward when the near blocks are
23
- * taken. A kind declaring `plot` is put exactly there.
28
+ * occupies `side × side` cells from its corner. Plots stand a `PITCH` —
29
+ * a block and a cell — apart along both axes, so every row of the map lies
30
+ * on one line of the lattice with a straight street in the gutter beside
31
+ * it. Turned UPRIGHT (`upright`) — for a window taller than it is wide —
32
+ * the chain runs down and to the right instead, folded into bands.
24
33
  */
25
34
  export interface Plot {
26
35
  /** Corner cell, in lattice units. Multiples of BLOCK unless declared. */
27
36
  readonly col: number;
28
37
  readonly row: number;
29
- /** Cells on a side: ceil(sqrt(count)), at least 1, at most MAX_SIDE. */
38
+ /** Cells on a side: 2, or 3 for a kind of more than four. */
30
39
  readonly side: number;
31
40
  }
32
- /** The most cells a plot takes on a side. */
33
- export declare const MAX_SIDE = 4;
41
+ /**
42
+ * The most cells a plot takes on a side. Capped low on purpose: a kind of
43
+ * two hundred records once took sixteen times the ground of a kind of one,
44
+ * and the map was that kind. How many is the district's count to say.
45
+ */
46
+ export declare const MAX_SIDE = 3;
34
47
  /** Block pitch: the largest side plus one cell of street. */
35
48
  export declare const BLOCK: number;
49
+ /**
50
+ * How far apart, in cells, two districts of the map stand along either of
51
+ * the ground's axes: a block, and a street a cell wider, room for the
52
+ * ribbons running down it a cell clear of either curb.
53
+ */
54
+ export declare const PITCH: number;
36
55
  export interface CityHints {
37
56
  /** The kind chain a blank installation fills, first to last. */
38
57
  readonly order?: readonly string[];
@@ -43,6 +62,10 @@ export interface CityHints {
43
62
  readonly col: number;
44
63
  readonly row: number;
45
64
  }>>;
65
+ /** Run the map down the screen, folded into bands, rather than up and to the right: for a tall window. */
66
+ readonly upright?: boolean;
67
+ /** How far apart districts stand along the ground's axes, in cells: `PITCH` unless names need more room. */
68
+ readonly pitch?: number;
46
69
  }
47
70
  export type CityMap = ReadonlyMap<string, Plot>;
48
71
  /** A road: two kinds joined by declared edges, and which edges. */
@@ -51,7 +74,7 @@ export interface Road {
51
74
  readonly to: string;
52
75
  readonly edges: readonly string[];
53
76
  }
54
- /** Cells on a side for a population. */
77
+ /** Cells on a side for a population: 2, and 3 past four. */
55
78
  export declare function sideFor(count: number | undefined): number;
56
79
  /**
57
80
  * How many declared edges join two kinds, either direction. A wildcard
@@ -59,8 +82,6 @@ export declare function sideFor(count: number | undefined): number;
59
82
  */
60
83
  export declare function sharedEdges(schema: AnySchema, a: string, b: string): number;
61
84
  export declare function cityMap(schema: AnySchema, hints?: CityHints): CityMap;
62
- /** The roads between placed kinds: one per pair joined by any declared edge. */
63
- export declare function roadsOf(schema: AnySchema, map: CityMap): readonly Road[];
64
85
  /**
65
86
  * Two plots overlap when their blocks do — the checker's question about
66
87
  * hand-laid plots, asked at the block size so a plot growing to its
@@ -84,39 +105,26 @@ export declare function cityExtent(map: CityMap): {
84
105
  * THE 2:1 LATTICE, as a projection. A cell (col,row) meets the screen at
85
106
  * x = (col − row) · w/2, y = (col + row) · h/2 with h = w/2 — the same
86
107
  * pitch the ground's CSS draws (lines at ±atan 2), so a plot placed here
87
- * sits on the grid a person can see.
108
+ * sits on the grid a person can see. `tilt` is h/w: a half is the city
109
+ * seen at an angle, one is the same ground seen from straight above.
88
110
  */
89
- export declare function toIso(col: number, row: number, cell: number): {
111
+ export declare function toIso(col: number, row: number, cell: number, tilt?: number): {
90
112
  readonly x: number;
91
113
  readonly y: number;
92
114
  };
93
- /** The most buildings a plot of this side holds: a sub-lattice of side+1 to a side, minus the square in the middle. */
94
- export declare function villageCap(side: number): number;
95
- /** A stable number in [0, 1) from an id, so a village is not a barracks and does not reshuffle on every render. */
96
- export declare function heightOf(id: string): number;
97
- export interface Building {
98
- readonly id: string;
99
- /** The foot, in lattice units from the plot's own corner. */
100
- readonly col: number;
101
- readonly row: number;
102
- /** How wide a building is on the ground, in lattice units. */
103
- readonly footprint: number;
104
- /** How tall, as a fraction of its footprint. */
105
- readonly height: number;
115
+ /** The tilt the city is seen at by default; from straight above (`TOP_DOWN`) on a person's asking. */
116
+ export declare const TILTED = 0.5;
117
+ export declare const TOP_DOWN = 1;
118
+ /** How a value of a kind's main choice reads on the map. */
119
+ export type StateTier = "waiting" | "active" | "done";
120
+ export interface DistrictState {
121
+ /** The choice field the rows are read from. */
122
+ readonly field: string;
123
+ /** Its values, in declared order: one row each. */
124
+ readonly values: readonly string[];
125
+ /** How each value reads, in the same order. */
126
+ readonly tiers: readonly StateTier[];
106
127
  }
107
- /**
108
- * WHERE THE MEMBERS STAND. One building per member on the plot's own
109
- * sub-lattice, back to front so the near ones are drawn last; the middle
110
- * of the plot is the village square, where the nameplate and the kind's
111
- * landmark stand, so no building is under them. Past the cap the rest are
112
- * a number on the curb.
113
- */
114
- export declare function villageOf(plot: {
115
- readonly col: number;
116
- readonly row: number;
117
- readonly side: number;
118
- }, memberIds: readonly string[]): {
119
- readonly buildings: readonly Building[];
120
- readonly rest: number;
121
- };
128
+ /** A kind's main choice field and how each of its values reads; undefined when the kind has none. */
129
+ export declare function districtState(schema: AnySchema, kind: string): DistrictState | undefined;
122
130
  //# sourceMappingURL=city.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"city.d.ts","sourceRoot":"","sources":["../src/city.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"city.d.ts","sourceRoot":"","sources":["../src/city.ts"],"names":[],"mappings":"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"}
package/dist/city.js CHANGED
@@ -1,13 +1,34 @@
1
- /** The most cells a plot takes on a side. */
2
- export const MAX_SIDE = 4;
1
+ import { defOf } from "./schema/zod.js";
2
+ /**
3
+ * The most cells a plot takes on a side. Capped low on purpose: a kind of
4
+ * two hundred records once took sixteen times the ground of a kind of one,
5
+ * and the map was that kind. How many is the district's count to say.
6
+ */
7
+ export const MAX_SIDE = 3;
3
8
  /** Block pitch: the largest side plus one cell of street. */
4
9
  export const BLOCK = MAX_SIDE + 1;
10
+ /**
11
+ * How far apart, in cells, two districts of the map stand along either of
12
+ * the ground's axes: a block, and a street a cell wider, room for the
13
+ * ribbons running down it a cell clear of either curb.
14
+ */
15
+ export const PITCH = BLOCK + 1;
5
16
  const byId = (a, b) => (a < b ? -1 : a > b ? 1 : 0);
6
- /** Cells on a side for a population. */
17
+ /** Cells on a side for a population: 2, and 3 past four. */
7
18
  export function sideFor(count) {
8
- if (!count || count <= 1)
9
- return 1;
10
- return Math.min(MAX_SIDE, Math.ceil(Math.sqrt(count)));
19
+ return (count ?? 0) > 4 ? MAX_SIDE : 2;
20
+ }
21
+ /** The other kinds a kind's declared edges point at. A wildcard edge points at no kind in particular. */
22
+ function pointsAt(schema, kind, kinds) {
23
+ const out = [];
24
+ for (const declaration of Object.values(schema.tryDefinition(kind)?.edges ?? {})) {
25
+ if (declaration.to === "*")
26
+ continue;
27
+ for (const to of declaration.to)
28
+ if (to !== kind && kinds.includes(to) && !out.includes(to))
29
+ out.push(to);
30
+ }
31
+ return out;
11
32
  }
12
33
  /**
13
34
  * How many declared edges join two kinds, either direction. A wildcard
@@ -31,36 +52,18 @@ export function sharedEdges(schema, a, b) {
31
52
  }
32
53
  return shared;
33
54
  }
34
- /** The block cells a plot at (col,row) reserves: every cell of the block. */
35
- const blockKey = (col, row) => `${Math.floor(col / BLOCK)},${Math.floor(row / BLOCK)}`;
36
- /**
37
- * Blocks around `(col,row)` at Manhattan distance `d`, in a stable order:
38
- * the four cardinal neighbors first (down-right, down-left, up-left,
39
- * up-right), then the rest clockwise. Deterministic, so the walk is.
40
- */
41
- function ringAround(col, row, d) {
42
- if (d === 0)
43
- return [{ col, row }];
44
- const out = [];
45
- for (let i = 0; i < d; i++) {
46
- out.push({ col: col + (d - i) * BLOCK, row: row + i * BLOCK });
47
- out.push({ col: col - i * BLOCK, row: row + (d - i) * BLOCK });
48
- out.push({ col: col - (d - i) * BLOCK, row: row - i * BLOCK });
49
- out.push({ col: col + i * BLOCK, row: row - (d - i) * BLOCK });
50
- }
51
- return out;
52
- }
53
55
  export function cityMap(schema, hints = {}) {
54
56
  const kinds = [...schema.kinds];
55
57
  const order = [
56
58
  ...(hints.order ?? []).filter((kind) => kinds.includes(kind)),
57
59
  ...kinds.filter((kind) => !(hints.order ?? []).includes(kind)).sort(byId),
58
60
  ].filter((kind, index, all) => all.indexOf(kind) === index);
61
+ const rank = (kind) => order.indexOf(kind);
59
62
  const plots = new Map();
60
- const taken = new Set();
63
+ const taken = [];
61
64
  const put = (kind, col, row) => {
62
65
  plots.set(kind, { col, row, side: sideFor(hints.counts?.[kind]) });
63
- taken.add(blockKey(col, row));
66
+ taken.push({ col, row });
64
67
  };
65
68
  /* HAND-LAID FIRST, verbatim: a declared address is an address. */
66
69
  for (const kind of order) {
@@ -68,62 +71,108 @@ export function cityMap(schema, hints = {}) {
68
71
  if (declared)
69
72
  put(kind, declared.col, declared.row);
70
73
  }
71
- for (const kind of order) {
72
- if (plots.has(kind))
73
- continue;
74
- if (plots.size === 0) {
75
- put(kind, 0, 0);
76
- continue;
77
- }
78
- /*
79
- * THE PLACED KIND IT SHARES THE MOST EDGES WITH. None shared means
80
- * nothing to be near, and the city's first block is the anchor — so an
81
- * unrelated kind still lands near the middle rather than off on its own.
82
- */
83
- let anchor;
84
- let most = 0;
85
- for (const placed of [...plots.keys()].sort(byId)) {
86
- const shared = sharedEdges(schema, kind, placed);
87
- if (shared > most || (shared === most && shared > 0 && anchor !== undefined && byId(placed, anchor) < 0)) {
88
- most = shared;
89
- anchor = placed;
90
- }
91
- }
92
- const from = anchor ? plots.get(anchor) : plots.get(order.find((k) => plots.has(k)));
93
- let found;
94
- for (let d = 1; !found && d < 64; d++) {
95
- found = ringAround(from.col, from.row, d).find((cell) => !taken.has(blockKey(cell.col, cell.row)));
74
+ /*
75
+ * EACH KIND ONE COLUMN PAST THE FURTHEST KIND IT POINTS AT. A cycle —
76
+ * two kinds pointing at each other — is broken where the walk, in the
77
+ * declaration's order, meets it again.
78
+ */
79
+ const upstream = new Map(order.map((kind) => [kind, pointsAt(schema, kind, kinds)]));
80
+ const linked = new Set(order.filter((kind) => upstream.get(kind).length > 0 || order.some((other) => upstream.get(other).includes(kind))));
81
+ const column = new Map();
82
+ const walking = new Set();
83
+ const columnOf = (kind) => {
84
+ const known = column.get(kind);
85
+ if (known !== undefined)
86
+ return known;
87
+ if (walking.has(kind))
88
+ return -1;
89
+ walking.add(kind);
90
+ let at = 0;
91
+ for (const target of upstream.get(kind))
92
+ at = Math.max(at, columnOf(target) + 1);
93
+ walking.delete(kind);
94
+ column.set(kind, at);
95
+ return at;
96
+ };
97
+ for (const kind of order)
98
+ if (linked.has(kind))
99
+ columnOf(kind);
100
+ /*
101
+ * WITHIN A COLUMN, near what it points at: ordered by where its upstream
102
+ * kinds stand, so the streets between two columns cross as little as
103
+ * they can; then by the declaration's order.
104
+ */
105
+ const columns = [];
106
+ for (const kind of order)
107
+ if (linked.has(kind))
108
+ (columns[column.get(kind)] ??= []).push(kind);
109
+ const slot = new Map();
110
+ /*
111
+ * THE MAP LIES ALONG THE GROUND'S OWN AXES. Upstream to downstream runs
112
+ * along one of the lattice's two axes — up and to the right on the
113
+ * screen, as a street in an isometric city does — and the kinds of one
114
+ * column stand along the other, a row of districts on each line. Every
115
+ * row is on one line of the lattice, so the street in the gutter in
116
+ * front of it is one straight run, and a ribbon between two districts
117
+ * of a row runs straight down it; one between two rows bends once. They
118
+ * were laid on the lattice's diagonal, which reads left to right but put
119
+ * every row across the grain of the ground, so no street could run
120
+ * along one. Turned upright for a tall window, upstream to downstream
121
+ * runs down and to the right instead.
122
+ */
123
+ /*
124
+ * In a tall window a long chain folds: as many columns to a band as there
125
+ * are bands, each band a row along the ground's down-and-right axis, the
126
+ * next band beside it — so a phone holds the city at a size it can read,
127
+ * and a ribbon from one band to the next bends once.
128
+ */
129
+ const fold = Math.max(1, Math.ceil(Math.sqrt(columns.length)));
130
+ const depth = Math.max(1, ...columns.map((list) => list?.length ?? 0));
131
+ const pitch = Math.max(PITCH, Math.round(hints.pitch ?? PITCH));
132
+ const at = (i, j) => hints.upright ? { col: (i % fold) * pitch, row: (Math.floor(i / fold) * (depth + 1) + j) * pitch } : { col: j * pitch, row: i === 0 ? 0 : -i * pitch };
133
+ const free = (cell) => !taken.some((other) => plotsOverlap(other, cell));
134
+ const place = (kind, i, from) => {
135
+ let j = from;
136
+ while (!free(at(i, j)) && j < from + 64)
137
+ j++;
138
+ if (!plots.has(kind))
139
+ put(kind, at(i, j).col, at(i, j).row);
140
+ return j;
141
+ };
142
+ let deepest = 0;
143
+ columns.forEach((list = [], i) => {
144
+ const mean = (kind) => {
145
+ const near = upstream.get(kind).map((target) => slot.get(target)).filter((j) => j !== undefined);
146
+ return near.length > 0 ? near.reduce((a, b) => a + b, 0) / near.length : Infinity;
147
+ };
148
+ const sorted = [...list].sort((a, b) => mean(a) - mean(b) || rank(a) - rank(b));
149
+ let j = 0;
150
+ for (const kind of sorted) {
151
+ if (plots.has(kind))
152
+ continue;
153
+ j = place(kind, i, j);
154
+ slot.set(kind, j);
155
+ deepest = Math.max(deepest, j + 1);
156
+ j++;
96
157
  }
97
- put(kind, found?.col ?? from.col + BLOCK * plots.size, found?.row ?? from.row);
98
- }
158
+ });
159
+ /*
160
+ * THE MARGIN: kinds tied to nothing, in rows of their own a place apart
161
+ * from the map and parallel to it — beside its rows when it runs up and
162
+ * to the right, after its last band when it runs down — as wide as the
163
+ * map is.
164
+ */
165
+ const loose = order.filter((kind) => !linked.has(kind) && !plots.has(kind));
166
+ const across = Math.max(hints.upright ? deepest : columns.length, Math.ceil(Math.sqrt(loose.length * 2)), 1);
167
+ const apart = linked.size > 0 ? 1 : 0;
168
+ loose.forEach((kind, n) => {
169
+ if (hints.upright)
170
+ place(kind, columns.length + apart + Math.floor(n / across), n % across);
171
+ else
172
+ place(kind, n % across, deepest + apart + Math.floor(n / across));
173
+ });
99
174
  return plots;
100
175
  }
101
- /** The roads between placed kinds: one per pair joined by any declared edge. */
102
- export function roadsOf(schema, map) {
103
- const kinds = [...map.keys()].sort(byId);
104
- const roads = [];
105
- for (let i = 0; i < kinds.length; i++) {
106
- for (let j = i + 1; j < kinds.length; j++) {
107
- const a = kinds[i];
108
- const b = kinds[j];
109
- const edges = [];
110
- for (const [from, to] of [
111
- [a, b],
112
- [b, a],
113
- ]) {
114
- const definition = schema.tryDefinition(from);
115
- for (const [name, declaration] of Object.entries(definition?.edges ?? {})) {
116
- const targets = declaration.to === "*" ? schema.kinds : declaration.to;
117
- if (targets.includes(to))
118
- edges.push(name);
119
- }
120
- }
121
- if (edges.length > 0)
122
- roads.push({ from: a, to: b, edges });
123
- }
124
- }
125
- return roads;
126
- }
127
176
  /**
128
177
  * Two plots overlap when their blocks do — the checker's question about
129
178
  * hand-laid plots, asked at the block size so a plot growing to its
@@ -152,75 +201,39 @@ export function cityExtent(map) {
152
201
  * THE 2:1 LATTICE, as a projection. A cell (col,row) meets the screen at
153
202
  * x = (col − row) · w/2, y = (col + row) · h/2 with h = w/2 — the same
154
203
  * pitch the ground's CSS draws (lines at ±atan 2), so a plot placed here
155
- * sits on the grid a person can see.
204
+ * sits on the grid a person can see. `tilt` is h/w: a half is the city
205
+ * seen at an angle, one is the same ground seen from straight above.
156
206
  */
157
- export function toIso(col, row, cell) {
158
- return { x: ((col - row) * cell) / 2, y: ((col + row) * cell) / 4 };
207
+ export function toIso(col, row, cell, tilt = 0.5) {
208
+ return { x: ((col - row) * cell) / 2, y: ((col + row) * cell * tilt) / 2 };
159
209
  }
160
- /*
161
- * THE VILLAGE ON A PLOT. From altitude a district stands one building per
162
- * member on its plot's own sub-lattice. Pure arithmetic on the map, so it
163
- * lives with the map: the scene draws it, and so does a picture of an app
164
- * drawn without a browser.
165
- */
166
- /** The most buildings a plot of this side holds: a sub-lattice of side+1 to a side, minus the square in the middle. */
167
- export function villageCap(side) {
168
- const n = side + 1;
169
- return n * n - squareCells(n).length;
210
+ /** The tilt the city is seen at by default; from straight above (`TOP_DOWN`) on a person's asking. */
211
+ export const TILTED = 0.5;
212
+ export const TOP_DOWN = 1;
213
+ const DONE = /^(done|completed?|closed|finished|shipped|sent|won|lost|passed|declined|dropped|answered|resolved|fixed|archived|cancell?ed|retired|released|published|delivered|paid|merged|rejected|written[-_ ]?up|out)$/i;
214
+ const ACTIVE = /^(doing|in[-_ ]?progress|active|building|started|working|in[-_ ]?review|review(ing)?|fixing|ongoing|underway|testing|drafting|writing|running)$/i;
215
+ /** The values of an enum field, through optional, default and nullable; undefined when it is not one. */
216
+ function enumValues(schema, kind, field) {
217
+ let def = defOf(schema.tryDefinition(kind)?.fields.shape?.[field]);
218
+ while (def && def.innerType !== undefined && def.type !== "enum")
219
+ def = defOf(def.innerType);
220
+ if (def?.type !== "enum")
221
+ return undefined;
222
+ const values = (def.entries ? Object.values(def.entries) : (def.values ?? [])).filter((value) => typeof value === "string");
223
+ return values.length > 0 ? values : undefined;
170
224
  }
171
- /** The sub-cells of an n×n sub-lattice that make the village square: the middle one, or the middle four; a 2×2 has no room for one. */
172
- function squareCells(n) {
173
- if (n < 3)
174
- return [];
175
- if (n % 2 === 1) {
176
- const mid = (n - 1) / 2;
177
- return [[mid, mid]];
178
- }
179
- const a = n / 2 - 1;
180
- const b = n / 2;
181
- return [
182
- [a, a],
183
- [b, a],
184
- [a, b],
185
- [b, b],
186
- ];
187
- }
188
- /** A stable number in [0, 1) from an id, so a village is not a barracks and does not reshuffle on every render. */
189
- export function heightOf(id) {
190
- let h = 2166136261;
191
- for (let i = 0; i < id.length; i++)
192
- h = Math.imul(h ^ id.charCodeAt(i), 16777619);
193
- return ((h >>> 0) % 1000) / 1000;
194
- }
195
- /**
196
- * WHERE THE MEMBERS STAND. One building per member on the plot's own
197
- * sub-lattice, back to front so the near ones are drawn last; the middle
198
- * of the plot is the village square, where the nameplate and the kind's
199
- * landmark stand, so no building is under them. Past the cap the rest are
200
- * a number on the curb.
201
- */
202
- export function villageOf(plot, memberIds) {
203
- const n = plot.side + 1;
204
- const square = new Set(squareCells(n).map(([c, r]) => `${c},${r}`));
205
- const pitch = plot.side / n;
206
- const cells = [];
207
- for (let r = 0; r < n; r++)
208
- for (let c = 0; c < n; c++)
209
- if (!square.has(`${c},${r}`))
210
- cells.push([c, r]);
211
- // Back to front: a smaller col+row is further from the viewer on a 2:1 lattice.
212
- cells.sort((a, b) => a[0] + a[1] - (b[0] + b[1]) || a[0] - b[0]);
213
- const shown = memberIds.slice(0, cells.length);
214
- const buildings = shown.map((id, i) => {
215
- const [c, r] = cells[i];
216
- return {
217
- id,
218
- col: plot.col + (c + 0.5) * pitch,
219
- row: plot.row + (r + 0.5) * pitch,
220
- footprint: pitch * 0.62,
221
- height: 0.55 + heightOf(id) * 0.7,
222
- };
223
- });
224
- return { buildings, rest: Math.max(0, memberIds.length - shown.length) };
225
+ /** A kind's main choice field and how each of its values reads; undefined when the kind has none. */
226
+ export function districtState(schema, kind) {
227
+ const definition = schema.tryDefinition(kind);
228
+ if (!definition)
229
+ return undefined;
230
+ const lifecycle = definition.lifecycle;
231
+ const fields = Object.keys((definition.fields.shape ?? {}));
232
+ const field = [lifecycle?.field, ...fields.filter((name) => /^(status|stage|state|phase)$/i.test(name))].find((name) => name !== undefined && enumValues(schema, kind, name) !== undefined);
233
+ if (!field)
234
+ return undefined;
235
+ const values = enumValues(schema, kind, field);
236
+ const retired = lifecycle?.field === field && Array.isArray(lifecycle.retired) ? lifecycle.retired : [];
237
+ return { field, values, tiers: values.map((value) => (retired.includes(value) || DONE.test(value) ? "done" : ACTIVE.test(value) ? "active" : "waiting")) };
225
238
  }
226
239
  //# sourceMappingURL=city.js.map
package/dist/city.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"city.js","sourceRoot":"","sources":["../src/city.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"city.js","sourceRoot":"","sources":["../src/city.ts"],"names":[],"mappings":"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"}
@@ -48,7 +48,7 @@ export function checkAccents(ctx) {
48
48
  add({ severity: "error", code: "brand-currency", where: "brand.currency", message: `"${currency}" is not a currency's three-letter code, so money would be said with no symbol.`, fix: 'Use an ISO 4217 code, like "USD", "EUR" or "GBP".' });
49
49
  }
50
50
  if (locale !== undefined && !formats({}, locale)) {
51
- add({ severity: "error", code: "brand-locale", where: "brand.locale", message: `"${locale}" is not a locale, so money could not be written for it.`, fix: 'Use a language tag, like "en-US" or "de-DE".' });
51
+ add({ severity: "error", code: "brand-locale", where: "brand.locale", message: `"${locale}" is not a locale, so its days, times, numbers and money could not be written for it.`, fix: 'Use a language tag, like "en-US" or "de-DE".' });
52
52
  }
53
53
  }
54
54
  export function checkPalette(ctx) {
@@ -1 +1 @@
1
- {"version":3,"file":"brand.js","sourceRoot":"","sources":["../../../src/cli/check/brand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAkBlE,MAAM,UAAU,YAAY,CAAsB,GAAoB;IACpE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAChC;;;;OAIG;IACH,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QACnE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,GAAG,CAAC;gBACF,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,2BAA2B;gBACjC,KAAK,EAAE,kBAAkB,IAAI,IAAI;gBACjC,OAAO,EAAE,8BAA8B,IAAI,kCAAkC;gBAC7E,GAAG,EAAE,qDAAqD,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;aACnF,CAAC,CAAC;QACL,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC;gBACF,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,wBAAwB;gBAC9B,KAAK,EAAE,kBAAkB,IAAI,IAAI;gBACjC,OAAO,EAAE,uDAAuD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG;gBACtF,GAAG,EAAE,2CAA2C;aACjD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD;;;;OAIG;IACH,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;IAC7C,MAAM,OAAO,GAAG,CAAC,OAAiC,EAAE,EAAW,EAAE,EAAE;QACjE,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,OAAO,EAAE,OAAO,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IACF,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC;QAC1G,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,IAAI,QAAQ,iFAAiF,EAAE,GAAG,EAAE,mDAAmD,EAAE,CAAC,CAAC;IAChP,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,MAAM,0DAA0D,EAAE,GAAG,EAAE,8CAA8C,EAAE,CAAC,CAAC;IAC9M,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAsB,GAAoB;IACpE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IAChC;;;;;;;;;OASG;IACH,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,KAAK,MAAM,OAAO,IAAI,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5D,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACrC,GAAG,CAAC;oBACF,QAAQ,EAAE,SAAS;oBACnB,IAAI,EAAE,wBAAwB;oBAC9B,KAAK,EAAE,iBAAiB,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE;oBACjG,OAAO,EAAE,mBAAmB,OAAO,CAAC,UAAU,6BAA6B,OAAO,CAAC,GAAG,OAAO,OAAO,CAAC,EAAE,mBAAmB;oBAC1H,GAAG,EAAE,iEAAiE;iBACvE,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,uGAAuG;YACvG,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAsC,CAAC;YACtF,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC;YACxF,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC1J,GAAG,CAAC;gBACF,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,yBAAyB;gBAC/B,KAAK,EAAE,iBAAiB,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,GAAG,OAAO,OAAO,CAAC,EAAE,EAAE;gBACzE,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,CAAC,GAAG,QAAQ,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,EAAE,QAAQ,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,QAAQ,kBAAkB,OAAO,CAAC,KAAK,GAAG;gBACrL,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,mBAAmB,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,sBAAsB,OAAO,CAAC,GAAG,qCAAqC;aACjI,CAAC,CAAC;QACL,CAAC;QACD;;;;WAIG;QACH,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;YACrC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAa,EAAE,CAAC;gBAChE,KAAK,MAAM,OAAO,IAAI,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;oBACvE,MAAM,KAAK,GAAG,wBAAwB,OAAO,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC;oBAC9G,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;wBACrC,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;4BAAE,SAAS;wBACpC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBACtB,GAAG,CAAC;4BACF,QAAQ,EAAE,SAAS;4BACnB,IAAI,EAAE,sBAAsB;4BAC5B,KAAK;4BACL,OAAO,EAAE,mBAAmB,OAAO,CAAC,UAAU,+DAA+D;4BAC7G,GAAG,EAAE,kCAAkC;yBACxC,CAAC,CAAC;wBACH,SAAS;oBACX,CAAC;oBACD,GAAG,CAAC;wBACF,QAAQ,EAAE,OAAO;wBACjB,IAAI,EAAE,uBAAuB;wBAC7B,KAAK,EAAE,GAAG,KAAK,OAAO,MAAM,EAAE;wBAC9B,uJAAuJ;wBACvJ,OAAO,EAAE,GAAG,OAAO,CAAC,KAAK,kBAAkB,OAAO,CAAC,MAAM,IAAI,QAAQ,WAAW,MAAM,kBAAkB,OAAO,CAAC,QAAQ,uCAAuC;wBAC/J,GAAG,EAAE,sBAAsB,OAAO,CAAC,KAAK,0DAA0D;qBACnG,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC;gBACF,QAAQ,EAAE,SAAS;gBACnB,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,YAAY;gBACnB,OAAO,EAAE,+EAA+E;gBACxF,GAAG,EAAE,qCAAqC;aAC3C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,yEAAyE;IACzE,iCAAiC;IACjC,KAAK,MAAM,UAAU,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAChD,IAAI,CAAC,UAAU,CAAC,iBAAiB;YAAE,SAAS;QAC5C,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;aACnB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC;aACtE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CACtB,CAAC;QACF,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACvB,GAAG,CAAC;gBACF,QAAQ,EAAE,SAAS;gBACnB,IAAI,EAAE,iCAAiC;gBACvC,KAAK,EAAE,eAAe,UAAU,CAAC,IAAI,sBAAsB;gBAC3D,OAAO,EAAE,IAAI,UAAU,CAAC,IAAI,uFAAuF;gBACnH,GAAG,EAAE,oCAAoC,UAAU,CAAC,IAAI,+BAA+B;aACxF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;QACtD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,GAAG,CAAC;oBACF,QAAQ,EAAE,SAAS;oBACnB,IAAI,EAAE,mBAAmB;oBACzB,KAAK,EAAE,eAAe,IAAI,IAAI;oBAC9B,OAAO,EAAE,8BAA8B,IAAI,uCAAuC;oBAClF,GAAG,EAAE,wCAAwC,IAAI,6EAA6E;iBAC/H,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,KAAK,MAAM,YAAY,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,GAAG,CAAC;oBACF,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,0BAA0B;oBAChC,KAAK,EAAE,mBAAmB,YAAY,CAAC,IAAI,SAAS;oBACpD,OAAO,EAAE,6BAA6B,YAAY,CAAC,IAAI,kCAAkC;oBACzF,GAAG,EAAE,oDAAoD;iBAC1D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"brand.js","sourceRoot":"","sources":["../../../src/cli/check/brand.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { AnySchema } from "../../schema/schema.js";
2
+ import type { CheckContext } from "./context.js";
3
+ export declare function checkClockRules<S extends AnySchema>(ctx: CheckContext<S>): void;
4
+ //# sourceMappingURL=clock-rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clock-rules.d.ts","sourceRoot":"","sources":["../../../src/cli/check/clock-rules.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAYjD,wBAAgB,eAAe,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAY/E"}