@johnmorrisdotca/kyogijo-stadiums 0.45.1 → 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 +82 -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/quality.d.ts +20 -2
- package/dist/quality.js +25 -4
- 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.camera.d.ts +5 -0
- package/dist/turn.camera.js +8 -0
- package/dist/turn.dom.js +55 -5
- 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
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,88 @@ All notable changes to this project are written here. The format follows
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.45.3] - 2026-10-30
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- **A district page of the demo loads 158 to 243 KB less script and data, and the crowd outside, the words and the venues are read when they are shown (SPX-795, SPX-797).** Three tables that every district page carried, whatever it showed, are files read with a dynamic `import()` by the lean district (`district-lean`), as the venues' records were in 0.45.1:
|
|
15
|
+
- **The walkable ground of the crowd outside** (`walk.data`, 88 KB, 24.5 KB gzipped, Vancouver's alone) is a file for each district (`walk/vancouver.data.js`, 83 KB: written to whole quarter-metres, it is a little smaller than the table was) and `walk.index.ts` lists the districts with their venues. `await loadOutside(venues)`, from `district-lean` and `venue-data`, reads the file of the district a venue stands in, and the outline of each arena of it (the crowd keeps out of the buildings of venues that are not shown too); it reads nothing for venues no mask names. `hasOutside`, `OUTSIDE_VENUES`, `walkIdFor` and the plan itself need no data. `outsideCrowd(plan)` is synchronous and unchanged on the `district` entry, which holds every district's data (`walk.full.ts`); on the lean district it throws, saying so, where it is asked before `loadOutside`. The demo calls `loadOutside` for a choice with a crowd to show, so the pages of Seattle, Tokyo and the Kodokan never fetch the file.
|
|
16
|
+
- **The words** (`strings.js`, 156 KB, 43.5 KB gzipped) are a file for each language: `strings.en.js` (66 KB, 19 gzipped) and `strings.ja.js` (87 KB, 25 gzipped), with `strings.core.ts` holding the types, `fill`, the table and `loadStrings`. `await loadStrings(language)` reads a language (once, the same promise after) and the lean district draws in it; a language not read throws, naming the call. An English page does not read the Japanese, a Japanese page does not read the English, and choosing the other language in the middle of a session reads it then. `KYOGIJO_STRINGS` is synchronous with both languages on every other entry, as before: `strings.ts` imports the two files, each of which holds its language when it is read. The Japanese is moved and not changed (the table's JSON is the same character for character).
|
|
17
|
+
- **The real venues of the NHL's arenas** (`venues.data` 25 KB and `venues.osm.data` 54 KB, 14 KB gzipped together) are two files for each venue (`venues/<key>.data.js`, the facts, and `venues/<key>.osm.data.js`, what OpenStreetMap gave: the licences stay in files apart), about 1 and 1.5 KB each, read by `loadVenueDataFor` with the arena's record, and `venues.index.ts` lists the keys. `VENUES` is the table of the venues held: all 32 on every entry that had them, those read on the lean district, and `venueById` throws for a venue not read yet instead of drawing without it. `VENUES` is no longer frozen (its venues are).
|
|
18
|
+
- **Nothing changes in what is drawn.** `src/venue-data.test.ts` draws every preset in 2D and 3D, in English and Japanese, with surroundings and crowd, through the lean district and the `district` entry, and the characters are the same; the crowd outside is the same people to the last bit; and screenshots of the demo's district page before and after (Vancouver with a crowd of 25, 50 and 75 percent in 2D and 3D, in both languages; Seattle; Tokyo; the Kodokan; a desk and a phone window) are the same pixel for pixel.
|
|
19
|
+
- **The entries that had them have them still**, as 0.45.1 did: `src/venue-data.budget.test.js` holds each entry to the venues, the words and the walkable ground it had, and the lean district, `venue-data` and `areas` to none of them in their import graph. The package is 144 files and 99 KB bigger unpacked (1,401 to 1,545 files, 6,982 to 7,083 KB; packed 1,889 to 1,926 KB): the tables stay, and each record is a file again.
|
|
20
|
+
|
|
21
|
+
### Added
|
|
22
|
+
|
|
23
|
+
- `loadOutside(venues)` and `loadStrings(language)` on `district-lean` and `venue-data`; `loadWalk`, `registerWalk`, `loadVenue`, `registerVenues`, `hasStrings` and `provideStrings` in the modules that hold the tables (not entry exports).
|
|
24
|
+
- Tests: the lean district holds no walkable ground, words or venue until they are read, says which call reads them, reads each once and reads nothing for venues no mask names; the import graph; every entry's tables; `e2e/bundles.demo.mjs` checks the network log of every preset (the one language's words, the venue's two files, the walkable ground for Vancouver's presets alone, and no table of every venue) and of a Japanese page, of a language chosen in the middle of the session, and of choosing venues with and without a crowd.
|
|
25
|
+
|
|
26
|
+
### Measured
|
|
27
|
+
|
|
28
|
+
Chromium, a desk window, the demo's pages built from 0.45.2 and from this commit and measured beside each other (`node scripts/bundle-report.mjs --base`), script and data fetched, raw KB (gzipped KB), from the network log. The district pages are opened in 3D from the broadcast viewpoint, as `scripts/bundle-lib.mjs` has them; `bundle-budget.json` is lowered to match for each of them.
|
|
29
|
+
|
|
30
|
+
| Page | Before | After | Saved |
|
|
31
|
+
|---|---|---|---|
|
|
32
|
+
| home | 5,185.4 (1,583.1) | 5,193.7 (1,586.8) | -8.3 (-3.7) |
|
|
33
|
+
| venues | 2,985.5 (849.8) | 2,992.9 (853.1) | -7.4 (-3.3) |
|
|
34
|
+
| district: BC Place and Rogers Arena | 2,513.2 (772.2) | 2,355.3 (738.2) | 157.9 (34.0) |
|
|
35
|
+
| district: Rogers Arena alone | 2,512.3 (771.8) | 2,354.4 (737.8) | 157.9 (34.0) |
|
|
36
|
+
| district: BC Place (soccer) and Rogers Arena | 2,513.2 (772.2) | 2,355.3 (738.2) | 157.9 (34.0) |
|
|
37
|
+
| district: Seattle Center | 2,546.0 (778.9) | 2,305.4 (720.7) | 240.6 (58.2) |
|
|
38
|
+
| district: SoDo | 2,515.3 (773.1) | 2,272.8 (714.0) | 242.5 (59.1) |
|
|
39
|
+
| district: Seattle, three venues | 2,630.7 (795.8) | 2,390.2 (737.6) | 240.5 (58.2) |
|
|
40
|
+
| district: Tokyo Dome City | 2,474.7 (763.1) | 2,232.1 (704.0) | 242.6 (59.1) |
|
|
41
|
+
| district: Tokyo Dome City and the Kodokan | 2,474.7 (763.1) | 2,232.1 (704.0) | 242.6 (59.1) |
|
|
42
|
+
| district: the Kodokan | 2,416.0 (747.5) | 2,173.4 (688.4) | 242.6 (59.1) |
|
|
43
|
+
| stadiums | 2,973.1 (845.5) | 2,980.7 (848.8) | -7.6 (-3.3) |
|
|
44
|
+
| halls | 3,069.6 (875.4) | 3,076.9 (878.6) | -7.3 (-3.2) |
|
|
45
|
+
| boards | 3,081.0 (865.0) | 3,088.4 (868.2) | -7.4 (-3.2) |
|
|
46
|
+
| flythrough | 3,399.0 (987.8) | 3,406.4 (991.1) | -7.4 (-3.3) |
|
|
47
|
+
| judging | 2,974.1 (848.6) | 2,981.4 (851.9) | -7.3 (-3.3) |
|
|
48
|
+
|
|
49
|
+
- **The pages that need everything cost 7 to 8 KB more (3 KB gzipped, a third of a percent)**: the words are two files that gzip a little worse apart, and the index and the loader are new. Their budget is unchanged. A district page of one venue saves 158 KB (Vancouver, which still reads its walkable ground: 24 KB gzipped) to 243 KB.
|
|
50
|
+
- What each page saves, raw (gzipped): the walkable ground 88 (24.5) where there is no crowd outside, the words 87 (25) for the language not read (and 66 (19) when it is the other), the venues 79 (14) less the one or two a district shows, and the small index and loaders that are added. The files of the walkable ground, the English words and the venue each load in parallel with the page's other modules, as the records of 0.45.1 do.
|
|
51
|
+
- **Times are not claimed.** `bundle-report.mjs` also measured the first paint and the drawn page at 1 and 4 times slower CPU, but the machine's load average was 27 to 42 during the runs (`uptime`) and 3 runs of each page differed by more than a change of this size could make; a change in bytes of this kind is not a change in time that can be told from the noise here.
|
|
52
|
+
|
|
53
|
+
## [0.45.2] - 2026-10-30
|
|
54
|
+
|
|
55
|
+
### Changed
|
|
56
|
+
|
|
57
|
+
- **The 3D view of a district makes its layers as fine as the screen shows them, and no finer: a phone holds a sixteenth of the pixels.** The scene is made 1,400 pixels across and every plane was a layer as fine as that, whatever the screen: a phone shows the scene a sixth of that size, so its layers were five times finer than anything it could draw, and at a ratio of 3 the Kodokan's building alone was 713 megabytes of layers (each floor a layer of 1,114 by 1,186 pixels), which is what an iPhone's browser could not keep (SPX-699). The view now works out the share of its size a layer needs from the scale that fits the scene in its box (at any tip of the view), the zoom, and a margin of a quarter for the perspective, and rounds it up to 0.25, 0.4, 0.6 or 1 (`viewShare`, `viewScale`, `SHARE_LEVELS`; docs/quality.md, "The pixels of the layers"). It holds for every tier, `high` asked for by name too; the 3D view of a single surface is not changed. The Kodokan alone on a phone is made at 0.25 (a sixteenth of the pixels). The floor, which is one layer and holds the thinnest lines of the view, is made at 0.6 at least (`FLOOR_SHARE`), because a one-pixel line such as the north arrow shows steps in Chromium when its layer is made a quarter as fine.
|
|
58
|
+
- **The share follows the view.** A zoom that needs a finer share draws the layers again 160 milliseconds after it stops (a pinch is not drawn again at every step, and from the whole view to the nearest it is at most three times); a zoom out or a smaller box makes them coarser only after a second and a half at rest; a new size of the container, a new set of venues and a step of the tier work it out again. The camera, the auto-turn and a drag in the middle of being made are not touched, and `data-share` on `.ky-turn` says the share. A wide screen needs the whole share, so there nothing changes: its screenshots are the same byte for byte.
|
|
59
|
+
- **The flat layers were not moved onto a canvas, as SPX-772 first asked, because they are not where a step goes.** Streets, footprints, trees and land are a few paths in the floor, and the floor is one layer (17 elements for the Kodokan). Taking the floor out of the page altogether saves 4 to 6 percent of a turn step in Chromium with the CPU 4 times slower (Seattle 117 to 111 ms and 119 to 113 in two runs); taking every plane out saves three quarters of it (117 to 44). A step costs the planes that stand up (2,175 for Seattle), not what lies flat.
|
|
60
|
+
- Costs 5 KB (1 KB gzipped) of script on a district page (2,411 to 2,416 KB); the bundle budget holds.
|
|
61
|
+
|
|
62
|
+
### Added
|
|
63
|
+
|
|
64
|
+
- Tests: `viewShare`, the floor's share and `rasterShares` with a ceiling (`src/quality.test.ts`); `e2e/quality.demo.mjs` checks on a phone that the Kodokan's layers are under 120 megabytes, that a zoom in makes them finer a moment after it stops and a zoom out makes them coarser again after a while at rest, and that the floor is where it was.
|
|
65
|
+
|
|
66
|
+
### Measured
|
|
67
|
+
|
|
68
|
+
Chromium and WebKit on a Mac Studio, a phone window of 390 by 844 at a ratio of 3, the CPU of Chromium slowed 4 times where said, 40 turn steps a row (`node scripts/perf-district.mjs --quality high,medium,low,auto`); the 0.45.1 site and this one were built beside each other and measured one after the other. The load average of the machine was 18 to 20 before each run (`uptime`) and 15 to 26 during them, so a frame that differs by under 15 percent in Chromium is not a difference. Layers are the boxes times the ratio squared, four bytes a pixel, as the script has always counted them.
|
|
69
|
+
|
|
70
|
+
| Preset (high) | Planes | Layers MB at ratio 3: before | after | WebKit phone ms a frame: before | after | frames a second: before | after | Chromium phone, 4x CPU, ms: before | after |
|
|
71
|
+
|---|---|---|---|---|---|---|---|---|---|
|
|
72
|
+
| Rogers Arena alone | 547 | 100 | 25 | 17 | 17 | 59 | 59 | 30 | 32 |
|
|
73
|
+
| BC Place and Rogers Arena | 1309 | 118 | 24 | 17 | 17 | 59 | 59 | 81 | 68 |
|
|
74
|
+
| BC Place (soccer) and Rogers Arena | 1305 | 118 | 25 | 17 | 17 | 59 | 59 | 64 | 66 |
|
|
75
|
+
| Seattle Center | 1088 | 98 | 21 | 105 | 21 | 10 | 48 | 41 | 45 |
|
|
76
|
+
| SoDo | 1346 | 86 | 18 | 124 | 26 | 8 | 38 | 66 | 71 |
|
|
77
|
+
| Seattle, three venues | 2175 | 50 | 15 | 60 | 31 | 17 | 32 | 119 | 141 |
|
|
78
|
+
| Tokyo Dome City | 2049 | 76 | 19 | 121 | 41 | 8 | 24 | 109 | 109 |
|
|
79
|
+
| Tokyo Dome City and the Kodokan | 2286 | 78 | 16 | 140 | 54 | 7 | 19 | 119 | 123 |
|
|
80
|
+
| The Kodokan alone | 152 | 713 | 64 | 28 | 17 | 36 | 59 | 17 | 17 |
|
|
81
|
+
|
|
82
|
+
| Kodokan alone, layers MB at ratio 3 | before | after |
|
|
83
|
+
|---|---|---|
|
|
84
|
+
| high | 713 | 64 |
|
|
85
|
+
| medium | 67 | 25 |
|
|
86
|
+
| low | 32 | 21 |
|
|
87
|
+
| auto (first draw) | 317 | 64 |
|
|
88
|
+
|
|
89
|
+
- **WebKit, the iPhone's engine, turns the heavy presets two to five times faster** (Seattle Center 105 to 21 ms a frame, SoDo 124 to 26, Tokyo Dome City 121 to 41, Tokyo Dome City and the Kodokan 140 to 54, the Kodokan alone 28 to 17): its frames follow the pixels of the layers. Chromium does not move beyond the noise (a desk window at 4 times slower CPU, built before and after run in turn twice, for BC Place (soccer) and Rogers Arena, Tokyo Dome City, and with the Kodokan: 65 and 60, 95 and 99, 111 and 111 ms, then 64 and 67, 97 and 91, 124 and 113; and a desk window is the same page to the byte). The lower tiers' layers fall too: the Kodokan at `medium` 67 to 25 megabytes, at `low` 32 to 21.
|
|
90
|
+
- **The pictures.** Every preset at every tier, in light and dark, in Chromium (a desk window and a phone window) and in WebKit (a phone window): 162 pairs of screenshots. The desk window is the same to the byte. At a ratio of 3 WebKit differs by at most 0.23 percent of the pixels by more than 8 levels of 255 (0.05 percent by more than 32) and Chromium by at most 1.8 and 0.13 percent. Side by side the colours and the places are the same; what differs is thin lines and patterns that alias: a football field's yard lines are clean where they were dotted, rails and the Kodokan's mats are crisper, and in Chromium a one-pixel arrow is a little rougher.
|
|
91
|
+
|
|
10
92
|
## [0.45.1] - 2026-10-30
|
|
11
93
|
|
|
12
94
|
### Changed
|
package/dist/annotate.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type KyogijoWords } from "./strings.ts";
|
|
1
|
+
import { type KyogijoWords } from "./strings.core.ts";
|
|
2
2
|
import { type Surface } from "./surfaces/surface.ts";
|
|
3
3
|
import type { ScoreOptions, SurfaceOptions } from "./types.ts";
|
|
4
4
|
/** The margin each surface has when the options give none (the builders' own defaults), in feet. */
|
package/dist/annotate.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { attackingIn, frameByName, toSurface } from "./frames.js";
|
|
6
6
|
import { el, num } from "./format.js";
|
|
7
7
|
import { frameSizeOf } from "./outline.js";
|
|
8
|
-
import { fill } from "./strings.js";
|
|
8
|
+
import { fill } from "./strings.core.js";
|
|
9
9
|
import { textWidth } from "./text.js";
|
|
10
10
|
import { textOn } from "./surfaces/surface.js";
|
|
11
11
|
import { FEET_PER, SURFACE_UNITS, isUnit } from "./units.js";
|
package/dist/arenas-entry.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import "./strings.ts";
|
|
1
2
|
export { ARENA_IDS, ARENAS, arenaById, arenaByName, arenaByWikidata, arenaCourtIn, arenaNameIn, arenaOfficialName, arenaRinkIn, arenaSourceUrl, arenasByName } from "./arenas.ts";
|
|
2
3
|
export { officialName, plainName } from "./names.ts";
|
|
3
4
|
export type { PlaceAlias, PlaceNameKind } from "./names.ts";
|
package/dist/arenas-entry.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
// The arenas of the NHL, the NBA, the WNBA and the PWHL: where each stands, when it was in use, its names, its seats for each sport and the size of its rink or court where the sources publish one.
|
|
2
|
+
// The words in both languages, as this entry has always carried them (the lean district reads one language when it is asked to).
|
|
3
|
+
import "./strings.js";
|
|
2
4
|
export { ARENA_IDS, ARENAS, arenaById, arenaByName, arenaByWikidata, arenaCourtIn, arenaNameIn, arenaOfficialName, arenaRinkIn, arenaSourceUrl, arenasByName } from "./arenas.js";
|
|
3
5
|
export { officialName, plainName } from "./names.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// What an athletics drawing says of itself: its sentence about the track, and what the options mark on it. Cheap (it reads the options, not the plan), so that a title and a description cost nothing.
|
|
2
|
-
import { fill, KYOGIJO_STRINGS } from "../strings.js";
|
|
2
|
+
import { fill, KYOGIJO_STRINGS } from "../strings.core.js";
|
|
3
3
|
import { fieldEventById, raceById } from "./events.js";
|
|
4
4
|
import { athleticsLanes, athleticsLeague, eventsOf, racesOf } from "./plan.js";
|
|
5
5
|
/** The words of a race or a field event in a language. */
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import "./full.ts";
|
|
2
|
+
import "./venues.all.ts";
|
|
2
3
|
export { laneDraw, raceResults, raceReplay, fieldMarks, formatTime, distanceRun } from "./charts.athletics.ts";
|
|
3
4
|
export type { AthleticsEntry, AthleticsResult, AthleticsRaceOptions, AthleticsRunner, FieldAttempt, FieldMarksOptions, FieldTotals, LaneDrawTotals, RaceReplay, RaceReplayOptions, ResultsTotals } from "./charts.athletics.ts";
|
|
4
5
|
export { FIELD_EVENTS, FIELD_EVENT_IDS, RACES, RACE_IDS, fieldEventById, raceById } from "./athletics/events.ts";
|
package/dist/athletics-entry.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
// The athletics stadium: the races and the field events, the plan of the track and what is marked on it, the oval's geometry (a point of a lane, the stagger of each lane's start), and the data: lane draws, results, a replay and the marks of throws and jumps.
|
|
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 { laneDraw, raceResults, raceReplay, fieldMarks, formatTime, distanceRun } from "./charts.athletics.js";
|
|
4
6
|
export { FIELD_EVENTS, FIELD_EVENT_IDS, RACES, RACE_IDS, fieldEventById, raceById } from "./athletics/events.js";
|
|
5
7
|
export { athleticsLeague, athleticsPlan, eventsOf, racesOf, INDOOR_RACES } from "./athletics/plan.js";
|
package/dist/atlas-entry.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import "./strings.ts";
|
|
1
2
|
export { PLACES, atlasFacets, hallSurfaces, placeById, placeByName, placesBy, placesByClub, placesByName, surfaceOf, surfacesOf, tenantsOf } from "./atlas.ts";
|
|
2
3
|
export { HALLS } from "./halls.ts";
|
|
3
4
|
export type { Hall, HallBasis, HallSurface } from "./halls.ts";
|
package/dist/atlas-entry.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
// The atlas: every ballpark, soccer ground and hockey and basketball arena, and the famous halls of the budō, with where it stands, when it was in use and the clubs that played there, and the filters over them.
|
|
2
|
+
// The words in both languages, as this entry has always carried them (the lean district reads one language when it is asked to).
|
|
3
|
+
import "./strings.js";
|
|
2
4
|
export { PLACES, atlasFacets, hallSurfaces, placeById, placeByName, placesBy, placesByClub, placesByName, surfaceOf, surfacesOf, tenantsOf } from "./atlas.js";
|
|
3
5
|
export { HALLS } from "./halls.js";
|
|
4
6
|
export { officialName, plainName } from "./names.js";
|
package/dist/ballpark.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ParkDugouts, type ParkQuirk, type ParkWall } from "./parks.core.ts";
|
|
2
|
-
import { type KyogijoWords } from "./strings.ts";
|
|
2
|
+
import { type KyogijoWords } from "./strings.core.ts";
|
|
3
3
|
import type { Language, SurfaceOptions } from "./types.ts";
|
|
4
4
|
/** The unit the heights and distances are written in: feet, or metres for a drawing in metres, centimetres or millimetres. */
|
|
5
5
|
export type BallparkUnit = "ft" | "m";
|
package/dist/ballpark.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
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
4
|
import { heldPark, parkQuirksIn, parkWallsIn } from "./parks.core.js";
|
|
5
|
-
import { KYOGIJO_STRINGS, fill } from "./strings.js";
|
|
5
|
+
import { KYOGIJO_STRINGS, fill } from "./strings.core.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);
|
|
8
8
|
const QUIRK_NAMES = ["hill", "overhang", "pole", "flagpole", "bullpen", "ivy", "basket", "backstop", "dugouts"];
|
package/dist/budo/describe.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// What a budō drawing says of itself: its sentence about the surface, and what the options mark on it. Built from the plan, so that the words and the drawing agree.
|
|
2
|
-
import { fill, KYOGIJO_STRINGS } from "../strings.js";
|
|
2
|
+
import { fill, KYOGIJO_STRINGS } from "../strings.core.js";
|
|
3
3
|
import { budoView } from "../budo.score.js";
|
|
4
4
|
import { kimariteName } from "./kimarite.js";
|
|
5
5
|
import { budoPlan } from "./plan.js";
|
package/dist/budo-entry.d.ts
CHANGED
package/dist/budo-entry.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
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
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 { DOJO_STANDARDS, dojo, drawDojo } from "./budo/dojo.api.js";
|
|
4
6
|
export { DOJO_SIZES, floorOf, shapeOfJo } from "./budo/dojo.js";
|
|
5
7
|
export { dojoGallery, dojoRoom, ROOM_HEIGHTS } from "./budo/room.js";
|
package/dist/canvas-entry.d.ts
CHANGED
package/dist/canvas-entry.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
// A drawing on a canvas context (a browser's, an OffscreenCanvas's or a Node canvas's), with no canvas library imported.
|
|
2
2
|
import "./full.js";
|
|
3
|
+
// The real venues of the NHL's arenas, as this entry has always had them (the lean district reads the ones it shows).
|
|
4
|
+
import "./venues.all.js";
|
|
3
5
|
export { drawToCanvas, withAlpha } from "./canvas.js";
|
package/dist/charts-entry.d.ts
CHANGED
package/dist/charts-entry.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
// The ready-made charts: shot charts, shot maps, spray charts and pass charts built on the data layers.
|
|
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 { nbaShotChart, nflPassChart, nhlShotMap } from "./charts.js";
|
|
4
6
|
export { mlbSprayChart } from "./charts.baseball.js";
|
|
5
7
|
export { soccerGoalMouth, soccerShotMap } from "./charts.soccer.js";
|
package/dist/charts.athletics.js
CHANGED
|
@@ -9,7 +9,7 @@ import { fieldEventName } from "./athletics/describe.js";
|
|
|
9
9
|
import { curveAcross } from "./athletics/races.js";
|
|
10
10
|
import { distanceOn, laneRadius, lap, pose } from "./athletics/track.js";
|
|
11
11
|
import { esc } from "./format.js";
|
|
12
|
-
import { fill } from "./strings.js";
|
|
12
|
+
import { fill } from "./strings.core.js";
|
|
13
13
|
const isNum = (v) => typeof v === "number" && Number.isFinite(v);
|
|
14
14
|
const K = 1 / 0.3048;
|
|
15
15
|
const WORDS = (language) => wordsOf(language).athletics;
|
package/dist/charts.baseball.js
CHANGED
|
@@ -7,7 +7,7 @@ import { zoneToPoint } from "./frames.providers.js";
|
|
|
7
7
|
import { outlineOf } from "./outline.js";
|
|
8
8
|
import { fenceFor, heldPark } from "./parks.core.js";
|
|
9
9
|
import { MLB } from "./geometry.js";
|
|
10
|
-
import { fill } from "./strings.js";
|
|
10
|
+
import { fill } from "./strings.core.js";
|
|
11
11
|
import { assemble, clean, countOutcomes, describeCounts, drawingOptions, frameOf, fromOf, hasPlace, keyItems, keyLayers, languageOf, placed, wordsOf, zoneTotals } from "./charts.js";
|
|
12
12
|
/** The look of each hit type: a shape and a size as well as a fill, so that a type is never told by colour alone. */
|
|
13
13
|
const LOOKS = {
|
|
@@ -11,7 +11,7 @@ import { shownIce, teesOf } from "./surfaces/curling.js";
|
|
|
11
11
|
import { foldCrop } from "./surfaces/curling.fold.js";
|
|
12
12
|
import { zoneCounts } from "./heat.js";
|
|
13
13
|
import { envFor } from "./layers.env.js";
|
|
14
|
-
import { fill } from "./strings.js";
|
|
14
|
+
import { fill } from "./strings.core.js";
|
|
15
15
|
import { convertLength, isUnit } from "./units.js";
|
|
16
16
|
const isNum = (value) => typeof value === "number" && Number.isFinite(value);
|
|
17
17
|
/**
|
package/dist/charts.curling.js
CHANGED
|
@@ -6,7 +6,7 @@ import { CURLING, STONE_DIAMETER } from "./geometry.js";
|
|
|
6
6
|
import { convertLength } from "./units.js";
|
|
7
7
|
import { sheetFor } from "./sheet.js";
|
|
8
8
|
import { assemble, clean, drawingOptions, keyItems, keyLayers, languageOf, round, wordsOf } from "./charts.js";
|
|
9
|
-
import { fill } from "./strings.js";
|
|
9
|
+
import { fill } from "./strings.core.js";
|
|
10
10
|
import { outlineOf } from "./outline.js";
|
|
11
11
|
import { isUnit } from "./units.js";
|
|
12
12
|
import { isPortrait } from "./common.js";
|
package/dist/charts.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Frame } from "./frames.ts";
|
|
2
2
|
import { isNum } from "./layers.env.ts";
|
|
3
3
|
import type { Layer, LayerBase, MarkDatum, OutcomeStyle } from "./layers.types.ts";
|
|
4
|
-
import { type KyogijoWords } from "./strings.ts";
|
|
4
|
+
import { type KyogijoWords } from "./strings.core.ts";
|
|
5
5
|
import type { Chart, ChartOptions, KeyItem, NbaShot, NbaShotOptions, NbaTotals, NflPass, NflPassOptions, NflTotals, NhlShot, NhlShotOptions, NhlTotals, ZoneTotal } from "./charts.types.ts";
|
|
6
6
|
import type { Language, Sport, SurfaceOptions } from "./types.ts";
|
|
7
7
|
import type { ZonesLayer } from "./heat.types.ts";
|
package/dist/charts.js
CHANGED
|
@@ -12,7 +12,7 @@ import { withFlags } from "./flags-source.js";
|
|
|
12
12
|
import { layerTable } from "./layers.js";
|
|
13
13
|
import { flagPicture } from "./logo.js";
|
|
14
14
|
import { outlineOf } from "./outline.js";
|
|
15
|
-
import { KYOGIJO_STRINGS, fill } from "./strings.js";
|
|
15
|
+
import { KYOGIJO_STRINGS, fill } from "./strings.core.js";
|
|
16
16
|
import { textWidth } from "./text.js";
|
|
17
17
|
// ----- what the charts share
|
|
18
18
|
/** The language of a chart's words. */
|
package/dist/charts.network.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// The pass network chart: who passed to whom on a pitch, each player a node at the average place of his passes, sized by touches, and each pair of players a link
|
|
2
2
|
// sized by their passes, with a key and a table. The idea is that of mplsoccer's pass-network example (MIT); no code of it, nor of sportypy or sportyR (GPL), is used.
|
|
3
3
|
import { envFor } from "./layers.env.js";
|
|
4
|
-
import { fill } from "./strings.js";
|
|
4
|
+
import { fill } from "./strings.core.js";
|
|
5
5
|
import { assemble, clean, drawingOptions, frameOf, fromOf, keyLayers, languageOf, wordsOf } from "./charts.js";
|
|
6
6
|
import { computeNetwork, nodeName } from "./team.network.js";
|
|
7
7
|
/**
|
package/dist/charts.pool.js
CHANGED
|
@@ -5,7 +5,7 @@ import { drawKyogijo } from "./draw.js";
|
|
|
5
5
|
import { esc } from "./format.js";
|
|
6
6
|
import { swimPlan } from "./pool.js";
|
|
7
7
|
import { formatTime, pacePer100, splitMetres } from "./pool.race.js";
|
|
8
|
-
import { KYOGIJO_STRINGS, fill } from "./strings.js";
|
|
8
|
+
import { KYOGIJO_STRINGS, fill } from "./strings.core.js";
|
|
9
9
|
/**
|
|
10
10
|
* The splits of a race as a chart: pace bars in the lanes of a pool (`pool.race.pace`), a title, a sentence that sums it up, the numbers (`totals`) and an HTML table of every split for a reader who cannot see the
|
|
11
11
|
* drawing. The splits are cumulative times, one every 50 m (every 25 m in a short course pool) unless the race says another distance.
|
package/dist/charts.skating.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
// is used. The flags are the caller's: an SVG document as text, or an address, as a team's logo is.
|
|
5
5
|
import { assemble, clean, drawingOptions, entryFlag, languageOf, round, wordsOf } from "./charts.js";
|
|
6
6
|
import { esc } from "./format.js";
|
|
7
|
-
import { fill } from "./strings.js";
|
|
7
|
+
import { fill } from "./strings.core.js";
|
|
8
8
|
import { ELEMENT_KINDS, ELEMENT_NAMES, raceById } from "./skating/events.js";
|
|
9
9
|
import { ISU_SHORT_TRACK } from "./leagues/skating.js";
|
|
10
10
|
import { disciplineOf, skatingPlan } from "./skating/plan.js";
|
package/dist/charts.soccer.js
CHANGED
|
@@ -6,7 +6,7 @@ import { esc, el, num } from "./format.js";
|
|
|
6
6
|
import { layerTable, renderLayers } from "./layers.js";
|
|
7
7
|
import { outlineOf } from "./outline.js";
|
|
8
8
|
import { KYOGIJO_BASE_STYLE } from "./style.js";
|
|
9
|
-
import { fill } from "./strings.js";
|
|
9
|
+
import { fill } from "./strings.core.js";
|
|
10
10
|
import { FEET_PER_METRE } from "./geometry.js";
|
|
11
11
|
import { SOCCER } from "./surfaces/soccer-spec.js";
|
|
12
12
|
import { VERSION } from "./version.js";
|
package/dist/cityctx-entry.d.ts
CHANGED
package/dist/cityctx-entry.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
// The surroundings of the venues of Vancouver and Seattle (streets, buildings, water, green, trees), as data a district takes in its `context` option, from OpenStreetMap (ODbL 1.0) and the Cities' open data, with their credits; `contextFor` says which go with some venues.
|
|
2
|
+
// The words in both languages, as this entry has always carried them (the lean district reads one language when it is asked to).
|
|
3
|
+
import "./strings.js";
|
|
2
4
|
export { CITYCTX_AREAS, SEATTLE_CENTER, SEATTLE_CITY, SEATTLE_SODO, VANCOUVER_NATURE } from "./cityctx.data.js";
|
|
3
5
|
export { CITYCTX_VENUES, contextFor } from "./cityctx.js";
|
package/dist/d3-entry.d.ts
CHANGED
package/dist/d3-entry.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
// A drawing on a d3 selection, in the caller's scales, with d3 not imported.
|
|
2
2
|
import "./full.js";
|
|
3
|
+
// The real venues of the NHL's arenas, as this entry has always had them (the lean district reads the ones it shows).
|
|
4
|
+
import "./venues.all.js";
|
|
3
5
|
export { appendSurface, surfaceDomain } from "./d3.js";
|
package/dist/district-entry.d.ts
CHANGED
package/dist/district-entry.js
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
// A district: several real venues of one city on one plan at their real relative positions and orientations (OpenStreetMap, ODbL 1.0), in 2D and in 3D, tight round neighbours or at the real distances of a city.
|
|
2
2
|
// This entry has every arena, park and ground, as it always had (the lean district, `district-lean`, has none until `loadVenueDataFor` has read the ones it shows).
|
|
3
3
|
import "./full.js";
|
|
4
|
+
// The real venues of the NHL's arenas, as this entry has always had them (the lean district reads the ones it shows).
|
|
5
|
+
import "./venues.all.js";
|
|
6
|
+
// The walkable ground of every district, for the crowd outside, as the district has always had it (the lean district reads one when `loadOutside` is asked to).
|
|
7
|
+
import "./walk.full.js";
|
|
4
8
|
export * from "./district.api.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// The lean district: everything the district entry has, for a page that wants to carry only the venues it shows. This entry holds no arena, park or ground until `loadVenueDataFor(venues)` has read the files of those it is about to draw
|
|
2
|
-
// (the same call and the same venues for `planDistrict`, `drawDistrict`, `mountDistrict` and `mountDistrictTurn`); with them read, what it draws is what the district entry draws, to the last character. The areas of context are read the same way
|
|
2
|
+
// (the same call and the same venues for `planDistrict`, `drawDistrict`, `mountDistrict` and `mountDistrictTurn`; `loadOutside(venues)` likewise for the walkable ground of the crowd outside, which only a district with a mask, Vancouver's, has); with them read, what it draws is what the district entry draws, to the last character. The areas of context are read the same way
|
|
3
3
|
// (`loadAreasFor`). `venueName` lists the venues by name without reading any. Nothing here changes the district entry, which has every venue's data as it always had.
|
|
4
4
|
export * from "./district.api.js";
|
|
5
5
|
export * from "./areas-entry.js";
|
package/dist/district.js
CHANGED
|
@@ -9,7 +9,7 @@ import { kodokanMember } from "./kodokan.js";
|
|
|
9
9
|
import { contextFloor, contextFrame, placeContext, toneOf } from "./context.js";
|
|
10
10
|
import { crowdStands, drawKyogijo } from "./draw.js";
|
|
11
11
|
import { FEET_PER_METRE } from "./geometry.js";
|
|
12
|
-
import { KYOGIJO_STRINGS } from "./strings.js";
|
|
12
|
+
import { KYOGIJO_STRINGS } from "./strings.core.js";
|
|
13
13
|
import { esc, hash } from "./format.js";
|
|
14
14
|
import { STADIUM_IDS, stadiumById, stadiumConfigs, stadiumFrameHeading, stadiumKind, stadiumNames, stadiumSeats } from "./stadiums.js";
|
|
15
15
|
import { VENUE_ATTRIBUTION, VENUE_IDS, venueById } from "./venues.js";
|
package/dist/draw.js
CHANGED
|
@@ -53,7 +53,7 @@ import { artistic } from "./surfaces/artistic.js";
|
|
|
53
53
|
import { cropToRange, describeRange, rangeLabel, shows } from "./ranges.js";
|
|
54
54
|
import { badgeMarkup, bannerMarkup, plateMarkup, stateOf } from "./score.js";
|
|
55
55
|
import { setsBoardMarkup } from "./sets.board.js";
|
|
56
|
-
import { KYOGIJO_STRINGS, fill } from "./strings.js";
|
|
56
|
+
import { KYOGIJO_STRINGS, fill } from "./strings.core.js";
|
|
57
57
|
import { courtStyle } from "./courts.style.js";
|
|
58
58
|
import { annotate, annotated, wideView } from "./annotate.js";
|
|
59
59
|
import { KYOGIJO_BACKGROUND_STYLE, laidOn } from "./background.js";
|
package/dist/element-entry.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import "./full.ts";
|
|
2
|
+
import "./venues.all.ts";
|
|
2
3
|
export { KYOGIJO_ATTRIBUTES, KYOGIJO_TAG, KyogijoField, defineKyogijoField, optionsFromAttributes, replaySettingsFromAttributes, turnSettingsFromAttributes, turnWanted } from "./element.ts";
|
|
3
4
|
export { useEmblems } from "./emblems-source.ts";
|
|
4
5
|
export type { EmblemRenderer } from "./emblems-source.ts";
|
package/dist/element-entry.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
// The custom element's class and its registration function; importing this entry registers nothing.
|
|
2
2
|
import "./full.js";
|
|
3
|
+
// The real venues of the NHL's arenas, as this entry has always had them (the lean district reads the ones it shows).
|
|
4
|
+
import "./venues.all.js";
|
|
3
5
|
export { KYOGIJO_ATTRIBUTES, KYOGIJO_TAG, KyogijoField, defineKyogijoField, optionsFromAttributes, replaySettingsFromAttributes, turnSettingsFromAttributes, turnWanted } from "./element.js";
|
|
4
6
|
export { useEmblems } from "./emblems-source.js";
|
|
5
7
|
export { useFlags } from "./flags-source.js";
|
package/dist/eras-entry.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
import "./strings.ts";
|
|
1
2
|
export { ERA_CURRENT, ERA_SOURCES, ERA_SPORTS, eraChanges, eraRange, eraStates, footballIn, rulesFor, seasonLabel } from "./eras.ts";
|
|
2
3
|
export type { EraChange, EraRules, EraRulesOf, EraSource, EraSpan, EraSport, FootballRules, MlbRules, NbaRules, NhlRules } from "./eras.ts";
|
package/dist/eras-entry.js
CHANGED
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
// Surfaces through the years: the markings the rules put on each surface in a season, with the sources that say so.
|
|
2
|
+
// The words in both languages, as this entry has always carried them (the lean district reads one language when it is asked to).
|
|
3
|
+
import "./strings.js";
|
|
2
4
|
export { ERA_CURRENT, ERA_SOURCES, ERA_SPORTS, eraChanges, eraRange, eraStates, footballIn, rulesFor, seasonLabel } from "./eras.js";
|
package/dist/events.js
CHANGED
|
@@ -2,7 +2,7 @@ import { EVENT_DATA, EVENT_SOURCES } from "./events.data.js";
|
|
|
2
2
|
import { heldGround, groundNameIn } from "./grounds.core.js";
|
|
3
3
|
import { heldPark, parkNameIn } from "./parks.core.js";
|
|
4
4
|
import { INFIELD_CENTRE, fitOf, hostOutline } from "./special.js";
|
|
5
|
-
import { KYOGIJO_STRINGS, fill } from "./strings.js";
|
|
5
|
+
import { KYOGIJO_STRINGS, fill } from "./strings.core.js";
|
|
6
6
|
export { EVENT_SOURCES } from "./events.data.js";
|
|
7
7
|
export { INFIELD_CENTRE, fitOf, guestToHost, hostOutline, placementOf } from "./special.js";
|
|
8
8
|
/**
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import "./full.ts";
|
|
2
|
+
import "./venues.all.ts";
|
|
2
3
|
export { mountFlythrough } from "./flythrough.dom.ts";
|
|
3
4
|
export type { Flythrough, FlythroughOptions, FlythroughSettings, FlythroughStart } from "./flythrough.dom.ts";
|
|
4
5
|
export { CHANNELS, PACE, RAMP, STAGE_IDS, cameraAt, flightPlan, foldTime, glide, glideSeconds, mainView, mapBox, mapFrame, monotoneSlopes, nextRate, stageAt, startOf, stagesOf } from "./flythrough.path.ts";
|
package/dist/flythrough-entry.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
// The fly-through: one smooth camera from a map to the real arena, over the map (chizu's, handed over), the building's site plan and the 3D arena.
|
|
2
2
|
import "./full.js";
|
|
3
|
+
// The real venues of the NHL's arenas, as this entry has always had them (the lean district reads the ones it shows).
|
|
4
|
+
import "./venues.all.js";
|
|
3
5
|
export { mountFlythrough } from "./flythrough.dom.js";
|
|
4
6
|
export { CHANNELS, PACE, RAMP, STAGE_IDS, cameraAt, flightPlan, foldTime, glide, glideSeconds, mainView, mapBox, mapFrame, monotoneSlopes, nextRate, stageAt, startOf, stagesOf } from "./flythrough.path.js";
|
|
5
7
|
export { flythroughMarkup, graticuleMarkup, mapMarkup } from "./flythrough.markup.js";
|
package/dist/frames-entry.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import "./strings.ts";
|
|
1
2
|
export { FRAMES, attackingIn, convert, convertPoints, flipEnds, frameByName, framesOf, fromSurface, piecewise, registerFrame, span, toSurface } from "./frames.ts";
|
|
2
3
|
export type { Attacking, ConvertOptions, Ends, Frame, FrameMap, FrameUnit, Landmark, Mapper, PlaceOptions, SurfaceSize } from "./frames.ts";
|
|
3
4
|
export { RETROSHEET_ZONES, zoneAt, zoneToPoint } from "./frames.providers.ts";
|
package/dist/frames-entry.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
// Coordinate frames: where a data provider puts a point on a surface, and the functions that move points between a provider's frame, the surface and another provider's frame.
|
|
2
|
+
// The words in both languages, as this entry has always carried them (the lean district reads one language when it is asked to).
|
|
3
|
+
import "./strings.js";
|
|
2
4
|
export { FRAMES, attackingIn, convert, convertPoints, flipEnds, frameByName, framesOf, fromSurface, piecewise, registerFrame, span, toSurface } from "./frames.js";
|
|
3
5
|
export { RETROSHEET_ZONES, zoneAt, zoneToPoint } from "./frames.providers.js";
|
|
4
6
|
export { convertLength, convertPoint } from "./units.js";
|
package/dist/full.d.ts
CHANGED
package/dist/full.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
// What every entry has but the lean district: every arena, park and ground there is data for, and every part of the drawing, held for the drawing. The drawing reads the venue it is asked for from a table that these three modules fill when they are imported (`heldArena`, `heldPark`, `heldGround`): an entry
|
|
1
|
+
// What every entry has but the lean district: every arena, park and ground there is data for, the words in both languages, and every part of the drawing, held for the drawing. The drawing reads the venue it is asked for from a table that these three modules fill when they are imported (`heldArena`, `heldPark`, `heldGround`): an entry
|
|
2
2
|
// that imports this file has them all, which is what every entry has always had. An entry that does not (the lean district, `district-lean`) holds only what `loadVenueDataFor` has read for the venues it shows. A bundler keeps this file
|
|
3
3
|
// for its effect: package.json lists it, and the three, in `sideEffects`.
|
|
4
4
|
import "./arenas.js";
|
|
5
5
|
import "./parks.js";
|
|
6
6
|
import "./grounds.js";
|
|
7
|
+
// The words in both languages (`strings.ts`): the lean district reads one language when it is asked to (`loadStrings`).
|
|
8
|
+
import "./strings.js";
|
|
7
9
|
// The parts of a drawing that only some drawings use (`draw.parts.ts`): the drawing reads them from a table, and this fills it.
|
|
8
10
|
import { providePart } from "./draw.parts.js";
|
|
9
11
|
import { renderLayers } from "./layers.js";
|
package/dist/geojson-entry.d.ts
CHANGED
package/dist/geojson-entry.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
// A drawing as GeoJSON, in the surface's own units or a provider's frame.
|
|
2
2
|
import "./full.js";
|
|
3
|
+
// The real venues of the NHL's arenas, as this entry has always had them (the lean district reads the ones it shows).
|
|
4
|
+
import "./venues.all.js";
|
|
3
5
|
export { sceneToGeoJSON } from "./geojson.js";
|
package/dist/geometry-entry.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import "./strings.ts";
|
|
1
2
|
export { ARTISTIC, DIVING, DIVING_LINES, SWIMMING, SWIMMING_WIDTHS, WATER_POLO } from "./pool.figures.ts";
|
|
2
3
|
export { BADMINTON, BEACH_VOLLEYBALL, CURLING, NETBALL, PADEL, PICKLEBALL, RACQUETBALL, ROUNDNET, SEPAK_TAKRAW, SITTING_VOLLEYBALL, SQUASH, STONE_DIAMETER, TABLE_TENNIS, TENNIS, TEQBALL, VOLLEYBALL, DEFAULT_FENCE, FEET_PER_METRE, FEET_PER_YARD, FENCE_ANGLES, FOOTBALL, GOALPOST_WIDTH, HASH_LENGTH, MLB, NBA, NHL, fenceAt, fencePoints, dimensionsOf, fenceIn, footballLength, inch, surfaceSize, secondBase, skinJoin, threePointJoin } from "./geometry.ts";
|
|
3
4
|
export type { FencePoint, FootballSpec, SizedSport } from "./geometry.ts";
|
package/dist/geometry-entry.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
// The dimensions of every surface, in feet, with the few functions that follow from them.
|
|
2
|
+
// The words in both languages, as this entry has always carried them (the lean district reads one language when it is asked to).
|
|
3
|
+
import "./strings.js";
|
|
2
4
|
export { ARTISTIC, DIVING, DIVING_LINES, SWIMMING, SWIMMING_WIDTHS, WATER_POLO } from "./pool.figures.js";
|
|
3
5
|
export { BADMINTON, BEACH_VOLLEYBALL, CURLING, NETBALL, PADEL, PICKLEBALL, RACQUETBALL, ROUNDNET, SEPAK_TAKRAW, SITTING_VOLLEYBALL, SQUASH, STONE_DIAMETER, TABLE_TENNIS, TENNIS, TEQBALL, VOLLEYBALL, DEFAULT_FENCE, FEET_PER_METRE, FEET_PER_YARD, FENCE_ANGLES, FOOTBALL, GOALPOST_WIDTH, HASH_LENGTH, MLB, NBA, NHL, fenceAt, fencePoints, dimensionsOf, fenceIn, footballLength, inch, surfaceSize, secondBase, skinJoin, threePointJoin } from "./geometry.js";
|
|
4
6
|
export { boardsY } from "./surfaces/hockey.js";
|
package/dist/grounds-entry.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import "./strings.ts";
|
|
1
2
|
export { GROUND_IDS, GROUNDS, groundById, groundByName, groundByWikidata, groundNameIn, groundOfficialName, groundSourceUrl, groundsByName, groundsHosting } from "./grounds.ts";
|
|
2
3
|
export { officialName, plainName } from "./names.ts";
|
|
3
4
|
export type { PlaceAlias, PlaceNameKind } from "./names.ts";
|
package/dist/grounds-entry.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
// The soccer grounds: their pitches at their own size, names, places and the World Cups they staged, with the article each was read from.
|
|
2
|
+
// The words in both languages, as this entry has always carried them (the lean district reads one language when it is asked to).
|
|
3
|
+
import "./strings.js";
|
|
2
4
|
export { GROUND_IDS, GROUNDS, groundById, groundByName, groundByWikidata, groundNameIn, groundOfficialName, groundSourceUrl, groundsByName, groundsHosting } from "./grounds.js";
|
|
3
5
|
export { officialName, plainName } from "./names.js";
|
package/dist/heat.js
CHANGED
|
@@ -9,7 +9,7 @@ import { binGrid, contourRings, densityAt, densityGrid, gridValues, hexBins, hex
|
|
|
9
9
|
import { buildZoneSet } from "./heat.zones.js";
|
|
10
10
|
import { clamp01, isNum, markAttrs, newMade, opacityOf, place, placeBack, toArray, unitOfLayer } from "./layers.env.js";
|
|
11
11
|
import { rampColour } from "./layers.marks.js";
|
|
12
|
-
import { fill } from "./strings.js";
|
|
12
|
+
import { fill } from "./strings.core.js";
|
|
13
13
|
import { textWidth } from "./text.js";
|
|
14
14
|
import { FEET_PER } from "./units.js";
|
|
15
15
|
/** Outcomes that count as a success for the `rate` statistic, unless the layer says. */
|
package/dist/heat.zones.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Outline } from "./outline.ts";
|
|
2
|
-
import type { KyogijoWords } from "./strings.ts";
|
|
2
|
+
import type { KyogijoWords } from "./strings.core.ts";
|
|
3
3
|
import type { Sport, SurfaceOptions } from "./types.ts";
|
|
4
4
|
/** The zone sets. */
|
|
5
5
|
export type ZoneSetId = "field-thirds" | "cricket-ground" | "soccer-positional" | "soccer-thirds" | "soccer-channels" | "soccer-18" | "nba-shot" | "nhl-slot" | "nhl-home-plate" | "baseball-spray" | "baseball-retrosheet" | "football-pass" | "athletics-track" | "skating-track" | "budo-areas" | "curling-house" | "net-court" | "wall-court" | "roundnet-rings" | "pool-lanes" | "water-polo-areas" | "pool-thirds";
|
package/dist/heat.zones.js
CHANGED
|
@@ -7,7 +7,7 @@ import { RETROSHEET_ZONES } from "./frames.providers.js";
|
|
|
7
7
|
import { num } from "./format.js";
|
|
8
8
|
import { FOOTBALL } from "./geometry.js";
|
|
9
9
|
import { soccerSpec } from "./surfaces/soccer-spec.js";
|
|
10
|
-
import { fill } from "./strings.js";
|
|
10
|
+
import { fill } from "./strings.core.js";
|
|
11
11
|
import { lengthUnit } from "./common.js";
|
|
12
12
|
import { courtFor, courtSize } from "./court.js";
|
|
13
13
|
import { fieldPlan } from "./fields.js";
|