@johnmorrisdotca/kyogijo-stadiums 0.9.0 → 0.10.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 +24 -5
- package/NOTICE.md +340 -331
- package/README.md +21 -21
- package/dist/charts.curling.d.ts +1 -1
- package/dist/charts.curling.js +1 -1
- package/dist/draw.d.ts +3 -3
- package/dist/draw.js +3 -3
- package/dist/mount.d.ts +3 -3
- package/dist/mount.js +3 -3
- package/dist/react.d.ts +1 -1
- package/dist/react.js +1 -1
- package/dist/turn.dom.d.ts +1 -1
- package/dist/turn.dom.js +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,25 @@ All notable changes to this project are written here. The format follows
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.10.1] - 2026-10-14
|
|
11
|
+
|
|
12
|
+
The docs are one language to a page. No change to the package or its pictures.
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- **The docs are single-language.** `CONTRIBUTING.md` says so (one page per language, no mixed tables, the Japanese twin named `<name>.ja.md`), and a new test, `src/docs-language.test.js`, fails when an English page holds Japanese outside code or a Japanese page holds English prose. Four pages that mixed the two were split, and the build writes both: [docs/grounds.md](docs/grounds.md) and [docs/grounds.ja.md](docs/grounds.ja.md) (`pnpm grounds`), [docs/variants.md](docs/variants.md) and [docs/variants.ja.md](docs/variants.ja.md) (`pnpm docs:make`), the table of park names in [docs/ballparks.md](docs/ballparks.md) and its Japanese twin [docs/ballparks.ja.md](docs/ballparks.ja.md), and the Japanese Wikipedia articles of [NOTICE.md](NOTICE.md), now in [NOTICE.ja.md](NOTICE.ja.md). The Japanese rule-book words of the pools, the athletics stadium, the skating rinks and the budō are in a new page, [docs/terminology.md](docs/terminology.md), which, like `docs/strings-ja.md`, shows both languages side by side on purpose. Japanese glosses were taken out of the English prose of the other pages, and the README's list of the family and the titles of Japanese rule books cited in the sources are named in the test as exceptions, each with its reason. No change to the package or its pictures.
|
|
17
|
+
|
|
18
|
+
## [0.10.0] - 2026-10-14
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
|
|
22
|
+
- **The demo has an optional Background menu.** None by default, then the family's twenty-five backgrounds (`scripts/family-backgrounds.ts`, version 1.0.0, copied byte for byte from taisen-brackets and pinned by version and sha256), also by `?background=<name>`. It draws one behind the stage in the dark or the light variant of the page's look, takes the stage's text colour from the ink the background returns, and loads the module only when one is chosen. It is presentation only: the drawing's SVG is the same string with and without it, and an e2e test holds that. The package ships none of it and still has no dependency.
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
|
|
26
|
+
- **Every README picture stands on one of the family's backgrounds,** in a light and a dark twin (ice behind the rinks, floodlights behind the football field, a royal purple behind the ballpark, a glow or a spotlight behind the courts), and `pnpm screenshots:readme` remakes all twenty in one run.
|
|
27
|
+
- **The docs' and the README's samples use real countries,** Canada, the USA and Japan first, with their names and colours and no flag (a snippet cannot await Hata); where a sample shows marks it draws a maple leaf and a sun disc of its own. The gallery's teams and the pool races' swimmers' countries are real too.
|
|
28
|
+
|
|
10
29
|
## [0.9.0] - 2026-10-14
|
|
11
30
|
|
|
12
31
|
### Added
|
|
@@ -68,7 +87,7 @@ Six budō sports and a dojo builder (39 sports in all), the situation of a game,
|
|
|
68
87
|
### Changed
|
|
69
88
|
|
|
70
89
|
- **The pools follow the World Aquatics Competition Regulations in force from February 2026.** Every citation of a pool figure, a goal and a diving distance is to that edition's numbering (Part Two Article 15 for the swimming pool, Part Four Article 15 and Appendix 2 for diving, Part Six Articles 20 and 21 for water polo, Part Seven Article 12 for artistic swimming), with the June 2025 number beside it. Three figures changed with it: the water polo field is at least 2.00 m deep everywhere (`WATER_POLO.depth`, was 1.80 m, 2.00 m at the Olympic Games and the World Championships); the diving depth at the plummet, `DIVING.H`, has the minima 3.40 m (1 m springboard), 3.70 (3 m), 3.20 (1 m platform), 3.50 (3 m), 3.70 (5 m), 4.10 (7.5 m) and 4.50 m (10 m), and 5.00 m preferred as before (they were 3.50, 3.80, 3.30, 3.60, 3.80, 4.30 and 5.00 m); and a starting block is at least 0.5 by 0.5 m (`SWIMMING.block.length` 0.5, was 0.6, which shows in the 3D view). The drawings of the pools do not change. Not found in the February 2026 text, and marked unverified where they are cited: the false start rope, a pool shared with artistic swimming at 3 m, the 5 m under the boards at the Olympic Games and the World Championships, the lane rope float's 0.15 m. The water polo goal is Part Six Article 21.6 (the old "Appendix 4" is now the video referee protocol) and the field hockey goal is "Field and Equipment Specifications 1.5 (Goals)" of the FIH Rules of Hockey 2026.
|
|
71
|
-
- **The Japanese words of the pools** keep the federation's own article numbers (
|
|
90
|
+
- **The Japanese words of the pools** keep the federation's own article numbers (`水球競技ハンドブック` 18.3.2 for `審判台`; `アーティスティックスイミング競技規則` 27.2.8 and 27.2.7 for `ジャッジ台` and `スタート台`), read again in the books of 2023-04-01 and 2026-04-23; the number given for the 5 m mark was the definition of a goal, and is now 18.3.1.
|
|
72
91
|
|
|
73
92
|
### Added
|
|
74
93
|
|
|
@@ -119,7 +138,7 @@ Thirteen new sports (padel, squash, racquetball, sepak takraw, teqball, roundnet
|
|
|
119
138
|
### Added
|
|
120
139
|
|
|
121
140
|
- **Athletics and skating in the 3D view** ([docs/turn.md](./docs/turn.md#what-stands-on-each-surface)). An athletics stadium has the high jump's uprights 4.02 m apart with a bar, the pole vault's 5.20 m apart with a bar, the discus and hammer cage with its netting 4 m high and 6 m at the front of each side (Facilities Manual 2.4.1.3), the hurdles of the races a drawing marks at their heights (1.067, 0.838 and 0.914 m) in every lane, and the steeplechase's five barriers with the water jump's pit; a skating rink has the padding round a long or short track, 0.80 m high (ISU Rule 228.2), or a figure skating rink's boards, which are cut away on the eye's side like a hockey rink's. New upright kinds `hurdles`, `steeplechase`, `high-jump`, `pole-vault`, `cage`, `padding` and `rink-boards`, in English and Japanese. The javelin, the finish posts and the skating blocks have no height among the figures and are not drawn. Athletics gets a crowd profile (an oval bowl) and skating one (an arena's two tiers); both are in the e2e list.
|
|
122
|
-
- **The pools in the 3D view, at the heights of World Aquatics' rules** ([docs/turn.md](./docs/turn.md#what-stands-on-each-surface), [docs/sources.md](./docs/sources.md#heights-in-the-3d-view)). A swimming pool has a numbered starting block 0.7 m high in each lane at each end, a flagged rope 1.8 m above the water 5 m from each wall and the false start rope 1.2 m above it at 15 m; a diving well its springboards (1 m and 3 m) and platforms (5, 7.5 and 10 m, or the ones asked for) on stands and towers; a water polo field a floating goal on each goal line, 3 m wide with the bar's underside 0.9 m over the water; an artistic swimming area the judges' platform (0.6 m) and the starting platform (0.7 m). New upright kinds `starting-blocks`, `backstroke-flags`, `false-start-rope`, `springboards`, `platforms` and `judges-stand`, in English and Japanese (
|
|
141
|
+
- **The pools in the 3D view, at the heights of World Aquatics' rules** ([docs/turn.md](./docs/turn.md#what-stands-on-each-surface), [docs/sources.md](./docs/sources.md#heights-in-the-3d-view)). A swimming pool has a numbered starting block 0.7 m high in each lane at each end, a flagged rope 1.8 m above the water 5 m from each wall and the false start rope 1.2 m above it at 15 m; a diving well its springboards (1 m and 3 m) and platforms (5, 7.5 and 10 m, or the ones asked for) on stands and towers; a water polo field a floating goal on each goal line, 3 m wide with the bar's underside 0.9 m over the water; an artistic swimming area the judges' platform (0.6 m) and the starting platform (0.7 m). New upright kinds `starting-blocks`, `backstroke-flags`, `false-start-rope`, `springboards`, `platforms` and `judges-stand`, in English and Japanese (`スタート台`, `背泳ぎ用フラッグ`, `フォルススタートロープ`, `飛板`, `固定台`, `ジャッジ台`). The pools are in the e2e list of surfaces that stand up.
|
|
123
142
|
- **Walls give way to the eye in the 3D view.** The glass and walls of a padel court, the walls of squash and racquetball courts and the boards and glass of a rink are cut away on the side nearest the eye, more the lower the eye is, and are whole again from above or from the far side: `Plane.shy`, `fadeOf` and `Layout.fade` (`/turn`).
|
|
124
143
|
- **A folded curling sheet has no crowd.** Its enlarged houses cover where the stands would be, so `crowd` on a folded sheet draws nothing; the same sheet with a score shows the whole sheet and keeps its stands, with a pageant as well.
|
|
125
144
|
- **A folded curling sheet: `sheet.show: "folded"`** ([docs/curling.md](./docs/curling.md#the-top-end-the-bottom-end-or-both-folded)). The whole sheet as a strip, with its two houses enlarged beside it, so that a sheet 150 feet long and 15 wide fills a roughly square frame. A tall drawing has the top house on the left of the strip and the bottom house on the right; a wide one has the left house above and the right house below (the same drawing turned a quarter). The strip keeps its scale and its numbers, so a data layer lies on it as on a sheet drawn whole; each panel is the same sheet from the hog line to the back line (`sheet.panels: "half"`, the default) or just the house (`"house"`), enlarged until the whole has the shape `sheet.fit` asks (width over height, 0.5 to 2, a square by default; a panel is never longer than the strip), labelled ("Top house", "Bottom house", "Left house", "Right house"; in Japanese too) and joined to the part of the strip it enlarges by a faint fan and a frame. Stones, heat and every other layer are drawn in the strip and again in each panel, at the panel's scale, with the copies hidden from a screen reader and ids of their own. `range: "folded"` says the same (a new name in `RANGES.curling`), the description says what is enlarged and where, a score still shows the whole sheet, and the annotations (`landmarks`, `axes`, `direction`) are not drawn on it. The scene, the canvas, d3, Plot, GeoJSON and PNG read it like any drawing. New: `SheetShow` has `"folded"`, `SheetStyle.panels` and `SheetStyle.fit`, `RangeName` has `"folded"`, and `KYOGIJO_FOLD_STYLE` (written in only by a folded sheet; every other curling drawing is the same text as before).
|
|
@@ -182,7 +201,7 @@ Thirteen new sports (padel, squash, racquetball, sepak takraw, teqball, roundnet
|
|
|
182
201
|
|
|
183
202
|
- **A club's name in Japanese is the one Japanese media say.** Wikidata's label is a Japanese Wikipedia page title, and for 33 clubs it is a long transliteration of initials or of a formal name (`ブリティッシュ・コロンビア・ライオンズ`, now `BCライオンズ`; `インテルナツィオナーレ・ミラノ`, now `インテル・ミラノ`), a title with a disambiguator or "history of" (`ボルチモア・コルツの歴史`) or the club's name in another period (`OLレイン`). `scripts/tenants.names-ja.json` holds the everyday form of each, with its kind and a source note, and `Tenant.clubJa` is that form; Wikidata's label is kept in the new `Tenant.aliasesJa`, so a search by it still finds the club. `TENANT_JAPANESE_NAMES` and `nameJaOf` (`/atlas`) give the table and the note on a tenant's name.
|
|
184
203
|
- The named looks (`look: "night"` and the others) write one more selector for each sport of the court group into the drawing's style, so a drawing with a look has a longer style text than before; the drawing itself is unchanged.
|
|
185
|
-
- The name a reader sees is Kyogijo Stadiums (
|
|
204
|
+
- The name a reader sees is Kyogijo Stadiums (`競技場` in Japanese): the demo's title, the docs site, the API page, the README and the package description. Code names (`drawKyogijo`, `<kyogijo-field>`) are unchanged.
|
|
186
205
|
- The indoor volleyball court shows its centre line: it runs under the net (FIVB Rule 1.3.3) and the net was drawn over it, so only a dark bar showed. The line now shows between the net's edges. The court's other lines were already all there (the boundary, both attack lines, the attack lines' extensions and the service zone's marks in the full detail); the beach court has only its four boundary lines, as the beach rules say.
|
|
187
206
|
- The demo's year switch in the atlas is a finger wide before its words arrive, in WebKit too.
|
|
188
207
|
- The badminton court's labelled parts use the BWF's words: the line inside the back boundary is the "Doubles long service line" (it was "Long service line", which in singles is the back boundary line itself), and the back boundary line says it is the singles long service line (Diagram A). The short service line's label no longer runs into the net's. An audit of every net sport's figures against the current rulebooks (ITF 2026, FIVB 2025-2028, BWF as amended 26 April 2025, USA Pickleball 2026, ITTF 2026) found no figure to change.
|
|
@@ -204,7 +223,7 @@ Previously `@johnmorrisdotca/kyogijo`; renamed in 0.4.0 to `@johnmorrisdotca/kyo
|
|
|
204
223
|
|
|
205
224
|
### Changed
|
|
206
225
|
|
|
207
|
-
- **Breaking: the package is now `@johnmorrisdotca/kyogijo-stadiums`** (it was `@johnmorrisdotca/kyogijo`, whose last version is 0.3.0). The code is the same, and so are the names in it: `drawKyogijo`, `mountKyogijo`, `<kyogijo-field>` and the `kyogijo` class are unchanged, and the product is still Kyogijo (
|
|
226
|
+
- **Breaking: the package is now `@johnmorrisdotca/kyogijo-stadiums`** (it was `@johnmorrisdotca/kyogijo`, whose last version is 0.3.0). The code is the same, and so are the names in it: `drawKyogijo`, `mountKyogijo`, `<kyogijo-field>` and the `kyogijo` class are unchanged, and the product is still Kyogijo (`競技場`). What changes is where it is installed and imported from: `npm install @johnmorrisdotca/kyogijo-stadiums`, `import { drawKyogijo } from "@johnmorrisdotca/kyogijo-stadiums"`, and the same for every entry (`/charts`, `/replay`, `/layouts` and the rest) and for the CDNs (`https://cdn.jsdelivr.net/npm/@johnmorrisdotca/kyogijo-stadiums@0/+esm`). The repository is now `github.com/johnmorrisdotca/kyogijo-stadiums` and the demo `johnmorrisdotca.github.io/kyogijo-stadiums/` (the old repository address redirects; the old demo address does not). The demo keeps its choices of language and theme on the device under `kyogijo-stadiums.page.lang` and `kyogijo-stadiums.theme` (they were `kyogijo.`), so each visitor is asked once more. The family's template (`scripts/family-template.mjs`, version 2026-10-14) names the package `kyogijo-stadiums` in the footer and in every package's list of the family.
|
|
208
227
|
- **The demo's Ballparks section is short, with filters, and there is a Soccer grounds section like it.** All 94 park cards in one grid made a section 2,200 px tall on a desk and 6,000 px on a phone. It now opens on the MLB parks in use today (30), as two rows of eight on a desk and one row that scrolls sideways on a phone (a row keeps the section to one screen, and the next card shows at the edge to say it scrolls), with "Show all 30 parks" under them: 640 px on a desk and 580 px on a phone. Above the cards are the league (All, MLB, NPB), whether a park is in use (All, Today, Past), the era (a decade, for the past parks), a search that reads every name a park has had, in English and in Japanese (`placesBy`: `Camden Yards`, `甲子園`, `ヤンキースタジアム`; the filters are off while it is typed, so it reaches every park), a count line in a polite live region (`30 of 94 parks`) and a reset. The grounds have the same: the grounds of the World Cup finals open (28 of 64), with group (finals, 2026, clubs), country and search, and the section is no taller. The filters are in the address under their own names (`parkleague`, `parkstatus`, `parkera`, `parkq`, `parkall`; `groundgroup`, `groundcountry`, `groundq`, `groundall`), written only when they are not the default. The build draws the default view of both sections into the HTML, so they are whole with scripts off and move nothing when the script takes over; the e2e tests hold that (a layout shift of 0 with the sections in view) and cover the filters, both searches, show all, the address, the phone and the desk. The package is unchanged.
|
|
209
228
|
- **The demo's Every sport and The soccer pitch sections are short too, with chips.** The sport gallery was 4,451 px tall on a desk and 11,941 px on a phone, and the pitches section 3,236 px and 8,455 px, because every card drew tall. They now open on the first cards, wide, in boxes of one shape: two rows of three on a desk and one row that scrolls sideways on a phone with the next card peeking (738 and 458 px for the sports, 755 and 509 px for the pitches), with chips for the family of sport (Football codes, Hockey, Basketball, Baseball, Soccer, Curling, Net sports, Field sports) or the kind of pitch (Presets, Small-sided, Futsal, Famous grounds, Layouts, Mowing and goals; the mowing cards joined the pitches, with 5- and 9-a-side), a count that a screen reader hears, "Show all", and the chips in the address (`galleryfamily`, `galleryall`, `pitchesgroup`, `pitchesall`), English and Japanese. The first view is drawn into the page, and the cards a desk does not show first are boxes that the script draws when the grid comes near the screen, so the page does not carry a drawing of every card and nothing moves when one arrives (the same for the Ballparks and Soccer grounds).
|
|
210
229
|
- **Breaking: soccer, rugby (union and league), Australian football, Gaelic games, field hockey, handball and cricket now put the home team first (left) by default; pass `homeSide: "right"` for the old layout** ([docs/score.md](./docs/score.md#which-side-the-home-team-is-on)). The default was the North American "away at home" for every sport, which reversed a soccer score against "Home 2-1 Away". NFL, CFL, IFAF, NHL, NBA, MLB, curling, the net sports and lacrosse (except the `world-men`, `world-women` and `world-box` leagues, which are home first) keep the home team on the right. An explicit `homeSide` always wins. The badge, the compact strip, the order of the teams in the title and the description (`Calvara 1, Aurelia 2`, in Japanese too) and of a shoot-out in the status (`Final · 2-4 pens`) follow the side. New: `homeSideFor(sport, league?)`, and the `HOME_FIRST` and `HOME_FIRST_LEAGUES` tables behind it. `abbreviate()` now says that its guess is not a country code (Spain gives `SPA`, FIFA's is `ESP`): pass each national team's `abbr`.
|
|
@@ -218,7 +237,7 @@ Previously `@johnmorrisdotca/kyogijo`; renamed in 0.4.0 to `@johnmorrisdotca/kyo
|
|
|
218
237
|
### Added
|
|
219
238
|
|
|
220
239
|
- **Names for every park and ground** ([docs/ballparks.md](./docs/ballparks.md#names), [docs/grounds.md](./docs/grounds.md#names), [docs/references.md](./docs/references.md#names)). Each of the 94 ballparks and 64 grounds has `name`, the everyday name in English (the one English sports media use, with the current sponsor's where that is what people say); `nameJa`, the everyday name in Japanese (every place has one: the 74 ballparks of the United States and Canada, which a Japanese drawing used to name in English, now have the title of their Japanese article); `readingJa`, its reading in kana wherever it has kanji; `localName` and `localLanguage`, the everyday name in the language of the place; and `aliases`, `{ name, lang, kind, from?, to?, source?, revision?, reading? }`: 720 names, each with where it was read, of the kinds `wikipedia` (every article that was cited, English and Japanese, with its revision, so that no citation is lost), `official`, `sponsor`, `former` (with the years a source gives) and `nickname`. The evidence is Wikidata's labels, aliases and properties official name, nickname and name (CC0), read politely by `pnpm names:fetch` into `scripts/names.wikidata.json`, and the infobox and first paragraph of the articles each place cites; a name with no source stops the build. A ground's `names` (the names it had in some years) are as before.
|
|
221
|
-
- **Lookups by name**: `parkByName` and `parksByName` (`/parks`), `groundByName` and `groundsByName` (`/grounds`), and `placeByName` and `placesByName` (`/atlas`) find a place by any of its names, in English, in Japanese or in the language of the place, best match first (the everyday names, then the official, cited and sponsors' names, then the former names and the nicknames). The comparison, `plainName`, ignores case, accents, spaces and punctuation, full-width and half-width, hiragana and katakana, the long vowel mark (`ヤンキー・スタジアム` is `ヤンキースタジアム`), the old and new forms of
|
|
240
|
+
- **Lookups by name**: `parkByName` and `parksByName` (`/parks`), `groundByName` and `groundsByName` (`/grounds`), and `placeByName` and `placesByName` (`/atlas`) find a place by any of its names, in English, in Japanese or in the language of the place, best match first (the everyday names, then the official, cited and sponsors' names, then the former names and the nicknames). The comparison, `plainName`, ignores case, accents, spaces and punctuation, full-width and half-width, hiragana and katakana, the long vowel mark (`ヤンキー・スタジアム` is `ヤンキースタジアム`), the old and new forms of `ヂ`, `ヅ` and `ヴ`, and a leading `The`. The atlas search (`placesBy({ text })`) reads the aliases and the readings too. `officialName`, `parkOfficialName` and `groundOfficialName` give the name a place officially has when it is not the everyday one.
|
|
222
241
|
- A drawing says the official name in its description when it is not the name it uses: `Its official name is Hanshin Koshien Stadium.`, `正式名称は阪神甲子園球場です。` (`said.officially` in `KYOGIJO_STRINGS`), in the year of the drawing where the official name is dated.
|
|
223
242
|
- The demo's Atlas detail panel lists the official name and the other names (`atlasOfficial`, `atlasAlso`), and its search finds them.
|
|
224
243
|
|