@johnmorrisdotca/kyogijo-stadiums 0.45.2 → 0.46.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 (326) hide show
  1. package/CHANGELOG.md +71 -0
  2. package/NOTICE.md +9 -2
  3. package/dist/annotate.d.ts +1 -1
  4. package/dist/annotate.js +1 -1
  5. package/dist/areas.d.ts +4 -0
  6. package/dist/areas.js +33 -1
  7. package/dist/arenas-entry.d.ts +1 -0
  8. package/dist/arenas-entry.js +2 -0
  9. package/dist/athletics/describe.js +1 -1
  10. package/dist/athletics-entry.d.ts +1 -0
  11. package/dist/athletics-entry.js +2 -0
  12. package/dist/atlas-entry.d.ts +1 -0
  13. package/dist/atlas-entry.js +2 -0
  14. package/dist/ballpark.d.ts +1 -1
  15. package/dist/ballpark.js +1 -1
  16. package/dist/budo/describe.js +1 -1
  17. package/dist/budo-entry.d.ts +1 -0
  18. package/dist/budo-entry.js +2 -0
  19. package/dist/canvas-entry.d.ts +1 -0
  20. package/dist/canvas-entry.js +2 -0
  21. package/dist/charts-entry.d.ts +1 -0
  22. package/dist/charts-entry.js +2 -0
  23. package/dist/charts.athletics.js +1 -1
  24. package/dist/charts.baseball.js +1 -1
  25. package/dist/charts.curling.heat.js +1 -1
  26. package/dist/charts.curling.js +1 -1
  27. package/dist/charts.d.ts +1 -1
  28. package/dist/charts.js +1 -1
  29. package/dist/charts.network.js +1 -1
  30. package/dist/charts.pool.js +1 -1
  31. package/dist/charts.skating.js +1 -1
  32. package/dist/charts.soccer.js +1 -1
  33. package/dist/cityctx-entry.d.ts +1 -0
  34. package/dist/cityctx-entry.js +2 -0
  35. package/dist/cityctx.belmont-park.data.d.ts +3 -0
  36. package/dist/cityctx.belmont-park.data.js +1802 -0
  37. package/dist/cityctx.data.d.ts +10 -1
  38. package/dist/cityctx.data.js +11 -2
  39. package/dist/cityctx.js +19 -1
  40. package/dist/cityctx.meadowlands.data.d.ts +3 -0
  41. package/dist/cityctx.meadowlands.data.js +820 -0
  42. package/dist/cityctx.montreal-city.data.d.ts +3 -0
  43. package/dist/cityctx.montreal-city.data.js +2899 -0
  44. package/dist/cityctx.montreal-downtown.data.d.ts +3 -0
  45. package/dist/cityctx.montreal-downtown.data.js +3004 -0
  46. package/dist/cityctx.montreal-olympic.data.d.ts +3 -0
  47. package/dist/cityctx.montreal-olympic.data.js +2562 -0
  48. package/dist/cityctx.nyc-bronx.data.d.ts +3 -0
  49. package/dist/cityctx.nyc-bronx.data.js +1671 -0
  50. package/dist/cityctx.nyc-brooklyn.data.d.ts +3 -0
  51. package/dist/cityctx.nyc-brooklyn.data.js +3485 -0
  52. package/dist/cityctx.nyc-flushing.data.d.ts +3 -0
  53. package/dist/cityctx.nyc-flushing.data.js +865 -0
  54. package/dist/cityctx.nyc-midtown.data.d.ts +3 -0
  55. package/dist/cityctx.nyc-midtown.data.js +2438 -0
  56. package/dist/crowd.d.ts +22 -2
  57. package/dist/d3-entry.d.ts +1 -0
  58. package/dist/d3-entry.js +2 -0
  59. package/dist/district-entry.d.ts +2 -0
  60. package/dist/district-entry.js +4 -0
  61. package/dist/district-lean-entry.js +1 -1
  62. package/dist/district.js +2 -2
  63. package/dist/draw.js +3 -3
  64. package/dist/element-entry.d.ts +1 -0
  65. package/dist/element-entry.js +2 -0
  66. package/dist/eras-entry.d.ts +1 -0
  67. package/dist/eras-entry.js +2 -0
  68. package/dist/events.js +1 -1
  69. package/dist/flythrough-entry.d.ts +1 -0
  70. package/dist/flythrough-entry.js +2 -0
  71. package/dist/flythrough.dom.d.ts +2 -0
  72. package/dist/flythrough.dom.js +2 -2
  73. package/dist/frames-entry.d.ts +1 -0
  74. package/dist/frames-entry.js +2 -0
  75. package/dist/full.d.ts +1 -0
  76. package/dist/full.js +3 -1
  77. package/dist/geojson-entry.d.ts +1 -0
  78. package/dist/geojson-entry.js +2 -0
  79. package/dist/geometry-entry.d.ts +1 -0
  80. package/dist/geometry-entry.js +2 -0
  81. package/dist/grounds-entry.d.ts +1 -0
  82. package/dist/grounds-entry.js +2 -0
  83. package/dist/heat.js +1 -1
  84. package/dist/heat.zones.d.ts +1 -1
  85. package/dist/heat.zones.js +1 -1
  86. package/dist/index.d.ts +3 -2
  87. package/dist/index.js +3 -1
  88. package/dist/judging-entry.d.ts +1 -0
  89. package/dist/judging-entry.js +2 -0
  90. package/dist/judging.board.js +1 -1
  91. package/dist/judging.draw.js +1 -1
  92. package/dist/judging.js +1 -1
  93. package/dist/judging.text.js +1 -1
  94. package/dist/layers.env.d.ts +1 -1
  95. package/dist/layers.env.js +1 -1
  96. package/dist/layers.js +1 -1
  97. package/dist/layout.js +1 -1
  98. package/dist/layouts-entry.d.ts +1 -0
  99. package/dist/layouts-entry.js +2 -0
  100. package/dist/leagues-entry.d.ts +1 -0
  101. package/dist/leagues-entry.js +2 -0
  102. package/dist/mount-entry.d.ts +1 -0
  103. package/dist/mount-entry.js +2 -0
  104. package/dist/multi-entry.d.ts +1 -0
  105. package/dist/multi-entry.js +2 -0
  106. package/dist/multi.draw.js +1 -1
  107. package/dist/multi.js +1 -1
  108. package/dist/osm-entry.d.ts +1 -0
  109. package/dist/osm-entry.js +2 -0
  110. package/dist/outside.d.ts +2 -1
  111. package/dist/outside.js +7 -6
  112. package/dist/parks-entry.d.ts +1 -0
  113. package/dist/parks-entry.js +2 -0
  114. package/dist/plateau-entry.d.ts +1 -0
  115. package/dist/plateau-entry.js +2 -0
  116. package/dist/plot-entry.d.ts +1 -0
  117. package/dist/plot-entry.js +2 -0
  118. package/dist/png-entry.d.ts +1 -0
  119. package/dist/png-entry.js +2 -0
  120. package/dist/pool.replay.js +1 -1
  121. package/dist/pool.words.js +1 -1
  122. package/dist/ranges.js +1 -1
  123. package/dist/react-entry.d.ts +1 -0
  124. package/dist/react-entry.js +2 -0
  125. package/dist/replay-entry.d.ts +1 -0
  126. package/dist/replay-entry.js +2 -0
  127. package/dist/replay.d.ts +1 -1
  128. package/dist/replay.dom.js +1 -1
  129. package/dist/replay.js +1 -1
  130. package/dist/rules.js +1 -1
  131. package/dist/scene-entry.d.ts +1 -0
  132. package/dist/scene-entry.js +2 -0
  133. package/dist/situation.draw.js +1 -1
  134. package/dist/situation.js +1 -1
  135. package/dist/skating/describe.js +1 -1
  136. package/dist/skating-entry.d.ts +1 -0
  137. package/dist/skating-entry.js +2 -0
  138. package/dist/stadiums-entry.d.ts +1 -0
  139. package/dist/stadiums-entry.js +2 -0
  140. package/dist/stadiums.d.ts +35 -4
  141. package/dist/stadiums.data.js +60 -0
  142. package/dist/stadiums.js +31 -5
  143. package/dist/stadiums.osm.data.js +224 -2
  144. package/dist/strings.core.d.ts +1105 -0
  145. package/dist/strings.core.js +55 -0
  146. package/dist/strings.d.ts +4 -1084
  147. package/dist/strings.en.d.ts +2 -0
  148. package/dist/strings.en.js +537 -0
  149. package/dist/strings.ja.d.ts +2 -0
  150. package/dist/strings.ja.js +562 -0
  151. package/dist/strings.js +5 -1100
  152. package/dist/surfaces/venue.js +1 -1
  153. package/dist/target.js +1 -1
  154. package/dist/team.common.js +1 -1
  155. package/dist/team.formation.js +1 -1
  156. package/dist/team.lineup.js +1 -1
  157. package/dist/team.motion.js +1 -1
  158. package/dist/team.network.js +1 -1
  159. package/dist/team.shape.js +1 -1
  160. package/dist/turn-entry.d.ts +1 -0
  161. package/dist/turn-entry.js +2 -0
  162. package/dist/turn.kit.d.ts +14 -1
  163. package/dist/turn.kit.js +19 -0
  164. package/dist/turn.model.d.ts +1 -1
  165. package/dist/turn.model.js +1 -1
  166. package/dist/turn.style.js +16 -3
  167. package/dist/uprights.js +1 -1
  168. package/dist/venue-data-entry.d.ts +2 -0
  169. package/dist/venue-data-entry.js +5 -1
  170. package/dist/venue-data.d.ts +1 -1
  171. package/dist/venue-data.js +5 -2
  172. package/dist/venue.js +3 -1
  173. package/dist/venue.real.d.ts +45 -1
  174. package/dist/venue.real.js +225 -15
  175. package/dist/venues/amerant-bank-arena.data.d.ts +2 -0
  176. package/dist/venues/amerant-bank-arena.data.js +9 -0
  177. package/dist/venues/amerant-bank-arena.osm.data.d.ts +2 -0
  178. package/dist/venues/amerant-bank-arena.osm.data.js +47 -0
  179. package/dist/venues/american-airlines-center.data.d.ts +2 -0
  180. package/dist/venues/american-airlines-center.data.js +9 -0
  181. package/dist/venues/american-airlines-center.osm.data.d.ts +2 -0
  182. package/dist/venues/american-airlines-center.osm.data.js +57 -0
  183. package/dist/venues/ball-arena.data.d.ts +2 -0
  184. package/dist/venues/ball-arena.data.js +9 -0
  185. package/dist/venues/ball-arena.osm.data.d.ts +2 -0
  186. package/dist/venues/ball-arena.osm.data.js +63 -0
  187. package/dist/venues/bell-centre.data.d.ts +2 -0
  188. package/dist/venues/bell-centre.data.js +9 -0
  189. package/dist/venues/bell-centre.osm.data.d.ts +2 -0
  190. package/dist/venues/bell-centre.osm.data.js +24 -0
  191. package/dist/venues/benchmark-international-arena.data.d.ts +2 -0
  192. package/dist/venues/benchmark-international-arena.data.js +9 -0
  193. package/dist/venues/benchmark-international-arena.osm.data.d.ts +2 -0
  194. package/dist/venues/benchmark-international-arena.osm.data.js +57 -0
  195. package/dist/venues/bridgestone-arena.data.d.ts +2 -0
  196. package/dist/venues/bridgestone-arena.data.js +9 -0
  197. package/dist/venues/bridgestone-arena.osm.data.d.ts +2 -0
  198. package/dist/venues/bridgestone-arena.osm.data.js +43 -0
  199. package/dist/venues/canada-life-centre.data.d.ts +2 -0
  200. package/dist/venues/canada-life-centre.data.js +9 -0
  201. package/dist/venues/canada-life-centre.osm.data.d.ts +2 -0
  202. package/dist/venues/canada-life-centre.osm.data.js +35 -0
  203. package/dist/venues/canadian-tire-centre.data.d.ts +2 -0
  204. package/dist/venues/canadian-tire-centre.data.js +9 -0
  205. package/dist/venues/canadian-tire-centre.osm.data.d.ts +2 -0
  206. package/dist/venues/canadian-tire-centre.osm.data.js +45 -0
  207. package/dist/venues/capital-one-arena.data.d.ts +2 -0
  208. package/dist/venues/capital-one-arena.data.js +9 -0
  209. package/dist/venues/capital-one-arena.osm.data.d.ts +2 -0
  210. package/dist/venues/capital-one-arena.osm.data.js +22 -0
  211. package/dist/venues/climate-pledge-arena.data.d.ts +2 -0
  212. package/dist/venues/climate-pledge-arena.data.js +9 -0
  213. package/dist/venues/climate-pledge-arena.osm.data.d.ts +2 -0
  214. package/dist/venues/climate-pledge-arena.osm.data.js +32 -0
  215. package/dist/venues/crypto-com-arena.data.d.ts +2 -0
  216. package/dist/venues/crypto-com-arena.data.js +9 -0
  217. package/dist/venues/crypto-com-arena.osm.data.d.ts +2 -0
  218. package/dist/venues/crypto-com-arena.osm.data.js +64 -0
  219. package/dist/venues/delta-center.data.d.ts +2 -0
  220. package/dist/venues/delta-center.data.js +9 -0
  221. package/dist/venues/delta-center.osm.data.d.ts +2 -0
  222. package/dist/venues/delta-center.osm.data.js +40 -0
  223. package/dist/venues/enterprise-center.data.d.ts +2 -0
  224. package/dist/venues/enterprise-center.data.js +9 -0
  225. package/dist/venues/enterprise-center.osm.data.d.ts +2 -0
  226. package/dist/venues/enterprise-center.osm.data.js +35 -0
  227. package/dist/venues/grand-casino-arena.data.d.ts +2 -0
  228. package/dist/venues/grand-casino-arena.data.js +9 -0
  229. package/dist/venues/grand-casino-arena.osm.data.d.ts +2 -0
  230. package/dist/venues/grand-casino-arena.osm.data.js +37 -0
  231. package/dist/venues/honda-center.data.d.ts +2 -0
  232. package/dist/venues/honda-center.data.js +9 -0
  233. package/dist/venues/honda-center.osm.data.d.ts +2 -0
  234. package/dist/venues/honda-center.osm.data.js +46 -0
  235. package/dist/venues/keybank-center.data.d.ts +2 -0
  236. package/dist/venues/keybank-center.data.js +9 -0
  237. package/dist/venues/keybank-center.osm.data.d.ts +2 -0
  238. package/dist/venues/keybank-center.osm.data.js +34 -0
  239. package/dist/venues/lenovo-center.data.d.ts +2 -0
  240. package/dist/venues/lenovo-center.data.js +9 -0
  241. package/dist/venues/lenovo-center.osm.data.d.ts +2 -0
  242. package/dist/venues/lenovo-center.osm.data.js +51 -0
  243. package/dist/venues/little-caesars-arena.data.d.ts +2 -0
  244. package/dist/venues/little-caesars-arena.data.js +9 -0
  245. package/dist/venues/little-caesars-arena.osm.data.d.ts +2 -0
  246. package/dist/venues/little-caesars-arena.osm.data.js +64 -0
  247. package/dist/venues/madison-square-garden.data.d.ts +2 -0
  248. package/dist/venues/madison-square-garden.data.js +9 -0
  249. package/dist/venues/madison-square-garden.osm.data.d.ts +2 -0
  250. package/dist/venues/madison-square-garden.osm.data.js +47 -0
  251. package/dist/venues/nationwide-arena.data.d.ts +2 -0
  252. package/dist/venues/nationwide-arena.data.js +9 -0
  253. package/dist/venues/nationwide-arena.osm.data.d.ts +2 -0
  254. package/dist/venues/nationwide-arena.osm.data.js +50 -0
  255. package/dist/venues/ppg-paints-arena.data.d.ts +2 -0
  256. package/dist/venues/ppg-paints-arena.data.js +9 -0
  257. package/dist/venues/ppg-paints-arena.osm.data.d.ts +2 -0
  258. package/dist/venues/ppg-paints-arena.osm.data.js +31 -0
  259. package/dist/venues/prudential-center.data.d.ts +2 -0
  260. package/dist/venues/prudential-center.data.js +9 -0
  261. package/dist/venues/prudential-center.osm.data.d.ts +2 -0
  262. package/dist/venues/prudential-center.osm.data.js +41 -0
  263. package/dist/venues/rogers-arena.data.d.ts +2 -0
  264. package/dist/venues/rogers-arena.data.js +10 -0
  265. package/dist/venues/rogers-arena.osm.data.d.ts +2 -0
  266. package/dist/venues/rogers-arena.osm.data.js +27 -0
  267. package/dist/venues/rogers-place.data.d.ts +2 -0
  268. package/dist/venues/rogers-place.data.js +9 -0
  269. package/dist/venues/rogers-place.osm.data.d.ts +2 -0
  270. package/dist/venues/rogers-place.osm.data.js +40 -0
  271. package/dist/venues/sap-center.data.d.ts +2 -0
  272. package/dist/venues/sap-center.data.js +9 -0
  273. package/dist/venues/sap-center.osm.data.d.ts +2 -0
  274. package/dist/venues/sap-center.osm.data.js +54 -0
  275. package/dist/venues/scotiabank-arena.data.d.ts +2 -0
  276. package/dist/venues/scotiabank-arena.data.js +9 -0
  277. package/dist/venues/scotiabank-arena.osm.data.d.ts +2 -0
  278. package/dist/venues/scotiabank-arena.osm.data.js +45 -0
  279. package/dist/venues/scotiabank-saddledome.data.d.ts +2 -0
  280. package/dist/venues/scotiabank-saddledome.data.js +9 -0
  281. package/dist/venues/scotiabank-saddledome.osm.data.d.ts +2 -0
  282. package/dist/venues/scotiabank-saddledome.osm.data.js +46 -0
  283. package/dist/venues/t-mobile-arena.data.d.ts +2 -0
  284. package/dist/venues/t-mobile-arena.data.js +9 -0
  285. package/dist/venues/t-mobile-arena.osm.data.d.ts +2 -0
  286. package/dist/venues/t-mobile-arena.osm.data.js +50 -0
  287. package/dist/venues/td-garden.data.d.ts +2 -0
  288. package/dist/venues/td-garden.data.js +9 -0
  289. package/dist/venues/td-garden.osm.data.d.ts +2 -0
  290. package/dist/venues/td-garden.osm.data.js +24 -0
  291. package/dist/venues/ubs-arena.data.d.ts +2 -0
  292. package/dist/venues/ubs-arena.data.js +9 -0
  293. package/dist/venues/ubs-arena.osm.data.d.ts +2 -0
  294. package/dist/venues/ubs-arena.osm.data.js +33 -0
  295. package/dist/venues/united-center.data.d.ts +2 -0
  296. package/dist/venues/united-center.data.js +9 -0
  297. package/dist/venues/united-center.osm.data.d.ts +2 -0
  298. package/dist/venues/united-center.osm.data.js +56 -0
  299. package/dist/venues/xfinity-mobile-arena.data.d.ts +2 -0
  300. package/dist/venues/xfinity-mobile-arena.data.js +9 -0
  301. package/dist/venues/xfinity-mobile-arena.osm.data.d.ts +2 -0
  302. package/dist/venues/xfinity-mobile-arena.osm.data.js +47 -0
  303. package/dist/venues-entry.d.ts +1 -0
  304. package/dist/venues-entry.js +2 -0
  305. package/dist/venues.all.d.ts +1 -0
  306. package/dist/venues.all.js +6 -0
  307. package/dist/venues.d.ts +18 -6
  308. package/dist/venues.data.js +1 -1
  309. package/dist/venues.index.d.ts +8 -0
  310. package/dist/venues.index.js +34 -0
  311. package/dist/venues.js +45 -8
  312. package/dist/venues.osm.data.d.ts +0 -2
  313. package/dist/venues.osm.data.js +0 -2
  314. package/dist/version.d.ts +1 -1
  315. package/dist/version.js +1 -1
  316. package/dist/walk/vancouver.data.d.ts +2 -0
  317. package/dist/walk/vancouver.data.js +1291 -0
  318. package/dist/walk.d.ts +24 -1
  319. package/dist/walk.data.d.ts +2 -2
  320. package/dist/walk.data.js +13 -1293
  321. package/dist/walk.full.d.ts +1 -0
  322. package/dist/walk.full.js +5 -0
  323. package/dist/walk.index.d.ts +7 -0
  324. package/dist/walk.index.js +3 -0
  325. package/dist/walk.js +69 -7
  326. package/package.json +7 -2
@@ -0,0 +1,54 @@
1
+ export const OSM = {
2
+ "source": "way/24169210",
3
+ "read": "2026-10-20",
4
+ "base": "2026-10-20T19:39:36Z",
5
+ "licence": "ODbL-1.0",
6
+ "attribution": "(c) OpenStreetMap contributors, ODbL 1.0, openstreetmap.org/copyright",
7
+ "height": 28.73,
8
+ "axis": { "heading": 90, "basis": "none", "strength": 1.48, "elongation": 1.03, "centre": [-121.901264, 37.332787] },
9
+ "ring": [
10
+ [-121.900672, 37.333382],
11
+ [-121.900548, 37.333293],
12
+ [-121.900539, 37.333163],
13
+ [-121.900479, 37.333023],
14
+ [-121.900461, 37.332909],
15
+ [-121.900472, 37.332784],
16
+ [-121.900503, 37.332684],
17
+ [-121.900479, 37.33236],
18
+ [-121.900645, 37.332212],
19
+ [-121.901046, 37.332196],
20
+ [-121.901233, 37.332144],
21
+ [-121.901403, 37.33213],
22
+ [-121.901654, 37.332166],
23
+ [-121.901815, 37.332158],
24
+ [-121.901938, 37.332246],
25
+ [-121.901948, 37.332377],
26
+ [-121.902011, 37.332522],
27
+ [-121.902116, 37.33252],
28
+ [-121.902124, 37.332617],
29
+ [-121.902044, 37.332621],
30
+ [-121.902051, 37.332706],
31
+ [-121.90213, 37.332702],
32
+ [-121.902137, 37.332798],
33
+ [-121.902009, 37.332802],
34
+ [-121.901984, 37.332869],
35
+ [-121.902006, 37.333179],
36
+ [-121.902167, 37.33317],
37
+ [-121.90217, 37.333258],
38
+ [-121.902088, 37.333235],
39
+ [-121.902065, 37.333257],
40
+ [-121.902125, 37.333301],
41
+ [-121.902003, 37.33341],
42
+ [-121.901942, 37.333367],
43
+ [-121.901918, 37.333388],
44
+ [-121.901956, 37.33345],
45
+ [-121.901856, 37.333451],
46
+ [-121.901841, 37.333328],
47
+ [-121.901452, 37.333346],
48
+ [-121.901374, 37.333373],
49
+ [-121.901424, 37.333471],
50
+ [-121.901201, 37.333579],
51
+ [-121.901081, 37.333412],
52
+ [-121.90083, 37.333376],
53
+ ],
54
+ };
@@ -0,0 +1,2 @@
1
+ import type { RealVenueData } from "../venues.ts";
2
+ export declare const VENUE: RealVenueData;
@@ -0,0 +1,9 @@
1
+ export const VENUE = {
2
+ "id": "scotiabank-arena",
3
+ "wikidata": "Q406972",
4
+ "division": "atlantic",
5
+ "en": { "title": "Scotiabank Arena", "revision": 1380381634 },
6
+ "seats": { "hockey": 18819, "source": "wikipedia", "wikidata": 19800, "read": "the infobox's figure for ice hockey, 18,819 (20,270 with standing room); Wikidata's one capacity (19,800) is the basketball one" },
7
+ "tiers": { "count": 2, "basis": "plausible", "read": "no source says how many seating levels there are: two bowls are drawn; the article speaks of a 100-level concourse" },
8
+ "roof": { "kind": "fixed", "basis": "plausible", "read": "an indoor arena: a fixed roof, as nothing says otherwise" },
9
+ };
@@ -0,0 +1,2 @@
1
+ import type { VenueOsm } from "../venues.ts";
2
+ export declare const OSM: VenueOsm;
@@ -0,0 +1,45 @@
1
+ export const OSM = {
2
+ "source": "way/19882585",
3
+ "read": "2026-10-20",
4
+ "base": "2026-10-20T23:17:52Z",
5
+ "licence": "ODbL-1.0",
6
+ "attribution": "(c) OpenStreetMap contributors, ODbL 1.0, openstreetmap.org/copyright",
7
+ "axis": { "heading": 90, "basis": "none", "strength": 1.23, "elongation": 1.59, "centre": [-79.379083, 43.643441] },
8
+ "ring": [
9
+ [-79.379964, 43.643342],
10
+ [-79.379902, 43.643367],
11
+ [-79.379957, 43.643439],
12
+ [-79.379986, 43.643428],
13
+ [-79.380011, 43.643467],
14
+ [-79.379984, 43.643476],
15
+ [-79.380042, 43.643557],
16
+ [-79.380032, 43.643586],
17
+ [-79.380056, 43.643614],
18
+ [-79.380014, 43.643631],
19
+ [-79.380004, 43.643659],
20
+ [-79.379892, 43.64371],
21
+ [-79.380017, 43.643837],
22
+ [-79.379985, 43.643855],
23
+ [-79.380058, 43.643948],
24
+ [-79.379236, 43.644129],
25
+ [-79.37913, 43.643928],
26
+ [-79.379018, 43.643958],
27
+ [-79.378874, 43.64394],
28
+ [-79.37874, 43.643948],
29
+ [-79.378718, 43.64391],
30
+ [-79.378492, 43.643974],
31
+ [-79.378537, 43.644082],
32
+ [-79.378488, 43.644111],
33
+ [-79.378142, 43.643289],
34
+ [-79.378931, 43.642891],
35
+ [-79.378983, 43.64295],
36
+ [-79.379032, 43.642931],
37
+ [-79.379017, 43.642905],
38
+ [-79.379338, 43.642785],
39
+ [-79.379345, 43.642798],
40
+ [-79.379412, 43.642773],
41
+ [-79.379429, 43.6428],
42
+ [-79.379608, 43.642733],
43
+ [-79.379892, 43.643117],
44
+ ],
45
+ };
@@ -0,0 +1,2 @@
1
+ import type { RealVenueData } from "../venues.ts";
2
+ export declare const VENUE: RealVenueData;
@@ -0,0 +1,9 @@
1
+ export const VENUE = {
2
+ "id": "scotiabank-saddledome",
3
+ "wikidata": "Q1140083",
4
+ "division": "pacific",
5
+ "en": { "title": "Scotiabank Saddledome", "revision": 1377341466 },
6
+ "seats": { "hockey": 19289, "source": "wikipedia", "wikidata": 16605, "read": "the infobox's present figure for hockey (19,289, from 1995), which the article's amenities line gives too; Wikidata's 16,605 is the 1983 figure and the first the infobox lists" },
7
+ "tiers": { "count": 2, "basis": "documented", "read": "the article speaks of the lower bowl, a second level and upper loges above it: two seating levels with suites at the top of the lower bowl" },
8
+ "roof": { "kind": "saddle", "basis": "documented", "read": "the article says the roof is a reverse hyperbolic paraboloid, shaped like a horse saddle; which way the saddle lies over the ice is not given: it is drawn high at the two ends" },
9
+ };
@@ -0,0 +1,2 @@
1
+ import type { VenueOsm } from "../venues.ts";
2
+ export declare const OSM: VenueOsm;
@@ -0,0 +1,46 @@
1
+ export const OSM = {
2
+ "source": "way/4397328",
3
+ "read": "2026-10-20",
4
+ "base": "2026-10-20T19:36:34Z",
5
+ "licence": "ODbL-1.0",
6
+ "attribution": "(c) OpenStreetMap contributors, ODbL 1.0, openstreetmap.org/copyright",
7
+ "axis": { "heading": 90, "basis": "none", "strength": 1.02, "elongation": 1.08, "centre": [-114.051966, 51.0374] },
8
+ "ring": [
9
+ [-114.052962, 51.037365],
10
+ [-114.052952, 51.037499],
11
+ [-114.052905, 51.037613],
12
+ [-114.052819, 51.037727],
13
+ [-114.052701, 51.037825],
14
+ [-114.052556, 51.037907],
15
+ [-114.052369, 51.037975],
16
+ [-114.052168, 51.038016],
17
+ [-114.05199, 51.038029],
18
+ [-114.051805, 51.038021],
19
+ [-114.051608, 51.037988],
20
+ [-114.051321, 51.037882],
21
+ [-114.051222, 51.037821],
22
+ [-114.051057, 51.037665],
23
+ [-114.050995, 51.037557],
24
+ [-114.050967, 51.037447],
25
+ [-114.050971, 51.037326],
26
+ [-114.051009, 51.037212],
27
+ [-114.051074, 51.037112],
28
+ [-114.051174, 51.037014],
29
+ [-114.051333, 51.036911],
30
+ [-114.05148, 51.036849],
31
+ [-114.051671, 51.036798],
32
+ [-114.051898, 51.036772],
33
+ [-114.052132, 51.03678],
34
+ [-114.052314, 51.03681],
35
+ [-114.05253, 51.036883],
36
+ [-114.05259, 51.036846],
37
+ [-114.052717, 51.036904],
38
+ [-114.05282, 51.03698],
39
+ [-114.052908, 51.036979],
40
+ [-114.053022, 51.037091],
41
+ [-114.053039, 51.037119],
42
+ [-114.053003, 51.037162],
43
+ [-114.053067, 51.037352],
44
+ [-114.053047, 51.037365],
45
+ ],
46
+ };
@@ -0,0 +1,2 @@
1
+ import type { RealVenueData } from "../venues.ts";
2
+ export declare const VENUE: RealVenueData;
@@ -0,0 +1,9 @@
1
+ export const VENUE = {
2
+ "id": "t-mobile-arena",
3
+ "wikidata": "Q3338973",
4
+ "division": "pacific",
5
+ "en": { "title": "T-Mobile Arena", "revision": 1379155307 },
6
+ "seats": { "hockey": 17500, "source": "wikipedia", "wikidata": 20000, "read": "the infobox's figure for ice hockey, 17,500 (20,000 with standing room); Wikidata's one capacity (20,000) is the one with standing room" },
7
+ "tiers": { "count": 2, "basis": "plausible", "read": "no source says how many seating levels there are: two bowls are drawn" },
8
+ "roof": { "kind": "fixed", "basis": "plausible", "read": "an indoor arena: a fixed roof, as nothing says otherwise" },
9
+ };
@@ -0,0 +1,2 @@
1
+ import type { VenueOsm } from "../venues.ts";
2
+ export declare const OSM: VenueOsm;
@@ -0,0 +1,50 @@
1
+ export const OSM = {
2
+ "source": "way/364489406",
3
+ "read": "2026-10-20",
4
+ "base": "2026-10-20T19:41:36Z",
5
+ "licence": "ODbL-1.0",
6
+ "attribution": "(c) OpenStreetMap contributors, ODbL 1.0, openstreetmap.org/copyright",
7
+ "axis": { "heading": 90, "basis": "building", "strength": 1.43, "elongation": 1.16, "centre": [-115.178247, 36.10276] },
8
+ "ring": [
9
+ [-115.17817, 36.102052],
10
+ [-115.177879, 36.102161],
11
+ [-115.177519, 36.102085],
12
+ [-115.177461, 36.102086],
13
+ [-115.177388, 36.10215],
14
+ [-115.177385, 36.102471],
15
+ [-115.177307, 36.102552],
16
+ [-115.177203, 36.102702],
17
+ [-115.177136, 36.102913],
18
+ [-115.177134, 36.103035],
19
+ [-115.177157, 36.103147],
20
+ [-115.177203, 36.103254],
21
+ [-115.177269, 36.103354],
22
+ [-115.177356, 36.103444],
23
+ [-115.177459, 36.103521],
24
+ [-115.177576, 36.103583],
25
+ [-115.177705, 36.103629],
26
+ [-115.177841, 36.103657],
27
+ [-115.177981, 36.103666],
28
+ [-115.178121, 36.103657],
29
+ [-115.178258, 36.103629],
30
+ [-115.178386, 36.103584],
31
+ [-115.178641, 36.10347],
32
+ [-115.178737, 36.103399],
33
+ [-115.178898, 36.103393],
34
+ [-115.179087, 36.103364],
35
+ [-115.179161, 36.103326],
36
+ [-115.179229, 36.103257],
37
+ [-115.179249, 36.10319],
38
+ [-115.179245, 36.103089],
39
+ [-115.179194, 36.102866],
40
+ [-115.179232, 36.102654],
41
+ [-115.179208, 36.102399],
42
+ [-115.179152, 36.102218],
43
+ [-115.179041, 36.101965],
44
+ [-115.178908, 36.101788],
45
+ [-115.178776, 36.101654],
46
+ [-115.178557, 36.101794],
47
+ [-115.178339, 36.101988],
48
+ [-115.178259, 36.102039],
49
+ ],
50
+ };
@@ -0,0 +1,2 @@
1
+ import type { RealVenueData } from "../venues.ts";
2
+ export declare const VENUE: RealVenueData;
@@ -0,0 +1,9 @@
1
+ export const VENUE = {
2
+ "id": "td-garden",
3
+ "wikidata": "Q432105",
4
+ "division": "atlantic",
5
+ "en": { "title": "TD Garden", "revision": 1372238200 },
6
+ "seats": { "hockey": 17850, "source": "wikipedia", "wikidata": 18624, "read": "the infobox's present figure for ice hockey (17,850, from 2019), which is the last of three it lists; Wikidata's one capacity (18,624) is the basketball one of 1995" },
7
+ "tiers": { "count": 2, "basis": "plausible", "read": "no source says how many seating levels there are: two bowls are drawn" },
8
+ "roof": { "kind": "fixed", "basis": "plausible", "read": "an indoor arena: a fixed roof, as nothing says otherwise" },
9
+ };
@@ -0,0 +1,2 @@
1
+ import type { VenueOsm } from "../venues.ts";
2
+ export declare const OSM: VenueOsm;
@@ -0,0 +1,24 @@
1
+ export const OSM = {
2
+ "source": "way/25123637",
3
+ "read": "2026-10-20",
4
+ "base": "2026-10-20T23:09:50Z",
5
+ "licence": "ODbL-1.0",
6
+ "attribution": "(c) OpenStreetMap contributors, ODbL 1.0, openstreetmap.org/copyright",
7
+ "axis": { "heading": 55.2, "basis": "mapped", "strength": 2.58, "elongation": 2.35, "centre": [-71.062137, 42.366296] },
8
+ "ring": [
9
+ [-71.06307, 42.366355],
10
+ [-71.06303, 42.366315],
11
+ [-71.063087, 42.366282],
12
+ [-71.062746, 42.365927],
13
+ [-71.062849, 42.365851],
14
+ [-71.062599, 42.365592],
15
+ [-71.061116, 42.366377],
16
+ [-71.061391, 42.366576],
17
+ [-71.061777, 42.366999],
18
+ [-71.061794, 42.366992],
19
+ [-71.061821, 42.367016],
20
+ [-71.061927, 42.366958],
21
+ [-71.061944, 42.366971],
22
+ ],
23
+ "ice": { "source": "way/837727439", "ring": [[-71.061768, 42.366354], [-71.061776, 42.366342], [-71.061789, 42.366333], [-71.062306, 42.366067], [-71.062323, 42.366062], [-71.062341, 42.36606], [-71.062359, 42.366063], [-71.062376, 42.36607], [-71.062388, 42.366081], [-71.062504, 42.366205], [-71.06251, 42.366218], [-71.06251, 42.366232], [-71.062504, 42.366246], [-71.062492, 42.366257], [-71.061974, 42.366523], [-71.061958, 42.36653], [-71.061939, 42.366533], [-71.06192, 42.366531], [-71.061904, 42.366525], [-71.061891, 42.366517], [-71.061775, 42.366393], [-71.061767, 42.36638], [-71.061765, 42.366367]] },
24
+ };
@@ -0,0 +1,2 @@
1
+ import type { RealVenueData } from "../venues.ts";
2
+ export declare const VENUE: RealVenueData;
@@ -0,0 +1,9 @@
1
+ export const VENUE = {
2
+ "id": "ubs-arena",
3
+ "wikidata": "Q48742753",
4
+ "division": "metropolitan",
5
+ "en": { "title": "UBS Arena", "revision": 1374271562 },
6
+ "seats": { "hockey": 17255, "source": "wikipedia", "wikidata": null, "read": "the infobox's figure for ice hockey, 17,255; the article's first lines say it officially seats 17,250; Wikidata gives no capacity for the item" },
7
+ "tiers": { "count": 2, "basis": "plausible", "read": "no source says how many seating levels there are: two bowls are drawn" },
8
+ "roof": { "kind": "fixed", "basis": "plausible", "read": "an indoor arena: a fixed roof, as nothing says otherwise" },
9
+ };
@@ -0,0 +1,2 @@
1
+ import type { VenueOsm } from "../venues.ts";
2
+ export declare const OSM: VenueOsm;
@@ -0,0 +1,33 @@
1
+ export const OSM = {
2
+ "source": "way/328876880",
3
+ "read": "2026-10-20",
4
+ "base": "2026-10-20T23:19:52Z",
5
+ "licence": "ODbL-1.0",
6
+ "attribution": "(c) OpenStreetMap contributors, ODbL 1.0, openstreetmap.org/copyright",
7
+ "axis": { "heading": 18, "basis": "building", "strength": 1.54, "elongation": 1.21, "centre": [-73.725912, 40.711709] },
8
+ "ring": [
9
+ [-73.725486, 40.710871],
10
+ [-73.726888, 40.711248],
11
+ [-73.726759, 40.712451],
12
+ [-73.726423, 40.712427],
13
+ [-73.726405, 40.712517],
14
+ [-73.725673, 40.712473],
15
+ [-73.725249, 40.712366],
16
+ [-73.725297, 40.712263],
17
+ [-73.725147, 40.712238],
18
+ [-73.725124, 40.712271],
19
+ [-73.724843, 40.712178],
20
+ [-73.725024, 40.711775],
21
+ [-73.724985, 40.711765],
22
+ [-73.725014, 40.711697],
23
+ [-73.724997, 40.711691],
24
+ [-73.725136, 40.711403],
25
+ [-73.725151, 40.711407],
26
+ [-73.725178, 40.711335],
27
+ [-73.725219, 40.711343],
28
+ [-73.725342, 40.711069],
29
+ [-73.72537, 40.711076],
30
+ [-73.725409, 40.710992],
31
+ [-73.725442, 40.711],
32
+ ],
33
+ };
@@ -0,0 +1,2 @@
1
+ import type { RealVenueData } from "../venues.ts";
2
+ export declare const VENUE: RealVenueData;
@@ -0,0 +1,9 @@
1
+ export const VENUE = {
2
+ "id": "united-center",
3
+ "wikidata": "Q639975",
4
+ "division": "central",
5
+ "en": { "title": "United Center", "revision": 1380672233 },
6
+ "seats": { "hockey": 19717, "source": "wikipedia", "wikidata": 23500, "read": "the article's seating line for ice hockey, 19,717 (22,428 with standing room), which the infobox gives too; Wikidata's one capacity (23,500) is the concert one" },
7
+ "tiers": { "count": 2, "basis": "documented", "read": "the article tells of the 300 level seating bowl and of three levels of suites (down from 216 sky-boxes to 169 executive suites after 2009-10): a lower bowl and the 300 level, with the suites between as walks" },
8
+ "roof": { "kind": "fixed", "basis": "plausible", "read": "an indoor arena: a fixed roof, as nothing says otherwise; the article says the building is 140 feet tall, of concrete and steel" },
9
+ };
@@ -0,0 +1,2 @@
1
+ import type { VenueOsm } from "../venues.ts";
2
+ export declare const OSM: VenueOsm;
@@ -0,0 +1,56 @@
1
+ export const OSM = {
2
+ "source": "way/205221993",
3
+ "read": "2026-10-20",
4
+ "base": "2026-10-20T21:33:18Z",
5
+ "licence": "ODbL-1.0",
6
+ "attribution": "(c) OpenStreetMap contributors, ODbL 1.0, openstreetmap.org/copyright",
7
+ "axis": { "heading": 90, "basis": "building", "strength": 1.93, "elongation": 1.36, "centre": [-87.67419, 41.880684] },
8
+ "ring": [
9
+ [-87.67477, 41.881206],
10
+ [-87.674976, 41.881201],
11
+ [-87.674976, 41.881158],
12
+ [-87.67507, 41.881155],
13
+ [-87.675066, 41.881085],
14
+ [-87.675125, 41.881084],
15
+ [-87.675121, 41.880907],
16
+ [-87.675104, 41.880906],
17
+ [-87.675149, 41.880782],
18
+ [-87.67518, 41.88078],
19
+ [-87.675178, 41.880549],
20
+ [-87.675143, 41.880552],
21
+ [-87.67509, 41.880426],
22
+ [-87.675104, 41.880422],
23
+ [-87.675103, 41.880245],
24
+ [-87.675049, 41.880246],
25
+ [-87.675045, 41.880174],
26
+ [-87.674946, 41.880176],
27
+ [-87.674944, 41.880135],
28
+ [-87.674742, 41.880138],
29
+ [-87.67474, 41.880117],
30
+ [-87.674168, 41.880122],
31
+ [-87.673601, 41.880133],
32
+ [-87.673601, 41.880155],
33
+ [-87.673393, 41.880157],
34
+ [-87.673393, 41.880199],
35
+ [-87.673293, 41.880199],
36
+ [-87.673293, 41.880275],
37
+ [-87.673242, 41.880275],
38
+ [-87.673247, 41.880455],
39
+ [-87.673262, 41.880461],
40
+ [-87.673218, 41.880584],
41
+ [-87.673187, 41.880585],
42
+ [-87.673196, 41.880814],
43
+ [-87.673232, 41.880814],
44
+ [-87.673276, 41.880931],
45
+ [-87.673255, 41.880937],
46
+ [-87.673263, 41.881114],
47
+ [-87.673322, 41.881115],
48
+ [-87.673322, 41.88118],
49
+ [-87.673422, 41.881181],
50
+ [-87.673421, 41.881226],
51
+ [-87.673627, 41.881223],
52
+ [-87.673626, 41.881241],
53
+ [-87.674213, 41.881239],
54
+ [-87.674769, 41.881226],
55
+ ],
56
+ };
@@ -0,0 +1,2 @@
1
+ import type { RealVenueData } from "../venues.ts";
2
+ export declare const VENUE: RealVenueData;
@@ -0,0 +1,9 @@
1
+ export const VENUE = {
2
+ "id": "xfinity-mobile-arena",
3
+ "wikidata": "Q818735",
4
+ "division": "metropolitan",
5
+ "en": { "title": "Xfinity Mobile Arena", "revision": 1380172806 },
6
+ "seats": { "hockey": 19173, "source": "wikipedia", "wikidata": 20328, "read": "the infobox's figure for ice hockey and lacrosse, 19,173 (20,000 with standing room); Wikidata's one capacity (20,328) has no sport and is nearer the basketball one" },
7
+ "tiers": { "count": 2, "basis": "plausible", "read": "no source says how many seating levels there are: two bowls are drawn; the article speaks of a suite level and a mezzanine level" },
8
+ "roof": { "kind": "fixed", "basis": "plausible", "read": "an indoor arena: a fixed roof, as nothing says otherwise" },
9
+ };
@@ -0,0 +1,2 @@
1
+ import type { VenueOsm } from "../venues.ts";
2
+ export declare const OSM: VenueOsm;
@@ -0,0 +1,47 @@
1
+ export const OSM = {
2
+ "source": "way/25312366",
3
+ "read": "2026-10-20",
4
+ "base": "2026-10-20T23:21:53Z",
5
+ "licence": "ODbL-1.0",
6
+ "attribution": "(c) OpenStreetMap contributors, ODbL 1.0, openstreetmap.org/copyright",
7
+ "axis": { "heading": 15.6, "basis": "mapped", "strength": 1.35, "elongation": 2.38, "centre": [-75.171952, 39.901194] },
8
+ "ring": [
9
+ [-75.170857, 39.901749],
10
+ [-75.171166, 39.90179],
11
+ [-75.171181, 39.901705],
12
+ [-75.171364, 39.90173],
13
+ [-75.171345, 39.901775],
14
+ [-75.171747, 39.90183],
15
+ [-75.171914, 39.901838],
16
+ [-75.172069, 39.901808],
17
+ [-75.172174, 39.901767],
18
+ [-75.172195, 39.901803],
19
+ [-75.172267, 39.901808],
20
+ [-75.172279, 39.901785],
21
+ [-75.172515, 39.901808],
22
+ [-75.172547, 39.901644],
23
+ [-75.172571, 39.901711],
24
+ [-75.1726, 39.90173],
25
+ [-75.172642, 39.901743],
26
+ [-75.172723, 39.901733],
27
+ [-75.172761, 39.901682],
28
+ [-75.172891, 39.900838],
29
+ [-75.172737, 39.900813],
30
+ [-75.172768, 39.900698],
31
+ [-75.17243, 39.900647],
32
+ [-75.172445, 39.900603],
33
+ [-75.172498, 39.900604],
34
+ [-75.172526, 39.900489],
35
+ [-75.172151, 39.900459],
36
+ [-75.171536, 39.900365],
37
+ [-75.171487, 39.900586],
38
+ [-75.171345, 39.900566],
39
+ [-75.17133, 39.900597],
40
+ [-75.171155, 39.900612],
41
+ [-75.171205, 39.900998],
42
+ [-75.171174, 39.901108],
43
+ [-75.171071, 39.901093],
44
+ [-75.170916, 39.901502],
45
+ ],
46
+ "ice": { "source": "relation/20144167", "ring": [[-75.172014, 39.901435], [-75.172028, 39.901414], [-75.172166, 39.901034], [-75.172168, 39.901014], [-75.172165, 39.900995], [-75.172156, 39.900975], [-75.172135, 39.900955], [-75.172103, 39.90094], [-75.171998, 39.900918], [-75.171964, 39.90092], [-75.171936, 39.900927], [-75.171914, 39.900937], [-75.171896, 39.900949], [-75.171877, 39.900972], [-75.171737, 39.901353], [-75.171734, 39.901376], [-75.171739, 39.901396], [-75.171753, 39.901417], [-75.171777, 39.901436], [-75.171804, 39.901448], [-75.171904, 39.901469], [-75.17193, 39.901471], [-75.17196, 39.901467], [-75.171992, 39.901455]] },
47
+ };
@@ -1,3 +1,4 @@
1
1
  import "./full.ts";
2
+ import "./venues.all.ts";
2
3
  export { VENUE_ATTRIBUTION, VENUE_CONFERENCES, VENUE_DIVISIONS, VENUE_IDS, VENUES, arenaOfVenue, bowlInside, conferenceOf, planVenue, venueBowl, venueById, venueByWikidata, venueOrientation, venueRink, venuesIn, venuesInConference } from "./venues.ts";
3
4
  export type { RealVenue, RealVenueData, VenueBasis, VenueConference, VenueDivision, VenueOrientation, VenueOsm, VenuePlan, VenueRoof } from "./venues.ts";
@@ -1,3 +1,5 @@
1
1
  // The real venues of the NHL's arenas: the outline of each building and the way its rink lies (OpenStreetMap, ODbL 1.0) and a plausible bowl from the seats, tiers and roof the sources give (Wikidata, Wikipedia).
2
2
  import "./full.js";
3
+ // The real venues of the NHL's arenas, as this entry has always had them (the lean district reads the ones it shows).
4
+ import "./venues.all.js";
3
5
  export { VENUE_ATTRIBUTION, VENUE_CONFERENCES, VENUE_DIVISIONS, VENUE_IDS, VENUES, arenaOfVenue, bowlInside, conferenceOf, planVenue, venueBowl, venueById, venueByWikidata, venueOrientation, venueRink, venuesIn, venuesInConference } from "./venues.js";
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ // Every real venue, held for the drawing: `full.ts` imports this, so that every entry but the lean district has the venues' facts and outlines, as it always had. The lean district holds the venues `loadVenueDataFor` has read
2
+ // (`venues.ts`). A bundler keeps this file for its effect: package.json lists it in `sideEffects`.
3
+ import { VENUE_DATA } from "./venues.data.js";
4
+ import { VENUE_OSM } from "./venues.osm.data.js";
5
+ import { registerVenues } from "./venues.js";
6
+ registerVenues(VENUE_DATA, VENUE_OSM);
package/dist/venues.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import { type Arena, type ArenaSource } from "./arenas.core.ts";
2
2
  import { type Box, type Pt, type RealBowl } from "./crowd.ts";
3
- import { VENUE_ATTRIBUTION } from "./venues.osm.data.ts";
4
- export { VENUE_ATTRIBUTION };
3
+ /** The credit the ODbL asks for, wherever a drawing made from OpenStreetMap's data is shown. */
4
+ export declare const VENUE_ATTRIBUTION = "(c) OpenStreetMap contributors, ODbL 1.0, openstreetmap.org/copyright";
5
5
  /** How a fact is known: `documented` is what a source cited with it says; `plausible` is ours, for a bowl no source describes. */
6
6
  export type VenueBasis = "documented" | "plausible";
7
- /** The kinds of roof the venues have: `fixed` is a lid over the bowl, `saddle` a roof that rises at the two ends and falls at the two sides (the Scotiabank Saddledome's). */
8
- export type VenueRoof = "fixed" | "saddle";
7
+ /** The kinds of roof the venues have: `fixed` is a lid over the bowl, `saddle` a roof that rises at the two ends and falls at the two sides (the Scotiabank Saddledome's), `barrel` a barrel vault along the rink, a round arch over its short axis (the American Airlines Center's). */
8
+ export type VenueRoof = "fixed" | "saddle" | "barrel";
9
9
  /** The NHL's divisions, in the order of the league's own listing: the Western Conference's two, then the Eastern's. A division none of whose arenas has a venue yet has no venues in `venuesIn`. */
10
10
  export declare const VENUE_DIVISIONS: readonly ["pacific", "central", "atlantic", "metropolitan"];
11
11
  export type VenueDivision = (typeof VENUE_DIVISIONS)[number];
@@ -97,11 +97,23 @@ export interface VenueOrientation {
97
97
  basis: "mapped" | "building" | "none";
98
98
  north: number;
99
99
  }
100
- /** The venues by key: the arenas of the NHL's divisions that have been drawn, with their facts and their outlines. */
100
+ /**
101
+ * The real venues held for the drawing, by key: every venue in the entries that have always had them (the full table, `venues.all.ts`, fills it), and in the lean district the venues `loadVenueDataFor` has read. Do not write to it.
102
+ * @example
103
+ * ```ts
104
+ * import { VENUES } from "@johnmorrisdotca/kyogijo-stadiums/venues";
105
+ * console.log(VENUES["honda-center"].seats.hockey);
106
+ * // 17174
107
+ * ```
108
+ */
101
109
  export declare const VENUES: Readonly<Record<string, RealVenue>>;
110
+ /** Hold venues for the drawing, from their facts and what OpenStreetMap gave (the same key in each): a later one with a key replaces the earlier. Returns the venues as held. */
111
+ export declare function registerVenues(data: readonly RealVenueData[], osm: Readonly<Record<string, VenueOsm>>): RealVenue[];
102
112
  /** The keys of `VENUES`, in the order of the data. */
103
113
  export declare const VENUE_IDS: readonly string[];
104
- /** The venue of an arena (by its key in `ARENAS`), or `undefined`. */
114
+ /** A venue by its key, read from its two files (the facts, and what OpenStreetMap gave) the first time and held for the drawing after: asking again gives the same promise. A key that is not a venue rejects, naming the keys there are. */
115
+ export declare function loadVenue(id: string): Promise<RealVenue>;
116
+ /** The venue of an arena (by its key in `ARENAS`), or `undefined` for an arena that has none. A venue that has not been read yet (the lean district reads them with `loadVenueDataFor`) throws, saying so. */
105
117
  export declare const venueById: (id: string | undefined) => RealVenue | undefined;
106
118
  /** The venue whose arena is the Wikidata item `Q774138`, or `undefined`. */
107
119
  export declare const venueByWikidata: (wikidata: string | undefined) => RealVenue | undefined;
@@ -97,7 +97,7 @@ export const VENUE_DATA = [
97
97
  "en": { "title": "American Airlines Center", "revision": 1379833787 },
98
98
  "seats": { "hockey": 18532, "source": "wikipedia", "wikidata": 19200, "read": "the infobox's figure for ice hockey, 18,532 (19,323 with standing room); Wikidata's one capacity (19,200) is the basketball one" },
99
99
  "tiers": { "count": 2, "basis": "plausible", "read": "no source says how many seating levels there are: two bowls are drawn; the article speaks of retractable seating, which the bowl does not draw" },
100
- "roof": { "kind": "fixed", "basis": "plausible", "read": "an indoor arena: a fixed roof, as nothing says otherwise; the article says the roof looks like a Quonset hut, a barrel vault, which the one kind of fixed roof does not draw" },
100
+ "roof": { "kind": "barrel", "basis": "documented", "read": "the article says the roof looks like a Quonset hut, which is a barrel vault: drawn as a round arch over the rink's short axis, highest over its middle line and falling to the walls at the two long sides; the height of the crown (34 feet over the springing) is ours (the article gives none)" },
101
101
  },
102
102
  {
103
103
  "id": "grand-casino-arena",
@@ -0,0 +1,8 @@
1
+ import type { RealVenueData, VenueOsm } from "./venues.ts";
2
+ export declare const VENUE_INDEX: Readonly<Record<string, {
3
+ readonly load: () => Promise<readonly [{
4
+ readonly VENUE: RealVenueData;
5
+ }, {
6
+ readonly OSM: VenueOsm;
7
+ }]>;
8
+ }>>;
@@ -0,0 +1,34 @@
1
+ export const VENUE_INDEX = {
2
+ "honda-center": { load: () => Promise.all([import("./venues/honda-center.data.js"), import("./venues/honda-center.osm.data.js")]) },
3
+ "scotiabank-saddledome": { load: () => Promise.all([import("./venues/scotiabank-saddledome.data.js"), import("./venues/scotiabank-saddledome.osm.data.js")]) },
4
+ "rogers-place": { load: () => Promise.all([import("./venues/rogers-place.data.js"), import("./venues/rogers-place.osm.data.js")]) },
5
+ "crypto-com-arena": { load: () => Promise.all([import("./venues/crypto-com-arena.data.js"), import("./venues/crypto-com-arena.osm.data.js")]) },
6
+ "sap-center": { load: () => Promise.all([import("./venues/sap-center.data.js"), import("./venues/sap-center.osm.data.js")]) },
7
+ "climate-pledge-arena": { load: () => Promise.all([import("./venues/climate-pledge-arena.data.js"), import("./venues/climate-pledge-arena.osm.data.js")]) },
8
+ "rogers-arena": { load: () => Promise.all([import("./venues/rogers-arena.data.js"), import("./venues/rogers-arena.osm.data.js")]) },
9
+ "t-mobile-arena": { load: () => Promise.all([import("./venues/t-mobile-arena.data.js"), import("./venues/t-mobile-arena.osm.data.js")]) },
10
+ "united-center": { load: () => Promise.all([import("./venues/united-center.data.js"), import("./venues/united-center.osm.data.js")]) },
11
+ "ball-arena": { load: () => Promise.all([import("./venues/ball-arena.data.js"), import("./venues/ball-arena.osm.data.js")]) },
12
+ "american-airlines-center": { load: () => Promise.all([import("./venues/american-airlines-center.data.js"), import("./venues/american-airlines-center.osm.data.js")]) },
13
+ "grand-casino-arena": { load: () => Promise.all([import("./venues/grand-casino-arena.data.js"), import("./venues/grand-casino-arena.osm.data.js")]) },
14
+ "bridgestone-arena": { load: () => Promise.all([import("./venues/bridgestone-arena.data.js"), import("./venues/bridgestone-arena.osm.data.js")]) },
15
+ "enterprise-center": { load: () => Promise.all([import("./venues/enterprise-center.data.js"), import("./venues/enterprise-center.osm.data.js")]) },
16
+ "delta-center": { load: () => Promise.all([import("./venues/delta-center.data.js"), import("./venues/delta-center.osm.data.js")]) },
17
+ "canada-life-centre": { load: () => Promise.all([import("./venues/canada-life-centre.data.js"), import("./venues/canada-life-centre.osm.data.js")]) },
18
+ "td-garden": { load: () => Promise.all([import("./venues/td-garden.data.js"), import("./venues/td-garden.osm.data.js")]) },
19
+ "keybank-center": { load: () => Promise.all([import("./venues/keybank-center.data.js"), import("./venues/keybank-center.osm.data.js")]) },
20
+ "little-caesars-arena": { load: () => Promise.all([import("./venues/little-caesars-arena.data.js"), import("./venues/little-caesars-arena.osm.data.js")]) },
21
+ "amerant-bank-arena": { load: () => Promise.all([import("./venues/amerant-bank-arena.data.js"), import("./venues/amerant-bank-arena.osm.data.js")]) },
22
+ "bell-centre": { load: () => Promise.all([import("./venues/bell-centre.data.js"), import("./venues/bell-centre.osm.data.js")]) },
23
+ "canadian-tire-centre": { load: () => Promise.all([import("./venues/canadian-tire-centre.data.js"), import("./venues/canadian-tire-centre.osm.data.js")]) },
24
+ "benchmark-international-arena": { load: () => Promise.all([import("./venues/benchmark-international-arena.data.js"), import("./venues/benchmark-international-arena.osm.data.js")]) },
25
+ "scotiabank-arena": { load: () => Promise.all([import("./venues/scotiabank-arena.data.js"), import("./venues/scotiabank-arena.osm.data.js")]) },
26
+ "lenovo-center": { load: () => Promise.all([import("./venues/lenovo-center.data.js"), import("./venues/lenovo-center.osm.data.js")]) },
27
+ "nationwide-arena": { load: () => Promise.all([import("./venues/nationwide-arena.data.js"), import("./venues/nationwide-arena.osm.data.js")]) },
28
+ "prudential-center": { load: () => Promise.all([import("./venues/prudential-center.data.js"), import("./venues/prudential-center.osm.data.js")]) },
29
+ "ubs-arena": { load: () => Promise.all([import("./venues/ubs-arena.data.js"), import("./venues/ubs-arena.osm.data.js")]) },
30
+ "madison-square-garden": { load: () => Promise.all([import("./venues/madison-square-garden.data.js"), import("./venues/madison-square-garden.osm.data.js")]) },
31
+ "xfinity-mobile-arena": { load: () => Promise.all([import("./venues/xfinity-mobile-arena.data.js"), import("./venues/xfinity-mobile-arena.osm.data.js")]) },
32
+ "ppg-paints-arena": { load: () => Promise.all([import("./venues/ppg-paints-arena.data.js"), import("./venues/ppg-paints-arena.osm.data.js")]) },
33
+ "capital-one-arena": { load: () => Promise.all([import("./venues/capital-one-arena.data.js"), import("./venues/capital-one-arena.osm.data.js")]) },
34
+ };