@johnmorrisdotca/kyogijo-stadiums 0.15.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/dist/leagues/courts.d.ts +2 -1
- package/dist/leagues/courts.js +5 -3
- package/dist/leagues/sources.js +1 -0
- package/dist/multi.data.js +4 -11
- 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,16 @@ All notable changes to this project are written here. The format follows
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.16.0] - 2026-10-20
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **A badminton court has the space round it drawn.** The BWF's Specifications for International Standard Facilities (Statutes 5.3.4, 2.1.3 and 2.2.3) ask for at least 2 m clear behind the baselines and 1.5 m clear from the side lines, so the court's free zone is that (17.4 m by 9.1 m round the 13.4 m by 6.1 m court), where it was none: the Laws of Badminton give no figure, which is why none was drawn. It is one figure for every tournament, so `net.free: "official"` and `"least"` agree, and `"none"` draws the court alone, as before. The 4 m between courts the BWF recommends at Grade 1 and 2 is the layouts' (`badminton-1x4`); the 1.5 m least between courts is `badminton-1x4-min`. The layouts draw the court alone in their bays (`net: { free: "none" }`), as before, since the bays are that space.
|
|
15
|
+
|
|
16
|
+
### Checked
|
|
17
|
+
|
|
18
|
+
- **The run-off of the other net sports is what their rulebooks give, and the tournament layouts are built from it.** Tennis (ITF Appendix X: 21 ft behind the baselines and 12 ft beside the side lines, so two courts side by side are 2 x 12 ft = 7.32 m apart, as `tennis-1x3` has them), pickleball (USA Pickleball 3.A.3: a playing surface of 34 by 64 ft recommended, 30 by 60 ft at least, edge to edge) and volleyball (FIVB Rule 1.1: 3 m all round at least, 5 m beside the side lines and 6.5 m behind the end lines in the FIVB's competitions; beach 3 m and 5 m; World ParaVolley's sitting court 3 m, and 4 m and 6 m) were compared figure by figure with their free zones and the `tennis-1x3` and `pickleball-*` bays; nothing needed changing. Volleyball has no layout preset: no source gives an event's arrangement.
|
|
19
|
+
|
|
10
20
|
## [0.15.0] - 2026-10-20
|
|
11
21
|
|
|
12
22
|
### Added
|
package/dist/leagues/courts.d.ts
CHANGED
|
@@ -406,7 +406,8 @@ export declare const FIVB_BEACH: VolleyballFigures;
|
|
|
406
406
|
* The BWF's court, from Law 1 of the Laws of Badminton (as amended 26 April 2025) and its Diagram A, in metres: 13.40 by 6.10 m, lines 40 mm wide; the singles
|
|
407
407
|
* side lines 460 mm inside the doubles side lines (so 5.18 m apart, outside to outside); the short service lines 1.98 m from the net; the doubles long service
|
|
408
408
|
* lines 760 mm inside the back boundary lines; the net 1.524 m high at the centre and 1.55 m over the doubles side lines, 760 mm deep and at least 6.1 m
|
|
409
|
-
* wide; the posts 1.55 m high, on the doubles side lines.
|
|
409
|
+
* wide; the posts 1.55 m high, on the doubles side lines. The space round the court is from the BWF's Specifications for International Standard Facilities (5.3.4, 2.1.3 and 2.2.3 of the
|
|
410
|
+
* Statutes): at least 2 m clear behind the baselines and 1.5 m from the side lines.
|
|
410
411
|
*/
|
|
411
412
|
export declare const BWF_BADMINTON: BadmintonFigures;
|
|
412
413
|
/**
|
package/dist/leagues/courts.js
CHANGED
|
@@ -59,7 +59,8 @@ export const FIVB_BEACH = {
|
|
|
59
59
|
* The BWF's court, from Law 1 of the Laws of Badminton (as amended 26 April 2025) and its Diagram A, in metres: 13.40 by 6.10 m, lines 40 mm wide; the singles
|
|
60
60
|
* side lines 460 mm inside the doubles side lines (so 5.18 m apart, outside to outside); the short service lines 1.98 m from the net; the doubles long service
|
|
61
61
|
* lines 760 mm inside the back boundary lines; the net 1.524 m high at the centre and 1.55 m over the doubles side lines, 760 mm deep and at least 6.1 m
|
|
62
|
-
* wide; the posts 1.55 m high, on the doubles side lines.
|
|
62
|
+
* wide; the posts 1.55 m high, on the doubles side lines. The space round the court is from the BWF's Specifications for International Standard Facilities (5.3.4, 2.1.3 and 2.2.3 of the
|
|
63
|
+
* Statutes): at least 2 m clear behind the baselines and 1.5 m from the side lines.
|
|
63
64
|
*/
|
|
64
65
|
export const BWF_BADMINTON = {
|
|
65
66
|
length: 13.4,
|
|
@@ -69,7 +70,8 @@ export const BWF_BADMINTON = {
|
|
|
69
70
|
doublesLongServiceInset: 0.76,
|
|
70
71
|
shortServiceLine: 1.98,
|
|
71
72
|
net: { postHeight: 1.55, heightCentre: 1.524, heightSides: 1.55, depth: 0.76, widthMin: 6.1 },
|
|
72
|
-
|
|
73
|
+
// The BWF's Specifications for International Standard Facilities, 5.3.4, 2.1.3 and 2.2.3: "at least two-metres clear space behind the baselines and 1.5 metre clear space from the side-lines", the same for every sanctioned tournament (one figure, so `official` and `least` agree).
|
|
74
|
+
free: { official: { side: 1.5, end: 2 }, least: { side: 1.5, end: 2 } },
|
|
73
75
|
};
|
|
74
76
|
/**
|
|
75
77
|
* USA Pickleball's court, from Section 3 of the 2026 rulebook, in feet as it prints them: 20 by 44 feet to the outside edge of the lines (3.A.1, 3.A.2); the
|
|
@@ -248,7 +250,7 @@ export const VOLLEYBALL_LEAGUES = [
|
|
|
248
250
|
{ id: "wpv-sitting", family: "volleyball", name: { en: "World ParaVolley sitting volleyball court", ja: "ワールドパラバレーのシッティングバレーボールコート" }, unit: "m", dimensions: WPV_SITTING, sources: ["wpv-sitting"] },
|
|
249
251
|
];
|
|
250
252
|
/** The badminton leagues: the BWF's. */
|
|
251
|
-
export const BADMINTON_LEAGUES = [{ id: "bwf", family: "badminton", name: { en: "BWF badminton court", ja: "BWFのバドミントンコート" }, unit: "m", dimensions: BWF_BADMINTON, sources: ["bwf-laws"], builtIn: true }];
|
|
253
|
+
export const BADMINTON_LEAGUES = [{ id: "bwf", family: "badminton", name: { en: "BWF badminton court", ja: "BWFのバドミントンコート" }, unit: "m", dimensions: BWF_BADMINTON, sources: ["bwf-laws", "bwf-facilities"], builtIn: true }];
|
|
252
254
|
/** The pickleball leagues: USA Pickleball's. */
|
|
253
255
|
export const PICKLEBALL_LEAGUES = [{ id: "usap", family: "pickleball", name: { en: "USA Pickleball court", ja: "USA Pickleballのコート" }, unit: "ft", dimensions: USAP_PICKLEBALL, sources: ["usap-rulebook"], builtIn: true }];
|
|
254
256
|
/** The table tennis leagues: the ITTF's. */
|
package/dist/leagues/sources.js
CHANGED
|
@@ -57,6 +57,7 @@ export const LEAGUE_SOURCES = Object.freeze(Object.fromEntries([
|
|
|
57
57
|
source({ id: "fivb-volleyball", title: "Official Volleyball Rules 2025-2028, Rules 1 Playing Area and 2 Net and Posts, and Diagram 2", by: "FIVB", edition: "2025-2028 (approved by the 39th FIVB World Congress 2024, in force from 1 January 2025)", url: "https://www.fivb.com/wp-content/uploads/2025/01/FIVB-Volleyball_Rules2025_2028-EN-v05.pdf", read: READ, note: "18 by 9 m inside a free zone of at least 3 m (5 m beside the side lines and 6.5 m behind the end lines for FIVB competitions) (1.1), lines 5 cm wide drawn inside the dimensions (1.3.1, 1.3.2), the axis of the centre line (1.3.3), the attack line's rear edge 3 m from it and, for FIVB competitions, extended by five 15 cm lines 20 cm apart to 1.75 m (1.3.4), the service zone 9 m wide limited by two 15 cm lines 20 cm behind the end line (1.4.2), the net 1 m wide and 9.50 to 10 m long (2.2), 2.43 m (men) and 2.24 m (women) high (2.1.1), side bands over the side lines (2.3), antennae 1.80 m long and 10 mm across at the outer edge of the side bands (2.4), posts 0.50 to 1.00 m outside the side lines, 1 m for FIVB competitions (2.5.1); a set to 25 (6.2), the deciding fifth to 15 (6.3.2)" }),
|
|
58
58
|
source({ id: "fivb-beach", title: "Official Beach Volleyball Rules 2025-2028, Rules 1 Playing Area and 2 Net and Posts, and Diagram 2", by: "FIVB", edition: "2025-2028 (approved by the 39th FIVB World Congress 2024, in force from 1 January 2025)", url: "https://www.fivb.com/wp-content/uploads/2025/02/FIVB-BeachVolleyball_Rules2025_2028-EN-v01.pdf", read: READ, note: "16 by 8 m inside a free zone of at least 3 m, at least 5 m and at most 6 m for FIVB competitions (1.1.1, 1.1.2), lines 5 cm wide placed inside the dimensions, no centre line (1.3.1, 1.3.2), the service zone 8 m wide (1.4.1), the net 8.5 m long and 1 m wide (2.2), 2.43 m and 2.24 m high (2.1.1), side bands and antennae as indoors (2.3, 2.4), posts 0.70 to 1.00 m outside the side lines, 1 m for FIVB competitions (2.5.1); a set to 21 (6.2), the deciding third to 15 (6.3.2)" }),
|
|
59
59
|
source({ id: "bwf-laws", title: "Laws of Badminton, Law 1 Court and Court Equipment and Diagram A, Law 7 Scoring System", by: "Badminton World Federation", edition: "as amended and adopted by the BWF 26 April 2025 (the 2026 amendments take effect on 4 January 2027 and could not be read)", url: "https://worldbadminton.com/laws/rules_2025.htm", read: READ, note: "lines 40 mm wide (1.1), posts 1.55 m on the doubles side lines (1.4, 1.5), net 760 mm deep and at least 6.1 m wide (1.7), 1.524 m at the centre and 1.55 m over the side lines (1.10); Diagram A (https://worldbadminton.com/laws/images/courtDiagram.png): 13 400 by 6 100 mm overall, singles side lines 460 mm inside the doubles side lines (40 + 420), doubles long service lines 760 mm inside the back boundary lines (40 + 720), short service lines 1 980 mm from the net, centre lines from the short service lines to the back boundary lines; a game to 21, at 20-all a two-point lead, at 29-all the 30th point (7.2, 7.4, 7.5), best of three games (7.1)" }),
|
|
60
|
+
source({ id: "bwf-facilities", title: "BWF Statutes, Section 5.3.4 Specifications for International Standard Facilities, 2.1.3, 2.1.4 and 2.2.3 (the space round and between courts)", by: "Badminton World Federation", edition: "in force 14 October 2019, version 1.1", url: "https://www.badmintonpanam.org/wp-content/uploads/2023/01/3.3.4-Specs-for-Int_l-Standard-Facilities-14-October-2019-V1.1.pdf", read: "2026-10-19", note: "at least 2 m clear behind the baselines and 1.5 m from the side lines, and 1.5 m between any two courts marked out side by side; at Grade 1 and Grade 2 tournaments at least 4 m between courts is recommended, for A-boards and the officials' chairs; competition courts are always laid side by side. The copy read is Badminton Panam's, a continental confederation's; the BWF's own current text was not read." }),
|
|
60
61
|
source({ id: "usap-rulebook", title: "USA Pickleball Official Rulebook, Section 3 Court and Equipment (3.A and 3.B)", by: "USA Pickleball", edition: "2026", url: "https://pickleballcanada.org/wp-content/uploads/2026/03/2026-Official-Rulebook-EN.pdf", read: READ, note: "the 2026 rulebook as hosted by Pickleball Canada: 20 by 44 ft to the outside edge of the lines (3.A.1, 3.A.2), a playing surface of at least 30 by 60 ft and the recommended 34 by 64 ft for tournaments (3.A.3), the non-volley zone 7 ft from the net (3.A.4.c), the centerline (3.A.4.d), lines 2 in wide (3.A.4.e), posts 22 ft apart inside to inside and at most 3 in across (3.B.2), net at least 21 ft 9 in long (3.B.3), 36 in at the sidelines and 34 in at the center (3.B.6, 3.B.7); games to 11, 15 or 21 (15.C)" }),
|
|
61
62
|
source({ id: "ittf-laws", title: "Laws of Table Tennis, 2.1 The Table, 2.2 The Net Assembly, 2.11 A Game and 2.12 A Match", by: "International Table Tennis Federation", edition: "2026 statutes, as reproduced by Table Tennis England (issue 1, July 2026)", url: "https://www.tabletennisengland.co.uk/content/uploads/2026/07/Laws-of-Table-Tennis-2026-27.pdf", read: READ, note: "the ITTF Handbook itself was not read: the playing surface 2.74 by 1.525 m and 76 cm above the floor (2.1.1), a white side line and end line 2 cm wide (2.1.4), a white centre line 3 mm wide for doubles (2.1.6), the net 15.25 cm above the playing surface (2.2.3) on posts 15.25 cm high whose outside limits are 15.25 cm outside the side line (2.2.2); a game to 11 (2.11.1), a match the best of an odd number of games (2.12.1)" }),
|
|
62
63
|
// The racket, wall and net sports added after the first five.
|
package/dist/multi.data.js
CHANGED
|
@@ -24,15 +24,6 @@ export const MULTI_SOURCES = Object.freeze(Object.fromEntries([
|
|
|
24
24
|
read: READ,
|
|
25
25
|
note: "(superseded by the 2026 Statutes' chapter 3, which has no 1.5 m for the corners and 50 cm to 100 cm for the surrounds) the playing space at least 14 m by 7 m by 5 m, the four corners may be covered by surrounds of at most 1.5 m (3.2.3.1); each playing area enclosed by surrounds about 75 cm high, of one dark colour, separating it from its neighbours and from the spectators (3.2.3.3); the umpire's table and chair and the score indicators are part of the area (3.2.3.2); up to 6 advertisements on the floor of the area (3.2.5.5). A later edition (the 2024 Statutes) was seen only in a search summary, which says the space may be of any shape within a rectangle of the same size; the 2022 text is the one drawn.",
|
|
26
26
|
}),
|
|
27
|
-
source({
|
|
28
|
-
id: "bwf-facilities",
|
|
29
|
-
title: "BWF Statutes, Section 5.3.4 Specifications for International Standard Facilities, 2.1.3, 2.1.4 and 2.2.3 (the space round and between courts)",
|
|
30
|
-
by: "Badminton World Federation",
|
|
31
|
-
edition: "in force 14 October 2019, version 1.1",
|
|
32
|
-
url: "https://www.badmintonpanam.org/wp-content/uploads/2023/01/3.3.4-Specs-for-Int_l-Standard-Facilities-14-October-2019-V1.1.pdf",
|
|
33
|
-
read: READ,
|
|
34
|
-
note: "at least 2 m clear behind the baselines and 1.5 m from the side lines, and 1.5 m between any two courts marked out side by side; at Grade 1 and Grade 2 tournaments at least 4 m between courts is recommended, for A-boards and the officials' chairs; competition courts are always laid side by side. The copy read is Badminton Panam's, a continental confederation's; the BWF's own current text was not read.",
|
|
35
|
-
}),
|
|
36
27
|
source({
|
|
37
28
|
id: "ppa-host",
|
|
38
29
|
title: "Host a PPA Tour tournament: what the host provides (a minimum of 16 courts, a championship court that seats at least 250)",
|
|
@@ -445,7 +436,8 @@ export const MULTI_PRESETS = Object.freeze([
|
|
|
445
436
|
id: "badminton-1x4",
|
|
446
437
|
name: { en: "Badminton, four courts side by side (1 x 4), the spacing recommended for Grade 1 and 2", ja: "バドミントン 4面を横並び(1×4)、グレード1・2の推奨間隔" },
|
|
447
438
|
sport: "badminton",
|
|
448
|
-
|
|
439
|
+
// The space round a court is the BWF's (2 m behind the baselines, 1.5 m beside the side lines): the bays below are that space and the spacing between courts, so the layout draws the court alone.
|
|
440
|
+
surface: { sport: "badminton", net: { free: "none" } },
|
|
449
441
|
kind: "cells",
|
|
450
442
|
rows: 1,
|
|
451
443
|
columns: 4,
|
|
@@ -466,7 +458,8 @@ export const MULTI_PRESETS = Object.freeze([
|
|
|
466
458
|
id: "badminton-1x4-min",
|
|
467
459
|
name: { en: "Badminton, four courts side by side (1 x 4), the least spacing", ja: "バドミントン 4面を横並び(1×4)、最小の間隔" },
|
|
468
460
|
sport: "badminton",
|
|
469
|
-
|
|
461
|
+
// The space round a court is the BWF's (2 m behind the baselines, 1.5 m beside the side lines): the bays below are that space and the spacing between courts, so the layout draws the court alone.
|
|
462
|
+
surface: { sport: "badminton", net: { free: "none" } },
|
|
470
463
|
kind: "cells",
|
|
471
464
|
rows: 1,
|
|
472
465
|
columns: 4,
|
package/dist/types.d.ts
CHANGED
|
@@ -406,7 +406,7 @@ export interface NetStyle {
|
|
|
406
406
|
look?: string;
|
|
407
407
|
/**
|
|
408
408
|
* The free zone drawn round the court: `official` (the default: the figure a rulebook gives for its own competitions, where it gives one), `least` (the least it allows
|
|
409
|
-
* or recommends) or `none`. Tennis (Appendix X), volleyball, beach volleyball and sitting volleyball (Rule 1.1), pickleball (Rule 3.A.3), sepak takraw (Law 1.5), netball (Rule 1, item 8)
|
|
409
|
+
* or recommends) or `none`. Tennis (Appendix X), volleyball, beach volleyball and sitting volleyball (Rule 1.1), pickleball (Rule 3.A.3), sepak takraw (Law 1.5), netball (Rule 1, item 8) table tennis (the ITTF's 3.2.3.1, the playing space) and badminton (the BWF's facilities specification, 5.3.4: 2 m behind the baselines and 1.5 m beside the side lines) give figures; padel, squash, racquetball, teqball and roundnet do not.
|
|
410
410
|
*/
|
|
411
411
|
free?: "official" | "least" | "none";
|
|
412
412
|
/**
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/** The package's version: the same as package.json's, and a test holds them to each other. */
|
|
2
|
-
export declare const VERSION = "0.
|
|
2
|
+
export declare const VERSION = "0.16.0";
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/** The package's version: the same as package.json's, and a test holds them to each other. */
|
|
2
|
-
export const VERSION = "0.
|
|
2
|
+
export const VERSION = "0.16.0";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@johnmorrisdotca/kyogijo-stadiums",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.0",
|
|
4
4
|
"description": "Kyogijo Stadiums 競技場, 39 sports' surfaces as SVG, drawn to scale from the rulebooks: NFL, CFL and IFAF football fields, an NHL rink, an NBA court, MLB ballparks, soccer pitches, curling sheets, athletics stadiums, speed skating, short track and figure skating rinks, swimming pools, water polo fields, diving wells, artistic swimming areas, and the courts and fields of tennis, volleyball (indoor, beach and sitting), badminton, pickleball, table tennis, padel, squash, racquetball, sepak takraw, teqball, roundnet, netball, lacrosse, rugby, Australian football, Gaelic games, cricket, field hockey and handball, and the budo of judo, karate, kendo, sumo and kyudo with a dojo of tatami laid as real units, with each team's name and logo on its side and the score in the middle, stands and a crowd, a pageant of flags, and a 3D view. Light and dark, accessible, a compact badge for lists, a helper for React and a custom element. Zero dependencies.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"sports",
|