@johnmorrisdotca/kyogijo-stadiums 0.45.2 → 0.45.3
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.
- package/CHANGELOG.md +43 -0
- package/dist/annotate.d.ts +1 -1
- package/dist/annotate.js +1 -1
- package/dist/arenas-entry.d.ts +1 -0
- package/dist/arenas-entry.js +2 -0
- package/dist/athletics/describe.js +1 -1
- package/dist/athletics-entry.d.ts +1 -0
- package/dist/athletics-entry.js +2 -0
- package/dist/atlas-entry.d.ts +1 -0
- package/dist/atlas-entry.js +2 -0
- package/dist/ballpark.d.ts +1 -1
- package/dist/ballpark.js +1 -1
- package/dist/budo/describe.js +1 -1
- package/dist/budo-entry.d.ts +1 -0
- package/dist/budo-entry.js +2 -0
- package/dist/canvas-entry.d.ts +1 -0
- package/dist/canvas-entry.js +2 -0
- package/dist/charts-entry.d.ts +1 -0
- package/dist/charts-entry.js +2 -0
- package/dist/charts.athletics.js +1 -1
- package/dist/charts.baseball.js +1 -1
- package/dist/charts.curling.heat.js +1 -1
- package/dist/charts.curling.js +1 -1
- package/dist/charts.d.ts +1 -1
- package/dist/charts.js +1 -1
- package/dist/charts.network.js +1 -1
- package/dist/charts.pool.js +1 -1
- package/dist/charts.skating.js +1 -1
- package/dist/charts.soccer.js +1 -1
- package/dist/cityctx-entry.d.ts +1 -0
- package/dist/cityctx-entry.js +2 -0
- package/dist/d3-entry.d.ts +1 -0
- package/dist/d3-entry.js +2 -0
- package/dist/district-entry.d.ts +2 -0
- package/dist/district-entry.js +4 -0
- package/dist/district-lean-entry.js +1 -1
- package/dist/district.js +1 -1
- package/dist/draw.js +1 -1
- package/dist/element-entry.d.ts +1 -0
- package/dist/element-entry.js +2 -0
- package/dist/eras-entry.d.ts +1 -0
- package/dist/eras-entry.js +2 -0
- package/dist/events.js +1 -1
- package/dist/flythrough-entry.d.ts +1 -0
- package/dist/flythrough-entry.js +2 -0
- package/dist/frames-entry.d.ts +1 -0
- package/dist/frames-entry.js +2 -0
- package/dist/full.d.ts +1 -0
- package/dist/full.js +3 -1
- package/dist/geojson-entry.d.ts +1 -0
- package/dist/geojson-entry.js +2 -0
- package/dist/geometry-entry.d.ts +1 -0
- package/dist/geometry-entry.js +2 -0
- package/dist/grounds-entry.d.ts +1 -0
- package/dist/grounds-entry.js +2 -0
- package/dist/heat.js +1 -1
- package/dist/heat.zones.d.ts +1 -1
- package/dist/heat.zones.js +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.js +3 -1
- package/dist/judging-entry.d.ts +1 -0
- package/dist/judging-entry.js +2 -0
- package/dist/judging.board.js +1 -1
- package/dist/judging.draw.js +1 -1
- package/dist/judging.js +1 -1
- package/dist/judging.text.js +1 -1
- package/dist/layers.env.d.ts +1 -1
- package/dist/layers.env.js +1 -1
- package/dist/layers.js +1 -1
- package/dist/layout.js +1 -1
- package/dist/layouts-entry.d.ts +1 -0
- package/dist/layouts-entry.js +2 -0
- package/dist/leagues-entry.d.ts +1 -0
- package/dist/leagues-entry.js +2 -0
- package/dist/mount-entry.d.ts +1 -0
- package/dist/mount-entry.js +2 -0
- package/dist/multi-entry.d.ts +1 -0
- package/dist/multi-entry.js +2 -0
- package/dist/multi.draw.js +1 -1
- package/dist/multi.js +1 -1
- package/dist/osm-entry.d.ts +1 -0
- package/dist/osm-entry.js +2 -0
- package/dist/outside.d.ts +2 -1
- package/dist/outside.js +7 -6
- package/dist/parks-entry.d.ts +1 -0
- package/dist/parks-entry.js +2 -0
- package/dist/plateau-entry.d.ts +1 -0
- package/dist/plateau-entry.js +2 -0
- package/dist/plot-entry.d.ts +1 -0
- package/dist/plot-entry.js +2 -0
- package/dist/png-entry.d.ts +1 -0
- package/dist/png-entry.js +2 -0
- package/dist/pool.replay.js +1 -1
- package/dist/pool.words.js +1 -1
- package/dist/ranges.js +1 -1
- package/dist/react-entry.d.ts +1 -0
- package/dist/react-entry.js +2 -0
- package/dist/replay-entry.d.ts +1 -0
- package/dist/replay-entry.js +2 -0
- package/dist/replay.d.ts +1 -1
- package/dist/replay.dom.js +1 -1
- package/dist/replay.js +1 -1
- package/dist/rules.js +1 -1
- package/dist/scene-entry.d.ts +1 -0
- package/dist/scene-entry.js +2 -0
- package/dist/situation.draw.js +1 -1
- package/dist/situation.js +1 -1
- package/dist/skating/describe.js +1 -1
- package/dist/skating-entry.d.ts +1 -0
- package/dist/skating-entry.js +2 -0
- package/dist/stadiums-entry.d.ts +1 -0
- package/dist/stadiums-entry.js +2 -0
- package/dist/strings.core.d.ts +1104 -0
- package/dist/strings.core.js +55 -0
- package/dist/strings.d.ts +4 -1084
- package/dist/strings.en.d.ts +2 -0
- package/dist/strings.en.js +537 -0
- package/dist/strings.ja.d.ts +2 -0
- package/dist/strings.ja.js +562 -0
- package/dist/strings.js +5 -1100
- package/dist/surfaces/venue.js +1 -1
- package/dist/target.js +1 -1
- package/dist/team.common.js +1 -1
- package/dist/team.formation.js +1 -1
- package/dist/team.lineup.js +1 -1
- package/dist/team.motion.js +1 -1
- package/dist/team.network.js +1 -1
- package/dist/team.shape.js +1 -1
- package/dist/turn-entry.d.ts +1 -0
- package/dist/turn-entry.js +2 -0
- package/dist/turn.model.d.ts +1 -1
- package/dist/turn.model.js +1 -1
- package/dist/uprights.js +1 -1
- package/dist/venue-data-entry.d.ts +2 -0
- package/dist/venue-data-entry.js +5 -1
- package/dist/venue-data.d.ts +1 -1
- package/dist/venue-data.js +5 -2
- package/dist/venues/amerant-bank-arena.data.d.ts +2 -0
- package/dist/venues/amerant-bank-arena.data.js +9 -0
- package/dist/venues/amerant-bank-arena.osm.data.d.ts +2 -0
- package/dist/venues/amerant-bank-arena.osm.data.js +47 -0
- package/dist/venues/american-airlines-center.data.d.ts +2 -0
- package/dist/venues/american-airlines-center.data.js +9 -0
- package/dist/venues/american-airlines-center.osm.data.d.ts +2 -0
- package/dist/venues/american-airlines-center.osm.data.js +57 -0
- package/dist/venues/ball-arena.data.d.ts +2 -0
- package/dist/venues/ball-arena.data.js +9 -0
- package/dist/venues/ball-arena.osm.data.d.ts +2 -0
- package/dist/venues/ball-arena.osm.data.js +63 -0
- package/dist/venues/bell-centre.data.d.ts +2 -0
- package/dist/venues/bell-centre.data.js +9 -0
- package/dist/venues/bell-centre.osm.data.d.ts +2 -0
- package/dist/venues/bell-centre.osm.data.js +24 -0
- package/dist/venues/benchmark-international-arena.data.d.ts +2 -0
- package/dist/venues/benchmark-international-arena.data.js +9 -0
- package/dist/venues/benchmark-international-arena.osm.data.d.ts +2 -0
- package/dist/venues/benchmark-international-arena.osm.data.js +57 -0
- package/dist/venues/bridgestone-arena.data.d.ts +2 -0
- package/dist/venues/bridgestone-arena.data.js +9 -0
- package/dist/venues/bridgestone-arena.osm.data.d.ts +2 -0
- package/dist/venues/bridgestone-arena.osm.data.js +43 -0
- package/dist/venues/canada-life-centre.data.d.ts +2 -0
- package/dist/venues/canada-life-centre.data.js +9 -0
- package/dist/venues/canada-life-centre.osm.data.d.ts +2 -0
- package/dist/venues/canada-life-centre.osm.data.js +35 -0
- package/dist/venues/canadian-tire-centre.data.d.ts +2 -0
- package/dist/venues/canadian-tire-centre.data.js +9 -0
- package/dist/venues/canadian-tire-centre.osm.data.d.ts +2 -0
- package/dist/venues/canadian-tire-centre.osm.data.js +45 -0
- package/dist/venues/capital-one-arena.data.d.ts +2 -0
- package/dist/venues/capital-one-arena.data.js +9 -0
- package/dist/venues/capital-one-arena.osm.data.d.ts +2 -0
- package/dist/venues/capital-one-arena.osm.data.js +22 -0
- package/dist/venues/climate-pledge-arena.data.d.ts +2 -0
- package/dist/venues/climate-pledge-arena.data.js +9 -0
- package/dist/venues/climate-pledge-arena.osm.data.d.ts +2 -0
- package/dist/venues/climate-pledge-arena.osm.data.js +32 -0
- package/dist/venues/crypto-com-arena.data.d.ts +2 -0
- package/dist/venues/crypto-com-arena.data.js +9 -0
- package/dist/venues/crypto-com-arena.osm.data.d.ts +2 -0
- package/dist/venues/crypto-com-arena.osm.data.js +64 -0
- package/dist/venues/delta-center.data.d.ts +2 -0
- package/dist/venues/delta-center.data.js +9 -0
- package/dist/venues/delta-center.osm.data.d.ts +2 -0
- package/dist/venues/delta-center.osm.data.js +40 -0
- package/dist/venues/enterprise-center.data.d.ts +2 -0
- package/dist/venues/enterprise-center.data.js +9 -0
- package/dist/venues/enterprise-center.osm.data.d.ts +2 -0
- package/dist/venues/enterprise-center.osm.data.js +35 -0
- package/dist/venues/grand-casino-arena.data.d.ts +2 -0
- package/dist/venues/grand-casino-arena.data.js +9 -0
- package/dist/venues/grand-casino-arena.osm.data.d.ts +2 -0
- package/dist/venues/grand-casino-arena.osm.data.js +37 -0
- package/dist/venues/honda-center.data.d.ts +2 -0
- package/dist/venues/honda-center.data.js +9 -0
- package/dist/venues/honda-center.osm.data.d.ts +2 -0
- package/dist/venues/honda-center.osm.data.js +46 -0
- package/dist/venues/keybank-center.data.d.ts +2 -0
- package/dist/venues/keybank-center.data.js +9 -0
- package/dist/venues/keybank-center.osm.data.d.ts +2 -0
- package/dist/venues/keybank-center.osm.data.js +34 -0
- package/dist/venues/lenovo-center.data.d.ts +2 -0
- package/dist/venues/lenovo-center.data.js +9 -0
- package/dist/venues/lenovo-center.osm.data.d.ts +2 -0
- package/dist/venues/lenovo-center.osm.data.js +51 -0
- package/dist/venues/little-caesars-arena.data.d.ts +2 -0
- package/dist/venues/little-caesars-arena.data.js +9 -0
- package/dist/venues/little-caesars-arena.osm.data.d.ts +2 -0
- package/dist/venues/little-caesars-arena.osm.data.js +64 -0
- package/dist/venues/madison-square-garden.data.d.ts +2 -0
- package/dist/venues/madison-square-garden.data.js +9 -0
- package/dist/venues/madison-square-garden.osm.data.d.ts +2 -0
- package/dist/venues/madison-square-garden.osm.data.js +47 -0
- package/dist/venues/nationwide-arena.data.d.ts +2 -0
- package/dist/venues/nationwide-arena.data.js +9 -0
- package/dist/venues/nationwide-arena.osm.data.d.ts +2 -0
- package/dist/venues/nationwide-arena.osm.data.js +50 -0
- package/dist/venues/ppg-paints-arena.data.d.ts +2 -0
- package/dist/venues/ppg-paints-arena.data.js +9 -0
- package/dist/venues/ppg-paints-arena.osm.data.d.ts +2 -0
- package/dist/venues/ppg-paints-arena.osm.data.js +31 -0
- package/dist/venues/prudential-center.data.d.ts +2 -0
- package/dist/venues/prudential-center.data.js +9 -0
- package/dist/venues/prudential-center.osm.data.d.ts +2 -0
- package/dist/venues/prudential-center.osm.data.js +41 -0
- package/dist/venues/rogers-arena.data.d.ts +2 -0
- package/dist/venues/rogers-arena.data.js +10 -0
- package/dist/venues/rogers-arena.osm.data.d.ts +2 -0
- package/dist/venues/rogers-arena.osm.data.js +27 -0
- package/dist/venues/rogers-place.data.d.ts +2 -0
- package/dist/venues/rogers-place.data.js +9 -0
- package/dist/venues/rogers-place.osm.data.d.ts +2 -0
- package/dist/venues/rogers-place.osm.data.js +40 -0
- package/dist/venues/sap-center.data.d.ts +2 -0
- package/dist/venues/sap-center.data.js +9 -0
- package/dist/venues/sap-center.osm.data.d.ts +2 -0
- package/dist/venues/sap-center.osm.data.js +54 -0
- package/dist/venues/scotiabank-arena.data.d.ts +2 -0
- package/dist/venues/scotiabank-arena.data.js +9 -0
- package/dist/venues/scotiabank-arena.osm.data.d.ts +2 -0
- package/dist/venues/scotiabank-arena.osm.data.js +45 -0
- package/dist/venues/scotiabank-saddledome.data.d.ts +2 -0
- package/dist/venues/scotiabank-saddledome.data.js +9 -0
- package/dist/venues/scotiabank-saddledome.osm.data.d.ts +2 -0
- package/dist/venues/scotiabank-saddledome.osm.data.js +46 -0
- package/dist/venues/t-mobile-arena.data.d.ts +2 -0
- package/dist/venues/t-mobile-arena.data.js +9 -0
- package/dist/venues/t-mobile-arena.osm.data.d.ts +2 -0
- package/dist/venues/t-mobile-arena.osm.data.js +50 -0
- package/dist/venues/td-garden.data.d.ts +2 -0
- package/dist/venues/td-garden.data.js +9 -0
- package/dist/venues/td-garden.osm.data.d.ts +2 -0
- package/dist/venues/td-garden.osm.data.js +24 -0
- package/dist/venues/ubs-arena.data.d.ts +2 -0
- package/dist/venues/ubs-arena.data.js +9 -0
- package/dist/venues/ubs-arena.osm.data.d.ts +2 -0
- package/dist/venues/ubs-arena.osm.data.js +33 -0
- package/dist/venues/united-center.data.d.ts +2 -0
- package/dist/venues/united-center.data.js +9 -0
- package/dist/venues/united-center.osm.data.d.ts +2 -0
- package/dist/venues/united-center.osm.data.js +56 -0
- package/dist/venues/xfinity-mobile-arena.data.d.ts +2 -0
- package/dist/venues/xfinity-mobile-arena.data.js +9 -0
- package/dist/venues/xfinity-mobile-arena.osm.data.d.ts +2 -0
- package/dist/venues/xfinity-mobile-arena.osm.data.js +47 -0
- package/dist/venues-entry.d.ts +1 -0
- package/dist/venues-entry.js +2 -0
- package/dist/venues.all.d.ts +1 -0
- package/dist/venues.all.js +6 -0
- package/dist/venues.d.ts +16 -4
- package/dist/venues.index.d.ts +8 -0
- package/dist/venues.index.js +34 -0
- package/dist/venues.js +45 -8
- package/dist/venues.osm.data.d.ts +0 -2
- package/dist/venues.osm.data.js +0 -2
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/walk/vancouver.data.d.ts +2 -0
- package/dist/walk/vancouver.data.js +1291 -0
- package/dist/walk.d.ts +24 -1
- package/dist/walk.data.d.ts +2 -2
- package/dist/walk.data.js +13 -1293
- package/dist/walk.full.d.ts +1 -0
- package/dist/walk.full.js +5 -0
- package/dist/walk.index.d.ts +7 -0
- package/dist/walk.index.js +3 -0
- package/dist/walk.js +69 -7
- package/package.json +7 -2
|
@@ -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,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,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,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,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,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,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,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,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,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,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,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
|
+
};
|
package/dist/venues-entry.d.ts
CHANGED
|
@@ -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";
|
package/dist/venues-entry.js
CHANGED
|
@@ -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,7 +1,7 @@
|
|
|
1
1
|
import { type Arena, type ArenaSource } from "./arenas.core.ts";
|
|
2
2
|
import { type Box, type Pt, type RealBowl } from "./crowd.ts";
|
|
3
|
-
|
|
4
|
-
export
|
|
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
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). */
|
|
@@ -97,11 +97,23 @@ export interface VenueOrientation {
|
|
|
97
97
|
basis: "mapped" | "building" | "none";
|
|
98
98
|
north: number;
|
|
99
99
|
}
|
|
100
|
-
/**
|
|
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
|
-
/**
|
|
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;
|
|
@@ -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
|
+
};
|
package/dist/venues.js
CHANGED
|
@@ -6,19 +6,56 @@ import { heldArena, arenaRinkIn } from "./arenas.core.js";
|
|
|
6
6
|
import { NORTH_ROOM, aislesOf, areaOfOutline, outlinePoints } from "./crowd.js";
|
|
7
7
|
import { NHL, FEET_PER_METRE } from "./geometry.js";
|
|
8
8
|
import { boxOf, edgeDistance, inside, metresFrom, middleOf, northOn, turnedTo } from "./venues.geo.js";
|
|
9
|
-
import {
|
|
10
|
-
|
|
11
|
-
export
|
|
9
|
+
import { VENUE_INDEX } from "./venues.index.js";
|
|
10
|
+
/** The credit the ODbL asks for, wherever a drawing made from OpenStreetMap's data is shown. */
|
|
11
|
+
export const VENUE_ATTRIBUTION = "(c) OpenStreetMap contributors, ODbL 1.0, openstreetmap.org/copyright";
|
|
12
12
|
/** 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`. */
|
|
13
13
|
export const VENUE_DIVISIONS = ["pacific", "central", "atlantic", "metropolitan"];
|
|
14
14
|
/** The NHL's two conferences, and the divisions of each. */
|
|
15
15
|
export const VENUE_CONFERENCES = { western: ["pacific", "central"], eastern: ["atlantic", "metropolitan"] };
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
const HELD = {};
|
|
17
|
+
/**
|
|
18
|
+
* 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.
|
|
19
|
+
* @example
|
|
20
|
+
* ```ts
|
|
21
|
+
* import { VENUES } from "@johnmorrisdotca/kyogijo-stadiums/venues";
|
|
22
|
+
* console.log(VENUES["honda-center"].seats.hockey);
|
|
23
|
+
* // 17174
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export const VENUES = HELD;
|
|
27
|
+
/** 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. */
|
|
28
|
+
export function registerVenues(data, osm) {
|
|
29
|
+
return data.map((one) => (HELD[one.id] = Object.freeze({ ...one, osm: osm[one.id] })));
|
|
30
|
+
}
|
|
18
31
|
/** The keys of `VENUES`, in the order of the data. */
|
|
19
|
-
export const VENUE_IDS = Object.freeze(
|
|
20
|
-
|
|
21
|
-
|
|
32
|
+
export const VENUE_IDS = Object.freeze(Object.keys(VENUE_INDEX));
|
|
33
|
+
const reading = new Map();
|
|
34
|
+
/** 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. */
|
|
35
|
+
export function loadVenue(id) {
|
|
36
|
+
const held = Object.hasOwn(HELD, id) ? HELD[id] : undefined;
|
|
37
|
+
if (held !== undefined)
|
|
38
|
+
return Promise.resolve(held);
|
|
39
|
+
const found = reading.get(id);
|
|
40
|
+
if (found !== undefined)
|
|
41
|
+
return found;
|
|
42
|
+
if (!Object.hasOwn(VENUE_INDEX, id))
|
|
43
|
+
return Promise.reject(new Error(`no venue ${JSON.stringify(id)}: the venues are ${VENUE_IDS.join(", ")}`));
|
|
44
|
+
const promise = VENUE_INDEX[id].load().then(([facts, outline]) => registerVenues([facts.VENUE], { [id]: outline.OSM })[0]);
|
|
45
|
+
reading.set(id, promise);
|
|
46
|
+
promise.catch(() => reading.delete(id));
|
|
47
|
+
return promise;
|
|
48
|
+
}
|
|
49
|
+
/** 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. */
|
|
50
|
+
export const venueById = (id) => {
|
|
51
|
+
if (id === undefined)
|
|
52
|
+
return undefined;
|
|
53
|
+
if (Object.hasOwn(HELD, id))
|
|
54
|
+
return HELD[id];
|
|
55
|
+
if (Object.hasOwn(VENUE_INDEX, id))
|
|
56
|
+
throw new Error(`the venue ${id} is not read yet: await loadVenueDataFor([${JSON.stringify(id)}]) before the first call of the lean district that draws it, or use an entry that holds every venue (the main entry, or any but the lean district's)`);
|
|
57
|
+
return undefined;
|
|
58
|
+
};
|
|
22
59
|
/** The venue whose arena is the Wikidata item `Q774138`, or `undefined`. */
|
|
23
60
|
export const venueByWikidata = (wikidata) => Object.values(VENUES).find((venue) => venue.wikidata === wikidata);
|
|
24
61
|
/** The venues of a division of the NHL, in the order of the data. */
|
|
@@ -1,4 +1,2 @@
|
|
|
1
1
|
import type { VenueOsm } from "./venues.ts";
|
|
2
|
-
/** The credit the ODbL asks for, wherever a drawing made from this data is shown. */
|
|
3
|
-
export declare const VENUE_ATTRIBUTION = "(c) OpenStreetMap contributors, ODbL 1.0, openstreetmap.org/copyright";
|
|
4
2
|
export declare const VENUE_OSM: Record<string, VenueOsm>;
|
package/dist/venues.osm.data.js
CHANGED
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/** The package's version: the same as package.json's, and a test holds them to each other. */
|
|
2
|
-
export declare const VERSION = "0.45.
|
|
2
|
+
export declare const VERSION = "0.45.3";
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/** The package's version: the same as package.json's, and a test holds them to each other. */
|
|
2
|
-
export const VERSION = "0.45.
|
|
2
|
+
export const VERSION = "0.45.3";
|