@luceosports/play-rendering 1.19.1 → 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} +11 -12
  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,34 @@
1
+ export const COURT_RECT_WIDTH = 460;
2
+ export const COURT_RECT_HEIGHT = 290;
3
+ export const COURT_DIRT_COLOR = '#C49463';
4
+
5
+ export const HOME_PLATE_APEX_TO_PITCHERS_PLATE_FRONT = 60.5;
6
+ export const HOME_PLATE_APEX_TO_SECOND_BASE_APEX = 127.28125;
7
+ export const HOME_PLATE_APEX_TO_BACKSTOP = 60;
8
+ export const HOME_PLATE_SIDE = 1.41667;
9
+ export const HOME_PLATE_CIRCLE_DIA = 26;
10
+
11
+ export const HOME_PLATE_SIDE_TO_BATTERS_BOX = 0.5;
12
+ export const BATTERS_BOX_WIDTH = 4;
13
+ export const BATTERS_BOX_HEIGHT = 6;
14
+ export const BATTERS_BOX_TO_CATCHERS_BACK_LINE = 5;
15
+
16
+ export const CATCHERS_BACK_LINE_LENGTH = 3.58333;
17
+ export const ON_DECK_CIRCLE_DIA = 5;
18
+ export const ON_DECK_CIRCLE_DISTANCE_FROM_CENTER = 37;
19
+
20
+ export const COACH_BOX_TO_BASE_LINE = 15;
21
+ export const COACH_BOX_WIDTH = 20;
22
+ export const COACH_BOX_HEIGHT = 5;
23
+
24
+ export const PITCHERS_PLATE_WIDTH = 2;
25
+ export const PITCHERS_PLATE_HEIGHT = 0.5;
26
+ export const PITCHERS_PLATE_TO_PITCHING_MOUND_CENTER = 1.5;
27
+ export const PITCHING_MOUND_DIA = 18;
28
+
29
+ export const PITCHERS_PLATE_GRASS_LINE_RAD = 95;
30
+
31
+ export const FOUL_LINE_LENGTH = 325;
32
+ export const BASE_LINE_LENGTH = 90;
33
+ export const BASE_SQUARE_SIDE_LENGTH = 1.25;
34
+ export const BASE_DIRT_RAD = 13;
@@ -1,17 +1,18 @@
1
- const InternalCourtLayer = require('../../../../../base/InternalCourtLayer');
2
- const {
1
+ import InternalCourtLayer from '../../../../../base/InternalCourtLayer';
2
+
3
+ import {
4
+ BASE_DIRT_RAD,
5
+ BASE_LINE_LENGTH,
6
+ COURT_DIRT_COLOR,
3
7
  HOME_PLATE_APEX_TO_BACKSTOP,
4
8
  HOME_PLATE_APEX_TO_PITCHERS_PLATE_FRONT,
5
- COURT_DIRT_COLOR,
6
- PITCHERS_PLATE_TO_PITCHING_MOUND_CENTER,
7
- PITCHING_MOUND_DIA,
8
- PITCHERS_PLATE_GRASS_LINE_RAD,
9
- BASE_LINE_LENGTH,
10
9
  HOME_PLATE_CIRCLE_DIA,
11
- BASE_DIRT_RAD
12
- } = require('../constants');
10
+ PITCHERS_PLATE_GRASS_LINE_RAD,
11
+ PITCHERS_PLATE_TO_PITCHING_MOUND_CENTER,
12
+ PITCHING_MOUND_DIA
13
+ } from '../constants';
13
14
 
14
- class ADirtLayer extends InternalCourtLayer {
15
+ export default class ADirtLayer extends InternalCourtLayer {
15
16
  original() {
16
17
  return false;
17
18
  }
@@ -121,5 +122,3 @@ class ADirtLayer extends InternalCourtLayer {
121
122
  function getArcPointForAngle(c, radius, angle) {
122
123
  return { x: c.x + Math.cos(angle) * radius, y: c.y + Math.sin(angle) * radius };
123
124
  }
124
-
125
- module.exports = ADirtLayer;
@@ -1,12 +1,8 @@
1
- const InternalCourtLayer = require('../../../../../base/InternalCourtLayer');
2
- const {
3
- HOME_PLATE_APEX_TO_BACKSTOP,
4
- BASE_LINE_LENGTH,
5
- BASE_SQUARE_SIDE_LENGTH,
6
- FOUL_LINE_LENGTH
7
- } = require('../constants');
1
+ import InternalCourtLayer from '../../../../../base/InternalCourtLayer';
8
2
 
9
- class BaseLineLayer extends InternalCourtLayer {
3
+ import { BASE_LINE_LENGTH, BASE_SQUARE_SIDE_LENGTH, FOUL_LINE_LENGTH, HOME_PLATE_APEX_TO_BACKSTOP } from '../constants';
4
+
5
+ export default class BaseLineLayer extends InternalCourtLayer {
10
6
  original() {
11
7
  return false;
12
8
  }
@@ -75,5 +71,3 @@ class BaseLineLayer extends InternalCourtLayer {
75
71
  this.ctx.restore();
76
72
  }
77
73
  }
78
-
79
- module.exports = BaseLineLayer;
@@ -1,22 +1,23 @@
1
- const InternalCourtLayer = require('../../../../../base/InternalCourtLayer');
2
- const {
3
- HOME_PLATE_APEX_TO_BACKSTOP,
4
- HOME_PLATE_SIDE,
5
- HOME_PLATE_SIDE_TO_BATTERS_BOX,
1
+ import InternalCourtLayer from '../../../../../base/InternalCourtLayer';
2
+
3
+ import {
4
+ BASE_LINE_LENGTH,
6
5
  BATTERS_BOX_HEIGHT,
6
+ BATTERS_BOX_TO_CATCHERS_BACK_LINE,
7
7
  BATTERS_BOX_WIDTH,
8
8
  CATCHERS_BACK_LINE_LENGTH,
9
- BATTERS_BOX_TO_CATCHERS_BACK_LINE,
9
+ COACH_BOX_HEIGHT,
10
+ COACH_BOX_TO_BASE_LINE,
11
+ COACH_BOX_WIDTH,
12
+ HOME_PLATE_APEX_TO_BACKSTOP,
10
13
  HOME_PLATE_CIRCLE_DIA,
14
+ HOME_PLATE_SIDE,
15
+ HOME_PLATE_SIDE_TO_BATTERS_BOX,
11
16
  ON_DECK_CIRCLE_DIA,
12
- ON_DECK_CIRCLE_DISTANCE_FROM_CENTER,
13
- BASE_LINE_LENGTH,
14
- COACH_BOX_TO_BASE_LINE,
15
- COACH_BOX_HEIGHT,
16
- COACH_BOX_WIDTH
17
- } = require('../constants');
17
+ ON_DECK_CIRCLE_DISTANCE_FROM_CENTER
18
+ } from '../constants';
18
19
 
19
- class HomePlateLayer extends InternalCourtLayer {
20
+ export default class HomePlateLayer extends InternalCourtLayer {
20
21
  original() {
21
22
  return false;
22
23
  }
@@ -100,5 +101,3 @@ class HomePlateLayer extends InternalCourtLayer {
100
101
  });
101
102
  }
102
103
  }
103
-
104
- module.exports = HomePlateLayer;
@@ -1,12 +1,13 @@
1
- const InternalCourtLayer = require('../../../../../base/InternalCourtLayer');
2
- const {
1
+ import InternalCourtLayer from '../../../../../base/InternalCourtLayer';
2
+
3
+ import {
3
4
  HOME_PLATE_APEX_TO_BACKSTOP,
4
5
  HOME_PLATE_APEX_TO_PITCHERS_PLATE_FRONT,
5
- PITCHERS_PLATE_WIDTH,
6
- PITCHERS_PLATE_HEIGHT
7
- } = require('../constants');
6
+ PITCHERS_PLATE_HEIGHT,
7
+ PITCHERS_PLATE_WIDTH
8
+ } from '../constants';
8
9
 
9
- class PitchingMoundLayer extends InternalCourtLayer {
10
+ export default class PitchingMoundLayer extends InternalCourtLayer {
10
11
  original() {
11
12
  return false;
12
13
  }
@@ -36,5 +37,3 @@ class PitchingMoundLayer extends InternalCourtLayer {
36
37
  this.ctx.restore();
37
38
  }
38
39
  }
39
-
40
- module.exports = PitchingMoundLayer;
@@ -0,0 +1,6 @@
1
+ import ADirtLayer from './ADirtLayer';
2
+ import BaseLineLayer from './BaseLineLayer';
3
+ import HomePlateLayer from './HomePlateLayer';
4
+ import PitchingMoundLayer from './PitchingMoundLayer';
5
+
6
+ export { ADirtLayer, BaseLineLayer, HomePlateLayer, PitchingMoundLayer };
@@ -1,6 +1,6 @@
1
- const InternalCourtLayer = require('../../../base/InternalCourtLayer');
1
+ import InternalCourtLayer from '../../../base/InternalCourtLayer';
2
2
 
3
- class BorderRectLayer extends InternalCourtLayer {
3
+ export default class BorderRectLayer extends InternalCourtLayer {
4
4
  drawLogic() {
5
5
  this.ctx.beginPath();
6
6
  this.ctx.lineWidth = this.courtTypeConstants.COURT_LINE_WIDTH * 2;
@@ -8,5 +8,3 @@ class BorderRectLayer extends InternalCourtLayer {
8
8
  this.ctx.stroke();
9
9
  }
10
10
  }
11
-
12
- module.exports = BorderRectLayer;
@@ -0,0 +1,3 @@
1
+ import BorderRectLayer from './BorderRectLayer';
2
+
3
+ export { BorderRectLayer };
@@ -1,6 +1,6 @@
1
1
  const COURT_INNER_MARK_OFFSET = 5;
2
2
 
3
- module.exports = {
3
+ export default {
4
4
  drawLogic() {
5
5
  const courtMarkingWidth = 0.667;
6
6
  const courtOuterRectOffset = this.courtTypeConstants.FREE_THROW_OUTER_WIDTH / 2;
@@ -1,4 +1,4 @@
1
- module.exports = {
1
+ export default {
2
2
  drawLogic() {
3
3
  const courtMarkingWidth = 0.667;
4
4
  const courtOuterRectOffset = this.courtTypeConstants.FREE_THROW_OUTER_WIDTH / 2;
@@ -0,0 +1,5 @@
1
+ export const COURT_LINE_WIDTH = 0.1667;
2
+ export const PLAYER_TOKEN_RADIUS = 1.5;
3
+ export const PLAYER_TOKEN_SCALE = 1;
4
+ export const LINE_WIDTH = 0.33;
5
+ export const LINE_MASKING = true;
@@ -0,0 +1,11 @@
1
+ export const COURT_RECT_WIDTH = 50.0;
2
+ export const COURT_RECT_HEIGHT = 94.0;
3
+ export const HOOP_CORNER_DISTANCE = 22;
4
+ export const THREE_POINT_ARC_RADIUS = 23.6762;
5
+ export const THREE_POINT_ASIN_APPROX = 10.0;
6
+ export const THREE_POINT_OFFSET_ORIGIN_Y_APPROX = 14.0;
7
+ export const FREE_THROW_INNER_WIDTH = 12.0;
8
+ export const FREE_THROW_OUTER_WIDTH = 16.0;
9
+ export const FREE_THROW_INNER_DASHED_CIRCLE = true;
10
+ export const CENTER_INNER_CIRCLE = true;
11
+ export const BENCH_MARKING = true;
@@ -1,6 +1,6 @@
1
- const InternalCourtLayer = require('../../../../../base/InternalCourtLayer');
1
+ import InternalCourtLayer from '../../../../../base/InternalCourtLayer';
2
2
 
3
- class Big3Layer extends InternalCourtLayer {
3
+ export default class Big3Layer extends InternalCourtLayer {
4
4
  drawLogic() {
5
5
  const fontSize = 4;
6
6
  const textHorizontalOffset = 1.1;
@@ -41,5 +41,3 @@ class Big3Layer extends InternalCourtLayer {
41
41
  });
42
42
  }
43
43
  }
44
-
45
- module.exports = Big3Layer;
@@ -0,0 +1,10 @@
1
+ import InternalCourtLayer from '../../../../../base/InternalCourtLayer';
2
+ import LaneMarkingNBATrait from '../../../common/LaneMarkingNBATrait';
3
+
4
+ export default class LaneMarkingLayer extends InternalCourtLayer {
5
+ reflection() {
6
+ return true;
7
+ }
8
+ }
9
+
10
+ Object.assign(LaneMarkingLayer.prototype, LaneMarkingNBATrait);
@@ -0,0 +1,4 @@
1
+ import Big3Layer from './Big3Layer';
2
+ import LaneMarkingLayer from './LaneMarkingLayer';
3
+
4
+ export { Big3Layer, LaneMarkingLayer };
@@ -0,0 +1,11 @@
1
+ export const COURT_RECT_WIDTH = 49.21;
2
+ export const COURT_RECT_HEIGHT = 91.86;
3
+ export const HOOP_CORNER_DISTANCE = 21.65;
4
+ export const THREE_POINT_ARC_RADIUS = 22.15;
5
+ export const THREE_POINT_ASIN_APPROX = 6.0;
6
+ export const THREE_POINT_OFFSET_ORIGIN_Y_APPROX = 8.0;
7
+ export const FREE_THROW_INNER_WIDTH = 12.0;
8
+ export const FREE_THROW_OUTER_WIDTH = 16.08;
9
+ export const FREE_THROW_INNER_DASHED_CIRCLE = false;
10
+ export const CENTER_INNER_CIRCLE = false;
11
+ export const BENCH_MARKING = false;
@@ -1,6 +1,6 @@
1
- const InternalCourtLayer = require('../../../../../base/InternalCourtLayer');
1
+ import InternalCourtLayer from '../../../../../base/InternalCourtLayer';
2
2
 
3
- class LaneMarkingLayer extends InternalCourtLayer {
3
+ export default class LaneMarkingLayer extends InternalCourtLayer {
4
4
  reflection() {
5
5
  return true;
6
6
  }
@@ -34,5 +34,3 @@ class LaneMarkingLayer extends InternalCourtLayer {
34
34
  this.ctx.stroke();
35
35
  }
36
36
  }
37
-
38
- module.exports = LaneMarkingLayer;
@@ -0,0 +1,3 @@
1
+ import LaneMarkingLayer from './LaneMarkingLayer';
2
+
3
+ export { LaneMarkingLayer };
@@ -0,0 +1,11 @@
1
+ export const COURT_RECT_WIDTH = 50.0;
2
+ export const COURT_RECT_HEIGHT = 94.0;
3
+ export const HOOP_CORNER_DISTANCE = 22;
4
+ export const THREE_POINT_ARC_RADIUS = 23.6762;
5
+ export const THREE_POINT_ASIN_APPROX = 10.0;
6
+ export const THREE_POINT_OFFSET_ORIGIN_Y_APPROX = 14.0;
7
+ export const FREE_THROW_INNER_WIDTH = 12.0;
8
+ export const FREE_THROW_OUTER_WIDTH = 16.0;
9
+ export const FREE_THROW_INNER_DASHED_CIRCLE = true;
10
+ export const CENTER_INNER_CIRCLE = true;
11
+ export const BENCH_MARKING = true;
@@ -0,0 +1,10 @@
1
+ import InternalCourtLayer from '../../../../../base/InternalCourtLayer';
2
+ import LaneMarkingNBATrait from '../../../common/LaneMarkingNBATrait';
3
+
4
+ export default class LaneMarkingLayer extends InternalCourtLayer {
5
+ reflection() {
6
+ return true;
7
+ }
8
+ }
9
+
10
+ Object.assign(LaneMarkingLayer.prototype, LaneMarkingNBATrait);
@@ -0,0 +1,3 @@
1
+ import LaneMarkingLayer from './LaneMarkingLayer';
2
+
3
+ export { LaneMarkingLayer };
@@ -0,0 +1,11 @@
1
+ export const COURT_RECT_WIDTH = 50.0;
2
+ export const COURT_RECT_HEIGHT = 94.0;
3
+ export const HOOP_CORNER_DISTANCE = 20.75;
4
+ export const THREE_POINT_ARC_RADIUS = 20.75;
5
+ export const THREE_POINT_ASIN_APPROX = 2.0;
6
+ export const THREE_POINT_OFFSET_ORIGIN_Y_APPROX = 6.0;
7
+ export const FREE_THROW_INNER_WIDTH = 12.0;
8
+ export const FREE_THROW_OUTER_WIDTH = 12.0;
9
+ export const FREE_THROW_INNER_DASHED_CIRCLE = false;
10
+ export const CENTER_INNER_CIRCLE = false;
11
+ export const BENCH_MARKING = false;
@@ -0,0 +1,10 @@
1
+ import InternalCourtLayer from '../../../../../base/InternalCourtLayer';
2
+ import LaneMarkingNCAATrait from '../../../common/LaneMarkingNCAATrait';
3
+
4
+ export default class LaneMarkingLayer extends InternalCourtLayer {
5
+ reflection() {
6
+ return true;
7
+ }
8
+ }
9
+
10
+ Object.assign(LaneMarkingLayer.prototype, LaneMarkingNCAATrait);
@@ -0,0 +1,3 @@
1
+ import LaneMarkingLayer from './LaneMarkingLayer';
2
+
3
+ export { LaneMarkingLayer };
@@ -0,0 +1,11 @@
1
+ export const COURT_RECT_WIDTH = 50.0;
2
+ export const COURT_RECT_HEIGHT = 94.0;
3
+ export const HOOP_CORNER_DISTANCE = 20.75;
4
+ export const THREE_POINT_ARC_RADIUS = 20.75;
5
+ export const THREE_POINT_ASIN_APPROX = 2.0;
6
+ export const THREE_POINT_OFFSET_ORIGIN_Y_APPROX = 6.0;
7
+ export const FREE_THROW_INNER_WIDTH = 12.0;
8
+ export const FREE_THROW_OUTER_WIDTH = 12.0;
9
+ export const FREE_THROW_INNER_DASHED_CIRCLE = false;
10
+ export const CENTER_INNER_CIRCLE = false;
11
+ export const BENCH_MARKING = true;
@@ -0,0 +1,10 @@
1
+ import InternalCourtLayer from '../../../../../base/InternalCourtLayer';
2
+ import LaneMarkingNCAATrait from '../../../common/LaneMarkingNCAATrait';
3
+
4
+ export default class LaneMarkingLayer extends InternalCourtLayer {
5
+ reflection() {
6
+ return true;
7
+ }
8
+ }
9
+
10
+ Object.assign(LaneMarkingLayer.prototype, LaneMarkingNCAATrait);
@@ -0,0 +1,3 @@
1
+ import LaneMarkingLayer from './LaneMarkingLayer';
2
+
3
+ export { LaneMarkingLayer };
@@ -0,0 +1,11 @@
1
+ export const COURT_RECT_WIDTH = 50.0;
2
+ export const COURT_RECT_HEIGHT = 84.0;
3
+ export const HOOP_CORNER_DISTANCE = 19.75;
4
+ export const THREE_POINT_ARC_RADIUS = 19.75;
5
+ export const THREE_POINT_ASIN_APPROX = 2.0;
6
+ export const THREE_POINT_OFFSET_ORIGIN_Y_APPROX = 6;
7
+ export const FREE_THROW_INNER_WIDTH = 12.0;
8
+ export const FREE_THROW_OUTER_WIDTH = 12.0;
9
+ export const FREE_THROW_INNER_DASHED_CIRCLE = false;
10
+ export const CENTER_INNER_CIRCLE = false;
11
+ export const BENCH_MARKING = false;
@@ -0,0 +1,10 @@
1
+ import InternalCourtLayer from '../../../../../base/InternalCourtLayer';
2
+ import LaneMarkingNCAATrait from '../../../common/LaneMarkingNCAATrait';
3
+
4
+ export default class LaneMarkingLayer extends InternalCourtLayer {
5
+ reflection() {
6
+ return true;
7
+ }
8
+ }
9
+
10
+ Object.assign(LaneMarkingLayer.prototype, LaneMarkingNCAATrait);
@@ -0,0 +1,3 @@
1
+ import LaneMarkingLayer from './LaneMarkingLayer';
2
+
3
+ export { LaneMarkingLayer };
@@ -0,0 +1,11 @@
1
+ export const COURT_RECT_WIDTH = 42.0;
2
+ export const COURT_RECT_HEIGHT = 74.0;
3
+ export const HOOP_CORNER_DISTANCE = 19.75;
4
+ export const THREE_POINT_ARC_RADIUS = 19.75;
5
+ export const THREE_POINT_ASIN_APPROX = 2.0;
6
+ export const THREE_POINT_OFFSET_ORIGIN_Y_APPROX = 6;
7
+ export const FREE_THROW_INNER_WIDTH = 12.0;
8
+ export const FREE_THROW_OUTER_WIDTH = 12.0;
9
+ export const FREE_THROW_INNER_DASHED_CIRCLE = false;
10
+ export const CENTER_INNER_CIRCLE = false;
11
+ export const BENCH_MARKING = false;
@@ -0,0 +1,10 @@
1
+ import InternalCourtLayer from '../../../../../base/InternalCourtLayer';
2
+ import LaneMarkingNCAATrait from '../../../common/LaneMarkingNCAATrait';
3
+
4
+ export default class LaneMarkingLayer extends InternalCourtLayer {
5
+ reflection() {
6
+ return true;
7
+ }
8
+ }
9
+
10
+ Object.assign(LaneMarkingLayer.prototype, LaneMarkingNCAATrait);
@@ -0,0 +1,3 @@
1
+ import LaneMarkingLayer from './LaneMarkingLayer';
2
+
3
+ export { LaneMarkingLayer };
@@ -0,0 +1,11 @@
1
+ export const COURT_RECT_WIDTH = 50.0;
2
+ export const COURT_RECT_HEIGHT = 94.0;
3
+ export const HOOP_CORNER_DISTANCE = 21.65;
4
+ export const THREE_POINT_ARC_RADIUS = 22.15;
5
+ export const THREE_POINT_ASIN_APPROX = 6.0;
6
+ export const THREE_POINT_OFFSET_ORIGIN_Y_APPROX = 9.0;
7
+ export const FREE_THROW_INNER_WIDTH = 12.0;
8
+ export const FREE_THROW_OUTER_WIDTH = 16.0;
9
+ export const FREE_THROW_INNER_DASHED_CIRCLE = true;
10
+ export const CENTER_INNER_CIRCLE = true;
11
+ export const BENCH_MARKING = true;
@@ -0,0 +1,10 @@
1
+ import InternalCourtLayer from '../../../../../base/InternalCourtLayer';
2
+ import LaneMarkingNBATrait from '../../../common/LaneMarkingNBATrait';
3
+
4
+ export default class LaneMarkingLayer extends InternalCourtLayer {
5
+ reflection() {
6
+ return true;
7
+ }
8
+ }
9
+
10
+ Object.assign(LaneMarkingLayer.prototype, LaneMarkingNBATrait);
@@ -0,0 +1,3 @@
1
+ import LaneMarkingLayer from './LaneMarkingLayer';
2
+
3
+ export { LaneMarkingLayer };
@@ -1,7 +1,8 @@
1
- const InternalCourtLayer = require('../../../base/InternalCourtLayer');
1
+ import InternalCourtLayer from '../../../base/InternalCourtLayer';
2
2
 
3
3
  const COURT_BENCH_OFFSET_X = 11;
4
- class BaseLineMarkingLayer extends InternalCourtLayer {
4
+
5
+ export default class BaseLineMarkingLayer extends InternalCourtLayer {
5
6
  reflection() {
6
7
  return true;
7
8
  }
@@ -24,5 +25,3 @@ class BaseLineMarkingLayer extends InternalCourtLayer {
24
25
  this.ctx.stroke();
25
26
  }
26
27
  }
27
-
28
- module.exports = BaseLineMarkingLayer;
@@ -1,8 +1,8 @@
1
- const InternalCourtLayer = require('../../../base/InternalCourtLayer');
1
+ import InternalCourtLayer from '../../../base/InternalCourtLayer';
2
2
 
3
3
  const BENCH_AREA_OFFSET = 3.0;
4
4
 
5
- class BenchAreaLayer extends InternalCourtLayer {
5
+ export default class BenchAreaLayer extends InternalCourtLayer {
6
6
  reflection() {
7
7
  return true;
8
8
  }
@@ -23,5 +23,3 @@ class BenchAreaLayer extends InternalCourtLayer {
23
23
  this.ctx.stroke();
24
24
  }
25
25
  }
26
-
27
- module.exports = BenchAreaLayer;
@@ -1,6 +1,6 @@
1
- const InternalCourtLayer = require('../../../base/InternalCourtLayer');
1
+ import InternalCourtLayer from '../../../base/InternalCourtLayer';
2
2
 
3
- class BorderRectLayer extends InternalCourtLayer {
3
+ export default class BorderRectLayer extends InternalCourtLayer {
4
4
  drawLogic() {
5
5
  this.ctx.beginPath();
6
6
  this.ctx.lineWidth = this.courtTypeConstants.COURT_LINE_WIDTH * 2;
@@ -8,5 +8,3 @@ class BorderRectLayer extends InternalCourtLayer {
8
8
  this.ctx.stroke();
9
9
  }
10
10
  }
11
-
12
- module.exports = BorderRectLayer;
@@ -1,6 +1,6 @@
1
- const InternalCourtLayer = require('../../../base/InternalCourtLayer');
1
+ import InternalCourtLayer from '../../../base/InternalCourtLayer';
2
2
 
3
- class CenterCircleLayer extends InternalCourtLayer {
3
+ export default class CenterCircleLayer extends InternalCourtLayer {
4
4
  drawLogic() {
5
5
  if (!this.options.showHalfCourtCircle) return;
6
6
 
@@ -17,5 +17,3 @@ class CenterCircleLayer extends InternalCourtLayer {
17
17
  this.ctx.stroke();
18
18
  }
19
19
  }
20
-
21
- module.exports = CenterCircleLayer;
@@ -1,6 +1,6 @@
1
- const InternalCourtLayer = require('../../../base/InternalCourtLayer');
1
+ import InternalCourtLayer from '../../../base/InternalCourtLayer';
2
2
 
3
- class CenterLineLayer extends InternalCourtLayer {
3
+ export default class CenterLineLayer extends InternalCourtLayer {
4
4
  drawLogic() {
5
5
  const courtOrigin = { x: 0.0, y: this.courtCenter.y };
6
6
  const courtTerminus = { x: this.courtTypeConstants.COURT_RECT_WIDTH, y: this.courtCenter.y };
@@ -12,5 +12,3 @@ class CenterLineLayer extends InternalCourtLayer {
12
12
  this.ctx.stroke();
13
13
  }
14
14
  }
15
-
16
- module.exports = CenterLineLayer;
@@ -1,6 +1,6 @@
1
- const InternalCourtLayer = require('../../../base/InternalCourtLayer');
1
+ import InternalCourtLayer from '../../../base/InternalCourtLayer';
2
2
 
3
- class FreeThrowLayer extends InternalCourtLayer {
3
+ export default class FreeThrowLayer extends InternalCourtLayer {
4
4
  reflection() {
5
5
  return true;
6
6
  }
@@ -35,5 +35,3 @@ class FreeThrowLayer extends InternalCourtLayer {
35
35
  this.ctx.stroke();
36
36
  }
37
37
  }
38
-
39
- module.exports = FreeThrowLayer;
@@ -1,8 +1,8 @@
1
- const InternalCourtLayer = require('../../../base/InternalCourtLayer');
1
+ import InternalCourtLayer from '../../../base/InternalCourtLayer';
2
2
 
3
3
  const COURT_HOOP_LINE_OFFSET = 3;
4
4
 
5
- class HoopLayer extends InternalCourtLayer {
5
+ export default class HoopLayer extends InternalCourtLayer {
6
6
  reflection() {
7
7
  return true;
8
8
  }
@@ -22,5 +22,3 @@ class HoopLayer extends InternalCourtLayer {
22
22
  this.ctx.stroke();
23
23
  }
24
24
  }
25
-
26
- module.exports = HoopLayer;
@@ -1,6 +1,6 @@
1
- const InternalCourtLayer = require('../../../base/InternalCourtLayer');
1
+ import InternalCourtLayer from '../../../base/InternalCourtLayer';
2
2
 
3
- class InnerOuterRectLayer extends InternalCourtLayer {
3
+ export default class InnerOuterRectLayer extends InternalCourtLayer {
4
4
  reflection() {
5
5
  return true;
6
6
  }
@@ -20,5 +20,3 @@ class InnerOuterRectLayer extends InternalCourtLayer {
20
20
  this.ctx.stroke();
21
21
  }
22
22
  }
23
-
24
- module.exports = InnerOuterRectLayer;
@@ -1,7 +1,8 @@
1
- const InternalCourtLayer = require('../../../base/InternalCourtLayer');
1
+ import InternalCourtLayer from '../../../base/InternalCourtLayer';
2
2
 
3
3
  const RESTRICTED_AREA_MARK_OFFSET = 4;
4
- class RestrictedAreaLayer extends InternalCourtLayer {
4
+
5
+ export default class RestrictedAreaLayer extends InternalCourtLayer {
5
6
  reflection() {
6
7
  return true;
7
8
  }
@@ -28,5 +29,3 @@ class RestrictedAreaLayer extends InternalCourtLayer {
28
29
  this.ctx.stroke();
29
30
  }
30
31
  }
31
-
32
- module.exports = RestrictedAreaLayer;
@@ -1,6 +1,6 @@
1
- const InternalCourtLayer = require('../../../base/InternalCourtLayer');
1
+ import InternalCourtLayer from '../../../base/InternalCourtLayer';
2
2
 
3
- class ThreePointLineLayer extends InternalCourtLayer {
3
+ export default class ThreePointLineLayer extends InternalCourtLayer {
4
4
  reflection() {
5
5
  return true;
6
6
  }
@@ -38,5 +38,3 @@ class ThreePointLineLayer extends InternalCourtLayer {
38
38
  this.ctx.stroke();
39
39
  }
40
40
  }
41
-
42
- module.exports = ThreePointLineLayer;