@tennisvisuals/scoring-visualizations 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/dist/__tests__/LiveEngine.test.d.ts +2 -0
  2. package/dist/__tests__/LiveEngine.test.d.ts.map +1 -0
  3. package/dist/__tests__/LiveEngine.test.js +142 -0
  4. package/dist/__tests__/LiveEngine.test.js.map +1 -0
  5. package/dist/__tests__/buildEpisodes.test.d.ts +2 -0
  6. package/dist/__tests__/buildEpisodes.test.d.ts.map +1 -0
  7. package/dist/__tests__/buildEpisodes.test.js +150 -0
  8. package/dist/__tests__/buildEpisodes.test.js.map +1 -0
  9. package/dist/__tests__/extractors.test.d.ts +2 -0
  10. package/dist/__tests__/extractors.test.d.ts.map +1 -0
  11. package/dist/__tests__/extractors.test.js +50 -0
  12. package/dist/__tests__/extractors.test.js.map +1 -0
  13. package/dist/__tests__/feedMatchUp.test.d.ts +2 -0
  14. package/dist/__tests__/feedMatchUp.test.d.ts.map +1 -0
  15. package/dist/__tests__/feedMatchUp.test.js +96 -0
  16. package/dist/__tests__/feedMatchUp.test.js.map +1 -0
  17. package/dist/engine/LiveEngine.d.ts +42 -0
  18. package/dist/engine/LiveEngine.d.ts.map +1 -0
  19. package/dist/engine/LiveEngine.js +82 -0
  20. package/dist/engine/LiveEngine.js.map +1 -0
  21. package/dist/engine/buildSetMap.d.ts +14 -0
  22. package/dist/engine/buildSetMap.d.ts.map +1 -0
  23. package/dist/engine/buildSetMap.js +42 -0
  24. package/dist/engine/buildSetMap.js.map +1 -0
  25. package/dist/engine/createPlaybackEngine.d.ts +34 -0
  26. package/dist/engine/createPlaybackEngine.d.ts.map +1 -0
  27. package/dist/engine/createPlaybackEngine.js +90 -0
  28. package/dist/engine/createPlaybackEngine.js.map +1 -0
  29. package/dist/engine/feedMatchUp.d.ts +82 -0
  30. package/dist/engine/feedMatchUp.d.ts.map +1 -0
  31. package/dist/engine/feedMatchUp.js +116 -0
  32. package/dist/engine/feedMatchUp.js.map +1 -0
  33. package/dist/episodes/buildEpisodes.d.ts +10 -0
  34. package/dist/episodes/buildEpisodes.d.ts.map +1 -0
  35. package/dist/episodes/buildEpisodes.js +166 -0
  36. package/dist/episodes/buildEpisodes.js.map +1 -0
  37. package/dist/episodes/types.d.ts +45 -0
  38. package/dist/episodes/types.d.ts.map +1 -0
  39. package/dist/episodes/types.js +2 -0
  40. package/dist/episodes/types.js.map +1 -0
  41. package/dist/index.d.ts +23 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +24 -0
  44. package/dist/index.js.map +1 -0
  45. package/dist/statistics/index.d.ts +3 -0
  46. package/dist/statistics/index.d.ts.map +1 -0
  47. package/dist/statistics/index.js +2 -0
  48. package/dist/statistics/index.js.map +1 -0
  49. package/dist/statistics/matchStatistics.d.ts +22 -0
  50. package/dist/statistics/matchStatistics.d.ts.map +1 -0
  51. package/dist/statistics/matchStatistics.js +59 -0
  52. package/dist/statistics/matchStatistics.js.map +1 -0
  53. package/dist/visualizations/coronaChart.d.ts +54 -0
  54. package/dist/visualizations/coronaChart.d.ts.map +1 -0
  55. package/dist/visualizations/coronaChart.js +254 -0
  56. package/dist/visualizations/coronaChart.js.map +1 -0
  57. package/dist/visualizations/data/mcpFixtures.json +13166 -0
  58. package/dist/visualizations/data/sampleGame.d.ts +37 -0
  59. package/dist/visualizations/data/sampleGame.d.ts.map +1 -0
  60. package/dist/visualizations/data/sampleGame.js +521 -0
  61. package/dist/visualizations/data/sampleGame.js.map +1 -0
  62. package/dist/visualizations/gameFish.d.ts +16 -0
  63. package/dist/visualizations/gameFish.d.ts.map +1 -0
  64. package/dist/visualizations/gameFish.js +692 -0
  65. package/dist/visualizations/gameFish.js.map +1 -0
  66. package/dist/visualizations/gameTree.d.ts +17 -0
  67. package/dist/visualizations/gameTree.d.ts.map +1 -0
  68. package/dist/visualizations/gameTree.js +837 -0
  69. package/dist/visualizations/gameTree.js.map +1 -0
  70. package/dist/visualizations/groupGames.d.ts +6 -0
  71. package/dist/visualizations/groupGames.d.ts.map +1 -0
  72. package/dist/visualizations/groupGames.js +35 -0
  73. package/dist/visualizations/groupGames.js.map +1 -0
  74. package/dist/visualizations/helpers/JsonViewer.d.ts +27 -0
  75. package/dist/visualizations/helpers/JsonViewer.d.ts.map +1 -0
  76. package/dist/visualizations/helpers/JsonViewer.js +276 -0
  77. package/dist/visualizations/helpers/JsonViewer.js.map +1 -0
  78. package/dist/visualizations/helpers/PlaybackControls.d.ts +12 -0
  79. package/dist/visualizations/helpers/PlaybackControls.d.ts.map +1 -0
  80. package/dist/visualizations/helpers/PlaybackControls.js +98 -0
  81. package/dist/visualizations/helpers/PlaybackControls.js.map +1 -0
  82. package/dist/visualizations/horizonChart.d.ts +59 -0
  83. package/dist/visualizations/horizonChart.d.ts.map +1 -0
  84. package/dist/visualizations/horizonChart.js +215 -0
  85. package/dist/visualizations/horizonChart.js.map +1 -0
  86. package/dist/visualizations/index.d.ts +21 -0
  87. package/dist/visualizations/index.d.ts.map +1 -0
  88. package/dist/visualizations/index.js +23 -0
  89. package/dist/visualizations/index.js.map +1 -0
  90. package/dist/visualizations/legacyRally.d.ts +3 -0
  91. package/dist/visualizations/legacyRally.d.ts.map +1 -0
  92. package/dist/visualizations/legacyRally.js +26 -0
  93. package/dist/visualizations/legacyRally.js.map +1 -0
  94. package/dist/visualizations/matchDashboard.d.ts +39 -0
  95. package/dist/visualizations/matchDashboard.d.ts.map +1 -0
  96. package/dist/visualizations/matchDashboard.js +235 -0
  97. package/dist/visualizations/matchDashboard.js.map +1 -0
  98. package/dist/visualizations/momentumChart.d.ts +12 -0
  99. package/dist/visualizations/momentumChart.d.ts.map +1 -0
  100. package/dist/visualizations/momentumChart.js +454 -0
  101. package/dist/visualizations/momentumChart.js.map +1 -0
  102. package/dist/visualizations/ptsChart.d.ts +14 -0
  103. package/dist/visualizations/ptsChart.d.ts.map +1 -0
  104. package/dist/visualizations/ptsChart.js +925 -0
  105. package/dist/visualizations/ptsChart.js.map +1 -0
  106. package/dist/visualizations/ptsHorizon.d.ts +83 -0
  107. package/dist/visualizations/ptsHorizon.d.ts.map +1 -0
  108. package/dist/visualizations/ptsHorizon.js +290 -0
  109. package/dist/visualizations/ptsHorizon.js.map +1 -0
  110. package/dist/visualizations/rallyTree.d.ts +78 -0
  111. package/dist/visualizations/rallyTree.d.ts.map +1 -0
  112. package/dist/visualizations/rallyTree.js +410 -0
  113. package/dist/visualizations/rallyTree.js.map +1 -0
  114. package/dist/visualizations/simpleChart.d.ts +6 -0
  115. package/dist/visualizations/simpleChart.d.ts.map +1 -0
  116. package/dist/visualizations/simpleChart.js +126 -0
  117. package/dist/visualizations/simpleChart.js.map +1 -0
  118. package/dist/visualizations/statView.d.ts +52 -0
  119. package/dist/visualizations/statView.d.ts.map +1 -0
  120. package/dist/visualizations/statView.js +200 -0
  121. package/dist/visualizations/statView.js.map +1 -0
  122. package/dist/visualizations/typeOf.d.ts +6 -0
  123. package/dist/visualizations/typeOf.d.ts.map +1 -0
  124. package/dist/visualizations/typeOf.js +18 -0
  125. package/dist/visualizations/typeOf.js.map +1 -0
  126. package/dist/visualizations/types/events.d.ts +92 -0
  127. package/dist/visualizations/types/events.d.ts.map +1 -0
  128. package/dist/visualizations/types/events.js +2 -0
  129. package/dist/visualizations/types/events.js.map +1 -0
  130. package/dist/visualizations/types/index.d.ts +79 -0
  131. package/dist/visualizations/types/index.d.ts.map +1 -0
  132. package/dist/visualizations/types/index.js +8 -0
  133. package/dist/visualizations/types/index.js.map +1 -0
  134. package/dist/visualizations/utils/arrays.d.ts +18 -0
  135. package/dist/visualizations/utils/arrays.d.ts.map +1 -0
  136. package/dist/visualizations/utils/arrays.js +46 -0
  137. package/dist/visualizations/utils/arrays.js.map +1 -0
  138. package/dist/visualizations/utils/colorUtils.d.ts +36 -0
  139. package/dist/visualizations/utils/colorUtils.d.ts.map +1 -0
  140. package/dist/visualizations/utils/colorUtils.js +112 -0
  141. package/dist/visualizations/utils/colorUtils.js.map +1 -0
  142. package/dist/visualizations/utils/generateId.d.ts +2 -0
  143. package/dist/visualizations/utils/generateId.d.ts.map +1 -0
  144. package/dist/visualizations/utils/generateId.js +3 -0
  145. package/dist/visualizations/utils/generateId.js.map +1 -0
  146. package/dist/visualizations/utils/keyWalk.d.ts +2 -0
  147. package/dist/visualizations/utils/keyWalk.d.ts.map +1 -0
  148. package/dist/visualizations/utils/keyWalk.js +19 -0
  149. package/dist/visualizations/utils/keyWalk.js.map +1 -0
  150. package/dist/visualizations/utils/math.d.ts +10 -0
  151. package/dist/visualizations/utils/math.d.ts.map +1 -0
  152. package/dist/visualizations/utils/math.js +14 -0
  153. package/dist/visualizations/utils/math.js.map +1 -0
  154. package/dist/visualizations/utils/setDev.d.ts +29 -0
  155. package/dist/visualizations/utils/setDev.d.ts.map +1 -0
  156. package/dist/visualizations/utils/setDev.js +35 -0
  157. package/dist/visualizations/utils/setDev.js.map +1 -0
  158. package/package.json +57 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ptsChart.js","sourceRoot":"","sources":["../../src/visualizations/ptsChart.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * PtsHorizon — Multi-set horizon chart wrapper with D3 brush (D3 v7)
3
+ *
4
+ * Creates up to 5 horizonChart instances (one per set), manages end-to-end
5
+ * layout, transforms buildSetMap() output into per-chart sdata, and overlays
6
+ * a D3 brushX() for range selection.
7
+ */
8
+ interface PtsHorizonOptions {
9
+ id: string | number;
10
+ width: number;
11
+ height: number;
12
+ margins: {
13
+ spacing: number;
14
+ };
15
+ position: {
16
+ x: number;
17
+ y: number;
18
+ };
19
+ elements: {
20
+ brush: boolean;
21
+ };
22
+ display: {
23
+ ppp: number | undefined;
24
+ bands: number;
25
+ mode: 'mirror' | 'offset';
26
+ orientation: 'horizontal' | 'vertical';
27
+ transitionTime: number;
28
+ interpolate: 'basis' | 'linear';
29
+ sizeToFit: boolean;
30
+ };
31
+ bounds: {
32
+ vRangeMax: number;
33
+ };
34
+ color: {
35
+ range: [string, string, string, string];
36
+ };
37
+ }
38
+ interface PtsHorizonEvents {
39
+ update: {
40
+ begin: (() => void) | null;
41
+ end: (() => void) | null;
42
+ };
43
+ brush: {
44
+ brushing: ((extent: [number, number]) => void) | null;
45
+ start: ((extent: [number, number]) => void) | null;
46
+ end: ((extent: [number, number]) => void) | null;
47
+ };
48
+ chart: {
49
+ click: ((d: any) => void) | null;
50
+ };
51
+ mouseover: ((data: any) => void) | undefined;
52
+ mouseout: ((data: any) => void) | undefined;
53
+ }
54
+ export declare function ptsHorizon(): {
55
+ (selection: any): void;
56
+ options(values?: Record<string, any>): PtsHorizonOptions | /*elided*/ any;
57
+ events(functions?: Partial<PtsHorizonEvents>): PtsHorizonEvents | /*elided*/ any;
58
+ width(value?: number): number | /*elided*/ any;
59
+ height(value?: number): number | /*elided*/ any;
60
+ data(value?: any): any;
61
+ matchUp(state: any, players?: [string, string]): /*elided*/ any;
62
+ update(opts?: any): void;
63
+ bands(value?: number): number | /*elided*/ any;
64
+ mode(value?: string): "mirror" | "offset" | /*elided*/ any;
65
+ duration(value?: number): number | /*elided*/ any;
66
+ orientation(value?: string): "horizontal" | "vertical" | /*elided*/ any;
67
+ colors(playerColors?: [string, string]): string[] | /*elided*/ any;
68
+ };
69
+ /**
70
+ * Companion function: render ptsHorizon directly from a ScoringEngine MatchUp.
71
+ * Clears target container, creates chart, renders.
72
+ */
73
+ export declare function ptsHorizonFromMatchUp(container: HTMLElement, matchUp: any, options?: {
74
+ width?: number;
75
+ height?: number;
76
+ bands?: number;
77
+ mode?: 'mirror' | 'offset';
78
+ colors?: [string, string];
79
+ players?: [string, string];
80
+ showBrush?: boolean;
81
+ }): void;
82
+ export {};
83
+ //# sourceMappingURL=ptsHorizon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ptsHorizon.d.ts","sourceRoot":"","sources":["../../src/visualizations/ptsHorizon.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,QAAQ,EAAE;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7B,OAAO,EAAE;QACP,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;QAC1B,WAAW,EAAE,YAAY,GAAG,UAAU,CAAC;QACvC,cAAc,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,OAAO,GAAG,QAAQ,CAAC;QAChC,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,KAAK,EAAE;QACL,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;KACzC,CAAC;CACH;AAED,UAAU,gBAAgB;IACxB,MAAM,EAAE;QAAE,KAAK,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;QAAC,GAAG,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAA;KAAE,CAAC;IACjE,KAAK,EAAE;QAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;QAAC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAA;KAAE,CAAC;IACvK,KAAK,EAAE;QAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,CAAA;KAAE,CAAC;IAC5C,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC7C,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC7C;AAID,wBAAgB,UAAU;gBA0CE,GAAG;qBAwIM,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;uBAMjB,OAAO,CAAC,gBAAgB,CAAC;kBAM9B,MAAM;mBAML,MAAM;iBAMR,GAAG;mBAMD,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC;kBAMhC,GAAG;kBAQH,MAAM;iBAMP,MAAM;qBAMF,MAAM;wBAMH,MAAM;0BAMJ,CAAC,MAAM,EAAE,MAAM,CAAC;EAOzD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,WAAW,EACtB,OAAO,EAAE,GAAG,EACZ,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC3B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GACA,IAAI,CA8BN"}
@@ -0,0 +1,290 @@
1
+ /**
2
+ * PtsHorizon — Multi-set horizon chart wrapper with D3 brush (D3 v7)
3
+ *
4
+ * Creates up to 5 horizonChart instances (one per set), manages end-to-end
5
+ * layout, transforms buildSetMap() output into per-chart sdata, and overlays
6
+ * a D3 brushX() for range selection.
7
+ */
8
+ import { select, scaleLinear, brushX } from 'd3';
9
+ import { horizonChart } from './horizonChart';
10
+ import { buildSetMap } from '../engine/buildSetMap';
11
+ import { keyWalk } from './utils/keyWalk';
12
+ import { generateId } from './utils/generateId';
13
+ const MAX_SETS = 5;
14
+ export function ptsHorizon() {
15
+ let data;
16
+ let setMapData = [];
17
+ let updateFn;
18
+ const horizonSets = [];
19
+ const options = {
20
+ id: generateId(),
21
+ width: 900,
22
+ height: 80,
23
+ margins: { spacing: 10 },
24
+ position: { x: 0, y: 0 },
25
+ elements: { brush: true },
26
+ display: {
27
+ ppp: undefined,
28
+ bands: 3,
29
+ mode: 'mirror',
30
+ orientation: 'horizontal',
31
+ transitionTime: 0,
32
+ interpolate: 'basis',
33
+ sizeToFit: true,
34
+ },
35
+ bounds: { vRangeMax: 24 },
36
+ color: {
37
+ range: ['#6b6ecf', '#f0f0fa', '#f6edf4', '#a55194'],
38
+ },
39
+ };
40
+ const events = {
41
+ update: { begin: null, end: null },
42
+ brush: { brushing: null, start: null, end: null },
43
+ chart: { click: null },
44
+ mouseover: undefined,
45
+ mouseout: undefined,
46
+ };
47
+ // Pre-create horizon chart instances
48
+ const horizonCharts = [];
49
+ for (let s = 0; s < MAX_SETS; s++) {
50
+ horizonCharts.push(horizonChart());
51
+ }
52
+ function chart(selection) {
53
+ selection.each(function (_, i, n) {
54
+ const domParent = select(n[i]);
55
+ const root = domParent.append('svg').attr('id', `ptsHorizon${options.id}`);
56
+ for (let s = 0; s < MAX_SETS; s++) {
57
+ horizonSets[s] = root.append('g').attr('id', `horizon${options.id}${s}`).style('display', 'none');
58
+ horizonSets[s].call(horizonCharts[s]);
59
+ }
60
+ updateFn = function (opts) {
61
+ if (options.elements.brush)
62
+ options.margins.spacing = 0;
63
+ const horizontal = options.display.orientation === 'horizontal';
64
+ if (options.display.sizeToFit || (opts && opts.sizeToFit)) {
65
+ const dims = domParent.node()?.getBoundingClientRect();
66
+ if (dims) {
67
+ if (horizontal) {
68
+ options.width = Math.max(dims.width, 100);
69
+ }
70
+ else {
71
+ options.height = Math.max(dims.height, 80);
72
+ }
73
+ }
74
+ }
75
+ if (setMapData.length === 0)
76
+ return;
77
+ // Calculate pixels per point
78
+ const totalPoints = setMapData.reduce((sum, sm) => sum + sm.p2sdiff.length, 0);
79
+ if (totalPoints === 0)
80
+ return;
81
+ const pppRange = horizontal ? options.width : options.height;
82
+ const ppp = (pppRange - setMapData.length * options.margins.spacing) / totalPoints;
83
+ root.attr('id', `ptsHorizon${options.id}`).attr('width', options.width).attr('height', options.height);
84
+ let xadd = 0;
85
+ let yadd = 0;
86
+ for (let s = 0; s < horizonCharts.length; s++) {
87
+ if (setMapData[s]) {
88
+ const sdata = setMapData[s].p2sdiff.map((d, idx) => [idx + 1, d]);
89
+ if (!sdata.length)
90
+ continue;
91
+ const hc = horizonCharts[s];
92
+ hc.height(options.height);
93
+ hc.width(options.width);
94
+ hc.options({
95
+ id: `${options.id}c${s}`,
96
+ display: {
97
+ ppp,
98
+ bands: options.display.bands,
99
+ orientation: options.display.orientation,
100
+ interpolate: options.display.interpolate,
101
+ },
102
+ position: {
103
+ x: options.position.x + xadd,
104
+ y: options.position.y + yadd,
105
+ },
106
+ bounds: { vRangeMax: options.bounds.vRangeMax },
107
+ });
108
+ hc.events({
109
+ chart: { click: events.chart.click ? (d) => events.chart.click(d) : null },
110
+ path: {
111
+ mouseover: options.elements.brush ? null : events.mouseover ?? null,
112
+ mouseout: options.elements.brush ? null : events.mouseout ?? null,
113
+ },
114
+ });
115
+ hc.duration(options.display.transitionTime);
116
+ hc.colors(options.color.range);
117
+ hc.mode(options.display.mode);
118
+ hc.data(data);
119
+ hc.sdata(sdata);
120
+ hc.update();
121
+ if (horizontal) {
122
+ xadd += ppp * setMapData[s].p2sdiff.length + options.margins.spacing;
123
+ }
124
+ else {
125
+ yadd += ppp * setMapData[s].p2sdiff.length + options.margins.spacing;
126
+ }
127
+ horizonSets[s].style('display', 'inline');
128
+ }
129
+ else {
130
+ horizonSets[s].style('display', 'none');
131
+ }
132
+ }
133
+ // Brush overlay
134
+ if (options.elements.brush) {
135
+ const brushScale = scaleLinear().domain([0, totalPoints]).range([0, options.width]);
136
+ const brush = brushX()
137
+ .extent([
138
+ [0, 0],
139
+ [options.width, options.height],
140
+ ])
141
+ .on('start', (event) => {
142
+ if (!event.selection)
143
+ return;
144
+ const extent = event.selection.map((d) => brushScale.invert(d));
145
+ if (events.brush.start)
146
+ events.brush.start(extent);
147
+ })
148
+ .on('brush', (event) => {
149
+ if (!event.selection)
150
+ return;
151
+ const extent = event.selection.map((d) => brushScale.invert(d));
152
+ if (events.brush.brushing)
153
+ events.brush.brushing(extent);
154
+ })
155
+ .on('end', (event) => {
156
+ if (!event.selection) {
157
+ // Brush cleared — emit full range
158
+ if (events.brush.end)
159
+ events.brush.end([0, totalPoints]);
160
+ return;
161
+ }
162
+ const extent = event.selection.map((d) => brushScale.invert(d));
163
+ if (events.brush.end)
164
+ events.brush.end(extent);
165
+ });
166
+ // Remove old brush, add new
167
+ root.selectAll(`.brush${options.id}`).remove();
168
+ root
169
+ .append('g')
170
+ .attr('class', `brush${options.id}`)
171
+ .style('stroke', '#fff')
172
+ .style('fill-opacity', 0.125)
173
+ .style('shape-rendering', 'crispEdges')
174
+ .call(brush);
175
+ }
176
+ else {
177
+ root.selectAll(`.brush${options.id}`).remove();
178
+ }
179
+ };
180
+ });
181
+ }
182
+ // Accessors
183
+ chart.options = function (values) {
184
+ if (!arguments.length)
185
+ return options;
186
+ keyWalk(values, options);
187
+ return chart;
188
+ };
189
+ chart.events = function (functions) {
190
+ if (!arguments.length)
191
+ return events;
192
+ keyWalk(functions, events);
193
+ return chart;
194
+ };
195
+ chart.width = function (value) {
196
+ if (!arguments.length)
197
+ return options.width;
198
+ options.width = value;
199
+ return chart;
200
+ };
201
+ chart.height = function (value) {
202
+ if (!arguments.length)
203
+ return options.height;
204
+ options.height = value;
205
+ return chart;
206
+ };
207
+ chart.data = function (value) {
208
+ if (!arguments.length)
209
+ return data;
210
+ data = value;
211
+ return chart;
212
+ };
213
+ chart.matchUp = function (state, players) {
214
+ data = state;
215
+ setMapData = buildSetMap(state, players);
216
+ return chart;
217
+ };
218
+ chart.update = function (opts) {
219
+ if (events.update.begin)
220
+ events.update.begin();
221
+ if (typeof updateFn === 'function')
222
+ updateFn(opts);
223
+ setTimeout(function () {
224
+ if (events.update.end)
225
+ events.update.end();
226
+ }, options.display.transitionTime);
227
+ };
228
+ chart.bands = function (value) {
229
+ if (!arguments.length)
230
+ return options.display.bands;
231
+ options.display.bands = +value;
232
+ return chart;
233
+ };
234
+ chart.mode = function (value) {
235
+ if (!arguments.length)
236
+ return options.display.mode;
237
+ options.display.mode = (value + '');
238
+ return chart;
239
+ };
240
+ chart.duration = function (value) {
241
+ if (!arguments.length)
242
+ return options.display.transitionTime;
243
+ options.display.transitionTime = +value;
244
+ return chart;
245
+ };
246
+ chart.orientation = function (value) {
247
+ if (!arguments.length)
248
+ return options.display.orientation;
249
+ options.display.orientation = (value + '');
250
+ return chart;
251
+ };
252
+ chart.colors = function (playerColors) {
253
+ if (!arguments.length)
254
+ return [options.color.range[0], options.color.range[3]];
255
+ options.color.range = [playerColors[0], '#f0f0f0', '#f0f0f0', playerColors[1]];
256
+ return chart;
257
+ };
258
+ return chart;
259
+ }
260
+ /**
261
+ * Companion function: render ptsHorizon directly from a ScoringEngine MatchUp.
262
+ * Clears target container, creates chart, renders.
263
+ */
264
+ export function ptsHorizonFromMatchUp(container, matchUp, options) {
265
+ const rect = container.getBoundingClientRect();
266
+ const width = options?.width ?? Math.max(rect.width, 200);
267
+ const height = options?.height ?? 80;
268
+ const players = options?.players ?? ['Player 1', 'Player 2'];
269
+ // Clear previous SVG
270
+ select(container).selectAll('svg').remove();
271
+ const chart = ptsHorizon();
272
+ chart.options({
273
+ display: {
274
+ sizeToFit: true,
275
+ bands: options?.bands ?? 3,
276
+ mode: options?.mode ?? 'mirror',
277
+ transitionTime: 0,
278
+ },
279
+ elements: { brush: options?.showBrush ?? false },
280
+ });
281
+ chart.width(width);
282
+ chart.height(height);
283
+ if (options?.colors) {
284
+ chart.colors(options.colors);
285
+ }
286
+ chart.matchUp(matchUp, players);
287
+ select(container).call(chart);
288
+ chart.update();
289
+ }
290
+ //# sourceMappingURL=ptsHorizon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ptsHorizon.js","sourceRoot":"","sources":["../../src/visualizations/ptsHorizon.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Rally Tree - Migrated to D3 v7
3
+ * Displays rally length distribution in a tree-like format
4
+ * Shows how rally lengths are distributed by player and outcome
5
+ */
6
+ interface Point {
7
+ winner: 0 | 1;
8
+ result?: string;
9
+ rally?: string;
10
+ rallyLength?: number;
11
+ rl?: [number, number];
12
+ i?: number;
13
+ hide?: boolean;
14
+ }
15
+ interface RallyTreeOptions {
16
+ id: string;
17
+ width: number;
18
+ height: number;
19
+ margins: {
20
+ top: number;
21
+ right: number;
22
+ bottom: number;
23
+ left: number;
24
+ };
25
+ display: {
26
+ sizeToFit: boolean;
27
+ };
28
+ orientation: 'horizontal' | 'vertical';
29
+ data: {
30
+ sort: boolean;
31
+ };
32
+ areas: {
33
+ colors: {
34
+ 0: string;
35
+ 1: string;
36
+ };
37
+ interpolation: string;
38
+ };
39
+ points: {
40
+ colors: {
41
+ [key: string]: string;
42
+ };
43
+ };
44
+ players?: [string, string];
45
+ }
46
+ export declare function rallyTree(): {
47
+ (selection: Selection<any, any, any, any>): void;
48
+ options(values?: any): /*elided*/ any | RallyTreeOptions;
49
+ data(value?: Point[]): /*elided*/ any | Point[];
50
+ matchUp(matchUpState: any): /*elided*/ any;
51
+ events(value?: any): /*elided*/ any | {
52
+ pointbar: {
53
+ mouseover: null;
54
+ mouseout: null;
55
+ click: null;
56
+ };
57
+ statbar: {
58
+ click: null;
59
+ };
60
+ pctarea: {
61
+ mouseover: null;
62
+ mouseout: null;
63
+ };
64
+ update: {
65
+ begin: null;
66
+ end: null;
67
+ };
68
+ rallies: {
69
+ none: null;
70
+ display: null;
71
+ };
72
+ };
73
+ update: (opts?: {
74
+ sizeToFit?: boolean;
75
+ }) => void;
76
+ };
77
+ export {};
78
+ //# sourceMappingURL=rallyTree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rallyTree.d.ts","sourceRoot":"","sources":["../../src/visualizations/rallyTree.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAOH,UAAU,KAAK;IACb,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,gBAAgB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,OAAO,EAAE;QACP,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,WAAW,EAAE,YAAY,GAAG,UAAU,CAAC;IACvC,IAAI,EAAE;QACJ,IAAI,EAAE,OAAO,CAAC;KACf,CAAC;IACF,KAAK,EAAE;QACL,MAAM,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACjC,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,MAAM,EAAE;QACN,MAAM,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,CAAC;KACnC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5B;AAED,wBAAgB,SAAS;gBAwDG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;qBA6SpB,GAAG;iBAsBP,KAAK,EAAE;0BAME,GAAG;mBAyBV,GAAG;;;;;;;;;;;;;;;;;;;;;;oBAlVb;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE;EAyW/C"}