@sportsdataverse/sporty 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.
- package/README.md +8 -9
- package/dist/canvas.d.ts +1 -1
- package/dist/canvas.js +1 -1
- package/dist/{chunk-VID5HIDQ.js → chunk-3WYO7OMK.js} +9 -5
- package/dist/chunk-3WYO7OMK.js.map +1 -0
- package/dist/{chunk-X4CSZYJQ.js → chunk-DRH5NZI4.js} +2 -2
- package/dist/chunk-DRH5NZI4.js.map +1 -0
- package/dist/d3.d.ts +1 -1
- package/dist/d3.js +1 -1
- package/dist/index.d.ts +42 -22
- package/dist/index.js +466 -76
- package/dist/index.js.map +1 -1
- package/dist/plot.d.ts +2 -2
- package/dist/plot.js +2 -2
- package/dist/{scene-Dv5KLA63.d.ts → scene-D5Jc19yu.d.ts} +1 -1
- package/dist/specs/index.d.ts +41 -1
- package/dist/specs/index.js +1 -1
- package/dist/svg.d.ts +1 -1
- package/dist/svg.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-VID5HIDQ.js.map +0 -1
- package/dist/chunk-X4CSZYJQ.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/specs/baseball.ts","../src/specs/basketball.ts","../src/specs/curling.ts","../src/specs/football.ts","../src/specs/hockey.ts","../src/specs/lacrosse.ts","../src/specs/soccer.ts","../src/specs/softball.ts","../src/specs/tennis.ts","../src/specs/volleyball.ts"],"names":[],"mappings":"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","file":"chunk-3WYO7OMK.js","sourcesContent":["// generated by tools/codegen — do not edit (source: packages/sporty/data/surface-dimensions.json)\nexport const BASEBALL_LEAGUES = [\"custom\",\"little league\",\"milb\",\"mlb\",\"ncaa\",\"nfhs\",\"pony\"] as const;\nexport type BaseballLeague = (typeof BASEBALL_LEAGUES)[number];\nexport interface BaseballParams {\n backstop_radius: number;\n base_anchor_to_infield_grass_radius: number;\n base_side_length: number;\n baseline_distance: number;\n batters_box_length: number;\n batters_box_width: number;\n batters_box_y_adj: number;\n catchers_box_depth: number;\n catchers_box_shape?: string;\n catchers_box_width?: number;\n center_field_distance: number;\n field_units: \"\" | \"ft\";\n foul_line_to_foul_grass: number;\n foul_line_to_infield_grass: number;\n home_plate_circle_radius: number;\n home_plate_edge_length: number;\n home_plate_side_to_batters_box: number;\n infield_arc_radius: number;\n left_field_distance: number;\n line_width: number;\n pitchers_mound_center_to_home_plate: number;\n pitchers_mound_radius: number;\n pitchers_plate_front_to_home_plate: number;\n pitchers_plate_length: number;\n pitchers_plate_width: number;\n right_field_distance: number;\n running_lane_depth?: number;\n running_lane_length?: number;\n running_lane_start_distance?: number;\n}\nexport type BaseballLoosen<T> = T extends readonly (readonly number[])[] ? readonly number[] | readonly (readonly number[])[] : T extends readonly number[] ? number | readonly number[] : T extends readonly boolean[] ? boolean | readonly boolean[] : T extends readonly string[] ? string | readonly string[] : T;\nexport type BaseballParamUpdates = { [K in keyof BaseballParams]?: BaseballLoosen<BaseballParams[K]> };\nexport const BASEBALL_SPECS: Readonly<Record<BaseballLeague, Readonly<BaseballParams>>> = /* @__PURE__ */ Object.freeze({\"custom\":/* @__PURE__ */ Object.freeze({\"backstop_radius\":0,\"base_anchor_to_infield_grass_radius\":0,\"base_side_length\":0,\"baseline_distance\":0,\"batters_box_length\":0,\"batters_box_width\":0,\"batters_box_y_adj\":0,\"catchers_box_depth\":0,\"catchers_box_width\":0,\"center_field_distance\":0,\"field_units\":\"\",\"foul_line_to_foul_grass\":0,\"foul_line_to_infield_grass\":0,\"home_plate_circle_radius\":0,\"home_plate_edge_length\":0,\"home_plate_side_to_batters_box\":0,\"infield_arc_radius\":0,\"left_field_distance\":0,\"line_width\":0,\"pitchers_mound_center_to_home_plate\":0,\"pitchers_mound_radius\":0,\"pitchers_plate_front_to_home_plate\":0,\"pitchers_plate_length\":0,\"pitchers_plate_width\":0,\"right_field_distance\":0,\"running_lane_depth\":0,\"running_lane_length\":0,\"running_lane_start_distance\":0}),\"little league\":/* @__PURE__ */ Object.freeze({\"backstop_radius\":30,\"base_anchor_to_infield_grass_radius\":9,\"base_side_length\":1.25,\"baseline_distance\":60,\"batters_box_length\":7,\"batters_box_width\":3,\"batters_box_y_adj\":1.1792,\"catchers_box_depth\":6.364,\"catchers_box_shape\":\"trapezoid\",\"center_field_distance\":200,\"field_units\":\"ft\",\"foul_line_to_foul_grass\":2.5,\"foul_line_to_infield_grass\":1.5,\"home_plate_circle_radius\":9,\"home_plate_edge_length\":1.4167,\"home_plate_side_to_batters_box\":0.3333,\"infield_arc_radius\":50,\"left_field_distance\":200,\"line_width\":0.1667,\"pitchers_mound_center_to_home_plate\":46,\"pitchers_mound_radius\":5,\"pitchers_plate_front_to_home_plate\":47,\"pitchers_plate_length\":2,\"pitchers_plate_width\":0.5,\"right_field_distance\":200,\"running_lane_depth\":2.5,\"running_lane_length\":30,\"running_lane_start_distance\":30}),\"milb\":/* @__PURE__ */ Object.freeze({\"backstop_radius\":60,\"base_anchor_to_infield_grass_radius\":13,\"base_side_length\":1.5,\"baseline_distance\":90,\"batters_box_length\":6,\"batters_box_width\":4,\"batters_box_y_adj\":0.7083,\"catchers_box_depth\":8,\"catchers_box_shape\":\"rectangle\",\"catchers_box_width\":3.5833,\"center_field_distance\":400,\"field_units\":\"ft\",\"foul_line_to_foul_grass\":3,\"foul_line_to_infield_grass\":3,\"home_plate_circle_radius\":13,\"home_plate_edge_length\":1.4167,\"home_plate_side_to_batters_box\":0.5,\"infield_arc_radius\":95,\"left_field_distance\":355,\"line_width\":0.1667,\"pitchers_mound_center_to_home_plate\":59,\"pitchers_mound_radius\":9,\"pitchers_plate_front_to_home_plate\":60.5,\"pitchers_plate_length\":2,\"pitchers_plate_width\":0.5,\"right_field_distance\":355,\"running_lane_depth\":3,\"running_lane_length\":48,\"running_lane_start_distance\":45}),\"mlb\":/* @__PURE__ */ Object.freeze({\"backstop_radius\":60,\"base_anchor_to_infield_grass_radius\":13,\"base_side_length\":1.5,\"baseline_distance\":90,\"batters_box_length\":6,\"batters_box_width\":4,\"batters_box_y_adj\":0.7083,\"catchers_box_depth\":8,\"catchers_box_shape\":\"rectangle\",\"catchers_box_width\":3.5833,\"center_field_distance\":400,\"field_units\":\"ft\",\"foul_line_to_foul_grass\":3,\"foul_line_to_infield_grass\":3,\"home_plate_circle_radius\":13,\"home_plate_edge_length\":1.4167,\"home_plate_side_to_batters_box\":0.5,\"infield_arc_radius\":95,\"left_field_distance\":355,\"line_width\":0.25,\"pitchers_mound_center_to_home_plate\":59,\"pitchers_mound_radius\":9,\"pitchers_plate_front_to_home_plate\":60.5,\"pitchers_plate_length\":2,\"pitchers_plate_width\":0.5,\"right_field_distance\":355,\"running_lane_depth\":3,\"running_lane_length\":48,\"running_lane_start_distance\":45}),\"ncaa\":/* @__PURE__ */ Object.freeze({\"backstop_radius\":60,\"base_anchor_to_infield_grass_radius\":13,\"base_side_length\":1.25,\"baseline_distance\":90,\"batters_box_length\":6,\"batters_box_width\":4,\"batters_box_y_adj\":0.7083,\"catchers_box_depth\":8,\"catchers_box_shape\":\"rectangle\",\"catchers_box_width\":3.5833,\"center_field_distance\":400,\"field_units\":\"ft\",\"foul_line_to_foul_grass\":3,\"foul_line_to_infield_grass\":3,\"home_plate_circle_radius\":13,\"home_plate_edge_length\":1.4167,\"home_plate_side_to_batters_box\":0.5,\"infield_arc_radius\":95,\"left_field_distance\":355,\"line_width\":0.25,\"pitchers_mound_center_to_home_plate\":59,\"pitchers_mound_radius\":9,\"pitchers_plate_front_to_home_plate\":60.5,\"pitchers_plate_length\":2,\"pitchers_plate_width\":0.5,\"right_field_distance\":355,\"running_lane_depth\":3,\"running_lane_length\":48,\"running_lane_start_distance\":45}),\"nfhs\":/* @__PURE__ */ Object.freeze({\"backstop_radius\":60,\"base_anchor_to_infield_grass_radius\":13,\"base_side_length\":1.25,\"baseline_distance\":90,\"batters_box_length\":6,\"batters_box_width\":4,\"batters_box_y_adj\":0.7083,\"catchers_box_depth\":8,\"catchers_box_shape\":\"rectangle\",\"catchers_box_width\":3.5833,\"center_field_distance\":400,\"field_units\":\"ft\",\"foul_line_to_foul_grass\":3,\"foul_line_to_infield_grass\":3,\"home_plate_circle_radius\":13,\"home_plate_edge_length\":1.4167,\"home_plate_side_to_batters_box\":0.5,\"infield_arc_radius\":90,\"left_field_distance\":355,\"line_width\":0.2083,\"pitchers_mound_center_to_home_plate\":59,\"pitchers_mound_radius\":9,\"pitchers_plate_front_to_home_plate\":60.5,\"pitchers_plate_length\":2,\"pitchers_plate_width\":0.5,\"right_field_distance\":355,\"running_lane_depth\":3,\"running_lane_length\":45,\"running_lane_start_distance\":45}),\"pony\":/* @__PURE__ */ Object.freeze({\"backstop_radius\":60,\"base_anchor_to_infield_grass_radius\":12,\"base_side_length\":1.25,\"baseline_distance\":80,\"batters_box_length\":6,\"batters_box_width\":4,\"batters_box_y_adj\":0.7083,\"catchers_box_depth\":8,\"catchers_box_shape\":\"rectangle\",\"catchers_box_width\":3.5833,\"center_field_distance\":315,\"field_units\":\"ft\",\"foul_line_to_foul_grass\":3,\"foul_line_to_infield_grass\":3,\"home_plate_circle_radius\":13,\"home_plate_edge_length\":1.4167,\"home_plate_side_to_batters_box\":0.5,\"infield_arc_radius\":80,\"left_field_distance\":265,\"line_width\":0.1667,\"pitchers_mound_center_to_home_plate\":53,\"pitchers_mound_radius\":7.5,\"pitchers_plate_front_to_home_plate\":54,\"pitchers_plate_length\":2,\"pitchers_plate_width\":0.5,\"right_field_distance\":265})});\n","// generated by tools/codegen — do not edit (source: packages/sporty/data/surface-dimensions.json)\nexport const BASKETBALL_LEAGUES = [\"custom\",\"fiba\",\"nba\",\"nba g league\",\"ncaa\",\"nfhs\",\"wnba\"] as const;\nexport type BasketballLeague = (typeof BASKETBALL_LEAGUES)[number];\nexport interface BasketballParams {\n backboard_face_to_baseline: number;\n backboard_thickness: number;\n backboard_width: number;\n baseline_lower_defensive_box_marks_int_sep?: number;\n baseline_to_lane_lower_defensive_box_marks?: number;\n basket_center_to_baseline: number;\n basket_center_to_corner_three: readonly number[];\n basket_center_to_three_point_arc: readonly number[];\n basket_ring_connector_extension: number;\n basket_ring_connector_width: number;\n basket_ring_inner_radius: number;\n basket_ring_thickness: number;\n bench_side: string;\n center_circle_radius: readonly number[];\n court_apron_endline: number;\n court_apron_sideline: number;\n court_apron_to_boundary: number;\n court_length: number;\n court_units: \"\" | \"m\" | \"ft\";\n court_width: number;\n division_line_extension?: number;\n free_throw_circle_overhang?: number;\n free_throw_circle_radius: number;\n free_throw_dash_length?: number;\n free_throw_dash_spacing?: number;\n free_throw_line_to_backboard: number;\n inbounding_line_anchor_side?: readonly number[];\n inbounding_line_in_play_ext?: readonly number[];\n inbounding_line_out_of_bounds_ext?: readonly number[];\n inbounding_line_to_baseline?: readonly number[];\n lane_boundary_visibility: readonly boolean[];\n lane_length: readonly number[];\n lane_lower_defensive_box_marks_int_sep?: number;\n lane_lower_defensive_box_marks_visibility?: boolean;\n lane_space_mark_lengths: readonly (readonly number[])[];\n lane_space_mark_separations: readonly (readonly number[])[];\n lane_space_mark_visibility: readonly boolean[];\n lane_space_mark_widths: readonly number[];\n lane_width: readonly number[];\n line_thickness: number;\n lower_defensive_box_mark_extension?: number;\n n_free_throw_circle_dashes?: number;\n paint_margin: readonly number[];\n painted_area_visibility: readonly boolean[];\n restricted_arc_radius?: number;\n substitution_line_ext_sep?: number;\n substitution_line_width?: number;\n symmetric_inbounding_line?: readonly boolean[];\n team_bench_line_ext?: number;\n}\nexport type BasketballLoosen<T> = T extends readonly (readonly number[])[] ? readonly number[] | readonly (readonly number[])[] : T extends readonly number[] ? number | readonly number[] : T extends readonly boolean[] ? boolean | readonly boolean[] : T extends readonly string[] ? string | readonly string[] : T;\nexport type BasketballParamUpdates = { [K in keyof BasketballParams]?: BasketballLoosen<BasketballParams[K]> };\nexport const BASKETBALL_SPECS: Readonly<Record<BasketballLeague, Readonly<BasketballParams>>> = /* @__PURE__ */ Object.freeze({\"custom\":/* @__PURE__ */ Object.freeze({\"backboard_face_to_baseline\":0,\"backboard_thickness\":0,\"backboard_width\":0,\"baseline_lower_defensive_box_marks_int_sep\":0,\"baseline_to_lane_lower_defensive_box_marks\":0,\"basket_center_to_baseline\":0,\"basket_center_to_corner_three\":[0],\"basket_center_to_three_point_arc\":[0],\"basket_ring_connector_extension\":0,\"basket_ring_connector_width\":0,\"basket_ring_inner_radius\":0,\"basket_ring_thickness\":0,\"bench_side\":\"\",\"center_circle_radius\":[],\"court_apron_endline\":0,\"court_apron_sideline\":0,\"court_apron_to_boundary\":0,\"court_length\":0,\"court_units\":\"\",\"court_width\":0,\"free_throw_circle_overhang\":0,\"free_throw_circle_radius\":0,\"free_throw_dash_length\":0,\"free_throw_dash_spacing\":0,\"free_throw_line_to_backboard\":0,\"inbounding_line_anchor_side\":[0],\"inbounding_line_in_play_ext\":[0],\"inbounding_line_out_of_bounds_ext\":[0],\"inbounding_line_to_baseline\":[0],\"lane_boundary_visibility\":[],\"lane_length\":[],\"lane_lower_defensive_box_marks_int_sep\":0,\"lane_lower_defensive_box_marks_visibility\":true,\"lane_space_mark_lengths\":[[]],\"lane_space_mark_separations\":[[]],\"lane_space_mark_visibility\":[],\"lane_space_mark_widths\":[],\"lane_width\":[],\"line_thickness\":0.1667,\"lower_defensive_box_mark_extension\":0,\"n_free_throw_circle_dashes\":0,\"paint_margin\":[],\"painted_area_visibility\":[],\"restricted_arc_radius\":0,\"substitution_line_ext_sep\":0,\"substitution_line_width\":0,\"symmetric_inbounding_line\":[true]}),\"fiba\":/* @__PURE__ */ Object.freeze({\"backboard_face_to_baseline\":1.2,\"backboard_thickness\":0.0524,\"backboard_width\":1.8,\"basket_center_to_baseline\":1.575,\"basket_center_to_corner_three\":[6.6],\"basket_center_to_three_point_arc\":[6.75],\"basket_ring_connector_extension\":0.0151,\"basket_ring_connector_width\":0.1778,\"basket_ring_inner_radius\":0.225,\"basket_ring_thickness\":0.02,\"bench_side\":\"bottom\",\"center_circle_radius\":[1.8],\"court_apron_endline\":2.5,\"court_apron_sideline\":2.5,\"court_apron_to_boundary\":0,\"court_length\":28,\"court_units\":\"m\",\"court_width\":15,\"division_line_extension\":0.15,\"free_throw_circle_radius\":1.8,\"free_throw_line_to_backboard\":4.6,\"inbounding_line_anchor_side\":[-1],\"inbounding_line_in_play_ext\":[0],\"inbounding_line_out_of_bounds_ext\":[0.15],\"inbounding_line_to_baseline\":[8.275],\"lane_boundary_visibility\":[true],\"lane_length\":[5.8],\"lane_lower_defensive_box_marks_visibility\":false,\"lane_space_mark_lengths\":[[0.05,0.4,0.05,0.05]],\"lane_space_mark_separations\":[[0.55,0.85,0.85,0.85]],\"lane_space_mark_visibility\":[true],\"lane_space_mark_widths\":[0.1],\"lane_width\":[4.9],\"line_thickness\":0.05,\"paint_margin\":[0],\"painted_area_visibility\":[true],\"restricted_arc_radius\":1.25,\"substitution_line_ext_sep\":10.1,\"substitution_line_width\":2,\"symmetric_inbounding_line\":[false],\"team_bench_line_ext\":2}),\"nba\":/* @__PURE__ */ Object.freeze({\"backboard_face_to_baseline\":4,\"backboard_thickness\":0.171875,\"backboard_width\":6,\"baseline_lower_defensive_box_marks_int_sep\":19,\"baseline_to_lane_lower_defensive_box_marks\":13,\"basket_center_to_baseline\":5.25,\"basket_center_to_corner_three\":[22],\"basket_center_to_three_point_arc\":[23.75],\"basket_ring_connector_extension\":0.5,\"basket_ring_connector_width\":0.5833,\"basket_ring_inner_radius\":0.75,\"basket_ring_thickness\":0.0656,\"bench_side\":\"top\",\"center_circle_radius\":[6,2.1667],\"court_apron_endline\":8,\"court_apron_sideline\":5,\"court_apron_to_boundary\":0,\"court_length\":94,\"court_units\":\"ft\",\"court_width\":50,\"free_throw_circle_overhang\":1.024,\"free_throw_circle_radius\":6,\"free_throw_dash_length\":1.292,\"free_throw_dash_spacing\":1.292,\"free_throw_line_to_backboard\":15,\"inbounding_line_anchor_side\":[1],\"inbounding_line_in_play_ext\":[3],\"inbounding_line_out_of_bounds_ext\":[0],\"inbounding_line_to_baseline\":[28],\"lane_boundary_visibility\":[true,false],\"lane_length\":[19,19],\"lane_lower_defensive_box_marks_int_sep\":10,\"lane_lower_defensive_box_marks_visibility\":true,\"lane_space_mark_lengths\":[[0.1667,0.1667,0.1667,0.1667],[1,0.1667,0.1667,0.1667]],\"lane_space_mark_separations\":[[3,0.8333,3,3],[3,3,3,3]],\"lane_space_mark_visibility\":[true,false],\"lane_space_mark_widths\":[0.5,0.75],\"lane_width\":[16,12],\"line_thickness\":0.1667,\"lower_defensive_box_mark_extension\":0.5,\"n_free_throw_circle_dashes\":6,\"paint_margin\":[0,0],\"painted_area_visibility\":[true,false],\"restricted_arc_radius\":4,\"substitution_line_ext_sep\":8.5,\"substitution_line_width\":4,\"symmetric_inbounding_line\":[true]}),\"nba g league\":/* @__PURE__ */ Object.freeze({\"backboard_face_to_baseline\":4,\"backboard_thickness\":0.171875,\"backboard_width\":6,\"baseline_lower_defensive_box_marks_int_sep\":19,\"baseline_to_lane_lower_defensive_box_marks\":13,\"basket_center_to_baseline\":5.25,\"basket_center_to_corner_three\":[22],\"basket_center_to_three_point_arc\":[23.75],\"basket_ring_connector_extension\":0.5,\"basket_ring_connector_width\":0.5833,\"basket_ring_inner_radius\":0.75,\"basket_ring_thickness\":0.0656,\"bench_side\":\"top\",\"center_circle_radius\":[6,2.1667],\"court_apron_endline\":8,\"court_apron_sideline\":5,\"court_apron_to_boundary\":0,\"court_length\":94,\"court_units\":\"ft\",\"court_width\":50,\"free_throw_circle_overhang\":1.024,\"free_throw_circle_radius\":6,\"free_throw_dash_length\":1.292,\"free_throw_dash_spacing\":1.292,\"free_throw_line_to_backboard\":15,\"inbounding_line_anchor_side\":[1],\"inbounding_line_in_play_ext\":[3],\"inbounding_line_out_of_bounds_ext\":[0],\"inbounding_line_to_baseline\":[28],\"lane_boundary_visibility\":[true,false],\"lane_length\":[19,19],\"lane_lower_defensive_box_marks_int_sep\":10,\"lane_lower_defensive_box_marks_visibility\":true,\"lane_space_mark_lengths\":[[0.1667,0.1667,0.1667,0.1667],[1,0.1667,0.1667,0.1667]],\"lane_space_mark_separations\":[[3,0.8333,3,3],[3,3,3,3]],\"lane_space_mark_visibility\":[true,false],\"lane_space_mark_widths\":[0.5,0.75],\"lane_width\":[16,12],\"line_thickness\":0.1667,\"lower_defensive_box_mark_extension\":0.5,\"n_free_throw_circle_dashes\":6,\"paint_margin\":[0,0],\"painted_area_visibility\":[true,false],\"restricted_arc_radius\":4,\"substitution_line_ext_sep\":8.5,\"substitution_line_width\":4,\"symmetric_inbounding_line\":[true]}),\"ncaa\":/* @__PURE__ */ Object.freeze({\"backboard_face_to_baseline\":4,\"backboard_thickness\":0.171875,\"backboard_width\":6,\"baseline_lower_defensive_box_marks_int_sep\":18,\"basket_center_to_baseline\":5.25,\"basket_center_to_corner_three\":[21.6563,20.75],\"basket_center_to_three_point_arc\":[22.1458,20.75],\"basket_ring_connector_extension\":0.5,\"basket_ring_connector_width\":0.5833,\"basket_ring_inner_radius\":0.75,\"basket_ring_thickness\":0.0656,\"bench_side\":\"top\",\"center_circle_radius\":[6],\"court_apron_endline\":6,\"court_apron_sideline\":5,\"court_apron_to_boundary\":0,\"court_length\":94,\"court_units\":\"ft\",\"court_width\":50,\"free_throw_circle_overhang\":0,\"free_throw_circle_radius\":6,\"free_throw_line_to_backboard\":15,\"inbounding_line_anchor_side\":[1,-1],\"inbounding_line_in_play_ext\":[3,0],\"inbounding_line_out_of_bounds_ext\":[3,0.1667],\"inbounding_line_to_baseline\":[28,28],\"lane_boundary_visibility\":[true,false],\"lane_length\":[19,19],\"lane_space_mark_lengths\":[[1,0.1667,0.1667,0.1667],[0.1667,0.1667,0.1667,0.1667]],\"lane_space_mark_separations\":[[3,3,3,3],[3,0.8333,3,3]],\"lane_space_mark_visibility\":[true,false],\"lane_space_mark_widths\":[0.75,0.5],\"lane_width\":[12,16],\"line_thickness\":0.1667,\"lower_defensive_box_mark_extension\":1,\"paint_margin\":[0.0833,0],\"painted_area_visibility\":[true,false],\"restricted_arc_radius\":4,\"substitution_line_ext_sep\":18,\"substitution_line_width\":2,\"symmetric_inbounding_line\":[false,false],\"team_bench_line_ext\":3}),\"nfhs\":/* @__PURE__ */ Object.freeze({\"backboard_face_to_baseline\":4,\"backboard_thickness\":0.171875,\"backboard_width\":6,\"basket_center_to_baseline\":5.25,\"basket_center_to_corner_three\":[19.75],\"basket_center_to_three_point_arc\":[19.75],\"basket_ring_connector_extension\":0.5,\"basket_ring_connector_width\":0.5833,\"basket_ring_inner_radius\":0.75,\"basket_ring_thickness\":0.0656,\"bench_side\":\"top\",\"center_circle_radius\":[6],\"court_apron_endline\":5,\"court_apron_sideline\":5,\"court_apron_to_boundary\":0,\"court_length\":84,\"court_units\":\"ft\",\"court_width\":50,\"free_throw_circle_overhang\":0,\"free_throw_circle_radius\":6,\"free_throw_line_to_backboard\":15,\"lane_boundary_visibility\":[true,true],\"lane_length\":[19,0],\"lane_lower_defensive_box_marks_visibility\":false,\"lane_space_mark_lengths\":[[0.1667,0.1667,0.1667,0.1667],[0,0,0,0]],\"lane_space_mark_separations\":[[3.8333,3,3,3],[0,0,0,0]],\"lane_space_mark_visibility\":[true,true],\"lane_space_mark_widths\":[0.6667,0],\"lane_width\":[12,0],\"line_thickness\":0.1667,\"paint_margin\":[0,0],\"painted_area_visibility\":[true,true]}),\"wnba\":/* @__PURE__ */ Object.freeze({\"backboard_face_to_baseline\":4,\"backboard_thickness\":0.171875,\"backboard_width\":6,\"baseline_lower_defensive_box_marks_int_sep\":19,\"baseline_to_lane_lower_defensive_box_marks\":13,\"basket_center_to_baseline\":5.25,\"basket_center_to_corner_three\":[22],\"basket_center_to_three_point_arc\":[22.1458],\"basket_ring_connector_extension\":0.5,\"basket_ring_connector_width\":0.5833,\"basket_ring_inner_radius\":0.75,\"basket_ring_thickness\":0.0656,\"bench_side\":\"top\",\"center_circle_radius\":[6,2.1667],\"court_apron_endline\":8,\"court_apron_sideline\":5,\"court_apron_to_boundary\":0,\"court_length\":94,\"court_units\":\"ft\",\"court_width\":50,\"free_throw_circle_overhang\":1.024,\"free_throw_circle_radius\":6,\"free_throw_dash_length\":1.292,\"free_throw_dash_spacing\":1.292,\"free_throw_line_to_backboard\":15,\"inbounding_line_anchor_side\":[1],\"inbounding_line_in_play_ext\":[3],\"inbounding_line_out_of_bounds_ext\":[0],\"inbounding_line_to_baseline\":[28],\"lane_boundary_visibility\":[true,false],\"lane_length\":[19,19],\"lane_lower_defensive_box_marks_int_sep\":10,\"lane_lower_defensive_box_marks_visibility\":true,\"lane_space_mark_lengths\":[[0.1667,0.1667,0.1667,0.1667],[1,0.1667,0.1667,0.1667]],\"lane_space_mark_separations\":[[3,0.8333,3,3],[3,3,3,3]],\"lane_space_mark_visibility\":[true,false],\"lane_space_mark_widths\":[0.5,0.75],\"lane_width\":[16,12],\"line_thickness\":0.1667,\"lower_defensive_box_mark_extension\":0.5,\"n_free_throw_circle_dashes\":6,\"paint_margin\":[0,0],\"painted_area_visibility\":[true,false],\"restricted_arc_radius\":4,\"substitution_line_ext_sep\":8.5,\"substitution_line_width\":4,\"symmetric_inbounding_line\":[true]})});\n","// generated by tools/codegen — do not edit (source: packages/sporty/data/surface-dimensions.json)\nexport const CURLING_LEAGUES = [\"curling canada\",\"custom\",\"wcf\"] as const;\nexport type CurlingLeague = (typeof CURLING_LEAGUES)[number];\nexport interface CurlingParams {\n apron_along_side: number;\n apron_behind_back: number;\n back_line_thickness: number;\n back_line_to_tee_line: number;\n button_radius: number;\n centre_line_extension: number;\n centre_line_thickness: number;\n courtesy_line_length: number;\n courtesy_line_thickness: number;\n courtesy_line_to_hog_line: number;\n hack_foothold_depth: number;\n hack_foothold_gap: number;\n hack_foothold_width: number;\n hack_line_thickness: number;\n hog_line_thickness: number;\n hog_line_to_tee_line: number;\n house_ring_radii: readonly number[];\n sheet_length: number;\n sheet_units: \"\" | \"ft\";\n sheet_width: number;\n tee_line_thickness: number;\n tee_line_to_center: number;\n}\nexport type CurlingLoosen<T> = T extends readonly (readonly number[])[] ? readonly number[] | readonly (readonly number[])[] : T extends readonly number[] ? number | readonly number[] : T extends readonly boolean[] ? boolean | readonly boolean[] : T extends readonly string[] ? string | readonly string[] : T;\nexport type CurlingParamUpdates = { [K in keyof CurlingParams]?: CurlingLoosen<CurlingParams[K]> };\nexport const CURLING_SPECS: Readonly<Record<CurlingLeague, Readonly<CurlingParams>>> = /* @__PURE__ */ Object.freeze({\"curling canada\":/* @__PURE__ */ Object.freeze({\"apron_along_side\":1.5,\"apron_behind_back\":1.5,\"back_line_thickness\":0.0417,\"back_line_to_tee_line\":6,\"button_radius\":0.5,\"centre_line_extension\":12,\"centre_line_thickness\":0.0417,\"courtesy_line_length\":0.5,\"courtesy_line_thickness\":0.0417,\"courtesy_line_to_hog_line\":4,\"hack_foothold_depth\":0.6667,\"hack_foothold_gap\":0.5,\"hack_foothold_width\":0.5,\"hack_line_thickness\":0.0417,\"hog_line_thickness\":0.3333,\"hog_line_to_tee_line\":21,\"house_ring_radii\":[6,4,2],\"sheet_length\":150,\"sheet_units\":\"ft\",\"sheet_width\":15.5833,\"tee_line_thickness\":0.0417,\"tee_line_to_center\":57}),\"custom\":/* @__PURE__ */ Object.freeze({\"apron_along_side\":0,\"apron_behind_back\":0,\"back_line_thickness\":0,\"back_line_to_tee_line\":0,\"button_radius\":0,\"centre_line_extension\":0,\"centre_line_thickness\":0,\"courtesy_line_length\":0,\"courtesy_line_thickness\":0,\"courtesy_line_to_hog_line\":0,\"hack_foothold_depth\":0,\"hack_foothold_gap\":0,\"hack_foothold_width\":0,\"hack_line_thickness\":0,\"hog_line_thickness\":0,\"hog_line_to_tee_line\":0,\"house_ring_radii\":[0,0,0],\"sheet_length\":0,\"sheet_units\":\"\",\"sheet_width\":0,\"tee_line_thickness\":0,\"tee_line_to_center\":0}),\"wcf\":/* @__PURE__ */ Object.freeze({\"apron_along_side\":1.5,\"apron_behind_back\":1.5,\"back_line_thickness\":0.0417,\"back_line_to_tee_line\":6,\"button_radius\":0.5,\"centre_line_extension\":12,\"centre_line_thickness\":0.0417,\"courtesy_line_length\":0.5,\"courtesy_line_thickness\":0.0417,\"courtesy_line_to_hog_line\":4,\"hack_foothold_depth\":0.6667,\"hack_foothold_gap\":0.5,\"hack_foothold_width\":0.5,\"hack_line_thickness\":0.0417,\"hog_line_thickness\":0.3333,\"hog_line_to_tee_line\":21,\"house_ring_radii\":[6,4,2],\"sheet_length\":150,\"sheet_units\":\"ft\",\"sheet_width\":15.5833,\"tee_line_thickness\":0.0417,\"tee_line_to_center\":57})});\n","// generated by tools/codegen — do not edit (source: packages/sporty/data/surface-dimensions.json)\nexport const FOOTBALL_LEAGUES = [\"cfl\",\"custom\",\"ncaa\",\"nfhs11\",\"nfhs6\",\"nfhs8\",\"nfhs9\",\"nfl\"] as const;\nexport type FootballLeague = (typeof FOOTBALL_LEAGUES)[number];\nexport interface FootballParams {\n additional_minor_yard_lines?: readonly number[];\n arrow_base: number;\n arrow_length: number;\n arrow_line_dist: number;\n bench_shape: string;\n boundary_line_thickness: number;\n coaching_box_width: number;\n endzone_length: number;\n extra_apron_padding: number;\n field_border_behind_bench?: boolean;\n field_border_thickness?: number;\n field_bordered: boolean;\n field_length: number;\n field_units: \"\" | \"yd\";\n field_width: number;\n goal_line_thickness: number;\n inbound_cross_hashmark_length: number;\n inbound_cross_hashmark_separation: number;\n inbound_hashmark_separation: number;\n major_yard_line_distance: number;\n minor_line_thickness: number;\n minor_yard_line_height: number;\n number_font: string;\n number_height: number;\n number_to_yard_line: number;\n number_width: number;\n numbers_bottom: readonly string[];\n numbers_top: readonly string[];\n restricted_area_width: number;\n sideline_to_bottom_of_numbers: number;\n sideline_to_major_yard_line: number;\n sideline_to_outer_yard_line: number;\n team_bench_area_border_thickness: number;\n team_bench_length_back_side: number;\n team_bench_length_field_side: number;\n team_bench_width: number;\n top_number_to_arrow: number;\n try_mark_distance?: number;\n try_mark_width?: number;\n yard_line_to_arrow: number;\n}\nexport type FootballLoosen<T> = T extends readonly (readonly number[])[] ? readonly number[] | readonly (readonly number[])[] : T extends readonly number[] ? number | readonly number[] : T extends readonly boolean[] ? boolean | readonly boolean[] : T extends readonly string[] ? string | readonly string[] : T;\nexport type FootballParamUpdates = { [K in keyof FootballParams]?: FootballLoosen<FootballParams[K]> };\nexport const FOOTBALL_SPECS: Readonly<Record<FootballLeague, Readonly<FootballParams>>> = /* @__PURE__ */ Object.freeze({\"cfl\":/* @__PURE__ */ Object.freeze({\"additional_minor_yard_lines\":[-5,-10,-15],\"arrow_base\":0.5,\"arrow_length\":0.9682,\"arrow_line_dist\":10,\"bench_shape\":\"\",\"boundary_line_thickness\":1.3333,\"coaching_box_width\":0,\"endzone_length\":20,\"extra_apron_padding\":2,\"field_border_behind_bench\":false,\"field_border_thickness\":0,\"field_bordered\":false,\"field_length\":110,\"field_units\":\"yd\",\"field_width\":65,\"goal_line_thickness\":0.1111,\"inbound_cross_hashmark_length\":0.2778,\"inbound_cross_hashmark_separation\":17,\"inbound_hashmark_separation\":15.6667,\"major_yard_line_distance\":5,\"minor_line_thickness\":0.1111,\"minor_yard_line_height\":0.6667,\"number_font\":\"Clarendon-Regular\",\"number_height\":2,\"number_to_yard_line\":0.3333,\"number_width\":1.3333,\"numbers_bottom\":[\"1\",\"0\",\"2\",\"0\",\"3\",\"0\",\"4\",\"0\",\"5\",\"0\",\"C\",\"5\",\"0\",\"4\",\"0\",\"3\",\"0\",\"2\",\"0\",\"1\",\"0\"],\"numbers_top\":[\"0\",\"1\",\"0\",\"2\",\"0\",\"3\",\"0\",\"4\",\"0\",\"5\",\"C\",\"0\",\"5\",\"0\",\"4\",\"0\",\"3\",\"0\",\"2\",\"0\",\"1\"],\"restricted_area_width\":0,\"sideline_to_bottom_of_numbers\":7,\"sideline_to_major_yard_line\":0.1111,\"sideline_to_outer_yard_line\":0.1111,\"team_bench_area_border_thickness\":0,\"team_bench_length_back_side\":30,\"team_bench_length_field_side\":30,\"team_bench_width\":0,\"top_number_to_arrow\":0.4167,\"yard_line_to_arrow\":1.8333}),\"custom\":/* @__PURE__ */ Object.freeze({\"arrow_base\":0,\"arrow_length\":0,\"arrow_line_dist\":0,\"bench_shape\":\"\",\"boundary_line_thickness\":0,\"coaching_box_width\":0,\"endzone_length\":0,\"extra_apron_padding\":0,\"field_border_behind_bench\":false,\"field_border_thickness\":0,\"field_bordered\":false,\"field_length\":0,\"field_units\":\"\",\"field_width\":0,\"goal_line_thickness\":0,\"inbound_cross_hashmark_length\":0,\"inbound_cross_hashmark_separation\":0,\"inbound_hashmark_separation\":0,\"major_yard_line_distance\":1,\"minor_line_thickness\":0,\"minor_yard_line_height\":0,\"number_font\":\"\",\"number_height\":0,\"number_to_yard_line\":0,\"number_width\":0,\"numbers_bottom\":[],\"numbers_top\":[],\"restricted_area_width\":0,\"sideline_to_bottom_of_numbers\":0,\"sideline_to_major_yard_line\":0,\"sideline_to_outer_yard_line\":0,\"team_bench_area_border_thickness\":0,\"team_bench_length_back_side\":0,\"team_bench_length_field_side\":0,\"team_bench_width\":0,\"top_number_to_arrow\":0,\"try_mark_distance\":0,\"try_mark_width\":0,\"yard_line_to_arrow\":0}),\"ncaa\":/* @__PURE__ */ Object.freeze({\"arrow_base\":0.5,\"arrow_length\":0.9682,\"arrow_line_dist\":10,\"bench_shape\":\"rectangular\",\"boundary_line_thickness\":0.1111,\"coaching_box_width\":2,\"endzone_length\":10,\"extra_apron_padding\":2,\"field_border_behind_bench\":true,\"field_border_thickness\":1.3333,\"field_bordered\":true,\"field_length\":100,\"field_units\":\"yd\",\"field_width\":53.3333,\"goal_line_thickness\":0.1111,\"inbound_cross_hashmark_length\":0.2778,\"inbound_cross_hashmark_separation\":13.3333,\"inbound_hashmark_separation\":13.3333,\"major_yard_line_distance\":5,\"minor_line_thickness\":0.1111,\"minor_yard_line_height\":0.6667,\"number_font\":\"Clarendon-Regular\",\"number_height\":2,\"number_to_yard_line\":0.3333,\"number_width\":1.3333,\"numbers_bottom\":[\"1\",\"0\",\"2\",\"0\",\"3\",\"0\",\"4\",\"0\",\"5\",\"0\",\"4\",\"0\",\"3\",\"0\",\"2\",\"0\",\"1\",\"0\"],\"numbers_top\":[\"0\",\"1\",\"0\",\"2\",\"0\",\"3\",\"0\",\"4\",\"0\",\"5\",\"0\",\"4\",\"0\",\"3\",\"0\",\"2\",\"0\",\"1\"],\"restricted_area_width\":1.8889,\"sideline_to_bottom_of_numbers\":7,\"sideline_to_major_yard_line\":0.1111,\"sideline_to_outer_yard_line\":0.1111,\"team_bench_area_border_thickness\":0.1111,\"team_bench_length_back_side\":60,\"team_bench_length_field_side\":60,\"team_bench_width\":4,\"top_number_to_arrow\":0.4167,\"try_mark_distance\":3,\"try_mark_width\":1,\"yard_line_to_arrow\":1.8333}),\"nfhs11\":/* @__PURE__ */ Object.freeze({\"arrow_base\":0.5,\"arrow_length\":0.9682,\"arrow_line_dist\":10,\"bench_shape\":\"rectangular\",\"boundary_line_thickness\":2,\"coaching_box_width\":2,\"endzone_length\":10,\"extra_apron_padding\":5,\"field_bordered\":true,\"field_length\":100,\"field_units\":\"yd\",\"field_width\":53.3333,\"goal_line_thickness\":0.2222,\"inbound_cross_hashmark_length\":0.2778,\"inbound_cross_hashmark_separation\":17.7778,\"inbound_hashmark_separation\":17.7778,\"major_yard_line_distance\":5,\"minor_line_thickness\":0.1111,\"minor_yard_line_height\":0.6667,\"number_font\":\"Clarendon-Regular\",\"number_height\":2,\"number_to_yard_line\":0.3333,\"number_width\":1.3333,\"numbers_bottom\":[\"1\",\"0\",\"2\",\"0\",\"3\",\"0\",\"4\",\"0\",\"5\",\"0\",\"4\",\"0\",\"3\",\"0\",\"2\",\"0\",\"1\",\"0\"],\"numbers_top\":[\"0\",\"1\",\"0\",\"2\",\"0\",\"3\",\"0\",\"4\",\"0\",\"5\",\"0\",\"4\",\"0\",\"3\",\"0\",\"2\",\"0\",\"1\"],\"restricted_area_width\":2,\"sideline_to_bottom_of_numbers\":7,\"sideline_to_major_yard_line\":0.2222,\"sideline_to_outer_yard_line\":0.2222,\"team_bench_area_border_thickness\":0.1111,\"team_bench_length_back_side\":50,\"team_bench_length_field_side\":50,\"team_bench_width\":4,\"top_number_to_arrow\":0.4167,\"try_mark_distance\":3,\"try_mark_width\":1,\"yard_line_to_arrow\":1.8333}),\"nfhs6\":/* @__PURE__ */ Object.freeze({\"arrow_base\":0.5,\"arrow_length\":0.9682,\"arrow_line_dist\":10,\"bench_shape\":\"rectangular\",\"boundary_line_thickness\":2,\"coaching_box_width\":2,\"endzone_length\":10,\"extra_apron_padding\":5,\"field_bordered\":true,\"field_length\":80,\"field_units\":\"yd\",\"field_width\":40,\"goal_line_thickness\":0.2222,\"inbound_cross_hashmark_length\":0.2778,\"inbound_cross_hashmark_separation\":10,\"inbound_hashmark_separation\":10,\"major_yard_line_distance\":5,\"minor_line_thickness\":0.1111,\"minor_yard_line_height\":0.6667,\"number_font\":\"Clarendon-Regular\",\"number_height\":2,\"number_to_yard_line\":0.3333,\"number_width\":1.3333,\"numbers_bottom\":[\"1\",\"0\",\"2\",\"0\",\"3\",\"0\",\"4\",\"0\",\"3\",\"0\",\"2\",\"0\",\"1\",\"0\"],\"numbers_top\":[\"0\",\"1\",\"0\",\"2\",\"0\",\"3\",\"0\",\"4\",\"0\",\"3\",\"0\",\"2\",\"0\",\"1\"],\"restricted_area_width\":2,\"sideline_to_bottom_of_numbers\":5,\"sideline_to_major_yard_line\":0.2222,\"sideline_to_outer_yard_line\":0.2222,\"team_bench_area_border_thickness\":0.1111,\"team_bench_length_back_side\":30,\"team_bench_length_field_side\":30,\"team_bench_width\":4,\"top_number_to_arrow\":0.4167,\"try_mark_distance\":2,\"try_mark_width\":1,\"yard_line_to_arrow\":1.8333}),\"nfhs8\":/* @__PURE__ */ Object.freeze({\"arrow_base\":0.5,\"arrow_length\":0.9682,\"arrow_line_dist\":10,\"bench_shape\":\"rectangular\",\"boundary_line_thickness\":2,\"coaching_box_width\":2,\"endzone_length\":10,\"extra_apron_padding\":5,\"field_bordered\":true,\"field_length\":80,\"field_units\":\"yd\",\"field_width\":40,\"goal_line_thickness\":0.2222,\"inbound_cross_hashmark_length\":0.2778,\"inbound_cross_hashmark_separation\":10,\"inbound_hashmark_separation\":10,\"major_yard_line_distance\":5,\"minor_line_thickness\":0.1111,\"minor_yard_line_height\":0.6667,\"number_font\":\"Clarendon-Regular\",\"number_height\":2,\"number_to_yard_line\":0.3333,\"number_width\":1.3333,\"numbers_bottom\":[\"1\",\"0\",\"2\",\"0\",\"3\",\"0\",\"4\",\"0\",\"3\",\"0\",\"2\",\"0\",\"1\",\"0\"],\"numbers_top\":[\"0\",\"1\",\"0\",\"2\",\"0\",\"3\",\"0\",\"4\",\"0\",\"3\",\"0\",\"2\",\"0\",\"1\"],\"restricted_area_width\":2,\"sideline_to_bottom_of_numbers\":5,\"sideline_to_major_yard_line\":0.2222,\"sideline_to_outer_yard_line\":0.2222,\"team_bench_area_border_thickness\":0.1111,\"team_bench_length_back_side\":30,\"team_bench_length_field_side\":30,\"team_bench_width\":4,\"top_number_to_arrow\":0.4167,\"try_mark_distance\":2,\"try_mark_width\":1,\"yard_line_to_arrow\":1.8333}),\"nfhs9\":/* @__PURE__ */ Object.freeze({\"arrow_base\":0.5,\"arrow_length\":0.9682,\"arrow_line_dist\":10,\"bench_shape\":\"rectangular\",\"boundary_line_thickness\":2,\"coaching_box_width\":2,\"endzone_length\":10,\"extra_apron_padding\":5,\"field_bordered\":true,\"field_length\":80,\"field_units\":\"yd\",\"field_width\":40,\"goal_line_thickness\":0.2222,\"inbound_cross_hashmark_length\":0.2778,\"inbound_cross_hashmark_separation\":7.7778,\"inbound_hashmark_separation\":7.7778,\"major_yard_line_distance\":5,\"minor_line_thickness\":0.1111,\"minor_yard_line_height\":0.6667,\"number_font\":\"Clarendon-Regular\",\"number_height\":2,\"number_to_yard_line\":0.3333,\"number_width\":1.3333,\"numbers_bottom\":[\"1\",\"0\",\"2\",\"0\",\"3\",\"0\",\"4\",\"0\",\"3\",\"0\",\"2\",\"0\",\"1\",\"0\"],\"numbers_top\":[\"0\",\"1\",\"0\",\"2\",\"0\",\"3\",\"0\",\"4\",\"0\",\"3\",\"0\",\"2\",\"0\",\"1\"],\"restricted_area_width\":2,\"sideline_to_bottom_of_numbers\":5,\"sideline_to_major_yard_line\":0.2222,\"sideline_to_outer_yard_line\":0.2222,\"team_bench_area_border_thickness\":0.1111,\"team_bench_length_back_side\":30,\"team_bench_length_field_side\":30,\"team_bench_width\":4,\"top_number_to_arrow\":0.4167,\"try_mark_distance\":3,\"try_mark_width\":1,\"yard_line_to_arrow\":1.8333}),\"nfl\":/* @__PURE__ */ Object.freeze({\"arrow_base\":0.5,\"arrow_length\":0.9682,\"arrow_line_dist\":10,\"bench_shape\":\"trapezoid\",\"boundary_line_thickness\":2,\"coaching_box_width\":2,\"endzone_length\":10,\"extra_apron_padding\":2,\"field_border_behind_bench\":true,\"field_border_thickness\":1.3333,\"field_bordered\":true,\"field_length\":100,\"field_units\":\"yd\",\"field_width\":53.3333,\"goal_line_thickness\":0.2222,\"inbound_cross_hashmark_length\":0.2778,\"inbound_cross_hashmark_separation\":6.1667,\"inbound_hashmark_separation\":6.1667,\"major_yard_line_distance\":5,\"minor_line_thickness\":0.1111,\"minor_yard_line_height\":0.6667,\"number_font\":\"Clarendon-Regular\",\"number_height\":2,\"number_to_yard_line\":0.3333,\"number_width\":1.3333,\"numbers_bottom\":[\"1\",\"0\",\"2\",\"0\",\"3\",\"0\",\"4\",\"0\",\"5\",\"0\",\"4\",\"0\",\"3\",\"0\",\"2\",\"0\",\"1\",\"0\"],\"numbers_top\":[\"0\",\"1\",\"0\",\"2\",\"0\",\"3\",\"0\",\"4\",\"0\",\"5\",\"0\",\"4\",\"0\",\"3\",\"0\",\"2\",\"0\",\"1\"],\"restricted_area_width\":2,\"sideline_to_bottom_of_numbers\":12,\"sideline_to_major_yard_line\":0.2222,\"sideline_to_outer_yard_line\":0.2222,\"team_bench_area_border_thickness\":0.1111,\"team_bench_length_back_side\":37.2639,\"team_bench_length_field_side\":44.9861,\"team_bench_width\":6,\"top_number_to_arrow\":0.4167,\"try_mark_distance\":2,\"try_mark_width\":1,\"yard_line_to_arrow\":1.8333})});\n","// generated by tools/codegen — do not edit (source: packages/sporty/data/surface-dimensions.json)\nexport const HOCKEY_LEAGUES = [\"ahl\",\"custom\",\"echl\",\"iihf\",\"ncaa\",\"nhl\",\"nwhl\",\"ohl\",\"phf\",\"pwhl\",\"qmjhl\",\"ushl\"] as const;\nexport type HockeyLeague = (typeof HOCKEY_LEAGUES)[number];\nexport interface HockeyParams {\n bench_depth: number;\n bench_length: number;\n bench_separation: number;\n board_thickness: number;\n center_faceoff_spot_gap?: number;\n center_faceoff_spot_radius: number;\n corner_radius: number;\n faceoff_circle_radius: number;\n faceoff_line_dist_x: number;\n faceoff_line_dist_y: number;\n faceoff_line_length: number;\n faceoff_line_width: number;\n goal_back_width: number;\n goal_crease_length: number;\n goal_crease_notch_dist_x: number;\n goal_crease_notch_width: number;\n goal_crease_radius: number;\n goal_crease_style: string;\n goal_crease_width: number;\n goal_depth: number;\n goal_line_to_boards: number;\n goal_mouth_width: number;\n goal_post_diameter: number;\n goal_radius: number;\n has_trapezoid: boolean;\n hashmark_ext_spacing: number;\n hashmark_width: number;\n long_base_width: number;\n major_line_thickness: number;\n minor_line_thickness: number;\n noncenter_faceoff_spot_gap_width: number;\n noncenter_faceoff_spot_radius: number;\n noncenter_faceoff_spot_y: number;\n nzone_faceoff_spot_to_zone_line: number;\n nzone_length: number;\n odzone_faceoff_spot_to_boards: number;\n penalty_box_depth: number;\n penalty_box_length: number;\n penalty_box_separation: number;\n referee_crease_radius: number;\n rink_length: number;\n rink_units: \"\" | \"ft\" | \"m\";\n rink_width: number;\n short_base_width: number;\n}\nexport type HockeyLoosen<T> = T extends readonly (readonly number[])[] ? readonly number[] | readonly (readonly number[])[] : T extends readonly number[] ? number | readonly number[] : T extends readonly boolean[] ? boolean | readonly boolean[] : T extends readonly string[] ? string | readonly string[] : T;\nexport type HockeyParamUpdates = { [K in keyof HockeyParams]?: HockeyLoosen<HockeyParams[K]> };\nexport const HOCKEY_SPECS: Readonly<Record<HockeyLeague, Readonly<HockeyParams>>> = /* @__PURE__ */ Object.freeze({\"ahl\":/* @__PURE__ */ Object.freeze({\"bench_depth\":5.5,\"bench_length\":30,\"bench_separation\":3.3333,\"board_thickness\":0.4167,\"center_faceoff_spot_radius\":0.5,\"corner_radius\":28,\"faceoff_circle_radius\":15,\"faceoff_line_dist_x\":2,\"faceoff_line_dist_y\":0.75,\"faceoff_line_length\":4,\"faceoff_line_width\":3,\"goal_back_width\":7.3333,\"goal_crease_length\":4.5,\"goal_crease_notch_dist_x\":4,\"goal_crease_notch_width\":0.4167,\"goal_crease_radius\":6,\"goal_crease_style\":\"nhl98\",\"goal_crease_width\":8,\"goal_depth\":3.3333,\"goal_line_to_boards\":11,\"goal_mouth_width\":6,\"goal_post_diameter\":0.1979,\"goal_radius\":1.6666,\"has_trapezoid\":true,\"hashmark_ext_spacing\":5.9166,\"hashmark_width\":2,\"long_base_width\":28,\"major_line_thickness\":1,\"minor_line_thickness\":0.1666,\"noncenter_faceoff_spot_gap_width\":0.25,\"noncenter_faceoff_spot_radius\":1,\"noncenter_faceoff_spot_y\":22,\"nzone_faceoff_spot_to_zone_line\":5,\"nzone_length\":50,\"odzone_faceoff_spot_to_boards\":31,\"penalty_box_depth\":5,\"penalty_box_length\":8,\"penalty_box_separation\":8,\"referee_crease_radius\":10,\"rink_length\":200,\"rink_units\":\"ft\",\"rink_width\":85,\"short_base_width\":22}),\"custom\":/* @__PURE__ */ Object.freeze({\"bench_depth\":0,\"bench_length\":0,\"bench_separation\":0,\"board_thickness\":0,\"center_faceoff_spot_radius\":0,\"corner_radius\":0,\"faceoff_circle_radius\":0,\"faceoff_line_dist_x\":0,\"faceoff_line_dist_y\":0,\"faceoff_line_length\":0,\"faceoff_line_width\":0,\"goal_back_width\":0,\"goal_crease_length\":0,\"goal_crease_notch_dist_x\":0,\"goal_crease_notch_width\":0,\"goal_crease_radius\":0,\"goal_crease_style\":\"\",\"goal_crease_width\":0,\"goal_depth\":0,\"goal_line_to_boards\":0,\"goal_mouth_width\":0,\"goal_post_diameter\":0,\"goal_radius\":0,\"has_trapezoid\":true,\"hashmark_ext_spacing\":0,\"hashmark_width\":0,\"long_base_width\":0,\"major_line_thickness\":0,\"minor_line_thickness\":0,\"noncenter_faceoff_spot_gap_width\":0,\"noncenter_faceoff_spot_radius\":0,\"noncenter_faceoff_spot_y\":0,\"nzone_faceoff_spot_to_zone_line\":0,\"nzone_length\":0,\"odzone_faceoff_spot_to_boards\":0,\"penalty_box_depth\":0,\"penalty_box_length\":0,\"penalty_box_separation\":0,\"referee_crease_radius\":0,\"rink_length\":0,\"rink_units\":\"\",\"rink_width\":0,\"short_base_width\":0}),\"echl\":/* @__PURE__ */ Object.freeze({\"bench_depth\":5.5,\"bench_length\":30,\"bench_separation\":3.3333,\"board_thickness\":0.4167,\"center_faceoff_spot_radius\":0.5,\"corner_radius\":28,\"faceoff_circle_radius\":15,\"faceoff_line_dist_x\":2,\"faceoff_line_dist_y\":0.75,\"faceoff_line_length\":4,\"faceoff_line_width\":3,\"goal_back_width\":7.3333,\"goal_crease_length\":4.5,\"goal_crease_notch_dist_x\":4,\"goal_crease_notch_width\":0.4167,\"goal_crease_radius\":6,\"goal_crease_style\":\"nhl98\",\"goal_crease_width\":8,\"goal_depth\":3.3333,\"goal_line_to_boards\":11,\"goal_mouth_width\":6,\"goal_post_diameter\":0.1979,\"goal_radius\":1.6666,\"has_trapezoid\":true,\"hashmark_ext_spacing\":5.9166,\"hashmark_width\":2,\"long_base_width\":28,\"major_line_thickness\":1,\"minor_line_thickness\":0.1666,\"noncenter_faceoff_spot_gap_width\":0.25,\"noncenter_faceoff_spot_radius\":1,\"noncenter_faceoff_spot_y\":22,\"nzone_faceoff_spot_to_zone_line\":5,\"nzone_length\":50,\"odzone_faceoff_spot_to_boards\":31,\"penalty_box_depth\":5,\"penalty_box_length\":8,\"penalty_box_separation\":8,\"referee_crease_radius\":10,\"rink_length\":200,\"rink_units\":\"ft\",\"rink_width\":85,\"short_base_width\":22}),\"iihf\":/* @__PURE__ */ Object.freeze({\"bench_depth\":1.5,\"bench_length\":10,\"bench_separation\":4,\"board_thickness\":0.1524,\"center_faceoff_spot_gap\":0.5,\"center_faceoff_spot_radius\":0.15,\"corner_radius\":8.5,\"faceoff_circle_radius\":4.5,\"faceoff_line_dist_x\":0.6,\"faceoff_line_dist_y\":0.225,\"faceoff_line_length\":1.2,\"faceoff_line_width\":0.9,\"goal_back_width\":2.235,\"goal_crease_length\":1.22,\"goal_crease_notch_dist_x\":1.22,\"goal_crease_notch_width\":0.2,\"goal_crease_radius\":1.83,\"goal_crease_style\":\"nhl98\",\"goal_crease_width\":2.45,\"goal_depth\":1,\"goal_line_to_boards\":4,\"goal_mouth_width\":1.83,\"goal_post_diameter\":0.05,\"goal_radius\":0.508,\"has_trapezoid\":true,\"hashmark_ext_spacing\":1.8,\"hashmark_width\":0.6,\"long_base_width\":8.6,\"major_line_thickness\":0.3,\"minor_line_thickness\":0.05,\"noncenter_faceoff_spot_gap_width\":0.075,\"noncenter_faceoff_spot_radius\":0.3,\"noncenter_faceoff_spot_y\":7,\"nzone_faceoff_spot_to_zone_line\":1.5,\"nzone_length\":15,\"odzone_faceoff_spot_to_boards\":10,\"penalty_box_depth\":1.5,\"penalty_box_length\":4,\"penalty_box_separation\":10,\"referee_crease_radius\":3,\"rink_length\":60,\"rink_units\":\"m\",\"rink_width\":30,\"short_base_width\":6.8}),\"ncaa\":/* @__PURE__ */ Object.freeze({\"bench_depth\":5.5,\"bench_length\":30,\"bench_separation\":3.3333,\"board_thickness\":0.4167,\"center_faceoff_spot_radius\":0.5,\"corner_radius\":20,\"faceoff_circle_radius\":15,\"faceoff_line_dist_x\":2,\"faceoff_line_dist_y\":0.75,\"faceoff_line_length\":4,\"faceoff_line_width\":3,\"goal_back_width\":7.3333,\"goal_crease_length\":4.5,\"goal_crease_notch_dist_x\":4,\"goal_crease_notch_width\":0.4167,\"goal_crease_radius\":6,\"goal_crease_style\":\"nhl98\",\"goal_crease_width\":8,\"goal_depth\":3.3333,\"goal_line_to_boards\":11,\"goal_mouth_width\":6,\"goal_post_diameter\":0.1979,\"goal_radius\":1.6666,\"has_trapezoid\":true,\"hashmark_ext_spacing\":5.9166,\"hashmark_width\":2,\"long_base_width\":28,\"major_line_thickness\":1,\"minor_line_thickness\":0.1666,\"noncenter_faceoff_spot_gap_width\":0.25,\"noncenter_faceoff_spot_radius\":1,\"noncenter_faceoff_spot_y\":22,\"nzone_faceoff_spot_to_zone_line\":5,\"nzone_length\":50,\"odzone_faceoff_spot_to_boards\":31,\"penalty_box_depth\":5,\"penalty_box_length\":8,\"penalty_box_separation\":8,\"referee_crease_radius\":10,\"rink_length\":200,\"rink_units\":\"ft\",\"rink_width\":85,\"short_base_width\":22}),\"nhl\":/* @__PURE__ */ Object.freeze({\"bench_depth\":5.5,\"bench_length\":30,\"bench_separation\":3.3333,\"board_thickness\":0.4167,\"center_faceoff_spot_radius\":0.5,\"corner_radius\":28,\"faceoff_circle_radius\":15,\"faceoff_line_dist_x\":2,\"faceoff_line_dist_y\":0.75,\"faceoff_line_length\":4,\"faceoff_line_width\":3,\"goal_back_width\":7.3333,\"goal_crease_length\":4.5,\"goal_crease_notch_dist_x\":4,\"goal_crease_notch_width\":0.4167,\"goal_crease_radius\":6,\"goal_crease_style\":\"nhl98\",\"goal_crease_width\":8,\"goal_depth\":3.3333,\"goal_line_to_boards\":11,\"goal_mouth_width\":6,\"goal_post_diameter\":0.1979,\"goal_radius\":1.6666,\"has_trapezoid\":true,\"hashmark_ext_spacing\":5.9166,\"hashmark_width\":2,\"long_base_width\":28,\"major_line_thickness\":1,\"minor_line_thickness\":0.1666,\"noncenter_faceoff_spot_gap_width\":0.25,\"noncenter_faceoff_spot_radius\":1,\"noncenter_faceoff_spot_y\":22,\"nzone_faceoff_spot_to_zone_line\":5,\"nzone_length\":50,\"odzone_faceoff_spot_to_boards\":31,\"penalty_box_depth\":5,\"penalty_box_length\":8,\"penalty_box_separation\":8,\"referee_crease_radius\":10,\"rink_length\":200,\"rink_units\":\"ft\",\"rink_width\":85,\"short_base_width\":22}),\"nwhl\":/* @__PURE__ */ Object.freeze({\"bench_depth\":5.5,\"bench_length\":30,\"bench_separation\":3.3333,\"board_thickness\":0.4167,\"center_faceoff_spot_radius\":0.5,\"corner_radius\":28,\"faceoff_circle_radius\":15,\"faceoff_line_dist_x\":2,\"faceoff_line_dist_y\":0.75,\"faceoff_line_length\":4,\"faceoff_line_width\":3,\"goal_back_width\":7.3333,\"goal_crease_length\":4.5,\"goal_crease_notch_dist_x\":4,\"goal_crease_notch_width\":0.4167,\"goal_crease_radius\":6,\"goal_crease_style\":\"nhl98\",\"goal_crease_width\":8,\"goal_depth\":3.3333,\"goal_line_to_boards\":11,\"goal_mouth_width\":6,\"goal_post_diameter\":0.1979,\"goal_radius\":1.6666,\"has_trapezoid\":true,\"hashmark_ext_spacing\":5.9166,\"hashmark_width\":2,\"long_base_width\":28,\"major_line_thickness\":1,\"minor_line_thickness\":0.1666,\"noncenter_faceoff_spot_gap_width\":0.25,\"noncenter_faceoff_spot_radius\":1,\"noncenter_faceoff_spot_y\":22,\"nzone_faceoff_spot_to_zone_line\":5,\"nzone_length\":50,\"odzone_faceoff_spot_to_boards\":31,\"penalty_box_depth\":5,\"penalty_box_length\":8,\"penalty_box_separation\":8,\"referee_crease_radius\":10,\"rink_length\":200,\"rink_units\":\"ft\",\"rink_width\":85,\"short_base_width\":22}),\"ohl\":/* @__PURE__ */ Object.freeze({\"bench_depth\":5.5,\"bench_length\":30,\"bench_separation\":3.3333,\"board_thickness\":0.4167,\"center_faceoff_spot_radius\":0.5,\"corner_radius\":28,\"faceoff_circle_radius\":15,\"faceoff_line_dist_x\":2,\"faceoff_line_dist_y\":0.75,\"faceoff_line_length\":4,\"faceoff_line_width\":3,\"goal_back_width\":7.3333,\"goal_crease_length\":4.5,\"goal_crease_notch_dist_x\":4,\"goal_crease_notch_width\":0.4167,\"goal_crease_radius\":6,\"goal_crease_style\":\"nhl92\",\"goal_crease_width\":8,\"goal_depth\":3.3333,\"goal_line_to_boards\":11,\"goal_mouth_width\":6,\"goal_post_diameter\":0.1979,\"goal_radius\":1.6666,\"has_trapezoid\":true,\"hashmark_ext_spacing\":5.9166,\"hashmark_width\":2,\"long_base_width\":28,\"major_line_thickness\":1,\"minor_line_thickness\":0.1666,\"noncenter_faceoff_spot_gap_width\":0.25,\"noncenter_faceoff_spot_radius\":1,\"noncenter_faceoff_spot_y\":22,\"nzone_faceoff_spot_to_zone_line\":5,\"nzone_length\":50,\"odzone_faceoff_spot_to_boards\":31,\"penalty_box_depth\":5,\"penalty_box_length\":8,\"penalty_box_separation\":8,\"referee_crease_radius\":10,\"rink_length\":200,\"rink_units\":\"ft\",\"rink_width\":85,\"short_base_width\":22}),\"phf\":/* @__PURE__ */ Object.freeze({\"bench_depth\":5.5,\"bench_length\":30,\"bench_separation\":3.3333,\"board_thickness\":0.4167,\"center_faceoff_spot_radius\":0.5,\"corner_radius\":28,\"faceoff_circle_radius\":15,\"faceoff_line_dist_x\":2,\"faceoff_line_dist_y\":0.75,\"faceoff_line_length\":4,\"faceoff_line_width\":3,\"goal_back_width\":7.3333,\"goal_crease_length\":4.5,\"goal_crease_notch_dist_x\":4,\"goal_crease_notch_width\":0.4167,\"goal_crease_radius\":6,\"goal_crease_style\":\"nhl98\",\"goal_crease_width\":8,\"goal_depth\":3.3333,\"goal_line_to_boards\":11,\"goal_mouth_width\":6,\"goal_post_diameter\":0.1979,\"goal_radius\":1.6666,\"has_trapezoid\":true,\"hashmark_ext_spacing\":5.9166,\"hashmark_width\":2,\"long_base_width\":28,\"major_line_thickness\":1,\"minor_line_thickness\":0.1666,\"noncenter_faceoff_spot_gap_width\":0.25,\"noncenter_faceoff_spot_radius\":1,\"noncenter_faceoff_spot_y\":22,\"nzone_faceoff_spot_to_zone_line\":5,\"nzone_length\":50,\"odzone_faceoff_spot_to_boards\":31,\"penalty_box_depth\":5,\"penalty_box_length\":8,\"penalty_box_separation\":8,\"referee_crease_radius\":10,\"rink_length\":200,\"rink_units\":\"ft\",\"rink_width\":85,\"short_base_width\":22}),\"pwhl\":/* @__PURE__ */ Object.freeze({\"bench_depth\":5.5,\"bench_length\":30,\"bench_separation\":3.3333,\"board_thickness\":0.4167,\"center_faceoff_spot_radius\":0.5,\"corner_radius\":28,\"faceoff_circle_radius\":15,\"faceoff_line_dist_x\":2,\"faceoff_line_dist_y\":0.75,\"faceoff_line_length\":4,\"faceoff_line_width\":3,\"goal_back_width\":7.3333,\"goal_crease_length\":4.5,\"goal_crease_notch_dist_x\":4,\"goal_crease_notch_width\":0.4167,\"goal_crease_radius\":6,\"goal_crease_style\":\"nhl98\",\"goal_crease_width\":8,\"goal_depth\":3.3333,\"goal_line_to_boards\":11,\"goal_mouth_width\":6,\"goal_post_diameter\":0.1979,\"goal_radius\":1.6666,\"has_trapezoid\":false,\"hashmark_ext_spacing\":5.9166,\"hashmark_width\":2,\"long_base_width\":28,\"major_line_thickness\":1,\"minor_line_thickness\":0.1666,\"noncenter_faceoff_spot_gap_width\":0.25,\"noncenter_faceoff_spot_radius\":1,\"noncenter_faceoff_spot_y\":22,\"nzone_faceoff_spot_to_zone_line\":5,\"nzone_length\":50,\"odzone_faceoff_spot_to_boards\":31,\"penalty_box_depth\":5,\"penalty_box_length\":8,\"penalty_box_separation\":8,\"referee_crease_radius\":10,\"rink_length\":200,\"rink_units\":\"ft\",\"rink_width\":85,\"short_base_width\":22}),\"qmjhl\":/* @__PURE__ */ Object.freeze({\"bench_depth\":5.5,\"bench_length\":30,\"bench_separation\":3.3333,\"board_thickness\":0.4167,\"center_faceoff_spot_radius\":0.5,\"corner_radius\":28,\"faceoff_circle_radius\":15,\"faceoff_line_dist_x\":2,\"faceoff_line_dist_y\":0.75,\"faceoff_line_length\":4,\"faceoff_line_width\":3,\"goal_back_width\":7.3333,\"goal_crease_length\":4.5,\"goal_crease_notch_dist_x\":4,\"goal_crease_notch_width\":0.4167,\"goal_crease_radius\":6,\"goal_crease_style\":\"nhl98\",\"goal_crease_width\":8,\"goal_depth\":3.3333,\"goal_line_to_boards\":11,\"goal_mouth_width\":6,\"goal_post_diameter\":0.1979,\"goal_radius\":1.6666,\"has_trapezoid\":true,\"hashmark_ext_spacing\":5.9166,\"hashmark_width\":2,\"long_base_width\":28,\"major_line_thickness\":1,\"minor_line_thickness\":0.1666,\"noncenter_faceoff_spot_gap_width\":0.25,\"noncenter_faceoff_spot_radius\":1,\"noncenter_faceoff_spot_y\":22,\"nzone_faceoff_spot_to_zone_line\":5,\"nzone_length\":50,\"odzone_faceoff_spot_to_boards\":31,\"penalty_box_depth\":5,\"penalty_box_length\":8,\"penalty_box_separation\":8,\"referee_crease_radius\":10,\"rink_length\":200,\"rink_units\":\"ft\",\"rink_width\":85,\"short_base_width\":22}),\"ushl\":/* @__PURE__ */ Object.freeze({\"bench_depth\":5.5,\"bench_length\":30,\"bench_separation\":3.3333,\"board_thickness\":0.4167,\"center_faceoff_spot_radius\":0.5,\"corner_radius\":28,\"faceoff_circle_radius\":15,\"faceoff_line_dist_x\":2,\"faceoff_line_dist_y\":0.75,\"faceoff_line_length\":4,\"faceoff_line_width\":3,\"goal_back_width\":7.3333,\"goal_crease_length\":4.5,\"goal_crease_notch_dist_x\":4,\"goal_crease_notch_width\":0.4167,\"goal_crease_radius\":6,\"goal_crease_style\":\"ushl1\",\"goal_crease_width\":8,\"goal_depth\":3.3333,\"goal_line_to_boards\":11,\"goal_mouth_width\":6,\"goal_post_diameter\":0.1979,\"goal_radius\":1.6666,\"has_trapezoid\":true,\"hashmark_ext_spacing\":5.9166,\"hashmark_width\":2,\"long_base_width\":28,\"major_line_thickness\":1,\"minor_line_thickness\":0.1666,\"noncenter_faceoff_spot_gap_width\":0.25,\"noncenter_faceoff_spot_radius\":1,\"noncenter_faceoff_spot_y\":22,\"nzone_faceoff_spot_to_zone_line\":5,\"nzone_length\":50,\"odzone_faceoff_spot_to_boards\":31,\"penalty_box_depth\":5,\"penalty_box_length\":8,\"penalty_box_separation\":8,\"referee_crease_radius\":10,\"rink_length\":200,\"rink_units\":\"ft\",\"rink_width\":85,\"short_base_width\":22})});\n","// generated by tools/codegen — do not edit (source: packages/sporty/data/surface-dimensions.json)\nexport const LACROSSE_LEAGUES = [\"custom\",\"ncaam\",\"ncaaw\",\"nll\",\"pll\",\"usam\",\"usaw\",\"world lacrosse\"] as const;\nexport type LacrosseLeague = (typeof LACROSSE_LEAGUES)[number];\nexport interface LacrosseParams {\n below_goal_marking_radius?: number;\n below_goal_marking_to_goal_line?: number;\n bench_depth?: number;\n bench_length?: number;\n bench_separation?: number;\n boards_thickness?: number;\n boundary_thickness?: number;\n center_circle_radius?: number;\n center_circle_thickness?: number;\n center_face_off_marker_color_contrasting?: boolean;\n center_face_off_marker_shape?: string;\n center_face_off_marker_side_length?: number;\n center_face_off_marker_side_width?: number;\n center_line_thickness: number;\n center_line_width: number;\n change_area_extension?: number;\n change_area_outline_thickness?: number;\n change_area_width?: number;\n corner_face_off_marker_radius?: number;\n corner_face_off_marker_shape?: string;\n corner_face_off_marker_to_attack_line_outer?: number;\n corner_face_off_marker_to_boards?: number;\n corner_radius?: number;\n defensive_area_line_center_to_sideline?: number;\n defensive_area_line_length?: number;\n defensive_area_line_thickness?: number;\n field_apron_thickness: number;\n field_length: number;\n field_shape: string;\n field_units: \"\" | \"yd\" | \"m\" | \"ft\";\n field_width: number;\n goal_arc_extension?: number;\n goal_arc_line_thickness?: number;\n goal_arc_parallel_line_to_center?: number;\n goal_arc_radius?: number;\n goal_circle_full_360: boolean;\n goal_circle_radius: number;\n goal_circle_thickness: number;\n goal_depth: number;\n goal_depth_to_circle?: number;\n goal_fan_hash_mark_length?: number;\n goal_fan_hash_mark_line_thickness?: number;\n goal_fan_hash_mark_separation_from_center?: readonly number[];\n goal_fan_line_thickness?: number;\n goal_fan_radius?: number;\n goal_frame_opening_interior: number;\n goal_frame_width: number;\n goal_line_center_to_end_line: number;\n goal_line_full_diameter: boolean;\n goal_line_thickness: number;\n goal_mouth_hash_mark_length?: number;\n goal_mouth_hash_mark_line_thickness?: number;\n goal_mouth_line_thickness?: number;\n goal_mouth_radius?: number;\n goal_mouth_semi_circle_separation?: number;\n goal_post_thickness: number;\n has_boards?: boolean;\n has_endlines?: boolean;\n has_sidelines?: boolean;\n neutral_zone_length?: number;\n penalty_box_depth?: number;\n penalty_box_length?: number;\n penalty_box_separation?: number;\n referee_crease_radius?: number;\n referee_crease_thickness?: number;\n restraining_line_outer_edge_to_center?: number;\n restraining_line_thickness?: number;\n wing_line_center_to_sideline?: number;\n wing_line_length?: number;\n wing_line_thickness?: number;\n}\nexport type LacrosseLoosen<T> = T extends readonly (readonly number[])[] ? readonly number[] | readonly (readonly number[])[] : T extends readonly number[] ? number | readonly number[] : T extends readonly boolean[] ? boolean | readonly boolean[] : T extends readonly string[] ? string | readonly string[] : T;\nexport type LacrosseParamUpdates = { [K in keyof LacrosseParams]?: LacrosseLoosen<LacrosseParams[K]> };\nexport const LACROSSE_SPECS: Readonly<Record<LacrosseLeague, Readonly<LacrosseParams>>> = /* @__PURE__ */ Object.freeze({\"custom\":/* @__PURE__ */ Object.freeze({\"boundary_thickness\":0,\"center_face_off_marker_color_contrasting\":true,\"center_face_off_marker_shape\":\"square\",\"center_face_off_marker_side_length\":0,\"center_line_thickness\":0,\"center_line_width\":0,\"defensive_area_line_center_to_sideline\":0,\"defensive_area_line_length\":0,\"defensive_area_line_thickness\":0,\"field_apron_thickness\":0,\"field_length\":0,\"field_shape\":\"rectangle\",\"field_units\":\"\",\"field_width\":0,\"goal_circle_full_360\":true,\"goal_circle_radius\":0,\"goal_circle_thickness\":0,\"goal_depth\":0,\"goal_frame_opening_interior\":0,\"goal_frame_width\":0,\"goal_line_center_to_end_line\":0,\"goal_line_full_diameter\":false,\"goal_line_thickness\":0,\"goal_mouth_line_thickness\":0,\"goal_mouth_radius\":0,\"goal_post_thickness\":0,\"restraining_line_outer_edge_to_center\":0,\"restraining_line_thickness\":0,\"wing_line_center_to_sideline\":0,\"wing_line_length\":0,\"wing_line_thickness\":0}),\"ncaam\":/* @__PURE__ */ Object.freeze({\"boundary_thickness\":0.1111,\"center_face_off_marker_color_contrasting\":true,\"center_face_off_marker_shape\":\"square\",\"center_face_off_marker_side_length\":0.1111,\"center_line_thickness\":0.1111,\"center_line_width\":60,\"defensive_area_line_center_to_sideline\":10,\"defensive_area_line_length\":35,\"defensive_area_line_thickness\":0.1111,\"field_apron_thickness\":5,\"field_length\":110,\"field_shape\":\"rectangle\",\"field_units\":\"yd\",\"field_width\":60,\"goal_circle_full_360\":true,\"goal_circle_radius\":3,\"goal_circle_thickness\":0.1111,\"goal_depth\":1.3333,\"goal_frame_opening_interior\":2,\"goal_frame_width\":2,\"goal_line_center_to_end_line\":15,\"goal_line_full_diameter\":false,\"goal_line_thickness\":0.1667,\"goal_mouth_line_thickness\":0.1111,\"goal_mouth_radius\":2,\"goal_post_thickness\":0.0417,\"restraining_line_outer_edge_to_center\":20,\"restraining_line_thickness\":0.1111,\"wing_line_center_to_sideline\":10,\"wing_line_length\":20,\"wing_line_thickness\":0.1111}),\"ncaaw\":/* @__PURE__ */ Object.freeze({\"below_goal_marking_radius\":0.1524,\"below_goal_marking_to_goal_line\":4.572,\"boundary_thickness\":0.101,\"center_circle_radius\":9,\"center_circle_thickness\":0.101,\"center_line_thickness\":0.101,\"center_line_width\":3,\"field_apron_thickness\":4,\"field_length\":110,\"field_shape\":\"rectangle\",\"field_units\":\"m\",\"field_width\":60,\"goal_circle_full_360\":true,\"goal_circle_radius\":2.6,\"goal_circle_thickness\":0.101,\"goal_depth\":1.3333,\"goal_fan_hash_mark_length\":0.3048,\"goal_fan_hash_mark_line_thickness\":0.101,\"goal_fan_hash_mark_separation_from_center\":[0,4,8,12],\"goal_fan_line_thickness\":0.101,\"goal_fan_radius\":10.6,\"goal_frame_opening_interior\":2,\"goal_frame_width\":2,\"goal_line_center_to_end_line\":8.899,\"goal_line_full_diameter\":false,\"goal_line_thickness\":0.05,\"goal_mouth_hash_mark_length\":0.305,\"goal_mouth_hash_mark_line_thickness\":0.101,\"goal_mouth_line_thickness\":0.101,\"goal_mouth_radius\":14.6,\"goal_mouth_semi_circle_separation\":2.6,\"goal_post_thickness\":0.0417,\"restraining_line_outer_edge_to_center\":24,\"restraining_line_thickness\":0.101}),\"nll\":/* @__PURE__ */ Object.freeze({\"bench_depth\":5,\"bench_length\":24,\"bench_separation\":9.25,\"boards_thickness\":0.25,\"center_circle_radius\":11,\"center_circle_thickness\":0.1667,\"center_face_off_marker_shape\":\"X\",\"center_face_off_marker_side_length\":2.5,\"center_face_off_marker_side_width\":0.1667,\"center_line_thickness\":1,\"center_line_width\":85,\"change_area_extension\":6,\"change_area_outline_thickness\":0.1667,\"change_area_width\":3,\"corner_face_off_marker_radius\":1,\"corner_face_off_marker_shape\":\"O\",\"corner_face_off_marker_to_attack_line_outer\":15,\"corner_face_off_marker_to_boards\":15,\"corner_radius\":28,\"field_apron_thickness\":5,\"field_length\":200,\"field_shape\":\"oval\",\"field_units\":\"ft\",\"field_width\":85,\"goal_circle_full_360\":false,\"goal_circle_radius\":9.25,\"goal_circle_thickness\":0.1667,\"goal_depth\":3.82,\"goal_depth_to_circle\":1,\"goal_frame_opening_interior\":4.75,\"goal_frame_width\":2,\"goal_line_center_to_end_line\":12,\"goal_line_full_diameter\":true,\"goal_line_thickness\":0.1667,\"goal_post_thickness\":0.0417,\"has_boards\":true,\"has_endlines\":false,\"has_sidelines\":false,\"neutral_zone_length\":85,\"penalty_box_depth\":5,\"penalty_box_length\":8,\"penalty_box_separation\":8,\"referee_crease_radius\":10,\"referee_crease_thickness\":0.1667,\"restraining_line_outer_edge_to_center\":42.5,\"restraining_line_thickness\":1}),\"pll\":/* @__PURE__ */ Object.freeze({\"boundary_thickness\":0.1111,\"center_face_off_marker_shape\":\"X\",\"center_face_off_marker_side_length\":2,\"center_face_off_marker_side_width\":0.3333,\"center_line_thickness\":0.1111,\"center_line_width\":60,\"field_apron_thickness\":6,\"field_length\":100,\"field_shape\":\"rectangle\",\"field_units\":\"yd\",\"field_width\":60,\"goal_arc_extension\":15,\"goal_arc_line_thickness\":0.1111,\"goal_arc_parallel_line_to_center\":13,\"goal_arc_radius\":15,\"goal_circle_full_360\":true,\"goal_circle_radius\":3,\"goal_circle_thickness\":0.1111,\"goal_depth\":1.3333,\"goal_frame_opening_interior\":2,\"goal_frame_width\":2,\"goal_line_center_to_end_line\":15,\"goal_line_full_diameter\":false,\"goal_line_thickness\":0.1667,\"goal_post_thickness\":0.0417,\"wing_line_center_to_sideline\":11,\"wing_line_length\":20,\"wing_line_thickness\":0.1111}),\"usam\":/* @__PURE__ */ Object.freeze({\"boundary_thickness\":0.1111,\"center_face_off_marker_color_contrasting\":false,\"center_face_off_marker_shape\":\"X\",\"center_face_off_marker_side_length\":2.5,\"center_face_off_marker_side_width\":0.1667,\"center_line_thickness\":0.1111,\"center_line_width\":60,\"defensive_area_line_center_to_sideline\":10,\"defensive_area_line_length\":35,\"defensive_area_line_thickness\":0.1111,\"field_apron_thickness\":5,\"field_length\":110,\"field_shape\":\"rectangle\",\"field_units\":\"yd\",\"field_width\":60,\"goal_circle_full_360\":true,\"goal_circle_radius\":3,\"goal_circle_thickness\":0.1111,\"goal_depth\":1.3333,\"goal_frame_opening_interior\":2,\"goal_frame_width\":2,\"goal_line_center_to_end_line\":15,\"goal_line_full_diameter\":false,\"goal_line_thickness\":0.0556,\"goal_post_thickness\":0.0417,\"restraining_line_outer_edge_to_center\":20,\"restraining_line_thickness\":0.1111,\"wing_line_center_to_sideline\":10,\"wing_line_length\":20,\"wing_line_thickness\":0.1111}),\"usaw\":/* @__PURE__ */ Object.freeze({\"below_goal_marking_radius\":0.1524,\"below_goal_marking_to_goal_line\":4.572,\"boundary_thickness\":0.101,\"center_circle_radius\":9,\"center_circle_thickness\":0.101,\"center_line_thickness\":0.101,\"center_line_width\":3,\"field_apron_thickness\":4,\"field_length\":110,\"field_shape\":\"rectangle\",\"field_units\":\"m\",\"field_width\":60,\"goal_circle_full_360\":true,\"goal_circle_radius\":2.6,\"goal_circle_thickness\":0.101,\"goal_depth\":1.3333,\"goal_fan_hash_mark_length\":0.3048,\"goal_fan_hash_mark_line_thickness\":0.101,\"goal_fan_hash_mark_separation_from_center\":[0,4,8,12],\"goal_fan_line_thickness\":0.101,\"goal_fan_radius\":10.6,\"goal_frame_opening_interior\":2,\"goal_frame_width\":2,\"goal_line_center_to_end_line\":8.899,\"goal_line_full_diameter\":false,\"goal_line_thickness\":0.05,\"goal_mouth_hash_mark_length\":0.305,\"goal_mouth_hash_mark_line_thickness\":0.101,\"goal_mouth_line_thickness\":0.101,\"goal_mouth_radius\":14.6,\"goal_mouth_semi_circle_separation\":2.6,\"goal_post_thickness\":0.0417,\"restraining_line_outer_edge_to_center\":24,\"restraining_line_thickness\":0.101}),\"world lacrosse\":/* @__PURE__ */ Object.freeze({\"bench_depth\":5,\"bench_length\":24,\"bench_separation\":9.25,\"boards_thickness\":0.25,\"center_circle_radius\":11,\"center_circle_thickness\":0.1667,\"center_face_off_marker_shape\":\"X\",\"center_face_off_marker_side_length\":2.5,\"center_face_off_marker_side_width\":0.1667,\"center_line_thickness\":0.1667,\"center_line_width\":85,\"change_area_extension\":6,\"change_area_outline_thickness\":0.1667,\"change_area_width\":3,\"corner_face_off_marker_radius\":1,\"corner_face_off_marker_shape\":\"O\",\"corner_face_off_marker_to_attack_line_outer\":15,\"corner_face_off_marker_to_boards\":15,\"corner_radius\":28,\"field_apron_thickness\":5,\"field_length\":200,\"field_shape\":\"oval\",\"field_units\":\"ft\",\"field_width\":85,\"goal_circle_full_360\":false,\"goal_circle_radius\":9.25,\"goal_circle_thickness\":0.1667,\"goal_depth\":4,\"goal_depth_to_circle\":1,\"goal_frame_opening_interior\":2,\"goal_frame_width\":2,\"goal_line_center_to_end_line\":12,\"goal_line_full_diameter\":true,\"goal_line_thickness\":0.1667,\"goal_post_thickness\":0.0417,\"has_boards\":true,\"has_endlines\":false,\"has_sidelines\":false,\"neutral_zone_length\":85,\"penalty_box_depth\":5,\"penalty_box_length\":8,\"penalty_box_separation\":8,\"referee_crease_radius\":10,\"referee_crease_thickness\":0.1667,\"restraining_line_outer_edge_to_center\":42.5,\"restraining_line_thickness\":0.1667})});\n","// generated by tools/codegen — do not edit (source: packages/sporty/data/surface-dimensions.json)\nexport const SOCCER_LEAGUES = [\"custom\",\"epl\",\"fifa\",\"mls\",\"ncaa\",\"nwsl\"] as const;\nexport type SoccerLeague = (typeof SOCCER_LEAGUES)[number];\nexport interface SoccerParams {\n center_circle_radius: number;\n center_mark_radius: number;\n corner_arc_radius: number;\n defensive_mark_depth: number;\n defensive_mark_distance: number;\n defensive_mark_separation_from_line?: number;\n goal_box_length: number;\n goal_depth: number;\n goal_line_defensive_mark_visible: boolean;\n goal_width: number;\n interior_of_goal_post_to_goal_box: number;\n interior_of_goal_post_to_penalty_box: number;\n line_thickness: number;\n penalty_box_length: number;\n penalty_circle_radius: number;\n penalty_mark_dist: number;\n penalty_mark_radius: number;\n pitch_apron_goal_line: number;\n pitch_apron_touchline: number;\n pitch_length: number;\n pitch_units: \"\" | \"m\" | \"yd\";\n pitch_width: number;\n touchline_defensive_mark_visible: boolean;\n}\nexport type SoccerLoosen<T> = T extends readonly (readonly number[])[] ? readonly number[] | readonly (readonly number[])[] : T extends readonly number[] ? number | readonly number[] : T extends readonly boolean[] ? boolean | readonly boolean[] : T extends readonly string[] ? string | readonly string[] : T;\nexport type SoccerParamUpdates = { [K in keyof SoccerParams]?: SoccerLoosen<SoccerParams[K]> };\nexport const SOCCER_SPECS: Readonly<Record<SoccerLeague, Readonly<SoccerParams>>> = /* @__PURE__ */ Object.freeze({\"custom\":/* @__PURE__ */ Object.freeze({\"center_circle_radius\":0,\"center_mark_radius\":0,\"corner_arc_radius\":0,\"defensive_mark_depth\":0,\"defensive_mark_distance\":0,\"goal_box_length\":0,\"goal_depth\":0,\"goal_line_defensive_mark_visible\":true,\"goal_width\":0,\"interior_of_goal_post_to_goal_box\":0,\"interior_of_goal_post_to_penalty_box\":0,\"line_thickness\":0,\"penalty_box_length\":0,\"penalty_circle_radius\":0,\"penalty_mark_dist\":0,\"penalty_mark_radius\":0,\"pitch_apron_goal_line\":0,\"pitch_apron_touchline\":0,\"pitch_length\":0,\"pitch_units\":\"\",\"pitch_width\":0,\"touchline_defensive_mark_visible\":true}),\"epl\":/* @__PURE__ */ Object.freeze({\"center_circle_radius\":9.15,\"center_mark_radius\":0.3048,\"corner_arc_radius\":1,\"defensive_mark_depth\":0.5,\"defensive_mark_distance\":9.15,\"goal_box_length\":5.5,\"goal_depth\":1.7,\"goal_line_defensive_mark_visible\":true,\"goal_width\":7.32,\"interior_of_goal_post_to_goal_box\":5.5,\"interior_of_goal_post_to_penalty_box\":16.5,\"line_thickness\":0.12,\"penalty_box_length\":16.5,\"penalty_circle_radius\":9.15,\"penalty_mark_dist\":11,\"penalty_mark_radius\":0.1524,\"pitch_apron_goal_line\":1,\"pitch_apron_touchline\":1,\"pitch_length\":120,\"pitch_units\":\"m\",\"pitch_width\":90,\"touchline_defensive_mark_visible\":true}),\"fifa\":/* @__PURE__ */ Object.freeze({\"center_circle_radius\":9.15,\"center_mark_radius\":0.3048,\"corner_arc_radius\":1,\"defensive_mark_depth\":0.5,\"defensive_mark_distance\":9.15,\"goal_box_length\":5.5,\"goal_depth\":1.7,\"goal_line_defensive_mark_visible\":true,\"goal_width\":7.32,\"interior_of_goal_post_to_goal_box\":5.5,\"interior_of_goal_post_to_penalty_box\":16.5,\"line_thickness\":0.12,\"penalty_box_length\":16.5,\"penalty_circle_radius\":9.15,\"penalty_mark_dist\":11,\"penalty_mark_radius\":0.1524,\"pitch_apron_goal_line\":1,\"pitch_apron_touchline\":1,\"pitch_length\":120,\"pitch_units\":\"m\",\"pitch_width\":90,\"touchline_defensive_mark_visible\":true}),\"mls\":/* @__PURE__ */ Object.freeze({\"center_circle_radius\":10,\"center_mark_radius\":0.333,\"corner_arc_radius\":1,\"defensive_mark_depth\":0.5,\"defensive_mark_distance\":10,\"goal_box_length\":6,\"goal_depth\":1.86,\"goal_line_defensive_mark_visible\":true,\"goal_width\":8,\"interior_of_goal_post_to_goal_box\":6,\"interior_of_goal_post_to_penalty_box\":18,\"line_thickness\":0.139,\"penalty_box_length\":18,\"penalty_circle_radius\":10,\"penalty_mark_dist\":12,\"penalty_mark_radius\":0.1667,\"pitch_apron_goal_line\":1.0936,\"pitch_apron_touchline\":1.0936,\"pitch_length\":110,\"pitch_units\":\"yd\",\"pitch_width\":70,\"touchline_defensive_mark_visible\":true}),\"ncaa\":/* @__PURE__ */ Object.freeze({\"center_circle_radius\":10,\"center_mark_radius\":0.333,\"corner_arc_radius\":1,\"defensive_mark_depth\":1,\"defensive_mark_distance\":11,\"defensive_mark_separation_from_line\":0.1667,\"goal_box_length\":6,\"goal_depth\":1.86,\"goal_line_defensive_mark_visible\":true,\"goal_width\":8,\"interior_of_goal_post_to_goal_box\":6,\"interior_of_goal_post_to_penalty_box\":18,\"line_thickness\":0.139,\"penalty_box_length\":18,\"penalty_circle_radius\":10,\"penalty_mark_dist\":12,\"penalty_mark_radius\":0.125,\"pitch_apron_goal_line\":1.0936,\"pitch_apron_touchline\":1.0936,\"pitch_length\":120,\"pitch_units\":\"yd\",\"pitch_width\":75,\"touchline_defensive_mark_visible\":false}),\"nwsl\":/* @__PURE__ */ Object.freeze({\"center_circle_radius\":10,\"center_mark_radius\":0.333,\"corner_arc_radius\":1,\"defensive_mark_depth\":0.5,\"defensive_mark_distance\":10,\"goal_box_length\":6,\"goal_depth\":1.86,\"goal_line_defensive_mark_visible\":true,\"goal_width\":8,\"interior_of_goal_post_to_goal_box\":6,\"interior_of_goal_post_to_penalty_box\":18,\"line_thickness\":0.139,\"penalty_box_length\":18,\"penalty_circle_radius\":10,\"penalty_mark_dist\":12,\"penalty_mark_radius\":0.1667,\"pitch_apron_goal_line\":1.0936,\"pitch_apron_touchline\":1.0936,\"pitch_length\":110,\"pitch_units\":\"yd\",\"pitch_width\":70,\"touchline_defensive_mark_visible\":true})});\n","// generated by tools/codegen — do not edit (source: packages/sporty/data/surface-dimensions.json)\nexport const SOFTBALL_LEAGUES = [\"custom\",\"ncaa\"] as const;\nexport type SoftballLeague = (typeof SOFTBALL_LEAGUES)[number];\nexport interface SoftballParams {\n backstop_radius: number;\n base_side_length: number;\n baseline_distance: number;\n batters_box_length: number;\n batters_box_width: number;\n batters_box_y_adj: number;\n catchers_box_depth: number;\n catchers_box_width: number;\n center_field_distance: number;\n coaches_box_depth: number;\n coaches_box_length: number;\n coaches_box_width: number;\n field_units: \"\" | \"ft\";\n foul_line_to_foul_grass: number;\n home_plate_circle_radius: number;\n home_plate_edge_length: number;\n home_plate_side_to_batters_box: number;\n infield_arc_radius: number;\n left_field_distance: number;\n line_width: number;\n pitchers_circle_radius: number;\n pitchers_lane_length: number;\n pitchers_plate_front_to_home_plate: number;\n pitchers_plate_length: number;\n pitchers_plate_width: number;\n right_field_distance: number;\n running_lane_depth: number;\n running_lane_length: number;\n running_lane_start_distance: number;\n}\nexport type SoftballLoosen<T> = T extends readonly (readonly number[])[] ? readonly number[] | readonly (readonly number[])[] : T extends readonly number[] ? number | readonly number[] : T extends readonly boolean[] ? boolean | readonly boolean[] : T extends readonly string[] ? string | readonly string[] : T;\nexport type SoftballParamUpdates = { [K in keyof SoftballParams]?: SoftballLoosen<SoftballParams[K]> };\nexport const SOFTBALL_SPECS: Readonly<Record<SoftballLeague, Readonly<SoftballParams>>> = /* @__PURE__ */ Object.freeze({\"custom\":/* @__PURE__ */ Object.freeze({\"backstop_radius\":0,\"base_side_length\":0,\"baseline_distance\":0,\"batters_box_length\":0,\"batters_box_width\":0,\"batters_box_y_adj\":0,\"catchers_box_depth\":0,\"catchers_box_width\":0,\"center_field_distance\":0,\"coaches_box_depth\":0,\"coaches_box_length\":0,\"coaches_box_width\":0,\"field_units\":\"\",\"foul_line_to_foul_grass\":0,\"home_plate_circle_radius\":0,\"home_plate_edge_length\":0,\"home_plate_side_to_batters_box\":0,\"infield_arc_radius\":0,\"left_field_distance\":0,\"line_width\":0,\"pitchers_circle_radius\":0,\"pitchers_lane_length\":0,\"pitchers_plate_front_to_home_plate\":0,\"pitchers_plate_length\":0,\"pitchers_plate_width\":0,\"right_field_distance\":0,\"running_lane_depth\":0,\"running_lane_length\":0,\"running_lane_start_distance\":0}),\"ncaa\":/* @__PURE__ */ Object.freeze({\"backstop_radius\":25,\"base_side_length\":1.25,\"baseline_distance\":60,\"batters_box_length\":7,\"batters_box_width\":3,\"batters_box_y_adj\":1.2083,\"catchers_box_depth\":7,\"catchers_box_width\":8.4167,\"center_field_distance\":220,\"coaches_box_depth\":8,\"coaches_box_length\":15,\"coaches_box_width\":3,\"field_units\":\"ft\",\"foul_line_to_foul_grass\":3,\"home_plate_circle_radius\":13,\"home_plate_edge_length\":1.4167,\"home_plate_side_to_batters_box\":0.5,\"infield_arc_radius\":60,\"left_field_distance\":190,\"line_width\":0.25,\"pitchers_circle_radius\":8,\"pitchers_lane_length\":8,\"pitchers_plate_front_to_home_plate\":43,\"pitchers_plate_length\":2,\"pitchers_plate_width\":0.5,\"right_field_distance\":190,\"running_lane_depth\":3,\"running_lane_length\":30,\"running_lane_start_distance\":30})});\n","// generated by tools/codegen — do not edit (source: packages/sporty/data/surface-dimensions.json)\nexport const TENNIS_LEAGUES = [\"atp\",\"custom\",\"ita\",\"itf\",\"ncaa\",\"usta\",\"wta\"] as const;\nexport type TennisLeague = (typeof TENNIS_LEAGUES)[number];\nexport interface TennisParams {\n backstop_distance: number;\n center_mark_length: number;\n court_length: number;\n court_units: \"\" | \"ft\";\n doubles_width: number;\n line_thickness: number;\n net_length: number;\n serviceline_distance: number;\n sidestop_distance: number;\n singles_width: number;\n}\nexport type TennisLoosen<T> = T extends readonly (readonly number[])[] ? readonly number[] | readonly (readonly number[])[] : T extends readonly number[] ? number | readonly number[] : T extends readonly boolean[] ? boolean | readonly boolean[] : T extends readonly string[] ? string | readonly string[] : T;\nexport type TennisParamUpdates = { [K in keyof TennisParams]?: TennisLoosen<TennisParams[K]> };\nexport const TENNIS_SPECS: Readonly<Record<TennisLeague, Readonly<TennisParams>>> = /* @__PURE__ */ Object.freeze({\"atp\":/* @__PURE__ */ Object.freeze({\"backstop_distance\":21,\"center_mark_length\":0.3333,\"court_length\":78,\"court_units\":\"ft\",\"doubles_width\":36,\"line_thickness\":0.1667,\"net_length\":42,\"serviceline_distance\":21,\"sidestop_distance\":12,\"singles_width\":27}),\"custom\":/* @__PURE__ */ Object.freeze({\"backstop_distance\":0,\"center_mark_length\":0,\"court_length\":0,\"court_units\":\"\",\"doubles_width\":0,\"line_thickness\":0,\"net_length\":0,\"serviceline_distance\":0,\"sidestop_distance\":0,\"singles_width\":0}),\"ita\":/* @__PURE__ */ Object.freeze({\"backstop_distance\":21,\"center_mark_length\":0.3333,\"court_length\":78,\"court_units\":\"ft\",\"doubles_width\":36,\"line_thickness\":0.1667,\"net_length\":42,\"serviceline_distance\":21,\"sidestop_distance\":12,\"singles_width\":27}),\"itf\":/* @__PURE__ */ Object.freeze({\"backstop_distance\":21,\"center_mark_length\":0.3333,\"court_length\":78,\"court_units\":\"ft\",\"doubles_width\":36,\"line_thickness\":0.1667,\"net_length\":42,\"serviceline_distance\":21,\"sidestop_distance\":12,\"singles_width\":27}),\"ncaa\":/* @__PURE__ */ Object.freeze({\"backstop_distance\":21,\"center_mark_length\":0.3333,\"court_length\":78,\"court_units\":\"ft\",\"doubles_width\":36,\"line_thickness\":0.1667,\"net_length\":42,\"serviceline_distance\":21,\"sidestop_distance\":12,\"singles_width\":27}),\"usta\":/* @__PURE__ */ Object.freeze({\"backstop_distance\":21,\"center_mark_length\":0.3333,\"court_length\":78,\"court_units\":\"ft\",\"doubles_width\":36,\"line_thickness\":0.1667,\"net_length\":42,\"serviceline_distance\":21,\"sidestop_distance\":12,\"singles_width\":27}),\"wta\":/* @__PURE__ */ Object.freeze({\"backstop_distance\":21,\"center_mark_length\":0.3333,\"court_length\":78,\"court_units\":\"ft\",\"doubles_width\":36,\"line_thickness\":0.1667,\"net_length\":42,\"serviceline_distance\":21,\"sidestop_distance\":12,\"singles_width\":27})});\n","// generated by tools/codegen — do not edit (source: packages/sporty/data/surface-dimensions.json)\nexport const VOLLEYBALL_LEAGUES = [\"custom\",\"fivb\",\"ncaa\",\"usa volleyball\"] as const;\nexport type VolleyballLeague = (typeof VOLLEYBALL_LEAGUES)[number];\nexport interface VolleyballParams {\n attack_line_edge_to_center_line: number;\n court_apron_end_line: number;\n court_apron_sideline: number;\n court_length: number;\n court_units: \"m\";\n court_width: number;\n free_zone_end_line: number;\n free_zone_sideline: number;\n line_thickness: number;\n service_zone_mark_length: number;\n service_zone_mark_to_end_line: number;\n substitution_zone_dash_breaks: number;\n substitution_zone_dash_length: number;\n substitution_zone_rep_pattern: number;\n}\nexport type VolleyballLoosen<T> = T extends readonly (readonly number[])[] ? readonly number[] | readonly (readonly number[])[] : T extends readonly number[] ? number | readonly number[] : T extends readonly boolean[] ? boolean | readonly boolean[] : T extends readonly string[] ? string | readonly string[] : T;\nexport type VolleyballParamUpdates = { [K in keyof VolleyballParams]?: VolleyballLoosen<VolleyballParams[K]> };\nexport const VOLLEYBALL_SPECS: Readonly<Record<VolleyballLeague, Readonly<VolleyballParams>>> = /* @__PURE__ */ Object.freeze({\"custom\":/* @__PURE__ */ Object.freeze({\"attack_line_edge_to_center_line\":0,\"court_apron_end_line\":0,\"court_apron_sideline\":0.5,\"court_length\":0,\"court_units\":\"m\",\"court_width\":0,\"free_zone_end_line\":0,\"free_zone_sideline\":0,\"line_thickness\":0,\"service_zone_mark_length\":0,\"service_zone_mark_to_end_line\":0,\"substitution_zone_dash_breaks\":0,\"substitution_zone_dash_length\":0,\"substitution_zone_rep_pattern\":0}),\"fivb\":/* @__PURE__ */ Object.freeze({\"attack_line_edge_to_center_line\":3,\"court_apron_end_line\":2,\"court_apron_sideline\":1.5,\"court_length\":18,\"court_units\":\"m\",\"court_width\":9,\"free_zone_end_line\":6.5,\"free_zone_sideline\":5,\"line_thickness\":0.05,\"service_zone_mark_length\":0.15,\"service_zone_mark_to_end_line\":0.2,\"substitution_zone_dash_breaks\":0.2,\"substitution_zone_dash_length\":0.15,\"substitution_zone_rep_pattern\":5}),\"ncaa\":/* @__PURE__ */ Object.freeze({\"attack_line_edge_to_center_line\":3,\"court_apron_end_line\":2,\"court_apron_sideline\":1.5,\"court_length\":18,\"court_units\":\"m\",\"court_width\":9,\"free_zone_end_line\":4.5,\"free_zone_sideline\":3,\"line_thickness\":0.05,\"service_zone_mark_length\":0.15,\"service_zone_mark_to_end_line\":0.2,\"substitution_zone_dash_breaks\":0.2,\"substitution_zone_dash_length\":0.15,\"substitution_zone_rep_pattern\":5}),\"usa volleyball\":/* @__PURE__ */ Object.freeze({\"attack_line_edge_to_center_line\":3,\"court_apron_end_line\":2,\"court_apron_sideline\":1.5,\"court_length\":18,\"court_units\":\"m\",\"court_width\":9,\"free_zone_end_line\":4.5,\"free_zone_sideline\":3,\"line_thickness\":0.05,\"service_zone_mark_length\":0.15,\"service_zone_mark_to_end_line\":0.2,\"substitution_zone_dash_breaks\":0.2,\"substitution_zone_dash_length\":0.15,\"substitution_zone_rep_pattern\":5})});\n"]}
|
|
@@ -10,5 +10,5 @@ function isVisibleText(f) {
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
export { hidden, isVisiblePolygon, isVisibleText };
|
|
13
|
-
//# sourceMappingURL=chunk-
|
|
14
|
-
//# sourceMappingURL=chunk-
|
|
13
|
+
//# sourceMappingURL=chunk-DRH5NZI4.js.map
|
|
14
|
+
//# sourceMappingURL=chunk-DRH5NZI4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/scene.ts"],"names":[],"mappings":";AAgEO,IAAM,MAAA,GAAS,CAAC,CAAA,KAAsB,CAAA,CAAE,WAAW,CAAA,IAAK,CAAA,CAAE,SAAS,IAAI;AAGvE,SAAS,iBAAiB,CAAA,EAA4B;AAC3D,EAAA,IAAI,CAAA,CAAE,OAAO,MAAA,KAAW,CAAA,IAAK,EAAE,MAAA,CAAO,IAAA,CAAK,CAAC,CAAC,CAAA,EAAG,CAAC,CAAA,KAAM,CAAC,OAAO,QAAA,CAAS,CAAC,KAAK,CAAC,MAAA,CAAO,QAAA,CAAS,CAAC,CAAC,CAAA;AAC/F,IAAA,OAAO,KAAA;AACT,EAAA,OAAO,EAAE,MAAA,CAAO,CAAA,CAAE,IAAI,CAAA,IAAK,EAAE,MAAA,KAAW,MAAA,CAAA;AAC1C;AAGO,SAAS,cAAc,CAAA,EAAyB;AACrD,EAAA,OAAO,MAAA,CAAO,QAAA,CAAS,CAAA,CAAE,CAAC,CAAA,IAAK,MAAA,CAAO,QAAA,CAAS,CAAA,CAAE,CAAC,CAAA,IAAK,CAAC,MAAA,CAAO,EAAE,IAAI,CAAA;AACvE","file":"chunk-DRH5NZI4.js","sourcesContent":["export type Point = readonly [x: number, y: number];\nexport type Polygon = readonly Point[];\n/** \"#rrggbb\" | \"#rrggbbaa\"; \"#00000000\" hides a feature. */\nexport type Color = string;\nexport type Units = \"ft\" | \"m\" | \"yd\" | \"in\" | \"cm\" | \"mm\";\nexport type Sport =\n | \"baseball\"\n | \"basketball\"\n | \"curling\"\n | \"football\"\n | \"hockey\"\n | \"lacrosse\"\n | \"soccer\"\n | \"softball\"\n | \"tennis\"\n | \"volleyball\";\nexport interface PolygonFeature {\n kind: \"polygon\";\n name: string;\n zIndex: number;\n fill: Color;\n stroke?: Color;\n points: Polygon;\n elevation?: number;\n height?: number;\n}\nexport interface TextFeature {\n kind: \"text\";\n name: string;\n zIndex: number;\n fill: Color;\n x: number;\n y: number;\n text: string;\n fontFamily: string;\n /** Unrotated box in the text's own frame (`[width, height]` before `rotation`); equals R's ggfittext box at 0/90/180/270°. */\n fitBox: readonly [w: number, h: number];\n rotation: number;\n}\nexport type Feature = PolygonFeature | TextFeature;\nexport interface Scene {\n sport: Sport;\n league: string;\n units: Units;\n bbox: readonly [x0: number, y0: number, x1: number, y1: number];\n origin: \"center\" | \"home_plate\";\n /** R `plot_background` (baseball `#395d33`); renderers paint it behind every feature. */\n background?: Color;\n features: readonly Feature[];\n}\nexport interface SurfaceOptions<U, C extends string, D extends string> {\n updates?: U;\n colorUpdates?: Partial<Record<C, Color | readonly Color[]>>;\n rotation?: number;\n xTrans?: number;\n yTrans?: number;\n units?: Units;\n displayRange?: D;\n xlim?: readonly [number, number];\n ylim?: readonly [number, number];\n arcResolution?: number;\n}\n\n/** `#rrggbb00`-style colors (alpha 00) hide a feature. */\nexport const hidden = (c: Color): boolean => c.length === 9 && c.endsWith(\"00\");\n\n/** Mirrors toSVG's polygon skips: no points, a non-finite point, or a hidden fill with no stroke. */\nexport function isVisiblePolygon(f: PolygonFeature): boolean {\n if (f.points.length === 0 || f.points.some(([x, y]) => !Number.isFinite(x) || !Number.isFinite(y)))\n return false;\n return !(hidden(f.fill) && f.stroke === undefined);\n}\n\n/** Mirrors toSVG's text skips: a non-finite anchor or a hidden fill. */\nexport function isVisibleText(f: TextFeature): boolean {\n return Number.isFinite(f.x) && Number.isFinite(f.y) && !hidden(f.fill);\n}\n"]}
|
package/dist/d3.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Selection, BaseType } from 'd3';
|
|
2
|
-
import { S as Scene } from './scene-
|
|
2
|
+
import { S as Scene } from './scene-D5Jc19yu.js';
|
|
3
3
|
|
|
4
4
|
/** A selection of `G` with any datum and parent: d3's `Selection` is invariant in its datum, so `unknown` would reject `create("svg")`. */
|
|
5
5
|
type Sel<G extends Element, D> = Selection<G, D, BaseType, unknown>;
|
package/dist/d3.js
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { a as Sport, b as SurfaceOptions, S as Scene, U as Units, P as Point, c as Polygon } from './scene-
|
|
2
|
-
export { C as Color, F as Feature, d as PolygonFeature, T as TextFeature } from './scene-
|
|
3
|
-
import { BaseballLeague, BasketballLeague, CurlingLeague, FootballLeague, HockeyLeague, LacrosseLeague, SoccerLeague, TennisLeague, VolleyballLeague, BaseballParamUpdates, BasketballParamUpdates, CurlingParamUpdates, FootballParamUpdates, HockeyParamUpdates, LacrosseParamUpdates, SoccerParamUpdates, TennisParamUpdates, VolleyballParamUpdates, BASEBALL_LEAGUES, BASKETBALL_LEAGUES, CURLING_LEAGUES, FOOTBALL_LEAGUES, HOCKEY_LEAGUES, LACROSSE_LEAGUES, SOCCER_LEAGUES, TENNIS_LEAGUES, VOLLEYBALL_LEAGUES } from './specs/index.js';
|
|
4
|
-
export { BASEBALL_SPECS, BASKETBALL_SPECS, BaseballLoosen, BaseballParams, BasketballLoosen, BasketballParams, CURLING_SPECS, CurlingLoosen, CurlingParams, FOOTBALL_SPECS, FootballLoosen, FootballParams, HOCKEY_SPECS, HockeyLoosen, HockeyParams, LACROSSE_SPECS, LacrosseLoosen, LacrosseParams, SOCCER_SPECS, SoccerLoosen, SoccerParams, TENNIS_SPECS, TennisLoosen, TennisParams, VOLLEYBALL_SPECS, VolleyballLoosen, VolleyballParams } from './specs/index.js';
|
|
1
|
+
import { a as Sport, b as SurfaceOptions, S as Scene, U as Units, P as Point, c as Polygon } from './scene-D5Jc19yu.js';
|
|
2
|
+
export { C as Color, F as Feature, d as PolygonFeature, T as TextFeature } from './scene-D5Jc19yu.js';
|
|
3
|
+
import { BaseballLeague, BasketballLeague, CurlingLeague, FootballLeague, HockeyLeague, LacrosseLeague, SoccerLeague, SoftballLeague, TennisLeague, VolleyballLeague, BaseballParamUpdates, BasketballParamUpdates, CurlingParamUpdates, FootballParamUpdates, HockeyParamUpdates, LacrosseParamUpdates, SoccerParamUpdates, SoftballParamUpdates, TennisParamUpdates, VolleyballParamUpdates, BASEBALL_LEAGUES, BASKETBALL_LEAGUES, CURLING_LEAGUES, FOOTBALL_LEAGUES, HOCKEY_LEAGUES, LACROSSE_LEAGUES, SOCCER_LEAGUES, SOFTBALL_LEAGUES, TENNIS_LEAGUES, VOLLEYBALL_LEAGUES } from './specs/index.js';
|
|
4
|
+
export { BASEBALL_SPECS, BASKETBALL_SPECS, BaseballLoosen, BaseballParams, BasketballLoosen, BasketballParams, CURLING_SPECS, CurlingLoosen, CurlingParams, FOOTBALL_SPECS, FootballLoosen, FootballParams, HOCKEY_SPECS, HockeyLoosen, HockeyParams, LACROSSE_SPECS, LacrosseLoosen, LacrosseParams, SOCCER_SPECS, SOFTBALL_SPECS, SoccerLoosen, SoccerParams, SoftballLoosen, SoftballParams, TENNIS_SPECS, TennisLoosen, TennisParams, VOLLEYBALL_SPECS, VolleyballLoosen, VolleyballParams } from './specs/index.js';
|
|
5
5
|
|
|
6
6
|
declare const VERSION: string;
|
|
7
7
|
|
|
@@ -81,6 +81,16 @@ type SoccerDisplayRange = (typeof SOCCER_DISPLAY_RANGES)[number];
|
|
|
81
81
|
declare const SOCCER_COLOR_KEYS: readonly ["plot_background", "offensive_half_pitch", "defensive_half_pitch", "pitch_apron", "touchline", "goal_line", "corner_arc", "halfway_line", "center_circle", "center_mark", "penalty_box", "goal_box", "penalty_mark", "corner_defensive_mark", "goal"];
|
|
82
82
|
type SoccerColorKey = (typeof SOCCER_COLOR_KEYS)[number];
|
|
83
83
|
|
|
84
|
+
/** One name per sportyR `softball_*` builder (prefix dropped), as used in `PolygonFeature.name` (11). */
|
|
85
|
+
declare const SOFTBALL_FEATURES: readonly ["infield_dirt", "home_plate", "base", "pitchers_plate", "batters_box", "catchers_box", "foul_line", "running_lane", "pitchers_circle", "pitchers_lane", "coaches_box"];
|
|
86
|
+
type SoftballFeature = (typeof SOFTBALL_FEATURES)[number];
|
|
87
|
+
/** Verbatim keys of the `switch(tolower(display_range))` in sportyR `geom_softball()` (2). */
|
|
88
|
+
declare const SOFTBALL_DISPLAY_RANGES: readonly ["full", "infield"];
|
|
89
|
+
type SoftballDisplayRange = (typeof SOFTBALL_DISPLAY_RANGES)[number];
|
|
90
|
+
/** The 11 argument names of `softball_features_set_colors()`, in R's declaration order. */
|
|
91
|
+
declare const SOFTBALL_COLOR_KEYS: readonly ["plot_background", "infield_dirt", "base", "pitchers_plate", "batters_box", "catchers_box", "foul_line", "running_lane", "pitchers_circle", "pitchers_lane", "coaches_box"];
|
|
92
|
+
type SoftballColorKey = (typeof SOFTBALL_COLOR_KEYS)[number];
|
|
93
|
+
|
|
84
94
|
/** One name per sportyR `tennis_*` builder (prefix dropped), as used in `PolygonFeature.name` (10). */
|
|
85
95
|
declare const TENNIS_FEATURES: readonly ["court_apron", "doubles_alley", "backcourt", "frontcourt_half", "baseline", "sideline", "serviceline", "center_serviceline", "center_mark", "net"];
|
|
86
96
|
type TennisFeature = (typeof TENNIS_FEATURES)[number];
|
|
@@ -102,13 +112,13 @@ declare const VOLLEYBALL_COLOR_KEYS: readonly ["plot_background", "free_zone", "
|
|
|
102
112
|
type VolleyballColorKey = (typeof VOLLEYBALL_COLOR_KEYS)[number];
|
|
103
113
|
|
|
104
114
|
/** Every sport `surface()` accepts, alphabetical. */
|
|
105
|
-
declare const SPORTS: readonly ["baseball", "basketball", "curling", "football", "hockey", "lacrosse", "soccer", "tennis", "volleyball"];
|
|
115
|
+
declare const SPORTS: readonly ["baseball", "basketball", "curling", "football", "hockey", "lacrosse", "soccer", "softball", "tennis", "volleyball"];
|
|
106
116
|
/** League accepted by `surface(sport, …)` for sport `S` (a generated league name; any string compiles). */
|
|
107
|
-
type LeagueOf<S extends Sport> = S extends "baseball" ? BaseballLeague | (string & {}) : S extends "basketball" ? BasketballLeague | (string & {}) : S extends "curling" ? CurlingLeague | (string & {}) : S extends "football" ? FootballLeague | (string & {}) : S extends "hockey" ? HockeyLeague | (string & {}) : S extends "lacrosse" ? LacrosseLeague | (string & {}) : S extends "soccer" ? SoccerLeague | (string & {}) : S extends "tennis" ? TennisLeague | (string & {}) : S extends "volleyball" ? VolleyballLeague | (string & {}) : never;
|
|
117
|
+
type LeagueOf<S extends Sport> = S extends "baseball" ? BaseballLeague | (string & {}) : S extends "basketball" ? BasketballLeague | (string & {}) : S extends "curling" ? CurlingLeague | (string & {}) : S extends "football" ? FootballLeague | (string & {}) : S extends "hockey" ? HockeyLeague | (string & {}) : S extends "lacrosse" ? LacrosseLeague | (string & {}) : S extends "soccer" ? SoccerLeague | (string & {}) : S extends "softball" ? SoftballLeague | (string & {}) : S extends "tennis" ? TennisLeague | (string & {}) : S extends "volleyball" ? VolleyballLeague | (string & {}) : never;
|
|
108
118
|
/** `surface()` options for sport `S`. */
|
|
109
|
-
type OptionsOf<S extends Sport> = S extends "baseball" ? SurfaceOptions<BaseballParamUpdates, BaseballColorKey, BaseballDisplayRange> : S extends "basketball" ? SurfaceOptions<BasketballParamUpdates, BasketballColorKey, BasketballDisplayRange> : S extends "curling" ? SurfaceOptions<CurlingParamUpdates, CurlingColorKey, CurlingDisplayRange> : S extends "football" ? SurfaceOptions<FootballParamUpdates, FootballColorKey, FootballDisplayRange> : S extends "hockey" ? SurfaceOptions<HockeyParamUpdates, HockeyColorKey, HockeyDisplayRange> : S extends "lacrosse" ? SurfaceOptions<LacrosseParamUpdates, LacrosseColorKey, LacrosseDisplayRange> : S extends "soccer" ? SurfaceOptions<SoccerParamUpdates, SoccerColorKey, SoccerDisplayRange> : S extends "tennis" ? SurfaceOptions<TennisParamUpdates, TennisColorKey, TennisDisplayRange> : S extends "volleyball" ? SurfaceOptions<VolleyballParamUpdates, VolleyballColorKey, VolleyballDisplayRange> : never;
|
|
119
|
+
type OptionsOf<S extends Sport> = S extends "baseball" ? SurfaceOptions<BaseballParamUpdates, BaseballColorKey, BaseballDisplayRange> : S extends "basketball" ? SurfaceOptions<BasketballParamUpdates, BasketballColorKey, BasketballDisplayRange> : S extends "curling" ? SurfaceOptions<CurlingParamUpdates, CurlingColorKey, CurlingDisplayRange> : S extends "football" ? SurfaceOptions<FootballParamUpdates, FootballColorKey, FootballDisplayRange> : S extends "hockey" ? SurfaceOptions<HockeyParamUpdates, HockeyColorKey, HockeyDisplayRange> : S extends "lacrosse" ? SurfaceOptions<LacrosseParamUpdates, LacrosseColorKey, LacrosseDisplayRange> : S extends "soccer" ? SurfaceOptions<SoccerParamUpdates, SoccerColorKey, SoccerDisplayRange> : S extends "softball" ? SurfaceOptions<SoftballParamUpdates, SoftballColorKey, SoftballDisplayRange> : S extends "tennis" ? SurfaceOptions<TennisParamUpdates, TennisColorKey, TennisDisplayRange> : S extends "volleyball" ? SurfaceOptions<VolleyballParamUpdates, VolleyballColorKey, VolleyballDisplayRange> : never;
|
|
110
120
|
/**
|
|
111
|
-
* Build a surface scene for any of the
|
|
121
|
+
* Build a surface scene for any of the ten sports. Options are typed per sport, so a misspelled option, colour key
|
|
112
122
|
* or display range compiles to an error. A runtime `Sport` (or a union) goes through the generic overload; an unknown
|
|
113
123
|
* sport (untyped callers) or league throws `UnknownLeagueError`.
|
|
114
124
|
*
|
|
@@ -128,6 +138,7 @@ declare function surface(sport: "football", league: FootballLeague | (string & {
|
|
|
128
138
|
declare function surface(sport: "hockey", league: HockeyLeague | (string & {}), opts?: SurfaceOptions<HockeyParamUpdates, HockeyColorKey, HockeyDisplayRange>): Scene;
|
|
129
139
|
declare function surface(sport: "lacrosse", league: LacrosseLeague | (string & {}), opts?: SurfaceOptions<LacrosseParamUpdates, LacrosseColorKey, LacrosseDisplayRange>): Scene;
|
|
130
140
|
declare function surface(sport: "soccer", league: SoccerLeague | (string & {}), opts?: SurfaceOptions<SoccerParamUpdates, SoccerColorKey, SoccerDisplayRange>): Scene;
|
|
141
|
+
declare function surface(sport: "softball", league: SoftballLeague | (string & {}), opts?: SurfaceOptions<SoftballParamUpdates, SoftballColorKey, SoftballDisplayRange>): Scene;
|
|
131
142
|
declare function surface(sport: "tennis", league: TennisLeague | (string & {}), opts?: SurfaceOptions<TennisParamUpdates, TennisColorKey, TennisDisplayRange>): Scene;
|
|
132
143
|
declare function surface(sport: "volleyball", league: VolleyballLeague | (string & {}), opts?: SurfaceOptions<VolleyballParamUpdates, VolleyballColorKey, VolleyballDisplayRange>): Scene;
|
|
133
144
|
declare function surface<S extends Sport>(sport: S, league: LeagueOf<S>, opts?: OptionsOf<S>): Scene;
|
|
@@ -139,6 +150,7 @@ declare function leagues(sport: "football"): typeof FOOTBALL_LEAGUES;
|
|
|
139
150
|
declare function leagues(sport: "hockey"): typeof HOCKEY_LEAGUES;
|
|
140
151
|
declare function leagues(sport: "lacrosse"): typeof LACROSSE_LEAGUES;
|
|
141
152
|
declare function leagues(sport: "soccer"): typeof SOCCER_LEAGUES;
|
|
153
|
+
declare function leagues(sport: "softball"): typeof SOFTBALL_LEAGUES;
|
|
142
154
|
declare function leagues(sport: "tennis"): typeof TENNIS_LEAGUES;
|
|
143
155
|
declare function leagues(sport: "volleyball"): typeof VOLLEYBALL_LEAGUES;
|
|
144
156
|
declare function leagues(sport: Sport): readonly string[];
|
|
@@ -150,6 +162,7 @@ declare function features(sport: "football"): typeof FOOTBALL_FEATURES;
|
|
|
150
162
|
declare function features(sport: "hockey"): typeof HOCKEY_FEATURES;
|
|
151
163
|
declare function features(sport: "lacrosse"): typeof LACROSSE_FEATURES;
|
|
152
164
|
declare function features(sport: "soccer"): typeof SOCCER_FEATURES;
|
|
165
|
+
declare function features(sport: "softball"): typeof SOFTBALL_FEATURES;
|
|
153
166
|
declare function features(sport: "tennis"): typeof TENNIS_FEATURES;
|
|
154
167
|
declare function features(sport: "volleyball"): typeof VOLLEYBALL_FEATURES;
|
|
155
168
|
declare function features(sport: Sport): readonly string[];
|
|
@@ -161,6 +174,7 @@ declare function displayRanges(sport: "football"): typeof FOOTBALL_DISPLAY_RANGE
|
|
|
161
174
|
declare function displayRanges(sport: "hockey"): typeof HOCKEY_DISPLAY_RANGES;
|
|
162
175
|
declare function displayRanges(sport: "lacrosse"): typeof LACROSSE_DISPLAY_RANGES;
|
|
163
176
|
declare function displayRanges(sport: "soccer"): typeof SOCCER_DISPLAY_RANGES;
|
|
177
|
+
declare function displayRanges(sport: "softball"): typeof SOFTBALL_DISPLAY_RANGES;
|
|
164
178
|
declare function displayRanges(sport: "tennis"): typeof TENNIS_DISPLAY_RANGES;
|
|
165
179
|
declare function displayRanges(sport: "volleyball"): typeof VOLLEYBALL_DISPLAY_RANGES;
|
|
166
180
|
declare function displayRanges(sport: Sport): readonly string[];
|
|
@@ -172,35 +186,34 @@ declare function colorKeys(sport: "football"): typeof FOOTBALL_COLOR_KEYS;
|
|
|
172
186
|
declare function colorKeys(sport: "hockey"): typeof HOCKEY_COLOR_KEYS;
|
|
173
187
|
declare function colorKeys(sport: "lacrosse"): typeof LACROSSE_COLOR_KEYS;
|
|
174
188
|
declare function colorKeys(sport: "soccer"): typeof SOCCER_COLOR_KEYS;
|
|
189
|
+
declare function colorKeys(sport: "softball"): typeof SOFTBALL_COLOR_KEYS;
|
|
175
190
|
declare function colorKeys(sport: "tennis"): typeof TENNIS_COLOR_KEYS;
|
|
176
191
|
declare function colorKeys(sport: "volleyball"): typeof VOLLEYBALL_COLOR_KEYS;
|
|
177
192
|
declare function colorKeys(sport: Sport): readonly string[];
|
|
178
193
|
|
|
179
194
|
/**
|
|
180
195
|
* Port of sportyR `geom_basketball()`: one PolygonFeature per ggplot layer R adds, in R's layer order.
|
|
181
|
-
* Divergences: an unknown `displayRange` throws (R falls back to "full"); `units`
|
|
182
|
-
* anchors and display limits (R converts only the feature points, so its non-native plots are broken).
|
|
196
|
+
* Divergences: an unknown `displayRange` throws (R falls back to "full"); `units` scales the points, anchors and display limits, as sportyR 2.4.0 does (#74).
|
|
183
197
|
*/
|
|
184
198
|
declare function basketballCourt(league: BasketballLeague | (string & {}), opts?: SurfaceOptions<BasketballParamUpdates, BasketballColorKey, BasketballDisplayRange>): Scene;
|
|
185
199
|
|
|
186
200
|
/**
|
|
187
201
|
* Port of sportyR `geom_hockey()`: one PolygonFeature per ggplot layer R adds, in R's layer order.
|
|
188
|
-
* Divergences: an unknown `displayRange` throws (R falls back to "full"); `units`
|
|
189
|
-
* anchors and display limits (R converts only the feature points, so its non-native plots are broken).
|
|
202
|
+
* Divergences: an unknown `displayRange` throws (R falls back to "full"); `units` scales the points, anchors and display limits, as sportyR 2.4.0 does (#74).
|
|
190
203
|
*/
|
|
191
204
|
declare function hockeyRink(league: HockeyLeague | (string & {}), opts?: SurfaceOptions<HockeyParamUpdates, HockeyColorKey, HockeyDisplayRange>): Scene;
|
|
192
205
|
|
|
193
206
|
/**
|
|
194
207
|
* Port of sportyR `geom_football()`: one PolygonFeature per ggplot polygon layer and one TextFeature per
|
|
195
208
|
* `ggfittext::geom_fit_text` layer, in R's layer order. Divergences: an unknown `displayRange` throws (R falls
|
|
196
|
-
* back to "full"); `units`
|
|
209
|
+
* back to "full"); `units` scales the points, anchors and display limits, as sportyR 2.4.0 does (#74);
|
|
197
210
|
* custom's all-zero defaults give empty yard-line sets (R errors in `seq()`).
|
|
198
211
|
*/
|
|
199
212
|
declare function footballField(league: FootballLeague | (string & {}), opts?: SurfaceOptions<FootballParamUpdates, FootballColorKey, FootballDisplayRange>): Scene;
|
|
200
213
|
|
|
201
214
|
/**
|
|
202
215
|
* Port of sportyR `geom_soccer()`: one PolygonFeature per ggplot layer R adds, in R's layer order.
|
|
203
|
-
* Documented divergences: an unknown `displayRange` throws (R falls back to "full"); `units`
|
|
216
|
+
* Documented divergences: an unknown `displayRange` throws (R falls back to "full"); `units` scales the points, anchors and display limits, as sportyR 2.4.0 does (#74).
|
|
204
217
|
*/
|
|
205
218
|
declare function soccerPitch(league: SoccerLeague | (string & {}), opts?: SurfaceOptions<SoccerParamUpdates, SoccerColorKey, SoccerDisplayRange>): Scene;
|
|
206
219
|
|
|
@@ -210,13 +223,13 @@ declare function baseballField(league: BaseballLeague | (string & {}), opts?: Su
|
|
|
210
223
|
/**
|
|
211
224
|
* Port of sportyR `geom_tennis()`: one PolygonFeature per ggplot layer R adds, in R's layer order (23 polygons).
|
|
212
225
|
* Documented divergences: an unknown `displayRange` throws (R falls back to "full"); the correctly spelled
|
|
213
|
-
* `receive(-| )half` keys are accepted (R only has the `receivice*` typos); `units`
|
|
226
|
+
* `receive(-| )half` keys are accepted (R only has the `receivice*` typos); `units` scales the points, anchors and display limits, as sportyR 2.4.0 does (#74).
|
|
214
227
|
*/
|
|
215
228
|
declare function tennisCourt(league: TennisLeague | (string & {}), opts?: SurfaceOptions<TennisParamUpdates, TennisColorKey, TennisDisplayRange>): Scene;
|
|
216
229
|
|
|
217
230
|
/**
|
|
218
231
|
* Port of sportyR `geom_volleyball()`: one PolygonFeature per ggplot layer R adds, in R's layer order.
|
|
219
|
-
* Documented divergences: an unknown `displayRange` throws (R falls back to "full"); `units`
|
|
232
|
+
* Documented divergences: an unknown `displayRange` throws (R falls back to "full"); `units` scales the points, anchors and display limits, as sportyR 2.4.0 does (#74).
|
|
220
233
|
* Preserved R quirk: the substitution-zone loop repeats `substitution_zone_rep_pattern` times (0 gives none).
|
|
221
234
|
*/
|
|
222
235
|
declare function volleyballCourt(league: VolleyballLeague | (string & {}), opts?: SurfaceOptions<VolleyballParamUpdates, VolleyballColorKey, VolleyballDisplayRange>): Scene;
|
|
@@ -224,18 +237,25 @@ declare function volleyballCourt(league: VolleyballLeague | (string & {}), opts?
|
|
|
224
237
|
/**
|
|
225
238
|
* Port of sportyR `geom_curling()`: one PolygonFeature per ggplot layer R adds, in R's layer order. The sheet is vertical
|
|
226
239
|
* (`sheet_width` spans x, `sheet_length` spans y).
|
|
227
|
-
* Documented divergences: an unknown `displayRange` throws (R falls back to "full"); `units`
|
|
228
|
-
* display limits; a house-ring colour vector shorter than the ring count recycles (R yields NA).
|
|
240
|
+
* Documented divergences: an unknown `displayRange` throws (R falls back to "full"); `units` scales the points, anchors
|
|
241
|
+
* and display limits, as sportyR 2.4.0 does (#74); a house-ring colour vector shorter than the ring count recycles (R yields NA).
|
|
229
242
|
*/
|
|
230
243
|
declare function curlingSheet(league: CurlingLeague | (string & {}), opts?: SurfaceOptions<CurlingParamUpdates, CurlingColorKey, CurlingDisplayRange>): Scene;
|
|
231
244
|
|
|
232
245
|
/**
|
|
233
|
-
* Port of sportyR `geom_lacrosse()
|
|
234
|
-
* Documented divergences: an unknown `displayRange` throws (R falls back to "full")
|
|
235
|
-
*
|
|
246
|
+
* Port of sportyR `geom_lacrosse()` (2.4.0, with the sportyR #60-#75 fixes): one PolygonFeature per ggplot layer R adds,
|
|
247
|
+
* in R's layer order. Documented divergences: an unknown `displayRange` throws (R falls back to "full"). `units`
|
|
248
|
+
* scales the points, anchors and display limits, as sportyR 2.4.0 does (#74).
|
|
236
249
|
*/
|
|
237
250
|
declare function lacrosseField(league: LacrosseLeague | (string & {}), opts?: SurfaceOptions<LacrosseParamUpdates, LacrosseColorKey, LacrosseDisplayRange>): Scene;
|
|
238
251
|
|
|
252
|
+
/**
|
|
253
|
+
* Port of sportyR `geom_softball()` (2.4.0): origin = back tip of home plate, +y toward centre field. `units` converts the
|
|
254
|
+
* points, anchors and display limits, as R does for softball. Divergence: an unknown `displayRange` throws (R falls back to
|
|
255
|
+
* "full").
|
|
256
|
+
*/
|
|
257
|
+
declare function softballField(league: SoftballLeague | (string & {}), opts?: SurfaceOptions<SoftballParamUpdates, SoftballColorKey, SoftballDisplayRange>): Scene;
|
|
258
|
+
|
|
239
259
|
declare class SportyError extends Error {
|
|
240
260
|
constructor(message: string, options?: ErrorOptions);
|
|
241
261
|
}
|
|
@@ -426,4 +446,4 @@ declare function basketballZones(league?: BasketballLeague | (string & {}), o?:
|
|
|
426
446
|
arcResolution?: number;
|
|
427
447
|
}): readonly BasketballZoneArea[];
|
|
428
448
|
|
|
429
|
-
export { BASEBALL_COLOR_KEYS, BASEBALL_DISPLAY_RANGES, BASEBALL_FEATURES, BASEBALL_LEAGUES, BASKETBALL_COLOR_KEYS, BASKETBALL_DISPLAY_RANGES, BASKETBALL_FEATURES, BASKETBALL_LEAGUES, BASKETBALL_ZONES, BASKETBALL_ZONE_LABELS, type BaseballColorKey, type BaseballDisplayRange, type BaseballFeature, BaseballLeague, BaseballParamUpdates, type BasketballColorKey, type BasketballDisplayRange, type BasketballFeature, BasketballLeague, BasketballParamUpdates, type BasketballZone, type BasketballZoneArea, CURLING_COLOR_KEYS, CURLING_DISPLAY_RANGES, CURLING_FEATURES, CURLING_LEAGUES, type CurlingColorKey, type CurlingDisplayRange, type CurlingFeature, CurlingLeague, CurlingParamUpdates, FOOTBALL_COLOR_KEYS, FOOTBALL_DISPLAY_RANGES, FOOTBALL_FEATURES, FOOTBALL_LEAGUES, FRAMES, FT_PER_UNIT, type FootballColorKey, type FootballDisplayRange, type FootballFeature, FootballLeague, FootballParamUpdates, type Frame, type FrameName, HOCKEY_COLOR_KEYS, HOCKEY_DISPLAY_RANGES, HOCKEY_FEATURES, HOCKEY_LEAGUES, type HockeyColorKey, type HockeyDisplayRange, type HockeyFeature, HockeyLeague, HockeyParamUpdates, InputError, LACROSSE_COLOR_KEYS, LACROSSE_DISPLAY_RANGES, LACROSSE_FEATURES, LACROSSE_LEAGUES, type LacrosseColorKey, type LacrosseDisplayRange, type LacrosseFeature, LacrosseLeague, LacrosseParamUpdates, type LeagueOf, type OptionsOf, type Placement, Point, Polygon, type Row, SOCCER_COLOR_KEYS, SOCCER_DISPLAY_RANGES, SOCCER_FEATURES, SOCCER_LEAGUES, SPORTS, Scene, type SoccerColorKey, type SoccerDisplayRange, type SoccerFeature, SoccerLeague, SoccerParamUpdates, Sport, SportyError, SurfaceOptions, TENNIS_COLOR_KEYS, TENNIS_DISPLAY_RANGES, TENNIS_FEATURES, TENNIS_LEAGUES, type TennisColorKey, type TennisDisplayRange, type TennisFeature, TennisLeague, TennisParamUpdates, Units, UnknownDisplayRangeError, UnknownLeagueError, UnknownUnitError, VERSION, VOLLEYBALL_COLOR_KEYS, VOLLEYBALL_DISPLAY_RANGES, VOLLEYBALL_FEATURES, VOLLEYBALL_LEAGUES, type VolleyballColorKey, type VolleyballDisplayRange, type VolleyballFeature, VolleyballLeague, VolleyballParamUpdates, type ZoneOptions, baseballField, basketballCourt, basketballZoneOf, basketballZones, colorKeys, convertPoints, convertUnits, createCircle, createDiamond, createRectangle, createSquare, createXShape, curlingSheet, displayRanges, features, footballField, frameBottomLeft, hockeyRink, lacrosseField, leagues, normalizeUnit, placeFeature, reflectCoords, rotateCoords, soccerPitch, surface, tennisCourt, toSurfaceFrame, volleyballCourt };
|
|
449
|
+
export { BASEBALL_COLOR_KEYS, BASEBALL_DISPLAY_RANGES, BASEBALL_FEATURES, BASEBALL_LEAGUES, BASKETBALL_COLOR_KEYS, BASKETBALL_DISPLAY_RANGES, BASKETBALL_FEATURES, BASKETBALL_LEAGUES, BASKETBALL_ZONES, BASKETBALL_ZONE_LABELS, type BaseballColorKey, type BaseballDisplayRange, type BaseballFeature, BaseballLeague, BaseballParamUpdates, type BasketballColorKey, type BasketballDisplayRange, type BasketballFeature, BasketballLeague, BasketballParamUpdates, type BasketballZone, type BasketballZoneArea, CURLING_COLOR_KEYS, CURLING_DISPLAY_RANGES, CURLING_FEATURES, CURLING_LEAGUES, type CurlingColorKey, type CurlingDisplayRange, type CurlingFeature, CurlingLeague, CurlingParamUpdates, FOOTBALL_COLOR_KEYS, FOOTBALL_DISPLAY_RANGES, FOOTBALL_FEATURES, FOOTBALL_LEAGUES, FRAMES, FT_PER_UNIT, type FootballColorKey, type FootballDisplayRange, type FootballFeature, FootballLeague, FootballParamUpdates, type Frame, type FrameName, HOCKEY_COLOR_KEYS, HOCKEY_DISPLAY_RANGES, HOCKEY_FEATURES, HOCKEY_LEAGUES, type HockeyColorKey, type HockeyDisplayRange, type HockeyFeature, HockeyLeague, HockeyParamUpdates, InputError, LACROSSE_COLOR_KEYS, LACROSSE_DISPLAY_RANGES, LACROSSE_FEATURES, LACROSSE_LEAGUES, type LacrosseColorKey, type LacrosseDisplayRange, type LacrosseFeature, LacrosseLeague, LacrosseParamUpdates, type LeagueOf, type OptionsOf, type Placement, Point, Polygon, type Row, SOCCER_COLOR_KEYS, SOCCER_DISPLAY_RANGES, SOCCER_FEATURES, SOCCER_LEAGUES, SOFTBALL_COLOR_KEYS, SOFTBALL_DISPLAY_RANGES, SOFTBALL_FEATURES, SOFTBALL_LEAGUES, SPORTS, Scene, type SoccerColorKey, type SoccerDisplayRange, type SoccerFeature, SoccerLeague, SoccerParamUpdates, type SoftballColorKey, type SoftballDisplayRange, type SoftballFeature, SoftballLeague, SoftballParamUpdates, Sport, SportyError, SurfaceOptions, TENNIS_COLOR_KEYS, TENNIS_DISPLAY_RANGES, TENNIS_FEATURES, TENNIS_LEAGUES, type TennisColorKey, type TennisDisplayRange, type TennisFeature, TennisLeague, TennisParamUpdates, Units, UnknownDisplayRangeError, UnknownLeagueError, UnknownUnitError, VERSION, VOLLEYBALL_COLOR_KEYS, VOLLEYBALL_DISPLAY_RANGES, VOLLEYBALL_FEATURES, VOLLEYBALL_LEAGUES, type VolleyballColorKey, type VolleyballDisplayRange, type VolleyballFeature, VolleyballLeague, VolleyballParamUpdates, type ZoneOptions, baseballField, basketballCourt, basketballZoneOf, basketballZones, colorKeys, convertPoints, convertUnits, createCircle, createDiamond, createRectangle, createSquare, createXShape, curlingSheet, displayRanges, features, footballField, frameBottomLeft, hockeyRink, lacrosseField, leagues, normalizeUnit, placeFeature, reflectCoords, rotateCoords, soccerPitch, softballField, surface, tennisCourt, toSurfaceFrame, volleyballCourt };
|