@johnmorrisdotca/kyogijo-stadiums 0.22.0 → 0.24.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/dist/strings.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /** The words of the package, by language. */
2
2
  export const KYOGIJO_STRINGS = {
3
3
  en: {
4
- surface: { skating: "Skating rink", nfl: "NFL football field", cfl: "CFL football field", ifaf: "IFAF football field", nhl: "NHL hockey rink", nba: "NBA basketball court", mlb: "Baseball field", soccer: "Soccer pitch", curling: "Curling sheet", tennis: "Tennis court", volleyball: "Volleyball court", badminton: "Badminton court", pickleball: "Pickleball court", tabletennis: "Table tennis table", padel: "Padel court", squash: "Squash court", racquetball: "Racquetball court", sepaktakraw: "Sepak takraw court", teqball: "Teqball court", roundnet: "Roundnet court", netball: "Netball court", lacrosse: "Lacrosse field", rugby: "Rugby union field", afl: "Australian football ground", gaelic: "Gaelic football field", cricket: "Cricket ground", fieldhockey: "Field hockey pitch", handball: "Handball court", swimming: "Swimming pool", waterpolo: "Water polo field", diving: "Diving well", artisticswimming: "Artistic swimming pool", athletics: "Athletics track", judo: "Judo contest area", karate: "Karate competition area", kendo: "Kendo shiai-jo", sumo: "Sumo dohyō", kyudo: "Kyūdō range", dojo: "Dojo", mma: "MMA cage", boxing: "Boxing ring", wrestling: "Wrestling mat" },
4
+ surface: { skating: "Skating rink", nfl: "NFL football field", cfl: "CFL football field", ifaf: "IFAF football field", nhl: "NHL hockey rink", nba: "NBA basketball court", mlb: "Baseball field", soccer: "Soccer pitch", curling: "Curling sheet", tennis: "Tennis court", volleyball: "Volleyball court", badminton: "Badminton court", pickleball: "Pickleball court", tabletennis: "Table tennis table", padel: "Padel court", squash: "Squash court", racquetball: "Racquetball court", sepaktakraw: "Sepak takraw court", teqball: "Teqball court", roundnet: "Roundnet court", netball: "Netball court", lacrosse: "Lacrosse field", rugby: "Rugby union field", afl: "Australian football ground", gaelic: "Gaelic football field", cricket: "Cricket ground", fieldhockey: "Field hockey pitch", handball: "Handball court", swimming: "Swimming pool", waterpolo: "Water polo field", diving: "Diving well", artisticswimming: "Artistic swimming pool", athletics: "Athletics track", judo: "Judo contest area", karate: "Karate competition area", kendo: "Kendo shiai-jo", sumo: "Sumo dohyō", kyudo: "Kyūdō range", dojo: "Dojo", mma: "MMA cage", boxing: "Boxing ring", wrestling: "Wrestling mat", prowrestling: "Professional wrestling ring" },
5
5
  about: {
6
6
  nfl: "an American football field, 120 by 53 and a third yards with its end zones, with a yard line every 5 yards, hash marks, numbers and goal posts",
7
7
  cfl: "a Canadian football field, 150 by 65 yards with its 20-yard end zones, with a yard line every 5 yards, hash marks, numbers and goal posts on the goal lines",
@@ -45,6 +45,7 @@ export const KYOGIJO_STRINGS = {
45
45
  mma: "an MMA cage: an eight-sided fenced area 9.14 metres (30 feet) across, on a platform 122 centimetres high",
46
46
  boxing: "a boxing ring: a square of 6.1 metres (20 feet) inside the ropes, on a platform 122 centimetres high",
47
47
  wrestling: "a wrestling mat of the UWW: a circle 9 metres across in a protection area 1.5 metres wide, with an orange passivity band inside the circle, on a platform 1 metre high",
48
+ prowrestling: "a professional wrestling ring: a square of 6.1 metres (20 feet) inside three ropes, on a platform 102 centimetres high",
48
49
  },
49
50
  status: { final: "Final", "final-ot": "Final/OT", "final-so": "Final/SO", "final-aet": "Final/AET", "final-pens": "Final/Pens", live: "Live", half: "Halftime", "extra-time": "Extra time", "extra-end": "Extra end", penalties: "Penalties", postponed: "Postponed", tiebreak: "Tiebreak", "match-tiebreak": "Match tiebreak", retired: "Retired", walkover: "Walkover" },
50
51
  endStatus: "End {n}",
@@ -245,6 +246,9 @@ export const KYOGIJO_STRINGS = {
245
246
  wrestlingFloor: "on the floor of the hall",
246
247
  wrestlingCentre: "A circle {d} metres across marks the middle.",
247
248
  wrestlingLines: "Two parallel starting lines at the middle are closed at their ends by a green line and a red line.",
249
+ prowrestling: "a professional wrestling ring: a square of {size} metres ({feet} feet) inside three ropes, on a canvas with an apron {apron} centimetres wide beyond them and a padded post in each corner, {platform}",
250
+ prowrestlingRopes: "The three ropes are not tied together.",
251
+ prowrestlingSteps: "Steel steps stand beside the platform at two corners.",
248
252
  board: {
249
253
  ippon: "Ippon", wazaari: "Waza-ari", yuko: "Yuko", shido: "Shido", senshu: "Senshu", chui: "Chui", points: "Points", kimarite: "Kimarite",
250
254
  techniques: { men: "Men", kote: "Kote", do: "Dō", tsuki: "Tsuki", hansoku: "Hansoku" },
@@ -306,7 +310,7 @@ export const KYOGIJO_STRINGS = {
306
310
  results: { touchdown: "touchdown", "field-goal": "field goal", "missed-field-goal": "missed field goal", punt: "punt", turnover: "turnover", interception: "interception", fumble: "fumble", downs: "turnover on downs", safety: "safety", "end-of-half": "end of the half" },
307
311
  },
308
312
  special: {
309
- guest: { skating: "rink", nfl: "football field", cfl: "football field", ifaf: "football field", nhl: "rink", nba: "court", mlb: "baseball field", soccer: "pitch", curling: "sheet", tennis: "court", volleyball: "court", badminton: "court", pickleball: "court", tabletennis: "table", padel: "court", squash: "court", racquetball: "court", sepaktakraw: "court", teqball: "court", roundnet: "court", netball: "court", lacrosse: "field", rugby: "field", afl: "ground", gaelic: "field", cricket: "ground", fieldhockey: "pitch", handball: "court", swimming: "pool", waterpolo: "pool", diving: "well", artisticswimming: "pool", athletics: "track", judo: "contest area", karate: "competition area", kendo: "shiai-jo", sumo: "dohyō", kyudo: "range", dojo: "dojo", mma: "cage", boxing: "ring", wrestling: "mat" },
313
+ guest: { skating: "rink", nfl: "football field", cfl: "football field", ifaf: "football field", nhl: "rink", nba: "court", mlb: "baseball field", soccer: "pitch", curling: "sheet", tennis: "court", volleyball: "court", badminton: "court", pickleball: "court", tabletennis: "table", padel: "court", squash: "court", racquetball: "court", sepaktakraw: "court", teqball: "court", roundnet: "court", netball: "court", lacrosse: "field", rugby: "field", afl: "ground", gaelic: "field", cricket: "ground", fieldhockey: "pitch", handball: "court", swimming: "pool", waterpolo: "pool", diving: "well", artisticswimming: "pool", athletics: "track", judo: "contest area", karate: "competition area", kendo: "shiai-jo", sumo: "dohyō", kyudo: "range", dojo: "dojo", mma: "cage", boxing: "ring", wrestling: "mat", prowrestling: "ring" },
310
314
  title: "{guest} in {host}",
311
315
  game: "{event}, {date}.",
312
316
  inside: "The {guest} lies wholly inside the outline of {host}.",
@@ -401,7 +405,7 @@ export const KYOGIJO_STRINGS = {
401
405
  boundary: "Boundary", pitch: "Pitch", "bowling-crease": "Bowling crease", "popping-crease": "Popping crease", "return-crease": "Return crease", wicket: "Wicket", "thirty-yard-circle": "30-yard circle",
402
406
  "twenty-three-line": "23-metre line", "shooting-circle": "Shooting circle", "penalty-spot": "Penalty spot", "broken-circle-line": "Broken line round the circle", "goal-area-line": "Goal-area line",
403
407
  "finish-line": "Finish line", kerb: "Kerb", "lane-lines": "Lane lines", bend: "Bend", straight: "Straight", "infield-pitch": "Soccer pitch", "start-line": "Start line", breakline: "Breakline", "water-jump": "Water jump", "exchange-zone": "Takeover zone",
404
- "referee-position": "Referee's place", "shiai-jo": "Shiai-jo", floorboard: "Floorboard", heri: "Heri, the mat's edge", "contest-area": "Contest area", "safety-area": "Safety area", "danger-zone": "Danger zone", "start-mark": "Start mark", "common-safe-zone": "Common safe zone", "free-zone": "Free zone", platform: "Platform", "technical-table": "Technical table", "centre-tape": "Centre tape", "kata-judges": "Judges, shomen side", "coach-chair": "Coach's chair", "kata-entry": "Entry and exit, opposite shomen", arena: "Arena floor", "competition-area": "Competition area", "boundary-band": "Boundary band", "start-mat": "Start mat", judge: "Judge", "between-areas": "Between the areas", "centre-cross": "Centre cross", "kaishi-sen": "Kaishi-sen", "outer-boundary": "Outer boundary", dohyo: "Dohyō", ring: "Ring", tawara: "Tawara", tokudawara: "Tokudawara", "shikiri-sen": "Shikiri-sen", "jano-me": "Jano-me", shajo: "Shajō", "shooting-position": "Shooting position", honza: "Honza", yamichi: "Yamichi", "yatori-michi": "Path for the arrows", azuchi: "Azuchi", mato: "Target", kamiza: "Kamiza", "cage-canvas": "Canvas", "cage-fence": "Fence", "cage-post": "Padded post", "cage-gate": "Gate", "cage-steps": "Steps", "cage-platform": "Platform", "ring-canvas": "Canvas", "ring-ropes": "Ropes", "ring-post": "Corner post", "ring-red-corner": "Red corner", "ring-blue-corner": "Blue corner", "ring-apron": "Apron", "ring-steps": "Steps", "mat-circle": "Wrestling area", "mat-central": "Central surface", "mat-border": "Border of the mat", "mat-passivity": "Passivity zone", "mat-centre-circle": "Centre circle", "mat-starting-lines": "Starting lines", "mat-platform": "Platform", shimoza: "Shimoza", shinzen: "Shinzen", dais: "Dais, the seat of honour", banner: "Banner", entrance: "Entrance", window: "Window", tatami: "Tatami", wall: "Wall", "inner-lane": "Inner lane", "outer-lane": "Outer lane", "crossing-straight": "Crossing straight", "warm-up-lane": "Warm-up lane", padding: "Padding", infield: "Infield", "coaches-area": "Coaches' area", blocks: "Blocks", "track-line": "Line of the track", "start-lines": "Starting lines", ice: "Ice", "technical-panel": "Technical panel", referee: "Referee", "kiss-and-cry": "Kiss and cry", judges: "Judges", runway: "Runway", "take-off-board": "Take-off board", "landing-area": "Landing area", "throwing-circle": "Throwing circle", sector: "Landing sector", "stop-board": "Stop board", cage: "Cage", "throwing-arc": "Throwing arc", crossbar: "Crossbar", "landing-mat": "Landing mat", "run-up": "Run-up", "zero-line": "Zero line", box: "Box",
408
+ "referee-position": "Referee's place", "shiai-jo": "Shiai-jo", floorboard: "Floorboard", heri: "Heri, the mat's edge", "contest-area": "Contest area", "safety-area": "Safety area", "danger-zone": "Danger zone", "start-mark": "Start mark", "common-safe-zone": "Common safe zone", "free-zone": "Free zone", platform: "Platform", "technical-table": "Technical table", "centre-tape": "Centre tape", "kata-judges": "Judges, shomen side", "coach-chair": "Coach's chair", "kata-entry": "Entry and exit, opposite shomen", arena: "Arena floor", "competition-area": "Competition area", "boundary-band": "Boundary band", "start-mat": "Start mat", judge: "Judge", "between-areas": "Between the areas", "centre-cross": "Centre cross", "kaishi-sen": "Kaishi-sen", "outer-boundary": "Outer boundary", dohyo: "Dohyō", ring: "Ring", tawara: "Tawara", tokudawara: "Tokudawara", "shikiri-sen": "Shikiri-sen", "jano-me": "Jano-me", shajo: "Shajō", "shooting-position": "Shooting position", honza: "Honza", yamichi: "Yamichi", "yatori-michi": "Path for the arrows", azuchi: "Azuchi", mato: "Target", kamiza: "Kamiza", "cage-canvas": "Canvas", "cage-fence": "Fence", "cage-post": "Padded post", "cage-gate": "Gate", "cage-steps": "Steps", "cage-platform": "Platform", "ring-canvas": "Canvas", "ring-ropes": "Ropes", "ring-post": "Corner post", "ring-red-corner": "Red corner", "ring-blue-corner": "Blue corner", "ring-apron": "Apron", "ring-steps": "Steps", "ring-platform": "Platform", "mat-circle": "Wrestling area", "mat-central": "Central surface", "mat-border": "Border of the mat", "mat-passivity": "Passivity zone", "mat-centre-circle": "Centre circle", "mat-starting-lines": "Starting lines", "mat-platform": "Platform", shimoza: "Shimoza", shinzen: "Shinzen", dais: "Dais, the seat of honour", banner: "Banner", entrance: "Entrance", window: "Window", tatami: "Tatami", wall: "Wall", "inner-lane": "Inner lane", "outer-lane": "Outer lane", "crossing-straight": "Crossing straight", "warm-up-lane": "Warm-up lane", padding: "Padding", infield: "Infield", "coaches-area": "Coaches' area", blocks: "Blocks", "track-line": "Line of the track", "start-lines": "Starting lines", ice: "Ice", "technical-panel": "Technical panel", referee: "Referee", "kiss-and-cry": "Kiss and cry", judges: "Judges", runway: "Runway", "take-off-board": "Take-off board", "landing-area": "Landing area", "throwing-circle": "Throwing circle", sector: "Landing sector", "stop-board": "Stop board", cage: "Cage", "throwing-arc": "Throwing arc", crossbar: "Crossbar", "landing-mat": "Landing mat", "run-up": "Run-up", "zero-line": "Zero line", box: "Box",
405
409
  "seven-metre-line": "7-metre line", "four-metre-line": "4-metre line", "throw-off-area": "Throw-off area", "restraining-line": "Restraining line", "wing-line": "Wing line", "marking-area": "Marking area", "two-point-arc": "Two-point arc",
406
410
  "lane-rope": "Lane rope", "lane-line": "Lane marking on the floor", "lane-end-cross": "Cross line at the end of the lane marking", "fifteen-metre-mark": "15 m mark", "touch-pad": "Touch panel", "starting-block": "Starting block", "backstroke-flags": "Backstroke flags", "false-start-rope": "False start rope", gutter: "Gutter",
407
411
  "two-metre-line": "2 m line", "five-metre-mark": "5 m mark", "six-metre-line": "6 m line", "half-distance-line": "Half distance line", "re-entry-area": "Re-entry area", "referee-platform": "Referee platform", "official-table": "Official table", "substitution-area": "Substitution area",
@@ -546,7 +550,7 @@ export const KYOGIJO_STRINGS = {
546
550
  // (ISU Rule 281.1a; the JOC's usage). Television's インコース, アウトコース, バックストレート and ホームストレート are aliases in docs/skating.md. No rule book words were found for the figure skating
547
551
  // furniture (ジャッジ席, テクニカルパネル, レフェリー, キス・アンド・クライ): they are the usual words.
548
552
  ja: {
549
- surface: { skating: "スケートリンク", nfl: "NFLのフィールド", cfl: "CFLのフィールド", ifaf: "IFAFのフィールド", nhl: "NHLのアイスホッケーリンク", nba: "NBAのバスケットボールコート", mlb: "野球場", soccer: "サッカーのピッチ", curling: "カーリングのシート", tennis: "テニスコート", volleyball: "バレーボールコート", badminton: "バドミントンコート", pickleball: "ピックルボールコート", tabletennis: "卓球台", padel: "パデルコート", squash: "スカッシュコート", racquetball: "ラケットボールコート", sepaktakraw: "セパタクローコート", teqball: "テックボールコート", roundnet: "ラウンドネットコート", netball: "ネットボールコート", lacrosse: "ラクロスのフィールド", rugby: "ラグビーユニオンのグラウンド", afl: "オーストラリアンフットボールのグラウンド", gaelic: "ゲーリック・フットボールのフィールド", cricket: "クリケットのグラウンド", fieldhockey: "フィールドホッケーのピッチ", handball: "ハンドボールのコート", swimming: "競泳プール", waterpolo: "水球のフィールド", diving: "飛込プール", artisticswimming: "アーティスティックスイミングのプール", athletics: "陸上競技のトラック", judo: "柔道の試合場", karate: "空手道の試合場", kendo: "剣道の試合場", sumo: "相撲の土俵", kyudo: "弓道場", dojo: "道場", mma: "総合格闘技のケージ", boxing: "ボクシングのリング", wrestling: "レスリングのマット" },
553
+ surface: { skating: "スケートリンク", nfl: "NFLのフィールド", cfl: "CFLのフィールド", ifaf: "IFAFのフィールド", nhl: "NHLのアイスホッケーリンク", nba: "NBAのバスケットボールコート", mlb: "野球場", soccer: "サッカーのピッチ", curling: "カーリングのシート", tennis: "テニスコート", volleyball: "バレーボールコート", badminton: "バドミントンコート", pickleball: "ピックルボールコート", tabletennis: "卓球台", padel: "パデルコート", squash: "スカッシュコート", racquetball: "ラケットボールコート", sepaktakraw: "セパタクローコート", teqball: "テックボールコート", roundnet: "ラウンドネットコート", netball: "ネットボールコート", lacrosse: "ラクロスのフィールド", rugby: "ラグビーユニオンのグラウンド", afl: "オーストラリアンフットボールのグラウンド", gaelic: "ゲーリック・フットボールのフィールド", cricket: "クリケットのグラウンド", fieldhockey: "フィールドホッケーのピッチ", handball: "ハンドボールのコート", swimming: "競泳プール", waterpolo: "水球のフィールド", diving: "飛込プール", artisticswimming: "アーティスティックスイミングのプール", athletics: "陸上競技のトラック", judo: "柔道の試合場", karate: "空手道の試合場", kendo: "剣道の試合場", sumo: "相撲の土俵", kyudo: "弓道場", dojo: "道場", mma: "総合格闘技のケージ", boxing: "ボクシングのリング", wrestling: "レスリングのマット", prowrestling: "プロレスのリング" },
550
554
  about: {
551
555
  nfl: "アメリカンフットボールのフィールド。エンドゾーンを含めて120×53⅓ヤードで、5ヤードごとのヤードライン、ハッシュマーク、ヤードナンバー、ゴールポストがあります",
552
556
  cfl: "カナディアンフットボールのフィールド。20ヤードのエンドゾーンを含めて150×65ヤードで、5ヤードごとのヤードライン、ハッシュマーク、ヤードナンバー、ゴールライン上のゴールポストがあります",
@@ -590,6 +594,7 @@ export const KYOGIJO_STRINGS = {
590
594
  mma: "総合格闘技のケージ。金網で囲まれた、対辺間の距離が30フィート(約9.1m)の八角形で、高さ122cmの台の上にあります",
591
595
  boxing: "ボクシングのリング。ロープの内側は一辺20フィート(約6.1m)の正方形で、リングは高さ122cmの台の上にあります",
592
596
  wrestling: "UWWのレスリングマット。直径9mの円の外側に幅1.5mのプロテクションエリアがあり、円の内側にオレンジ色のパッシビティゾーンがあります。マットは高さ1mの台の上にあります",
597
+ prowrestling: "プロレスのリング。ロープの内側は一辺20フィート(約6.1m)の正方形で、リングは高さ102cmの台の上にあります",
593
598
  },
594
599
  status: { final: "試合終了", "final-ot": "試合終了(延長)", "final-so": "試合終了(SO)", "final-aet": "試合終了(延長戦)", "final-pens": "試合終了(PK戦)", live: "試合中", half: "ハーフタイム", "extra-time": "延長戦", "extra-end": "エキストラエンド", penalties: "PK戦", postponed: "延期", tiebreak: "タイブレーク", "match-tiebreak": "マッチタイブレーク", retired: "途中棄権", walkover: "不戦勝" },
595
600
  endStatus: "第{n}エンド",
@@ -789,7 +794,7 @@ export const KYOGIJO_STRINGS = {
789
794
  mmaFloor: "ケージは床と同じ高さにあります",
790
795
  mmaGates: "出入口は向かい合う2か所にあります。",
791
796
  mmaSteps: "各出入口に、台へ上がる階段があります。",
792
- boxing: "ボクシングのリング。キャンバスを張った床は、ロープの内側が一辺{feet}フィート(約{size}m)の正方形で、4本のロープで囲まれています。ロープの外側には幅{apron}cmのエプロンが続き、四隅にパッド付きのコーナーポストがあります。{platform}",
797
+ boxing: "ボクシングのリング。キャンバスを張った床は、ロープの内側が一辺{feet}フィート(約{size}m)の正方形で、各辺に4本のロープが張られています。ロープの外側には幅{apron}cmのエプロンが続き、四隅にパッド付きのコーナーポストがあります。{platform}",
793
798
  boxingPlatform: "リングは高さ{height}cmの台の上にあります",
794
799
  boxingFloor: "リングは床と同じ高さにあります",
795
800
  boxingCorners: "コーナーの色は、ボクサー用が赤と青、中立コーナーが白です。",
@@ -800,6 +805,9 @@ export const KYOGIJO_STRINGS = {
800
805
  wrestlingFloor: "マットは会場の床に敷かれています",
801
806
  wrestlingCentre: "中央には直径{d}mの円があります。",
802
807
  wrestlingLines: "中央の平行な2本のスタートラインは、一方の端が緑の線、もう一方の端が赤の線で閉じられています。",
808
+ prowrestling: "プロレスのリング。キャンバスを張った床は、ロープの内側が一辺{feet}フィート(約{size}m)の正方形で、各辺に3本のロープが張られています。ロープの外側には幅{apron}cmのエプロンが続き、四隅にパッド付きのコーナーポストがあります。{platform}",
809
+ prowrestlingRopes: "各辺の3本のロープは、互いにつながっていません。",
810
+ prowrestlingSteps: "台の脇、2つのコーナーのそばに、鉄製の階段があります。",
803
811
  board: {
804
812
  ippon: "一本", wazaari: "技あり", yuko: "有効", shido: "指導", senshu: "先取", chui: "注意", points: "ポイント", kimarite: "決まり手",
805
813
  techniques: { men: "面", kote: "小手", do: "胴", tsuki: "突き", hansoku: "反則" },
@@ -861,7 +869,7 @@ export const KYOGIJO_STRINGS = {
861
869
  results: { touchdown: "タッチダウン", "field-goal": "フィールドゴール", "missed-field-goal": "フィールドゴール失敗", punt: "パント", turnover: "ターンオーバー", interception: "インターセプト", fumble: "ファンブル", downs: "ダウン更新失敗によるターンオーバー", safety: "セーフティ", "end-of-half": "ハーフ終了" },
862
870
  },
863
871
  special: {
864
- guest: { skating: "リンク", nfl: "アメリカンフットボールのフィールド", cfl: "カナディアンフットボールのフィールド", ifaf: "アメリカンフットボールのフィールド", nhl: "リンク", nba: "コート", mlb: "野球のグラウンド", soccer: "ピッチ", curling: "シート", tennis: "コート", volleyball: "コート", badminton: "コート", pickleball: "コート", tabletennis: "卓球台", padel: "コート", squash: "コート", racquetball: "コート", sepaktakraw: "コート", teqball: "コート", roundnet: "コート", netball: "コート", lacrosse: "フィールド", rugby: "グラウンド", afl: "グラウンド", gaelic: "フィールド", cricket: "グラウンド", fieldhockey: "ピッチ", handball: "コート", swimming: "プール", waterpolo: "プール", diving: "プール", artisticswimming: "プール", athletics: "トラック", judo: "試合場", karate: "試合場", kendo: "試合場", sumo: "土俵", kyudo: "弓道場", dojo: "道場", mma: "ケージ", boxing: "リング", wrestling: "マット" },
872
+ guest: { skating: "リンク", nfl: "アメリカンフットボールのフィールド", cfl: "カナディアンフットボールのフィールド", ifaf: "アメリカンフットボールのフィールド", nhl: "リンク", nba: "コート", mlb: "野球のグラウンド", soccer: "ピッチ", curling: "シート", tennis: "コート", volleyball: "コート", badminton: "コート", pickleball: "コート", tabletennis: "卓球台", padel: "コート", squash: "コート", racquetball: "コート", sepaktakraw: "コート", teqball: "コート", roundnet: "コート", netball: "コート", lacrosse: "フィールド", rugby: "グラウンド", afl: "グラウンド", gaelic: "フィールド", cricket: "グラウンド", fieldhockey: "ピッチ", handball: "コート", swimming: "プール", waterpolo: "プール", diving: "プール", artisticswimming: "プール", athletics: "トラック", judo: "試合場", karate: "試合場", kendo: "試合場", sumo: "土俵", kyudo: "弓道場", dojo: "道場", mma: "ケージ", boxing: "リング", wrestling: "マット", prowrestling: "リング" },
865
873
  title: "{host}の中の{guest}",
866
874
  game: "{event}、{date}。",
867
875
  inside: "{guest}全体が{host}の輪郭の内側に収まっています。",
@@ -955,7 +963,7 @@ export const KYOGIJO_STRINGS = {
955
963
  "distance-line": "距離を示すライン", "large-rectangle": "大きい長方形", "small-rectangle": "小さい長方形", "thirteen-metre-arc": "13メートルアーク", "forty-metre-arc": "40メートルアーク", "penalty-point": "ペナルティーマーク",
956
964
  boundary: "バウンダリー", pitch: "ピッチ", "bowling-crease": "ボウリングクリース", "popping-crease": "ポッピングクリース", "return-crease": "リターンクリース", wicket: "ウィケット", "thirty-yard-circle": "30ヤードサークル",
957
965
  "twenty-three-line": "23メートルライン", "shooting-circle": "シューティングサークル", "penalty-spot": "ペナルティースポット", "broken-circle-line": "サークルを囲む破線", "goal-area-line": "ゴールエリアライン",
958
- "referee-position": "主審の位置", "shiai-jo": "試合場", floorboard: "床板", heri: "畳縁", "contest-area": "試合場内", "safety-area": "安全地帯", "danger-zone": "危険地帯", "start-mark": "開始線", "common-safe-zone": "共通の安全地帯", "free-zone": "フリーゾーン", platform: "畳の台", "technical-table": "係員席", "centre-tape": "中央のテープ", "kata-judges": "審判員席(正面側)", "coach-chair": "コーチ席", "kata-entry": "入退場口(正面の反対側)", arena: "アリーナの床", "competition-area": "試合場", "boundary-band": "境界の帯", "start-mat": "開始位置のマット", judge: "副審", "between-areas": "試合場の間", "centre-cross": "中央の×印", "kaishi-sen": "開始線", "outer-boundary": "場外の余地", dohyo: "土俵", ring: "土俵の円", tawara: "俵", tokudawara: "徳俵", "shikiri-sen": "仕切り線", "jano-me": "蛇の目", shajo: "射場", "shooting-position": "射位", honza: "本座", yamichi: "矢道", "yatori-michi": "矢取道", azuchi: "安土", mato: "的", kamiza: "上座", "cage-canvas": "キャンバス", "cage-fence": "金網", "cage-post": "パッド付き支柱", "cage-gate": "出入口", "cage-steps": "階段", "cage-platform": "台", "ring-canvas": "キャンバス", "ring-ropes": "ロープ", "ring-post": "コーナーポスト", "ring-red-corner": "赤コーナー", "ring-blue-corner": "青コーナー", "ring-apron": "エプロン", "ring-steps": "階段", "mat-circle": "レスリングエリア", "mat-central": "中央の競技面", "mat-border": "マットの外周部", "mat-passivity": "パッシビティゾーン", "mat-centre-circle": "センターサークル", "mat-starting-lines": "スタートライン", "mat-platform": "台", shimoza: "下座", shinzen: "神棚", dais: "上座の台", banner: "垂れ幕", entrance: "入口", window: "窓", tatami: "畳", wall: "壁", "inner-lane": "インレーン", "outer-lane": "アウトレーン", "crossing-straight": "交差ストレート", "warm-up-lane": "ウォームアップレーン", padding: "防護マット", infield: "インフィールド", "coaches-area": "コーチエリア", blocks: "ブロック", "track-line": "トラックのライン", "start-lines": "スタートライン", ice: "氷面", "technical-panel": "テクニカルパネル", referee: "レフェリー", "kiss-and-cry": "キス・アンド・クライ", judges: "ジャッジ席", runway: "助走路", "take-off-board": "踏切板", "landing-area": "砂場", "throwing-circle": "投てきサークル", sector: "着地場所", "stop-board": "足留材", cage: "囲い", "throwing-arc": "スターティング・ライン", crossbar: "バー", "landing-mat": "着地マット", "run-up": "助走路", "zero-line": "ゼロライン", box: "ボックス",
966
+ "referee-position": "主審の位置", "shiai-jo": "試合場", floorboard: "床板", heri: "畳縁", "contest-area": "試合場内", "safety-area": "安全地帯", "danger-zone": "危険地帯", "start-mark": "開始線", "common-safe-zone": "共通の安全地帯", "free-zone": "フリーゾーン", platform: "畳の台", "technical-table": "係員席", "centre-tape": "中央のテープ", "kata-judges": "審判員席(正面側)", "coach-chair": "コーチ席", "kata-entry": "入退場口(正面の反対側)", arena: "アリーナの床", "competition-area": "試合場", "boundary-band": "境界の帯", "start-mat": "開始位置のマット", judge: "副審", "between-areas": "試合場の間", "centre-cross": "中央の×印", "kaishi-sen": "開始線", "outer-boundary": "場外の余地", dohyo: "土俵", ring: "土俵の円", tawara: "俵", tokudawara: "徳俵", "shikiri-sen": "仕切り線", "jano-me": "蛇の目", shajo: "射場", "shooting-position": "射位", honza: "本座", yamichi: "矢道", "yatori-michi": "矢取道", azuchi: "安土", mato: "的", kamiza: "上座", "cage-canvas": "キャンバス", "cage-fence": "金網", "cage-post": "パッド付き支柱", "cage-gate": "出入口", "cage-steps": "階段", "cage-platform": "台", "ring-canvas": "キャンバス", "ring-ropes": "ロープ", "ring-post": "コーナーポスト", "ring-red-corner": "赤コーナー", "ring-blue-corner": "青コーナー", "ring-apron": "エプロン", "ring-steps": "階段", "ring-platform": "台", "mat-circle": "レスリングエリア", "mat-central": "中央の競技面", "mat-border": "マットの外周部", "mat-passivity": "パッシビティゾーン", "mat-centre-circle": "センターサークル", "mat-starting-lines": "スタートライン", "mat-platform": "台", shimoza: "下座", shinzen: "神棚", dais: "上座の台", banner: "垂れ幕", entrance: "入口", window: "窓", tatami: "畳", wall: "壁", "inner-lane": "インレーン", "outer-lane": "アウトレーン", "crossing-straight": "交差ストレート", "warm-up-lane": "ウォームアップレーン", padding: "防護マット", infield: "インフィールド", "coaches-area": "コーチエリア", blocks: "ブロック", "track-line": "トラックのライン", "start-lines": "スタートライン", ice: "氷面", "technical-panel": "テクニカルパネル", referee: "レフェリー", "kiss-and-cry": "キス・アンド・クライ", judges: "ジャッジ席", runway: "助走路", "take-off-board": "踏切板", "landing-area": "砂場", "throwing-circle": "投てきサークル", sector: "着地場所", "stop-board": "足留材", cage: "囲い", "throwing-arc": "スターティング・ライン", crossbar: "バー", "landing-mat": "着地マット", "run-up": "助走路", "zero-line": "ゼロライン", box: "ボックス",
959
967
  "finish-line": "フィニッシュライン", kerb: "縁石", "lane-lines": "レーンライン", bend: "曲走路", straight: "直走路", "infield-pitch": "サッカーのピッチ", "start-line": "スタートライン", breakline: "ブレイクライン", "water-jump": "水濠", "exchange-zone": "テークオーバーゾーン",
960
968
  "seven-metre-line": "7mスローライン", "four-metre-line": "4mライン", "throw-off-area": "スローオフエリア", "restraining-line": "リストレイニングライン", "wing-line": "ウイングライン", "marking-area": "マーキングエリア", "two-point-arc": "2ポイントアーク",
961
969
  "lane-rope": "レーンロープ", "lane-line": "床面のレーンライン", "lane-end-cross": "クロスライン", "fifteen-metre-mark": "15mマーク", "touch-pad": "タッチ板", "starting-block": "スタート台", "backstroke-flags": "背泳ぎ用フラッグ", "false-start-rope": "フォルススタートロープ", gutter: "ガター",
package/dist/turn.dom.js CHANGED
@@ -8,6 +8,7 @@ import { buildTurn, floorOptions, openingView, turnWords } from "./turn.model.js
8
8
  import { controlsMarkup, layoutOf, turnMarkupOf, worldMarkup } from "./turn.markup.js";
9
9
  import { KYOGIJO_TURN_STYLE } from "./turn.style.js";
10
10
  import { esc } from "./format.js";
11
+ import { turnBoardMarkup } from "./overlay.js";
11
12
  /** True where the page can draw a plane in 3D by one `matrix3d`: that is, nearly everywhere with a stylesheet. */
12
13
  export function turnSupported(win = typeof window === "undefined" ? undefined : window) {
13
14
  const css = win?.CSS;
@@ -47,7 +48,7 @@ export function mountTurn(host, options, settings, build) {
47
48
  if (!supported) {
48
49
  // The flat drawing, with a sentence that says why it does not turn when the browser is the reason.
49
50
  const flat = (next) => {
50
- host.innerHTML = `<div class="ky-turn" data-mode="flat"><style>${KYOGIJO_TURN_STYLE}</style>${model.flat ?? drawKyogijo(floorOptions(next))}${model.turnable ? `<p class="ky-turn-flat">${esc(turnWords(model).flat)}</p>` : ""}</div>`;
51
+ host.innerHTML = `<div class="ky-turn" data-mode="flat"><style>${KYOGIJO_TURN_STYLE}</style>${model.flat ?? drawKyogijo({ ...floorOptions(next), board: next.board })}${model.turnable ? `<p class="ky-turn-flat">${esc(turnWords(model).flat)}</p>` : ""}</div>`;
51
52
  };
52
53
  flat(options);
53
54
  return {
@@ -456,6 +457,10 @@ export function mountTurn(host, options, settings, build) {
456
457
  world.setAttribute("data-theme", forced);
457
458
  }
458
459
  gather();
460
+ // The board is a layer of its own over the view, after the scene: it is written again, and the view's turn is not touched.
461
+ stage.querySelector(".ky-turn-board")?.remove();
462
+ if (model.board !== undefined)
463
+ stage.insertAdjacentHTML("beforeend", turnBoardMarkup(model.board));
459
464
  stage.setAttribute("aria-label", model.title);
460
465
  root.querySelector(".ky-turn-help").textContent = `${turnWords(model).keys}${model.standing === "" ? "" : ` ${model.standing}`}`;
461
466
  const theme = model.options.theme;
@@ -7,6 +7,7 @@ import { cross, facing, fadeOf, n, size, unit } from "./turn.kit.js";
7
7
  import { buildTurn, turnWords } from "./turn.model.js";
8
8
  import { KYOGIJO_TURN_STYLE } from "./turn.style.js";
9
9
  import { esc } from "./format.js";
10
+ import { turnBoardMarkup } from "./overlay.js";
10
11
  const px = (value) => `${Math.round(value * 1000) / 1000}`;
11
12
  /**
12
13
  * The matrix that stands a plane in the scene, before the camera: its x along `u`, its y along `v`, its corner `o`, in pixels from the middle of the scene
@@ -117,7 +118,7 @@ export function turnMarkupOf(model, settings = {}) {
117
118
  const sport = model.options.sport;
118
119
  return (`<div class="ky-turn" id="${esc(model.id)}" data-sport="${esc(String(sport))}" data-mode="3d" data-touch="${settings.touch === "turn" ? "turn" : "scroll"}" data-preset="${presetOf(view, model.presets ?? sport) ?? "custom"}"${theme === "light" || theme === "dark" ? ` data-theme="${theme}"` : ""} lang="${model.language}">` +
119
120
  sheet +
120
- `<div class="ky-turn-view" tabindex="0" role="group" aria-roledescription="${esc(words.region)}" aria-label="${esc(model.title)}" aria-describedby="${esc(model.id)}-help" aria-keyshortcuts="ArrowLeft ArrowRight ArrowUp ArrowDown + - 0 1 2 3 4 Home Space"><div ${worldAttributes(model)}>${worldMarkup(model, layout)}</div></div>` +
121
+ `<div class="ky-turn-view" tabindex="0" role="group" aria-roledescription="${esc(words.region)}" aria-label="${esc(model.title)}" aria-describedby="${esc(model.id)}-help" aria-keyshortcuts="ArrowLeft ArrowRight ArrowUp ArrowDown + - 0 1 2 3 4 Home Space"><div ${worldAttributes(model)}>${worldMarkup(model, layout)}</div>${model.board === undefined ? "" : turnBoardMarkup(model.board)}</div>` +
121
122
  `<p class="ky-turn-help" id="${esc(model.id)}-help">${esc(keys)}</p>` +
122
123
  (settings.controls === false ? "" : controlsMarkup(model, view)) +
123
124
  `<div class="ky-turn-live" role="status" aria-live="polite"></div>` +
@@ -2,6 +2,7 @@ import { KYOGIJO_STRINGS } from "./strings.ts";
2
2
  import { type PresetTable, type TurnPreset, type TurnView } from "./turn.camera.ts";
3
3
  import type { Plane } from "./turn.kit.ts";
4
4
  import { type UprightOptions, type Uprights } from "./uprights.ts";
5
+ import { type ResolvedBoard } from "./overlay.ts";
5
6
  import type { VenueSettings } from "./venue.ts";
6
7
  import type { Box3 } from "./turn.camera.ts";
7
8
  import type { Language, ScoreOptions, SurfaceOptions } from "./types.ts";
@@ -99,6 +100,8 @@ export interface TurnModel {
99
100
  lens?: number;
100
101
  /** The flat drawing to show where the 3D view cannot be drawn, when it is not `drawKyogijo`'s of `options` (a tournament layout's). */
101
102
  flat?: string;
103
+ /** The board the options ask for (`board`), laid over the view: a layer of its own, never a plane of the scene. */
104
+ board?: ResolvedBoard;
102
105
  }
103
106
  /** The options with what makes the floor of a 3D view: the whole surface, lying wide, at its full size. */
104
107
  export declare function floorOptions(options: SurfaceOptions | ScoreOptions): SurfaceOptions | ScoreOptions;
@@ -8,6 +8,7 @@ import { KYOGIJO_STRINGS } from "./strings.js";
8
8
  import { TURN_DEFAULT, clampView, presetView } from "./turn.camera.js";
9
9
  import { describeUprights, planesOf, uprightsFor } from "./uprights.js";
10
10
  import { resolveCrowd } from "./crowd.js";
11
+ import { resolveBoard } from "./overlay.js";
11
12
  /** The pixels in one foot of the scene at a zoom of 1: the floor is drawn this big, and scaled down to fit. A larger floor is sharper. */
12
13
  export const WORLD_PX = 1400;
13
14
  /** The options with what makes the floor of a 3D view: the whole surface, lying wide, at its full size. */
@@ -16,6 +17,8 @@ export function floorOptions(options) {
16
17
  delete rest.range;
17
18
  delete rest.half;
18
19
  delete rest.aspect;
20
+ // A board is a layer over the 3D view, not a picture on the floor.
21
+ delete rest.board;
19
22
  return rest;
20
23
  }
21
24
  const VIEWBOX = /viewBox="(-?[\d.]+) (-?[\d.]+) ([\d.]+) ([\d.]+)"/;
@@ -123,6 +126,7 @@ export function buildTurn(options, settings = {}) {
123
126
  centre,
124
127
  view: openingView(settings, o.sport),
125
128
  turnable: !badge,
129
+ board: badge ? undefined : resolveBoard(options.board),
126
130
  };
127
131
  }
128
132
  /** The words of the 3D view in the model's language. */
@@ -1,4 +1,5 @@
1
1
  import { JUDGING_DARK, JUDGING_LIGHT } from "./judging.style.js";
2
+ import { KYOGIJO_TURN_BOARD_STYLE } from "./overlay.js";
2
3
  /**
3
4
  * The 3D view's stylesheet: the colours of what stands on the surface, in light and dark, and the rules that lay the scene out. Like the drawing's own, the
4
5
  * defaults are in `:where()`, which has no weight, so a page's own rule always wins; the colours are custom properties (`--ky-up-*`) a page can set.
@@ -136,4 +137,5 @@ export const KYOGIJO_TURN_STYLE = `
136
137
  .ky-turn-controls button:disabled{opacity:.4;cursor:default}
137
138
  .ky-turn-help,.ky-turn-live{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
138
139
  .ky-turn-flat{margin:8px 0 0;font-size:.85rem}
140
+ ${KYOGIJO_TURN_BOARD_STYLE}
139
141
  `.trim();
package/dist/types.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { Background } from "./background.ts";
2
+ import type { BoardOptions } from "./overlay.ts";
2
3
  import type { EmblemRef, EmblemRenderer } from "./emblems-source.ts";
3
4
  import type { FlagRenderer } from "./flags-source.ts";
4
5
  import type { Layer } from "./layers.types.ts";
@@ -17,7 +18,7 @@ export type { PoolSport, PoolStyle };
17
18
  /** The budō: the contest areas of judo and karate, the kendo shiai-jo, the sumo dohyō, the kyūdōjō, and a dojo of tatami. */
18
19
  export type BudoSport = "judo" | "karate" | "kendo" | "sumo" | "kyudo" | "dojo";
19
20
  /** The combat sports' rings, cages and mats, drawn by the same engine as the budō: the MMA cage (eight-sided, as a generic cage), and as they are added the boxing ring, the wrestling mats and the professional wrestling ring. */
20
- export type CombatSport = "mma" | "boxing" | "wrestling";
21
+ export type CombatSport = "mma" | "boxing" | "wrestling" | "prowrestling";
21
22
  export type { BudoStyle, DojoSpec, BudoScore };
22
23
  /** The surfaces: three football fields, a rink, a court, a ballpark, a soccer pitch, a curling sheet, twelve net, racket and court sports (tennis, volleyball, badminton, pickleball, table tennis, padel, squash, racquetball, sepak takraw, teqball, roundnet and netball), four pools (swimming, water polo, diving and artistic swimming), seven field sports (lacrosse, rugby, Australian football, Gaelic football and hurling, cricket, field hockey and handball) and the athletics stadium (the 400 m track with its infield, and the covered 200 m track). */
23
24
  export type Sport = "nfl" | "cfl" | "ifaf" | "nhl" | "nba" | "mlb" | "soccer" | "curling" | "tennis" | "volleyball" | "badminton" | "pickleball" | "tabletennis" | "padel" | "squash" | "racquetball" | "sepaktakraw" | "teqball" | "roundnet" | "netball" | PoolSport | FieldSport | "athletics" | "skating" | BudoSport | CombatSport;
@@ -699,6 +700,12 @@ export interface SurfaceOptions {
699
700
  * Unset, the drawing is byte for byte as before. See `BackgroundOptions`.
700
701
  */
701
702
  background?: Background;
703
+ /**
704
+ * A board laid over the drawing: a results board, a bout presentation or a medal table that another package drew (Taisen Brackets', say), taken as an SVG string with its width and height, and placed at the top, a side, a corner or a point
705
+ * of your own, kept off the middle of the surface unless you say otherwise. It is written as an image, never changed and never stretched, and in the 3D view it is a layer over the view that does not turn with it. A compact strip and a
706
+ * badge take none. Unset, the drawing is byte for byte as before. See `BoardOptions` and `docs/boards.md`.
707
+ */
708
+ board?: BoardOptions;
702
709
  /**
703
710
  * The pageant: each team's flag or logo laid large over its half (a `carpet`) or on a round disc (a `stage`), with an emblem in the centre. `"carpet"`, `"stage"`, `true` (a carpet) or `PageantOptions`.
704
711
  * Off by default; a score drawing only. See `PageantOptions`.
package/dist/units.js CHANGED
@@ -62,6 +62,8 @@ export const SURFACE_UNITS = Object.freeze({
62
62
  boxing: "ft",
63
63
  // The mat: the UWW's rules are in metres (the folkstyle leagues' in feet, in their own league).
64
64
  wrestling: "m",
65
+ // The ring: the sources give its figures in feet and inches.
66
+ prowrestling: "ft",
65
67
  });
66
68
  /** True when `unit` is one of the six. */
67
69
  export const isUnit = (unit) => typeof unit === "string" && Object.prototype.hasOwnProperty.call(FEET_PER, unit);
@@ -72,6 +72,8 @@ export function budoUprights(o, thin) {
72
72
  items.push(...cageUprights(plan, at, thin));
73
73
  if (plan.boxing !== undefined)
74
74
  items.push(...ringUprights(plan, plan.boxing, at));
75
+ if (plan.prowrestling !== undefined)
76
+ items.push(...ringUprights(plan, plan.prowrestling, at));
75
77
  // A wrestling mat that stands on a platform (the UWW's at the great events) is a solid block with the mat as its top; on the floor nothing stands.
76
78
  if (plan.wrestling?.platform !== undefined) {
77
79
  const h = plan.wrestling.height * K;
@@ -100,5 +102,5 @@ export function budoUprights(o, thin) {
100
102
  });
101
103
  items.push({ id: "walls", kind: "walls", at: centre, height: h, planes });
102
104
  }
103
- return { items, lift, area, whole: plan.sumo !== undefined || plan.mma !== undefined || plan.boxing !== undefined || plan.wrestling?.platform !== undefined };
105
+ return { items, lift, area, whole: plan.sumo !== undefined || plan.mma !== undefined || plan.boxing !== undefined || plan.prowrestling !== undefined || plan.wrestling?.platform !== undefined };
104
106
  }
package/dist/uprights.js CHANGED
@@ -32,7 +32,7 @@ import { NO_VENUE, standsVenue } from "./venue.js";
32
32
  /** All the planes of all the things. */
33
33
  export const planesOf = (u) => u.items.flatMap((item) => item.planes);
34
34
  /** The unit each sport's rulebook gives its heights in, when the options name none. */
35
- const RULEBOOK_UNIT = { volleyball: "m", badminton: "m", tabletennis: "m", padel: "m", squash: "m", athletics: "m", skating: "m", judo: "m", karate: "m", kendo: "m", sumo: "m", kyudo: "m", dojo: "m", mma: "ft", boxing: "ft", wrestling: "m", swimming: "m", waterpolo: "m", diving: "m", artisticswimming: "m", sepaktakraw: "m", teqball: "m", roundnet: "m", netball: "m", soccer: "m", handball: "m", fieldhockey: "m", rugby: "m", afl: "m", gaelic: "m" };
35
+ const RULEBOOK_UNIT = { volleyball: "m", badminton: "m", tabletennis: "m", padel: "m", squash: "m", athletics: "m", skating: "m", judo: "m", karate: "m", kendo: "m", sumo: "m", kyudo: "m", dojo: "m", mma: "ft", boxing: "ft", wrestling: "m", prowrestling: "ft", swimming: "m", waterpolo: "m", diving: "m", artisticswimming: "m", sepaktakraw: "m", teqball: "m", roundnet: "m", netball: "m", soccer: "m", handball: "m", fieldhockey: "m", rugby: "m", afl: "m", gaelic: "m" };
36
36
  /** What stands on the surface the options draw: nothing on a curling sheet, which is flat. */
37
37
  export function uprightsFor(o, settings = {}) {
38
38
  const { sport, league } = chooseLeague(o);
@@ -61,7 +61,8 @@ export function ringUprights(plan, L, at) {
61
61
  const hi = h0 + fig.ropes.heights[fig.ropes.heights.length - 1] * K;
62
62
  const ties = [];
63
63
  const sq = L.corners.map((c) => at(c.rope[0], c.rope[1]));
64
- for (let i = 0; i < 4; i += 1) {
64
+ const sides = plan.figures.ties ? 4 : 0;
65
+ for (let i = 0; i < sides; i += 1) {
65
66
  const a = sq[i];
66
67
  const b = sq[(i + 1) % 4];
67
68
  for (const t of [1 / 3, 2 / 3]) {
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.22.0";
2
+ export declare const VERSION = "0.24.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.22.0";
2
+ export const VERSION = "0.24.0";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@johnmorrisdotca/kyogijo-stadiums",
3
- "version": "0.22.0",
3
+ "version": "0.24.0",
4
4
  "description": "Kyogijo Stadiums 競技場, 40 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, the MMA cage, 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",
@@ -279,6 +279,7 @@
279
279
  "arenas": "node scripts/build-arenas.mjs",
280
280
  "arenas:fetch": "node scripts/fetch-arenas.mjs",
281
281
  "arenas:check": "node scripts/check-arenas.mjs",
282
+ "boards": "node scripts/make-boards.mjs",
282
283
  "grounds": "node scripts/build-grounds.mjs",
283
284
  "grounds:check": "node scripts/check-grounds.mjs",
284
285
  "parks:coordinates": "node scripts/fetch-park-coordinates.mjs",
@@ -292,6 +293,7 @@
292
293
  "@johnmorrisdotca/chizu": "1.4.0",
293
294
  "@johnmorrisdotca/dougu-sports": "0.2.0",
294
295
  "@johnmorrisdotca/hata": "1.5.0",
296
+ "@johnmorrisdotca/taisen-brackets": "0.17.1",
295
297
  "@playwright/test": "^1.63.0",
296
298
  "eslint": "^9.0.0",
297
299
  "marked": "^18.1.1",