@johnmorrisdotca/kyogijo-stadiums 0.44.2 → 0.45.1
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 +91 -0
- package/dist/arenas/69th-regiment-armory.data.d.ts +2 -0
- package/dist/arenas/69th-regiment-armory.data.js +19 -0
- package/dist/arenas/alexander-memorial-coliseum.data.d.ts +2 -0
- package/dist/arenas/alexander-memorial-coliseum.data.js +27 -0
- package/dist/arenas/allen-county-war-memorial-coliseum.data.d.ts +2 -0
- package/dist/arenas/allen-county-war-memorial-coliseum.data.js +20 -0
- package/dist/arenas/allstate-arena.data.d.ts +2 -0
- package/dist/arenas/allstate-arena.data.js +23 -0
- package/dist/arenas/amerant-bank-arena.data.d.ts +2 -0
- package/dist/arenas/amerant-bank-arena.data.js +23 -0
- package/dist/arenas/american-airlines-center.data.d.ts +2 -0
- package/dist/arenas/american-airlines-center.data.js +19 -0
- package/dist/arenas/arco-arena-1985.data.d.ts +2 -0
- package/dist/arenas/arco-arena-1985.data.js +21 -0
- package/dist/arenas/arco-arena.data.d.ts +2 -0
- package/dist/arenas/arco-arena.data.js +23 -0
- package/dist/arenas/arizona-veterans-memorial-coliseum.data.d.ts +2 -0
- package/dist/arenas/arizona-veterans-memorial-coliseum.data.js +21 -0
- package/dist/arenas/ball-arena.data.d.ts +2 -0
- package/dist/arenas/ball-arena.data.js +26 -0
- package/dist/arenas/baltimore-civic-center.data.d.ts +2 -0
- package/dist/arenas/baltimore-civic-center.data.js +19 -0
- package/dist/arenas/baltimore-coliseum.data.d.ts +2 -0
- package/dist/arenas/baltimore-coliseum.data.js +20 -0
- package/dist/arenas/barclays-center.data.d.ts +2 -0
- package/dist/arenas/barclays-center.data.js +19 -0
- package/dist/arenas/barton-street-arena.data.d.ts +2 -0
- package/dist/arenas/barton-street-arena.data.js +23 -0
- package/dist/arenas/bell-centre.data.d.ts +2 -0
- package/dist/arenas/bell-centre.data.js +27 -0
- package/dist/arenas/benchmark-international-arena.data.d.ts +2 -0
- package/dist/arenas/benchmark-international-arena.data.js +19 -0
- package/dist/arenas/big-e-coliseum.data.d.ts +2 -0
- package/dist/arenas/big-e-coliseum.data.js +18 -0
- package/dist/arenas/bill-graham-civic-auditorium.data.d.ts +2 -0
- package/dist/arenas/bill-graham-civic-auditorium.data.js +23 -0
- package/dist/arenas/bok-center.data.d.ts +2 -0
- package/dist/arenas/bok-center.data.js +18 -0
- package/dist/arenas/boston-garden.data.d.ts +2 -0
- package/dist/arenas/boston-garden.data.js +25 -0
- package/dist/arenas/bradley-center.data.d.ts +2 -0
- package/dist/arenas/bradley-center.data.js +23 -0
- package/dist/arenas/bridgestone-arena.data.d.ts +2 -0
- package/dist/arenas/bridgestone-arena.data.js +26 -0
- package/dist/arenas/buffalo-memorial-auditorium.data.d.ts +2 -0
- package/dist/arenas/buffalo-memorial-auditorium.data.js +24 -0
- package/dist/arenas/calihan-hall.data.d.ts +2 -0
- package/dist/arenas/calihan-hall.data.js +22 -0
- package/dist/arenas/canada-life-centre.data.d.ts +2 -0
- package/dist/arenas/canada-life-centre.data.js +26 -0
- package/dist/arenas/canadian-tire-centre.data.d.ts +2 -0
- package/dist/arenas/canadian-tire-centre.data.js +28 -0
- package/dist/arenas/capital-centre.data.d.ts +2 -0
- package/dist/arenas/capital-centre.data.js +26 -0
- package/dist/arenas/capital-one-arena.data.d.ts +2 -0
- package/dist/arenas/capital-one-arena.data.js +26 -0
- package/dist/arenas/carefirst-arena.data.d.ts +2 -0
- package/dist/arenas/carefirst-arena.data.js +22 -0
- package/dist/arenas/charlotte-coliseum.data.d.ts +2 -0
- package/dist/arenas/charlotte-coliseum.data.js +21 -0
- package/dist/arenas/chase-center.data.d.ts +2 -0
- package/dist/arenas/chase-center.data.js +18 -0
- package/dist/arenas/chicago-coliseum.data.d.ts +2 -0
- package/dist/arenas/chicago-coliseum.data.js +16 -0
- package/dist/arenas/chicago-stadium.data.d.ts +2 -0
- package/dist/arenas/chicago-stadium.data.js +23 -0
- package/dist/arenas/cincinnati-gardens.data.d.ts +2 -0
- package/dist/arenas/cincinnati-gardens.data.js +20 -0
- package/dist/arenas/civic-arena.data.d.ts +2 -0
- package/dist/arenas/civic-arena.data.js +29 -0
- package/dist/arenas/cleveland-arena.data.d.ts +2 -0
- package/dist/arenas/cleveland-arena.data.js +20 -0
- package/dist/arenas/climate-pledge-arena.data.d.ts +2 -0
- package/dist/arenas/climate-pledge-arena.data.js +27 -0
- package/dist/arenas/cobo-arena.data.d.ts +2 -0
- package/dist/arenas/cobo-arena.data.js +25 -0
- package/dist/arenas/coca-cola-coliseum.data.d.ts +2 -0
- package/dist/arenas/coca-cola-coliseum.data.js +27 -0
- package/dist/arenas/colisee-de-quebec.data.d.ts +2 -0
- package/dist/arenas/colisee-de-quebec.data.js +29 -0
- package/dist/arenas/college-park-center.data.d.ts +2 -0
- package/dist/arenas/college-park-center.data.js +18 -0
- package/dist/arenas/cow-palace.data.d.ts +2 -0
- package/dist/arenas/cow-palace.data.js +24 -0
- package/dist/arenas/credit-union-1-arena.data.d.ts +2 -0
- package/dist/arenas/credit-union-1-arena.data.js +23 -0
- package/dist/arenas/crypto-com-arena.data.d.ts +2 -0
- package/dist/arenas/crypto-com-arena.data.js +25 -0
- package/dist/arenas/delta-center.data.d.ts +2 -0
- package/dist/arenas/delta-center.data.js +31 -0
- package/dist/arenas/denver-auditorium-arena.data.d.ts +2 -0
- package/dist/arenas/denver-auditorium-arena.data.js +19 -0
- package/dist/arenas/desert-diamond-arena.data.d.ts +2 -0
- package/dist/arenas/desert-diamond-arena.data.js +28 -0
- package/dist/arenas/detroit-olympia.data.d.ts +2 -0
- package/dist/arenas/detroit-olympia.data.js +21 -0
- package/dist/arenas/duquesne-gardens.data.d.ts +2 -0
- package/dist/arenas/duquesne-gardens.data.js +24 -0
- package/dist/arenas/edgerton-park-arena.data.d.ts +2 -0
- package/dist/arenas/edgerton-park-arena.data.js +19 -0
- package/dist/arenas/enterprise-center.data.d.ts +2 -0
- package/dist/arenas/enterprise-center.data.js +27 -0
- package/dist/arenas/expo-hall.data.d.ts +2 -0
- package/dist/arenas/expo-hall.data.js +22 -0
- package/dist/arenas/fedexforum.data.d.ts +2 -0
- package/dist/arenas/fedexforum.data.js +18 -0
- package/dist/arenas/first-horizon-coliseum.data.d.ts +2 -0
- package/dist/arenas/first-horizon-coliseum.data.js +24 -0
- package/dist/arenas/fiserv-forum.data.d.ts +2 -0
- package/dist/arenas/fiserv-forum.data.js +20 -0
- package/dist/arenas/frost-bank-center.data.d.ts +2 -0
- package/dist/arenas/frost-bank-center.data.js +27 -0
- package/dist/arenas/gainbridge-fieldhouse.data.d.ts +2 -0
- package/dist/arenas/gainbridge-fieldhouse.data.js +25 -0
- package/dist/arenas/golden-1-center.data.d.ts +2 -0
- package/dist/arenas/golden-1-center.data.js +20 -0
- package/dist/arenas/grand-casino-arena.data.d.ts +2 -0
- package/dist/arenas/grand-casino-arena.data.js +23 -0
- package/dist/arenas/hemisfair-arena.data.d.ts +2 -0
- package/dist/arenas/hemisfair-arena.data.js +22 -0
- package/dist/arenas/hinkle-fieldhouse.data.d.ts +2 -0
- package/dist/arenas/hinkle-fieldhouse.data.js +22 -0
- package/dist/arenas/hofheinz-pavilion.data.d.ts +2 -0
- package/dist/arenas/hofheinz-pavilion.data.js +18 -0
- package/dist/arenas/honda-center.data.d.ts +2 -0
- package/dist/arenas/honda-center.data.js +25 -0
- package/dist/arenas/international-amphitheatre.data.d.ts +2 -0
- package/dist/arenas/international-amphitheatre.data.js +26 -0
- package/dist/arenas/intuit-dome.data.d.ts +2 -0
- package/dist/arenas/intuit-dome.data.js +19 -0
- package/dist/arenas/joe-louis-arena.data.d.ts +2 -0
- package/dist/arenas/joe-louis-arena.data.js +20 -0
- package/dist/arenas/jubilee-arena.data.d.ts +2 -0
- package/dist/arenas/jubilee-arena.data.js +19 -0
- package/dist/arenas/kaseya-center.data.d.ts +2 -0
- package/dist/arenas/kaseya-center.data.js +29 -0
- package/dist/arenas/kemper-arena.data.d.ts +2 -0
- package/dist/arenas/kemper-arena.data.js +21 -0
- package/dist/arenas/keybank-center.data.d.ts +2 -0
- package/dist/arenas/keybank-center.data.js +28 -0
- package/dist/arenas/kia-center.data.d.ts +2 -0
- package/dist/arenas/kia-center.data.js +23 -0
- package/dist/arenas/kia-forum.data.d.ts +2 -0
- package/dist/arenas/kia-forum.data.js +23 -0
- package/dist/arenas/kiel-auditorium.data.d.ts +2 -0
- package/dist/arenas/kiel-auditorium.data.js +27 -0
- package/dist/arenas/lenovo-center.data.d.ts +2 -0
- package/dist/arenas/lenovo-center.data.js +28 -0
- package/dist/arenas/little-caesars-arena.data.d.ts +2 -0
- package/dist/arenas/little-caesars-arena.data.js +20 -0
- package/dist/arenas/los-angeles-memorial-sports-arena.data.d.ts +2 -0
- package/dist/arenas/los-angeles-memorial-sports-arena.data.js +22 -0
- package/dist/arenas/loyola-field-house.data.d.ts +2 -0
- package/dist/arenas/loyola-field-house.data.js +19 -0
- package/dist/arenas/madison-square-garden-1925.data.d.ts +2 -0
- package/dist/arenas/madison-square-garden-1925.data.js +25 -0
- package/dist/arenas/madison-square-garden.data.d.ts +2 -0
- package/dist/arenas/madison-square-garden.data.js +24 -0
- package/dist/arenas/maple-leaf-gardens.data.d.ts +2 -0
- package/dist/arenas/maple-leaf-gardens.data.js +20 -0
- package/dist/arenas/market-square-arena.data.d.ts +2 -0
- package/dist/arenas/market-square-arena.data.js +20 -0
- package/dist/arenas/massmutual-center.data.d.ts +2 -0
- package/dist/arenas/massmutual-center.data.js +23 -0
- package/dist/arenas/matthews-arena.data.d.ts +2 -0
- package/dist/arenas/matthews-arena.data.js +29 -0
- package/dist/arenas/mcnichols-sports-arena.data.d.ts +2 -0
- package/dist/arenas/mcnichols-sports-arena.data.js +19 -0
- package/dist/arenas/meadowlands-arena.data.d.ts +2 -0
- package/dist/arenas/meadowlands-arena.data.js +29 -0
- package/dist/arenas/memphis-pyramid.data.d.ts +2 -0
- package/dist/arenas/memphis-pyramid.data.js +19 -0
- package/dist/arenas/met-center.data.d.ts +2 -0
- package/dist/arenas/met-center.data.js +23 -0
- package/dist/arenas/miami-arena.data.d.ts +2 -0
- package/dist/arenas/miami-arena.data.js +19 -0
- package/dist/arenas/michelob-ultra-arena.data.d.ts +2 -0
- package/dist/arenas/michelob-ultra-arena.data.js +23 -0
- package/dist/arenas/milwaukee-arena.data.d.ts +2 -0
- package/dist/arenas/milwaukee-arena.data.js +27 -0
- package/dist/arenas/minneapolis-armory.data.d.ts +2 -0
- package/dist/arenas/minneapolis-armory.data.js +17 -0
- package/dist/arenas/minneapolis-auditorium.data.d.ts +2 -0
- package/dist/arenas/minneapolis-auditorium.data.js +20 -0
- package/dist/arenas/moda-center.data.d.ts +2 -0
- package/dist/arenas/moda-center.data.js +23 -0
- package/dist/arenas/mohegan-sun-arena.data.d.ts +2 -0
- package/dist/arenas/mohegan-sun-arena.data.js +19 -0
- package/dist/arenas/montreal-arena.data.d.ts +2 -0
- package/dist/arenas/montreal-arena.data.js +22 -0
- package/dist/arenas/montreal-forum.data.d.ts +2 -0
- package/dist/arenas/montreal-forum.data.js +24 -0
- package/dist/arenas/moody-coliseum.data.d.ts +2 -0
- package/dist/arenas/moody-coliseum.data.js +22 -0
- package/dist/arenas/mortgage-matchup-center.data.d.ts +2 -0
- package/dist/arenas/mortgage-matchup-center.data.js +36 -0
- package/dist/arenas/mount-royal-arena.data.d.ts +2 -0
- package/dist/arenas/mount-royal-arena.data.js +19 -0
- package/dist/arenas/mullett-arena.data.d.ts +2 -0
- package/dist/arenas/mullett-arena.data.js +18 -0
- package/dist/arenas/municipal-auditorium-kansas-city.data.d.ts +2 -0
- package/dist/arenas/municipal-auditorium-kansas-city.data.js +21 -0
- package/dist/arenas/municipal-auditorium-new-orleans.data.d.ts +2 -0
- package/dist/arenas/municipal-auditorium-new-orleans.data.js +19 -0
- package/dist/arenas/mutual-street-arena.data.d.ts +2 -0
- package/dist/arenas/mutual-street-arena.data.js +19 -0
- package/dist/arenas/nassau-coliseum.data.d.ts +2 -0
- package/dist/arenas/nassau-coliseum.data.js +20 -0
- package/dist/arenas/nationwide-arena.data.d.ts +2 -0
- package/dist/arenas/nationwide-arena.data.js +18 -0
- package/dist/arenas/northlands-coliseum.data.d.ts +2 -0
- package/dist/arenas/northlands-coliseum.data.js +28 -0
- package/dist/arenas/oakland-arena.data.d.ts +2 -0
- package/dist/arenas/oakland-arena.data.js +28 -0
- package/dist/arenas/omaha-civic-auditorium.data.d.ts +2 -0
- package/dist/arenas/omaha-civic-auditorium.data.js +20 -0
- package/dist/arenas/omni-coliseum.data.d.ts +2 -0
- package/dist/arenas/omni-coliseum.data.js +22 -0
- package/dist/arenas/onondaga-county-war-memorial.data.d.ts +2 -0
- package/dist/arenas/onondaga-county-war-memorial.data.js +23 -0
- package/dist/arenas/orlando-arena.data.d.ts +2 -0
- package/dist/arenas/orlando-arena.data.js +28 -0
- package/dist/arenas/ottawa-auditorium.data.d.ts +2 -0
- package/dist/arenas/ottawa-auditorium.data.js +18 -0
- package/dist/arenas/pacific-coliseum.data.d.ts +2 -0
- package/dist/arenas/pacific-coliseum.data.js +20 -0
- package/dist/arenas/palace-of-auburn-hills.data.d.ts +2 -0
- package/dist/arenas/palace-of-auburn-hills.data.js +21 -0
- package/dist/arenas/paycom-center.data.d.ts +2 -0
- package/dist/arenas/paycom-center.data.js +30 -0
- package/dist/arenas/pechanga-arena.data.d.ts +2 -0
- package/dist/arenas/pechanga-arena.data.js +25 -0
- package/dist/arenas/peoplesbank-arena.data.d.ts +2 -0
- package/dist/arenas/peoplesbank-arena.data.js +27 -0
- package/dist/arenas/philadelphia-arena.data.d.ts +2 -0
- package/dist/arenas/philadelphia-arena.data.js +30 -0
- package/dist/arenas/philadelphia-convention-hall-and-civic-center.data.d.ts +2 -0
- package/dist/arenas/philadelphia-convention-hall-and-civic-center.data.js +23 -0
- package/dist/arenas/place-bell.data.d.ts +2 -0
- package/dist/arenas/place-bell.data.js +19 -0
- package/dist/arenas/ppg-paints-arena.data.d.ts +2 -0
- package/dist/arenas/ppg-paints-arena.data.js +24 -0
- package/dist/arenas/prudential-center.data.d.ts +2 -0
- package/dist/arenas/prudential-center.data.js +18 -0
- package/dist/arenas/quebec-arena.data.d.ts +2 -0
- package/dist/arenas/quebec-arena.data.js +19 -0
- package/dist/arenas/reliant-arena.data.d.ts +2 -0
- package/dist/arenas/reliant-arena.data.js +24 -0
- package/dist/arenas/reunion-arena.data.d.ts +2 -0
- package/dist/arenas/reunion-arena.data.js +21 -0
- package/dist/arenas/rhode-island-auditorium.data.d.ts +2 -0
- package/dist/arenas/rhode-island-auditorium.data.js +19 -0
- package/dist/arenas/richfield-coliseum.data.d.ts +2 -0
- package/dist/arenas/richfield-coliseum.data.js +20 -0
- package/dist/arenas/rochester-community-war-memorial.data.d.ts +2 -0
- package/dist/arenas/rochester-community-war-memorial.data.js +24 -0
- package/dist/arenas/rocket-arena.data.d.ts +2 -0
- package/dist/arenas/rocket-arena.data.js +28 -0
- package/dist/arenas/rogers-arena.data.d.ts +2 -0
- package/dist/arenas/rogers-arena.data.js +20 -0
- package/dist/arenas/rogers-place.data.d.ts +2 -0
- package/dist/arenas/rogers-place.data.js +18 -0
- package/dist/arenas/rutgers-athletic-center.data.d.ts +2 -0
- package/dist/arenas/rutgers-athletic-center.data.js +23 -0
- package/dist/arenas/salt-palace.data.d.ts +2 -0
- package/dist/arenas/salt-palace.data.js +20 -0
- package/dist/arenas/sap-center.data.d.ts +2 -0
- package/dist/arenas/sap-center.data.js +30 -0
- package/dist/arenas/scotiabank-arena.data.d.ts +2 -0
- package/dist/arenas/scotiabank-arena.data.js +21 -0
- package/dist/arenas/scotiabank-saddledome.data.d.ts +2 -0
- package/dist/arenas/scotiabank-saddledome.data.js +27 -0
- package/dist/arenas/sheboygan-armory.data.d.ts +2 -0
- package/dist/arenas/sheboygan-armory.data.js +17 -0
- package/dist/arenas/smoothie-king-center.data.d.ts +2 -0
- package/dist/arenas/smoothie-king-center.data.js +24 -0
- package/dist/arenas/spectrum-center.data.d.ts +2 -0
- package/dist/arenas/spectrum-center.data.js +27 -0
- package/dist/arenas/spectrum.data.d.ts +2 -0
- package/dist/arenas/spectrum.data.js +27 -0
- package/dist/arenas/st-louis-arena.data.d.ts +2 -0
- package/dist/arenas/st-louis-arena.data.js +25 -0
- package/dist/arenas/stampede-corral.data.d.ts +2 -0
- package/dist/arenas/stampede-corral.data.js +21 -0
- package/dist/arenas/state-farm-arena.data.d.ts +2 -0
- package/dist/arenas/state-farm-arena.data.js +24 -0
- package/dist/arenas/t-mobile-arena.data.d.ts +2 -0
- package/dist/arenas/t-mobile-arena.data.js +20 -0
- package/dist/arenas/tacoma-dome.data.d.ts +2 -0
- package/dist/arenas/tacoma-dome.data.js +19 -0
- package/dist/arenas/target-center.data.d.ts +2 -0
- package/dist/arenas/target-center.data.js +18 -0
- package/dist/arenas/td-garden.data.d.ts +2 -0
- package/dist/arenas/td-garden.data.js +21 -0
- package/dist/arenas/td-place-arena.data.d.ts +2 -0
- package/dist/arenas/td-place-arena.data.js +29 -0
- package/dist/arenas/the-arena-ottawa.data.d.ts +2 -0
- package/dist/arenas/the-arena-ottawa.data.js +20 -0
- package/dist/arenas/the-hippodrome.data.d.ts +2 -0
- package/dist/arenas/the-hippodrome.data.js +24 -0
- package/dist/arenas/the-summit.data.d.ts +2 -0
- package/dist/arenas/the-summit.data.js +26 -0
- package/dist/arenas/total-mortgage-arena.data.d.ts +2 -0
- package/dist/arenas/total-mortgage-arena.data.js +25 -0
- package/dist/arenas/toyota-center.data.d.ts +2 -0
- package/dist/arenas/toyota-center.data.js +20 -0
- package/dist/arenas/toyota-coliseum.data.d.ts +2 -0
- package/dist/arenas/toyota-coliseum.data.js +17 -0
- package/dist/arenas/tsongas-center.data.d.ts +2 -0
- package/dist/arenas/tsongas-center.data.js +22 -0
- package/dist/arenas/ubs-arena.data.d.ts +2 -0
- package/dist/arenas/ubs-arena.data.js +19 -0
- package/dist/arenas/uline-arena.data.d.ts +2 -0
- package/dist/arenas/uline-arena.data.js +19 -0
- package/dist/arenas/united-center.data.d.ts +2 -0
- package/dist/arenas/united-center.data.js +21 -0
- package/dist/arenas/verdun-auditorium.data.d.ts +2 -0
- package/dist/arenas/verdun-auditorium.data.js +20 -0
- package/dist/arenas/veterans-memorial-coliseum.data.d.ts +2 -0
- package/dist/arenas/veterans-memorial-coliseum.data.js +21 -0
- package/dist/arenas/war-memorial-gymnasium.data.d.ts +2 -0
- package/dist/arenas/war-memorial-gymnasium.data.js +19 -0
- package/dist/arenas/westchester-county-center.data.d.ts +2 -0
- package/dist/arenas/westchester-county-center.data.js +18 -0
- package/dist/arenas/wharton-field-house.data.d.ts +2 -0
- package/dist/arenas/wharton-field-house.data.js +18 -0
- package/dist/arenas/windsor-arena.data.d.ts +2 -0
- package/dist/arenas/windsor-arena.data.js +23 -0
- package/dist/arenas/winnipeg-arena.data.d.ts +2 -0
- package/dist/arenas/winnipeg-arena.data.js +20 -0
- package/dist/arenas/wintrust-arena.data.d.ts +2 -0
- package/dist/arenas/wintrust-arena.data.js +19 -0
- package/dist/arenas/xfinity-mobile-arena.data.d.ts +2 -0
- package/dist/arenas/xfinity-mobile-arena.data.js +23 -0
- package/dist/arenas.core.d.ts +107 -0
- package/dist/arenas.core.js +59 -0
- package/dist/arenas.d.ts +3 -103
- package/dist/arenas.data.d.ts +1 -1
- package/dist/arenas.index.d.ts +8 -0
- package/dist/arenas.index.js +169 -0
- package/dist/arenas.js +4 -50
- package/dist/athletics/plan.js +2 -2
- package/dist/athletics-entry.d.ts +1 -0
- package/dist/athletics-entry.js +1 -0
- package/dist/ballpark.d.ts +1 -1
- package/dist/ballpark.js +2 -2
- package/dist/budo-entry.d.ts +1 -0
- package/dist/budo-entry.js +1 -0
- package/dist/canvas-entry.d.ts +1 -0
- package/dist/canvas-entry.js +1 -0
- package/dist/charts-entry.d.ts +1 -0
- package/dist/charts-entry.js +1 -0
- package/dist/charts.baseball.js +2 -2
- package/dist/context.d.ts +2 -0
- package/dist/context.js +17 -0
- package/dist/d3-entry.d.ts +1 -0
- package/dist/d3-entry.js +1 -0
- package/dist/district-entry.d.ts +2 -20
- package/dist/district-entry.js +3 -12
- package/dist/district-lean-entry.d.ts +7 -0
- package/dist/district-lean-entry.js +8 -0
- package/dist/district.api.d.ts +20 -0
- package/dist/district.api.js +13 -0
- package/dist/district.d.ts +5 -0
- package/dist/district.js +22 -2
- package/dist/district.turn.js +61 -6
- package/dist/draw.js +21 -19
- package/dist/draw.parts.d.ts +12 -0
- package/dist/draw.parts.js +14 -0
- package/dist/element-entry.d.ts +1 -0
- package/dist/element-entry.js +1 -0
- package/dist/events-entry.d.ts +1 -0
- package/dist/events-entry.js +1 -0
- package/dist/events.js +4 -4
- package/dist/flythrough-entry.d.ts +1 -0
- package/dist/flythrough-entry.js +1 -0
- package/dist/flythrough.dom.js +2 -2
- package/dist/full.d.ts +3 -0
- package/dist/full.js +10 -0
- package/dist/geojson-entry.d.ts +1 -0
- package/dist/geojson-entry.js +1 -0
- package/dist/grounds/allianz-arena.data.d.ts +2 -0
- package/dist/grounds/allianz-arena.data.js +30 -0
- package/dist/grounds/allianz-stadium-turin.data.d.ts +2 -0
- package/dist/grounds/allianz-stadium-turin.data.js +25 -0
- package/dist/grounds/anfield.data.d.ts +2 -0
- package/dist/grounds/anfield.data.js +22 -0
- package/dist/grounds/arrowhead-stadium.data.d.ts +2 -0
- package/dist/grounds/arrowhead-stadium.data.js +27 -0
- package/dist/grounds/att-stadium.data.d.ts +2 -0
- package/dist/grounds/att-stadium.data.js +30 -0
- package/dist/grounds/bc-place.data.d.ts +2 -0
- package/dist/grounds/bc-place.data.js +27 -0
- package/dist/grounds/bmo-field.data.d.ts +2 -0
- package/dist/grounds/bmo-field.data.js +28 -0
- package/dist/grounds/camp-nou.data.d.ts +2 -0
- package/dist/grounds/camp-nou.data.js +33 -0
- package/dist/grounds/celtic-park.data.d.ts +2 -0
- package/dist/grounds/celtic-park.data.js +23 -0
- package/dist/grounds/dignity-health-sports-park.data.d.ts +2 -0
- package/dist/grounds/dignity-health-sports-park.data.js +30 -0
- package/dist/grounds/emirates-stadium.data.d.ts +2 -0
- package/dist/grounds/emirates-stadium.data.js +23 -0
- package/dist/grounds/estadio-akron.data.d.ts +2 -0
- package/dist/grounds/estadio-akron.data.js +30 -0
- package/dist/grounds/estadio-azteca.data.d.ts +2 -0
- package/dist/grounds/estadio-azteca.data.js +37 -0
- package/dist/grounds/estadio-bbva.data.d.ts +2 -0
- package/dist/grounds/estadio-bbva.data.js +31 -0
- package/dist/grounds/estadio-centenario.data.d.ts +2 -0
- package/dist/grounds/estadio-centenario.data.js +28 -0
- package/dist/grounds/estadio-da-luz.data.d.ts +2 -0
- package/dist/grounds/estadio-da-luz.data.js +26 -0
- package/dist/grounds/estadio-nacional-santiago.data.d.ts +2 -0
- package/dist/grounds/estadio-nacional-santiago.data.js +32 -0
- package/dist/grounds/etihad-stadium.data.d.ts +2 -0
- package/dist/grounds/etihad-stadium.data.js +26 -0
- package/dist/grounds/gillette-stadium.data.d.ts +2 -0
- package/dist/grounds/gillette-stadium.data.js +29 -0
- package/dist/grounds/groupama-stadium.data.d.ts +2 -0
- package/dist/grounds/groupama-stadium.data.js +32 -0
- package/dist/grounds/hampden-park.data.d.ts +2 -0
- package/dist/grounds/hampden-park.data.js +24 -0
- package/dist/grounds/hard-rock-stadium.data.d.ts +2 -0
- package/dist/grounds/hard-rock-stadium.data.js +34 -0
- package/dist/grounds/hongkou-football-stadium.data.d.ts +2 -0
- package/dist/grounds/hongkou-football-stadium.data.js +26 -0
- package/dist/grounds/ibrox.data.d.ts +2 -0
- package/dist/grounds/ibrox.data.js +26 -0
- package/dist/grounds/japan-national-stadium.data.d.ts +2 -0
- package/dist/grounds/japan-national-stadium.data.js +27 -0
- package/dist/grounds/johan-cruyff-arena.data.d.ts +2 -0
- package/dist/grounds/johan-cruyff-arena.data.js +29 -0
- package/dist/grounds/kashima-soccer-stadium.data.d.ts +2 -0
- package/dist/grounds/kashima-soccer-stadium.data.js +31 -0
- package/dist/grounds/la-bombonera.data.d.ts +2 -0
- package/dist/grounds/la-bombonera.data.js +32 -0
- package/dist/grounds/levis-stadium.data.d.ts +2 -0
- package/dist/grounds/levis-stadium.data.js +28 -0
- package/dist/grounds/lincoln-financial-field.data.d.ts +2 -0
- package/dist/grounds/lincoln-financial-field.data.js +28 -0
- package/dist/grounds/lumen-field.data.d.ts +2 -0
- package/dist/grounds/lumen-field.data.js +30 -0
- package/dist/grounds/lusail.data.d.ts +2 -0
- package/dist/grounds/lusail.data.js +26 -0
- package/dist/grounds/luzhniki.data.d.ts +2 -0
- package/dist/grounds/luzhniki.data.js +34 -0
- package/dist/grounds/maracana.data.d.ts +2 -0
- package/dist/grounds/maracana.data.js +33 -0
- package/dist/grounds/mercedes-benz-stadium.data.d.ts +2 -0
- package/dist/grounds/mercedes-benz-stadium.data.js +28 -0
- package/dist/grounds/metlife-stadium.data.d.ts +2 -0
- package/dist/grounds/metlife-stadium.data.js +29 -0
- package/dist/grounds/monumental.data.d.ts +2 -0
- package/dist/grounds/monumental.data.js +33 -0
- package/dist/grounds/nissan-stadium-yokohama.data.d.ts +2 -0
- package/dist/grounds/nissan-stadium-yokohama.data.js +36 -0
- package/dist/grounds/nrg-stadium.data.d.ts +2 -0
- package/dist/grounds/nrg-stadium.data.js +30 -0
- package/dist/grounds/old-trafford.data.d.ts +2 -0
- package/dist/grounds/old-trafford.data.js +25 -0
- package/dist/grounds/olympiastadion-berlin.data.d.ts +2 -0
- package/dist/grounds/olympiastadion-berlin.data.js +30 -0
- package/dist/grounds/olympiastadion-munich.data.d.ts +2 -0
- package/dist/grounds/olympiastadion-munich.data.js +29 -0
- package/dist/grounds/parc-des-princes.data.d.ts +2 -0
- package/dist/grounds/parc-des-princes.data.js +27 -0
- package/dist/grounds/rasunda.data.d.ts +2 -0
- package/dist/grounds/rasunda.data.js +28 -0
- package/dist/grounds/rose-bowl.data.d.ts +2 -0
- package/dist/grounds/rose-bowl.data.js +27 -0
- package/dist/grounds/saitama-stadium-2002.data.d.ts +2 -0
- package/dist/grounds/saitama-stadium-2002.data.js +30 -0
- package/dist/grounds/san-siro.data.d.ts +2 -0
- package/dist/grounds/san-siro.data.js +38 -0
- package/dist/grounds/santiago-bernabeu.data.d.ts +2 -0
- package/dist/grounds/santiago-bernabeu.data.js +33 -0
- package/dist/grounds/seoul-world-cup-stadium.data.d.ts +2 -0
- package/dist/grounds/seoul-world-cup-stadium.data.js +27 -0
- package/dist/grounds/signal-iduna-park.data.d.ts +2 -0
- package/dist/grounds/signal-iduna-park.data.js +32 -0
- package/dist/grounds/soccer-city.data.d.ts +2 -0
- package/dist/grounds/soccer-city.data.js +30 -0
- package/dist/grounds/sofi-stadium.data.d.ts +2 -0
- package/dist/grounds/sofi-stadium.data.js +26 -0
- package/dist/grounds/stade-de-france.data.d.ts +2 -0
- package/dist/grounds/stade-de-france.data.js +28 -0
- package/dist/grounds/stade-yves-du-manoir.data.d.ts +2 -0
- package/dist/grounds/stade-yves-du-manoir.data.js +32 -0
- package/dist/grounds/stadio-nazionale-pnf.data.d.ts +2 -0
- package/dist/grounds/stadio-nazionale-pnf.data.js +28 -0
- package/dist/grounds/stadio-olimpico-rome.data.d.ts +2 -0
- package/dist/grounds/stadio-olimpico-rome.data.js +34 -0
- package/dist/grounds/stadium-australia.data.d.ts +2 -0
- package/dist/grounds/stadium-australia.data.js +31 -0
- package/dist/grounds/stamford-bridge.data.d.ts +2 -0
- package/dist/grounds/stamford-bridge.data.js +23 -0
- package/dist/grounds/tianhe-stadium.data.d.ts +2 -0
- package/dist/grounds/tianhe-stadium.data.js +29 -0
- package/dist/grounds/tottenham-hotspur-stadium.data.d.ts +2 -0
- package/dist/grounds/tottenham-hotspur-stadium.data.js +23 -0
- package/dist/grounds/waldstadion-frankfurt.data.d.ts +2 -0
- package/dist/grounds/waldstadion-frankfurt.data.js +38 -0
- package/dist/grounds/wankdorf.data.d.ts +2 -0
- package/dist/grounds/wankdorf.data.js +25 -0
- package/dist/grounds/wembley-1923.data.d.ts +2 -0
- package/dist/grounds/wembley-1923.data.js +28 -0
- package/dist/grounds/wembley.data.d.ts +2 -0
- package/dist/grounds/wembley.data.js +25 -0
- package/dist/grounds.core.d.ts +108 -0
- package/dist/grounds.core.js +51 -0
- package/dist/grounds.d.ts +3 -104
- package/dist/grounds.data.d.ts +1 -1
- package/dist/grounds.index.d.ts +8 -0
- package/dist/grounds.index.js +66 -0
- package/dist/grounds.js +4 -40
- package/dist/index.d.ts +3 -1
- package/dist/index.js +3 -1
- package/dist/judging-entry.d.ts +1 -0
- package/dist/judging-entry.js +1 -0
- package/dist/judging.mount.js +7 -0
- package/dist/kodokan.d.ts +5 -0
- package/dist/kodokan.js +3 -1
- package/dist/layers-entry.d.ts +1 -0
- package/dist/layers-entry.js +1 -0
- package/dist/layouts-entry.d.ts +1 -0
- package/dist/layouts-entry.js +1 -0
- package/dist/leagues-entry.d.ts +2 -1
- package/dist/leagues-entry.js +2 -1
- package/dist/leagues.d.ts +0 -2
- package/dist/leagues.js +0 -2
- package/dist/mount-entry.d.ts +1 -0
- package/dist/mount-entry.js +1 -0
- package/dist/multi-entry.d.ts +1 -0
- package/dist/multi-entry.js +1 -0
- package/dist/outline.js +5 -5
- package/dist/outside.dom.d.ts +5 -0
- package/dist/outside.dom.js +13 -5
- package/dist/outside.js +3 -3
- package/dist/parks/american-family-field.data.d.ts +2 -0
- package/dist/parks/american-family-field.data.js +33 -0
- package/dist/parks/angel-stadium.data.d.ts +2 -0
- package/dist/parks/angel-stadium.data.js +51 -0
- package/dist/parks/arlington-stadium.data.d.ts +2 -0
- package/dist/parks/arlington-stadium.data.js +35 -0
- package/dist/parks/astrodome.data.d.ts +2 -0
- package/dist/parks/astrodome.data.js +40 -0
- package/dist/parks/atlanta-fulton-county-stadium.data.d.ts +2 -0
- package/dist/parks/atlanta-fulton-county-stadium.data.js +62 -0
- package/dist/parks/baker-bowl.data.d.ts +2 -0
- package/dist/parks/baker-bowl.data.js +43 -0
- package/dist/parks/baltimore-memorial-stadium.data.d.ts +2 -0
- package/dist/parks/baltimore-memorial-stadium.data.js +60 -0
- package/dist/parks/belluna-dome.data.d.ts +2 -0
- package/dist/parks/belluna-dome.data.js +73 -0
- package/dist/parks/braves-field.data.d.ts +2 -0
- package/dist/parks/braves-field.data.js +38 -0
- package/dist/parks/busch-memorial-stadium.data.d.ts +2 -0
- package/dist/parks/busch-memorial-stadium.data.js +51 -0
- package/dist/parks/busch-stadium.data.d.ts +2 -0
- package/dist/parks/busch-stadium.data.js +32 -0
- package/dist/parks/candlestick-park.data.d.ts +2 -0
- package/dist/parks/candlestick-park.data.js +44 -0
- package/dist/parks/chase-field.data.d.ts +2 -0
- package/dist/parks/chase-field.data.js +34 -0
- package/dist/parks/citi-field.data.d.ts +2 -0
- package/dist/parks/citi-field.data.js +49 -0
- package/dist/parks/citizens-bank-park.data.d.ts +2 -0
- package/dist/parks/citizens-bank-park.data.js +35 -0
- package/dist/parks/cleveland-stadium.data.d.ts +2 -0
- package/dist/parks/cleveland-stadium.data.js +37 -0
- package/dist/parks/colt-stadium.data.d.ts +2 -0
- package/dist/parks/colt-stadium.data.js +35 -0
- package/dist/parks/comerica-park.data.d.ts +2 -0
- package/dist/parks/comerica-park.data.js +39 -0
- package/dist/parks/comiskey-park.data.d.ts +2 -0
- package/dist/parks/comiskey-park.data.js +50 -0
- package/dist/parks/coors-field.data.d.ts +2 -0
- package/dist/parks/coors-field.data.js +47 -0
- package/dist/parks/crosley-field.data.d.ts +2 -0
- package/dist/parks/crosley-field.data.js +52 -0
- package/dist/parks/daikin-park.data.d.ts +2 -0
- package/dist/parks/daikin-park.data.js +60 -0
- package/dist/parks/dodger-stadium.data.d.ts +2 -0
- package/dist/parks/dodger-stadium.data.js +37 -0
- package/dist/parks/ebbets-field.data.d.ts +2 -0
- package/dist/parks/ebbets-field.data.js +47 -0
- package/dist/parks/es-con-field-hokkaido.data.d.ts +2 -0
- package/dist/parks/es-con-field-hokkaido.data.js +40 -0
- package/dist/parks/exhibition-stadium.data.d.ts +2 -0
- package/dist/parks/exhibition-stadium.data.js +37 -0
- package/dist/parks/exposition-park-pittsburgh.data.d.ts +2 -0
- package/dist/parks/exposition-park-pittsburgh.data.js +32 -0
- package/dist/parks/fenway-park.data.d.ts +2 -0
- package/dist/parks/fenway-park.data.js +61 -0
- package/dist/parks/forbes-field.data.d.ts +2 -0
- package/dist/parks/forbes-field.data.js +65 -0
- package/dist/parks/globe-life-field.data.d.ts +2 -0
- package/dist/parks/globe-life-field.data.js +31 -0
- package/dist/parks/globe-life-park-in-arlington.data.d.ts +2 -0
- package/dist/parks/globe-life-park-in-arlington.data.js +39 -0
- package/dist/parks/great-american-ball-park.data.d.ts +2 -0
- package/dist/parks/great-american-ball-park.data.js +32 -0
- package/dist/parks/griffith-stadium.data.d.ts +2 -0
- package/dist/parks/griffith-stadium.data.js +54 -0
- package/dist/parks/hanshin-koshien-stadium.data.d.ts +2 -0
- package/dist/parks/hanshin-koshien-stadium.data.js +42 -0
- package/dist/parks/heiwadai-stadium.data.d.ts +2 -0
- package/dist/parks/heiwadai-stadium.data.js +40 -0
- package/dist/parks/hilltop-park.data.d.ts +2 -0
- package/dist/parks/hilltop-park.data.js +35 -0
- package/dist/parks/hiroshima-municipal-stadium.data.d.ts +2 -0
- package/dist/parks/hiroshima-municipal-stadium.data.js +45 -0
- package/dist/parks/hotto-motto-field-kobe.data.d.ts +2 -0
- package/dist/parks/hotto-motto-field-kobe.data.js +59 -0
- package/dist/parks/huntington-avenue-grounds.data.d.ts +2 -0
- package/dist/parks/huntington-avenue-grounds.data.js +47 -0
- package/dist/parks/jarry-park-stadium.data.d.ts +2 -0
- package/dist/parks/jarry-park-stadium.data.js +37 -0
- package/dist/parks/kauffman-stadium.data.d.ts +2 -0
- package/dist/parks/kauffman-stadium.data.js +51 -0
- package/dist/parks/kawasaki-stadium.data.d.ts +2 -0
- package/dist/parks/kawasaki-stadium.data.js +35 -0
- package/dist/parks/korakuen-stadium.data.d.ts +2 -0
- package/dist/parks/korakuen-stadium.data.js +41 -0
- package/dist/parks/kyocera-dome-osaka.data.d.ts +2 -0
- package/dist/parks/kyocera-dome-osaka.data.js +50 -0
- package/dist/parks/league-park-cleveland.data.d.ts +2 -0
- package/dist/parks/league-park-cleveland.data.js +36 -0
- package/dist/parks/loandepot-park.data.d.ts +2 -0
- package/dist/parks/loandepot-park.data.js +36 -0
- package/dist/parks/mazda-stadium-hiroshima.data.d.ts +2 -0
- package/dist/parks/mazda-stadium-hiroshima.data.js +64 -0
- package/dist/parks/meiji-jingu-stadium.data.d.ts +2 -0
- package/dist/parks/meiji-jingu-stadium.data.js +49 -0
- package/dist/parks/metrodome.data.d.ts +2 -0
- package/dist/parks/metrodome.data.js +75 -0
- package/dist/parks/metropolitan-stadium.data.d.ts +2 -0
- package/dist/parks/metropolitan-stadium.data.js +45 -0
- package/dist/parks/mile-high-stadium.data.d.ts +2 -0
- package/dist/parks/mile-high-stadium.data.js +42 -0
- package/dist/parks/milwaukee-county-stadium.data.d.ts +2 -0
- package/dist/parks/milwaukee-county-stadium.data.js +78 -0
- package/dist/parks/mizuho-paypay-dome-fukuoka.data.d.ts +2 -0
- package/dist/parks/mizuho-paypay-dome-fukuoka.data.js +64 -0
- package/dist/parks/municipal-stadium-kansas-city.data.d.ts +2 -0
- package/dist/parks/municipal-stadium-kansas-city.data.js +37 -0
- package/dist/parks/nagoya-stadium.data.d.ts +2 -0
- package/dist/parks/nagoya-stadium.data.js +40 -0
- package/dist/parks/nationals-park.data.d.ts +2 -0
- package/dist/parks/nationals-park.data.js +30 -0
- package/dist/parks/oakland-coliseum.data.d.ts +2 -0
- package/dist/parks/oakland-coliseum.data.js +49 -0
- package/dist/parks/olympic-stadium-montreal.data.d.ts +2 -0
- package/dist/parks/olympic-stadium-montreal.data.js +51 -0
- package/dist/parks/oracle-park.data.d.ts +2 -0
- package/dist/parks/oracle-park.data.js +71 -0
- package/dist/parks/oriole-park-at-camden-yards.data.d.ts +2 -0
- package/dist/parks/oriole-park-at-camden-yards.data.js +56 -0
- package/dist/parks/osaka-stadium.data.d.ts +2 -0
- package/dist/parks/osaka-stadium.data.js +74 -0
- package/dist/parks/petco-park.data.d.ts +2 -0
- package/dist/parks/petco-park.data.js +48 -0
- package/dist/parks/pnc-park.data.d.ts +2 -0
- package/dist/parks/pnc-park.data.js +56 -0
- package/dist/parks/polo-grounds.data.d.ts +2 -0
- package/dist/parks/polo-grounds.data.js +89 -0
- package/dist/parks/progressive-field.data.d.ts +2 -0
- package/dist/parks/progressive-field.data.js +54 -0
- package/dist/parks/rakuten-mobile-park-miyagi.data.d.ts +2 -0
- package/dist/parks/rakuten-mobile-park-miyagi.data.js +57 -0
- package/dist/parks/rate-field.data.d.ts +2 -0
- package/dist/parks/rate-field.data.js +48 -0
- package/dist/parks/riverfront-stadium.data.d.ts +2 -0
- package/dist/parks/riverfront-stadium.data.js +47 -0
- package/dist/parks/robert-f-kennedy-memorial-stadium.data.d.ts +2 -0
- package/dist/parks/robert-f-kennedy-memorial-stadium.data.js +37 -0
- package/dist/parks/rogers-centre.data.d.ts +2 -0
- package/dist/parks/rogers-centre.data.js +35 -0
- package/dist/parks/sapporo-dome.data.d.ts +2 -0
- package/dist/parks/sapporo-dome.data.js +41 -0
- package/dist/parks/seals-stadium.data.d.ts +2 -0
- package/dist/parks/seals-stadium.data.js +47 -0
- package/dist/parks/shea-stadium.data.d.ts +2 -0
- package/dist/parks/shea-stadium.data.js +58 -0
- package/dist/parks/shibe-park.data.d.ts +2 -0
- package/dist/parks/shibe-park.data.js +82 -0
- package/dist/parks/sicks-stadium.data.d.ts +2 -0
- package/dist/parks/sicks-stadium.data.js +33 -0
- package/dist/parks/south-end-grounds.data.d.ts +2 -0
- package/dist/parks/south-end-grounds.data.js +38 -0
- package/dist/parks/sportsmans-park.data.d.ts +2 -0
- package/dist/parks/sportsmans-park.data.js +91 -0
- package/dist/parks/sutter-health-park.data.d.ts +2 -0
- package/dist/parks/sutter-health-park.data.js +31 -0
- package/dist/parks/t-mobile-park.data.d.ts +2 -0
- package/dist/parks/t-mobile-park.data.js +36 -0
- package/dist/parks/target-field.data.d.ts +2 -0
- package/dist/parks/target-field.data.js +31 -0
- package/dist/parks/three-rivers-stadium.data.d.ts +2 -0
- package/dist/parks/three-rivers-stadium.data.js +43 -0
- package/dist/parks/tiger-stadium.data.d.ts +2 -0
- package/dist/parks/tiger-stadium.data.js +53 -0
- package/dist/parks/tokyo-dome.data.d.ts +2 -0
- package/dist/parks/tokyo-dome.data.js +57 -0
- package/dist/parks/tropicana-field.data.d.ts +2 -0
- package/dist/parks/tropicana-field.data.js +34 -0
- package/dist/parks/truist-park.data.d.ts +2 -0
- package/dist/parks/truist-park.data.js +32 -0
- package/dist/parks/turner-field.data.d.ts +2 -0
- package/dist/parks/turner-field.data.js +35 -0
- package/dist/parks/vantelin-dome-nagoya.data.d.ts +2 -0
- package/dist/parks/vantelin-dome-nagoya.data.js +57 -0
- package/dist/parks/veterans-stadium.data.d.ts +2 -0
- package/dist/parks/veterans-stadium.data.js +35 -0
- package/dist/parks/wrigley-field-los-angeles.data.d.ts +2 -0
- package/dist/parks/wrigley-field-los-angeles.data.js +35 -0
- package/dist/parks/wrigley-field.data.d.ts +2 -0
- package/dist/parks/wrigley-field.data.js +124 -0
- package/dist/parks/yankee-stadium-1923.data.d.ts +2 -0
- package/dist/parks/yankee-stadium-1923.data.js +42 -0
- package/dist/parks/yankee-stadium.data.d.ts +2 -0
- package/dist/parks/yankee-stadium.data.js +49 -0
- package/dist/parks/yokohama-stadium.data.d.ts +2 -0
- package/dist/parks/yokohama-stadium.data.js +40 -0
- package/dist/parks/zozo-marine-stadium.data.d.ts +2 -0
- package/dist/parks/zozo-marine-stadium.data.js +51 -0
- package/dist/parks.core.d.ts +180 -0
- package/dist/parks.core.js +80 -0
- package/dist/parks.d.ts +3 -176
- package/dist/parks.data.d.ts +1 -1
- package/dist/parks.index.d.ts +8 -0
- package/dist/parks.index.js +96 -0
- package/dist/parks.js +4 -69
- package/dist/parks.walls.d.ts +1 -0
- package/dist/parks.walls.js +3 -0
- package/dist/plot-entry.d.ts +1 -0
- package/dist/plot-entry.js +1 -0
- package/dist/png-entry.d.ts +1 -0
- package/dist/png-entry.js +1 -0
- package/dist/pointer-entry.d.ts +1 -0
- package/dist/pointer-entry.js +1 -0
- package/dist/quality.d.ts +110 -0
- package/dist/quality.js +160 -0
- package/dist/react-entry.d.ts +1 -0
- package/dist/react-entry.js +1 -0
- package/dist/replay-entry.d.ts +1 -0
- package/dist/replay-entry.js +1 -0
- package/dist/rules.d.ts +1 -1
- package/dist/rules.js +6 -5
- package/dist/scene-entry.d.ts +1 -0
- package/dist/scene-entry.js +1 -0
- package/dist/skating-entry.d.ts +1 -0
- package/dist/skating-entry.js +1 -0
- package/dist/special.js +2 -2
- package/dist/stadiums-entry.d.ts +1 -0
- package/dist/stadiums-entry.js +1 -0
- package/dist/stadiums.d.ts +1 -1
- package/dist/stadiums.js +4 -4
- package/dist/target-entry.d.ts +1 -0
- package/dist/target-entry.js +1 -0
- package/dist/turn-entry.d.ts +3 -0
- package/dist/turn-entry.js +2 -0
- package/dist/turn.dom.d.ts +7 -0
- package/dist/turn.dom.js +186 -20
- package/dist/turn.markup.d.ts +10 -7
- package/dist/turn.markup.js +28 -15
- package/dist/turn.model.d.ts +13 -0
- package/dist/turn.style.js +6 -0
- package/dist/uprights.fields.d.ts +1 -1
- package/dist/uprights.js +2 -2
- package/dist/venue-data-entry.d.ts +5 -0
- package/dist/venue-data-entry.js +2 -0
- package/dist/venue-data.d.ts +64 -0
- package/dist/venue-data.js +115 -0
- package/dist/venue.js +2 -2
- package/dist/venues-entry.d.ts +1 -0
- package/dist/venues-entry.js +1 -0
- package/dist/venues.d.ts +1 -1
- package/dist/venues.js +3 -3
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/zones-entry.d.ts +1 -0
- package/dist/zones-entry.js +1 -0
- package/package.json +19 -3
package/dist/ballpark.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// What a ballpark's article gives beyond the fence's distances, turned into what a drawing is asked for: the walls and their heights (`walls`), the quirks
|
|
2
2
|
// (`quirks`), the warning track's width, and the words that name them. The figures are in parks.ts; this file reads the options and says what to draw and what to say.
|
|
3
3
|
import { lengthUnit } from "./common.js";
|
|
4
|
-
import {
|
|
4
|
+
import { heldPark, parkQuirksIn, parkWallsIn } from "./parks.core.js";
|
|
5
5
|
import { KYOGIJO_STRINGS, fill } from "./strings.js";
|
|
6
6
|
/** True when a drawing has something of a ballpark to add (its stylesheet is then written in). */
|
|
7
7
|
export const ballparkDrawn = (b) => b !== undefined && (b.walls.length > 0 || b.quirks.length > 0 || b.backstop !== undefined || b.dugouts !== undefined);
|
|
@@ -11,7 +11,7 @@ const QUIRK_NAMES = ["hill", "overhang", "pole", "flagpole", "bullpen", "ivy", "
|
|
|
11
11
|
* A request that cannot be read is left out, as the other options' are.
|
|
12
12
|
*/
|
|
13
13
|
export function ballparkFor(o) {
|
|
14
|
-
const park =
|
|
14
|
+
const park = heldPark(o.park);
|
|
15
15
|
if (park === undefined)
|
|
16
16
|
return undefined;
|
|
17
17
|
const language = o.language === "ja" ? "ja" : "en";
|
package/dist/budo-entry.d.ts
CHANGED
package/dist/budo-entry.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
// The budō (武道): judo and karate competition areas, the kendo shiai-jo, the sumo dohyō, the kyūdōjō and the dojo builder, with their plans, the tatami layout, the kimarite, the looks and the stylesheet.
|
|
2
|
+
import "./full.js";
|
|
2
3
|
export { DOJO_STANDARDS, dojo, drawDojo } from "./budo/dojo.api.js";
|
|
3
4
|
export { DOJO_SIZES, floorOf, shapeOfJo } from "./budo/dojo.js";
|
|
4
5
|
export { dojoGallery, dojoRoom, ROOM_HEIGHTS } from "./budo/room.js";
|
package/dist/canvas-entry.d.ts
CHANGED
package/dist/canvas-entry.js
CHANGED
package/dist/charts-entry.d.ts
CHANGED
package/dist/charts-entry.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
// The ready-made charts: shot charts, shot maps, spray charts and pass charts built on the data layers.
|
|
2
|
+
import "./full.js";
|
|
2
3
|
export { nbaShotChart, nflPassChart, nhlShotMap } from "./charts.js";
|
|
3
4
|
export { mlbSprayChart } from "./charts.baseball.js";
|
|
4
5
|
export { soccerGoalMouth, soccerShotMap } from "./charts.soccer.js";
|
package/dist/charts.baseball.js
CHANGED
|
@@ -5,7 +5,7 @@ import { fenceAt } from "./geometry.js";
|
|
|
5
5
|
import { convert } from "./frames.js";
|
|
6
6
|
import { zoneToPoint } from "./frames.providers.js";
|
|
7
7
|
import { outlineOf } from "./outline.js";
|
|
8
|
-
import { fenceFor,
|
|
8
|
+
import { fenceFor, heldPark } from "./parks.core.js";
|
|
9
9
|
import { MLB } from "./geometry.js";
|
|
10
10
|
import { fill } from "./strings.js";
|
|
11
11
|
import { assemble, clean, countOutcomes, describeCounts, drawingOptions, frameOf, fromOf, hasPlace, keyItems, keyLayers, languageOf, placed, wordsOf, zoneTotals } from "./charts.js";
|
|
@@ -61,7 +61,7 @@ export function mlbSprayChart(balls, options = {}) {
|
|
|
61
61
|
const all = wordsOf(language);
|
|
62
62
|
const w = all.charts;
|
|
63
63
|
const frame = frameOf(options.from, "mlbam");
|
|
64
|
-
const park = options.park === undefined ? undefined :
|
|
64
|
+
const park = options.park === undefined ? undefined : heldPark(options.park);
|
|
65
65
|
if (options.park !== undefined && options.park !== "generic" && park === undefined)
|
|
66
66
|
throw new RangeError(`Unknown park "${options.park}": use a key of PARKS, such as "fenway-park"`);
|
|
67
67
|
const margin = typeof options.margin === "number" && options.margin >= 0 ? options.margin : 40;
|
package/dist/context.d.ts
CHANGED
|
@@ -145,6 +145,8 @@ export declare function placeContext(areas: readonly ContextArea[], origin: LonL
|
|
|
145
145
|
w: number;
|
|
146
146
|
h: number;
|
|
147
147
|
}, venues: readonly ContextVenue[]): ContextPlan;
|
|
148
|
+
/** A share of the trees, spread evenly over the lot: every tree at 1, none at 0, and at 0.5 every other. The same trees every time, so that a view drawn again at a tier keeps the ones it kept. */
|
|
149
|
+
export declare function thinTrees(trees: readonly ContextTree[], share: number): ContextTree[];
|
|
148
150
|
/** The tone (0 low to 3 tall) of a building of `feet` height. */
|
|
149
151
|
export declare const toneOf: (feet: number) => number;
|
|
150
152
|
/** The streets flat on the floor, under the buildings: a path for each kind and width (a foot), widest and lowest kinds first, so that a sidewalk lies over the carriageway beside it and a viaduct's deck over the street under it. */
|
package/dist/context.js
CHANGED
|
@@ -149,6 +149,23 @@ export function placeContext(areas, origin, turn, frame, venues) {
|
|
|
149
149
|
const credits = (language) => [...new Set(layers.map((l) => l.attribution[language]).filter((text) => text !== ""))];
|
|
150
150
|
return { blocks, streets, land, trees, owned, attribution: { en: credits("en"), ja: credits("ja") } };
|
|
151
151
|
}
|
|
152
|
+
/** A share of the trees, spread evenly over the lot: every tree at 1, none at 0, and at 0.5 every other. The same trees every time, so that a view drawn again at a tier keeps the ones it kept. */
|
|
153
|
+
export function thinTrees(trees, share) {
|
|
154
|
+
if (share >= 1)
|
|
155
|
+
return [...trees];
|
|
156
|
+
if (!(share > 0))
|
|
157
|
+
return [];
|
|
158
|
+
const kept = [];
|
|
159
|
+
let owed = 0;
|
|
160
|
+
for (const tree of trees) {
|
|
161
|
+
owed += share;
|
|
162
|
+
if (owed >= 1) {
|
|
163
|
+
owed -= 1;
|
|
164
|
+
kept.push(tree);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
return kept;
|
|
168
|
+
}
|
|
152
169
|
/** The tone (0 low to 3 tall) of a building of `feet` height. */
|
|
153
170
|
export const toneOf = (feet) => CONTEXT_TONES.filter((m) => feet / FEET_PER_METRE >= m).length;
|
|
154
171
|
const num = (value) => String(Math.round(value * 100) / 100);
|
package/dist/d3-entry.d.ts
CHANGED
package/dist/d3-entry.js
CHANGED
package/dist/district-entry.d.ts
CHANGED
|
@@ -1,20 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
export { buildDistrictTurn, districtPresets, districtTurnMarkup, mountDistrictTurn } from "./district.turn.ts";
|
|
4
|
-
export type { DistrictTurnSettings } from "./district.turn.ts";
|
|
5
|
-
export type { ContextArea } from "./context.ts";
|
|
6
|
-
export { KODOKAN, KODOKAN_DOJO, KODOKAN_FLOOR_HEIGHT, KODOKAN_FLOOR_IDS, KODOKAN_FLOORS, KODOKAN_ROOM_HEIGHT, kodokanLevel, kodokanMember } from "./kodokan.ts";
|
|
7
|
-
export type { KodokanFloor, KodokanRoom } from "./kodokan.ts";
|
|
8
|
-
export { VENUE_ATTRIBUTION } from "./venues.ts";
|
|
9
|
-
export { mountDistrict } from "./district.dom.ts";
|
|
10
|
-
export type { KyogijoDistrict } from "./district.dom.ts";
|
|
11
|
-
export { OUTSIDE_DENSITY, OUTSIDE_LEVELS, OUTSIDE_REACH, OUTSIDE_VENUES, hasOutside, isOutsideLevel, outsideCount, outsideCrowd, outsideLevelOf } from "./outside.ts";
|
|
12
|
-
export type { OutsideCrowd, OutsideLevel, OutsideOptions } from "./outside.ts";
|
|
13
|
-
export { PERSON_METRES, frameOf, rasterOutside } from "./outside.paint.ts";
|
|
14
|
-
export type { OutsideFrame, OutsideStats } from "./outside.paint.ts";
|
|
15
|
-
export { OUTSIDE_ROOM } from "./district.ts";
|
|
16
|
-
export { WALK_CELL, WALK_IDS, walkMask, walkable } from "./walk.ts";
|
|
17
|
-
export type { WalkData, WalkMask } from "./walk.ts";
|
|
18
|
-
export { GATE_FACTS, GATE_VENUES, gateName, venueGates } from "./gates.ts";
|
|
19
|
-
export type { Gate, GateBasis, GateFact } from "./gates.ts";
|
|
20
|
-
export type { DistrictGate } from "./district.ts";
|
|
1
|
+
import "./full.ts";
|
|
2
|
+
export * from "./district.api.ts";
|
package/dist/district-entry.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
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
|
-
|
|
3
|
-
|
|
4
|
-
export
|
|
5
|
-
export { VENUE_ATTRIBUTION } from "./venues.js";
|
|
6
|
-
export { mountDistrict } from "./district.dom.js";
|
|
7
|
-
// The crowd outside the venues, on ground people may stand on (OpenStreetMap, ODbL 1.0), at 0, 25, 50, 75 or 100 percent of the seats.
|
|
8
|
-
export { OUTSIDE_DENSITY, OUTSIDE_LEVELS, OUTSIDE_REACH, OUTSIDE_VENUES, hasOutside, isOutsideLevel, outsideCount, outsideCrowd, outsideLevelOf } from "./outside.js";
|
|
9
|
-
export { PERSON_METRES, frameOf, rasterOutside } from "./outside.paint.js";
|
|
10
|
-
export { OUTSIDE_ROOM } from "./district.js";
|
|
11
|
-
export { WALK_CELL, WALK_IDS, walkMask, walkable } from "./walk.js";
|
|
12
|
-
// The gates of a venue: where the crowd goes in, on the building's outline, with the way each faces and how it is known.
|
|
13
|
-
export { GATE_FACTS, GATE_VENUES, gateName, venueGates } from "./gates.js";
|
|
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
|
+
import "./full.js";
|
|
4
|
+
export * from "./district.api.js";
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from "./district.api.ts";
|
|
2
|
+
export * from "./areas-entry.ts";
|
|
3
|
+
export * from "./venue-data-entry.ts";
|
|
4
|
+
export { STADIUMS, STADIUM_IDS, stadiumById } from "./stadiums.ts";
|
|
5
|
+
export type { RealStadium, StadiumConfigId } from "./stadiums.ts";
|
|
6
|
+
export { QUALITIES, QUALITY_TIERS, isQuality } from "./quality.ts";
|
|
7
|
+
export type { Quality, QualityTier } from "./quality.ts";
|
|
@@ -0,0 +1,8 @@
|
|
|
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
|
|
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
|
+
export * from "./district.api.js";
|
|
5
|
+
export * from "./areas-entry.js";
|
|
6
|
+
export * from "./venue-data-entry.js";
|
|
7
|
+
export { STADIUMS, STADIUM_IDS, stadiumById } from "./stadiums.js";
|
|
8
|
+
export { QUALITIES, QUALITY_TIERS, isQuality } from "./quality.js";
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export { DISTRICT_IDS, DISTRICT_MARGIN, DISTRICT_MODES, KYOGIJO_DISTRICT_STYLE, describeDistrict, districtId, districtMember, districtRing, drawDistrict, isDistrictId, metresText, planDistrict, scaleOf, unknownVenues } from "./district.ts";
|
|
2
|
+
export type { DistrictMember, DistrictMode, DistrictOptions, DistrictPart, DistrictPlaced, DistrictPlan, DistrictVenueInput, PlacedPart } from "./district.ts";
|
|
3
|
+
export { buildDistrictTurn, districtPresets, districtTurnMarkup, mountDistrictTurn } from "./district.turn.ts";
|
|
4
|
+
export type { DistrictTurnSettings } from "./district.turn.ts";
|
|
5
|
+
export type { ContextArea } from "./context.ts";
|
|
6
|
+
export { KODOKAN, KODOKAN_DOJO, KODOKAN_FLOOR_HEIGHT, KODOKAN_FLOOR_IDS, KODOKAN_FLOORS, KODOKAN_ROOM_HEIGHT, kodokanLevel, kodokanMember } from "./kodokan.ts";
|
|
7
|
+
export type { KodokanFloor, KodokanRoom } from "./kodokan.ts";
|
|
8
|
+
export { VENUE_ATTRIBUTION } from "./venues.ts";
|
|
9
|
+
export { mountDistrict } from "./district.dom.ts";
|
|
10
|
+
export type { KyogijoDistrict } from "./district.dom.ts";
|
|
11
|
+
export { OUTSIDE_DENSITY, OUTSIDE_LEVELS, OUTSIDE_REACH, OUTSIDE_VENUES, hasOutside, isOutsideLevel, outsideCount, outsideCrowd, outsideLevelOf } from "./outside.ts";
|
|
12
|
+
export type { OutsideCrowd, OutsideLevel, OutsideOptions } from "./outside.ts";
|
|
13
|
+
export { PERSON_METRES, frameOf, rasterOutside } from "./outside.paint.ts";
|
|
14
|
+
export type { OutsideFrame, OutsideStats } from "./outside.paint.ts";
|
|
15
|
+
export { OUTSIDE_ROOM } from "./district.ts";
|
|
16
|
+
export { WALK_CELL, WALK_IDS, walkMask, walkable } from "./walk.ts";
|
|
17
|
+
export type { WalkData, WalkMask } from "./walk.ts";
|
|
18
|
+
export { GATE_FACTS, GATE_VENUES, gateName, venueGates } from "./gates.ts";
|
|
19
|
+
export type { Gate, GateBasis, GateFact } from "./gates.ts";
|
|
20
|
+
export type { DistrictGate } from "./district.ts";
|
|
@@ -0,0 +1,13 @@
|
|
|
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
|
+
export { DISTRICT_IDS, DISTRICT_MARGIN, DISTRICT_MODES, KYOGIJO_DISTRICT_STYLE, describeDistrict, districtId, districtMember, districtRing, drawDistrict, isDistrictId, metresText, planDistrict, scaleOf, unknownVenues } from "./district.js";
|
|
3
|
+
export { buildDistrictTurn, districtPresets, districtTurnMarkup, mountDistrictTurn } from "./district.turn.js";
|
|
4
|
+
export { KODOKAN, KODOKAN_DOJO, KODOKAN_FLOOR_HEIGHT, KODOKAN_FLOOR_IDS, KODOKAN_FLOORS, KODOKAN_ROOM_HEIGHT, kodokanLevel, kodokanMember } from "./kodokan.js";
|
|
5
|
+
export { VENUE_ATTRIBUTION } from "./venues.js";
|
|
6
|
+
export { mountDistrict } from "./district.dom.js";
|
|
7
|
+
// The crowd outside the venues, on ground people may stand on (OpenStreetMap, ODbL 1.0), at 0, 25, 50, 75 or 100 percent of the seats.
|
|
8
|
+
export { OUTSIDE_DENSITY, OUTSIDE_LEVELS, OUTSIDE_REACH, OUTSIDE_VENUES, hasOutside, isOutsideLevel, outsideCount, outsideCrowd, outsideLevelOf } from "./outside.js";
|
|
9
|
+
export { PERSON_METRES, frameOf, rasterOutside } from "./outside.paint.js";
|
|
10
|
+
export { OUTSIDE_ROOM } from "./district.js";
|
|
11
|
+
export { WALK_CELL, WALK_IDS, walkMask, walkable } from "./walk.js";
|
|
12
|
+
// The gates of a venue: where the crowd goes in, on the building's outline, with the way each faces and how it is known.
|
|
13
|
+
export { GATE_FACTS, GATE_VENUES, gateName, venueGates } from "./gates.js";
|
package/dist/district.d.ts
CHANGED
|
@@ -132,6 +132,11 @@ export declare const isDistrictId: (id: string) => boolean;
|
|
|
132
132
|
* ```
|
|
133
133
|
*/
|
|
134
134
|
export declare function districtMember(input: DistrictVenueInput, language?: Language, floor?: number): DistrictMember;
|
|
135
|
+
/**
|
|
136
|
+
* The outline of a venue's building, as `districtMember(input).ring` has it, read without the venue's records: a crowd outside keeps out of every building the ground has, and the buildings of venues that are not shown need no names.
|
|
137
|
+
* Throws as `districtMember` does for a key no venue has.
|
|
138
|
+
*/
|
|
139
|
+
export declare function districtRing(input: DistrictVenueInput): DistrictMember["ring"];
|
|
135
140
|
/** Turn a point of the map (east, down the page) by `degrees` clockwise on the page. */
|
|
136
141
|
export declare const turnBy: ([x, y]: Pt, degrees: number) => Pt;
|
|
137
142
|
/** A venue placed in the district: where its surface's middle is, how far its drawing is turned, and where its building stands, all in feet in the district's frame (x to the right, y down the page). */
|
package/dist/district.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// `neighbours` fits the plan tight round buildings that stand within a few hundred metres of each other, with no more than a margin between them; `city` keeps the real distances between venues that are kilometres
|
|
4
4
|
// apart, with a grid, a scale and a name beside each. Nothing is drawn but what the venues are drawn from: no street, no park and no mark of a team, a league or a tournament; the credit
|
|
5
5
|
// `VENUE_ATTRIBUTION` goes with it. Pure: options in, a plan, and markup, out; `district.turn.ts` raises it in 3D.
|
|
6
|
-
import {
|
|
6
|
+
import { heldArena, arenaNameIn } from "./arenas.core.js";
|
|
7
7
|
import { dojo } from "./budo/dojo.api.js";
|
|
8
8
|
import { kodokanMember } from "./kodokan.js";
|
|
9
9
|
import { contextFloor, contextFrame, placeContext, toneOf } from "./context.js";
|
|
@@ -18,7 +18,7 @@ import { venueGates } from "./gates.js";
|
|
|
18
18
|
import { walkIdFor } from "./walk.js";
|
|
19
19
|
export const DISTRICT_MODES = ["neighbours", "city"];
|
|
20
20
|
const venueMember = (venue, language) => {
|
|
21
|
-
const arena =
|
|
21
|
+
const arena = heldArena(venue.id);
|
|
22
22
|
if (arena === undefined)
|
|
23
23
|
throw new Error(`${venue.id} is not an arena`);
|
|
24
24
|
return {
|
|
@@ -87,6 +87,26 @@ export function districtMember(input, language = "en", floor) {
|
|
|
87
87
|
}
|
|
88
88
|
throw new Error(`no venue ${String(id)}: the venues are ${DISTRICT_IDS.join(", ")}`);
|
|
89
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* The outline of a venue's building, as `districtMember(input).ring` has it, read without the venue's records: a crowd outside keeps out of every building the ground has, and the buildings of venues that are not shown need no names.
|
|
92
|
+
* Throws as `districtMember` does for a key no venue has.
|
|
93
|
+
*/
|
|
94
|
+
export function districtRing(input) {
|
|
95
|
+
const [id, named] = typeof input === "string" ? input.split(":") : [input.id, input.config];
|
|
96
|
+
const venue = venueById(id);
|
|
97
|
+
if (venue !== undefined) {
|
|
98
|
+
if (named !== undefined && named !== "nhl")
|
|
99
|
+
throw new Error(`${id} is an arena with one configuration, not ${named}`);
|
|
100
|
+
return venue.osm.ring;
|
|
101
|
+
}
|
|
102
|
+
const stadium = stadiumById(id);
|
|
103
|
+
if (stadium !== undefined) {
|
|
104
|
+
if (named !== undefined && stadium.configs[named] === undefined)
|
|
105
|
+
throw new Error(`${id} has no configuration ${named}: ${stadiumConfigs(stadium).join(", ")}`);
|
|
106
|
+
return stadium.osm.ring;
|
|
107
|
+
}
|
|
108
|
+
return districtMember(input).ring;
|
|
109
|
+
}
|
|
90
110
|
// ---- The plan. ----
|
|
91
111
|
const RAD = Math.PI / 180;
|
|
92
112
|
/** Turn a point of the map (east, down the page) by `degrees` clockwise on the page. */
|
package/dist/district.turn.js
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
// plan drawn with each venue's building only. The model it makes is a `TurnModel`, so the camera, the controls, the pointer, the auto-turn and the steady fit of every other 3D view are this one's; its
|
|
4
4
|
// buildings are stacked building by building (`Plane.group`), the far one first, so that a roof never shows through a nearer building.
|
|
5
5
|
import { describeDistrict, districtId, drawDistrict, drawMember, nestedDrawing, planDistrict, surfaceCentre } from "./district.js";
|
|
6
|
-
import { blockPlanes, contextUprights, shellBlock, slabPlanes } from "./context.js";
|
|
6
|
+
import { blockPlanes, contextUprights, shellBlock, slabPlanes, thinTrees } from "./context.js";
|
|
7
|
+
import { TIER_PROFILES, tierOf } from "./quality.js";
|
|
7
8
|
import { dojo } from "./budo/dojo.api.js";
|
|
8
9
|
import { KODOKAN_FLOORS, KODOKAN_GALLERY_LEVEL } from "./kodokan.js";
|
|
9
10
|
import { APART, n, plane } from "./turn.kit.js";
|
|
@@ -54,6 +55,27 @@ function placeInDistrict(p, placed, centre, prefix, group, lift = 0) {
|
|
|
54
55
|
}
|
|
55
56
|
return moved;
|
|
56
57
|
}
|
|
58
|
+
/** The box a district at `high` is framed to, kept for the options it was worked out for, so that a lower tier is framed exactly as `high` is: the camera does not move when the tier changes. */
|
|
59
|
+
const HIGH_BOX = new WeakMap();
|
|
60
|
+
/** The small parts of a venue that the lower tiers leave out: its furniture and fittings, never its stands, walls, floor or roof. */
|
|
61
|
+
const SMALL_PARTS = new Set(["bench", "glass", "post", "goal", "stanchion", "pole", "pylon", "mast", "fascia", "rail", "platform", "apron", "flag", "board", "frame", "rim", "net", "antenna", "tape"]);
|
|
62
|
+
/** How high a venue that is drawn as a block stands, in feet, by what it is: a stand-in for its stands and roof, near what its own model reaches. */
|
|
63
|
+
const BLOCK_HEIGHT = { arena: 100, stadium: 115, park: 95, hall: 60 };
|
|
64
|
+
/** A venue drawn as a proxy is a closed block while it is smaller than this share of the plan's longest side, and a ring of walls open at the top (the field and its stands show inside) above it. */
|
|
65
|
+
const SOLID_BELOW = 0.12;
|
|
66
|
+
/** The planes of a venue drawn as a proxy, in the venue's own group, tinted as a venue and not as the buildings round it: its outline standing up to its height, closed by a roof when it is small, a ring of walls seen from both sides when it is not. */
|
|
67
|
+
function venueBlock(key, kind, ring, prefix, group, open) {
|
|
68
|
+
const height = BLOCK_HEIGHT[kind] ?? 90;
|
|
69
|
+
const block = shellBlock(`venue-${key}`, ring, open ? height * 0.6 : height, undefined);
|
|
70
|
+
const planes = blockPlanes(block, `${prefix}proxy-`).filter((p) => !open || /w\d+$/.test(p.id));
|
|
71
|
+
return planes.map((p) => {
|
|
72
|
+
const tinted = { ...p, svg: p.svg.replace(/u-block-roof/g, "u-proxy-roof").replace(/u-block-([abc])/g, "u-proxy-$1").replace(/u-block /g, "u-proxy "), group };
|
|
73
|
+
// Seen from both sides: the inside of the far wall shows over the field.
|
|
74
|
+
if (open)
|
|
75
|
+
delete tinted.cull;
|
|
76
|
+
return tinted;
|
|
77
|
+
});
|
|
78
|
+
}
|
|
57
79
|
/** A name that faces the eye, standing over a building: its text on a plate. */
|
|
58
80
|
function sign(id, text, at, bottom, size, group) {
|
|
59
81
|
const wide = Math.max(size * 2.2, size * 0.62 * text.length + size * 1.2);
|
|
@@ -70,6 +92,9 @@ export function buildDistrictTurn(options, settings = {}) {
|
|
|
70
92
|
const plan = planDistrict(options);
|
|
71
93
|
const base = districtId(options);
|
|
72
94
|
const id = settings.id ?? `${base}-turn`;
|
|
95
|
+
// How much is drawn: the tier asked for (a view that chooses by its frames builds it again at each tier).
|
|
96
|
+
const profile = TIER_PROFILES[tierOf(settings.quality)];
|
|
97
|
+
const longest = Math.max(plan.view.w, plan.view.h);
|
|
73
98
|
const labels = options.labels ?? plan.mode === "city";
|
|
74
99
|
const items = [];
|
|
75
100
|
const defs = [];
|
|
@@ -77,12 +102,23 @@ export function buildDistrictTurn(options, settings = {}) {
|
|
|
77
102
|
plan.members.forEach((placed, i) => {
|
|
78
103
|
const member = placed.member;
|
|
79
104
|
const prefix = `m${i}-`;
|
|
105
|
+
// A small venue, in a tier that draws such as a block: its outline standing up to its height, and nothing of its stands.
|
|
106
|
+
const xs = placed.footprint.map((q) => q[0]);
|
|
107
|
+
const ys = placed.footprint.map((q) => q[1]);
|
|
108
|
+
const plain = member.shell === undefined && member.parts === undefined && member.elevation === undefined && member.plate === undefined && member.slabs === undefined;
|
|
109
|
+
const span = Math.max(Math.max(...xs) - Math.min(...xs), Math.max(...ys) - Math.min(...ys));
|
|
110
|
+
// (A district of one venue never draws it as a block: it is what the view is of.)
|
|
111
|
+
if (plain && plan.members.length > 1 && profile.proxy > 0 && span < profile.proxy * longest) {
|
|
112
|
+
items.push({ id: `${prefix}proxy`, kind: "blocks", at: placed.at, height: BLOCK_HEIGHT[member.kind] ?? 90, planes: venueBlock(member.key, member.kind, placed.footprint, prefix, i, span >= SOLID_BELOW * longest) });
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
80
115
|
// A venue may have several surfaces (the rooms of a floor): each is built as its own 3D view is, with the crowd drawn without its seats on its floor and the stands raised, and put where the plan puts it, in the venue's one group.
|
|
81
116
|
placed.parts.forEach((pp, j) => {
|
|
82
117
|
const part = pp.part;
|
|
83
118
|
const tag = j === 0 ? "" : `p${j}`;
|
|
84
119
|
const memberId = `${id}-m${i}${tag}`;
|
|
85
|
-
const
|
|
120
|
+
const crowd = part.options.crowd;
|
|
121
|
+
const model = buildTurn({ ...part.options, ...(profile.simple && typeof crowd === "object" && crowd !== null ? { crowd: { ...crowd, detail: "plain", density: Math.min(crowd.density ?? 0.85, 0.6) } } : {}), language, ...(options.theme === undefined ? {} : { theme: options.theme }), id: `${base}-m${i}${tag}` }, { ...settings, id: memberId, venue: { roof: true, ...(typeof settings.venue === "object" ? settings.venue : {}) }, preset: undefined, view: undefined });
|
|
86
122
|
const centre = surfaceCentre(part.options);
|
|
87
123
|
const pfx = `m${i}${tag}-`;
|
|
88
124
|
// A surface on an upper floor (the Kodokan's dojos) stands that high over the ground, on a floor drawn in the air; the ground under it is left bare.
|
|
@@ -91,7 +127,7 @@ export function buildDistrictTurn(options, settings = {}) {
|
|
|
91
127
|
const lowest = (p) => Math.min(p.o[2], p.o[2] + p.u[2], p.o[2] + p.v[2], p.o[2] + p.u[2] + p.v[2]);
|
|
92
128
|
const shown = (p) => part.show === undefined || (part.show === "gallery") === (lowest(p) >= KODOKAN_GALLERY_LEVEL - 1e-6);
|
|
93
129
|
for (const item of model.uprights.items) {
|
|
94
|
-
const planes = item.planes.filter((p) => p.kind !== "ground" && shown(p)).map((p) => placeInDistrict(p, pp, centre, pfx, i, lift));
|
|
130
|
+
const planes = item.planes.filter((p) => p.kind !== "ground" && shown(p) && !(profile.simple && SMALL_PARTS.has(p.kind))).map((p) => placeInDistrict(p, pp, centre, pfx, i, lift));
|
|
95
131
|
if (planes.length > 0) {
|
|
96
132
|
const [ax, ay] = item.at;
|
|
97
133
|
const [rx, ry] = rot([ax - centre[0], ay - centre[1]], pp.angle);
|
|
@@ -142,6 +178,9 @@ export function buildDistrictTurn(options, settings = {}) {
|
|
|
142
178
|
// The great dojo's floor, seen with every floor, has its own slab; and a solid building hides what is in it.
|
|
143
179
|
if (!chosen && ((member.plate === undefined && slab.floor === 7) || options.building === "solid"))
|
|
144
180
|
continue;
|
|
181
|
+
// The faint floors are as big as the building (each is a layer of its own, a megapixel and more): the lower tiers keep the chosen floor's and leave the others out.
|
|
182
|
+
if (!chosen && profile.simple)
|
|
183
|
+
continue;
|
|
145
184
|
const ids = chosen ? { top: `${prefix}plate`, side: `${prefix}plate-s` } : { top: `${prefix}plate-f${slab.floor}-top`, side: `${prefix}plate-f${slab.floor}-s` };
|
|
146
185
|
const planes = slabPlanes(placed.footprint, slab.level, thick, ids, chosen ? "chosen" : "faint").map((p) => ({ ...p, group: i }));
|
|
147
186
|
items.push({ id: ids.top, kind: "deck", at: placed.at, height: slab.level, planes });
|
|
@@ -156,7 +195,7 @@ export function buildDistrictTurn(options, settings = {}) {
|
|
|
156
195
|
});
|
|
157
196
|
// The buildings round the venues stand apart from them: each block's planes are of no venue's group.
|
|
158
197
|
if (plan.context !== undefined)
|
|
159
|
-
for (const item of contextUprights(plan.context))
|
|
198
|
+
for (const item of contextUprights(plan.context, profile.blocks))
|
|
160
199
|
items.push({ ...item, planes: item.planes.map((p) => ({ ...p, group: APART })) });
|
|
161
200
|
if (labels) {
|
|
162
201
|
const size = Math.max(plan.view.w, plan.view.h) * (plan.mode === "city" ? 0.016 : 0.022);
|
|
@@ -172,9 +211,24 @@ export function buildDistrictTurn(options, settings = {}) {
|
|
|
172
211
|
const area = { x0: view.x, y0: view.y, x1: view.x + view.w, y1: view.y + view.h };
|
|
173
212
|
const uprights = { items, lift: 0, thin: Math.hypot(view.w, view.h) * 0.0012, area, whole: true, ...(defs.length === 0 ? {} : { defs: defs.join("") }) };
|
|
174
213
|
const planes = planesOf(uprights);
|
|
175
|
-
|
|
214
|
+
// The camera is fitted to what the district is at `high`, whatever tier it is drawn at: a view that changes tier keeps its camera where it is, and the lower tiers stand in the same frame.
|
|
215
|
+
let box = sceneBox(planes, area, 0, centre, scale);
|
|
216
|
+
if (profile.tier !== "high") {
|
|
217
|
+
const key = JSON.stringify(settings.venue ?? null);
|
|
218
|
+
const known = HIGH_BOX.get(options);
|
|
219
|
+
if (known?.key === key)
|
|
220
|
+
box = known.box;
|
|
221
|
+
else {
|
|
222
|
+
box = buildDistrictTurn(options, { ...settings, quality: "high" }).box;
|
|
223
|
+
HIGH_BOX.set(options, { key, box });
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
else
|
|
227
|
+
HIGH_BOX.set(options, { key: JSON.stringify(settings.venue ?? null), box });
|
|
176
228
|
// (The floor has no names: the 3D view's own signs, which face the eye, carry them.)
|
|
177
|
-
|
|
229
|
+
// (The trees of the tiers that draw fewer are thinned on the floor only: a tree is a dot there.)
|
|
230
|
+
const floorPlan = profile.trees < 1 && plan.context?.trees !== undefined ? { ...plan, context: { ...plan.context, trees: thinTrees(plan.context.trees, profile.trees) } } : plan;
|
|
231
|
+
const floor = drawDistrict({ ...options, id: base, labels: false }, floorPlan, (member, i, part) => drawMember(member, { ...options, id: base }, i, base, { floor: true }, part));
|
|
178
232
|
const { title, description } = describeDistrict(options, plan);
|
|
179
233
|
const presets = districtPresets(plan);
|
|
180
234
|
const surfaceLike = { sport: "soccer", language, ...(options.theme === undefined ? {} : { theme: options.theme }), ...(options.style === undefined ? {} : { style: options.style }) };
|
|
@@ -199,6 +253,7 @@ export function buildDistrictTurn(options, settings = {}) {
|
|
|
199
253
|
centre,
|
|
200
254
|
view: openingView(settings, presets),
|
|
201
255
|
turnable: true,
|
|
256
|
+
tiered: true,
|
|
202
257
|
presets,
|
|
203
258
|
// A scene that turns about its middle with buildings far from it wants a longer lens, so that what swings toward the eye does not swell.
|
|
204
259
|
lens: 12,
|
package/dist/draw.js
CHANGED
|
@@ -8,11 +8,11 @@ import { el, esc, num } from "./format.js";
|
|
|
8
8
|
import { fieldAttributes } from "./field.data.js";
|
|
9
9
|
import { ERA_SPORTS, footballIn, rulesFor, seasonLabel } from "./eras.js";
|
|
10
10
|
import { FOOTBALL } from "./geometry.js";
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
11
|
+
import { partOf } from "./draw.parts.js";
|
|
12
|
+
import { heldArena, arenaCourtIn, arenaNameIn, arenaOfficialName, arenaRinkIn } from "./arenas.core.js";
|
|
13
13
|
import { venueById, venueBowl } from "./venues.js";
|
|
14
14
|
import { KYOGIJO_STADIUM_STYLE, planPark, stadiumBowl, stadiumById, stadiumConfigOf, stadiumConfigs, stadiumKind, stadiumNames, stadiumSeats } from "./stadiums.js";
|
|
15
|
-
import {
|
|
15
|
+
import { heldGround, groundNameIn, groundOfficialName } from "./grounds.core.js";
|
|
16
16
|
import { BOARD, courtFor, hasSetsBoard, isNetLeague, isNetSport } from "./court.js";
|
|
17
17
|
import { cricketBoardMarkup } from "./cricket.board.js";
|
|
18
18
|
import { athleticsPlan } from "./athletics/plan.js";
|
|
@@ -39,7 +39,7 @@ import { fieldsStyle } from "./fields.style.js";
|
|
|
39
39
|
import { resolveHomeSide } from "./homeside.js";
|
|
40
40
|
import { LEAGUES, chooseLeague, courtOf, diamondOf, fieldOf, hasHistory, leagueSeason, leagueSize, netOf, rinkOf, sheetOf } from "./leagues.js";
|
|
41
41
|
import { MLB_DIAMOND, diamondFence } from "./leagues/baseball.js";
|
|
42
|
-
import { fenceFor,
|
|
42
|
+
import { fenceFor, heldPark, parkNameIn, parkOfficialName, parkWallsIn } from "./parks.core.js";
|
|
43
43
|
import { boardMarkup, endText } from "./curling.board.js";
|
|
44
44
|
import { sheetFor } from "./sheet.js";
|
|
45
45
|
import { commonOf, isPoolSport, swimPlan, poloPlan, divePlan, artisticPlan } from "./pool.js";
|
|
@@ -93,6 +93,8 @@ import { specialText } from "./events.js";
|
|
|
93
93
|
import { layoutOf, soccerSpec } from "./surfaces/soccer-spec.js";
|
|
94
94
|
import { abbreviate, capitals } from "./text.js";
|
|
95
95
|
import { VERSION } from "./version.js";
|
|
96
|
+
/** What the layers are when a drawing has none: nothing, and nothing to say. */
|
|
97
|
+
const NO_LAYERS = { svg: "", summaries: [] };
|
|
96
98
|
export { isPortrait };
|
|
97
99
|
/** The sports that can be drawn, in the order a menu lists them. */
|
|
98
100
|
export const SPORTS = ["nfl", "cfl", "ifaf", "nhl", "nba", "mlb", "soccer", "curling", "tennis", "volleyball", "badminton", "pickleball", "tabletennis", "padel", "squash", "racquetball", "sepaktakraw", "teqball", "roundnet", "netball", "swimming", "waterpolo", "diving", "artisticswimming", "athletics", "skating", "judo", "karate", "kendo", "sumo", "kyudo", "dojo", "mma", "boxing", "wrestling", "prowrestling", "lacrosse", "rugby", "afl", "gaelic", "cricket", "fieldhockey", "handball"];
|
|
@@ -229,7 +231,7 @@ const GOALS = ["box", "line", "strip", "none"];
|
|
|
229
231
|
export function pitchOf(o) {
|
|
230
232
|
if (o.pitch !== undefined)
|
|
231
233
|
return o.pitch;
|
|
232
|
-
const ground =
|
|
234
|
+
const ground = heldGround(o.ground);
|
|
233
235
|
return ground === undefined || ground.pitchSize === "default" ? undefined : { ...ground.pitch, unit: "m" };
|
|
234
236
|
}
|
|
235
237
|
function buildSoccer(o, common, scored, unit) {
|
|
@@ -309,13 +311,13 @@ function buildWhole(o, portrait, id, score, scored, extra) {
|
|
|
309
311
|
}
|
|
310
312
|
case "nhl": {
|
|
311
313
|
// An arena's rink is the size its sources publish, with the markings of the season asked for; an arena with none published has the NHL's.
|
|
312
|
-
const sized = league === undefined ? arenaRinkIn(
|
|
314
|
+
const sized = league === undefined ? arenaRinkIn(heldArena(o.arena), o.year) : undefined;
|
|
313
315
|
if (sized !== undefined)
|
|
314
316
|
return hockey(common, rulesFor("nhl", o.year).rules, { ...NHL_RINK, length: sized.length, width: sized.width });
|
|
315
317
|
return league?.family === "hockey" ? hockey(common, undefined, rinkOf(league, o.year)) : hockey(common, rulesFor("nhl", o.year).rules);
|
|
316
318
|
}
|
|
317
319
|
case "nba": {
|
|
318
|
-
const sized = league === undefined ? arenaCourtIn(
|
|
320
|
+
const sized = league === undefined ? arenaCourtIn(heldArena(o.arena), o.year) : undefined;
|
|
319
321
|
if (sized !== undefined)
|
|
320
322
|
return basketball(common, rulesFor("nba", o.year).rules, { ...NBA_COURT, length: sized.length, width: sized.width });
|
|
321
323
|
return league?.family === "basketball" ? basketball(common, undefined, courtOf(league, o.year)) : basketball(common, rulesFor("nba", o.year).rules);
|
|
@@ -323,11 +325,11 @@ function buildWhole(o, portrait, id, score, scored, extra) {
|
|
|
323
325
|
case "mlb": {
|
|
324
326
|
if (league?.family === "baseball") {
|
|
325
327
|
const diamond = diamondOf(league, o.year);
|
|
326
|
-
return baseball(fenceFor(
|
|
328
|
+
return baseball(fenceFor(heldPark(o.park), feetFence(o.fence, unit), o.year, diamondFence(diamond)), { ...common, ballpark: ballparkFor(o) }, undefined, diamond);
|
|
327
329
|
}
|
|
328
330
|
// A real ballpark whose infield is all dirt (Koshien Stadium's) has no grass inside the bases.
|
|
329
331
|
const dirt = realStadiumOf(o, "mlb", resolveCrowd(o.crowd)?.real === true)?.stadium.looks?.dirtInfield !== undefined;
|
|
330
|
-
return baseball(fenceFor(
|
|
332
|
+
return baseball(fenceFor(heldPark(o.park), feetFence(o.fence, unit), o.year), { ...common, ballpark: ballparkFor(o), ...(dirt ? { dirtInfield: true } : {}) }, rulesFor("mlb", o.year).rules);
|
|
331
333
|
}
|
|
332
334
|
case "soccer":
|
|
333
335
|
return buildSoccer(o, common, scored, unit);
|
|
@@ -418,9 +420,9 @@ function parkFence(o) {
|
|
|
418
420
|
const { league } = chooseLeague(o);
|
|
419
421
|
if (league?.family === "baseball") {
|
|
420
422
|
const diamond = diamondOf(league, o.year);
|
|
421
|
-
return { points: fenceFor(
|
|
423
|
+
return { points: fenceFor(heldPark(o.park), feetFence(o.fence, unit), o.year, diamondFence(diamond)), backstop: diamond.backstop };
|
|
422
424
|
}
|
|
423
|
-
return { points: fenceFor(
|
|
425
|
+
return { points: fenceFor(heldPark(o.park), feetFence(o.fence, unit), o.year), backstop: MLB_DIAMOND.backstop };
|
|
424
426
|
}
|
|
425
427
|
/**
|
|
426
428
|
* The real stadium (and the configuration) the options draw, where `crowd: { real: true }` asks for one: a football field (`cfl`, `nfl`) or a soccer pitch in the stadium named by `stadium` or by the `ground`, a baseball field in
|
|
@@ -440,7 +442,7 @@ function standsFor(o, surface, crowd) {
|
|
|
440
442
|
if (sport === "mlb") {
|
|
441
443
|
const { points, backstop } = parkFence(o);
|
|
442
444
|
// The walls that have seats on top of them: the ones the package knows (Fenway Park's Green Monster), or, asked for, every wall of 25 feet or more.
|
|
443
|
-
const park =
|
|
445
|
+
const park = heldPark(o.park);
|
|
444
446
|
const walls = park === undefined || crowd.wallSeats === false ? [] : parkWallsIn(park, o.year).filter((w) => (crowd.wallSeats === true ? w.height_ft >= 25 : w.label !== undefined && WALL_SEATS[park.id] === w.label));
|
|
445
447
|
const input = { fence: fenceOutline(points), backstop, crowd, seatsOnWalls: walls.map((w) => ({ from: w.from, to: w.to, height: w.height_ft })) };
|
|
446
448
|
// A real ballpark: the building it stands in, the way home plate faces and a roof, with its stands as deep as its seats need (no visitors' block: no source places one).
|
|
@@ -503,7 +505,7 @@ function buildCrowded(o, portrait, id, score, scored, extra, crowd) {
|
|
|
503
505
|
const surface = buildWhole(o, portrait, id, score, scored, { ...extra, margin });
|
|
504
506
|
const stands = standsFor(o, surface, crowd);
|
|
505
507
|
const seats = stands.seats;
|
|
506
|
-
const ground =
|
|
508
|
+
const ground = heldGround(o.ground)?.capacity;
|
|
507
509
|
const fine = crowd.detail === "fine" || (crowd.detail === "auto" && !smallDrawing(o));
|
|
508
510
|
const first = /^<[^>]*\/>/.exec(surface.base)?.[0] ?? "";
|
|
509
511
|
const bg = /class="([^"]*)"/.exec(first)?.[1] ?? "ky-apron";
|
|
@@ -744,17 +746,17 @@ export function describe(o) {
|
|
|
744
746
|
const language = o.language === "ja" ? "ja" : "en";
|
|
745
747
|
const words = KYOGIJO_STRINGS[language];
|
|
746
748
|
const { sport, league } = chooseLeague(o);
|
|
747
|
-
const park = sport === "mlb" ?
|
|
749
|
+
const park = sport === "mlb" ? heldPark(o.park) : undefined;
|
|
748
750
|
const parkName = park === undefined ? undefined : parkNameIn(park, language);
|
|
749
751
|
const pitch = sport === "soccer" ? soccerSpec(pitchOf(o)) : undefined;
|
|
750
752
|
// A ground names a full-size pitch; a small-sided pitch or futsal court the caller asked for keeps its own name.
|
|
751
|
-
const ground = pitch?.format === "11" ?
|
|
753
|
+
const ground = pitch?.format === "11" ? heldGround(o.ground) : undefined;
|
|
752
754
|
const groundName = ground === undefined ? undefined : groundNameIn(ground, o.year, language);
|
|
753
755
|
// A league other than the sport's own is named by its rulebook's, and its description is made from its figures.
|
|
754
|
-
const trackGround = sport === "athletics" ?
|
|
756
|
+
const trackGround = sport === "athletics" ? heldGround(o.ground) : undefined;
|
|
755
757
|
const trackGroundName = trackGround === undefined ? undefined : groundNameIn(trackGround, o.year, language);
|
|
756
758
|
// An arena names its rink or its court.
|
|
757
|
-
const arena = (sport === "nhl" || sport === "nba") && league === undefined ?
|
|
759
|
+
const arena = (sport === "nhl" || sport === "nba") && league === undefined ? heldArena(o.arena) : undefined;
|
|
758
760
|
const arenaName = arena === undefined ? undefined : arenaNameIn(arena, o.year, language);
|
|
759
761
|
const arenaSize = arena === undefined || arenaName === undefined ? undefined : sport === "nhl" ? arenaRinkIn(arena, o.year) : arenaCourtIn(arena, o.year);
|
|
760
762
|
const surfaceName = arenaName !== undefined ? fill(sport === "nhl" ? words.said.arenaRink : words.said.arenaCourt, { arena: arenaName }) : trackGroundName !== undefined ? fill(words.athletics.ground, { ground: trackGroundName }) : groundName !== undefined ? (language === "ja" ? `${groundName}のピッチ` : `${groundName}, soccer pitch`) : league !== undefined && parkName === undefined ? league.name[language] : parkName === undefined ? (pitch?.format === "futsal" ? words.soccer.futsal : words.surface[sport]) : language === "ja" ? `${parkName}のグラウンド` : `${parkName}, baseball field`;
|
|
@@ -1086,13 +1088,13 @@ function drawnKyogijo(o) {
|
|
|
1086
1088
|
if (sit !== undefined && lineupped)
|
|
1087
1089
|
inner += cutSit(sit.over);
|
|
1088
1090
|
// Data goes over the markings and under the score's panel.
|
|
1089
|
-
const layered =
|
|
1091
|
+
const layered = o.layers === undefined || o.layers.length === 0 ? NO_LAYERS : partOf("layers", "the layers option")(o, o.layers, surface.turned, surface.whole === undefined ? undefined : surface.box, surface.upright);
|
|
1090
1092
|
inner += surface.frame === undefined || layered.svg === "" ? layered.svg : el("g", { transform: surface.frame }, layered.svg);
|
|
1091
1093
|
// A surface drawn in parts shows the data again in each enlarged part, with its own ids, hidden from a reader of the drawing (the strip says it). A colour bar sized
|
|
1092
1094
|
// against the whole sheet falls outside the panels' part of it and is cut away there; one given a `region` inside a panel's part is drawn there, large.
|
|
1093
1095
|
if (surface.panels !== undefined && layered.svg !== "" && o.layers !== undefined) {
|
|
1094
1096
|
surface.panels.forEach((panel, i) => {
|
|
1095
|
-
const copy =
|
|
1097
|
+
const copy = partOf("layers", "the layers option")({ ...o, id: `${id}-f${i}` }, o.layers, surface.turned);
|
|
1096
1098
|
if (copy.svg !== "")
|
|
1097
1099
|
inner += el("g", { class: "ky-fold-data", "aria-hidden": "true", transform: panel.transform, "clip-path": `url(#${panel.clip})` }, copy.svg);
|
|
1098
1100
|
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { renderLayers } from "./layers.ts";
|
|
2
|
+
/** The parts there are, by name, each with the function the drawing calls. */
|
|
3
|
+
export interface DrawParts {
|
|
4
|
+
/** The data laid over a surface (`options.layers`): shots, heat maps, tracks, lineups, legends. */
|
|
5
|
+
layers: typeof renderLayers;
|
|
6
|
+
}
|
|
7
|
+
/** Hold a part for the drawing: what `full.ts` does for each part there is. */
|
|
8
|
+
export declare function providePart<K extends keyof DrawParts>(name: K, feature: DrawParts[K]): void;
|
|
9
|
+
/** Whether a part is held. */
|
|
10
|
+
export declare const hasPart: (name: keyof DrawParts) => boolean;
|
|
11
|
+
/** A part, for a drawing whose options ask for it (`asked` names the option); throws, saying how to have it, where it is not held. */
|
|
12
|
+
export declare function partOf<K extends keyof DrawParts>(name: K, asked: string): DrawParts[K];
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const held = {};
|
|
2
|
+
/** Hold a part for the drawing: what `full.ts` does for each part there is. */
|
|
3
|
+
export function providePart(name, feature) {
|
|
4
|
+
held[name] = feature;
|
|
5
|
+
}
|
|
6
|
+
/** Whether a part is held. */
|
|
7
|
+
export const hasPart = (name) => held[name] !== undefined;
|
|
8
|
+
/** A part, for a drawing whose options ask for it (`asked` names the option); throws, saying how to have it, where it is not held. */
|
|
9
|
+
export function partOf(name, asked) {
|
|
10
|
+
const found = held[name];
|
|
11
|
+
if (found === undefined)
|
|
12
|
+
throw new Error(`${asked} needs the ${name} part of the drawing, which this entry does not carry: use an entry that has every part (the main entry, or any but the lean district's), or import "@johnmorrisdotca/kyogijo-stadiums/full" first`);
|
|
13
|
+
return found;
|
|
14
|
+
}
|
package/dist/element-entry.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import "./full.ts";
|
|
1
2
|
export { KYOGIJO_ATTRIBUTES, KYOGIJO_TAG, KyogijoField, defineKyogijoField, optionsFromAttributes, replaySettingsFromAttributes, turnSettingsFromAttributes, turnWanted } from "./element.ts";
|
|
2
3
|
export { useEmblems } from "./emblems-source.ts";
|
|
3
4
|
export type { EmblemRenderer } from "./emblems-source.ts";
|
package/dist/element-entry.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
// The custom element's class and its registration function; importing this entry registers nothing.
|
|
2
|
+
import "./full.js";
|
|
2
3
|
export { KYOGIJO_ATTRIBUTES, KYOGIJO_TAG, KyogijoField, defineKyogijoField, optionsFromAttributes, replaySettingsFromAttributes, turnSettingsFromAttributes, turnWanted } from "./element.js";
|
|
3
4
|
export { useEmblems } from "./emblems-source.js";
|
|
4
5
|
export { useFlags } from "./flags-source.js";
|
package/dist/events-entry.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import "./full.ts";
|
|
1
2
|
export { EVENTS, EVENT_IDS, EVENT_SOURCES, conventionPlacement, eventById, eventFit, eventOptions, eventSources, fitOf } from "./events.ts";
|
|
2
3
|
export type { EventSource, Fit, PlacementBasis, PlacementRule, SpecialEvent, SpecialEventData, Words } from "./events.ts";
|
|
3
4
|
export { KYOGIJO_SPECIAL_STYLE } from "./special.style.ts";
|