@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
package/dist/crowd.d.ts CHANGED
@@ -118,11 +118,11 @@ export interface RealShell {
118
118
  /** The way north points on the page, in degrees clockwise from the top; absent where the rink's real orientation is not known. */
119
119
  north?: number;
120
120
  /**
121
- * `fixed` is a lid; `saddle` a roof that rises at the two ends and falls at the two sides; `cable` a cable-supported roof with an opening over the surface, which a retractable fabric closes (BC Place's);
121
+ * `fixed` is a lid; `saddle` a roof that rises at the two ends and falls at the two sides; `barrel` a barrel vault, a round arch along the surface that stands highest over its middle line and falls to the walls at the two sides; `cable` a cable-supported roof with an opening over the surface, which a retractable fabric closes (BC Place's);
122
122
  * `canopy` roofs over some of the stands and leaves the field open (Lumen Field's, `canopies`); `panels` a retractable roof of sections over a ballpark's field and stands, far above its walls (T-Mobile Park's, `panels`);
123
123
  * `dome` an air-supported roof, a membrane that rises from the rim of the walls to a crown over the middle of the field (Tokyo Dome's, `dome`); `open` no roof: the walls only (Koshien Stadium's).
124
124
  */
125
- roof: "fixed" | "saddle" | "cable" | "canopy" | "panels" | "dome" | "open";
125
+ roof: "fixed" | "saddle" | "barrel" | "cable" | "canopy" | "panels" | "dome" | "open";
126
126
  /** The height of the walls, in feet, where it is not the roof's rim (a ballpark's walls stand far below its roof). */
127
127
  wall?: number;
128
128
  /** A `canopy` roof's pieces: the outline of each in the drawing's frame, the height of its low edge (over the field's side) and how far it rises to its high edge (over the back of the stands), in feet. */
@@ -130,6 +130,7 @@ export interface RealShell {
130
130
  ring: Pt[];
131
131
  low: number;
132
132
  rise: number;
133
+ shape?: string;
133
134
  }[];
134
135
  /** A `panels` roof: the outline it covers when closed, its bottom and its top above the field in feet (rim and crown), and where its sections rest when it is open. */
135
136
  panels?: {
@@ -144,6 +145,8 @@ export interface RealShell {
144
145
  low: number;
145
146
  crown: number;
146
147
  };
148
+ /** Draw the walls as brick (a ballpark's facade, T-Mobile Park's: from the brief; a plain drawing choice, a wall in a brick tone, no courses). */
149
+ brick?: boolean;
147
150
  /** Draw the walls as ivy-covered (a plain drawing choice: the wall in green). */
148
151
  ivy?: boolean;
149
152
  /** A `cable` roof: how far its crown (the edge of the opening) stands over its rim, in feet, and the opening, a polygon in the drawing's frame over the surface. */
@@ -160,8 +163,25 @@ export interface RealShell {
160
163
  count: number;
161
164
  height: number;
162
165
  };
166
+ /**
167
+ * A tower that leans over the building (the Olympic Stadium's Montreal Tower): the middle of its base and of its top in the drawing's frame, the height of its top above the surface in feet, and the width of its shaft at the
168
+ * base and at the top in feet (a plain tapering square shaft: its width is ours).
169
+ */
170
+ tower?: {
171
+ base: Pt;
172
+ top: Pt;
173
+ height: number;
174
+ angle: number;
175
+ width: [number, number];
176
+ };
163
177
  /** The height of the roof's lowest edge above the surface, in feet. */
164
178
  edge: number;
179
+ /** Towers that stand apart from the bowl (Lumen Field's, at the open end), each a box on its outline in the drawing's frame, `height` feet high; `face` is the unit direction its scoreboard looks, towards the field. */
180
+ towers?: {
181
+ ring: Pt[];
182
+ height: number;
183
+ face: Pt;
184
+ }[];
165
185
  }
166
186
  /** The stands of a real venue, worked out from its building (`venueBowl`): what `layoutOf` takes in place of a sport's usual tiers. */
167
187
  export interface RealBowl {
@@ -1,4 +1,5 @@
1
1
  import "./full.ts";
2
+ import "./venues.all.ts";
2
3
  export { appendSurface, surfaceDomain } from "./d3.ts";
3
4
  export type { AppendOptions, D3Selection } from "./d3.ts";
4
5
  export type { ScaleFunction, SurfaceDomain } from "./scene.fit.ts";
package/dist/d3-entry.js CHANGED
@@ -1,3 +1,5 @@
1
1
  // A drawing on a d3 selection, in the caller's scales, with d3 not imported.
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 { appendSurface, surfaceDomain } from "./d3.js";
@@ -1,2 +1,4 @@
1
1
  import "./full.ts";
2
+ import "./venues.all.ts";
3
+ import "./walk.full.ts";
2
4
  export * from "./district.api.ts";
@@ -1,4 +1,8 @@
1
1
  // A district: several real venues of one city on one plan at their real relative positions and orientations (OpenStreetMap, ODbL 1.0), in 2D and in 3D, tight round neighbours or at the real distances of a city.
2
2
  // This entry has every arena, park and ground, as it always had (the lean district, `district-lean`, has none until `loadVenueDataFor` has read the ones it shows).
3
3
  import "./full.js";
4
+ // The real venues of the NHL's arenas, as this entry has always had them (the lean district reads the ones it shows).
5
+ import "./venues.all.js";
6
+ // The walkable ground of every district, for the crowd outside, as the district has always had it (the lean district reads one when `loadOutside` is asked to).
7
+ import "./walk.full.js";
4
8
  export * from "./district.api.js";
@@ -1,5 +1,5 @@
1
1
  // The lean district: everything the district entry has, for a page that wants to carry only the venues it shows. This entry holds no arena, park or ground until `loadVenueDataFor(venues)` has read the files of those it is about to draw
2
- // (the same call and the same venues for `planDistrict`, `drawDistrict`, `mountDistrict` and `mountDistrictTurn`); with them read, what it draws is what the district entry draws, to the last character. The areas of context are read the same way
2
+ // (the same call and the same venues for `planDistrict`, `drawDistrict`, `mountDistrict` and `mountDistrictTurn`; `loadOutside(venues)` likewise for the walkable ground of the crowd outside, which only a district with a mask, Vancouver's, has); with them read, what it draws is what the district entry draws, to the last character. The areas of context are read the same way
3
3
  // (`loadAreasFor`). `venueName` lists the venues by name without reading any. Nothing here changes the district entry, which has every venue's data as it always had.
4
4
  export * from "./district.api.js";
5
5
  export * from "./areas-entry.js";
package/dist/district.js CHANGED
@@ -9,7 +9,7 @@ import { kodokanMember } from "./kodokan.js";
9
9
  import { contextFloor, contextFrame, placeContext, toneOf } from "./context.js";
10
10
  import { crowdStands, drawKyogijo } from "./draw.js";
11
11
  import { FEET_PER_METRE } from "./geometry.js";
12
- import { KYOGIJO_STRINGS } from "./strings.js";
12
+ import { KYOGIJO_STRINGS } from "./strings.core.js";
13
13
  import { esc, hash } from "./format.js";
14
14
  import { STADIUM_IDS, stadiumById, stadiumConfigs, stadiumFrameHeading, stadiumKind, stadiumNames, stadiumSeats } from "./stadiums.js";
15
15
  import { VENUE_ATTRIBUTION, VENUE_IDS, venueById } from "./venues.js";
@@ -47,7 +47,7 @@ const stadiumMember = (stadium, config, language) => {
47
47
  heading: stadiumFrameHeading(stadium),
48
48
  basis: stadium.osm.axis.basis,
49
49
  seats: stadiumSeats(stadium, config),
50
- options: park ? { sport: "mlb", park: stadium.id, crowd: { real: true }, language } : { sport: config, stadium: stadium.id, crowd: { real: true }, language },
50
+ options: park ? { sport: "mlb", park: stadium.id, crowd: { real: true }, language } : { sport: config, stadium: stadium.id, ...(config === "nba" ? { arena: stadium.id } : {}), crowd: { real: true }, language },
51
51
  };
52
52
  };
53
53
  /** Every key a district can be asked for: the arenas of `VENUES` and the stadiums of `STADIUMS`. */
package/dist/draw.js CHANGED
@@ -53,7 +53,7 @@ import { artistic } from "./surfaces/artistic.js";
53
53
  import { cropToRange, describeRange, rangeLabel, shows } from "./ranges.js";
54
54
  import { badgeMarkup, bannerMarkup, plateMarkup, stateOf } from "./score.js";
55
55
  import { setsBoardMarkup } from "./sets.board.js";
56
- import { KYOGIJO_STRINGS, fill } from "./strings.js";
56
+ import { KYOGIJO_STRINGS, fill } from "./strings.core.js";
57
57
  import { courtStyle } from "./courts.style.js";
58
58
  import { annotate, annotated, wideView } from "./annotate.js";
59
59
  import { KYOGIJO_BACKGROUND_STYLE, laidOn } from "./background.js";
@@ -789,8 +789,8 @@ export function describe(o) {
789
789
  const venue = sport === "nhl" && league === undefined && realCrowd?.real === true ? venueById(o.arena) : undefined;
790
790
  const realLine = venue === undefined || arenaName === undefined ? "" : `${gap}${fill(words.said.real, { arena: arenaName, seats: String(venue.seats.hockey), tiers: String(venue.tiers.count) })}${gap}${words.said[venue.osm.axis.basis === "mapped" ? "realMapped" : venue.osm.axis.basis === "building" ? "realBuilding" : "realNone"]}`;
791
791
  const real = realStadiumOf(o, sport, realCrowd?.real === true);
792
- const stadiumKey = (basis, kind) => basis === "opening" ? "stadiumOpening" : basis === "pitch" ? (kind === "park" ? "stadiumPitchPark" : "stadiumPitch") : basis === "infield" ? "stadiumInfield" : basis === "building" ? (kind === "hall" ? "stadiumRingBuilding" : "stadiumBuilding") : kind === "park" ? "stadiumNonePark" : "stadiumNone";
793
- const stadiumLine = real === undefined ? "" : `${gap}${fill(real.config === "mlb" ? words.said.stadiumPark : stadiumKind(real.stadium) === "hall" ? words.said.stadiumHall : words.said.stadium, { stadium: stadiumNames(real.stadium)[language], seats: String(stadiumSeats(real.stadium, real.config)), tiers: String(real.stadium.tiers.count) })}${gap}${words.said[stadiumKey(real.stadium.osm.axis.basis, stadiumKind(real.stadium))]}`;
792
+ const stadiumKey = (basis, kind, config) => basis === "opening" ? "stadiumOpening" : basis === "pitch" ? (kind === "park" ? "stadiumPitchPark" : "stadiumPitch") : basis === "infield" ? "stadiumInfield" : basis === "building" ? (kind === "hall" ? (config === "nba" ? "stadiumCourtBuilding" : "stadiumRingBuilding") : "stadiumBuilding") : kind === "park" ? "stadiumNonePark" : "stadiumNone";
793
+ const stadiumLine = real === undefined ? "" : `${gap}${fill(real.config === "mlb" ? words.said.stadiumPark : stadiumKind(real.stadium) === "hall" ? words.said.stadiumHall : words.said.stadium, { stadium: stadiumNames(real.stadium)[language], seats: String(stadiumSeats(real.stadium, real.config)), tiers: String(real.stadium.tiers.count) })}${gap}${words.said[stadiumKey(real.stadium.osm.axis.basis, stadiumKind(real.stadium), real.config)]}`;
794
794
  const parkLine = (parkName === undefined ? `${groundLine}${halfLine}${arenaLine}${realLine}${stadiumLine}` : `${gap}${fill(words.said.park, { park: parkName })}${officially(parkOfficial)}${ballpark === undefined ? "" : ballparkSentences(ballpark).map((line) => `${gap}${line}`).join("")}${stadiumLine}`) + (special === undefined ? "" : `${gap}${special.text}`);
795
795
  // A drawing of a past season says which: the markings are those of that season.
796
796
  const dated = typeof o.year === "number" && Number.isFinite(o.year);
@@ -1,4 +1,5 @@
1
1
  import "./full.ts";
2
+ import "./venues.all.ts";
2
3
  export { KYOGIJO_ATTRIBUTES, KYOGIJO_TAG, KyogijoField, defineKyogijoField, optionsFromAttributes, replaySettingsFromAttributes, turnSettingsFromAttributes, turnWanted } from "./element.ts";
3
4
  export { useEmblems } from "./emblems-source.ts";
4
5
  export type { EmblemRenderer } from "./emblems-source.ts";
@@ -1,5 +1,7 @@
1
1
  // The custom element's class and its registration function; importing this entry registers nothing.
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 { KYOGIJO_ATTRIBUTES, KYOGIJO_TAG, KyogijoField, defineKyogijoField, optionsFromAttributes, replaySettingsFromAttributes, turnSettingsFromAttributes, turnWanted } from "./element.js";
4
6
  export { useEmblems } from "./emblems-source.js";
5
7
  export { useFlags } from "./flags-source.js";
@@ -1,2 +1,3 @@
1
+ import "./strings.ts";
1
2
  export { ERA_CURRENT, ERA_SOURCES, ERA_SPORTS, eraChanges, eraRange, eraStates, footballIn, rulesFor, seasonLabel } from "./eras.ts";
2
3
  export type { EraChange, EraRules, EraRulesOf, EraSource, EraSpan, EraSport, FootballRules, MlbRules, NbaRules, NhlRules } from "./eras.ts";
@@ -1,2 +1,4 @@
1
1
  // Surfaces through the years: the markings the rules put on each surface in a season, with the sources that say so.
2
+ // The words in both languages, as this entry has always carried them (the lean district reads one language when it is asked to).
3
+ import "./strings.js";
2
4
  export { ERA_CURRENT, ERA_SOURCES, ERA_SPORTS, eraChanges, eraRange, eraStates, footballIn, rulesFor, seasonLabel } from "./eras.js";
package/dist/events.js CHANGED
@@ -2,7 +2,7 @@ import { EVENT_DATA, EVENT_SOURCES } from "./events.data.js";
2
2
  import { heldGround, groundNameIn } from "./grounds.core.js";
3
3
  import { heldPark, parkNameIn } from "./parks.core.js";
4
4
  import { INFIELD_CENTRE, fitOf, hostOutline } from "./special.js";
5
- import { KYOGIJO_STRINGS, fill } from "./strings.js";
5
+ import { KYOGIJO_STRINGS, fill } from "./strings.core.js";
6
6
  export { EVENT_SOURCES } from "./events.data.js";
7
7
  export { INFIELD_CENTRE, fitOf, guestToHost, hostOutline, placementOf } from "./special.js";
8
8
  /**
@@ -1,4 +1,5 @@
1
1
  import "./full.ts";
2
+ import "./venues.all.ts";
2
3
  export { mountFlythrough } from "./flythrough.dom.ts";
3
4
  export type { Flythrough, FlythroughOptions, FlythroughSettings, FlythroughStart } from "./flythrough.dom.ts";
4
5
  export { CHANNELS, PACE, RAMP, STAGE_IDS, cameraAt, flightPlan, foldTime, glide, glideSeconds, mainView, mapBox, mapFrame, monotoneSlopes, nextRate, stageAt, startOf, stagesOf } from "./flythrough.path.ts";
@@ -1,5 +1,7 @@
1
1
  // The fly-through: one smooth camera from a map to the real arena, over the map (chizu's, handed over), the building's site plan and the 3D arena.
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 { mountFlythrough } from "./flythrough.dom.js";
4
6
  export { CHANNELS, PACE, RAMP, STAGE_IDS, cameraAt, flightPlan, foldTime, glide, glideSeconds, mainView, mapBox, mapFrame, monotoneSlopes, nextRate, stageAt, startOf, stagesOf } from "./flythrough.path.js";
5
7
  export { flythroughMarkup, graticuleMarkup, mapMarkup } from "./flythrough.markup.js";
@@ -38,6 +38,8 @@ export interface FlythroughOptions<M extends {
38
38
  language?: Language;
39
39
  /** `light` or `dark`; the device's setting decides when it is left out. */
40
40
  theme?: "light" | "dark";
41
+ /** Whether the building has its roof (true when left out): the roof is there over the arena and lifts away as the camera comes into the bowl. `false` keeps the roof off for the whole flight, the walls still standing, so that the bowl is seen from the first stage of the arena. */
42
+ roof?: boolean;
41
43
  }
42
44
  /** How it behaves. */
43
45
  export interface FlythroughSettings {
@@ -93,7 +93,7 @@ export function mountFlythrough(host, options, settings = {}) {
93
93
  const drawing = { sport: "nhl", arena: venue.id, crowd: { real: true }, language, ...(options.theme === undefined ? {} : { theme: options.theme }) };
94
94
  let turn;
95
95
  // The settings object is kept: the view reads its `lens` at every paint, and the path shortens the lens as the camera comes into the bowl.
96
- const turnSettings = { preset: "overhead", controls: false, venue: { roof: true }, motion: "none", id: `${id}-turn`, lens: LENS };
96
+ const turnSettings = { preset: "overhead", controls: false, venue: { roof: options.roof !== false, walls: true }, motion: "none", id: `${id}-turn`, lens: LENS };
97
97
  if (stageList.some((one) => one === "arena" || one === "bowl" || one === "rink" || one === "game"))
98
98
  turn = mountKyogijoTurn(turnHost, drawing, turnSettings);
99
99
  // ---- The game: a plane that lies on the floor of the 3D arena, with the play's dots drawn on it by the replay's own layers. It takes the floor's own transform after every paint, and stands in the same layer of the stack
@@ -228,7 +228,7 @@ export function mountFlythrough(host, options, settings = {}) {
228
228
  if (live3d && turn !== undefined) {
229
229
  put("3d", turnHost, "opacity", num(cam.arena, 3));
230
230
  put("3d", turnHost, "--kf-roof", num(cam.roof, 3));
231
- put("3d", turnHost, "@data-roof", cam.roof > 0.004 ? "1" : "0");
231
+ put("3d", turnHost, "@data-roof", options.roof !== false && cam.roof > 0.004 ? "1" : "0");
232
232
  const view = `${num(cam.yaw, 3)}|${num(cam.pitch, 3)}|${num(cam.logZoom, 4)}|${num(cam.logLens, 4)}`;
233
233
  if (written["3d:view"] !== view) {
234
234
  written["3d:view"] = view;
@@ -1,3 +1,4 @@
1
+ import "./strings.ts";
1
2
  export { FRAMES, attackingIn, convert, convertPoints, flipEnds, frameByName, framesOf, fromSurface, piecewise, registerFrame, span, toSurface } from "./frames.ts";
2
3
  export type { Attacking, ConvertOptions, Ends, Frame, FrameMap, FrameUnit, Landmark, Mapper, PlaceOptions, SurfaceSize } from "./frames.ts";
3
4
  export { RETROSHEET_ZONES, zoneAt, zoneToPoint } from "./frames.providers.ts";
@@ -1,4 +1,6 @@
1
1
  // Coordinate frames: where a data provider puts a point on a surface, and the functions that move points between a provider's frame, the surface and another provider's frame.
2
+ // The words in both languages, as this entry has always carried them (the lean district reads one language when it is asked to).
3
+ import "./strings.js";
2
4
  export { FRAMES, attackingIn, convert, convertPoints, flipEnds, frameByName, framesOf, fromSurface, piecewise, registerFrame, span, toSurface } from "./frames.js";
3
5
  export { RETROSHEET_ZONES, zoneAt, zoneToPoint } from "./frames.providers.js";
4
6
  export { convertLength, convertPoint } from "./units.js";
package/dist/full.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  import "./arenas.ts";
2
2
  import "./parks.ts";
3
3
  import "./grounds.ts";
4
+ import "./strings.ts";
package/dist/full.js CHANGED
@@ -1,9 +1,11 @@
1
- // What every entry has but the lean district: every arena, park and ground there is data for, and every part of the drawing, held for the drawing. The drawing reads the venue it is asked for from a table that these three modules fill when they are imported (`heldArena`, `heldPark`, `heldGround`): an entry
1
+ // What every entry has but the lean district: every arena, park and ground there is data for, the words in both languages, and every part of the drawing, held for the drawing. The drawing reads the venue it is asked for from a table that these three modules fill when they are imported (`heldArena`, `heldPark`, `heldGround`): an entry
2
2
  // that imports this file has them all, which is what every entry has always had. An entry that does not (the lean district, `district-lean`) holds only what `loadVenueDataFor` has read for the venues it shows. A bundler keeps this file
3
3
  // for its effect: package.json lists it, and the three, in `sideEffects`.
4
4
  import "./arenas.js";
5
5
  import "./parks.js";
6
6
  import "./grounds.js";
7
+ // The words in both languages (`strings.ts`): the lean district reads one language when it is asked to (`loadStrings`).
8
+ import "./strings.js";
7
9
  // The parts of a drawing that only some drawings use (`draw.parts.ts`): the drawing reads them from a table, and this fills it.
8
10
  import { providePart } from "./draw.parts.js";
9
11
  import { renderLayers } from "./layers.js";
@@ -1,3 +1,4 @@
1
1
  import "./full.ts";
2
+ import "./venues.all.ts";
2
3
  export { sceneToGeoJSON } from "./geojson.ts";
3
4
  export type { Feature, FeatureCollection, GeoJsonOptions, Geometry, Position } from "./geojson.ts";
@@ -1,3 +1,5 @@
1
1
  // A drawing as GeoJSON, in the surface's own units or a provider's frame.
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 { sceneToGeoJSON } from "./geojson.js";
@@ -1,3 +1,4 @@
1
+ import "./strings.ts";
1
2
  export { ARTISTIC, DIVING, DIVING_LINES, SWIMMING, SWIMMING_WIDTHS, WATER_POLO } from "./pool.figures.ts";
2
3
  export { BADMINTON, BEACH_VOLLEYBALL, CURLING, NETBALL, PADEL, PICKLEBALL, RACQUETBALL, ROUNDNET, SEPAK_TAKRAW, SITTING_VOLLEYBALL, SQUASH, STONE_DIAMETER, TABLE_TENNIS, TENNIS, TEQBALL, VOLLEYBALL, DEFAULT_FENCE, FEET_PER_METRE, FEET_PER_YARD, FENCE_ANGLES, FOOTBALL, GOALPOST_WIDTH, HASH_LENGTH, MLB, NBA, NHL, fenceAt, fencePoints, dimensionsOf, fenceIn, footballLength, inch, surfaceSize, secondBase, skinJoin, threePointJoin } from "./geometry.ts";
3
4
  export type { FencePoint, FootballSpec, SizedSport } from "./geometry.ts";
@@ -1,4 +1,6 @@
1
1
  // The dimensions of every surface, in feet, with the few functions that follow from them.
2
+ // The words in both languages, as this entry has always carried them (the lean district reads one language when it is asked to).
3
+ import "./strings.js";
2
4
  export { ARTISTIC, DIVING, DIVING_LINES, SWIMMING, SWIMMING_WIDTHS, WATER_POLO } from "./pool.figures.js";
3
5
  export { BADMINTON, BEACH_VOLLEYBALL, CURLING, NETBALL, PADEL, PICKLEBALL, RACQUETBALL, ROUNDNET, SEPAK_TAKRAW, SITTING_VOLLEYBALL, SQUASH, STONE_DIAMETER, TABLE_TENNIS, TENNIS, TEQBALL, VOLLEYBALL, DEFAULT_FENCE, FEET_PER_METRE, FEET_PER_YARD, FENCE_ANGLES, FOOTBALL, GOALPOST_WIDTH, HASH_LENGTH, MLB, NBA, NHL, fenceAt, fencePoints, dimensionsOf, fenceIn, footballLength, inch, surfaceSize, secondBase, skinJoin, threePointJoin } from "./geometry.js";
4
6
  export { boardsY } from "./surfaces/hockey.js";
@@ -1,3 +1,4 @@
1
+ import "./strings.ts";
1
2
  export { GROUND_IDS, GROUNDS, groundById, groundByName, groundByWikidata, groundNameIn, groundOfficialName, groundSourceUrl, groundsByName, groundsHosting } from "./grounds.ts";
2
3
  export { officialName, plainName } from "./names.ts";
3
4
  export type { PlaceAlias, PlaceNameKind } from "./names.ts";
@@ -1,3 +1,5 @@
1
1
  // The soccer grounds: their pitches at their own size, names, places and the World Cups they staged, with the article each was read from.
2
+ // The words in both languages, as this entry has always carried them (the lean district reads one language when it is asked to).
3
+ import "./strings.js";
2
4
  export { GROUND_IDS, GROUNDS, groundById, groundByName, groundByWikidata, groundNameIn, groundOfficialName, groundSourceUrl, groundsByName, groundsHosting } from "./grounds.js";
3
5
  export { officialName, plainName } from "./names.js";
package/dist/heat.js CHANGED
@@ -9,7 +9,7 @@ import { binGrid, contourRings, densityAt, densityGrid, gridValues, hexBins, hex
9
9
  import { buildZoneSet } from "./heat.zones.js";
10
10
  import { clamp01, isNum, markAttrs, newMade, opacityOf, place, placeBack, toArray, unitOfLayer } from "./layers.env.js";
11
11
  import { rampColour } from "./layers.marks.js";
12
- import { fill } from "./strings.js";
12
+ import { fill } from "./strings.core.js";
13
13
  import { textWidth } from "./text.js";
14
14
  import { FEET_PER } from "./units.js";
15
15
  /** Outcomes that count as a success for the `rate` statistic, unless the layer says. */
@@ -1,5 +1,5 @@
1
1
  import type { Outline } from "./outline.ts";
2
- import type { KyogijoWords } from "./strings.ts";
2
+ import type { KyogijoWords } from "./strings.core.ts";
3
3
  import type { Sport, SurfaceOptions } from "./types.ts";
4
4
  /** The zone sets. */
5
5
  export type ZoneSetId = "field-thirds" | "cricket-ground" | "soccer-positional" | "soccer-thirds" | "soccer-channels" | "soccer-18" | "nba-shot" | "nhl-slot" | "nhl-home-plate" | "baseball-spray" | "baseball-retrosheet" | "football-pass" | "athletics-track" | "skating-track" | "budo-areas" | "curling-house" | "net-court" | "wall-court" | "roundnet-rings" | "pool-lanes" | "water-polo-areas" | "pool-thirds";
@@ -7,7 +7,7 @@ import { RETROSHEET_ZONES } from "./frames.providers.js";
7
7
  import { num } from "./format.js";
8
8
  import { FOOTBALL } from "./geometry.js";
9
9
  import { soccerSpec } from "./surfaces/soccer-spec.js";
10
- import { fill } from "./strings.js";
10
+ import { fill } from "./strings.core.js";
11
11
  import { lengthUnit } from "./common.js";
12
12
  import { courtFor, courtSize } from "./court.js";
13
13
  import { fieldPlan } from "./fields.js";
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import "./full.ts";
2
+ import "./venues.all.ts";
2
3
  export { COLOR_PROPERTIES, SPORTS, crowdStands, describe, drawBadge, drawKyogijo, drawScore, drawSurface, isPortrait, statusLabel, statusText, winnerOf } from "./draw.ts";
3
4
  export { HOME_FIRST, HOME_FIRST_LEAGUES, homeSideFor } from "./homeside.ts";
4
5
  export { inkOn, luminance, rgbOf, safeColour, safePicture } from "./colour.ts";
@@ -35,8 +36,8 @@ export { HEAT_RAMPS, HEAT_RAMP_NAMES } from "./heat.colour.ts";
35
36
  export { ZONE_SETS, ZONE_SET_IDS } from "./heat.zones.ts";
36
37
  export type { Bandwidth, ContourLayer, HeatBase, HeatBins, HeatDatum, HeatLabels, HeatLegend, HeatRamp, HeatRampName, HeatStatistic, HeatmapLayer, HexOrientation, HexbinLayer, LegendLayer, Reducer, StatisticName, ZoneSetId, ZonesLayer } from "./heat.types.ts";
37
38
  export type { ArrowsLayer, Comet, Layer, LayerBase, LayerKind, LayerTeam, LineDatum, LineStyle, LinesLayer, MarkDatum, MarkShape, OutcomeStyle, Paint, PointDatum, PointStyle, PointsLayer, Scale, TableOptions, TextDatum, TextLayer, TextStyle } from "./layers.types.ts";
38
- export { KYOGIJO_STRINGS } from "./strings.ts";
39
- export type { KyogijoWords } from "./strings.ts";
39
+ export { KYOGIJO_STRINGS } from "./strings.core.ts";
40
+ export type { KyogijoWords } from "./strings.core.ts";
40
41
  export { KYOGIJO_COURTS_STYLE } from "./courts.style.ts";
41
42
  export { HARDWOOD_SMALL, KYOGIJO_HARDWOOD_STYLE } from "./hardwood.ts";
42
43
  export { KYOGIJO_CROWD_STYLE } from "./crowd.draw.ts";
package/dist/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  // Kyogijo Stadiums 競技場: sports surfaces as SVG, drawn to scale, with the teams and the score on them.
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 { COLOR_PROPERTIES, SPORTS, crowdStands, describe, drawBadge, drawKyogijo, drawScore, drawSurface, isPortrait, statusLabel, statusText, winnerOf } from "./draw.js";
4
6
  export { HOME_FIRST, HOME_FIRST_LEAGUES, homeSideFor } from "./homeside.js";
5
7
  export { inkOn, luminance, rgbOf, safeColour, safePicture } from "./colour.js";
@@ -22,7 +24,7 @@ export { dojo, drawDojo } from "./budo/dojo.api.js";
22
24
  export { rampColour } from "./layers.marks.js";
23
25
  export { HEAT_RAMPS, HEAT_RAMP_NAMES } from "./heat.colour.js";
24
26
  export { ZONE_SETS, ZONE_SET_IDS } from "./heat.zones.js";
25
- export { KYOGIJO_STRINGS } from "./strings.js";
27
+ export { KYOGIJO_STRINGS } from "./strings.core.js";
26
28
  export { KYOGIJO_COURTS_STYLE } from "./courts.style.js";
27
29
  export { HARDWOOD_SMALL, KYOGIJO_HARDWOOD_STYLE } from "./hardwood.js";
28
30
  export { KYOGIJO_CROWD_STYLE } from "./crowd.draw.js";
@@ -1,4 +1,5 @@
1
1
  import "./full.ts";
2
+ import "./venues.all.ts";
2
3
  export { judgingBoard, boardFoot, BOARD_BASE } from "./judging.board.ts";
3
4
  export { JUDGING_PAPER, judgingPrint, judgingPrintSheets, judgingPrintStyle } from "./judging.print.ts";
4
5
  export type { JudgingPrintOptions } from "./judging.print.ts";
@@ -1,5 +1,7 @@
1
1
  // A judging assignment: the officials of each mat area of a judo tournament, by seat, with their names and IDs, in the seat where they fit and in a chart where they do not; in 2D and in 3D.
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 { judgingBoard, boardFoot, BOARD_BASE } from "./judging.board.js";
4
6
  export { JUDGING_PAPER, judgingPrint, judgingPrintSheets, judgingPrintStyle } from "./judging.print.js";
5
7
  export { KYOGIJO_JUDGING_BROADCAST_STYLE, mountJudgingBroadcast } from "./judging.mount.js";
@@ -10,7 +10,7 @@ import { judgingSetting } from "./judging.js";
10
10
  import { KYOGIJO_JUDGING_BOARD_STYLE, KYOGIJO_JUDGING_STYLE } from "./judging.style.js";
11
11
  import { judgingText } from "./judging.text.js";
12
12
  import { JUDGING_WORDS } from "./judging.words.js";
13
- import { fill } from "./strings.js";
13
+ import { fill } from "./strings.core.js";
14
14
  import { metaMarkup, safeClass } from "./common.js";
15
15
  import { LINE_HEIGHT, fitLines, textWidth } from "./text.js";
16
16
  import { VERSION } from "./version.js";
@@ -11,7 +11,7 @@ import { judgingPlan, judgingSetting } from "./judging.js";
11
11
  import { judgingText } from "./judging.text.js";
12
12
  import { KYOGIJO_JUDGING_STYLE } from "./judging.style.js";
13
13
  import { JUDGING_WORDS } from "./judging.words.js";
14
- import { fill } from "./strings.js";
14
+ import { fill } from "./strings.core.js";
15
15
  import { LINE_HEIGHT } from "./text.js";
16
16
  import { VERSION } from "./version.js";
17
17
  /** The rows of one mat's chart, each as tall as its name and ID need, set in a chart `width` wide. */
package/dist/judging.js CHANGED
@@ -3,7 +3,7 @@
3
3
  import { budoPlan } from "./budo/plan.js";
4
4
  import { JUDGING_LEAGUE, JUDGING_MATS_MAX, JUDGING_SEATS, JUDGING_SEAT_WORDS, JUDGING_STYLES } from "./judging.data.js";
5
5
  import { JUDGING_WORDS } from "./judging.words.js";
6
- import { fill } from "./strings.js";
6
+ import { fill } from "./strings.core.js";
7
7
  /** The longest name, ID and mat label that are taken, in characters. */
8
8
  export const JUDGING_LIMITS = Object.freeze({ name: 120, id: 64, label: 40, line: 60 });
9
9
  /** Text made safe to show: control characters become spaces, runs of spaces one, the ends trimmed. */
@@ -1,6 +1,6 @@
1
1
  // What a judging picture says in words: the title and the description of an assignment, each mat with each seat and who is in it. Shared by the plan view, the broadcast view and the 3D view.
2
2
  import { JUDGING_WORDS } from "./judging.words.js";
3
- import { fill } from "./strings.js";
3
+ import { fill } from "./strings.core.js";
4
4
  /** The sentence that names one seat and who sits in it. */
5
5
  function seatSentence(a, setting) {
6
6
  const w = JUDGING_WORDS[setting.language].say;
@@ -2,7 +2,7 @@ import "./frames.providers.ts";
2
2
  import type { P } from "./layers.marks.ts";
3
3
  import type { LayerBase } from "./layers.types.ts";
4
4
  import { type Outline } from "./outline.ts";
5
- import { type KyogijoWords } from "./strings.ts";
5
+ import { type KyogijoWords } from "./strings.core.ts";
6
6
  import type { Box, ScoreOptions, SurfaceOptions } from "./types.ts";
7
7
  import { type Unit } from "./units.ts";
8
8
  export declare const isNum: (value: unknown) => value is number;
@@ -8,7 +8,7 @@ import { zoneResolver } from "./rules.js";
8
8
  import "./frames.providers.js";
9
9
  import { chooseLeague } from "./leagues.js";
10
10
  import { frameSizeOf, outlineOf } from "./outline.js";
11
- import { KYOGIJO_STRINGS } from "./strings.js";
11
+ import { KYOGIJO_STRINGS } from "./strings.core.js";
12
12
  import { FEET_PER, SURFACE_UNITS, isUnit } from "./units.js";
13
13
  export const isNum = (value) => typeof value === "number" && Number.isFinite(value);
14
14
  export const clamp01 = (value) => Math.max(0, Math.min(1, value));
package/dist/layers.js CHANGED
@@ -15,7 +15,7 @@ import { clamp01, envFor, isNum, markAttrs, markTitle, newMade, opacityOf, own,
15
15
  import { safeClass } from "./common.js";
16
16
  import { esc, num } from "./format.js";
17
17
  import { curveBetween, curvePath, headPath, isPolygon, polylinePath, rampColour, shapePath, taperPath, wavePath, } from "./layers.marks.js";
18
- import { KYOGIJO_STRINGS, fill } from "./strings.js";
18
+ import { KYOGIJO_STRINGS, fill } from "./strings.core.js";
19
19
  import { FEET_PER } from "./units.js";
20
20
  /**
21
21
  * How the standard outcomes look. A word that is not here draws as a filled mark; `style.outcomes` of a layer adds words and changes these.
package/dist/layout.js CHANGED
@@ -10,7 +10,7 @@ import { KYOGIJO_GRID_STYLE } from "./layout.style.js";
10
10
  import { KYOGIJO_MARK_STYLE } from "./mark.js";
11
11
  import { isPolygon, shapePath } from "./layers.marks.js";
12
12
  import { elements, parseSvg, textOf, writeSvg } from "./scene.xml.js";
13
- import { KYOGIJO_STRINGS, fill } from "./strings.js";
13
+ import { KYOGIJO_STRINGS, fill } from "./strings.core.js";
14
14
  import { KYOGIJO_BASE_STYLE, KYOGIJO_CURLING_STYLE, KYOGIJO_HEAT_STYLE, KYOGIJO_NOTE_STYLE, KYOGIJO_TEAM_STYLE } from "./style.js";
15
15
  import { textWidth } from "./text.js";
16
16
  import { VERSION } from "./version.js";
@@ -1,4 +1,5 @@
1
1
  import "./full.ts";
2
+ import "./venues.all.ts";
2
3
  export { GRID_MAX_CELLS, GRID_PRESETS, drawGrid } from "./layout.ts";
3
4
  export type { GridCell, GridDrawing, GridLegendItem, GridOptions, GridPreset, GridPresetInfo } from "./layout.ts";
4
5
  export { KYOGIJO_GRID_STYLE } from "./layout.style.ts";
@@ -1,5 +1,7 @@
1
1
  // Layouts: many drawings in one SVG (small multiples with a shared title, subtitle, credit line and key, in a size for a social card or a phone) and the grounds behind a drawing or a grid.
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 { GRID_MAX_CELLS, GRID_PRESETS, drawGrid } from "./layout.js";
4
6
  export { KYOGIJO_GRID_STYLE } from "./layout.style.js";
5
7
  export { BACKGROUND_OPACITY, BACKGROUND_PATTERNS, KYOGIJO_BACKGROUND_STYLE, backgroundMarkup, laidOn, resolveBackground } from "./background.js";
@@ -1,3 +1,4 @@
1
+ import "./strings.ts";
1
2
  export { FAMILY_OF, LEAGUES, VARIANTS, aflOf, chooseLeague, courtOf, cricketOf, diamondOf, fieldHockeyOf, fieldOf, gaelicOf, handballOf, lacrosseOf, rugbyOf, hasHistory, leagueAt, leagueAtOf, leagueById, leagueChanges, leagueFigures, leagueIds, leagueSeason, leagueSize, netOf, rinkOf, sheetOf } from "./leagues.ts";
2
3
  export type { BaseballLeague, BasketballLeague, CourtFigures, CurlingLeague, SheetFigures, BadmintonFigures, BadmintonLeague, FreeZone, FreeZones, NetFigures, NetLeague, NetSport, NetballFigures, NetballLeague, PadelFigures, PadelLeague, PickleballFigures, PickleballLeague, RacquetballFigures, RacquetballLeague, RoundnetFigures, RoundnetLeague, SepakTakrawFigures, SepakTakrawLeague, SquashFigures, SquashLeague, TableTennisFigures, TableTennisLeague, TennisFigures, TennisLeague, TeqballFigures, TeqballLeague, VolleyballFigures, VolleyballLeague, CourtMarks, DiamondFigures, Family, FootballLeague, HockeyLeague, League, LeagueAt, LeagueChange, LeagueSource, LeagueSpan, Named, RinkFigures } from "./leagues.ts";
3
4
  export { MLB_DIAMOND } from "./leagues/baseball.ts";
@@ -1,4 +1,6 @@
1
1
  // The leagues: each variant of a family of surface, with its rulebook's figures, its names and its sources.
2
+ // The words in both languages, as this entry has always carried them (the lean district reads one language when it is asked to).
3
+ import "./strings.js";
2
4
  export { FAMILY_OF, LEAGUES, VARIANTS, aflOf, chooseLeague, courtOf, cricketOf, diamondOf, fieldHockeyOf, fieldOf, gaelicOf, handballOf, lacrosseOf, rugbyOf, hasHistory, leagueAt, leagueAtOf, leagueById, leagueChanges, leagueFigures, leagueIds, leagueSeason, leagueSize, netOf, rinkOf, sheetOf } from "./leagues.js";
3
5
  export { MLB_DIAMOND } from "./leagues/baseball.js";
4
6
  export { NBA_COURT } from "./leagues/basketball.js";
@@ -1,3 +1,4 @@
1
1
  import "./full.ts";
2
+ import "./venues.all.ts";
2
3
  export { containerAspect, kyogijoElement, mountKyogijo } from "./mount.ts";
3
4
  export type { KyogijoMount, KyogijoReplay, MountSettings } from "./mount.ts";
@@ -1,3 +1,5 @@
1
1
  // Drawing into a container in the browser, with the layout following the container's shape.
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 { containerAspect, kyogijoElement, mountKyogijo } from "./mount.js";
@@ -1,4 +1,5 @@
1
1
  import "./full.ts";
2
+ import "./venues.all.ts";
2
3
  export { drawMulti, multiSetting, multiTable } from "./multi.draw.ts";
3
4
  export { SURROUND_HEIGHT, buildMultiTurn, mountMultiTurn, multiPresets, multiTurnMarkup } from "./multi.turn.ts";
4
5
  export { MULTI_MAX, fitSentence, multiFit, multiLayout, needsSentence, specOf, venueOf } from "./multi.ts";
@@ -2,6 +2,8 @@
2
2
  // officials' chairs, a scoreboard hung over the middle, the boards and the empty places for the event's own words and marks; the real configurations of events as presets, each with its rule; the halls whose
3
3
  // floors are published, and whether a layout fits one; and a real stadium round the floor at the same scale. `multiTable` is the text alternative.
4
4
  import "./full.js";
5
+ // The real venues of the NHL's arenas, as this entry has always had them (the lean district reads the ones it shows).
6
+ import "./venues.all.js";
5
7
  export { drawMulti, multiSetting, multiTable } from "./multi.draw.js";
6
8
  export { SURROUND_HEIGHT, buildMultiTurn, mountMultiTurn, multiPresets, multiTurnMarkup } from "./multi.turn.js";
7
9
  export { MULTI_MAX, fitSentence, multiFit, multiLayout, needsSentence, specOf, venueOf } from "./multi.js";
@@ -12,7 +12,7 @@ import { fitSentence, multiFit, multiLayout, multiNumber, needsSentence, venueOf
12
12
  import { KYOGIJO_MULTI_STYLE } from "./multi.style.js";
13
13
  import { MULTI_WORDS } from "./multi.words.js";
14
14
  import { outlineOf } from "./outline.js";
15
- import { fill } from "./strings.js";
15
+ import { fill } from "./strings.core.js";
16
16
  import { textWidth } from "./text.js";
17
17
  import { uprightsFor } from "./uprights.js";
18
18
  import { hallBoards } from "./venue.boards.js";
package/dist/multi.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // A tournament layout laid out: several of the package's own surfaces on one floor, to scale, where each stands and what it leaves free; the floor the layout needs; and whether it fits a hall's floor. The
2
2
  // figures are in multi.data.ts (a rulebook's, with its source); this file only adds them up. Nothing here draws SVG (multi.draw.ts does), and every function returns new values.
3
3
  import { inOctagon } from "./budo/plan.js";
4
- import { fill } from "./strings.js";
4
+ import { fill } from "./strings.core.js";
5
5
  import { FEET_PER_METRE } from "./geometry.js";
6
6
  import { IJF_CONTEST, WKF_KUMITE } from "./leagues/budo.js";
7
7
  import { MULTI_PRESETS, MULTI_VENUES, multiPreset, multiVenueById } from "./multi.data.js";
@@ -1,2 +1,3 @@
1
+ import "./strings.ts";
1
2
  export { OSM_AREAS, OSM_ATTRIBUTION, VANCOUVER_CENTRE } from "./osm.context.data.ts";
2
3
  export type { ContextArea } from "./context.ts";
package/dist/osm-entry.js CHANGED
@@ -1,2 +1,4 @@
1
1
  // The buildings and streets round a district, from OpenStreetMap (ODbL 1.0), as data a district takes in its `context` option: downtown Vancouver's, round BC Place and Rogers Arena, with the credit that goes with a drawing made from it.
2
+ // The words in both languages, as this entry has always carried them (the lean district reads one language when it is asked to).
3
+ import "./strings.js";
2
4
  export { OSM_AREAS, OSM_ATTRIBUTION, VANCOUVER_CENTRE } from "./osm.context.data.js";
package/dist/outside.d.ts CHANGED
@@ -28,7 +28,8 @@ export declare const hasOutside: (plan: Pick<DistrictPlan, "members">) => boolea
28
28
  export declare const OUTSIDE_VENUES: readonly string[];
29
29
  /**
30
30
  * The crowd outside a plan's venues, in the plan's frame: the people of every venue of the plan that stands on a mask (each with its seats as the plan has them), worked out once and kept. `undefined` where no venue of the plan
31
- * has a mask. The crowd is the same list whatever level is shown: `outsideCount` says how many of its first people stand at a level.
31
+ * has a mask. The crowd is the same list whatever level is shown: `outsideCount` says how many of its first people stand at a level. The district entry holds the data of every mask; the lean district holds a mask's data only after
32
+ * `loadOutside(venues)` has read it, and throws, saying so, where it is asked for a crowd before.
32
33
  * @example
33
34
  * ```ts
34
35
  * import { planDistrict } from "@johnmorrisdotca/kyogijo-stadiums/district";