@johnmorrisdotca/dougu-sports 0.1.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/CHANGELOG.md +53 -1
  2. package/NOTICE.md +9 -58
  3. package/README.md +174 -37
  4. package/dist/emblems/award/badge.d.ts +2 -2
  5. package/dist/emblems/award/badge.js +14 -5
  6. package/dist/emblems/award/crown.d.ts +1 -1
  7. package/dist/emblems/award/crown.js +14 -4
  8. package/dist/emblems/award/medal.d.ts +2 -2
  9. package/dist/emblems/award/medal.js +14 -5
  10. package/dist/emblems/award/shield.d.ts +1 -1
  11. package/dist/emblems/award/shield.js +10 -4
  12. package/dist/emblems/award/star.d.ts +1 -1
  13. package/dist/emblems/award/star.js +10 -4
  14. package/dist/emblems/ball/ball.afl.js +3 -2
  15. package/dist/emblems/ball/ball.basketball6.js +1 -1
  16. package/dist/emblems/ball/ball.core.d.ts +9 -3
  17. package/dist/emblems/ball/ball.core.js +13 -0
  18. package/dist/emblems/ball/ball.cricket.js +1 -1
  19. package/dist/emblems/ball/ball.curlingstone.d.ts +2 -0
  20. package/dist/emblems/ball/ball.curlingstone.js +11 -7
  21. package/dist/emblems/ball/ball.discus.js +1 -1
  22. package/dist/emblems/ball/ball.engine.js +3 -3
  23. package/dist/emblems/ball/ball.football.js +9 -7
  24. package/dist/emblems/ball/ball.gaelic.js +1 -1
  25. package/dist/emblems/ball/ball.object.d.ts +5 -2
  26. package/dist/emblems/ball/ball.object.js +3 -2
  27. package/dist/emblems/ball/ball.puck.d.ts +2 -0
  28. package/dist/emblems/ball/ball.puck.js +2 -2
  29. package/dist/emblems/ball/ball.rugby.js +3 -2
  30. package/dist/emblems/ball/ball.shuttlecock.d.ts +4 -0
  31. package/dist/emblems/ball/ball.shuttlecock.js +6 -5
  32. package/dist/emblems/ball/ball.squash.js +5 -5
  33. package/dist/emblems/emblem.api.d.ts +39 -1
  34. package/dist/emblems/emblem.api.js +20 -2
  35. package/dist/emblems/emblem.compose.d.ts +31 -0
  36. package/dist/emblems/emblem.compose.js +91 -0
  37. package/dist/emblems/emblem.core.d.ts +48 -2
  38. package/dist/emblems/emblem.core.js +30 -0
  39. package/dist/emblems/emblem.descriptions.d.ts +7 -0
  40. package/dist/emblems/emblem.descriptions.js +60 -0
  41. package/dist/emblems/emblem.display.d.ts +75 -0
  42. package/dist/emblems/emblem.display.js +214 -0
  43. package/dist/emblems/emblem.engrave.d.ts +50 -0
  44. package/dist/emblems/emblem.engrave.js +145 -0
  45. package/dist/emblems/emblem.equipment.d.ts +24 -0
  46. package/dist/emblems/emblem.equipment.js +57 -0
  47. package/dist/emblems/emblem.flip.d.ts +10 -0
  48. package/dist/emblems/emblem.flip.js +46 -0
  49. package/dist/emblems/emblem.ids.d.ts +19 -11
  50. package/dist/emblems/emblem.ids.js +21 -6
  51. package/dist/emblems/emblem.lathe.d.ts +3 -0
  52. package/dist/emblems/emblem.lathe.js +26 -4
  53. package/dist/emblems/emblem.medal.js +4 -4
  54. package/dist/emblems/emblem.pennant.d.ts +3 -0
  55. package/dist/emblems/emblem.pennant.js +79 -0
  56. package/dist/emblems/emblem.registry.js +20 -0
  57. package/dist/emblems/emblem.shapes.d.ts +19 -2
  58. package/dist/emblems/emblem.shapes.js +55 -13
  59. package/dist/emblems/emblem.sprite.d.ts +38 -0
  60. package/dist/emblems/emblem.sprite.js +65 -0
  61. package/dist/emblems/emblem.uri.d.ts +22 -0
  62. package/dist/emblems/emblem.uri.js +29 -0
  63. package/dist/emblems/gear/gear.badmintonracket.d.ts +1 -1
  64. package/dist/emblems/gear/gear.badmintonracket.js +18 -14
  65. package/dist/emblems/gear/gear.baseballglove.d.ts +1 -1
  66. package/dist/emblems/gear/gear.baseballglove.js +20 -14
  67. package/dist/emblems/gear/gear.budo.d.ts +17 -0
  68. package/dist/emblems/gear/gear.budo.js +60 -0
  69. package/dist/emblems/gear/gear.core.d.ts +12 -31
  70. package/dist/emblems/gear/gear.core.js +61 -54
  71. package/dist/emblems/gear/gear.cricketbat.d.ts +1 -1
  72. package/dist/emblems/gear/gear.cricketbat.js +16 -14
  73. package/dist/emblems/gear/gear.fieldhockeystick.d.ts +1 -1
  74. package/dist/emblems/gear/gear.fieldhockeystick.js +15 -14
  75. package/dist/emblems/gear/gear.footballhelmet.d.ts +1 -1
  76. package/dist/emblems/gear/gear.footballhelmet.js +15 -14
  77. package/dist/emblems/gear/gear.goaliemask.d.ts +1 -1
  78. package/dist/emblems/gear/gear.goaliemask.js +22 -16
  79. package/dist/emblems/gear/gear.goalnet.d.ts +1 -1
  80. package/dist/emblems/gear/gear.goalnet.js +24 -14
  81. package/dist/emblems/gear/gear.hockeystick.d.ts +1 -1
  82. package/dist/emblems/gear/gear.hockeystick.js +14 -14
  83. package/dist/emblems/gear/gear.index.js +5 -1
  84. package/dist/emblems/gear/gear.kendo.d.ts +2 -0
  85. package/dist/emblems/gear/gear.kendo.js +41 -0
  86. package/dist/emblems/gear/gear.kyudo.d.ts +2 -0
  87. package/dist/emblems/gear/gear.kyudo.js +31 -0
  88. package/dist/emblems/gear/gear.lacrossestick.d.ts +1 -1
  89. package/dist/emblems/gear/gear.lacrossestick.js +25 -14
  90. package/dist/emblems/gear/gear.skates.js +1 -1
  91. package/dist/emblems/gear/gear.sticks.js +2 -2
  92. package/dist/emblems/gear/gear.sumo.d.ts +2 -0
  93. package/dist/emblems/gear/gear.sumo.js +43 -0
  94. package/dist/emblems/gear/gear.tabletennispaddle.d.ts +1 -1
  95. package/dist/emblems/gear/gear.tabletennispaddle.js +15 -14
  96. package/dist/emblems/gear/gear.tennisracket.d.ts +1 -1
  97. package/dist/emblems/gear/gear.tennisracket.js +16 -14
  98. package/dist/emblems/pennant/championship.d.ts +2 -0
  99. package/dist/emblems/pennant/championship.js +4 -0
  100. package/dist/emblems/sport/afl.js +1 -1
  101. package/dist/emblems/sport/artisticswimming.js +1 -1
  102. package/dist/emblems/sport/cfl.d.ts +1 -1
  103. package/dist/emblems/sport/cfl.js +4 -4
  104. package/dist/emblems/sport/cricket.d.ts +1 -1
  105. package/dist/emblems/sport/cricket.js +13 -4
  106. package/dist/emblems/sport/fieldhockey.js +1 -1
  107. package/dist/emblems/sport/gaelic.js +1 -1
  108. package/dist/emblems/sport/handball.d.ts +1 -1
  109. package/dist/emblems/sport/handball.js +14 -4
  110. package/dist/emblems/sport/ifaf.d.ts +1 -1
  111. package/dist/emblems/sport/ifaf.js +4 -4
  112. package/dist/emblems/sport/judo.d.ts +2 -0
  113. package/dist/emblems/sport/judo.js +13 -0
  114. package/dist/emblems/sport/karate.d.ts +2 -0
  115. package/dist/emblems/sport/karate.js +13 -0
  116. package/dist/emblems/sport/kendo.d.ts +2 -0
  117. package/dist/emblems/sport/kendo.js +14 -0
  118. package/dist/emblems/sport/kyudo.d.ts +2 -0
  119. package/dist/emblems/sport/kyudo.js +15 -0
  120. package/dist/emblems/sport/mlb.d.ts +1 -1
  121. package/dist/emblems/sport/mlb.js +27 -4
  122. package/dist/emblems/sport/nba.d.ts +1 -1
  123. package/dist/emblems/sport/nba.js +11 -4
  124. package/dist/emblems/sport/netball.js +1 -1
  125. package/dist/emblems/sport/nfl.d.ts +2 -1
  126. package/dist/emblems/sport/nfl.js +14 -4
  127. package/dist/emblems/sport/nhl.d.ts +1 -1
  128. package/dist/emblems/sport/nhl.js +12 -4
  129. package/dist/emblems/sport/pickleball.js +1 -1
  130. package/dist/emblems/sport/racquetball.js +1 -1
  131. package/dist/emblems/sport/roundnet.js +1 -1
  132. package/dist/emblems/sport/rugby.d.ts +1 -1
  133. package/dist/emblems/sport/rugby.js +11 -4
  134. package/dist/emblems/sport/sepaktakraw.js +1 -1
  135. package/dist/emblems/sport/soccer.d.ts +1 -1
  136. package/dist/emblems/sport/soccer.js +30 -4
  137. package/dist/emblems/sport/squash.js +1 -1
  138. package/dist/emblems/sport/sumo.d.ts +2 -0
  139. package/dist/emblems/sport/sumo.js +15 -0
  140. package/dist/emblems/sport/tabletennis.js +1 -1
  141. package/dist/emblems/sport/tennis.d.ts +1 -1
  142. package/dist/emblems/sport/tennis.js +14 -4
  143. package/dist/emblems/sport/teqball.js +1 -1
  144. package/dist/emblems/sport/volleyball.d.ts +1 -1
  145. package/dist/emblems/sport/volleyball.js +24 -4
  146. package/dist/emblems/trophy/banner.d.ts +2 -0
  147. package/dist/emblems/trophy/banner.js +20 -0
  148. package/dist/emblems/trophy/baseball.js +1 -0
  149. package/dist/emblems/trophy/basketball.js +1 -0
  150. package/dist/emblems/trophy/belt.js +2 -1
  151. package/dist/emblems/trophy/bowl.js +1 -0
  152. package/dist/emblems/trophy/canadian-bowl.js +1 -0
  153. package/dist/emblems/trophy/championship-banner.d.ts +2 -0
  154. package/dist/emblems/trophy/championship-banner.js +67 -0
  155. package/dist/emblems/trophy/cricket-urn.js +1 -0
  156. package/dist/emblems/trophy/cup.d.ts +1 -1
  157. package/dist/emblems/trophy/cup.js +15 -4
  158. package/dist/emblems/trophy/football.js +2 -1
  159. package/dist/emblems/trophy/globe.js +1 -0
  160. package/dist/emblems/trophy/hockey-cup.js +2 -1
  161. package/dist/emblems/trophy/lidded-cup.js +1 -0
  162. package/dist/emblems/trophy/plaque.js +2 -1
  163. package/dist/emblems/trophy/ring.d.ts +2 -0
  164. package/dist/emblems/trophy/ring.js +30 -0
  165. package/dist/emblems/trophy/rugby-cup.js +1 -0
  166. package/dist/emblems/trophy/salver.js +1 -0
  167. package/dist/emblems/trophy/soccer-ball.js +2 -1
  168. package/dist/emblems/trophy/soccer-globe.js +1 -0
  169. package/dist/emblems/trophy/sumo-cup.d.ts +2 -0
  170. package/dist/emblems/trophy/sumo-cup.js +28 -0
  171. package/dist/emblems/trophy/tennis-cup.js +2 -1
  172. package/dist/emblems/trophy/tennis-plate.js +1 -0
  173. package/dist/emblems-entry.d.ts +15 -6
  174. package/dist/emblems-entry.js +7 -2
  175. package/dist/index.d.ts +17 -0
  176. package/dist/index.js +15 -0
  177. package/dist/turn-control.d.ts +101 -0
  178. package/dist/turn-control.js +363 -0
  179. package/dist/turn-entry.d.ts +2 -0
  180. package/dist/turn-entry.js +1 -0
  181. package/dist/version.d.ts +1 -1
  182. package/dist/version.js +1 -1
  183. package/package.json +7 -1
  184. package/LICENSES/Apache-2.0.txt +0 -202
  185. package/LICENSES/CC-BY-3.0.txt +0 -319
  186. package/LICENSES/upstream/game-icons.license.txt +0 -45
  187. package/LICENSES/upstream/noto-emoji-2D-svg.LICENSE +0 -13
  188. package/LICENSES/upstream/pictogrammers-mdi.LICENSE +0 -20
  189. package/dist/emblems/emblem.material.d.ts +0 -9
  190. package/dist/emblems/emblem.material.data.d.ts +0 -34
  191. package/dist/emblems/emblem.material.data.js +0 -85
  192. package/dist/emblems/emblem.material.js +0 -23
@@ -1,5 +1,15 @@
1
- // Handball: the Material Symbols icon `sports_handball` (Google, Apache License 2.0; see NOTICE.md), drawn in the page's ink unless it is tinted.
2
- import { M_SPORTS_HANDBALL } from "../emblem.material.data.js";
3
- import { defineMaterial } from "../emblem.material.js";
1
+ // Handball: a pictogram of a hand throwing the ball, drawn for this package, in a 64 by 64 box: the ball with its seams and lines of speed behind it, and the open hand, fingers spread, that carries it. The
2
+ // metal style paints its main shapes with a grey sheet, the line style draws one outline.
3
+ import { circlePath as circ, defineIcon } from "../emblem.shapes.js";
4
4
  /** Handball. */
5
- export const SPORT_HANDBALL = /* @__PURE__ */ defineMaterial("sport:handball", "Handball", "ハンドボール", M_SPORTS_HANDBALL, "flat");
5
+ export const SPORT_HANDBALL = /* @__PURE__ */ defineIcon("sport:handball", "Handball", "ハンドボール", "ours", {
6
+ metal: "flat",
7
+ ink: true,
8
+ front: [
9
+ ["t", "M3 9h12M1 17h10M4 25h7"],
10
+ ["m", circ(42.5, 22.5, 16.5)],
11
+ ["k", "M43.5 16.1L48.6 19.8L46.7 25.9L40.3 25.9L38.4 19.8z"],
12
+ ["t", "M43.5 16.1L43.5 6M48.6 19.8L58 16.8M46.7 25.9L53.3 35M40.3 25.9L33 36M38.4 19.8L27.2 16.2"],
13
+ ["m", "M30.9 26.3L29.5 24.7L27.3 25.2L22.2 40.3L15.3 43.8L13.8 41L12.4 36.1L11.4 35.4L10.2 35.4L8.7 36.4L8.4 38.1L9.2 42.3L12.2 48L10.7 51.1L11 52.5L7 55.1L5.6 56.5L5.4 59.4L7.3 61.6L10.2 61.8L13.8 59.6L22.4 60.3L30.8 55.3L32.7 48.3L44.7 41.4L44.8 39.2L42.9 38.1L34.8 42.2L42.2 35L42.2 32.9L40.3 31.7L38.8 32.3L31.2 39.7L37.2 29.9L37.1 28.2L35.8 27.1L34.6 27.1L33.3 28.1L27.9 36.7Z"],
14
+ ],
15
+ });
@@ -1,2 +1,2 @@
1
1
  /** American football, international rules. */
2
- export declare const SPORT_IFAF: import("../emblem.core.ts").Emblem<import("../emblem.material.ts").MaterialModel>;
2
+ export declare const SPORT_IFAF: import("../emblem.core.ts").Emblem<import("../emblem.shapes.ts").FlatModel>;
@@ -1,5 +1,5 @@
1
- // American football, international rules: the Material Symbols icon `sports_football` (Google, Apache License 2.0; see NOTICE.md), drawn in the page's ink unless it is tinted.
2
- import { M_SPORTS_FOOTBALL } from "../emblem.material.data.js";
3
- import { defineMaterial } from "../emblem.material.js";
1
+ // International football: a pictogram drawn for this package, in a 64 by 64 box. The metal style paints its main shapes with a grey sheet, the line style draws one outline.
2
+ import { defineIcon } from "../emblem.shapes.js";
3
+ import { SPORT_NFL } from "./nfl.js";
4
4
  /** American football, international rules. */
5
- export const SPORT_IFAF = /* @__PURE__ */ defineMaterial("sport:ifaf", "American football, international rules", "国際ルールのアメリカンフットボール", M_SPORTS_FOOTBALL, "flat");
5
+ export const SPORT_IFAF = /* @__PURE__ */ defineIcon("sport:ifaf", "International football", "国際アメフト", "ours", SPORT_NFL.model);
@@ -0,0 +1,2 @@
1
+ /** Judo. */
2
+ export declare const SPORT_JUDO: import("../emblem.core.ts").Emblem<import("../emblem.shapes.ts").FlatModel>;
@@ -0,0 +1,13 @@
1
+ // Judo: a pictogram of the suit and its belt, drawn for this package, in a 64 by 64 box. The metal style paints its main shapes with a grey sheet, the line style draws one outline.
2
+ import { defineIcon } from "../emblem.shapes.js";
3
+ /** Judo. */
4
+ export const SPORT_JUDO = /* @__PURE__ */ defineIcon("sport:judo", "Judo", "柔道", "ours", {
5
+ metal: "flat",
6
+ ink: true,
7
+ front: [
8
+ ["m", "M23.6 8L7 36.6Q5.6 39.6 8.4 41.6L14.4 45.4Q17.2 46.8 18.8 43.8L19.4 42.6V58H31V46.6H33V58H44.6V42.6L45.2 43.8Q46.8 46.8 49.6 45.4L55.6 41.6Q58.4 39.6 57 36.6L40.4 8Q32 5.6 23.6 8Z"],
9
+ ["n", "M25.4 7.6L36 32M38.6 7.6L28 32"],
10
+ ["k", "M19.4 38.4H44.6V44H19.4z"],
11
+ ["k", "M29.4 44L26 56h3.6L32.4 44zM34.6 44L38 55h-3.6L31.6 44z"],
12
+ ],
13
+ });
@@ -0,0 +1,2 @@
1
+ /** Karate. */
2
+ export declare const SPORT_KARATE: import("../emblem.core.ts").Emblem<import("../emblem.shapes.ts").FlatModel>;
@@ -0,0 +1,13 @@
1
+ // Karate: a pictogram of a clenched fist seen from the front, drawn for this package, in a 64 by 64 box. The metal style paints its main shapes with a grey sheet, the line style draws one outline.
2
+ import { defineIcon } from "../emblem.shapes.js";
3
+ /** Karate. */
4
+ export const SPORT_KARATE = /* @__PURE__ */ defineIcon("sport:karate", "Karate", "空手", "ours", {
5
+ metal: "flat",
6
+ ink: true,
7
+ front: [
8
+ ["m", "M14 30V21a4.5 4.5 0 0 1 9 0v9zM23 30V17a4.5 4.5 0 0 1 9 0v13zM32 30V17a4.5 4.5 0 0 1 9 0v13zM41 30V21a4.5 4.5 0 0 1 9 0v9z"],
9
+ ["m", "M14 28H50V46Q50 59 37 59H27Q14 59 14 46Z"],
10
+ ["m", "M19 34H45a4.4 4.4 0 0 1 0 8.8H19a4.4 4.4 0 0 1 0-8.8z"],
11
+ ["t", "M16 50Q32 55 48 50"],
12
+ ],
13
+ });
@@ -0,0 +1,2 @@
1
+ /** Kendo. */
2
+ export declare const SPORT_KENDO: import("../emblem.core.ts").Emblem<import("../emblem.shapes.ts").FlatModel>;
@@ -0,0 +1,14 @@
1
+ // Kendo: a pictogram of the helmet, drawn for this package, in a 64 by 64 box. The metal style paints its main shapes with a grey sheet, the line style draws one outline.
2
+ import { defineIcon, ellipsePath as ell } from "../emblem.shapes.js";
3
+ /** Kendo. */
4
+ export const SPORT_KENDO = /* @__PURE__ */ defineIcon("sport:kendo", "Kendo", "剣道", "ours", {
5
+ metal: "flat",
6
+ ink: true,
7
+ front: [
8
+ ["m", "M32 4C48 4 58 12 58 26V36Q58 44 51 48L47 48V24H17V48L13 48Q6 44 6 36V26C6 12 16 4 32 4Z"],
9
+ ["m", "M14 49L17 59Q32 65 47 59L50 49Z"],
10
+ ["p", ell(32, 34, 17, 18)],
11
+ ["t", "M16 28H48M15.6 34H48.4M16.6 40H47.4M32 17V51"],
12
+ ["t", "M13 10Q32 4 51 10M10.6 16Q32 10 53.4 16"],
13
+ ],
14
+ });
@@ -0,0 +1,2 @@
1
+ /** Kyudo. */
2
+ export declare const SPORT_KYUDO: import("../emblem.core.ts").Emblem<import("../emblem.shapes.ts").FlatModel>;
@@ -0,0 +1,15 @@
1
+ // Kyudo: a pictogram of the long bow, its string and an arrow, drawn for this package, in a 64 by 64 box. The metal style paints its main shapes with a grey sheet, the line style draws one outline.
2
+ import { defineIcon } from "../emblem.shapes.js";
3
+ /** Kyudo. */
4
+ export const SPORT_KYUDO = /* @__PURE__ */ defineIcon("sport:kyudo", "Kyudo", "弓道", "ours", {
5
+ metal: "flat",
6
+ ink: true,
7
+ front: [
8
+ ["b", "M30 3Q4 12 9 36Q13 54 28 61"],
9
+ ["s", "M7.6 33.6L13.8 34.6L13.2 44L7 43z"],
10
+ ["t", "M30 3L28 61"],
11
+ ["n", "M29 32H57"],
12
+ ["k", "M57 32L47.6 27.6V36.4z"],
13
+ ["t", "M32.4 32L29 28.4M32.4 32L29 35.6M37.4 32l-3.4-3.6M37.4 32l-3.4 3.6"],
14
+ ],
15
+ });
@@ -1,2 +1,2 @@
1
1
  /** Baseball. */
2
- export declare const SPORT_MLB: import("../emblem.core.ts").Emblem<import("../emblem.material.ts").MaterialModel>;
2
+ export declare const SPORT_MLB: import("../emblem.core.ts").Emblem<import("../emblem.shapes.ts").FlatModel>;
@@ -1,5 +1,28 @@
1
- // Baseball: the Material Symbols icon `sports_baseball` (Google, Apache License 2.0; see NOTICE.md), drawn in the page's ink unless it is tinted.
2
- import { M_SPORTS_BASEBALL } from "../emblem.material.data.js";
3
- import { defineMaterial } from "../emblem.material.js";
1
+ // Baseball: a pictogram drawn for this package, in a 64 by 64 box. The metal style paints its main shapes with a grey sheet, the line style draws one outline.
2
+ import { circlePath as circ, defineIcon } from "../emblem.shapes.js";
3
+ /** The stitches across the two seams: short ticks at right angles to each curve, which bows toward the middle as it runs from top to bottom. */
4
+ const STITCHES = (() => {
5
+ let d = "";
6
+ for (const side of [1, -1]) {
7
+ for (let i = 1; i < 8; i++) {
8
+ const t = i / 8;
9
+ const bow = 21.2 * t * (1 - t);
10
+ const x = side === 1 ? 15.4 + bow : 48.6 - bow;
11
+ const y = 14 + 36 * t;
12
+ const slope = side * 21.2 * (1 - 2 * t);
13
+ const l = Math.hypot(36, slope);
14
+ d += `M${(x - (36 / l) * 2.6).toFixed(1)} ${(y + (slope / l) * 2.6).toFixed(1)}L${(x + (36 / l) * 2.6).toFixed(1)} ${(y - (slope / l) * 2.6).toFixed(1)}`;
15
+ }
16
+ }
17
+ return d;
18
+ })();
4
19
  /** Baseball. */
5
- export const SPORT_MLB = /* @__PURE__ */ defineMaterial("sport:mlb", "Baseball", "野球", M_SPORTS_BASEBALL, "flat");
20
+ export const SPORT_MLB = /* @__PURE__ */ defineIcon("sport:mlb", "Baseball", "野球", "ours", {
21
+ metal: "flat",
22
+ ink: true,
23
+ front: [
24
+ ["m", circ(32, 32, 24)],
25
+ ["t", "M15.4 14Q26 32 15.4 50M48.6 14Q38 32 48.6 50"],
26
+ ["t", STITCHES],
27
+ ],
28
+ });
@@ -1,2 +1,2 @@
1
1
  /** Basketball. */
2
- export declare const SPORT_NBA: import("../emblem.core.ts").Emblem<import("../emblem.material.ts").MaterialModel>;
2
+ export declare const SPORT_NBA: import("../emblem.core.ts").Emblem<import("../emblem.shapes.ts").FlatModel>;
@@ -1,5 +1,12 @@
1
- // Basketball: the Material Symbols icon `sports_basketball` (Google, Apache License 2.0; see NOTICE.md), drawn in the page's ink unless it is tinted.
2
- import { M_SPORTS_BASKETBALL } from "../emblem.material.data.js";
3
- import { defineMaterial } from "../emblem.material.js";
1
+ // Basketball: a pictogram drawn for this package, in a 64 by 64 box. The metal style paints its main shapes with a grey sheet, the line style draws one outline.
2
+ import { circlePath as circ, defineIcon } from "../emblem.shapes.js";
4
3
  /** Basketball. */
5
- export const SPORT_NBA = /* @__PURE__ */ defineMaterial("sport:nba", "Basketball", "バスケットボール", M_SPORTS_BASKETBALL, "flat");
4
+ export const SPORT_NBA = /* @__PURE__ */ defineIcon("sport:nba", "Basketball", "バスケットボール", "ours", {
5
+ metal: "flat",
6
+ ink: true,
7
+ front: [
8
+ ["m", circ(32, 32, 24)],
9
+ ["t", "M32 8V56M8 32H56"],
10
+ ["t", "M14 14.6Q25 32 14 49.4M50 14.6Q39 32 50 49.4"],
11
+ ],
12
+ });
@@ -1,7 +1,7 @@
1
1
  // Ball and hoop: a pictogram of the equipment, drawn for this package, in a 64 by 64 box. The metal style paints its main shapes with a grey sheet, the line style draws one outline.
2
2
  import { circlePath as circ, defineIcon, ellipsePath as ell } from "../emblem.shapes.js";
3
3
  /** Ball and hoop. */
4
- export const SPORT_NETBALL = /* @__PURE__ */ defineIcon("sport:netball", "Ball and hoop", "ネットボールのボールとゴールリング", "ours", {
4
+ export const SPORT_NETBALL = /* @__PURE__ */ defineIcon("sport:netball", "Ball and hoop", "ネットボールのゴール", "ours", {
5
5
  metal: "flat",
6
6
  ink: true,
7
7
  front: [
@@ -1,2 +1,3 @@
1
+ import { type FlatModel } from "../emblem.shapes.ts";
1
2
  /** American football. */
2
- export declare const SPORT_NFL: import("../emblem.core.ts").Emblem<import("../emblem.material.ts").MaterialModel>;
3
+ export declare const SPORT_NFL: import("../emblem.core.ts").Emblem<FlatModel>;
@@ -1,5 +1,15 @@
1
- // American football: the Material Symbols icon `sports_football` (Google, Apache License 2.0; see NOTICE.md), drawn in the page's ink unless it is tinted.
2
- import { M_SPORTS_FOOTBALL } from "../emblem.material.data.js";
3
- import { defineMaterial } from "../emblem.material.js";
1
+ // American football: a pictogram of the ball, drawn for this package, in a 64 by 64 box. The Canadian and the international-rules pictograms are the same drawing.
2
+ import { defineIcon } from "../emblem.shapes.js";
3
+ /** A pointed ball on the diagonal, with laces and a band near each end. */
4
+ const FOOTBALL = {
5
+ metal: "flat",
6
+ ink: true,
7
+ front: [
8
+ ["m", "M8 56Q15.4 15.4 56 8Q48.6 48.6 8 56Z"],
9
+ ["n", "M26 38L38 26"],
10
+ ["t", "M29.4 31.2l3.4 3.4M32.2 28.4l3.4 3.4M26.6 34l3.4 3.4M23.8 36.8l3.4 3.4M35 25.6l3.4 3.4"],
11
+ ["t", "M14.6 40.6l5.6 5.6M43.8 17.8l5.6 5.6"],
12
+ ],
13
+ };
4
14
  /** American football. */
5
- export const SPORT_NFL = /* @__PURE__ */ defineMaterial("sport:nfl", "American football", "アメリカンフットボール", M_SPORTS_FOOTBALL, "flat");
15
+ export const SPORT_NFL = /* @__PURE__ */ defineIcon("sport:nfl", "American football", "アメリカンフットボール", "ours", FOOTBALL);
@@ -1,2 +1,2 @@
1
1
  /** Ice hockey. */
2
- export declare const SPORT_NHL: import("../emblem.core.ts").Emblem<import("../emblem.material.ts").MaterialModel>;
2
+ export declare const SPORT_NHL: import("../emblem.core.ts").Emblem<import("../emblem.shapes.ts").FlatModel>;
@@ -1,5 +1,13 @@
1
- // Ice hockey: the Material Symbols icon `sports_hockey` (Google, Apache License 2.0; see NOTICE.md), drawn in the page's ink unless it is tinted.
2
- import { M_SPORTS_HOCKEY } from "../emblem.material.data.js";
3
- import { defineMaterial } from "../emblem.material.js";
1
+ // Ice hockey: a pictogram of two crossed sticks and a puck, drawn for this package, in a 64 by 64 box. The metal style paints its main shapes with a grey sheet, the line style draws one outline.
2
+ import { bar, defineIcon, ellipsePath as ell } from "../emblem.shapes.js";
4
3
  /** Ice hockey. */
5
- export const SPORT_NHL = /* @__PURE__ */ defineMaterial("sport:nhl", "Ice hockey", "アイスホッケー", M_SPORTS_HOCKEY, "flat");
4
+ export const SPORT_NHL = /* @__PURE__ */ defineIcon("sport:nhl", "Ice hockey", "アイスホッケー", "ours", {
5
+ metal: "flat",
6
+ ink: true,
7
+ front: [
8
+ ["m", `${bar(10, 6, 36, 44, 4.4)}M34.6 41.6L40 45.6H55V51H34Z`],
9
+ ["m", `${bar(54, 6, 28, 44, 4.4)}M29.4 41.6L24 45.6H9V51H30Z`],
10
+ ["k", `M20 54.6v3.4a12 4 0 0 0 24 0v-3.4a12 4 0 0 0-24 0z`],
11
+ ["p", ell(32, 54.6, 12, 4)],
12
+ ],
13
+ });
@@ -1,7 +1,7 @@
1
1
  // Pickleball paddle and ball: a pictogram of the equipment, drawn for this package, in a 64 by 64 box. The metal style paints its main shapes with a grey sheet, the line style draws one outline.
2
2
  import { circlePath as circ, defineIcon } from "../emblem.shapes.js";
3
3
  /** Pickleball paddle and ball. */
4
- export const SPORT_PICKLEBALL = /* @__PURE__ */ defineIcon("sport:pickleball", "Pickleball paddle and ball", "ピックルボールのパドルとボール", "ours", {
4
+ export const SPORT_PICKLEBALL = /* @__PURE__ */ defineIcon("sport:pickleball", "Pickleball paddle", "ピックルボールのパドル", "ours", {
5
5
  metal: "flat",
6
6
  ink: true,
7
7
  front: [
@@ -1,7 +1,7 @@
1
1
  // Racquetball racket and ball: a pictogram of the equipment, drawn for this package, in a 64 by 64 box. The metal style paints its main shapes with a grey sheet, the line style draws one outline.
2
2
  import { circlePath as circ, defineIcon } from "../emblem.shapes.js";
3
3
  /** Racquetball racket and ball. */
4
- export const SPORT_RACQUETBALL = /* @__PURE__ */ defineIcon("sport:racquetball", "Racquetball racket and ball", "ラケットボールのラケットとボール", "ours", {
4
+ export const SPORT_RACQUETBALL = /* @__PURE__ */ defineIcon("sport:racquetball", "Racquetball racket", "ラケットボールのラケット", "ours", {
5
5
  metal: "flat",
6
6
  ink: true,
7
7
  front: [
@@ -1,7 +1,7 @@
1
1
  // Round net: a pictogram of the equipment, drawn for this package, in a 64 by 64 box. The metal style paints its main shapes with a grey sheet, the line style draws one outline.
2
2
  import { circlePath as circ, defineIcon, ellipsePath as ell } from "../emblem.shapes.js";
3
3
  /** Round net. */
4
- export const SPORT_ROUNDNET = /* @__PURE__ */ defineIcon("sport:roundnet", "Round net", "ラウンドネットの円形ネット", "ours", {
4
+ export const SPORT_ROUNDNET = /* @__PURE__ */ defineIcon("sport:roundnet", "Round net", "ラウンドネット", "ours", {
5
5
  metal: "flat",
6
6
  ink: true, ribbon: "#e0a81c",
7
7
  front: [
@@ -1,2 +1,2 @@
1
1
  /** Rugby. */
2
- export declare const SPORT_RUGBY: import("../emblem.core.ts").Emblem<import("../emblem.material.ts").MaterialModel>;
2
+ export declare const SPORT_RUGBY: import("../emblem.core.ts").Emblem<import("../emblem.shapes.ts").FlatModel>;
@@ -1,5 +1,12 @@
1
- // Rugby: the Material Symbols icon `sports_rugby` (Google, Apache License 2.0; see NOTICE.md), drawn in the page's ink unless it is tinted.
2
- import { M_SPORTS_RUGBY } from "../emblem.material.data.js";
3
- import { defineMaterial } from "../emblem.material.js";
1
+ // Rugby: a pictogram of the ball, drawn for this package, in a 64 by 64 box. The metal style paints its main shapes with a grey sheet, the line style draws one outline.
2
+ import { defineIcon, tiltedEllipse } from "../emblem.shapes.js";
4
3
  /** Rugby. */
5
- export const SPORT_RUGBY = /* @__PURE__ */ defineMaterial("sport:rugby", "Rugby", "ラグビー", M_SPORTS_RUGBY, "flat");
4
+ export const SPORT_RUGBY = /* @__PURE__ */ defineIcon("sport:rugby", "Rugby", "ラグビー", "ours", {
5
+ metal: "flat",
6
+ ink: true,
7
+ front: [
8
+ ["m", tiltedEllipse(32, 32, 28, 17, -45)],
9
+ ["t", "M13.4 50.6Q23 31 50.6 13.4M13.4 50.6Q33 41 50.6 13.4"],
10
+ ["t", "M24.6 34.6l4.8 4.8M28.1 31.1l4.8 4.8M31.6 27.6l4.8 4.8M35.1 24.1l4.8 4.8"],
11
+ ],
12
+ });
@@ -1,7 +1,7 @@
1
1
  // Woven ball: a pictogram of the equipment, drawn for this package, in a 64 by 64 box. The metal style paints its main shapes with a grey sheet, the line style draws one outline.
2
2
  import { circlePath as circ, defineIcon } from "../emblem.shapes.js";
3
3
  /** Woven ball. */
4
- export const SPORT_SEPAKTAKRAW = /* @__PURE__ */ defineIcon("sport:sepaktakraw", "Woven ball", "セパタクローの編み目のボール", "ours", {
4
+ export const SPORT_SEPAKTAKRAW = /* @__PURE__ */ defineIcon("sport:sepaktakraw", "Woven ball", "セパタクローのボール", "ours", {
5
5
  metal: "flat",
6
6
  ink: true,
7
7
  front: [
@@ -1,2 +1,2 @@
1
1
  /** Soccer. */
2
- export declare const SPORT_SOCCER: import("../emblem.core.ts").Emblem<import("../emblem.material.ts").MaterialModel>;
2
+ export declare const SPORT_SOCCER: import("../emblem.core.ts").Emblem<import("../emblem.shapes.ts").FlatModel>;
@@ -1,5 +1,31 @@
1
- // Soccer: the Material Symbols icon `sports_soccer` (Google, Apache License 2.0; see NOTICE.md), drawn in the page's ink unless it is tinted.
2
- import { M_SPORTS_SOCCER } from "../emblem.material.data.js";
3
- import { defineMaterial } from "../emblem.material.js";
1
+ // Soccer: a pictogram of the ball, drawn for this package, in a 64 by 64 box. The metal style paints its main shapes with a grey sheet, the line style draws one outline.
2
+ import { circlePath as circ, defineIcon, polygon } from "../emblem.shapes.js";
3
+ /** The seams from each corner of the middle patch out to a smaller patch at the edge. */
4
+ const SEAMS = (() => {
5
+ let d = "";
6
+ for (let i = 0; i < 5; i++) {
7
+ const a = ((72 * i - 90) * Math.PI) / 180;
8
+ d += `M${(32 + 9.4 * Math.cos(a)).toFixed(1)} ${(32 + 9.4 * Math.sin(a)).toFixed(1)}L${(32 + 15.4 * Math.cos(a)).toFixed(1)} ${(32 + 15.4 * Math.sin(a)).toFixed(1)}`;
9
+ }
10
+ return d;
11
+ })();
12
+ const EDGE = (() => {
13
+ let d = "";
14
+ for (let i = 0; i < 5; i++) {
15
+ const a = 72 * i;
16
+ const r = (a * Math.PI) / 180;
17
+ d += polygon(32 + 19.6 * Math.sin(r), 32 - 19.6 * Math.cos(r), 4.6, 5, a + 180);
18
+ }
19
+ return d;
20
+ })();
4
21
  /** Soccer. */
5
- export const SPORT_SOCCER = /* @__PURE__ */ defineMaterial("sport:soccer", "Soccer", "サッカー", M_SPORTS_SOCCER, "flat");
22
+ export const SPORT_SOCCER = /* @__PURE__ */ defineIcon("sport:soccer", "Soccer", "サッカー", "ours", {
23
+ metal: "flat",
24
+ ink: true,
25
+ front: [
26
+ ["m", circ(32, 32, 24)],
27
+ ["k", polygon(32, 32, 9.4, 5)],
28
+ ["t", SEAMS],
29
+ ["k", EDGE],
30
+ ],
31
+ });
@@ -1,7 +1,7 @@
1
1
  // Squash racket and ball: a pictogram of the equipment, drawn for this package, in a 64 by 64 box. The metal style paints its main shapes with a grey sheet, the line style draws one outline.
2
2
  import { circlePath as circ, defineIcon, ellipsePath as ell } from "../emblem.shapes.js";
3
3
  /** Squash racket and ball. */
4
- export const SPORT_SQUASH = /* @__PURE__ */ defineIcon("sport:squash", "Squash racket and ball", "スカッシュのラケットとボール", "ours", {
4
+ export const SPORT_SQUASH = /* @__PURE__ */ defineIcon("sport:squash", "Squash racket", "スカッシュのラケット", "ours", {
5
5
  metal: "flat",
6
6
  ink: true,
7
7
  front: [
@@ -0,0 +1,2 @@
1
+ /** Sumo. */
2
+ export declare const SPORT_SUMO: import("../emblem.core.ts").Emblem<import("../emblem.shapes.ts").FlatModel>;
@@ -0,0 +1,15 @@
1
+ // Sumo: a pictogram of two rikishi in the shikiri, the crouch they face each other in before the charge, on the edge of the ring, drawn for this package, in a 64 by 64 box. The metal style paints its main
2
+ // shapes with a grey sheet, the line style draws one outline.
3
+ import { defineIcon } from "../emblem.shapes.js";
4
+ /** Sumo. */
5
+ export const SPORT_SUMO = /* @__PURE__ */ defineIcon("sport:sumo", "Sumo", "相撲", "ours", {
6
+ metal: "flat",
7
+ ink: true,
8
+ front: [
9
+ ["m", "M21.8 22.5L19.8 21.4L18.5 21.8L17.7 22.9L17.7 24.8L19.2 26.2L19.5 29.6L18.2 30.2L17.1 32.1L13.5 32.8L11.8 33.6L9.1 36L8.2 37.6L7.4 40.9L8.1 44.1L6.6 46.2L4.6 57.9L3.6 59.2L3.8 60.8L4.6 61.6L11.9 61.9L13.7 60.8L14 59.7L13.4 58.2L12.4 57.7L10.5 57.6L11.4 51.7L17.6 55.6L18 60.3L19 61.6L25.4 61.9L27.2 60.8L27.5 59.7L26.9 58.2L25.9 57.7L23.7 57.6L23.3 54.7L24.5 51.8L26.1 52.3L28.2 51.4L28.8 50.5L28.9 48.7L26.3 36L23.8 32.6L26 32.3L27.6 31.1L28.7 29.5L29 26.4L28.2 24.6L26 22.6L24.1 22.3ZM23.3 48.6L23 48.2L23.8 47.6Z"],
10
+ ["m", "M42.2 22.5L44.2 21.4L45.5 21.8L46.3 22.9L46.3 24.8L44.8 26.2L44.5 29.6L45.8 30.2L46.9 32.1L50.5 32.8L52.2 33.6L54.9 36L55.8 37.6L56.6 40.9L55.9 44.1L57.4 46.2L59.4 57.9L60.4 59.2L60.2 60.8L59.4 61.6L52.1 61.9L50.3 60.8L50 59.7L50.6 58.2L51.6 57.7L53.5 57.6L52.6 51.7L46.4 55.6L46 60.3L45 61.6L38.6 61.9L36.8 60.8L36.5 59.7L37.1 58.2L38.1 57.7L40.3 57.6L40.7 54.7L39.5 51.8L37.9 52.3L35.8 51.4L35.2 50.5L35.1 48.7L37.7 36L40.2 32.6L38 32.3L36.4 31.1L35.3 29.5L35 26.4L35.8 24.6L38 22.6L40 22.3ZM40.7 48.6L41 48.2L40.2 47.6Z"],
11
+ ["k", "M8 44.2L7.5 47.6L21.4 51.5L22.6 51.3L23.4 50.3L23.2 49L22.2 48.3Z"],
12
+ ["k", "M56 44.2L56.5 47.6L42.6 51.5L41.4 51.3L40.6 50.3L40.8 49L41.8 48.3Z"],
13
+ ["b", "M2 62.8H62"],
14
+ ],
15
+ });
@@ -1,7 +1,7 @@
1
1
  // Table tennis paddle and ball: a pictogram of the equipment, drawn for this package, in a 64 by 64 box. The metal style paints its main shapes with a grey sheet, the line style draws one outline.
2
2
  import { circlePath as circ, defineIcon } from "../emblem.shapes.js";
3
3
  /** Table tennis paddle and ball. */
4
- export const SPORT_TABLETENNIS = /* @__PURE__ */ defineIcon("sport:tabletennis", "Table tennis paddle and ball", "卓球のラケットとボール", "ours", {
4
+ export const SPORT_TABLETENNIS = /* @__PURE__ */ defineIcon("sport:tabletennis", "Table tennis paddle", "卓球のラケット", "ours", {
5
5
  metal: "flat",
6
6
  ink: true, ribbon: "#c0392b",
7
7
  front: [
@@ -1,2 +1,2 @@
1
1
  /** Tennis. */
2
- export declare const SPORT_TENNIS: import("../emblem.core.ts").Emblem<import("../emblem.material.ts").MaterialModel>;
2
+ export declare const SPORT_TENNIS: import("../emblem.core.ts").Emblem<import("../emblem.shapes.ts").FlatModel>;
@@ -1,5 +1,15 @@
1
- // Tennis: the Material Symbols icon `sports_tennis` (Google, Apache License 2.0; see NOTICE.md), drawn in the page's ink unless it is tinted.
2
- import { M_SPORTS_TENNIS } from "../emblem.material.data.js";
3
- import { defineMaterial } from "../emblem.material.js";
1
+ // Tennis: a pictogram of a racket and a ball, drawn for this package, in a 64 by 64 box. The metal style paints its main shapes with a grey sheet, the line style draws one outline.
2
+ import { circlePath as circ, defineIcon, ellipsePath as ell } from "../emblem.shapes.js";
4
3
  /** Tennis. */
5
- export const SPORT_TENNIS = /* @__PURE__ */ defineMaterial("sport:tennis", "Tennis", "テニス", M_SPORTS_TENNIS, "flat");
4
+ export const SPORT_TENNIS = /* @__PURE__ */ defineIcon("sport:tennis", "Tennis", "テニス", "ours", {
5
+ metal: "flat",
6
+ ink: true,
7
+ front: [
8
+ ["p", ell(27, 19, 14, 17)],
9
+ ["t", "M27 2v34M20 4v30M34 4v30M13 19h28M15 11h24M15 27h24"],
10
+ ["n", "M20 35.4l5.8 8.8M34 35.4l-5.8 8.8"],
11
+ ["s", "M24.4 44h5.2v14.4a2.6 2.6 0 0 1-5.2 0z"],
12
+ ["m", circ(49, 51, 8)],
13
+ ["t", "M42.8 46.6Q47 51 43 56M55.2 46.4Q51 51 55 55.6"],
14
+ ],
15
+ });
@@ -1,7 +1,7 @@
1
1
  // Curved table and ball: a pictogram of the equipment, drawn for this package, in a 64 by 64 box. The metal style paints its main shapes with a grey sheet, the line style draws one outline.
2
2
  import { circlePath as circ, defineIcon } from "../emblem.shapes.js";
3
3
  /** Curved table and ball. */
4
- export const SPORT_TEQBALL = /* @__PURE__ */ defineIcon("sport:teqball", "Curved table and ball", "テックボールの湾曲した台とボール", "ours", {
4
+ export const SPORT_TEQBALL = /* @__PURE__ */ defineIcon("sport:teqball", "Curved table", "テックボールの台", "ours", {
5
5
  metal: "flat",
6
6
  ink: true,
7
7
  front: [
@@ -1,2 +1,2 @@
1
1
  /** Volleyball. */
2
- export declare const SPORT_VOLLEYBALL: import("../emblem.core.ts").Emblem<import("../emblem.material.ts").MaterialModel>;
2
+ export declare const SPORT_VOLLEYBALL: import("../emblem.core.ts").Emblem<import("../emblem.shapes.ts").FlatModel>;
@@ -1,5 +1,25 @@
1
- // Volleyball: the Material Symbols icon `sports_volleyball` (Google, Apache License 2.0; see NOTICE.md), drawn in the page's ink unless it is tinted.
2
- import { M_SPORTS_VOLLEYBALL } from "../emblem.material.data.js";
3
- import { defineMaterial } from "../emblem.material.js";
1
+ // Volleyball: a pictogram of the ball, drawn for this package, in a 64 by 64 box. The metal style paints its main shapes with a grey sheet, the line style draws one outline.
2
+ import { circlePath as circ, defineIcon } from "../emblem.shapes.js";
3
+ /** One panel seam, from the edge past the middle to the edge, turned about the centre three times, each with a second seam beside it. */
4
+ const SEAMS = (() => {
5
+ const turn = (x, y, deg) => {
6
+ const a = (deg * Math.PI) / 180;
7
+ return `${(32 + (x - 32) * Math.cos(a) - (y - 32) * Math.sin(a)).toFixed(1)} ${(32 + (x - 32) * Math.sin(a) + (y - 32) * Math.cos(a)).toFixed(1)}`;
8
+ };
9
+ let d = "";
10
+ for (const base of [0, 120, 240]) {
11
+ for (const shift of [0, 17]) {
12
+ d += `M${turn(32, 8, base + shift)}Q${turn(35, 35, base + shift)} ${turn(52.8, 44, base + shift)}`;
13
+ }
14
+ }
15
+ return d;
16
+ })();
4
17
  /** Volleyball. */
5
- export const SPORT_VOLLEYBALL = /* @__PURE__ */ defineMaterial("sport:volleyball", "Volleyball", "バレーボール", M_SPORTS_VOLLEYBALL, "flat");
18
+ export const SPORT_VOLLEYBALL = /* @__PURE__ */ defineIcon("sport:volleyball", "Volleyball", "バレーボール", "ours", {
19
+ metal: "flat",
20
+ ink: true,
21
+ front: [
22
+ ["m", circ(32, 32, 24)],
23
+ ["t", SEAMS],
24
+ ],
25
+ });
@@ -0,0 +1,2 @@
1
+ /** A rafter banner. */
2
+ export declare const TROPHY_BANNER: import("../emblem.core.ts").Emblem<import("../emblem.shapes.ts").FlatModel>;
@@ -0,0 +1,20 @@
1
+ // A rafter banner: a vertical banner with a pointed foot, hung from a rod by two cords, in a team's colour with a stripe of its second colour, the words on its face and the year under them. It flips as a flat
2
+ // item and shows its plain back. Drawn for this package: generic, no team's or league's banner (the fringed championship flag is another emblem).
3
+ import { circlePath, defineFlat } from "../emblem.shapes.js";
4
+ const WOOD = "#7a5230";
5
+ const hang = [["f", "M5 3.4h54v3.6H5z", WOOD], ["f", circlePath(5, 5.2, 2.6), WOOD], ["f", circlePath(59, 5.2, 2.6), WOOD], ["t", "M18 7L18 12M46 7L46 12"]];
6
+ const cloth = [
7
+ ["m", "M13 9h38v37L32 59L13 46z"],
8
+ ["r", "M13 9h38v4.6H13z"],
9
+ ["r", "M13 46L32 59L51 46L51 42.4L32 55.4L13 42.4z"],
10
+ ];
11
+ /** A rafter banner. */
12
+ export const TROPHY_BANNER = /* @__PURE__ */ defineFlat("trophy:banner", "Rafter banner", "優勝バナー", "ours", {
13
+ metal: "flat",
14
+ color: "#1f4e8c",
15
+ ribbon: "#f4f0e4",
16
+ front: [...hang, ...cloth, ["e", "M16.6 16.6h30.8v24.6", "1.2"], ["l", "M13 14h8l-8 14z"]],
17
+ back: [...hang, ...cloth],
18
+ rim: 1.6,
19
+ engrave: { front: { x: 32, y: 27.5, w: 27, h: 19 }, year: { x: 32, y: 46.5, w: 17, h: 5.5 }, back: { x: 32, y: 30, w: 27, h: 14 } },
20
+ });
@@ -11,4 +11,5 @@ export const TROPHY_BASEBALL = /* @__PURE__ */ defineLathe("trophy:baseball", "B
11
11
  ],
12
12
  balls: [{ kind: "base", cy: 47.4, r: 5.6 }],
13
13
  poles: { n: 30, y0: 50, r0: 11, r1: 12, top1: 5, top2: 20, size: 3.4 },
14
+ plate: { y0: 51.2, y1: 56.8 },
14
15
  });
@@ -13,4 +13,5 @@ export const TROPHY_BASKETBALL = /* @__PURE__ */ defineLathe("trophy:basketball"
13
13
  },
14
14
  ],
15
15
  balls: [{ kind: "basket", cy: 12.4, r: 10 }],
16
+ plate: { y0: 54.2, y1: 58.4 },
16
17
  });
@@ -9,8 +9,9 @@ export const TROPHY_BELT = /* @__PURE__ */ defineFlat("trophy:belt", "Championsh
9
9
  ["o", "M7 26h11v12H7zM46 26h11v12H46z"],
10
10
  ["o", ellipsePath(32, 32, 16.5, 23)],
11
11
  ["e", ellipsePath(32, 32, 13.4, 19.8), "2"],
12
- ["m", starPath(32, 32, 7.5, 3.2)],
12
+ ["M", starPath(32, 32, 7.5, 3.2)],
13
13
  ["l", "M22 22a14 20 0 0 1 8-9 18 22 0 0 0-8 22z"],
14
14
  ],
15
15
  rim: 3,
16
+ engrave: { front: { x: 32, y: 32, w: 20, h: 26 } },
16
17
  });
@@ -4,4 +4,5 @@ import { defineLathe } from "../emblem.lathe.js";
4
4
  export const TROPHY_BOWL = /* @__PURE__ */ defineLathe("trophy:bowl", "Bowl", "ボウル", "ours", {
5
5
  metal: "gold",
6
6
  solids: [{ open: true, p: [[16, 25, 1], [19, 24.8], [30, 15], [38, 7, 1], [38, 4.6, 1], [46, 3.6, 1], [46, 9, 1], [49, 9, 1], [49, 13.4, 1], [54, 13.4, 1]], decor: [["ring", 21]] }],
7
+ plate: { y0: 49.2, y1: 53.8 },
7
8
  });
@@ -19,4 +19,5 @@ export const TROPHY_CANADIAN_BOWL = /* @__PURE__ */ defineLathe("trophy:canadian
19
19
  { a: 90, w: 2.2, pts: [[8, 17], [13.4, 16], [17.4, 11.5], [15.8, 7.4], [12.8, 8.6]] },
20
20
  { a: -90, w: 2.2, pts: [[8, 17], [13.4, 16], [17.4, 11.5], [15.8, 7.4], [12.8, 8.6]] },
21
21
  ],
22
+ plate: { y0: 52.4, y1: 57.8, tone: "dark" },
22
23
  });
@@ -0,0 +1,2 @@
1
+ /** A fringed banner on a pole. */
2
+ export declare const TROPHY_CHAMPIONSHIP_BANNER: import("../emblem.core.ts").Emblem<import("../emblem.shapes.ts").FlatModel>;