@johnmorrisdotca/dougu-sports 0.10.0 → 0.12.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.
Files changed (117) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/NOTICE.md +1 -1
  3. package/README.md +13 -5
  4. package/dist/emblems/ball/ball.index.js +2 -2
  5. package/dist/emblems/ball/ball.soccer.era.d.ts +22 -20
  6. package/dist/emblems/ball/ball.soccer.era.js +103 -64
  7. package/dist/emblems/emblem.descriptions.js +58 -10
  8. package/dist/emblems/emblem.figure.d.ts +7 -0
  9. package/dist/emblems/emblem.figure.js +19 -0
  10. package/dist/emblems/emblem.ids.d.ts +5 -5
  11. package/dist/emblems/emblem.ids.js +63 -3
  12. package/dist/emblems/emblem.lathe.d.ts +6 -0
  13. package/dist/emblems/emblem.lathe.js +13 -6
  14. package/dist/emblems/emblem.named.d.ts +25 -0
  15. package/dist/emblems/emblem.named.js +477 -0
  16. package/dist/emblems/emblem.registry.js +94 -0
  17. package/dist/emblems/trophy/americas-cup.d.ts +2 -0
  18. package/dist/emblems/trophy/americas-cup.js +25 -0
  19. package/dist/emblems/trophy/art-ross-trophy.d.ts +2 -0
  20. package/dist/emblems/trophy/art-ross-trophy.js +20 -0
  21. package/dist/emblems/trophy/ashes-urn.d.ts +2 -0
  22. package/dist/emblems/trophy/ashes-urn.js +22 -0
  23. package/dist/emblems/trophy/avco-world-trophy.d.ts +2 -0
  24. package/dist/emblems/trophy/avco-world-trophy.js +24 -0
  25. package/dist/emblems/trophy/ballon-dor.d.ts +2 -0
  26. package/dist/emblems/trophy/ballon-dor.js +14 -0
  27. package/dist/emblems/trophy/borg-warner-trophy.d.ts +2 -0
  28. package/dist/emblems/trophy/borg-warner-trophy.js +23 -0
  29. package/dist/emblems/trophy/calder-trophy.d.ts +2 -0
  30. package/dist/emblems/trophy/calder-trophy.js +30 -0
  31. package/dist/emblems/trophy/campbell-bowl.d.ts +2 -0
  32. package/dist/emblems/trophy/campbell-bowl.js +27 -0
  33. package/dist/emblems/trophy/champions-league-trophy.d.ts +2 -0
  34. package/dist/emblems/trophy/champions-league-trophy.js +18 -0
  35. package/dist/emblems/trophy/commissioners-trophy.d.ts +2 -0
  36. package/dist/emblems/trophy/commissioners-trophy.js +18 -0
  37. package/dist/emblems/trophy/conn-smythe-trophy.d.ts +2 -0
  38. package/dist/emblems/trophy/conn-smythe-trophy.js +26 -0
  39. package/dist/emblems/trophy/cricket-world-cup.d.ts +2 -0
  40. package/dist/emblems/trophy/cricket-world-cup.js +19 -0
  41. package/dist/emblems/trophy/cy-young-award.d.ts +2 -0
  42. package/dist/emblems/trophy/cy-young-award.js +20 -0
  43. package/dist/emblems/trophy/dfb-pokal.d.ts +2 -0
  44. package/dist/emblems/trophy/dfb-pokal.js +21 -0
  45. package/dist/emblems/trophy/fa-cup.d.ts +2 -0
  46. package/dist/emblems/trophy/fa-cup.js +21 -0
  47. package/dist/emblems/trophy/fifa-world-cup.d.ts +2 -0
  48. package/dist/emblems/trophy/fifa-world-cup.js +22 -0
  49. package/dist/emblems/trophy/gold-glove-award.d.ts +2 -0
  50. package/dist/emblems/trophy/gold-glove-award.js +24 -0
  51. package/dist/emblems/trophy/grey-cup.d.ts +2 -0
  52. package/dist/emblems/trophy/grey-cup.js +25 -0
  53. package/dist/emblems/trophy/hart-trophy.d.ts +2 -0
  54. package/dist/emblems/trophy/hart-trophy.js +23 -0
  55. package/dist/emblems/trophy/jack-adams-trophy.d.ts +2 -0
  56. package/dist/emblems/trophy/jack-adams-trophy.js +31 -0
  57. package/dist/emblems/trophy/jennings-trophy.d.ts +2 -0
  58. package/dist/emblems/trophy/jennings-trophy.js +31 -0
  59. package/dist/emblems/trophy/king-clancy-trophy.d.ts +2 -0
  60. package/dist/emblems/trophy/king-clancy-trophy.js +25 -0
  61. package/dist/emblems/trophy/lady-byng-trophy.d.ts +2 -0
  62. package/dist/emblems/trophy/lady-byng-trophy.js +27 -0
  63. package/dist/emblems/trophy/lamar-hunt-trophy.d.ts +2 -0
  64. package/dist/emblems/trophy/lamar-hunt-trophy.js +17 -0
  65. package/dist/emblems/trophy/larry-obrien-trophy.d.ts +2 -0
  66. package/dist/emblems/trophy/larry-obrien-trophy.js +18 -0
  67. package/dist/emblems/trophy/lester-patrick-trophy.d.ts +2 -0
  68. package/dist/emblems/trophy/lester-patrick-trophy.js +24 -0
  69. package/dist/emblems/trophy/lombardi-trophy.d.ts +2 -0
  70. package/dist/emblems/trophy/lombardi-trophy.js +12 -0
  71. package/dist/emblems/trophy/masterton-trophy.d.ts +2 -0
  72. package/dist/emblems/trophy/masterton-trophy.js +37 -0
  73. package/dist/emblems/trophy/mlb-mvp-award.d.ts +2 -0
  74. package/dist/emblems/trophy/mlb-mvp-award.js +19 -0
  75. package/dist/emblems/trophy/norris-trophy.d.ts +2 -0
  76. package/dist/emblems/trophy/norris-trophy.js +23 -0
  77. package/dist/emblems/trophy/obrien-cup.d.ts +2 -0
  78. package/dist/emblems/trophy/obrien-cup.js +32 -0
  79. package/dist/emblems/trophy/paterson-cup.d.ts +2 -0
  80. package/dist/emblems/trophy/paterson-cup.js +30 -0
  81. package/dist/emblems/trophy/presidents-trophy.d.ts +2 -0
  82. package/dist/emblems/trophy/presidents-trophy.js +23 -0
  83. package/dist/emblems/trophy/prince-of-wales-trophy.d.ts +2 -0
  84. package/dist/emblems/trophy/prince-of-wales-trophy.js +29 -0
  85. package/dist/emblems/trophy/rocket-richard-trophy.d.ts +2 -0
  86. package/dist/emblems/trophy/rocket-richard-trophy.js +21 -0
  87. package/dist/emblems/trophy/selke-trophy.d.ts +2 -0
  88. package/dist/emblems/trophy/selke-trophy.js +30 -0
  89. package/dist/emblems/trophy/silver-slugger-award.d.ts +2 -0
  90. package/dist/emblems/trophy/silver-slugger-award.js +19 -0
  91. package/dist/emblems/trophy/stanley-cup.d.ts +2 -0
  92. package/dist/emblems/trophy/stanley-cup.js +24 -0
  93. package/dist/emblems/trophy/ted-lindsay-award.d.ts +2 -0
  94. package/dist/emblems/trophy/ted-lindsay-award.js +22 -0
  95. package/dist/emblems/trophy/venus-rosewater-dish.d.ts +2 -0
  96. package/dist/emblems/trophy/venus-rosewater-dish.js +24 -0
  97. package/dist/emblems/trophy/vezina-trophy.d.ts +2 -0
  98. package/dist/emblems/trophy/vezina-trophy.js +27 -0
  99. package/dist/emblems/trophy/walter-cup.d.ts +2 -0
  100. package/dist/emblems/trophy/walter-cup.js +16 -0
  101. package/dist/emblems/trophy/webb-ellis-cup.d.ts +2 -0
  102. package/dist/emblems/trophy/webb-ellis-cup.js +23 -0
  103. package/dist/emblems/trophy/wimbledon-gentlemens-trophy.d.ts +2 -0
  104. package/dist/emblems/trophy/wimbledon-gentlemens-trophy.js +22 -0
  105. package/dist/emblems/trophy/wnba-championship-trophy.d.ts +2 -0
  106. package/dist/emblems/trophy/wnba-championship-trophy.js +18 -0
  107. package/dist/emblems/trophy/woodlawn-vase.d.ts +2 -0
  108. package/dist/emblems/trophy/woodlawn-vase.js +20 -0
  109. package/dist/emblems/trophy/world-series-mvp-trophy.d.ts +2 -0
  110. package/dist/emblems/trophy/world-series-mvp-trophy.js +18 -0
  111. package/dist/emblems-entry.d.ts +2 -0
  112. package/dist/emblems-entry.js +1 -0
  113. package/dist/index.d.ts +48 -1
  114. package/dist/index.js +48 -1
  115. package/dist/version.d.ts +1 -1
  116. package/dist/version.js +1 -1
  117. package/package.json +1 -1
@@ -70,6 +70,53 @@ export const EMBLEM_DESCRIPTIONS = {
70
70
  "gear:football-helmet": { en: "Football helmet", ja: "アメリカンフットボールのヘルメット" },
71
71
  "gear:hurley": { en: "Hurley", ja: "ハーリー(ハーリングのスティック)" },
72
72
  "trophy:sumo-cup": { en: "A tall silver cup on a tall stepped stand, with an ornate phoenix-crested handle on each side", ja: "段のある高い台に載った、背の高い銀の杯。両側の取っ手に鳳凰の飾りが付く" },
73
+ "trophy:paterson-cup": { en: "The Paterson Cup: a wide silver bowl with a straight engraved band at the rim, two scrolled ear handles, a short stem and a dark wooden base. Given to the champion of the Pacific Coast Hockey Association from 1912", ja: "パターソン・カップ。縁にまっすぐな彫刻の帯がある幅広の銀のボウルで、渦巻き形の耳状の取っ手が2つ付き、短い脚と濃い色の木の台座があります。1912年から、パシフィック・コースト・ホッケー協会の優勝チームに贈られました。" },
74
+ "trophy:stanley-cup": { en: "The Stanley Cup: a wide fluted bowl with a smooth band at the rim, a beaded neck, three narrow rings that step out and a barrel of five bands on a black base.", ja: "縁に滑らかな帯がある縦溝入りの広いボウル、玉飾りのある首、段状に広がる細い三つの輪、黒い台座にのった五段の帯の胴を描いています。ナショナル・ホッケー・リーグのプレーオフの優勝チームに贈られます(初授与は1893年)。" },
75
+ "trophy:hart-trophy": { en: "The Hart Memorial Trophy: a gilt flame-shaped bulb on a long tapering silver stem, over a domed bell and a dark octagonal base.", ja: "金色の炎形の球が、長く先細りになる銀の軸の上にのり、その下にドーム形の鐘形と暗い色の八角形の台座が付いた姿を描いています。チームにとって最も価値の高い選手と評価された選手に贈られます。" },
76
+ "trophy:vezina-trophy": { en: "The Vezina Trophy: a silver pavilion of four columns under a dome and a dark ball, on a flared bell and a stepped base of dark red wood.", ja: "四本の柱を持つ銀の東屋が、ドームと暗い色の球の下にあり、広がった鐘形と、暗い赤色の木の段付きの台座にのっている姿を描いています。最も優れたゴールキーパーと評価された選手に贈られます。" },
77
+ "trophy:norris-trophy": { en: "The James Norris Memorial Trophy: a silver lidded bowl with an acorn finial on a knopped stem and a domed foot, over a two-tiered octagonal base of pale wood.", ja: "ふた付きの銀のボウルの上にどんぐり形の飾りがあり、節のある脚とドーム形の足の下に、明るい色の木の二段の八角形の台座がある姿を描いています。総合的に最も優れた能力を示したディフェンスマンに贈られます。" },
78
+ "trophy:calder-trophy": { en: "The Calder Memorial Trophy: a tall two-handled silver cup with looped handles and a knotted stem, on two stacked blocks of dark wood with copper trim.", ja: "輪状の取っ手が二つ付き、結び目のある脚を持つ背の高い銀のカップが、銅の縁取りのある暗い色の木のブロック二つの上にのっている姿を描いています。最も優れた新人選手に贈られます。" },
79
+ "trophy:art-ross-trophy": { en: "The Art Ross Trophy: a wide silver bowl on a small footed cup, on a tall square pyramid of red-brown wood that widens a long way toward its foot.", ja: "小さな脚付きのカップにのった広い銀のボウルが、赤茶色の木の背の高い四角錐の台座にのっている姿を描いています。台座は足元に向かって大きく広がっています。リーグのポイント首位の選手に贈られます。" },
80
+ "trophy:conn-smythe-trophy": { en: "The Conn Smythe Trophy: a fan of silver maple leaves rising from a silver building, on tiers of honey-brown wood that widen to a moulded foot.", ja: "銀の建物から銀のカエデの葉が扇状に立ち上がり、蜂蜜色の木の段が刳り形のある足元に向かって広がっている姿を描いています。プレーオフで最も価値の高かった選手に贈られます。" },
81
+ "trophy:lady-byng-trophy": { en: "The Lady Byng Memorial Trophy: a silver lidded cup with two flat ear handles, a knopped stem and a spreading foot, on a block of honey-brown wood.", ja: "ふた付きの銀のカップに平らな耳形の取っ手が二つあり、節のある脚と広がった足を持ち、蜂蜜色の木のブロックにのっている姿を描いています。高い水準のプレーとともに最もスポーツマンシップに優れた選手に贈られます。" },
82
+ "trophy:selke-trophy": { en: "The Frank J. Selke Trophy: a crowned silver bowl with garlands and ring handles on a flared foot, over a dark hexagonal base.", ja: "王冠をのせた銀のボウルに花飾りと輪形の取っ手があり、広がった足の下に暗い色の六角形の台座がある姿を描いています。守備プレーが最も優れたフォワードに贈られます。" },
83
+ "trophy:jennings-trophy": { en: "The William M. Jennings Trophy: a wide silver bowl on a stepped foot over three tiers of dark red wood.", ja: "広い銀のボウルが段付きの足にのり、その下に暗い赤色の木の三段の台座がある姿を描いています。最も失点の少なかったチームのゴールキーパーに贈られます(複数人の場合もあります)。" },
84
+ "trophy:masterton-trophy": { en: "The Bill Masterton Memorial Trophy: two tall silver cones with gilt flames on a round dish, over an octagonal base of honey-coloured wood.", ja: "金色の炎をいただく背の高い銀の円錐が二つ、丸い皿にのり、その下に蜂蜜色の木の八角形の台座がある姿を描いています。粘り強さ、スポーツマンシップ、ホッケーへの献身を最もよく示した選手に贈られます。" },
85
+ "trophy:king-clancy-trophy": { en: "The King Clancy Memorial Trophy: a tall lidded two-handled silver cup on a knopped stem, over a round base of honey-brown wood in two tiers.", ja: "ふた付きで取っ手が二つある背の高い銀のカップが、節のある脚の上にあり、蜂蜜色の木の二段の丸い台座にのっている姿を描いています。氷上でも氷上以外でも最もリーダーシップを発揮し、人道的な貢献をした選手に贈られます。" },
86
+ "trophy:jack-adams-trophy": { en: "The Jack Adams Award: a flared silver urn with scroll handles under a framed portrait, on a block with a large plate and wide stepped tiers of wood.", ja: "額に入った肖像の下に、渦巻き形の取っ手が付いた広がった形の銀の壺があり、大きなプレートのあるブロックと、幅の広い段状の木の台座にのっている姿を描いています。チームの成功に最も貢献したと評価されたヘッドコーチに贈られます。" },
87
+ "trophy:presidents-trophy": { en: "The Presidents' Trophy: a wide shallow silver dish with two crossed hockey sticks over it, on three slender columns, a dark cap and a dark plinth.", ja: "幅の広い浅い銀の皿の上にホッケースティックが二本交差して置かれ、細い三本の柱、暗い色のキャップ、暗い色の台座にのっている姿を描いています。レギュラーシーズンで最も成績の良かったチームに贈られます。" },
88
+ "trophy:prince-of-wales-trophy": { en: "The Prince of Wales Trophy: a tall flared silver vase under a broad lid and a feathered finial, held by three stick-shaped legs round a clear crystal, on a dark octagonal base.", ja: "背の高い広がった形の銀の花瓶に幅広のふたと羽根飾りのつまみがあり、スティック形の三本の脚が透明なクリスタルを囲んで支え、暗い色の八角形の台座にのっている姿を描いています。イースタン・カンファレンスの優勝チームに贈られます。" },
89
+ "trophy:campbell-bowl": { en: "The Clarence S. Campbell Bowl: a lidded two-handled silver bowl with large scrolling handles, on a dark hexagonal base.", ja: "ふた付きで取っ手が二つある銀のボウルに大きな渦巻き形の取っ手があり、暗い色の六角形の台座にのっている姿を描いています。ウェスタン・カンファレンスの優勝チームに贈られます。" },
90
+ "trophy:rocket-richard-trophy": { en: "The Maurice Richard Trophy: a gilt skater in a wide flared funnel of clear amber, on a dark tapering base with a silver collar.", ja: "透き通った琥珀色の幅広く広がった漏斗の中に金色のスケーターが立ち、銀の環の付いた暗い色の先細りの台座にのっている姿を描いています。レギュラーシーズンで最も多くのゴールを決めた選手に贈られます。" },
91
+ "trophy:ted-lindsay-award": { en: "The Ted Lindsay Award: a bronze skater with a stick on a pin, over a tall black hexagonal pillar and a flared silver base.", ja: "スティックを持つ青銅のスケーターがピンの上に立ち、その下に背の高い黒い六角形の柱と、広がった銀の台座がある姿を描いています。選手たちの投票で選ばれる、最も傑出した選手に贈られます。" },
92
+ "trophy:lester-patrick-trophy": { en: "The Lester Patrick Trophy: a bronze figure of a man standing at ease on a tall square pedestal of reddish wood.", ja: "青銅の男性像が、赤みがかった木の背の高い四角い台座の上に、くつろいだ姿勢で立っている姿を描いています。アメリカでのホッケーに対する傑出した貢献をした人々に贈られます。" },
93
+ "trophy:lombardi-trophy": { en: "The Vince Lombardi Trophy: a silver football tilted over a tall three-sided pylon that widens to its foot.", ja: "ロンバルディ・トロフィーは、銀色のフットボールが、足元に向かって広がる背の高い三角柱の台の上に斜めに載った姿を描いています。NFLの優勝決定戦、スーパーボウルの優勝チームに贈られます。" },
94
+ "trophy:larry-obrien-trophy": { en: "The Larry O'Brien Championship Trophy: a gold basketball over a hoop and a tapering net-shaped body on a round foot.", ja: "ラリー・オブライエン・トロフィーは、金色のバスケットボールが、リングと下に向かってすぼまるネット状の本体の上に載り、丸い台に立つ姿を描いています。NBAファイナルの優勝チームに贈られます。" },
95
+ "trophy:commissioners-trophy": { en: "The Commissioner's Trophy: thirty slender poles with gilt pennants in a ring whose tops are higher at the back than at the front, over a wide round silver base.", ja: "コミッショナーズ・トロフィーは、30本の細い支柱が、それぞれ金色のペナントを付けて輪になり、輪の上端は後ろが高く手前が低く、幅広い丸い銀色の台の上に立つ姿を描いています。ワールドシリーズの優勝チームに贈られます。" },
96
+ "trophy:grey-cup": { en: "The Grey Cup: a two-handled silver cup with a swirled stem on a tall flared cone of twelve panels crossed by dark bands.", ja: "グレイカップは、持ち手が2つで渦巻き模様の脚をもつ銀色のカップが、暗い帯の入った12面の背の高い広がる円錐形の台の上に載った姿を描いています。カナディアン・フットボール・リーグの優勝決定戦に勝ったチームに贈られます。" },
97
+ "trophy:cy-young-award": { en: "The Cy Young Award: a dark plaque with a curved silver band, a V and a hand holding a baseball over a nameplate.", ja: "サイ・ヤング賞は、暗い色の飾り板に、曲線を描く銀色の帯とV字、銘板の上で野球のボールを握る手をあしらった姿を描いています。各リーグの最優秀投手に贈られます。" },
98
+ "trophy:mlb-mvp-award": { en: "The Most Valuable Player Award: a dark octagonal plaque with a silver ring and diamond, a gilt medallion, a nameplate and crossed bats.", ja: "MVP賞は、銀色の輪とダイヤモンド、金色のメダリオン、銘板、交差した2本のバットを配した、暗い色の八角形の飾り板を描いています。各リーグの最優秀選手に贈られます。" },
99
+ "trophy:walter-cup": { en: "The Walter Cup: a wide shallow silver bowl on a stem between two tall stick-shaped blades, over a heavy round base.", ja: "ウォルター・カップは、脚付きの幅広く浅い銀色のボウルが、スティック形の背の高い2枚のブレードの間に立ち、重厚な丸い台の上に載った姿を描いています。プロフェッショナル・ウィメンズ・ホッケー・リーグ(PWHL)の優勝チームに贈られます。" },
100
+ "trophy:wnba-championship-trophy": { en: "The WNBA Championship Trophy: a silver basketball held on two slanting tubes over a low slab.", ja: "WNBA優勝トロフィーは、銀色のバスケットボールを、斜めに伸びる2本の管が支え、低い板状の台に載った姿を描いています。WNBAファイナルの優勝チームに贈られます。" },
101
+ "trophy:lamar-hunt-trophy": { en: "The Lamar Hunt Trophy: a clear football-shaped ring on a round silver base over a flat black slab.", ja: "ラマー・ハント・トロフィーは、透明なフットボール形の輪が、丸い銀色の台に載り、平らな黒い板の上に立つ姿を描いています。アメリカン・フットボール・カンファレンス(AFC)の優勝チームに贈られます。" },
102
+ "trophy:silver-slugger-award": { en: "The Silver Slugger Award: a silver bat across a tall black board with an oval badge and a plate.", ja: "シルバースラッガー賞は、背の高い黒い板を銀色のバットが横切り、楕円のバッジと銘板が付いた姿を描いています。各リーグの各ポジションで最も優れた打者に贈られます。" },
103
+ "trophy:world-series-mvp-trophy": { en: "The World Series MVP trophy: a twisted silver flame on a wide round base with a dark band.", ja: "ワールドシリーズMVP賞は、ねじれた銀色の炎が、暗い帯の入った幅広い丸い台の上に立つ姿を描いています。ワールドシリーズで最も活躍した選手に贈られます。" },
104
+ "trophy:avco-world-trophy": { en: "The Avco World Trophy: a wide silver bowl on a stem over a glass cylinder with a silver ball in it, a ringed collar, a tall black drum with silver plates and a wide silver foot.", ja: "アブコ・ワールド・トロフィー。銀の玉が入ったガラスの筒の上に、脚付きの広い銀のボウルをのせ、輪のついた首の部分、銀の板をはめた背の高い黒い筒、広い銀の台座を描いています。ワールド・ホッケー・アソシエーション(WHA)の優勝チームに贈られます。" },
105
+ "trophy:obrien-cup": { en: "The O'Brien Cup: a wide shallow gilt bowl with wire handles on a dark block between two bronze skaters, on a long dark base.", ja: "長い暗色の台の上に、暗色のブロックにのせた針金の取っ手つきの浅く広い金色のボウルと、その両脇に立つブロンズのスケート選手二人を描いています。ナショナル・ホッケー・アソシエーション(NHA)と、のちに発足当初のナショナル・ホッケー・リーグ(NHL)の優勝チームに贈られます。" },
106
+ "trophy:gold-glove-award": { en: "The Gold Glove Award: a gilt fielder's glove between two gilt baseballs on a pedestal over a wooden base.", ja: "木の土台の上の台座に、金色の野球のグラブと、その両脇に金色の野球ボール二つを描いています。MLBで、各リーグのポジションごとに最も守備の優れた選手に贈られます。" },
107
+ "trophy:fifa-world-cup": { en: "The FIFA World Cup: a gilt globe held up by two spiral figures, over a base of malachite green bands and a gilt band.", ja: "金色の地球を、らせん状にのびる2人の人物が掲げる姿を、マラカイトグリーンの帯と金色の帯の台座の上に描いています。男子のFIFAワールドカップの優勝チームに贈られます。" },
108
+ "trophy:woodlawn-vase": { en: "The Woodlawn Vase: a very tall tiered silver vase with a wide chased bowl and two scrolled handles, on a waisted stem and a round base.", ja: "非常に背の高い、段のある銀の花瓶を描いています。幅広い胴には彫金の装飾があり、渦巻き形の取っ手が二つ付いて、くびれた軸と丸い台座の上に立っています。米国三冠の第2戦、プリークネスステークスの優勝馬に贈られます。" },
109
+ "trophy:borg-warner-trophy": { en: "The Borg-Warner Trophy: a very tall tapering silver body of relief faces under a figure with a chequered flag, on a drum base.", ja: "ボルグ・ワーナー・トロフィー。先細りの非常に背の高い銀の本体に顔のレリーフが並び、頂にチェッカーフラッグを持つ人物が立つ姿を、ドラム形の台座の上に描いています。インディ500の優勝者に贈られます。" },
110
+ "trophy:fa-cup": { en: "The FA Cup: a tall lidded silver cup with scrolled ear handles, a rounded belly and a wide foot.", ja: "ふた付きの背の高い銀のカップを描いています。耳形の渦巻きの取っ手、丸い胴、広い台座があります。イングランド最古のカップ戦、FAカップの優勝クラブに贈られます。" },
111
+ "trophy:americas-cup": { en: "The America's Cup: a tall silver ewer with a spout, a broad rounded belly and a great spiral handle, on a stepped foot.", ja: "注ぎ口の付いた背の高い銀の水差しを描いています。幅広く丸い胴と大きならせん形の取っ手があり、段になった台座の上に載っています。ヨットレースのアメリカズカップの優勝チームに贈られます。" },
112
+ "trophy:cricket-world-cup": { en: "The Cricket World Cup: a gilt globe in a silver ring on four swept silver bands, over a black dome with silver discs.", ja: "クリケット・ワールドカップ。銀の輪に収まった金色の地球を、弧を描く4本の銀の帯が支え、その下に銀の円盤をちりばめた黒いドームがある姿を描いています。男子のクリケット・ワールドカップの優勝チームに贈られます。" },
113
+ "trophy:wimbledon-gentlemens-trophy": { en: "The Wimbledon Gentlemen's Singles Trophy: a gilt lidded two-handled cup with a pineapple finial, on a tall round plinth.", ja: "ウィンブルドン男子シングルス優勝杯。パイナップルの飾りが付いた、金色のふた付きカップを描いています。取っ手が二つあり、背の高い丸い台座に載っています。ウィンブルドン選手権の男子シングルスの優勝者に贈られます。" },
114
+ "trophy:venus-rosewater-dish": { en: "The Venus Rosewater Dish: a broad round silver dish seen face on, with rings of ornament and a central boss.", ja: "ヴィーナス・ローズウォーター・ディッシュ。正面から見た、幅広い丸い銀の大皿を描いています。何重もの輪の装飾と、中央の丸い飾り(ボス)があります。ウィンブルドン選手権の女子シングルスの優勝者に贈られます。" },
115
+ "trophy:ballon-dor": { en: "The Ballon d'Or: a gilt soccer ball on a black domed base.", ja: "黒いドーム形の台座に載った金色のサッカーボールを描いています。年間で最も優れたサッカー選手に贈られます。" },
116
+ "trophy:dfb-pokal": { en: "The DFB-Pokal: a tall gilt cup with a band round its bowl, a slim waist and a ringed foot.", ja: "帯が胴を一周する背の高い金色のカップを描いています。細くくびれた軸と、輪の装飾がある台座があります。ドイツのカップ戦、DFBポカールの優勝クラブに贈られます。" },
117
+ "trophy:ashes-urn": { en: "The Ashes urn: a small terracotta urn with square handles on a turned wooden base.", ja: "テラコッタの小さな壺を描いています。四角い取っ手が付き、旋盤で削り出した木の台に載っています。イングランドとオーストラリアが戦うアッシズ・シリーズの象徴として、ローズ・クリケット・グラウンドに保管されています。" },
118
+ "trophy:webb-ellis-cup": { en: "The Webb Ellis Cup: a gilt lidded two-handled cup with a pineapple finial on a round plinth.", ja: "金色のふた付きカップを描いています。取っ手が二つあり、ふたの上にパイナップル形の飾りが付いて、丸い台座に載っています。男子のラグビーワールドカップの優勝チームに贈られます。" },
119
+ "trophy:champions-league-trophy": { en: "The UEFA Champions League trophy: a tall silver urn with two long looping handles.", ja: "UEFAチャンピオンズリーグ・トロフィー。長い取っ手が二つ輪を描く、背の高い銀の壺を描いています。UEFAチャンピオンズリーグの優勝クラブに贈られます。" },
73
120
  "trophy:championship-banner": { en: "A fringed banner on a pole with a gilt finial and an embroidered border, with no lettering unless some is given", ja: "金の先端飾りの付いた竿に掛けた、刺繍の縁と房の付いた旗。文字は指定したときだけ入る" },
74
121
  "sport:sumo": { en: "Two wrestlers in the crouch they face each other in at the start of a bout, with their belts", ja: "仕切りの姿勢で向かい合う、廻しを締めた二人の力士" },
75
122
  "sport:handball": { en: "A hand throwing the ball, with lines of speed", ja: "ボールを投げる手と、速さを表す線" },
@@ -123,16 +170,17 @@ export const EMBLEM_DESCRIPTIONS = {
123
170
  "ball:soccer-1930-18-panel": { en: "1930s: 18 strips of chestnut and tan leather, six panels of three, the seams stitched", ja: "1930年代の18枚貼り。栗色と薄茶色の革の帯状パネル18枚(3枚ずつ6組)を使い、継ぎ目を縫い合わせたもの" },
124
171
  "ball:soccer-1950-12-panel": { en: "1950s: 12 pentagons of chestnut leather in four tones, so that no two that touch match, the seams stitched", ja: "1950年代の12枚貼り。栗色の革の五角形12枚を4種類の色合いにして、隣り合うパネルが同じ色合いにならないようにし、継ぎ目を縫い合わせたもの" },
125
172
  "ball:soccer-1960-32-panel-leather": { en: "1960s: the 32 panels (12 pentagons and 20 hexagons) in leather, chestnut pentagons on tan hexagons, stitched along the seams", ja: "1960年代の32枚貼りの革ボール。五角形12枚と六角形20枚を使い、薄茶色の六角形に栗色の五角形を配して、継ぎ目を縫い合わせたもの" },
126
- "ball:soccer-1970-black-white": { en: "In the style of the early-1970s match balls: 32 panels, black pentagons with a white ring and white hexagons with a pale dished centre and a dot", ja: "1970年代前半の試合球風。32枚貼りで、白い輪のある黒い五角形と、中央に淡いくぼみと点のある白い六角形" },
127
- "ball:soccer-1978-triad": { en: "In the style of the late-1970s match balls: 32 panels, each hexagon carrying three bold curved triangles in a pinwheel, their points meeting round each pentagon", ja: "1970年代後半の試合球風。32枚貼りで、六角形ごとに太い曲線の三角形を3枚、風車のように配し、その先端が五角形のまわりに集まる" },
128
- "ball:soccer-1986-decorated-triad": { en: "In the style of the 1980s match balls: the triads in clay red, each blade ornamented with a row of white beads, and dark pentagons ringed in gold", ja: "1980年代の試合球風。素焼きのような赤の三つ巴で、羽根ごとに白い珠の列を飾り、五角形は金の輪をあしらった暗い色にしたもの" },
129
- "ball:soccer-1998-coloured-triad": { en: "In the style of the 1990s match balls: the triads in blue, red and gold on white hexagons, with deep navy pentagons", ja: "1990年代の試合球風。白い六角形に青、赤、金の三つ巴を配し、五角形は深い紺色にしたもの" },
130
- "ball:soccer-2002-triangle-sweep": { en: "In the style of the early-2000s match balls: long thin triangles that sweep across each hexagon in graphite, with gold sparks, over charcoal pentagons", ja: "2000年代前半の試合球風。六角形ごとに細長い三角形が黒鉛色で流れるように並び、金色の小さな三角形が添えられ、五角形は炭色" },
131
- "ball:soccer-2006-propeller": { en: "In the style of the mid-2000s match balls: 14 panels (6 propellers and 8 triangles), a fine gold line inside each propeller and a gold mark on each dark triangle", ja: "2000年代半ばの試合球風。14枚貼り(プロペラ形6枚、三角形8枚)で、各プロペラの内側に細い金の線、暗い色の三角形に金の印が入る" },
132
- "ball:soccer-2010-grooved": { en: "In the style of the early-2010s match balls: 8 panels (an octahedron whose edges are bent into S curves) in white and teal, with deep dark grooves for seams and contour lines across each panel, dark teal on the white panels and white on the teal ones", ja: "2010年代前半の試合球風。8枚貼り(辺をS字に曲げた正八面体)で、白とティールのパネル。継ぎ目は深く暗い溝で、各パネルに等高線のような線が入り、白いパネルには濃いティール、ティールのパネルには白の線が走る" },
133
- "ball:soccer-2014-ribbon": { en: "In the style of the mid-2010s match balls: 6 twisted panels in white, crossed by wide ribbons in teal, orange and violet", ja: "2010年代半ばの試合球風。ねじれた6枚貼りの白いボールに、ティール、オレンジ、紫の幅広いリボンが交差する" },
134
- "ball:soccer-2018-pixel": { en: "In the style of the late-2010s match balls: 6 panels covered with square pixel blocks in graphite, grey, red and gold, thick on one side and thinning out", ja: "2010年代後半の試合球風。6枚貼りで、黒鉛色、灰色、赤、金の四角いピクセルが一方に密集し、反対側へまばらになっていく" },
135
- "ball:soccer-2022-speed-shell": { en: "In the style of the early-2020s match balls: 20 triangular panels (an icosahedron) in burgundy, cream and gold, each carrying nested outlines like a shell", ja: "2020年代前半の試合球風。20枚貼り(正二十面体)で、えんじ、クリーム、金の三角形のパネルそれぞれに、貝殻のように重なる輪郭線が入る" },
173
+ "ball:soccer-retro-pentagons": { en: "A 1970s-style ball: 32 panels, black pentagons with a white ring and white hexagons with a pale dished centre and a dot", ja: "1970年代風。32枚貼りで、白い輪のある黒い五角形と、中央が淡くくぼんだように描かれ点のある白い六角形" },
174
+ "ball:soccer-retro-leaves": { en: "A late-1970s-style ball: 32 panels, each hexagon carrying three bold straight leaves in navy, each pointing at a pentagon", ja: "1970年代後半風。32枚貼りで、六角形ごとに太くまっすぐな紺色の葉を3枚ずつ配し、それぞれの先端が五角形のほうを向く" },
175
+ "ball:soccer-retro-rosette": { en: "A 1980s-style ball: a five-petal rosette in clay red on each hexagon, each petal ornamented with a row of white beads, and dark pentagons ringed in gold", ja: "1980年代風。六角形ごとに素焼きのような赤の5枚花びらのロゼットを置き、花びらごとに白い珠の列を飾り、五角形は金の輪をあしらった暗い色" },
176
+ "ball:soccer-retro-star": { en: "A second 1980s-style ball: a six-armed deep-teal star with a saffron dot at the middle of each cream hexagon, and navy pentagons ringed in cream", ja: "1980年代風の別版。クリーム色の六角形ごとに、濃いティールの6つの先端を持つ星と中央のサフラン色の点を配し、五角形はクリーム色の輪をあしらった紺色" },
177
+ "ball:soccer-retro-pinwheel": { en: "A 1990s-style ball: a pinwheel of three curved leaves in green, amber and plum on each white hexagon, a solid deep green circle where the three colours meet, and deep green pentagons", ja: "1990年代風。白い六角形ごとに緑、琥珀色、すもも色の曲線の葉3枚を風車のように配し、3色が出会う中心に濃い緑の円を置き、五角形は濃い緑" },
178
+ "ball:soccer-retro-kites": { en: "An early-2000s-style ball: long thin kites that sweep across each hexagon in slate blue with silver sparks, over charcoal pentagons", ja: "2000年代前半風。六角形ごとに細長い凧形がスレートブルーで流れるように並び、銀色の小さな凧形が添えられ、五角形はチャコールグレー" },
179
+ "ball:soccer-14-panel-double-border": { en: "A mid-2000s-style 14-panel ball (6 propellers and 8 triangles) with a double border: two parallel black lines along each seam, two parallel red lines inside each white propeller, and a red dot on each dark triangle", ja: "2000年代半ば風の14枚貼り(プロペラ形6枚、三角形8枚)。二重の縁取りが特徴で、継ぎ目に沿って黒い平行線が2本、白いプロペラの内側に赤い平行線が2本入り、暗い三角形には赤い点が入る" },
180
+ "ball:soccer-8-panel-plain": { en: "An early-2010s-style 8-panel ball (an octahedron whose edges are bent into S curves): plain white panels and slate-blue panels with three white contour lines, divided by deep dark grooves", ja: "2010年代前半風の8枚貼り(辺をS字に曲げた正八面体)。何も描かれていない白いパネルと、白い等高線が3本入ったスレートブルーのパネルが、深く暗い溝で区切られる" },
181
+ "ball:soccer-6-panel-bands": { en: "A mid-2010s-style 6-panel ball: twisted white panels crossed by bands in blue, amber and magenta, and a series of three nested diamonds at each pole where the seams meet", ja: "2010年代半ば風の6枚貼り。ねじれた白いパネルを青、琥珀色、マゼンタの帯が横切り、継ぎ目が集まる両極には、入れ子になった3つのひし形が並ぶ" },
182
+ "ball:soccer-6-panel-diamonds": { en: "A late-2010s-style 6-panel ball covered with small diamonds in graphite, grey, teal and gold, thick on one side and thinning out, and a series of three nested diamonds at each pole where the seams meet", ja: "2010年代後半風の6枚貼り。グラファイト、灰色、ティール、金の小さなひし形が一方に密集し、反対側へ向かってまばらになり、継ぎ目が集まる両極には、入れ子になった3つのひし形が並ぶ" },
183
+ "ball:soccer-20-panel-dots": { en: "An early-2020s-style 20-panel ball (an icosahedron) in deep blue, cream and sand triangles, each carrying one nested outline and a dot at its middle", ja: "2020年代前半風の20枚貼り(正二十面体)。濃い青、クリーム色、砂色の三角形のパネルそれぞれに、入れ子の輪郭線が1本と、中央の点が入る" },
136
184
  "ball:soccer-training-high-vis": { en: "A modern high-visibility training ball: 32 panels in fluorescent yellow-green with hot pink pentagons ringed in black and three dark speed marks on each hexagon", ja: "現代の高視認性トレーニングボール。蛍光の黄緑色の32枚貼りで、黒い輪をあしらった濃いピンクの五角形と、六角形ごとに3本の黒い速度線が入る" },
137
185
  "ball:soccer-stars-blue": { en: "A shop-wall pattern: a five-pointed star on every panel; the blue colourway", ja: "店頭によくある柄:すべてのパネルに角が5つの星。配色は青" },
138
186
  "ball:soccer-stars-red": { en: "A shop-wall pattern: a five-pointed star on every panel; the red colourway", ja: "店頭によくある柄:すべてのパネルに角が5つの星。配色は赤" },
@@ -0,0 +1,7 @@
1
+ import type { Ball, Handle, Solid } from "./emblem.lathe.ts";
2
+ /** The parts of a skater that stands from `top` to `foot` (heights in the 64 unit box), in the tones `body` and `skin` (names of the model's `tones`), `wide` times as wide as usual, with a stick unless `stick` is false (a figure standing at ease). */
3
+ export declare function skater(top: number, foot: number, body: string, skin: string, wide?: number, stick?: boolean): {
4
+ solids: Solid[];
5
+ handles: Handle[];
6
+ balls: Ball[];
7
+ };
@@ -0,0 +1,19 @@
1
+ /** The parts of a skater that stands from `top` to `foot` (heights in the 64 unit box), in the tones `body` and `skin` (names of the model's `tones`), `wide` times as wide as usual, with a stick unless `stick` is false (a figure standing at ease). */
2
+ export function skater(top, foot, body, skin, wide = 1, stick = true) {
3
+ const h = foot - top;
4
+ const round = (n) => Math.round(n * 10) / 10;
5
+ const y = (t) => round(top + t * h);
6
+ const w = (t) => round(t * h * 0.01 * wide);
7
+ const torso = { p: [[y(0.17), w(8), 1, body], [y(0.22), w(17)], [y(0.35), w(19)], [y(0.5), w(16)], [y(0.62), w(13)], [y(0.7), w(12), 1, body]] };
8
+ const leg = (at) => ({ at, p: [[y(0.66), w(6.5), 1, body], [y(0.8), w(5.4)], [y(0.92), w(5)], [y(1), w(7.5), 1, "dark"]] });
9
+ return {
10
+ solids: [torso, leg([w(7), -90]), leg([w(7), 90])],
11
+ handles: stick
12
+ ? [
13
+ { a: 90, w: w(4), tone: body, pts: [[w(14), y(0.3)], [-w(3), y(0.45)], [-w(10), y(0.5)]] },
14
+ { a: 90, w: w(3), tone: "dark", pts: [[-w(30), y(1)], [-w(8), y(0.62)], [w(14), y(0.34)]] },
15
+ ]
16
+ : [],
17
+ balls: [{ kind: "plain", cy: y(0.09), r: w(9), tone: skin }],
18
+ };
19
+ }
@@ -5,7 +5,7 @@ export type SportName = (typeof SPORT_NAMES)[number];
5
5
  export declare const AWARD_IDS: readonly ["award:medal", "award:badge", "award:crown", "award:star", "award:shield", "award:ribbon"];
6
6
  export type AwardId = (typeof AWARD_IDS)[number];
7
7
  /** The trophies: a cup for each league's champion in a descriptive, generic form, the plain cups and dishes, and the flat plaque, belt, wreath and rosette. */
8
- export declare const TROPHY_IDS: readonly ["trophy:cup", "trophy:lidded-cup", "trophy:bowl", "trophy:salver", "trophy:globe", "trophy:hockey-cup", "trophy:basketball", "trophy:baseball", "trophy:football", "trophy:canadian-bowl", "trophy:soccer-ball", "trophy:soccer-globe", "trophy:tennis-plate", "trophy:tennis-cup", "trophy:cricket-urn", "trophy:rugby-cup", "trophy:plaque", "trophy:belt", "trophy:laurel", "trophy:rosette", "trophy:ring", "trophy:banner", "trophy:sumo-cup", "trophy:championship-banner"];
8
+ export declare const TROPHY_IDS: readonly ["trophy:cup", "trophy:lidded-cup", "trophy:bowl", "trophy:salver", "trophy:globe", "trophy:hockey-cup", "trophy:basketball", "trophy:baseball", "trophy:football", "trophy:canadian-bowl", "trophy:soccer-ball", "trophy:soccer-globe", "trophy:tennis-plate", "trophy:tennis-cup", "trophy:cricket-urn", "trophy:rugby-cup", "trophy:plaque", "trophy:belt", "trophy:laurel", "trophy:rosette", "trophy:ring", "trophy:banner", "trophy:sumo-cup", "trophy:championship-banner", "trophy:paterson-cup", "trophy:stanley-cup", "trophy:hart-trophy", "trophy:vezina-trophy", "trophy:norris-trophy", "trophy:calder-trophy", "trophy:presidents-trophy", "trophy:art-ross-trophy", "trophy:lady-byng-trophy", "trophy:jennings-trophy", "trophy:selke-trophy", "trophy:king-clancy-trophy", "trophy:masterton-trophy", "trophy:jack-adams-trophy", "trophy:prince-of-wales-trophy", "trophy:campbell-bowl", "trophy:rocket-richard-trophy", "trophy:conn-smythe-trophy", "trophy:ted-lindsay-award", "trophy:lester-patrick-trophy", "trophy:lombardi-trophy", "trophy:larry-obrien-trophy", "trophy:commissioners-trophy", "trophy:grey-cup", "trophy:cy-young-award", "trophy:mlb-mvp-award", "trophy:walter-cup", "trophy:wnba-championship-trophy", "trophy:lamar-hunt-trophy", "trophy:silver-slugger-award", "trophy:world-series-mvp-trophy", "trophy:avco-world-trophy", "trophy:obrien-cup", "trophy:gold-glove-award", "trophy:fifa-world-cup", "trophy:woodlawn-vase", "trophy:dfb-pokal", "trophy:champions-league-trophy", "trophy:webb-ellis-cup", "trophy:fa-cup", "trophy:cricket-world-cup", "trophy:wimbledon-gentlemens-trophy", "trophy:venus-rosewater-dish", "trophy:ballon-dor", "trophy:ashes-urn", "trophy:borg-warner-trophy", "trophy:americas-cup"];
9
9
  export type TrophyId = (typeof TROPHY_IDS)[number];
10
10
  /** The medals on a ribbon, and the badges for the first three places. */
11
11
  export declare const MEDAL_KINDS: readonly ["gold", "silver", "bronze"];
@@ -18,7 +18,7 @@ export type CrestShape = (typeof CREST_SHAPES)[number];
18
18
  export declare const CREST_IDS: readonly ["crest:shield", "crest:roundel", "crest:diamond", "crest:pennant"];
19
19
  export type CrestId = (typeof CREST_IDS)[number];
20
20
  /** The balls: one for each ball and implement the sports use, in 3D, with the official size it comes from. The balls of one family (the three crickets, the five squash balls) share a module. */
21
- export declare const BALL_IDS: readonly ["ball:soccer", "ball:soccer-colour", "ball:soccer-26", "ball:soccer-18", "ball:soccer-14", "ball:soccer-12", "ball:soccer-6", "ball:soccer-orange", "ball:soccer-26-orange", "ball:soccer-18-orange", "ball:soccer-14-orange", "ball:soccer-12-orange", "ball:soccer-6-orange", "ball:soccer-yellow", "ball:soccer-26-yellow", "ball:soccer-18-yellow", "ball:soccer-14-yellow", "ball:soccer-12-yellow", "ball:soccer-6-yellow", "ball:futsal", "ball:beach-soccer", "ball:soccer-1870-hand-stitched", "ball:soccer-1900-laced", "ball:soccer-1930-18-panel", "ball:soccer-1950-12-panel", "ball:soccer-1960-32-panel-leather", "ball:soccer-1970-black-white", "ball:soccer-1978-triad", "ball:soccer-1986-decorated-triad", "ball:soccer-1998-coloured-triad", "ball:soccer-2002-triangle-sweep", "ball:soccer-2006-propeller", "ball:soccer-2010-grooved", "ball:soccer-2014-ribbon", "ball:soccer-2018-pixel", "ball:soccer-2022-speed-shell", "ball:soccer-training-high-vis", "ball:soccer-stars-blue", "ball:soccer-stars-red", "ball:soccer-stars-night", "ball:soccer-hexagons-cyan", "ball:soccer-hexagons-magenta", "ball:soccer-hexagons-lime", "ball:soccer-flames-fire", "ball:soccer-flames-ice", "ball:soccer-flames-toxic", "ball:soccer-chevrons-red", "ball:soccer-chevrons-green", "ball:soccer-chevrons-blue", "ball:soccer-swirl-blue", "ball:soccer-swirl-red", "ball:soccer-swirl-teal", "ball:soccer-metallic-gold", "ball:soccer-metallic-silver", "ball:soccer-metallic-cobalt", "ball:teqball", "ball:basketball", "ball:basketball-6", "ball:basketball-3x3", "ball:baseball", "ball:softball", "ball:baseball-lemon-peel", "ball:baseball-red-blue", "ball:baseball-black-red", "ball:baseball-vintage-leather", "ball:softball-11-optic", "ball:tennis", "ball:padel", "ball:sliotar", "ball:volleyball", "ball:volleyball-8", "ball:beach-volleyball", "ball:volleyball-colours", "ball:volleyball-brazil", "ball:volleyball-japan", "ball:volleyball-canada", "ball:volleyball-usa", "ball:volleyball-italy", "ball:volleyball-poland", "ball:volleyball-france", "ball:volleyball-serbia", "ball:volleyball-netherlands", "ball:volleyball-germany", "ball:cricket-red", "ball:cricket-white", "ball:cricket-pink", "ball:football", "ball:football-cfl", "ball:football-ifaf", "ball:rugby", "ball:afl", "ball:gaelic-football", "ball:netball", "ball:pickleball-outdoor", "ball:pickleball-indoor", "ball:squash", "ball:squash-yellow", "ball:squash-green", "ball:squash-red", "ball:squash-blue", "ball:racquetball", "ball:lacrosse", "ball:field-hockey", "ball:table-tennis", "ball:handball", "ball:water-polo", "ball:golf", "ball:puck", "ball:curling-stone", "ball:shot", "ball:discus", "ball:hammer", "ball:sepak-takraw", "ball:roundnet", "ball:shuttlecock-feather", "ball:shuttlecock-nylon"];
21
+ export declare const BALL_IDS: readonly ["ball:soccer", "ball:soccer-colour", "ball:soccer-26", "ball:soccer-18", "ball:soccer-14", "ball:soccer-12", "ball:soccer-6", "ball:soccer-orange", "ball:soccer-26-orange", "ball:soccer-18-orange", "ball:soccer-14-orange", "ball:soccer-12-orange", "ball:soccer-6-orange", "ball:soccer-yellow", "ball:soccer-26-yellow", "ball:soccer-18-yellow", "ball:soccer-14-yellow", "ball:soccer-12-yellow", "ball:soccer-6-yellow", "ball:futsal", "ball:beach-soccer", "ball:soccer-1870-hand-stitched", "ball:soccer-1900-laced", "ball:soccer-1930-18-panel", "ball:soccer-1950-12-panel", "ball:soccer-1960-32-panel-leather", "ball:soccer-retro-pentagons", "ball:soccer-retro-leaves", "ball:soccer-retro-rosette", "ball:soccer-retro-star", "ball:soccer-retro-pinwheel", "ball:soccer-retro-kites", "ball:soccer-14-panel-double-border", "ball:soccer-8-panel-plain", "ball:soccer-6-panel-bands", "ball:soccer-6-panel-diamonds", "ball:soccer-20-panel-dots", "ball:soccer-training-high-vis", "ball:soccer-stars-blue", "ball:soccer-stars-red", "ball:soccer-stars-night", "ball:soccer-hexagons-cyan", "ball:soccer-hexagons-magenta", "ball:soccer-hexagons-lime", "ball:soccer-flames-fire", "ball:soccer-flames-ice", "ball:soccer-flames-toxic", "ball:soccer-chevrons-red", "ball:soccer-chevrons-green", "ball:soccer-chevrons-blue", "ball:soccer-swirl-blue", "ball:soccer-swirl-red", "ball:soccer-swirl-teal", "ball:soccer-metallic-gold", "ball:soccer-metallic-silver", "ball:soccer-metallic-cobalt", "ball:teqball", "ball:basketball", "ball:basketball-6", "ball:basketball-3x3", "ball:baseball", "ball:softball", "ball:baseball-lemon-peel", "ball:baseball-red-blue", "ball:baseball-black-red", "ball:baseball-vintage-leather", "ball:softball-11-optic", "ball:tennis", "ball:padel", "ball:sliotar", "ball:volleyball", "ball:volleyball-8", "ball:beach-volleyball", "ball:volleyball-colours", "ball:volleyball-brazil", "ball:volleyball-japan", "ball:volleyball-canada", "ball:volleyball-usa", "ball:volleyball-italy", "ball:volleyball-poland", "ball:volleyball-france", "ball:volleyball-serbia", "ball:volleyball-netherlands", "ball:volleyball-germany", "ball:cricket-red", "ball:cricket-white", "ball:cricket-pink", "ball:football", "ball:football-cfl", "ball:football-ifaf", "ball:rugby", "ball:afl", "ball:gaelic-football", "ball:netball", "ball:pickleball-outdoor", "ball:pickleball-indoor", "ball:squash", "ball:squash-yellow", "ball:squash-green", "ball:squash-red", "ball:squash-blue", "ball:racquetball", "ball:lacrosse", "ball:field-hockey", "ball:table-tennis", "ball:handball", "ball:water-polo", "ball:golf", "ball:puck", "ball:curling-stone", "ball:shot", "ball:discus", "ball:hammer", "ball:sepak-takraw", "ball:roundnet", "ball:shuttlecock-feather", "ball:shuttlecock-nylon"];
22
22
  export type BallId = (typeof BALL_IDS)[number];
23
23
  /** The printed pucks: the same puck as `ball:puck` with a print on its top face (a flag, a leaf, stars and stripes, a player's name and number, a made-up signature, a souvenir's ring of words). All drawn here, none a team's or a league's own. */
24
24
  export declare const PUCK_IDS: readonly ["puck:canada", "puck:canada-red", "puck:canada-white", "puck:usa", "puck:usa-navy", "puck:player", "puck:signed", "puck:souvenir"];
@@ -40,10 +40,10 @@ export type EmblemId = AwardId | TrophyId | MedalId | CrestId | BallId | PuckId
40
40
  /** The groups of ids, in the order a gallery shows them. */
41
41
  export declare const EMBLEM_GROUPS: {
42
42
  readonly award: readonly ["award:medal", "award:badge", "award:crown", "award:star", "award:shield", "award:ribbon"];
43
- readonly trophy: readonly ["trophy:cup", "trophy:lidded-cup", "trophy:bowl", "trophy:salver", "trophy:globe", "trophy:hockey-cup", "trophy:basketball", "trophy:baseball", "trophy:football", "trophy:canadian-bowl", "trophy:soccer-ball", "trophy:soccer-globe", "trophy:tennis-plate", "trophy:tennis-cup", "trophy:cricket-urn", "trophy:rugby-cup", "trophy:plaque", "trophy:belt", "trophy:laurel", "trophy:rosette", "trophy:ring", "trophy:banner", "trophy:sumo-cup", "trophy:championship-banner"];
43
+ readonly trophy: readonly ["trophy:cup", "trophy:lidded-cup", "trophy:bowl", "trophy:salver", "trophy:globe", "trophy:hockey-cup", "trophy:basketball", "trophy:baseball", "trophy:football", "trophy:canadian-bowl", "trophy:soccer-ball", "trophy:soccer-globe", "trophy:tennis-plate", "trophy:tennis-cup", "trophy:cricket-urn", "trophy:rugby-cup", "trophy:plaque", "trophy:belt", "trophy:laurel", "trophy:rosette", "trophy:ring", "trophy:banner", "trophy:sumo-cup", "trophy:championship-banner", "trophy:paterson-cup", "trophy:stanley-cup", "trophy:hart-trophy", "trophy:vezina-trophy", "trophy:norris-trophy", "trophy:calder-trophy", "trophy:presidents-trophy", "trophy:art-ross-trophy", "trophy:lady-byng-trophy", "trophy:jennings-trophy", "trophy:selke-trophy", "trophy:king-clancy-trophy", "trophy:masterton-trophy", "trophy:jack-adams-trophy", "trophy:prince-of-wales-trophy", "trophy:campbell-bowl", "trophy:rocket-richard-trophy", "trophy:conn-smythe-trophy", "trophy:ted-lindsay-award", "trophy:lester-patrick-trophy", "trophy:lombardi-trophy", "trophy:larry-obrien-trophy", "trophy:commissioners-trophy", "trophy:grey-cup", "trophy:cy-young-award", "trophy:mlb-mvp-award", "trophy:walter-cup", "trophy:wnba-championship-trophy", "trophy:lamar-hunt-trophy", "trophy:silver-slugger-award", "trophy:world-series-mvp-trophy", "trophy:avco-world-trophy", "trophy:obrien-cup", "trophy:gold-glove-award", "trophy:fifa-world-cup", "trophy:woodlawn-vase", "trophy:dfb-pokal", "trophy:champions-league-trophy", "trophy:webb-ellis-cup", "trophy:fa-cup", "trophy:cricket-world-cup", "trophy:wimbledon-gentlemens-trophy", "trophy:venus-rosewater-dish", "trophy:ballon-dor", "trophy:ashes-urn", "trophy:borg-warner-trophy", "trophy:americas-cup"];
44
44
  readonly medal: readonly ["medal:gold", "medal:silver", "medal:bronze", "medal:place-1", "medal:place-2", "medal:place-3"];
45
45
  readonly crest: readonly ["crest:shield", "crest:roundel", "crest:diamond", "crest:pennant"];
46
- readonly ball: readonly ["ball:soccer", "ball:soccer-colour", "ball:soccer-26", "ball:soccer-18", "ball:soccer-14", "ball:soccer-12", "ball:soccer-6", "ball:soccer-orange", "ball:soccer-26-orange", "ball:soccer-18-orange", "ball:soccer-14-orange", "ball:soccer-12-orange", "ball:soccer-6-orange", "ball:soccer-yellow", "ball:soccer-26-yellow", "ball:soccer-18-yellow", "ball:soccer-14-yellow", "ball:soccer-12-yellow", "ball:soccer-6-yellow", "ball:futsal", "ball:beach-soccer", "ball:soccer-1870-hand-stitched", "ball:soccer-1900-laced", "ball:soccer-1930-18-panel", "ball:soccer-1950-12-panel", "ball:soccer-1960-32-panel-leather", "ball:soccer-1970-black-white", "ball:soccer-1978-triad", "ball:soccer-1986-decorated-triad", "ball:soccer-1998-coloured-triad", "ball:soccer-2002-triangle-sweep", "ball:soccer-2006-propeller", "ball:soccer-2010-grooved", "ball:soccer-2014-ribbon", "ball:soccer-2018-pixel", "ball:soccer-2022-speed-shell", "ball:soccer-training-high-vis", "ball:soccer-stars-blue", "ball:soccer-stars-red", "ball:soccer-stars-night", "ball:soccer-hexagons-cyan", "ball:soccer-hexagons-magenta", "ball:soccer-hexagons-lime", "ball:soccer-flames-fire", "ball:soccer-flames-ice", "ball:soccer-flames-toxic", "ball:soccer-chevrons-red", "ball:soccer-chevrons-green", "ball:soccer-chevrons-blue", "ball:soccer-swirl-blue", "ball:soccer-swirl-red", "ball:soccer-swirl-teal", "ball:soccer-metallic-gold", "ball:soccer-metallic-silver", "ball:soccer-metallic-cobalt", "ball:teqball", "ball:basketball", "ball:basketball-6", "ball:basketball-3x3", "ball:baseball", "ball:softball", "ball:baseball-lemon-peel", "ball:baseball-red-blue", "ball:baseball-black-red", "ball:baseball-vintage-leather", "ball:softball-11-optic", "ball:tennis", "ball:padel", "ball:sliotar", "ball:volleyball", "ball:volleyball-8", "ball:beach-volleyball", "ball:volleyball-colours", "ball:volleyball-brazil", "ball:volleyball-japan", "ball:volleyball-canada", "ball:volleyball-usa", "ball:volleyball-italy", "ball:volleyball-poland", "ball:volleyball-france", "ball:volleyball-serbia", "ball:volleyball-netherlands", "ball:volleyball-germany", "ball:cricket-red", "ball:cricket-white", "ball:cricket-pink", "ball:football", "ball:football-cfl", "ball:football-ifaf", "ball:rugby", "ball:afl", "ball:gaelic-football", "ball:netball", "ball:pickleball-outdoor", "ball:pickleball-indoor", "ball:squash", "ball:squash-yellow", "ball:squash-green", "ball:squash-red", "ball:squash-blue", "ball:racquetball", "ball:lacrosse", "ball:field-hockey", "ball:table-tennis", "ball:handball", "ball:water-polo", "ball:golf", "ball:puck", "ball:curling-stone", "ball:shot", "ball:discus", "ball:hammer", "ball:sepak-takraw", "ball:roundnet", "ball:shuttlecock-feather", "ball:shuttlecock-nylon"];
46
+ readonly ball: readonly ["ball:soccer", "ball:soccer-colour", "ball:soccer-26", "ball:soccer-18", "ball:soccer-14", "ball:soccer-12", "ball:soccer-6", "ball:soccer-orange", "ball:soccer-26-orange", "ball:soccer-18-orange", "ball:soccer-14-orange", "ball:soccer-12-orange", "ball:soccer-6-orange", "ball:soccer-yellow", "ball:soccer-26-yellow", "ball:soccer-18-yellow", "ball:soccer-14-yellow", "ball:soccer-12-yellow", "ball:soccer-6-yellow", "ball:futsal", "ball:beach-soccer", "ball:soccer-1870-hand-stitched", "ball:soccer-1900-laced", "ball:soccer-1930-18-panel", "ball:soccer-1950-12-panel", "ball:soccer-1960-32-panel-leather", "ball:soccer-retro-pentagons", "ball:soccer-retro-leaves", "ball:soccer-retro-rosette", "ball:soccer-retro-star", "ball:soccer-retro-pinwheel", "ball:soccer-retro-kites", "ball:soccer-14-panel-double-border", "ball:soccer-8-panel-plain", "ball:soccer-6-panel-bands", "ball:soccer-6-panel-diamonds", "ball:soccer-20-panel-dots", "ball:soccer-training-high-vis", "ball:soccer-stars-blue", "ball:soccer-stars-red", "ball:soccer-stars-night", "ball:soccer-hexagons-cyan", "ball:soccer-hexagons-magenta", "ball:soccer-hexagons-lime", "ball:soccer-flames-fire", "ball:soccer-flames-ice", "ball:soccer-flames-toxic", "ball:soccer-chevrons-red", "ball:soccer-chevrons-green", "ball:soccer-chevrons-blue", "ball:soccer-swirl-blue", "ball:soccer-swirl-red", "ball:soccer-swirl-teal", "ball:soccer-metallic-gold", "ball:soccer-metallic-silver", "ball:soccer-metallic-cobalt", "ball:teqball", "ball:basketball", "ball:basketball-6", "ball:basketball-3x3", "ball:baseball", "ball:softball", "ball:baseball-lemon-peel", "ball:baseball-red-blue", "ball:baseball-black-red", "ball:baseball-vintage-leather", "ball:softball-11-optic", "ball:tennis", "ball:padel", "ball:sliotar", "ball:volleyball", "ball:volleyball-8", "ball:beach-volleyball", "ball:volleyball-colours", "ball:volleyball-brazil", "ball:volleyball-japan", "ball:volleyball-canada", "ball:volleyball-usa", "ball:volleyball-italy", "ball:volleyball-poland", "ball:volleyball-france", "ball:volleyball-serbia", "ball:volleyball-netherlands", "ball:volleyball-germany", "ball:cricket-red", "ball:cricket-white", "ball:cricket-pink", "ball:football", "ball:football-cfl", "ball:football-ifaf", "ball:rugby", "ball:afl", "ball:gaelic-football", "ball:netball", "ball:pickleball-outdoor", "ball:pickleball-indoor", "ball:squash", "ball:squash-yellow", "ball:squash-green", "ball:squash-red", "ball:squash-blue", "ball:racquetball", "ball:lacrosse", "ball:field-hockey", "ball:table-tennis", "ball:handball", "ball:water-polo", "ball:golf", "ball:puck", "ball:curling-stone", "ball:shot", "ball:discus", "ball:hammer", "ball:sepak-takraw", "ball:roundnet", "ball:shuttlecock-feather", "ball:shuttlecock-nylon"];
47
47
  readonly puck: readonly ["puck:canada", "puck:canada-red", "puck:canada-white", "puck:usa", "puck:usa-navy", "puck:player", "puck:signed", "puck:souvenir"];
48
48
  readonly gear: readonly ["gear:hockey-stick", "gear:goalie-stick", "gear:hockey-skate", "gear:goalie-mask", "gear:goal-net", "gear:field-hockey-stick", "gear:lacrosse-stick", "gear:cricket-bat", "gear:wicket", "gear:table-tennis-paddle", "gear:badminton-racket", "gear:tennis-racket", "gear:squash-racket", "gear:racquetball-racket", "gear:padel-racket", "gear:pickleball-paddle", "gear:roundnet-set", "gear:takraw-net", "gear:netball-post", "gear:teqball-table", "gear:volleyball-net", "gear:basketball-hoop", "gear:baseball-bat", "gear:baseball-glove", "gear:football-helmet", "gear:goalposts", "gear:hurley", "gear:curling-broom", "gear:figure-skate", "gear:speed-skate", "gear:diving-board", "gear:swim-goggles", "gear:starting-blocks", "gear:relay-baton", "gear:javelin", "gear:hurdles", "gear:gunbai", "gear:mawashi", "gear:shinai", "gear:kendo-men", "gear:judogi", "gear:judogi-blue", "gear:judogi-folded", "gear:judogi-blue-folded", "gear:judogi-back", "gear:judogi-blue-back", "gear:obi", "gear:obi-white", "gear:obi-yellow", "gear:obi-orange", "gear:obi-green", "gear:obi-blue", "gear:obi-brown", "gear:obi-kohaku", "gear:obi-red", "gear:obi-women", "gear:obi-white-yellow", "gear:obi-yellow-orange", "gear:obi-orange-green", "gear:obi-green-blue", "gear:obi-blue-brown", "gear:obi-step-1", "gear:obi-step-2", "gear:obi-step-3", "gear:obi-step-4", "gear:obi-step-5", "gear:obi-step-6", "gear:yumi", "gear:ya", "gear:karate-gi"];
49
49
  readonly sport: readonly ("sport:sumo" | "sport:kendo" | "sport:judo" | "sport:kyudo" | "sport:karate" | "sport:nfl" | "sport:cfl" | "sport:ifaf" | "sport:nhl" | "sport:nba" | "sport:mlb" | "sport:soccer" | "sport:curling" | "sport:tennis" | "sport:volleyball" | "sport:badminton" | "sport:pickleball" | "sport:tabletennis" | "sport:padel" | "sport:squash" | "sport:racquetball" | "sport:sepaktakraw" | "sport:teqball" | "sport:roundnet" | "sport:netball" | "sport:swimming" | "sport:waterpolo" | "sport:diving" | "sport:artisticswimming" | "sport:lacrosse" | "sport:rugby" | "sport:afl" | "sport:gaelic" | "sport:cricket" | "sport:fieldhockey" | "sport:handball" | "sport:athletics" | "sport:skating")[];
@@ -64,5 +64,5 @@ export declare const EMBLEM_FOLDERS: {
64
64
  readonly sport: "sport";
65
65
  readonly pennant: "pennant";
66
66
  };
67
- /** The short names of the trophies and awards that stand for a full id: `"cup"` is `"trophy:cup"` and `"crown"` is `"award:crown"`. */
67
+ /** The short names of the trophies and awards that stand for a full id (`"cup"` is `"trophy:cup"`, `"crown"` is `"award:crown"`), and the old ids of the era balls that were renamed. */
68
68
  export declare const EMBLEM_ALIASES: Readonly<Record<string, EmblemId>>;
@@ -15,6 +15,53 @@ export const TROPHY_IDS = [
15
15
  "trophy:tennis-plate", "trophy:tennis-cup", "trophy:cricket-urn", "trophy:rugby-cup",
16
16
  "trophy:plaque", "trophy:belt", "trophy:laurel", "trophy:rosette", "trophy:ring", "trophy:banner",
17
17
  "trophy:sumo-cup", "trophy:championship-banner",
18
+ "trophy:paterson-cup",
19
+ "trophy:stanley-cup",
20
+ "trophy:hart-trophy",
21
+ "trophy:vezina-trophy",
22
+ "trophy:norris-trophy",
23
+ "trophy:calder-trophy",
24
+ "trophy:presidents-trophy",
25
+ "trophy:art-ross-trophy",
26
+ "trophy:lady-byng-trophy",
27
+ "trophy:jennings-trophy",
28
+ "trophy:selke-trophy",
29
+ "trophy:king-clancy-trophy",
30
+ "trophy:masterton-trophy",
31
+ "trophy:jack-adams-trophy",
32
+ "trophy:prince-of-wales-trophy",
33
+ "trophy:campbell-bowl",
34
+ "trophy:rocket-richard-trophy",
35
+ "trophy:conn-smythe-trophy",
36
+ "trophy:ted-lindsay-award",
37
+ "trophy:lester-patrick-trophy",
38
+ "trophy:lombardi-trophy",
39
+ "trophy:larry-obrien-trophy",
40
+ "trophy:commissioners-trophy",
41
+ "trophy:grey-cup",
42
+ "trophy:cy-young-award",
43
+ "trophy:mlb-mvp-award",
44
+ "trophy:walter-cup",
45
+ "trophy:wnba-championship-trophy",
46
+ "trophy:lamar-hunt-trophy",
47
+ "trophy:silver-slugger-award",
48
+ "trophy:world-series-mvp-trophy",
49
+ "trophy:avco-world-trophy",
50
+ "trophy:obrien-cup",
51
+ "trophy:gold-glove-award",
52
+ "trophy:fifa-world-cup",
53
+ "trophy:woodlawn-vase",
54
+ "trophy:dfb-pokal",
55
+ "trophy:champions-league-trophy",
56
+ "trophy:webb-ellis-cup",
57
+ "trophy:fa-cup",
58
+ "trophy:cricket-world-cup",
59
+ "trophy:wimbledon-gentlemens-trophy",
60
+ "trophy:venus-rosewater-dish",
61
+ "trophy:ballon-dor",
62
+ "trophy:ashes-urn",
63
+ "trophy:borg-warner-trophy",
64
+ "trophy:americas-cup",
18
65
  ];
19
66
  /** The medals on a ribbon, and the badges for the first three places. */
20
67
  export const MEDAL_KINDS = ["gold", "silver", "bronze"];
@@ -25,7 +72,7 @@ export const CREST_IDS = ["crest:shield", "crest:roundel", "crest:diamond", "cre
25
72
  /** The balls: one for each ball and implement the sports use, in 3D, with the official size it comes from. The balls of one family (the three crickets, the five squash balls) share a module. */
26
73
  export const BALL_IDS = [
27
74
  "ball:soccer", "ball:soccer-colour", "ball:soccer-26", "ball:soccer-18", "ball:soccer-14", "ball:soccer-12", "ball:soccer-6", "ball:soccer-orange", "ball:soccer-26-orange", "ball:soccer-18-orange", "ball:soccer-14-orange", "ball:soccer-12-orange", "ball:soccer-6-orange", "ball:soccer-yellow", "ball:soccer-26-yellow", "ball:soccer-18-yellow", "ball:soccer-14-yellow", "ball:soccer-12-yellow", "ball:soccer-6-yellow", "ball:futsal", "ball:beach-soccer",
28
- "ball:soccer-1870-hand-stitched", "ball:soccer-1900-laced", "ball:soccer-1930-18-panel", "ball:soccer-1950-12-panel", "ball:soccer-1960-32-panel-leather", "ball:soccer-1970-black-white", "ball:soccer-1978-triad", "ball:soccer-1986-decorated-triad", "ball:soccer-1998-coloured-triad", "ball:soccer-2002-triangle-sweep", "ball:soccer-2006-propeller", "ball:soccer-2010-grooved", "ball:soccer-2014-ribbon", "ball:soccer-2018-pixel", "ball:soccer-2022-speed-shell", "ball:soccer-training-high-vis", "ball:soccer-stars-blue", "ball:soccer-stars-red", "ball:soccer-stars-night", "ball:soccer-hexagons-cyan", "ball:soccer-hexagons-magenta", "ball:soccer-hexagons-lime", "ball:soccer-flames-fire", "ball:soccer-flames-ice", "ball:soccer-flames-toxic", "ball:soccer-chevrons-red", "ball:soccer-chevrons-green", "ball:soccer-chevrons-blue", "ball:soccer-swirl-blue", "ball:soccer-swirl-red", "ball:soccer-swirl-teal", "ball:soccer-metallic-gold", "ball:soccer-metallic-silver", "ball:soccer-metallic-cobalt", "ball:teqball", "ball:basketball", "ball:basketball-6", "ball:basketball-3x3", "ball:baseball", "ball:softball", "ball:baseball-lemon-peel", "ball:baseball-red-blue", "ball:baseball-black-red", "ball:baseball-vintage-leather", "ball:softball-11-optic", "ball:tennis", "ball:padel",
75
+ "ball:soccer-1870-hand-stitched", "ball:soccer-1900-laced", "ball:soccer-1930-18-panel", "ball:soccer-1950-12-panel", "ball:soccer-1960-32-panel-leather", "ball:soccer-retro-pentagons", "ball:soccer-retro-leaves", "ball:soccer-retro-rosette", "ball:soccer-retro-star", "ball:soccer-retro-pinwheel", "ball:soccer-retro-kites", "ball:soccer-14-panel-double-border", "ball:soccer-8-panel-plain", "ball:soccer-6-panel-bands", "ball:soccer-6-panel-diamonds", "ball:soccer-20-panel-dots", "ball:soccer-training-high-vis", "ball:soccer-stars-blue", "ball:soccer-stars-red", "ball:soccer-stars-night", "ball:soccer-hexagons-cyan", "ball:soccer-hexagons-magenta", "ball:soccer-hexagons-lime", "ball:soccer-flames-fire", "ball:soccer-flames-ice", "ball:soccer-flames-toxic", "ball:soccer-chevrons-red", "ball:soccer-chevrons-green", "ball:soccer-chevrons-blue", "ball:soccer-swirl-blue", "ball:soccer-swirl-red", "ball:soccer-swirl-teal", "ball:soccer-metallic-gold", "ball:soccer-metallic-silver", "ball:soccer-metallic-cobalt", "ball:teqball", "ball:basketball", "ball:basketball-6", "ball:basketball-3x3", "ball:baseball", "ball:softball", "ball:baseball-lemon-peel", "ball:baseball-red-blue", "ball:baseball-black-red", "ball:baseball-vintage-leather", "ball:softball-11-optic", "ball:tennis", "ball:padel",
29
76
  "ball:sliotar", "ball:volleyball", "ball:volleyball-8", "ball:beach-volleyball", "ball:volleyball-colours", "ball:volleyball-brazil", "ball:volleyball-japan", "ball:volleyball-canada", "ball:volleyball-usa", "ball:volleyball-italy", "ball:volleyball-poland", "ball:volleyball-france", "ball:volleyball-serbia", "ball:volleyball-netherlands", "ball:volleyball-germany", "ball:cricket-red", "ball:cricket-white", "ball:cricket-pink", "ball:football", "ball:football-cfl",
30
77
  "ball:football-ifaf", "ball:rugby", "ball:afl", "ball:gaelic-football", "ball:netball", "ball:pickleball-outdoor", "ball:pickleball-indoor", "ball:squash", "ball:squash-yellow",
31
78
  "ball:squash-green", "ball:squash-red", "ball:squash-blue", "ball:racquetball", "ball:lacrosse", "ball:field-hockey", "ball:table-tennis", "ball:handball", "ball:water-polo", "ball:golf",
@@ -72,5 +119,18 @@ export const EMBLEM_GROUPS = {
72
119
  export const EMBLEM_IDS = Object.values(EMBLEM_GROUPS).flat();
73
120
  /** The folder under `src/emblems/` that holds a group's art, one module per item named by the id's last part: `trophy:hockey-cup` is `trophy/hockey-cup.ts`, `ball:soccer` is `ball/soccer.ts`. Each group has a folder of its own, so no two ids share a file name. */
74
121
  export const EMBLEM_FOLDERS = { award: "award", trophy: "trophy", medal: "medal", crest: "crest", ball: "ball", puck: "ball", gear: "gear", sport: "sport", pennant: "pennant" };
75
- /** The short names of the trophies and awards that stand for a full id: `"cup"` is `"trophy:cup"` and `"crown"` is `"award:crown"`. */
76
- export const EMBLEM_ALIASES = Object.fromEntries([...TROPHY_IDS, ...AWARD_IDS].map((id) => [id.slice(id.indexOf(":") + 1), id]));
122
+ /** The ids that early versions published for era balls, now under neutral names: each still reads as the ball that replaced it. */
123
+ const RENAMED_BALLS = {
124
+ "ball:soccer-1970-black-white": "ball:soccer-retro-pentagons",
125
+ "ball:soccer-1978-triad": "ball:soccer-retro-leaves",
126
+ "ball:soccer-1986-decorated-triad": "ball:soccer-retro-rosette",
127
+ "ball:soccer-1998-coloured-triad": "ball:soccer-retro-pinwheel",
128
+ "ball:soccer-2002-triangle-sweep": "ball:soccer-retro-kites",
129
+ "ball:soccer-2006-propeller": "ball:soccer-14-panel-double-border",
130
+ "ball:soccer-2010-grooved": "ball:soccer-8-panel-plain",
131
+ "ball:soccer-2014-ribbon": "ball:soccer-6-panel-bands",
132
+ "ball:soccer-2018-pixel": "ball:soccer-6-panel-diamonds",
133
+ "ball:soccer-2022-speed-shell": "ball:soccer-20-panel-dots",
134
+ };
135
+ /** The short names of the trophies and awards that stand for a full id (`"cup"` is `"trophy:cup"`, `"crown"` is `"award:crown"`), and the old ids of the era balls that were renamed. */
136
+ export const EMBLEM_ALIASES = { ...Object.fromEntries([...TROPHY_IDS, ...AWARD_IDS].map((id) => [id.slice(id.indexOf(":") + 1), id])), ...RENAMED_BALLS };
@@ -9,6 +9,10 @@ export interface Solid {
9
9
  p: readonly Pt[];
10
10
  open?: boolean;
11
11
  sides?: number;
12
+ /** The angle in degrees that a body with flat sides is turned about its axis at rest: -45 on a square body shows a flat face to the eye, and 0 a corner. */
13
+ turn?: number;
14
+ /** Stands off the axis: at the distance `r` from it, at the angle `deg` (90 is the right side, 0 faces the eye), and turns round the axis with the rest. Its own profile is about its own axis. */
15
+ at?: readonly [r: number, deg: number];
12
16
  tone?: string;
13
17
  decor?: readonly Decor[];
14
18
  }
@@ -39,6 +43,8 @@ export interface Poles {
39
43
  top1: number;
40
44
  top2: number;
41
45
  size: number;
46
+ /** The tops lie on a tilted ring, not a spiral: `top1` at the pole that faces the eye at rest, `top2` at the one opposite, and the sides between. */
47
+ tilted?: boolean;
42
48
  }
43
49
  /** What a body of revolution is made of. All of it is in the 64 by 64 box with the axis at x = 32. */
44
50
  export interface LatheModel {
@@ -95,6 +95,7 @@ function draw(model, r, o, yaw, pitch) {
95
95
  const at = (R, y, deg) => [CX + R * Math.sin(deg * RAD), y + s * R * Math.cos(deg * RAD), Math.cos(deg * RAD)];
96
96
  const where = (R, y, deg) => pt(...at(R, y, deg).slice(0, 2));
97
97
  for (const solid of model.solids) {
98
+ const mark = mid.length;
98
99
  const p = solid.p;
99
100
  const list = piecesOf(p);
100
101
  const base = tone(solid.tone);
@@ -133,8 +134,8 @@ function draw(model, r, o, yaw, pitch) {
133
134
  // A body with flat faces: each face that looks toward the eye is a quadrilateral, lit by which way it faces.
134
135
  const n = solid.sides;
135
136
  for (let face = 0; face < n; face++) {
136
- const a0 = (360 * face) / n + yaw;
137
- const a1 = (360 * (face + 1)) / n + yaw;
137
+ const a0 = (360 * face) / n + yaw + (solid.turn ?? 0);
138
+ const a1 = (360 * (face + 1)) / n + yaw + (solid.turn ?? 0);
138
139
  const m = (a0 + a1) / 2;
139
140
  if (Math.cos(m * RAD) <= 0)
140
141
  continue;
@@ -147,7 +148,7 @@ function draw(model, r, o, yaw, pitch) {
147
148
  const above = k > 0 ? p[list[k - 1][list[k - 1].length - 1]] : undefined;
148
149
  if (!line && ((above === undefined && solid.open !== true && a[1] > 1) || (above !== undefined && a[1] > above[1] + 0.3))) {
149
150
  const sides = solid.sides;
150
- mid.push(sides === undefined ? ellipse(CX, a[0], a[1], a[1] * s, t.light) : `<path d="M${Array.from({ length: sides }, (_, i) => where(a[1], a[0], (360 * i) / sides + yaw)).join("L")}z" fill="${t.light}"${own(t)}/>`);
151
+ mid.push(sides === undefined ? ellipse(CX, a[0], a[1], a[1] * s, t.light) : `<path d="M${Array.from({ length: sides }, (_, i) => where(a[1], a[0], (360 * i) / sides + yaw + (solid.turn ?? 0))).join("L")}z" fill="${t.light}"${own(t)}/>`);
151
152
  }
152
153
  }
153
154
  if (solid.open === true) {
@@ -242,6 +243,12 @@ function draw(model, r, o, yaw, pitch) {
242
243
  mid.push(`<path d="${m}" stroke-width="${width}" stroke="${t.edge}"/><path d="${m}" stroke-width="${width - 0.9}" stroke="${t.light}"/>`);
243
244
  }
244
245
  }
246
+ // A solid that stands off the axis is moved to its place, behind the body when it is on the far side and in front of it when it is on the near side.
247
+ if (solid.at !== undefined) {
248
+ const deg = solid.at[1] + yaw;
249
+ const piece = mid.splice(mark);
250
+ (Math.cos(deg * RAD) >= 0 ? front : back).push(`<g transform="translate(${f(solid.at[0] * Math.sin(deg * RAD))} ${f(s * solid.at[0] * Math.cos(deg * RAD))})">${piece.join("")}</g>`);
251
+ }
245
252
  }
246
253
  // Handles: a tube through the points of its plane, behind the body when it is on the far side.
247
254
  for (const h of model.handles ?? []) {
@@ -274,7 +281,7 @@ function draw(model, r, o, yaw, pitch) {
274
281
  for (let i = 0; i < o.n; i++) {
275
282
  const deg = yaw + (360 * i) / o.n;
276
283
  const near = Math.cos(deg * RAD) >= 0 ? "front" : "back";
277
- const topY = o.top1 + ((o.top2 - o.top1) * i) / o.n;
284
+ const topY = o.tilted === true ? o.top1 + ((o.top2 - o.top1) * (1 - Math.cos((2 * Math.PI * i) / o.n))) / 2 : o.top1 + ((o.top2 - o.top1) * i) / o.n;
278
285
  const [x0, y0] = at(o.r0, o.y0, deg);
279
286
  const [x1, y1] = at(o.r1, topY, deg);
280
287
  lines[near] += `M${pt(x0, y0)}L${pt(x1, y1)}`;
@@ -398,8 +405,8 @@ function draw(model, r, o, yaw, pitch) {
398
405
  else {
399
406
  const n = solid.sides;
400
407
  const k = plate.face ?? 0;
401
- const a0 = (360 * k) / n + yaw;
402
- const a1 = (360 * (k + 1)) / n + yaw;
408
+ const a0 = (360 * k) / n + yaw + (solid.turn ?? 0);
409
+ const a1 = (360 * (k + 1)) / n + yaw + (solid.turn ?? 0);
403
410
  const [ax, ay] = at(radius, y, a0);
404
411
  const [bx, by] = at(radius, y, a1);
405
412
  mid.push(sideText(words, 2 * radius * Math.sin(Math.PI / n), plate.y1 - plate.y0, ink, [ax, ay], [bx, by], Math.cos(((a0 + a1) / 2) * RAD)));
@@ -0,0 +1,25 @@
1
+ import type { TrophyId } from "./emblem.ids.ts";
2
+ /** What a named trophy is given for: the winner of a competition, a player, a coach or manager, a team, an executive, or something else. */
3
+ export type NamedKind = "champion" | "player" | "coach" | "team" | "executive" | "other";
4
+ /** One real trophy that an emblem is a likeness of. */
5
+ export interface NamedTrophy {
6
+ /** The emblem that draws it. */
7
+ readonly id: TrophyId;
8
+ /** The trophy's own name, in English, as it is usually written. */
9
+ readonly name: string;
10
+ /** The sport, in lower case: `hockey`, `basketball`, `baseball`, `football`, `soccer`... */
11
+ readonly sport: string;
12
+ /** The competition or league that gives it, as plain words, and no mark or logo. */
13
+ readonly competition: string;
14
+ readonly kind: NamedKind;
15
+ /** What it honours, in a sentence. */
16
+ readonly honours: string;
17
+ /** When it was first awarded: a year, or a season (`1917-18`). */
18
+ readonly first: string;
19
+ /** What the drawing was measured on: a photograph (or a few) looked at and never copied, with its licence status. */
20
+ readonly reference: string;
21
+ }
22
+ /** Every named trophy, in the order they were drawn. */
23
+ export declare const NAMED_TROPHIES: readonly NamedTrophy[];
24
+ /** The facts of a named trophy by its emblem id, or `undefined` for a generic trophy. */
25
+ export declare function namedTrophy(id: string): NamedTrophy | undefined;