@johnmorrisdotca/dougu-sports 0.1.0 → 0.2.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 (184) hide show
  1. package/CHANGELOG.md +38 -1
  2. package/NOTICE.md +9 -58
  3. package/README.md +168 -32
  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 +1 -1
  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.engine.js +3 -3
  20. package/dist/emblems/ball/ball.football.js +3 -3
  21. package/dist/emblems/ball/ball.gaelic.js +1 -1
  22. package/dist/emblems/ball/ball.object.js +2 -2
  23. package/dist/emblems/ball/ball.shuttlecock.js +2 -2
  24. package/dist/emblems/ball/ball.squash.js +5 -5
  25. package/dist/emblems/emblem.api.d.ts +39 -1
  26. package/dist/emblems/emblem.api.js +20 -2
  27. package/dist/emblems/emblem.compose.d.ts +31 -0
  28. package/dist/emblems/emblem.compose.js +91 -0
  29. package/dist/emblems/emblem.core.d.ts +48 -2
  30. package/dist/emblems/emblem.core.js +30 -0
  31. package/dist/emblems/emblem.descriptions.d.ts +7 -0
  32. package/dist/emblems/emblem.descriptions.js +60 -0
  33. package/dist/emblems/emblem.display.d.ts +75 -0
  34. package/dist/emblems/emblem.display.js +214 -0
  35. package/dist/emblems/emblem.engrave.d.ts +50 -0
  36. package/dist/emblems/emblem.engrave.js +145 -0
  37. package/dist/emblems/emblem.equipment.d.ts +24 -0
  38. package/dist/emblems/emblem.equipment.js +57 -0
  39. package/dist/emblems/emblem.flip.d.ts +10 -0
  40. package/dist/emblems/emblem.flip.js +45 -0
  41. package/dist/emblems/emblem.ids.d.ts +19 -11
  42. package/dist/emblems/emblem.ids.js +21 -6
  43. package/dist/emblems/emblem.lathe.d.ts +3 -0
  44. package/dist/emblems/emblem.lathe.js +26 -4
  45. package/dist/emblems/emblem.medal.js +4 -4
  46. package/dist/emblems/emblem.pennant.d.ts +3 -0
  47. package/dist/emblems/emblem.pennant.js +79 -0
  48. package/dist/emblems/emblem.registry.js +20 -0
  49. package/dist/emblems/emblem.shapes.d.ts +19 -2
  50. package/dist/emblems/emblem.shapes.js +53 -12
  51. package/dist/emblems/emblem.sprite.d.ts +38 -0
  52. package/dist/emblems/emblem.sprite.js +65 -0
  53. package/dist/emblems/emblem.uri.d.ts +22 -0
  54. package/dist/emblems/emblem.uri.js +29 -0
  55. package/dist/emblems/gear/gear.badmintonracket.d.ts +1 -1
  56. package/dist/emblems/gear/gear.badmintonracket.js +18 -14
  57. package/dist/emblems/gear/gear.baseballglove.d.ts +1 -1
  58. package/dist/emblems/gear/gear.baseballglove.js +20 -14
  59. package/dist/emblems/gear/gear.budo.d.ts +17 -0
  60. package/dist/emblems/gear/gear.budo.js +60 -0
  61. package/dist/emblems/gear/gear.core.d.ts +12 -31
  62. package/dist/emblems/gear/gear.core.js +61 -54
  63. package/dist/emblems/gear/gear.cricketbat.d.ts +1 -1
  64. package/dist/emblems/gear/gear.cricketbat.js +16 -14
  65. package/dist/emblems/gear/gear.fieldhockeystick.d.ts +1 -1
  66. package/dist/emblems/gear/gear.fieldhockeystick.js +15 -14
  67. package/dist/emblems/gear/gear.footballhelmet.d.ts +1 -1
  68. package/dist/emblems/gear/gear.footballhelmet.js +15 -14
  69. package/dist/emblems/gear/gear.goaliemask.d.ts +1 -1
  70. package/dist/emblems/gear/gear.goaliemask.js +22 -16
  71. package/dist/emblems/gear/gear.goalnet.d.ts +1 -1
  72. package/dist/emblems/gear/gear.goalnet.js +24 -14
  73. package/dist/emblems/gear/gear.hockeystick.d.ts +1 -1
  74. package/dist/emblems/gear/gear.hockeystick.js +14 -14
  75. package/dist/emblems/gear/gear.index.js +5 -1
  76. package/dist/emblems/gear/gear.kendo.d.ts +2 -0
  77. package/dist/emblems/gear/gear.kendo.js +41 -0
  78. package/dist/emblems/gear/gear.kyudo.d.ts +2 -0
  79. package/dist/emblems/gear/gear.kyudo.js +31 -0
  80. package/dist/emblems/gear/gear.lacrossestick.d.ts +1 -1
  81. package/dist/emblems/gear/gear.lacrossestick.js +25 -14
  82. package/dist/emblems/gear/gear.skates.js +1 -1
  83. package/dist/emblems/gear/gear.sticks.js +2 -2
  84. package/dist/emblems/gear/gear.sumo.d.ts +2 -0
  85. package/dist/emblems/gear/gear.sumo.js +43 -0
  86. package/dist/emblems/gear/gear.tabletennispaddle.d.ts +1 -1
  87. package/dist/emblems/gear/gear.tabletennispaddle.js +15 -14
  88. package/dist/emblems/gear/gear.tennisracket.d.ts +1 -1
  89. package/dist/emblems/gear/gear.tennisracket.js +16 -14
  90. package/dist/emblems/pennant/championship.d.ts +2 -0
  91. package/dist/emblems/pennant/championship.js +4 -0
  92. package/dist/emblems/sport/afl.js +1 -1
  93. package/dist/emblems/sport/artisticswimming.js +1 -1
  94. package/dist/emblems/sport/cfl.d.ts +1 -1
  95. package/dist/emblems/sport/cfl.js +4 -4
  96. package/dist/emblems/sport/cricket.d.ts +1 -1
  97. package/dist/emblems/sport/cricket.js +13 -4
  98. package/dist/emblems/sport/fieldhockey.js +1 -1
  99. package/dist/emblems/sport/gaelic.js +1 -1
  100. package/dist/emblems/sport/handball.d.ts +1 -1
  101. package/dist/emblems/sport/handball.js +14 -4
  102. package/dist/emblems/sport/ifaf.d.ts +1 -1
  103. package/dist/emblems/sport/ifaf.js +4 -4
  104. package/dist/emblems/sport/judo.d.ts +2 -0
  105. package/dist/emblems/sport/judo.js +13 -0
  106. package/dist/emblems/sport/karate.d.ts +2 -0
  107. package/dist/emblems/sport/karate.js +13 -0
  108. package/dist/emblems/sport/kendo.d.ts +2 -0
  109. package/dist/emblems/sport/kendo.js +14 -0
  110. package/dist/emblems/sport/kyudo.d.ts +2 -0
  111. package/dist/emblems/sport/kyudo.js +15 -0
  112. package/dist/emblems/sport/mlb.d.ts +1 -1
  113. package/dist/emblems/sport/mlb.js +27 -4
  114. package/dist/emblems/sport/nba.d.ts +1 -1
  115. package/dist/emblems/sport/nba.js +11 -4
  116. package/dist/emblems/sport/netball.js +1 -1
  117. package/dist/emblems/sport/nfl.d.ts +2 -1
  118. package/dist/emblems/sport/nfl.js +14 -4
  119. package/dist/emblems/sport/nhl.d.ts +1 -1
  120. package/dist/emblems/sport/nhl.js +12 -4
  121. package/dist/emblems/sport/pickleball.js +1 -1
  122. package/dist/emblems/sport/racquetball.js +1 -1
  123. package/dist/emblems/sport/roundnet.js +1 -1
  124. package/dist/emblems/sport/rugby.d.ts +1 -1
  125. package/dist/emblems/sport/rugby.js +11 -4
  126. package/dist/emblems/sport/sepaktakraw.js +1 -1
  127. package/dist/emblems/sport/soccer.d.ts +1 -1
  128. package/dist/emblems/sport/soccer.js +30 -4
  129. package/dist/emblems/sport/squash.js +1 -1
  130. package/dist/emblems/sport/sumo.d.ts +2 -0
  131. package/dist/emblems/sport/sumo.js +15 -0
  132. package/dist/emblems/sport/tabletennis.js +1 -1
  133. package/dist/emblems/sport/tennis.d.ts +1 -1
  134. package/dist/emblems/sport/tennis.js +14 -4
  135. package/dist/emblems/sport/teqball.js +1 -1
  136. package/dist/emblems/sport/volleyball.d.ts +1 -1
  137. package/dist/emblems/sport/volleyball.js +24 -4
  138. package/dist/emblems/trophy/banner.d.ts +2 -0
  139. package/dist/emblems/trophy/banner.js +20 -0
  140. package/dist/emblems/trophy/baseball.js +1 -0
  141. package/dist/emblems/trophy/basketball.js +1 -0
  142. package/dist/emblems/trophy/belt.js +2 -1
  143. package/dist/emblems/trophy/bowl.js +1 -0
  144. package/dist/emblems/trophy/canadian-bowl.js +1 -0
  145. package/dist/emblems/trophy/championship-banner.d.ts +2 -0
  146. package/dist/emblems/trophy/championship-banner.js +67 -0
  147. package/dist/emblems/trophy/cricket-urn.js +1 -0
  148. package/dist/emblems/trophy/cup.d.ts +1 -1
  149. package/dist/emblems/trophy/cup.js +15 -4
  150. package/dist/emblems/trophy/football.js +2 -1
  151. package/dist/emblems/trophy/globe.js +1 -0
  152. package/dist/emblems/trophy/hockey-cup.js +2 -1
  153. package/dist/emblems/trophy/lidded-cup.js +1 -0
  154. package/dist/emblems/trophy/plaque.js +2 -1
  155. package/dist/emblems/trophy/ring.d.ts +2 -0
  156. package/dist/emblems/trophy/ring.js +30 -0
  157. package/dist/emblems/trophy/rugby-cup.js +1 -0
  158. package/dist/emblems/trophy/salver.js +1 -0
  159. package/dist/emblems/trophy/soccer-ball.js +2 -1
  160. package/dist/emblems/trophy/soccer-globe.js +1 -0
  161. package/dist/emblems/trophy/sumo-cup.d.ts +2 -0
  162. package/dist/emblems/trophy/sumo-cup.js +28 -0
  163. package/dist/emblems/trophy/tennis-cup.js +2 -1
  164. package/dist/emblems/trophy/tennis-plate.js +1 -0
  165. package/dist/emblems-entry.d.ts +15 -6
  166. package/dist/emblems-entry.js +7 -2
  167. package/dist/index.d.ts +17 -0
  168. package/dist/index.js +15 -0
  169. package/dist/turn-control.d.ts +101 -0
  170. package/dist/turn-control.js +363 -0
  171. package/dist/turn-entry.d.ts +2 -0
  172. package/dist/turn-entry.js +1 -0
  173. package/dist/version.d.ts +1 -1
  174. package/dist/version.js +1 -1
  175. package/package.json +7 -1
  176. package/LICENSES/Apache-2.0.txt +0 -202
  177. package/LICENSES/CC-BY-3.0.txt +0 -319
  178. package/LICENSES/upstream/game-icons.license.txt +0 -45
  179. package/LICENSES/upstream/noto-emoji-2D-svg.LICENSE +0 -13
  180. package/LICENSES/upstream/pictogrammers-mdi.LICENSE +0 -20
  181. package/dist/emblems/emblem.material.d.ts +0 -9
  182. package/dist/emblems/emblem.material.data.d.ts +0 -34
  183. package/dist/emblems/emblem.material.data.js +0 -85
  184. package/dist/emblems/emblem.material.js +0 -23
@@ -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>;
@@ -0,0 +1,67 @@
1
+ // A championship banner: a broad, softly waving cloth hung from a pole with a gilt finial, an embroidered border and a short fringe along the bottom. No lettering unless some is given (up to three letters);
2
+ // the blank cloth has a ring and a star. Drawn for this package; a generic banner that carries no name, mark or lettering of any event. `tint` is the cloth, `accent` the gold of the trim.
3
+ import { circlePath, defineFlat, starPath } from "../emblem.shapes.js";
4
+ const CLOTH = "M11 10C21 6 29 14 39 10S52 8 58 11V46C52 43 46 50 39 47S21 51 11 47Z";
5
+ const BORDER = "M14.6 13.6C22 10.6 29 17.4 39 13.8S50 12.4 54.4 14.4V42.6C50 41 46 46 39 43.6S22 47 14.6 44.4Z";
6
+ /** The bottom edge of the cloth at `x`: the two cubic curves of CLOTH from the right to the left, sampled. */
7
+ const edgeAt = (x) => {
8
+ const cubic = (p, t) => {
9
+ const u = 1 - t;
10
+ return [u * u * u * p[0] + 3 * u * u * t * p[2] + 3 * u * t * t * p[4] + t * t * t * p[6], u * u * u * p[1] + 3 * u * u * t * p[3] + 3 * u * t * t * p[5] + t * t * t * p[7]];
11
+ };
12
+ let best = 47;
13
+ let gap = Infinity;
14
+ for (const c of [[58, 46, 52, 43, 46, 50, 39, 47], [39, 47, 32, 44, 21, 51, 11, 47]]) {
15
+ for (let i = 0; i <= 40; i++) {
16
+ const [px, py] = cubic(c, i / 40);
17
+ if (Math.abs(px - x) < gap)
18
+ [gap, best] = [Math.abs(px - x), py];
19
+ }
20
+ }
21
+ return best;
22
+ };
23
+ /** The fringe along the bottom edge, following the cloth's wave. */
24
+ const FRINGE = (() => {
25
+ let d = "";
26
+ for (let i = 0; i < 12; i++) {
27
+ const x = 12.4 + i * 3.8;
28
+ d += `M${x.toFixed(1)} ${(edgeAt(x + 0.7) - 0.6).toFixed(1)}h1.4v4.6h-1.4z`;
29
+ }
30
+ return d;
31
+ })();
32
+ const POLE = ["r", "M7 8h4.4v54H7z"];
33
+ const FINIAL = ["r", "M9.2 1.4L12.4 8.4H6z"];
34
+ /** A fringed banner on a pole. */
35
+ export const TROPHY_CHAMPIONSHIP_BANNER = /* @__PURE__ */ defineFlat("trophy:championship-banner", "Championship banner", "優勝旗", "ours", {
36
+ metal: "flat",
37
+ color: "#4b2a6b",
38
+ ribbon: "#d9a620",
39
+ front: [
40
+ ["r", FRINGE],
41
+ ["m", CLOTH],
42
+ ["s", "M11 40C21 44 28 44 39 41S52 40 58 41V46C52 43 46 50 39 47S21 51 11 47Z"],
43
+ ["e", BORDER, "1.8"],
44
+ ["l", "M14 12C20 11 24 13 28 15L14 22z"],
45
+ POLE,
46
+ ["f", "M7.8 10h1v50h-1z", "#f6dc7a"],
47
+ ["r", "M5.2 6.6h8.4v3H5.2z"],
48
+ FINIAL,
49
+ ["f", "M9.2 3.6l1.4 3H8z", "#f6dc7a"],
50
+ ["r", circlePath(9.2, 2.2, 1.7)],
51
+ ],
52
+ back: [
53
+ ["r", FRINGE],
54
+ ["m", CLOTH],
55
+ ["s", "M11 40C21 44 28 44 39 41S52 40 58 41V46C52 43 46 50 39 47S21 51 11 47Z"],
56
+ ["e", BORDER, "1.8"],
57
+ POLE,
58
+ ["r", "M5.2 6.6h8.4v3H5.2z"],
59
+ FINIAL,
60
+ ],
61
+ blank: [
62
+ ["e", circlePath(36, 29, 9.6), "1.6"],
63
+ ["r", starPath(36, 29, 6.4, 2.8)],
64
+ ],
65
+ letters: [36, 29, 17],
66
+ rim: 2,
67
+ });
@@ -19,4 +19,5 @@ export const TROPHY_CRICKET_URN = /* @__PURE__ */ defineLathe("trophy:cricket-ur
19
19
  { a: 90, w: 1.6, pts: [[3.2, 11], [8.4, 11], [8.4, 16.4], [8, 20]] },
20
20
  { a: -90, w: 1.6, pts: [[3.2, 11], [8.4, 11], [8.4, 16.4], [8, 20]] },
21
21
  ],
22
+ plate: { y0: 49.4, y1: 54.6, tone: "wood" },
22
23
  });
@@ -1,2 +1,2 @@
1
1
  /** Cup. */
2
- export declare const TROPHY_CUP: import("../emblem.core.ts").Emblem<import("../emblem.material.ts").MaterialModel>;
2
+ export declare const TROPHY_CUP: import("../emblem.core.ts").Emblem<import("../emblem.shapes.ts").FlatModel>;
@@ -1,5 +1,16 @@
1
- // Cup: the Material Symbols icon `emoji_events` (Google, Apache License 2.0; see NOTICE.md), in metal, line and flat colour.
2
- import { M_EMOJI_EVENTS } from "../emblem.material.data.js";
3
- import { defineMaterial } from "../emblem.material.js";
1
+ // A plain two-handled cup, drawn for this package: a deep bowl with a star, a bevelled handle on each side, a short stem and a flared foot, in polished metal.
2
+ import { defineIcon } from "../emblem.shapes.js";
4
3
  /** Cup. */
5
- export const TROPHY_CUP = /* @__PURE__ */ defineMaterial("trophy:cup", "Cup", "カップ", M_EMOJI_EVENTS, "gold");
4
+ export const TROPHY_CUP = /* @__PURE__ */ defineIcon("trophy:cup", "Cup", "カップ", "ours", {
5
+ metal: "gold",
6
+ front: [
7
+ ["m", "M15.4 8.6H7.6Q5 8.6 5 11.2V17Q5 27 16.4 29.4V24.6Q10 22.6 10 17V13.4H15.4Z"],
8
+ ["m", "M48.6 8.6H56.4Q59 8.6 59 11.2V17Q59 27 47.6 29.4V24.6Q54 22.6 54 17V13.4H48.6Z"],
9
+ ["m", "M15 5h34v15C49 32 42 40 32 41 22 40 15 32 15 20z"],
10
+ ["m", "M27.4 40h9.2l1 7h-11.2z"],
11
+ ["m", "M19 47h26l4 6v5H15v-5z"],
12
+ ["s", "M32 12.4l1.8 4.4 4.8.4-3.6 3.2 1.1 4.7L32 22.4l-4.1 2.7 1.1-4.7-3.6-3.2 4.8-.4z"],
13
+ ["l", "M19.4 8h5v13q-5-3.6-5-13z"],
14
+ ["l", "M20 49.6h24l1.4 2H18.6z"],
15
+ ],
16
+ });
@@ -1,10 +1,11 @@
1
1
  // A football standing on one end, leaning as if ready for a kick, on a tapered three-sided stand with a stepped base. Drawn for this package; a generic trophy.
2
2
  import { defineLathe } from "../emblem.lathe.js";
3
3
  /** A silver football standing on end, tilted as if ready for a kick, on a tapered three-sided stand. */
4
- export const TROPHY_FOOTBALL = /* @__PURE__ */ defineLathe("trophy:football", "Football trophy", "アメリカンフットボールのトロフィー", "ours", {
4
+ export const TROPHY_FOOTBALL = /* @__PURE__ */ defineLathe("trophy:football", "Football trophy", "アメフトのトロフィー", "ours", {
5
5
  metal: "silver",
6
6
  solids: [
7
7
  { sides: 3, p: [[28.6, 3.4, 1], [49, 10.2, 1], [49, 12.8, 1], [53.4, 12.8, 1], [53.4, 15, 1], [58.4, 15, 1]] },
8
8
  ],
9
9
  balls: [{ kind: "football", cx: 25.6, cy: 16.8, r: 9.4, ry: 13.6, rot: -28 }],
10
+ plate: { y0: 53.6, y1: 58.2, face: 2 },
10
11
  });
@@ -5,4 +5,5 @@ export const TROPHY_GLOBE = /* @__PURE__ */ defineLathe("trophy:globe", "Globe o
5
5
  metal: "gold",
6
6
  solids: [{ p: [[34, 3.4, 1], [48, 3.4, 1], [48, 8, 1], [51, 8, 1], [51, 13, 1], [55, 13, 1], [55, 15.2, 1], [59, 15.2, 1]] }],
7
7
  balls: [{ kind: "globe", cy: 21, r: 15 }],
8
+ plate: { y0: 55.2, y1: 58.8 },
8
9
  });
@@ -2,7 +2,7 @@
2
2
  // generic cup and carries no name, mark or engraving.
3
3
  import { defineLathe } from "../emblem.lathe.js";
4
4
  /** A tall silver cup: a small bowl on a collar over a tall tiered barrel of widening bands. */
5
- export const TROPHY_HOCKEY_CUP = /* @__PURE__ */ defineLathe("trophy:hockey-cup", "Tall banded silver cup", "帯を何段も重ねた背の高い銀のカップ", "ours", {
5
+ export const TROPHY_HOCKEY_CUP = /* @__PURE__ */ defineLathe("trophy:hockey-cup", "Banded silver cup", "段付きの銀カップ", "ours", {
6
6
  metal: "silver",
7
7
  tones: { dark: "#2b2f36" },
8
8
  solids: [
@@ -18,4 +18,5 @@ export const TROPHY_HOCKEY_CUP = /* @__PURE__ */ defineLathe("trophy:hockey-cup"
18
18
  decor: [["mer", 4.5, 10, 14]],
19
19
  },
20
20
  ],
21
+ plate: { y0: 52.4, y1: 58, tone: "dark" },
21
22
  });
@@ -17,4 +17,5 @@ export const TROPHY_LIDDED_CUP = /* @__PURE__ */ defineLathe("trophy:lidded-cup"
17
17
  { a: 90, w: 2, pts: [[11.4, 20], [16.4, 19], [17.6, 24], [12, 29]] },
18
18
  { a: -90, w: 2, pts: [[11.4, 20], [16.4, 19], [17.6, 24], [12, 29]] },
19
19
  ],
20
+ plate: { y0: 47.8, y1: 51.8 },
20
21
  });
@@ -8,9 +8,10 @@ export const TROPHY_PLAQUE = /* @__PURE__ */ defineFlat("trophy:plaque", "Plaque
8
8
  ["r", "M10 4h44l5 6v44l-5 6H10l-5-6V10z"],
9
9
  ["e", "M12 8h40l3 4v40l-3 4H12l-3-4V12z", "1.4"],
10
10
  ["m", "M15 12h34v30H15z"],
11
- ["t", "M21 20h22M21 27h22M21 34h13"],
11
+ ["T", "M21 20h22M21 27h22M21 34h13"],
12
12
  ["m", "M23 47h18v7H23z"],
13
13
  ["l", "M17 14h8l-8 8z"],
14
14
  ],
15
15
  rim: 4,
16
+ engrave: { front: { x: 32, y: 27, w: 30, h: 26 }, year: { x: 32, y: 50.5, w: 16, h: 5 } },
16
17
  });
@@ -0,0 +1,2 @@
1
+ /** A championship ring. */
2
+ export declare const TROPHY_RING: import("../emblem.core.ts").Emblem<import("../emblem.shapes.ts").FlatModel>;