@luceosports/play-rendering 1.19.0 → 2.0.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 (293) hide show
  1. package/.babelrc +2 -1
  2. package/.eslintrc +11 -42
  3. package/dist/play-rendering.d.ts +21 -0
  4. package/dist/play-rendering.js +17 -8
  5. package/dist/play-rendering.js.map +1 -1
  6. package/dist/types/constants.d.ts +41 -0
  7. package/dist/types/helpers/common.d.ts +5 -0
  8. package/dist/types/layers/court/index.d.ts +18 -0
  9. package/dist/types/math/Bezier.d.ts +19 -0
  10. package/dist/types/math/LineDrawingMath.d.ts +8 -0
  11. package/dist/types/models/AnimationModel.d.ts +21 -0
  12. package/dist/types/models/FrameModel.d.ts +39 -0
  13. package/dist/types/models/LineModel.d.ts +22 -0
  14. package/dist/types/models/NoteModel.d.ts +17 -0
  15. package/dist/types/models/PlayModel.d.ts +40 -0
  16. package/dist/types/models/PlayerModel.d.ts +20 -0
  17. package/dist/types/models/ShapeModel.d.ts +54 -0
  18. package/dist/types/models/ShapeModels/CircleShape.d.ts +8 -0
  19. package/dist/types/models/ShapeModels/ConeShape.d.ts +8 -0
  20. package/dist/types/models/ShapeModels/FovShape.d.ts +12 -0
  21. package/dist/types/models/ShapeModels/LineShape.d.ts +11 -0
  22. package/dist/types/models/ShapeModels/SquareShape.d.ts +8 -0
  23. package/dist/types/models/ShapeModels/StraightShape.d.ts +12 -0
  24. package/dist/types/models/ShapeModels/TriangleShape.d.ts +12 -0
  25. package/dist/types/models/ShapeModels/XMarkShape.d.ts +8 -0
  26. package/dist/types/models/ShapeModels/index.d.ts +14 -0
  27. package/dist/types/models/ShapeModels/line/CutLineShape.d.ts +3 -0
  28. package/dist/types/models/ShapeModels/line/DribbleLineShape.d.ts +3 -0
  29. package/dist/types/models/ShapeModels/line/HandoffLineShape.d.ts +3 -0
  30. package/dist/types/models/ShapeModels/line/PassLineShape.d.ts +3 -0
  31. package/dist/types/models/ShapeModels/line/ScreenLineShape.d.ts +3 -0
  32. package/dist/types/types/index.d.ts +138 -0
  33. package/package.json +16 -13
  34. package/src/config.ts +1 -0
  35. package/src/constants.ts +49 -0
  36. package/src/global.d.ts +9 -0
  37. package/src/helpers/common.ts +40 -0
  38. package/src/index.ts +36 -0
  39. package/src/layers/{CourtLayer.js → CourtLayer.ts} +4 -6
  40. package/src/layers/{LineControlPointLayer.js → LineControlPointLayer.ts} +2 -4
  41. package/src/layers/{LineLayer.js → LineLayer.ts} +5 -7
  42. package/src/layers/{NoteLayer.js → NoteLayer.ts} +19 -19
  43. package/src/layers/{PlayerLayer.js → PlayerLayer.ts} +6 -7
  44. package/src/layers/{ShapeControlPointLayer.js → ShapeControlPointLayer.ts} +2 -4
  45. package/src/layers/{ShapeLayer.js → ShapeLayer.ts} +4 -6
  46. package/src/layers/base/BaseLayer.ts +15 -0
  47. package/src/layers/base/InternalBaseLayer.ts +29 -0
  48. package/src/layers/court/base/{InternalCourtLayer.js → InternalCourtLayer.ts} +3 -5
  49. package/src/layers/court/index.ts +213 -0
  50. package/src/layers/court/layers/BASEBALL/constants.ts +5 -0
  51. package/src/layers/court/layers/BASEBALL/courtTypes/BASEBALL_HIGH_SCHOOL/constants.ts +34 -0
  52. package/src/layers/court/layers/BASEBALL/courtTypes/BASEBALL_HIGH_SCHOOL/layers/{ADirtLayer.js → ADirtLayer.ts} +14 -14
  53. package/src/layers/court/layers/BASEBALL/courtTypes/BASEBALL_HIGH_SCHOOL/layers/{BaseLineLayer.js → BaseLineLayer.ts} +4 -10
  54. package/src/layers/court/layers/BASEBALL/courtTypes/BASEBALL_HIGH_SCHOOL/layers/{HomePlateLayer.js → HomePlateLayer.ts} +14 -15
  55. package/src/layers/court/layers/BASEBALL/courtTypes/BASEBALL_HIGH_SCHOOL/layers/{PitchingMoundLayer.js → PitchingMoundLayer.ts} +7 -8
  56. package/src/layers/court/layers/BASEBALL/courtTypes/BASEBALL_HIGH_SCHOOL/layers/index.ts +6 -0
  57. package/src/layers/court/layers/{BASKETBALL/layers/BorderRectLayer.js → BASEBALL/layers/BorderRectLayer.ts} +2 -4
  58. package/src/layers/court/layers/BASEBALL/layers/index.ts +3 -0
  59. package/src/layers/court/layers/BASKETBALL/common/{LaneMarkingNBATrait.js → LaneMarkingNBATrait.ts} +1 -1
  60. package/src/layers/court/layers/BASKETBALL/common/{LaneMarkingNCAATrait.js → LaneMarkingNCAATrait.ts} +1 -1
  61. package/src/layers/court/layers/BASKETBALL/constants.ts +5 -0
  62. package/src/layers/court/layers/BASKETBALL/courtTypes/BIG3/constants.ts +11 -0
  63. package/src/layers/court/layers/BASKETBALL/courtTypes/BIG3/layers/{Big3Layer.js → Big3Layer.ts} +2 -4
  64. package/src/layers/court/layers/BASKETBALL/courtTypes/BIG3/layers/LaneMarkingLayer.ts +10 -0
  65. package/src/layers/court/layers/BASKETBALL/courtTypes/BIG3/layers/index.ts +4 -0
  66. package/src/layers/court/layers/BASKETBALL/courtTypes/FIBA/constants.ts +11 -0
  67. package/src/layers/court/layers/BASKETBALL/courtTypes/FIBA/layers/{LaneMarkingLayer.js → LaneMarkingLayer.ts} +2 -4
  68. package/src/layers/court/layers/BASKETBALL/courtTypes/FIBA/layers/index.ts +3 -0
  69. package/src/layers/court/layers/BASKETBALL/courtTypes/NBA/constants.ts +11 -0
  70. package/src/layers/court/layers/BASKETBALL/courtTypes/NBA/layers/LaneMarkingLayer.ts +10 -0
  71. package/src/layers/court/layers/BASKETBALL/courtTypes/NBA/layers/index.ts +3 -0
  72. package/src/layers/court/layers/BASKETBALL/courtTypes/NCAAM/constants.ts +11 -0
  73. package/src/layers/court/layers/BASKETBALL/courtTypes/NCAAM/layers/LaneMarkingLayer.ts +10 -0
  74. package/src/layers/court/layers/BASKETBALL/courtTypes/NCAAM/layers/index.ts +3 -0
  75. package/src/layers/court/layers/BASKETBALL/courtTypes/NCAAW/constants.ts +11 -0
  76. package/src/layers/court/layers/BASKETBALL/courtTypes/NCAAW/layers/LaneMarkingLayer.ts +10 -0
  77. package/src/layers/court/layers/BASKETBALL/courtTypes/NCAAW/layers/index.ts +3 -0
  78. package/src/layers/court/layers/BASKETBALL/courtTypes/US_HIGH_SCHOOL/constants.ts +11 -0
  79. package/src/layers/court/layers/BASKETBALL/courtTypes/US_HIGH_SCHOOL/layers/LaneMarkingLayer.ts +10 -0
  80. package/src/layers/court/layers/BASKETBALL/courtTypes/US_HIGH_SCHOOL/layers/index.ts +3 -0
  81. package/src/layers/court/layers/BASKETBALL/courtTypes/US_JUNIOR_HIGH/constants.ts +11 -0
  82. package/src/layers/court/layers/BASKETBALL/courtTypes/US_JUNIOR_HIGH/layers/LaneMarkingLayer.ts +10 -0
  83. package/src/layers/court/layers/BASKETBALL/courtTypes/US_JUNIOR_HIGH/layers/index.ts +3 -0
  84. package/src/layers/court/layers/BASKETBALL/courtTypes/WNBA/constants.ts +11 -0
  85. package/src/layers/court/layers/BASKETBALL/courtTypes/WNBA/layers/LaneMarkingLayer.ts +10 -0
  86. package/src/layers/court/layers/BASKETBALL/courtTypes/WNBA/layers/index.ts +3 -0
  87. package/src/layers/court/layers/BASKETBALL/layers/{BaseLineMarkingLayer.js → BaseLineMarkingLayer.ts} +3 -4
  88. package/src/layers/court/layers/BASKETBALL/layers/{BenchAreaLayer.js → BenchAreaLayer.ts} +2 -4
  89. package/src/layers/court/layers/{LACROSSE/layers/BorderRectLayer.js → BASKETBALL/layers/BorderRectLayer.ts} +2 -4
  90. package/src/layers/court/layers/BASKETBALL/layers/{CenterCircleLayer.js → CenterCircleLayer.ts} +2 -4
  91. package/src/layers/court/layers/{FOOTBALL/layers/CenterLineLayer.js → BASKETBALL/layers/CenterLineLayer.ts} +2 -4
  92. package/src/layers/court/layers/BASKETBALL/layers/{FreeThrowLayer.js → FreeThrowLayer.ts} +2 -4
  93. package/src/layers/court/layers/BASKETBALL/layers/{HoopLayer.js → HoopLayer.ts} +2 -4
  94. package/src/layers/court/layers/BASKETBALL/layers/{InnerOuterRectLayer.js → InnerOuterRectLayer.ts} +2 -4
  95. package/src/layers/court/layers/BASKETBALL/layers/{RestrictedAreaLayer.js → RestrictedAreaLayer.ts} +3 -4
  96. package/src/layers/court/layers/BASKETBALL/layers/{ThreePointLineLayer.js → ThreePointLineLayer.ts} +2 -4
  97. package/src/layers/court/layers/BASKETBALL/layers/index.ts +23 -0
  98. package/src/layers/court/layers/FOOTBALL/constants.ts +5 -0
  99. package/src/layers/court/layers/FOOTBALL/courtTypes/FOOTBALL_HIGH_SCHOOL/constants.ts +3 -0
  100. package/src/layers/court/layers/{BASEBALL/layers/BorderRectLayer.js → FOOTBALL/layers/BorderRectLayer.ts} +2 -4
  101. package/src/layers/court/layers/{SOCCER/layers/CenterLineLayer.js → FOOTBALL/layers/CenterLineLayer.ts} +2 -4
  102. package/src/layers/court/layers/FOOTBALL/layers/{EndZoneLayer.js → EndZoneLayer.ts} +2 -4
  103. package/src/layers/court/layers/FOOTBALL/layers/{FieldNumberLayer.js → FieldNumberLayer.ts} +2 -4
  104. package/src/layers/court/layers/FOOTBALL/layers/{HashMarkLayer.js → HashMarkLayer.ts} +2 -4
  105. package/src/layers/court/layers/FOOTBALL/layers/{YardLineLayer.js → YardLineLayer.ts} +2 -4
  106. package/src/layers/court/layers/FOOTBALL/layers/index.ts +8 -0
  107. package/src/layers/court/layers/HOCKEY/constants.ts +5 -0
  108. package/src/layers/court/layers/HOCKEY/courtTypes/HOCKEY_INTERNATIONAL/constants.ts +12 -0
  109. package/src/layers/court/layers/HOCKEY/courtTypes/HOCKEY_INTERNATIONAL/layers/{GoaCreaseLayer.js → GoaCreaseLayer.ts} +2 -4
  110. package/src/layers/court/layers/HOCKEY/courtTypes/HOCKEY_INTERNATIONAL/layers/index.ts +3 -0
  111. package/src/layers/court/layers/HOCKEY/courtTypes/HOCKEY_NHL/constants.ts +12 -0
  112. package/src/layers/court/layers/HOCKEY/courtTypes/HOCKEY_NHL/layers/{GoaCreaseLayer.js → GoaCreaseLayer.ts} +2 -4
  113. package/src/layers/court/layers/HOCKEY/courtTypes/HOCKEY_NHL/layers/index.ts +3 -0
  114. package/src/layers/court/layers/HOCKEY/layers/{BorderRinkLayer.js → BorderRinkLayer.ts} +2 -4
  115. package/src/layers/court/layers/HOCKEY/layers/{CenterCircleLayer.js → CenterCircleLayer.ts} +2 -4
  116. package/src/layers/court/layers/HOCKEY/layers/{CenterLineLayer.js → CenterLineLayer.ts} +2 -4
  117. package/src/layers/court/layers/HOCKEY/layers/{CenterSpotLayer.js → CenterSpotLayer.ts} +2 -4
  118. package/src/layers/court/layers/HOCKEY/layers/{EndZoneLayer.js → EndZoneLayer.ts} +2 -4
  119. package/src/layers/court/layers/HOCKEY/layers/{GoalLineLayer.js → GoalLineLayer.ts} +2 -4
  120. package/src/layers/court/layers/HOCKEY/layers/{NeutralZoneLayer.js → NeutralZoneLayer.ts} +2 -4
  121. package/src/layers/court/layers/HOCKEY/layers/{RefereeCreaseLayer.js → RefereeCreaseLayer.ts} +2 -4
  122. package/src/layers/court/layers/HOCKEY/layers/index.ts +19 -0
  123. package/src/layers/court/layers/LACROSSE/constants.ts +5 -0
  124. package/src/layers/court/layers/LACROSSE/courtTypes/LACROSSE_US_M/constants.ts +4 -0
  125. package/src/layers/court/layers/LACROSSE/courtTypes/LACROSSE_US_M/layers/{CenterLineLayer.js → CenterLineLayer.ts} +2 -4
  126. package/src/layers/court/layers/LACROSSE/courtTypes/LACROSSE_US_M/layers/{GoalAreaLineLayer.js → GoalAreaLineLayer.ts} +2 -4
  127. package/src/layers/court/layers/LACROSSE/courtTypes/LACROSSE_US_M/layers/{WingAreaLineLayer.js → WingAreaLineLayer.ts} +2 -4
  128. package/src/layers/court/layers/LACROSSE/courtTypes/LACROSSE_US_M/layers/index.ts +5 -0
  129. package/src/layers/court/layers/LACROSSE/courtTypes/LACROSSE_US_W/constants.ts +3 -0
  130. package/src/layers/court/layers/LACROSSE/courtTypes/LACROSSE_US_W/layers/{CenterLineLayer.js → CenterLineLayer.ts} +2 -4
  131. package/src/layers/court/layers/LACROSSE/courtTypes/LACROSSE_US_W/layers/{FanLineLayer.js → FanLineLayer.ts} +2 -4
  132. package/src/layers/court/layers/LACROSSE/courtTypes/LACROSSE_US_W/layers/index.ts +4 -0
  133. package/src/layers/court/layers/{FOOTBALL/layers/BorderRectLayer.js → LACROSSE/layers/BorderRectLayer.ts} +2 -4
  134. package/src/layers/court/layers/LACROSSE/layers/{RestrainingLineLayer.js → RestrainingLineLayer.ts} +2 -4
  135. package/src/layers/court/layers/LACROSSE/layers/index.ts +4 -0
  136. package/src/layers/court/layers/SOCCER/constants.ts +5 -0
  137. package/src/layers/court/layers/SOCCER/courtTypes/SOCCER_FIFA/constants.ts +7 -0
  138. package/src/layers/court/layers/SOCCER/courtTypes/SOCCER_NCAA/constants.ts +7 -0
  139. package/src/layers/court/layers/SOCCER/courtTypes/SOCCER_NCAA/layers/{CenterSpotLayer.js → CenterSpotLayer.ts} +2 -4
  140. package/src/layers/court/layers/SOCCER/courtTypes/SOCCER_NCAA/layers/{HashMarkLayer.js → HashMarkLayer.ts} +2 -4
  141. package/src/layers/court/layers/SOCCER/courtTypes/SOCCER_NCAA/layers/{PenaltySpotLayer.js → PenaltySpotLayer.ts} +2 -4
  142. package/src/layers/court/layers/SOCCER/courtTypes/SOCCER_NCAA/layers/index.ts +5 -0
  143. package/src/layers/court/layers/SOCCER/courtTypes/SOCCER_NFHS/constants.ts +7 -0
  144. package/src/layers/court/layers/SOCCER/courtTypes/SOCCER_NFHS/layers/{HashMarkLayer.js → HashMarkLayer.ts} +2 -4
  145. package/src/layers/court/layers/SOCCER/courtTypes/SOCCER_NFHS/layers/{PenaltySpotLayer.js → PenaltySpotLayer.ts} +2 -4
  146. package/src/layers/court/layers/SOCCER/courtTypes/SOCCER_NFHS/layers/index.ts +4 -0
  147. package/src/layers/court/layers/SOCCER/courtTypes/SOCCER_U10/constants.ts +7 -0
  148. package/src/layers/court/layers/SOCCER/courtTypes/SOCCER_U10/layers/{BuildOutLineLayer.js → BuildOutLineLayer.ts} +2 -4
  149. package/src/layers/court/layers/SOCCER/courtTypes/SOCCER_U10/layers/{PenaltyArcLayer.js → PenaltyArcLayer.ts} +2 -4
  150. package/src/layers/court/layers/SOCCER/courtTypes/SOCCER_U10/layers/index.ts +4 -0
  151. package/src/layers/court/layers/SOCCER/courtTypes/SOCCER_U12/constants.ts +7 -0
  152. package/src/layers/court/layers/SOCCER/courtTypes/SOCCER_U12/layers/{PenaltyArcLayer.js → PenaltyArcLayer.ts} +2 -4
  153. package/src/layers/court/layers/SOCCER/courtTypes/SOCCER_U12/layers/index.ts +3 -0
  154. package/src/layers/court/layers/SOCCER/courtTypes/SOCCER_U19/constants.ts +7 -0
  155. package/src/layers/court/layers/SOCCER/layers/BorderRectLayer.ts +10 -0
  156. package/src/layers/court/layers/SOCCER/layers/{CenterCircleLayer.js → CenterCircleLayer.ts} +2 -4
  157. package/src/layers/court/layers/{BASKETBALL/layers/CenterLineLayer.js → SOCCER/layers/CenterLineLayer.ts} +2 -4
  158. package/src/layers/court/layers/SOCCER/layers/{CenterSpotLayer.js → CenterSpotLayer.ts} +2 -4
  159. package/src/layers/court/layers/SOCCER/layers/{CornerLayer.js → CornerLayer.ts} +3 -4
  160. package/src/layers/court/layers/SOCCER/layers/{PenaltyArcLayer.js → PenaltyArcLayer.ts} +2 -4
  161. package/src/layers/court/layers/SOCCER/layers/{PenaltyAreaLayer.js → PenaltyAreaLayer.ts} +2 -4
  162. package/src/layers/court/layers/SOCCER/layers/{PenaltySpotLayer.js → PenaltySpotLayer.ts} +2 -4
  163. package/src/layers/court/layers/SOCCER/layers/index.ts +19 -0
  164. package/src/layers/court/layers/VOLLEYBALL/constants.ts +5 -0
  165. package/src/layers/court/layers/VOLLEYBALL/courtTypes/VOLLEYBALL_INDOOR/constants.ts +2 -0
  166. package/src/layers/court/layers/VOLLEYBALL/layers/{AttackLineLayer.js → AttackLineLayer.ts} +3 -4
  167. package/src/layers/court/layers/VOLLEYBALL/layers/BorderRectLayer.ts +10 -0
  168. package/src/layers/court/layers/VOLLEYBALL/layers/{CenterLineLayer.js → CenterLineLayer.ts} +2 -4
  169. package/src/layers/court/layers/VOLLEYBALL/layers/{HashMarkLayer.js → HashMarkLayer.ts} +3 -4
  170. package/src/layers/court/layers/VOLLEYBALL/layers/index.ts +6 -0
  171. package/src/layers/line/base/{ActionLineLayer.js → ActionLineLayer.ts} +2 -4
  172. package/src/layers/line/base/{InternalLineLayer.js → InternalLineLayer.ts} +30 -10
  173. package/src/layers/line/index.ts +8 -0
  174. package/src/layers/line/layers/CutLineLayer.ts +7 -0
  175. package/src/layers/line/layers/{DribbleLineLayer.js → DribbleLineLayer.ts} +14 -8
  176. package/src/layers/line/layers/{HandoffLineLayer.js → HandoffLineLayer.ts} +4 -5
  177. package/src/layers/line/layers/PassLineLayer.ts +11 -0
  178. package/src/layers/line/layers/ScreenLineLayer.ts +7 -0
  179. package/src/layers/line/layers/{ShotLineLayer.js → ShotLineLayer.ts} +2 -4
  180. package/src/layers/shape/base/{InternalShapeLayer.js → InternalShapeLayer.ts} +7 -5
  181. package/src/layers/shape/index.ts +28 -0
  182. package/src/layers/shape/layers/{CircleShapeLayer.js → CircleShapeLayer.ts} +2 -4
  183. package/src/layers/shape/layers/{ConeShapeLayer.js → ConeShapeLayer.ts} +2 -4
  184. package/src/layers/shape/layers/{FovShapeLayer.js → FovShapeLayer.ts} +2 -4
  185. package/src/layers/shape/layers/{SquareShapeLayer.js → SquareShapeLayer.ts} +2 -4
  186. package/src/layers/shape/layers/{StraightShapeLayer.js → StraightShapeLayer.ts} +2 -4
  187. package/src/layers/shape/layers/{TriangleShapeLayer.js → TriangleShapeLayer.ts} +2 -4
  188. package/src/layers/shape/layers/{XmarkShapeLayer.js → XmarkShapeLayer.ts} +2 -4
  189. package/src/layers/shape/layers/line/CutLineShapeLayer.ts +11 -0
  190. package/src/layers/shape/layers/line/DribbleLineShapeLayer.ts +26 -0
  191. package/src/layers/shape/layers/line/HandoffLineShapeLayer.ts +11 -0
  192. package/src/layers/shape/layers/line/PassLineShapeLayer.ts +15 -0
  193. package/src/layers/shape/layers/line/ScreenLineShapeLayer.ts +11 -0
  194. package/src/layers/shape/layers/line/base/InternalLineShapeLayer.ts +44 -0
  195. package/src/math/{Bezier.js → Bezier.ts} +48 -46
  196. package/src/math/LineDrawingMath.ts +573 -0
  197. package/src/models/{Animation.js → AnimationModel.ts} +29 -22
  198. package/src/models/Base/InternalFrameModel.ts +23 -0
  199. package/src/models/{Frame.js → FrameModel.ts} +136 -82
  200. package/src/models/{Line.js → LineModel.ts} +26 -14
  201. package/src/models/{Note.js → NoteModel.ts} +12 -11
  202. package/src/models/Play/Options.ts +31 -0
  203. package/src/models/PlayModel.ts +139 -0
  204. package/src/models/{Player.js → PlayerModel.ts} +5 -6
  205. package/src/models/{Shape.js → ShapeModel.ts} +9 -10
  206. package/src/models/ShapeModels/{CircleShape.js → CircleShape.ts} +2 -4
  207. package/src/models/ShapeModels/{ConeShape.js → ConeShape.ts} +2 -4
  208. package/src/models/ShapeModels/{FovShape.js → FovShape.ts} +2 -4
  209. package/src/models/ShapeModels/{LineShape.js → LineShape.ts} +4 -6
  210. package/src/models/ShapeModels/{XMarkShape.js → SquareShape.ts} +2 -4
  211. package/src/models/ShapeModels/{StraightShape.js → StraightShape.ts} +2 -4
  212. package/src/models/ShapeModels/{TriangleShape.js → TriangleShape.ts} +2 -4
  213. package/src/models/ShapeModels/{SquareShape.js → XMarkShape.ts} +2 -4
  214. package/src/models/ShapeModels/index.ts +30 -0
  215. package/src/models/ShapeModels/line/CutLineShape.ts +3 -0
  216. package/src/models/ShapeModels/line/DribbleLineShape.ts +3 -0
  217. package/src/models/ShapeModels/line/HandoffLineShape.ts +3 -0
  218. package/src/models/ShapeModels/line/PassLineShape.ts +3 -0
  219. package/src/models/ShapeModels/line/ScreenLineShape.ts +3 -0
  220. package/src/playerHatsConfig.ts +39 -0
  221. package/src/shapesConfig.ts +8 -0
  222. package/src/traits/{DribbleLineTrait.js → DribbleLineTrait.ts} +12 -10
  223. package/src/traits/{LineDrawOperationsTrait.js → LineDrawOperationsTrait.ts} +12 -9
  224. package/src/types/index.ts +205 -0
  225. package/tsconfig.json +21 -0
  226. package/webpack.config.js +5 -8
  227. package/index.js +0 -17
  228. package/src/config.js +0 -3
  229. package/src/constants.js +0 -51
  230. package/src/helpers/common.js +0 -12
  231. package/src/layers/base/BaseLayer.js +0 -20
  232. package/src/layers/base/InternalBaseLayer.js +0 -22
  233. package/src/layers/court/index.js +0 -64
  234. package/src/layers/court/layers/BASEBALL/constants.js +0 -7
  235. package/src/layers/court/layers/BASEBALL/courtTypes/BASEBALL_HIGH_SCHOOL/constants.js +0 -36
  236. package/src/layers/court/layers/BASKETBALL/constants.js +0 -7
  237. package/src/layers/court/layers/BASKETBALL/courtTypes/BIG3/constants.js +0 -13
  238. package/src/layers/court/layers/BASKETBALL/courtTypes/BIG3/layers/LaneMarkingLayer.js +0 -12
  239. package/src/layers/court/layers/BASKETBALL/courtTypes/FIBA/constants.js +0 -13
  240. package/src/layers/court/layers/BASKETBALL/courtTypes/NBA/constants.js +0 -13
  241. package/src/layers/court/layers/BASKETBALL/courtTypes/NBA/layers/LaneMarkingLayer.js +0 -12
  242. package/src/layers/court/layers/BASKETBALL/courtTypes/NCAAM/constants.js +0 -13
  243. package/src/layers/court/layers/BASKETBALL/courtTypes/NCAAM/layers/LaneMarkingLayer.js +0 -12
  244. package/src/layers/court/layers/BASKETBALL/courtTypes/NCAAW/constants.js +0 -13
  245. package/src/layers/court/layers/BASKETBALL/courtTypes/NCAAW/layers/LaneMarkingLayer.js +0 -12
  246. package/src/layers/court/layers/BASKETBALL/courtTypes/US_HIGH_SCHOOL/constants.js +0 -13
  247. package/src/layers/court/layers/BASKETBALL/courtTypes/US_HIGH_SCHOOL/layers/LaneMarkingLayer.js +0 -12
  248. package/src/layers/court/layers/BASKETBALL/courtTypes/US_JUNIOR_HIGH/constants.js +0 -13
  249. package/src/layers/court/layers/BASKETBALL/courtTypes/US_JUNIOR_HIGH/layers/LaneMarkingLayer.js +0 -12
  250. package/src/layers/court/layers/BASKETBALL/courtTypes/WNBA/constants.js +0 -13
  251. package/src/layers/court/layers/BASKETBALL/courtTypes/WNBA/layers/LaneMarkingLayer.js +0 -12
  252. package/src/layers/court/layers/FOOTBALL/constants.js +0 -7
  253. package/src/layers/court/layers/FOOTBALL/courtTypes/FOOTBALL_HIGH_SCHOOL/constants.js +0 -5
  254. package/src/layers/court/layers/HOCKEY/constants.js +0 -7
  255. package/src/layers/court/layers/HOCKEY/courtTypes/HOCKEY_INTERNATIONAL/constants.js +0 -14
  256. package/src/layers/court/layers/HOCKEY/courtTypes/HOCKEY_NHL/constants.js +0 -14
  257. package/src/layers/court/layers/LACROSSE/constants.js +0 -7
  258. package/src/layers/court/layers/LACROSSE/courtTypes/LACROSSE_US_M/constants.js +0 -6
  259. package/src/layers/court/layers/LACROSSE/courtTypes/LACROSSE_US_W/constants.js +0 -5
  260. package/src/layers/court/layers/SOCCER/constants.js +0 -7
  261. package/src/layers/court/layers/SOCCER/courtTypes/SOCCER_FIFA/constants.js +0 -9
  262. package/src/layers/court/layers/SOCCER/courtTypes/SOCCER_NCAA/constants.js +0 -9
  263. package/src/layers/court/layers/SOCCER/courtTypes/SOCCER_NFHS/constants.js +0 -9
  264. package/src/layers/court/layers/SOCCER/courtTypes/SOCCER_U10/constants.js +0 -9
  265. package/src/layers/court/layers/SOCCER/courtTypes/SOCCER_U12/constants.js +0 -9
  266. package/src/layers/court/layers/SOCCER/courtTypes/SOCCER_U19/constants.js +0 -9
  267. package/src/layers/court/layers/SOCCER/layers/BorderRectLayer.js +0 -12
  268. package/src/layers/court/layers/VOLLEYBALL/constants.js +0 -7
  269. package/src/layers/court/layers/VOLLEYBALL/courtTypes/VOLLEYBALL_INDOOR/constants.js +0 -4
  270. package/src/layers/court/layers/VOLLEYBALL/layers/BorderRectLayer.js +0 -12
  271. package/src/layers/line/index.js +0 -11
  272. package/src/layers/line/layers/CutLineLayer.js +0 -9
  273. package/src/layers/line/layers/PassLineLayer.js +0 -13
  274. package/src/layers/line/layers/ScreenLineLayer.js +0 -9
  275. package/src/layers/shape/index.js +0 -17
  276. package/src/layers/shape/layers/line/CutLineShapeLayer.js +0 -13
  277. package/src/layers/shape/layers/line/DribbleLineShapeLayer.js +0 -20
  278. package/src/layers/shape/layers/line/HandoffLineShapeLayer.js +0 -13
  279. package/src/layers/shape/layers/line/PassLineShapeLayer.js +0 -17
  280. package/src/layers/shape/layers/line/ScreenLineShapeLayer.js +0 -13
  281. package/src/layers/shape/layers/line/base/InternalLineShapeLayer.js +0 -34
  282. package/src/math/LineDrawingMath.js +0 -570
  283. package/src/models/Base/InternalFrameModel.js +0 -20
  284. package/src/models/Play/Options.js +0 -31
  285. package/src/models/Play.js +0 -91
  286. package/src/models/ShapeModels/index.js +0 -18
  287. package/src/models/ShapeModels/line/CutLineShape.js +0 -5
  288. package/src/models/ShapeModels/line/DribbleLineShape.js +0 -5
  289. package/src/models/ShapeModels/line/HandoffLineShape.js +0 -5
  290. package/src/models/ShapeModels/line/PassLineShape.js +0 -5
  291. package/src/models/ShapeModels/line/ScreenLineShape.js +0 -5
  292. package/src/playerHatsConfig.js +0 -29
  293. package/src/shapesConfig.js +0 -6
@@ -0,0 +1,205 @@
1
+ export type PlayerPosition = '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11';
2
+
3
+ export type DefenderPosition = 'x1' | 'x2' | 'x3' | 'x4' | 'x5' | 'x6' | 'x7' | 'x8' | 'x9' | 'x10' | 'x11';
4
+
5
+ export type CoachPosition = 'C';
6
+
7
+ export type Position = PlayerPosition | DefenderPosition | CoachPosition;
8
+
9
+ export type LineType = 'PASS' | 'CUT' | 'SCREEN' | 'DRIBBLE' | 'HANDOFF' | 'SHOT';
10
+
11
+ export type LineShapeType = 'LINE.CUT' | 'LINE.SCREEN' | 'LINE.DRIBBLE' | 'LINE.PASS' | 'LINE.HANDOFF';
12
+
13
+ export type ShapeType = 'CIRCLE' | 'SQUARE' | 'TRIANGLE' | 'FOV' | 'XMARK' | 'STRAIGHT' | 'CONE' | LineShapeType;
14
+
15
+ export type SportType = 'FOOTBALL' | 'BASKETBALL' | 'VOLLEYBALL' | 'LACROSSE' | 'SOCCER' | 'HOCKEY' | 'BASEBALL';
16
+
17
+ export type CourtTypeSportBasketball =
18
+ | 'BIG3'
19
+ | 'NBA'
20
+ | 'WNBA'
21
+ | 'FIBA'
22
+ | 'NCAAM'
23
+ | 'NCAAW'
24
+ | 'US_HIGH_SCHOOL'
25
+ | 'US_JUNIOR_HIGH';
26
+
27
+ export type CourtTypeSportVolleyball = 'VOLLEYBALL_INDOOR';
28
+
29
+ export type CourtTypeSportSoccer =
30
+ | 'SOCCER_FIFA'
31
+ | 'SOCCER_NCAA'
32
+ | 'SOCCER_NFHS'
33
+ | 'SOCCER_U10'
34
+ | 'SOCCER_U12'
35
+ | 'SOCCER_U19';
36
+
37
+ export type CourtTypeSportHockey = 'HOCKEY_NHL' | 'HOCKEY_INTERNATIONAL';
38
+
39
+ export type CourtTypeSportBaseball = 'BASEBALL_HIGH_SCHOOL';
40
+
41
+ export type CourtTypeSportLacrosse = 'LACROSSE_US_M' | 'LACROSSE_US_W';
42
+
43
+ export type CourtTypeSportFootball = 'FOOTBALL_HIGH_SCHOOL';
44
+
45
+ export type CourtTypeSportFootballLegacy = 'FOOTBALL';
46
+
47
+ export type CourtType =
48
+ | CourtTypeSportBasketball
49
+ | CourtTypeSportVolleyball
50
+ | CourtTypeSportLacrosse
51
+ | CourtTypeSportSoccer
52
+ | CourtTypeSportHockey
53
+ | CourtTypeSportBaseball
54
+ | CourtTypeSportFootball
55
+ | CourtTypeSportFootballLegacy;
56
+
57
+ export type ShapeControlPoints =
58
+ | [CourtPoint, CourtPoint]
59
+ | [CourtPoint, CourtPoint, CourtPoint]
60
+ | [CourtPoint, CourtPoint, CourtPoint, CourtPoint];
61
+
62
+ export type NoteDisplayModes = ['onCourt'] | ['playNote'] | ['onCourt', 'playNote'];
63
+
64
+ export interface SportConstants {
65
+ PLAYER_TOKEN_RADIUS: number;
66
+ PLAYER_TOKEN_SCALE: number;
67
+ }
68
+
69
+ export interface CourtTypeConstants {
70
+ COURT_RECT_WIDTH: number;
71
+ COURT_RECT_HEIGHT: number;
72
+ }
73
+
74
+ export interface CourtPoint {
75
+ x: number;
76
+ y: number;
77
+ }
78
+
79
+ export interface CourtSize {
80
+ height: number;
81
+ width: number;
82
+ }
83
+
84
+ export interface Scale {
85
+ x: number;
86
+ y: number;
87
+ }
88
+
89
+ export interface LinePart {
90
+ controlPoints:
91
+ | [CourtPoint, CourtPoint]
92
+ | [CourtPoint, CourtPoint, CourtPoint]
93
+ | [CourtPoint, CourtPoint, CourtPoint, CourtPoint];
94
+ }
95
+
96
+ export interface Color {
97
+ red: number;
98
+ green: number;
99
+ blue: number;
100
+ alpha: number;
101
+ }
102
+
103
+ export interface CourtRect {
104
+ origin: CourtPoint;
105
+ size: CourtSize;
106
+ }
107
+
108
+ export interface Court {
109
+ type: CourtType;
110
+ courtRect: CourtRect;
111
+ }
112
+
113
+ export type PlayerAnimationType = 'POSITION';
114
+
115
+ export interface PlayerAnimation {
116
+ id: string;
117
+ type: PlayerAnimationType;
118
+ keyTimes: number[];
119
+ lineParts: LinePart[];
120
+ }
121
+
122
+ export interface Player {
123
+ id: string;
124
+ possession: boolean;
125
+ color: Color;
126
+ position: Position;
127
+ location: CourtPoint;
128
+ textOverride?: string;
129
+ playerHatKey?: string;
130
+ animations: PlayerAnimation[];
131
+ }
132
+
133
+ export type LineAnimationType = 'LINESTROKE';
134
+
135
+ export interface LineAnimation {
136
+ id: string;
137
+ type: LineAnimationType;
138
+ keyTimes: number[];
139
+ strokeStartValues: [number, number, number];
140
+ }
141
+
142
+ export interface Line {
143
+ id: string;
144
+ type: LineType;
145
+ phase: number;
146
+ playerPositionOrigin: Position;
147
+ playerPositionTerminus: Position | null;
148
+ playerLineSequence: number;
149
+ lineParts: LinePart[];
150
+ color: Color;
151
+ hideLineTip?: boolean;
152
+ animations: LineAnimation[];
153
+ }
154
+
155
+ export interface Shape {
156
+ id: string;
157
+ type: ShapeType;
158
+ location: CourtPoint;
159
+ color: Color;
160
+ scale: Scale;
161
+ angle?: number;
162
+ showBorder?: boolean;
163
+ linePart?: LinePart;
164
+ }
165
+
166
+ export interface Note {
167
+ id: string;
168
+ location: CourtPoint;
169
+ displayModes: NoteDisplayModes;
170
+ text: string;
171
+ animations: NoteAnimation[];
172
+ font: NoteFont;
173
+ color: Color;
174
+ showBorder: boolean;
175
+ }
176
+
177
+ export interface NoteAnimation {
178
+ id: string;
179
+ keyTimes: number[];
180
+ }
181
+
182
+ export interface NoteFont {
183
+ bold: boolean;
184
+ italic: boolean;
185
+ underline: boolean;
186
+ strikethrough: boolean;
187
+ fontSize: number;
188
+ }
189
+
190
+ export interface PlayConstructData {
191
+ id?: string;
192
+ lastUpdtTS?: string;
193
+ name: string;
194
+ playData: PlayData;
195
+ }
196
+
197
+ export interface PlayData {
198
+ animationDuration: number;
199
+ sport: SportType;
200
+ court: Court;
201
+ players: Player[];
202
+ lines: Line[];
203
+ shapes?: Shape[];
204
+ notes?: Note[];
205
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,21 @@
1
+ {
2
+ "compilerOptions": {
3
+ // Ensure that .d.ts files are created by tsc, but not .js files
4
+ "declaration": true,
5
+ "declarationDir": "./dist/types-generated",
6
+ "emitDeclarationOnly": true,
7
+ // Ensure that Babel can safely transpile files in the TypeScript project
8
+ "isolatedModules": true,
9
+ "outDir": "./dist",
10
+ "esModuleInterop": true,
11
+ "lib": [
12
+ "es2015",
13
+ "dom"
14
+ ],
15
+ "target": "es2015",
16
+ "moduleResolution": "node"
17
+ },
18
+ "exclude": [
19
+ "node_modules"
20
+ ]
21
+ }
package/webpack.config.js CHANGED
@@ -4,7 +4,7 @@ module.exports = {
4
4
  target: 'async-node', // this needed for linking this package for development via "npm link"
5
5
  mode: 'production',
6
6
  devtool: 'source-map',
7
- entry: './index.js',
7
+ entry: './src/index.ts',
8
8
  output: {
9
9
  path: path.resolve(__dirname, './dist'),
10
10
  filename: 'play-rendering.js',
@@ -13,24 +13,21 @@ module.exports = {
13
13
  // libraryExport: 'default',
14
14
  library: 'playRendering'
15
15
  },
16
+ resolve: {
17
+ extensions: ['.ts', '.js']
18
+ },
16
19
  externals: {
17
20
  lodash: {
18
21
  commonjs: 'lodash',
19
22
  commonjs2: 'lodash',
20
23
  amd: 'lodash',
21
24
  root: '_'
22
- },
23
- canvas: {
24
- commonjs: 'canvas',
25
- commonjs2: 'canvas',
26
- amd: 'canvas',
27
- root: 'canvas'
28
25
  }
29
26
  },
30
27
  module: {
31
28
  rules: [
32
29
  {
33
- test: /\.(js)$/,
30
+ test: /\.(js|ts)$/,
34
31
  exclude: /(node_modules|bower_components)/,
35
32
  use: 'babel-loader'
36
33
  },
package/index.js DELETED
@@ -1,17 +0,0 @@
1
- module.exports.Play = require('./src/models/Play');
2
- module.exports.Frame = require('./src/models/Frame');
3
- module.exports.Animation = require('./src/models/Animation');
4
- module.exports.Line = require('./src/models/Line');
5
- module.exports.Player = require('./src/models/Player');
6
- module.exports.Note = require('./src/models/Note');
7
- module.exports.Shape = require('./src/models/Shape');
8
- module.exports.ShapeModels = require('./src/models/ShapeModels');
9
- module.exports.LineDrawingMath = require('./src/math/LineDrawingMath');
10
- module.exports.Bezier = require('./src/math/Bezier').Bezier;
11
- module.exports.Constants = require('./src/constants');
12
-
13
- const { courtTypeConstants, sportConstants, sportCourtTypeMap } = require('./src/layers/court');
14
-
15
- module.exports.SportConstants = sportConstants;
16
- module.exports.CourtTypeConstants = courtTypeConstants;
17
- module.exports.SportCourtTypeMap = sportCourtTypeMap;
package/src/config.js DELETED
@@ -1,3 +0,0 @@
1
- module.exports = Object.freeze({
2
- debug: false
3
- });
package/src/constants.js DELETED
@@ -1,51 +0,0 @@
1
- module.exports = Object.freeze({
2
- SPORT_TYPE_BASKETBALL: 'BASKETBALL',
3
- SPORT_TYPE_VOLLEYBALL: 'VOLLEYBALL',
4
- SPORT_TYPE_FOOTBALL: 'FOOTBALL',
5
- SPORT_TYPE_LACROSSE: 'LACROSSE',
6
- SPORT_TYPE_SOCCER: 'SOCCER',
7
- SPORT_TYPE_HOCKEY: 'HOCKEY',
8
- SPORT_TYPE_BASEBALL: 'BASEBALL',
9
-
10
- COURT_TYPE_BIG3: 'BIG3',
11
- COURT_TYPE_FIBA: 'FIBA',
12
- COURT_TYPE_NBA: 'NBA',
13
- COURT_TYPE_NCAAM: 'NCAAM',
14
- COURT_TYPE_NCAAW: 'NCAAW',
15
- COURT_TYPE_US_HIGH_SCHOOL: 'US_HIGH_SCHOOL',
16
- COURT_TYPE_US_JUNIOR_HIGH: 'US_JUNIOR_HIGH',
17
- COURT_TYPE_WNBA: 'WNBA',
18
-
19
- COURT_TYPE_FOOTBALL_HIGH_SCHOOL: 'FOOTBALL_HIGH_SCHOOL',
20
- COURT_TYPE_FOOTBALL_HIGH_SCHOOL_LEGACY: 'FOOTBALL',
21
-
22
- COURT_TYPE_VOLLEYBALL_INDOOR: 'VOLLEYBALL_INDOOR',
23
-
24
- COURT_TYPE_LACROSSE_US_M: 'LACROSSE_US_M',
25
- COURT_TYPE_LACROSSE_US_W: 'LACROSSE_US_W',
26
-
27
- COURT_TYPE_SOCCER_FIFA: 'SOCCER_FIFA',
28
- COURT_TYPE_SOCCER_NCAA: 'SOCCER_NCAA',
29
- COURT_TYPE_SOCCER_NFHS: 'SOCCER_NFHS',
30
- COURT_TYPE_SOCCER_U10: 'SOCCER_U10',
31
- COURT_TYPE_SOCCER_U12: 'SOCCER_U12',
32
- COURT_TYPE_SOCCER_U19: 'SOCCER_U19',
33
-
34
- COURT_TYPE_HOCKEY_NHL: 'HOCKEY_NHL',
35
- COURT_TYPE_HOCKEY_INTERNATIONAL: 'HOCKEY_INTERNATIONAL',
36
-
37
- COURT_TYPE_BASEBALL_HIGH_SCHOOL: 'BASEBALL_HIGH_SCHOOL',
38
-
39
- SHAPE_TYPE_CIRCLE: 'CIRCLE',
40
- SHAPE_TYPE_SQUARE: 'SQUARE',
41
- SHAPE_TYPE_TRIANGLE: 'TRIANGLE',
42
- SHAPE_TYPE_FOV: 'FOV',
43
- SHAPE_TYPE_XMARK: 'XMARK',
44
- SHAPE_TYPE_STRAIGHT: 'STRAIGHT',
45
- SHAPE_TYPE_CONE: 'CONE',
46
- SHAPE_TYPE_LINE_CUT: 'LINE.CUT',
47
- SHAPE_TYPE_LINE_SCREEN: 'LINE.SCREEN',
48
- SHAPE_TYPE_LINE_DRIBBLE: 'LINE.DRIBBLE',
49
- SHAPE_TYPE_LINE_PASS: 'LINE.PASS',
50
- SHAPE_TYPE_LINE_HANDOFF: 'LINE.HANDOFF'
51
- });
@@ -1,12 +0,0 @@
1
- module.exports.animationProgress = function(globalProgress, start, end) {
2
- const max = end - start;
3
- const local = globalProgress - start;
4
- return (local * 100) / max / 100;
5
- };
6
-
7
- module.exports.rotatePoint = function(x, y, cX, cY, degrees) {
8
- return {
9
- x: (x - cX) * Math.cos((degrees * Math.PI) / 180) - (y - cY) * Math.sin((degrees * Math.PI) / 180) + cX,
10
- y: (x - cX) * Math.sin((degrees * Math.PI) / 180) + (y - cY) * Math.cos((degrees * Math.PI) / 180) + cY
11
- };
12
- };
@@ -1,20 +0,0 @@
1
- const { sportConstants, courtTypeConstants } = require('../court');
2
-
3
- class BaseLayer {
4
- constructor(ctx, playData) {
5
- this.ctx = ctx;
6
- this.playData = playData;
7
- this.options = { ...playData.options };
8
- }
9
-
10
- get courtTypeConstants() {
11
- if (!sportConstants[this.playData.sport]) throw new Error('unknown sport type constants');
12
- if (!courtTypeConstants[this.playData.court.type]) throw new Error('unknown court type constants');
13
- return {
14
- ...sportConstants[this.playData.sport],
15
- ...courtTypeConstants[this.playData.court.type]
16
- };
17
- }
18
- }
19
-
20
- module.exports = BaseLayer;
@@ -1,22 +0,0 @@
1
- class InternalBaseLayer {
2
- constructor(parentLayer) {
3
- this.ctx = parentLayer.ctx;
4
- this.playData = parentLayer.playData;
5
- this.options = parentLayer.options ? parentLayer.options : {};
6
- this.courtTypeConstants = parentLayer.courtTypeConstants;
7
- }
8
-
9
- apply() {
10
- this.ctx.save();
11
-
12
- this.drawLogic();
13
-
14
- this.ctx.restore();
15
- }
16
-
17
- drawLogic() {
18
- // Override this
19
- }
20
- }
21
-
22
- module.exports = InternalBaseLayer;
@@ -1,64 +0,0 @@
1
- // require all modules on the path and with the pattern defined
2
- const req = require.context('./layers/', true, /.js$/);
3
-
4
- const sportLayers = {};
5
- const courtTypeLayers = {};
6
- const sportConstants = {};
7
- const courtTypeConstants = {};
8
- const sportCourtTypeMap = {};
9
-
10
- req.keys().forEach(key => {
11
- if (key.match(/layers\//)) {
12
- return processLayers(key);
13
- }
14
- if (key.match(/\/constants\.js/)) {
15
- return processConstants(key);
16
- }
17
- });
18
-
19
- function processLayers(key) {
20
- if (key.match(/\/courtTypes\//)) {
21
- const mPath = key
22
- .replace('./', '')
23
- .replace('/courtTypes', '')
24
- .replace('/layers', '')
25
- .replace('.js', '');
26
- const [sportName, courtType, mName] = mPath.split('/');
27
- if (!courtTypeLayers[sportName]) courtTypeLayers[sportName] = {};
28
- if (!courtTypeLayers[sportName][courtType]) courtTypeLayers[sportName][courtType] = {};
29
- courtTypeLayers[sportName][courtType][mName] = req(key);
30
- return;
31
- }
32
- const mPath = key
33
- .replace('./', '')
34
- .replace('/layers', '')
35
- .replace('.js', '');
36
- const [sportName, mName] = mPath.split('/');
37
- if (!sportLayers[sportName]) sportLayers[sportName] = {};
38
- sportLayers[sportName][mName] = req(key);
39
- }
40
-
41
- function processConstants(key) {
42
- if (!key.match(/\/courtTypes\//)) {
43
- // Process sport
44
- const sportType = key.replace('./', '').replace('/constants.js', '');
45
- sportConstants[sportType] = req(key);
46
-
47
- sportCourtTypeMap[sportType] = {
48
- courtTypes: []
49
- };
50
- return;
51
- }
52
-
53
- // Process court type
54
- const mPath = key
55
- .replace('./', '')
56
- .replace('/courtTypes', '')
57
- .replace('/constants.js', '');
58
- const [sportType, courtType] = mPath.split('/');
59
- courtTypeConstants[courtType] = req(key);
60
-
61
- sportCourtTypeMap[sportType].courtTypes.push(courtType);
62
- }
63
-
64
- module.exports = { sportLayers, courtTypeLayers, sportConstants, courtTypeConstants, sportCourtTypeMap };
@@ -1,7 +0,0 @@
1
- module.exports = Object.freeze({
2
- COURT_LINE_WIDTH: 0.1667,
3
- PLAYER_TOKEN_RADIUS: 1.5,
4
- PLAYER_TOKEN_SCALE: 2,
5
- LINE_WIDTH: 0.55,
6
- LINE_MASKING: false
7
- });
@@ -1,36 +0,0 @@
1
- module.exports = Object.freeze({
2
- COURT_RECT_WIDTH: 460,
3
- COURT_RECT_HEIGHT: 290,
4
- COURT_DIRT_COLOR: '#C49463',
5
-
6
- HOME_PLATE_APEX_TO_PITCHERS_PLATE_FRONT: 60.5,
7
- HOME_PLATE_APEX_TO_SECOND_BASE_APEX: 127.28125,
8
- HOME_PLATE_APEX_TO_BACKSTOP: 60,
9
- HOME_PLATE_SIDE: 1.41667,
10
- HOME_PLATE_CIRCLE_DIA: 26,
11
-
12
- HOME_PLATE_SIDE_TO_BATTERS_BOX: 0.5,
13
- BATTERS_BOX_WIDTH: 4,
14
- BATTERS_BOX_HEIGHT: 6,
15
- BATTERS_BOX_TO_CATCHERS_BACK_LINE: 5,
16
-
17
- CATCHERS_BACK_LINE_LENGTH: 3.58333,
18
- ON_DECK_CIRCLE_DIA: 5,
19
- ON_DECK_CIRCLE_DISTANCE_FROM_CENTER: 37,
20
-
21
- COACH_BOX_TO_BASE_LINE: 15,
22
- COACH_BOX_WIDTH: 20,
23
- COACH_BOX_HEIGHT: 5,
24
-
25
- PITCHERS_PLATE_WIDTH: 2,
26
- PITCHERS_PLATE_HEIGHT: 0.5,
27
- PITCHERS_PLATE_TO_PITCHING_MOUND_CENTER: 1.5,
28
- PITCHING_MOUND_DIA: 18,
29
-
30
- PITCHERS_PLATE_GRASS_LINE_RAD: 95,
31
-
32
- FOUL_LINE_LENGTH: 325,
33
- BASE_LINE_LENGTH: 90,
34
- BASE_SQUARE_SIDE_LENGTH: 1.25,
35
- BASE_DIRT_RAD: 13
36
- });
@@ -1,7 +0,0 @@
1
- module.exports = Object.freeze({
2
- COURT_LINE_WIDTH: 0.1667,
3
- PLAYER_TOKEN_RADIUS: 1.5,
4
- PLAYER_TOKEN_SCALE: 1,
5
- LINE_WIDTH: 0.33,
6
- LINE_MASKING: true
7
- });
@@ -1,13 +0,0 @@
1
- module.exports = Object.freeze({
2
- COURT_RECT_WIDTH: 50.0,
3
- COURT_RECT_HEIGHT: 94.0,
4
- HOOP_CORNER_DISTANCE: 22,
5
- THREE_POINT_ARC_RADIUS: 23.6762,
6
- THREE_POINT_ASIN_APPROX: 10.0,
7
- THREE_POINT_OFFSET_ORIGIN_Y_APPROX: 14.0,
8
- FREE_THROW_INNER_WIDTH: 12.0,
9
- FREE_THROW_OUTER_WIDTH: 16.0,
10
- FREE_THROW_INNER_DASHED_CIRCLE: true,
11
- CENTER_INNER_CIRCLE: true,
12
- BENCH_MARKING: true
13
- });
@@ -1,12 +0,0 @@
1
- const InternalCourtLayer = require('../../../../../base/InternalCourtLayer');
2
- const LaneMarkingNBATrait = require('../../../common/LaneMarkingNBATrait');
3
-
4
- class LaneMarkingLayer extends InternalCourtLayer {
5
- reflection() {
6
- return true;
7
- }
8
- }
9
-
10
- Object.assign(LaneMarkingLayer.prototype, LaneMarkingNBATrait);
11
-
12
- module.exports = LaneMarkingLayer;
@@ -1,13 +0,0 @@
1
- module.exports = Object.freeze({
2
- COURT_RECT_WIDTH: 49.21,
3
- COURT_RECT_HEIGHT: 91.86,
4
- HOOP_CORNER_DISTANCE: 21.65,
5
- THREE_POINT_ARC_RADIUS: 22.15,
6
- THREE_POINT_ASIN_APPROX: 6.0,
7
- THREE_POINT_OFFSET_ORIGIN_Y_APPROX: 8.0,
8
- FREE_THROW_INNER_WIDTH: 12.0,
9
- FREE_THROW_OUTER_WIDTH: 16.08,
10
- FREE_THROW_INNER_DASHED_CIRCLE: false,
11
- CENTER_INNER_CIRCLE: false,
12
- BENCH_MARKING: false
13
- });
@@ -1,13 +0,0 @@
1
- module.exports = Object.freeze({
2
- COURT_RECT_WIDTH: 50.0,
3
- COURT_RECT_HEIGHT: 94.0,
4
- HOOP_CORNER_DISTANCE: 22,
5
- THREE_POINT_ARC_RADIUS: 23.6762,
6
- THREE_POINT_ASIN_APPROX: 10.0,
7
- THREE_POINT_OFFSET_ORIGIN_Y_APPROX: 14.0,
8
- FREE_THROW_INNER_WIDTH: 12.0,
9
- FREE_THROW_OUTER_WIDTH: 16.0,
10
- FREE_THROW_INNER_DASHED_CIRCLE: true,
11
- CENTER_INNER_CIRCLE: true,
12
- BENCH_MARKING: true
13
- });
@@ -1,12 +0,0 @@
1
- const InternalCourtLayer = require('../../../../../base/InternalCourtLayer');
2
- const LaneMarkingNBATrait = require('../../../common/LaneMarkingNBATrait');
3
-
4
- class LaneMarkingLayer extends InternalCourtLayer {
5
- reflection() {
6
- return true;
7
- }
8
- }
9
-
10
- Object.assign(LaneMarkingLayer.prototype, LaneMarkingNBATrait);
11
-
12
- module.exports = LaneMarkingLayer;
@@ -1,13 +0,0 @@
1
- module.exports = Object.freeze({
2
- COURT_RECT_WIDTH: 50.0,
3
- COURT_RECT_HEIGHT: 94.0,
4
- HOOP_CORNER_DISTANCE: 20.75,
5
- THREE_POINT_ARC_RADIUS: 20.75,
6
- THREE_POINT_ASIN_APPROX: 2.0,
7
- THREE_POINT_OFFSET_ORIGIN_Y_APPROX: 6.0,
8
- FREE_THROW_INNER_WIDTH: 12.0,
9
- FREE_THROW_OUTER_WIDTH: 12.0,
10
- FREE_THROW_INNER_DASHED_CIRCLE: false,
11
- CENTER_INNER_CIRCLE: false,
12
- BENCH_MARKING: false
13
- });
@@ -1,12 +0,0 @@
1
- const InternalCourtLayer = require('../../../../../base/InternalCourtLayer');
2
- const LaneMarkingNCAATrait = require('../../../common/LaneMarkingNCAATrait');
3
-
4
- class LaneMarkingLayer extends InternalCourtLayer {
5
- reflection() {
6
- return true;
7
- }
8
- }
9
-
10
- Object.assign(LaneMarkingLayer.prototype, LaneMarkingNCAATrait);
11
-
12
- module.exports = LaneMarkingLayer;
@@ -1,13 +0,0 @@
1
- module.exports = Object.freeze({
2
- COURT_RECT_WIDTH: 50.0,
3
- COURT_RECT_HEIGHT: 94.0,
4
- HOOP_CORNER_DISTANCE: 20.75,
5
- THREE_POINT_ARC_RADIUS: 20.75,
6
- THREE_POINT_ASIN_APPROX: 2.0,
7
- THREE_POINT_OFFSET_ORIGIN_Y_APPROX: 6.0,
8
- FREE_THROW_INNER_WIDTH: 12.0,
9
- FREE_THROW_OUTER_WIDTH: 12.0,
10
- FREE_THROW_INNER_DASHED_CIRCLE: false,
11
- CENTER_INNER_CIRCLE: false,
12
- BENCH_MARKING: true
13
- });
@@ -1,12 +0,0 @@
1
- const InternalCourtLayer = require('../../../../../base/InternalCourtLayer');
2
- const LaneMarkingNCAATrait = require('../../../common/LaneMarkingNCAATrait');
3
-
4
- class LaneMarkingLayer extends InternalCourtLayer {
5
- reflection() {
6
- return true;
7
- }
8
- }
9
-
10
- Object.assign(LaneMarkingLayer.prototype, LaneMarkingNCAATrait);
11
-
12
- module.exports = LaneMarkingLayer;
@@ -1,13 +0,0 @@
1
- module.exports = Object.freeze({
2
- COURT_RECT_WIDTH: 50.0,
3
- COURT_RECT_HEIGHT: 84.0,
4
- HOOP_CORNER_DISTANCE: 19.75,
5
- THREE_POINT_ARC_RADIUS: 19.75,
6
- THREE_POINT_ASIN_APPROX: 2.0,
7
- THREE_POINT_OFFSET_ORIGIN_Y_APPROX: 6,
8
- FREE_THROW_INNER_WIDTH: 12.0,
9
- FREE_THROW_OUTER_WIDTH: 12.0,
10
- FREE_THROW_INNER_DASHED_CIRCLE: false,
11
- CENTER_INNER_CIRCLE: false,
12
- BENCH_MARKING: false
13
- });
@@ -1,12 +0,0 @@
1
- const InternalCourtLayer = require('../../../../../base/InternalCourtLayer');
2
- const LaneMarkingNCAATrait = require('../../../common/LaneMarkingNCAATrait');
3
-
4
- class LaneMarkingLayer extends InternalCourtLayer {
5
- reflection() {
6
- return true;
7
- }
8
- }
9
-
10
- Object.assign(LaneMarkingLayer.prototype, LaneMarkingNCAATrait);
11
-
12
- module.exports = LaneMarkingLayer;