stats-gl 2.2.8 → 2.3.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/dist/main.js CHANGED
@@ -1,143 +1,148 @@
1
- import Panel from "./panel.js";
1
+ import { Panel } from "./panel.js";
2
2
  const _Stats = class _Stats2 {
3
- constructor({ logsPerSecond = 20, samplesLog = 100, samplesGraph = 10, precision = 2, minimal = false, horizontal = true, mode = 0 } = {}) {
3
+ constructor({
4
+ trackGPU = false,
5
+ logsPerSecond = 20,
6
+ samplesLog = 100,
7
+ samplesGraph = 10,
8
+ precision = 2,
9
+ minimal = false,
10
+ horizontal = true,
11
+ mode = 0
12
+ } = {}) {
13
+ this.gl = null;
14
+ this.ext = null;
15
+ this.activeQuery = null;
16
+ this.gpuQueries = [];
17
+ this.threeRendererPatched = false;
18
+ this.frames = 0;
19
+ this.renderCount = 0;
20
+ this.isRunningCPUProfiling = false;
4
21
  this.totalCpuDuration = 0;
5
22
  this.totalGpuDuration = 0;
6
23
  this.totalGpuDurationCompute = 0;
7
24
  this.totalFps = 0;
8
- this.activeQuery = null;
9
- this.gpuQueries = [];
10
- this.renderCount = 0;
25
+ this.gpuPanel = null;
26
+ this.gpuPanelCompute = null;
27
+ this.averageCpu = { logs: [], graph: [] };
28
+ this.averageGpu = { logs: [], graph: [] };
29
+ this.averageGpuCompute = { logs: [], graph: [] };
30
+ this.handleClick = (event) => {
31
+ event.preventDefault();
32
+ this.showPanel(++this.mode % this.dom.children.length);
33
+ };
34
+ this.handleResize = () => {
35
+ this.resizePanel(this.fpsPanel, 0);
36
+ this.resizePanel(this.msPanel, 1);
37
+ if (this.gpuPanel)
38
+ this.resizePanel(this.gpuPanel, 2);
39
+ if (this.gpuPanelCompute)
40
+ this.resizePanel(this.gpuPanelCompute, 3);
41
+ };
11
42
  this.mode = mode;
12
43
  this.horizontal = horizontal;
13
- this.dom = document.createElement("div");
14
- this.dom.style.cssText = "position:fixed;top:0;left:0;opacity:0.9;z-index:10000;";
15
- if (minimal) {
16
- this.dom.style.cssText += "cursor:pointer";
17
- }
18
- this.gl = null;
19
- this.query = null;
20
- this.isRunningCPUProfiling = false;
21
44
  this.minimal = minimal;
22
- this.beginTime = (performance || Date).now();
23
- this.prevTime = this.beginTime;
24
- this.prevCpuTime = this.beginTime;
25
- this.frames = 0;
26
- this.renderCount = 0;
27
- this.threeRendererPatched = false;
28
- this.averageCpu = {
29
- logs: [],
30
- graph: []
31
- };
32
- this.averageGpu = {
33
- logs: [],
34
- graph: []
35
- };
36
- this.averageGpuCompute = {
37
- logs: [],
38
- graph: []
39
- };
40
- this.queryCreated = false;
41
- this.fpsPanel = this.addPanel(new _Stats2.Panel("FPS", "#0ff", "#002"), 0);
42
- this.msPanel = this.addPanel(new _Stats2.Panel("CPU", "#0f0", "#020"), 1);
43
- this.gpuPanel = null;
44
- this.gpuPanelCompute = null;
45
+ this.trackGPU = trackGPU;
46
+ console.log("trackGPU", trackGPU);
45
47
  this.samplesLog = samplesLog;
46
48
  this.samplesGraph = samplesGraph;
47
49
  this.precision = precision;
48
50
  this.logsPerSecond = logsPerSecond;
49
- if (this.minimal) {
50
- this.dom.addEventListener("click", (event) => {
51
- event.preventDefault();
52
- this.showPanel(++this.mode % this.dom.children.length);
53
- }, false);
54
- this.mode = mode;
55
- this.showPanel(this.mode);
56
- } else {
57
- window.addEventListener("resize", () => {
58
- this.resizePanel(this.fpsPanel, 0);
59
- this.resizePanel(this.msPanel, 1);
60
- if (this.gpuPanel) {
61
- this.resizePanel(this.gpuPanel, 2);
62
- }
63
- if (this.gpuPanelCompute) {
64
- this.resizePanel(this.gpuPanelCompute, 3);
65
- }
66
- });
67
- }
51
+ this.dom = document.createElement("div");
52
+ this.initializeDOM();
53
+ this.beginTime = performance.now();
54
+ this.prevTime = this.beginTime;
55
+ this.prevCpuTime = this.beginTime;
56
+ this.fpsPanel = this.addPanel(new _Stats2.Panel("FPS", "#0ff", "#002"), 0);
57
+ this.msPanel = this.addPanel(new _Stats2.Panel("CPU", "#0f0", "#020"), 1);
58
+ this.setupEventListeners();
68
59
  }
69
- patchThreeRenderer(renderer) {
70
- const originalRenderMethod = renderer.render;
71
- const statsInstance = this;
72
- renderer.render = function(scene, camera) {
73
- statsInstance.begin();
74
- originalRenderMethod.call(this, scene, camera);
75
- statsInstance.end();
76
- };
77
- this.threeRendererPatched = true;
60
+ initializeDOM() {
61
+ this.dom.style.cssText = `
62
+ position: fixed;
63
+ top: 0;
64
+ left: 0;
65
+ opacity: 0.9;
66
+ z-index: 10000;
67
+ ${this.minimal ? "cursor: pointer;" : ""}
68
+ `;
78
69
  }
79
- resizePanel(panel, offset) {
80
- panel.canvas.style.position = "absolute";
70
+ setupEventListeners() {
81
71
  if (this.minimal) {
82
- panel.canvas.style.display = "none";
72
+ this.dom.addEventListener("click", this.handleClick);
73
+ this.showPanel(this.mode);
83
74
  } else {
84
- panel.canvas.style.display = "block";
85
- if (this.horizontal) {
86
- panel.canvas.style.top = "0px";
87
- panel.canvas.style.left = offset * panel.WIDTH / panel.PR + "px";
88
- } else {
89
- panel.canvas.style.left = "0px";
90
- panel.canvas.style.top = offset * panel.HEIGHT / panel.PR + "px";
91
- }
75
+ window.addEventListener("resize", this.handleResize);
92
76
  }
93
77
  }
94
- addPanel(panel, offset) {
95
- if (panel.canvas) {
96
- this.dom.appendChild(panel.canvas);
97
- this.resizePanel(panel, offset);
98
- }
99
- return panel;
100
- }
101
- showPanel(id) {
102
- for (let i = 0; i < this.dom.children.length; i++) {
103
- const child = this.dom.children[i];
104
- child.style.display = i === id ? "block" : "none";
105
- }
106
- this.mode = id;
107
- }
108
78
  async init(canvasOrGL) {
109
79
  if (!canvasOrGL) {
110
80
  console.error('Stats: The "canvas" parameter is undefined.');
111
81
  return;
112
82
  }
113
- if (canvasOrGL.isWebGLRenderer && !this.threeRendererPatched) {
114
- const canvas = canvasOrGL;
115
- this.patchThreeRenderer(canvas);
116
- this.gl = canvas.getContext();
117
- } else if (!this.gl && canvasOrGL instanceof WebGL2RenderingContext) {
118
- this.gl = canvasOrGL;
83
+ if (this.handleThreeRenderer(canvasOrGL))
84
+ return;
85
+ if (await this.handleWebGPURenderer(canvasOrGL))
86
+ return;
87
+ if (!this.initializeWebGL(canvasOrGL))
88
+ return;
89
+ }
90
+ handleThreeRenderer(renderer) {
91
+ if (renderer.isWebGLRenderer && !this.threeRendererPatched) {
92
+ this.patchThreeRenderer(renderer);
93
+ this.gl = renderer.getContext();
94
+ if (this.trackGPU) {
95
+ this.initializeGPUTracking();
96
+ }
97
+ return true;
119
98
  }
120
- if (canvasOrGL.isWebGPURenderer) {
121
- canvasOrGL.backend.trackTimestamp = true;
122
- if (await canvasOrGL.hasFeatureAsync("timestamp-query")) {
123
- this.gpuPanel = this.addPanel(new _Stats2.Panel("GPU", "#ff0", "#220"), 2);
124
- this.gpuPanelCompute = this.addPanel(new _Stats2.Panel("CPT", "#e1e1e1", "#212121"), 3);
125
- this.info = canvasOrGL.info;
99
+ return false;
100
+ }
101
+ async handleWebGPURenderer(renderer) {
102
+ console.log("renderer", renderer);
103
+ if (renderer.isWebGPURenderer) {
104
+ if (this.trackGPU) {
105
+ console.log("trackGPU", this.trackGPU);
106
+ renderer.backend.trackTimestamp = true;
107
+ if (await renderer.hasFeatureAsync("timestamp-query")) {
108
+ this.initializeWebGPUPanels();
109
+ }
126
110
  }
127
- return;
128
- } else if (!this.gl && canvasOrGL instanceof HTMLCanvasElement || canvasOrGL instanceof OffscreenCanvas) {
111
+ this.info = renderer.info;
112
+ return true;
113
+ }
114
+ return false;
115
+ }
116
+ initializeWebGPUPanels() {
117
+ this.gpuPanel = this.addPanel(new _Stats2.Panel("GPU", "#ff0", "#220"), 2);
118
+ this.gpuPanelCompute = this.addPanel(
119
+ new _Stats2.Panel("CPT", "#e1e1e1", "#212121"),
120
+ 3
121
+ );
122
+ }
123
+ initializeWebGL(canvasOrGL) {
124
+ if (canvasOrGL instanceof WebGL2RenderingContext) {
125
+ this.gl = canvasOrGL;
126
+ } else if (canvasOrGL instanceof HTMLCanvasElement || canvasOrGL instanceof OffscreenCanvas) {
129
127
  this.gl = canvasOrGL.getContext("webgl2");
130
128
  if (!this.gl) {
131
129
  console.error("Stats: Unable to obtain WebGL2 context.");
132
- return;
130
+ return false;
133
131
  }
134
- } else if (!this.gl) {
135
- console.error("Stats: Invalid input type. Expected WebGL2RenderingContext, HTMLCanvasElement, or OffscreenCanvas.");
136
- return;
132
+ } else {
133
+ console.error(
134
+ "Stats: Invalid input type. Expected WebGL2RenderingContext, HTMLCanvasElement, or OffscreenCanvas."
135
+ );
136
+ return false;
137
137
  }
138
- this.ext = this.gl.getExtension("EXT_disjoint_timer_query_webgl2");
139
- if (this.ext) {
140
- this.gpuPanel = this.addPanel(new _Stats2.Panel("GPU", "#ff0", "#220"), 2);
138
+ return true;
139
+ }
140
+ initializeGPUTracking() {
141
+ if (this.gl) {
142
+ this.ext = this.gl.getExtension("EXT_disjoint_timer_query_webgl2");
143
+ if (this.ext) {
144
+ this.gpuPanel = this.addPanel(new _Stats2.Panel("GPU", "#ff0", "#220"), 2);
145
+ }
141
146
  }
142
147
  }
143
148
  begin() {
@@ -146,14 +151,12 @@ const _Stats = class _Stats2 {
146
151
  }
147
152
  if (!this.gl || !this.ext)
148
153
  return;
149
- if (this.gl && this.ext) {
150
- if (this.activeQuery) {
151
- this.gl.endQuery(this.ext.TIME_ELAPSED_EXT);
152
- }
153
- this.activeQuery = this.gl.createQuery();
154
- if (this.activeQuery !== null) {
155
- this.gl.beginQuery(this.ext.TIME_ELAPSED_EXT, this.activeQuery);
156
- }
154
+ if (this.activeQuery) {
155
+ this.gl.endQuery(this.ext.TIME_ELAPSED_EXT);
156
+ }
157
+ this.activeQuery = this.gl.createQuery();
158
+ if (this.activeQuery) {
159
+ this.gl.beginQuery(this.ext.TIME_ELAPSED_EXT, this.activeQuery);
157
160
  }
158
161
  }
159
162
  end() {
@@ -164,6 +167,63 @@ const _Stats = class _Stats2 {
164
167
  this.activeQuery = null;
165
168
  }
166
169
  }
170
+ update() {
171
+ if (!this.info) {
172
+ this.processGpuQueries();
173
+ } else {
174
+ this.processWebGPUTimestamps();
175
+ }
176
+ this.endProfiling("cpu-started", "cpu-finished", "cpu-duration");
177
+ this.updateAverages();
178
+ this.resetCounters();
179
+ }
180
+ processWebGPUTimestamps() {
181
+ this.totalGpuDuration = this.info.render.timestamp;
182
+ this.totalGpuDurationCompute = this.info.compute.timestamp;
183
+ this.addToAverage(this.totalGpuDurationCompute, this.averageGpuCompute);
184
+ }
185
+ updateAverages() {
186
+ this.addToAverage(this.totalCpuDuration, this.averageCpu);
187
+ this.addToAverage(this.totalGpuDuration, this.averageGpu);
188
+ }
189
+ resetCounters() {
190
+ this.renderCount = 0;
191
+ if (this.totalCpuDuration === 0) {
192
+ this.beginProfiling("cpu-started");
193
+ }
194
+ this.totalCpuDuration = 0;
195
+ this.totalFps = 0;
196
+ this.beginTime = this.endInternal();
197
+ }
198
+ resizePanel(panel, offset) {
199
+ panel.canvas.style.position = "absolute";
200
+ if (this.minimal) {
201
+ panel.canvas.style.display = "none";
202
+ } else {
203
+ panel.canvas.style.display = "block";
204
+ if (this.horizontal) {
205
+ panel.canvas.style.top = "0px";
206
+ panel.canvas.style.left = offset * panel.WIDTH / panel.PR + "px";
207
+ } else {
208
+ panel.canvas.style.left = "0px";
209
+ panel.canvas.style.top = offset * panel.HEIGHT / panel.PR + "px";
210
+ }
211
+ }
212
+ }
213
+ addPanel(panel, offset) {
214
+ if (panel.canvas) {
215
+ this.dom.appendChild(panel.canvas);
216
+ this.resizePanel(panel, offset);
217
+ }
218
+ return panel;
219
+ }
220
+ showPanel(id) {
221
+ for (let i = 0; i < this.dom.children.length; i++) {
222
+ const child = this.dom.children[i];
223
+ child.style.display = i === id ? "block" : "none";
224
+ }
225
+ this.mode = id;
226
+ }
167
227
  processGpuQueries() {
168
228
  if (!this.gl || !this.ext)
169
229
  return;
@@ -182,25 +242,6 @@ const _Stats = class _Stats2 {
182
242
  }
183
243
  });
184
244
  }
185
- update() {
186
- if (this.info === void 0) {
187
- this.processGpuQueries();
188
- } else {
189
- this.totalGpuDuration = this.info.render.timestamp;
190
- this.totalGpuDurationCompute = this.info.compute.timestamp;
191
- this.addToAverage(this.totalGpuDurationCompute, this.averageGpuCompute);
192
- }
193
- this.endProfiling("cpu-started", "cpu-finished", "cpu-duration");
194
- this.addToAverage(this.totalCpuDuration, this.averageCpu);
195
- this.addToAverage(this.totalGpuDuration, this.averageGpu);
196
- this.renderCount = 0;
197
- if (this.totalCpuDuration === 0) {
198
- this.beginProfiling("cpu-started");
199
- }
200
- this.totalCpuDuration = 0;
201
- this.totalFps = 0;
202
- this.beginTime = this.endInternal();
203
- }
204
245
  endInternal() {
205
246
  this.frames++;
206
247
  const time = (performance || Date).now();
@@ -270,9 +311,15 @@ const _Stats = class _Stats2 {
270
311
  get domElement() {
271
312
  return this.dom;
272
313
  }
273
- get container() {
274
- console.warn("Stats: Deprecated! this.container as been replaced to this.dom ");
275
- return this.dom;
314
+ patchThreeRenderer(renderer) {
315
+ const originalRenderMethod = renderer.render;
316
+ const statsInstance = this;
317
+ renderer.render = function(scene, camera) {
318
+ statsInstance.begin();
319
+ originalRenderMethod.call(this, scene, camera);
320
+ statsInstance.end();
321
+ };
322
+ this.threeRendererPatched = true;
276
323
  }
277
324
  };
278
325
  _Stats.Panel = Panel;
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sources":["../lib/main.ts"],"sourcesContent":null,"names":["_Stats"],"mappings":";AAQA,MAAM,SAAN,MAAMA,QAAM;AAAA,EAuCV,YAAY,EAAE,gBAAgB,IAAI,aAAa,KAAK,eAAe,IAAI,YAAY,GAAG,UAAU,OAAO,aAAa,MAAM,OAAO,EAAE,IAAI,IAAI;AAtChH,SAAA,mBAAA;AACA,SAAA,mBAAA;AACO,SAAA,0BAAA;AACf,SAAA,WAAA;AAuBc,SAAA,cAAA;AASjC,SAAA,aAAsC;AAChB,SAAA,cAAA;AAIpB,SAAK,OAAO;AACZ,SAAK,aAAa;AACb,SAAA,MAAM,SAAS,cAAc,KAAK;AAClC,SAAA,IAAI,MAAM,UAAU;AAEzB,QAAI,SAAS;AAEN,WAAA,IAAI,MAAM,WAAW;AAAA,IAE5B;AAEA,SAAK,KAAK;AACV,SAAK,QAAQ;AAEb,SAAK,wBAAwB;AAC7B,SAAK,UAAU;AAEV,SAAA,aAAa,eAAe,MAAM,IAAI;AAC3C,SAAK,WAAW,KAAK;AACrB,SAAK,cAAc,KAAK;AACxB,SAAK,SAAS;AACd,SAAK,cAAc;AACnB,SAAK,uBAAuB;AAC5B,SAAK,aAAa;AAAA,MAChB,MAAM,CAAC;AAAA,MACP,OAAO,CAAC;AAAA,IAAA;AAEV,SAAK,aAAa;AAAA,MAChB,MAAM,CAAC;AAAA,MACP,OAAO,CAAC;AAAA,IAAA;AAEV,SAAK,oBAAoB;AAAA,MACvB,MAAM,CAAC;AAAA,MACP,OAAO,CAAC;AAAA,IAAA;AAGV,SAAK,eAAe;AAEf,SAAA,WAAW,KAAK,SAAS,IAAIA,QAAM,MAAM,OAAO,QAAQ,MAAM,GAAG,CAAC;AAClE,SAAA,UAAU,KAAK,SAAS,IAAIA,QAAM,MAAM,OAAO,QAAQ,MAAM,GAAG,CAAC;AACtE,SAAK,WAAW;AAChB,SAAK,kBAAkB;AAEvB,SAAK,aAAa;AAClB,SAAK,eAAe;AACpB,SAAK,YAAY;AACjB,SAAK,gBAAgB;AAErB,QAAI,KAAK,SAAS;AAEhB,WAAK,IAAI,iBAAiB,SAAS,CAAC,UAAU;AAE5C,cAAM,eAAe;AACrB,aAAK,UAAU,EAAE,KAAK,OAAO,KAAK,IAAI,SAAS,MAAM;AAAA,SAEpD,KAAK;AAER,WAAK,OAAO;AACP,WAAA,UAAU,KAAK,IAAI;AAAA,IAAA,OAEnB;AAEE,aAAA,iBAAiB,UAAU,MAAM;AAEjC,aAAA,YAAY,KAAK,UAAU,CAAC;AAC5B,aAAA,YAAY,KAAK,SAAS,CAAC;AAEhC,YAAI,KAAK,UAAU;AACZ,eAAA,YAAY,KAAK,UAAU,CAAC;AAAA,QACnC;AACA,YAAI,KAAK,iBAAiB;AACnB,eAAA,YAAY,KAAK,iBAAiB,CAAC;AAAA,QAC1C;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EAGF;AAAA,EAEA,mBAAmB,UAAe;AAGhC,UAAM,uBAAuB,SAAS;AAGtC,UAAM,gBAAgB;AAGb,aAAA,SAAS,SAAU,OAAoB,QAAsB;AAGpE,oBAAc,MAAM;AAGC,2BAAA,KAAK,MAAM,OAAO,MAAM;AAE7C,oBAAc,IAAI;AAAA,IAAA;AAIpB,SAAK,uBAAuB;AAAA,EAE9B;AAAA,EAEA,YAAY,OAAc,QAAgB;AAElC,UAAA,OAAO,MAAM,WAAW;AAE9B,QAAI,KAAK,SAAS;AAEV,YAAA,OAAO,MAAM,UAAU;AAAA,IAAA,OAExB;AAEC,YAAA,OAAO,MAAM,UAAU;AAC7B,UAAI,KAAK,YAAY;AACb,cAAA,OAAO,MAAM,MAAM;AACzB,cAAM,OAAO,MAAM,OAAO,SAAS,MAAM,QAAQ,MAAM,KAAK;AAAA,MAAA,OACvD;AACC,cAAA,OAAO,MAAM,OAAO;AAC1B,cAAM,OAAO,MAAM,MAAM,SAAS,MAAM,SAAS,MAAM,KAAK;AAAA,MAE9D;AAAA,IACF;AAAA,EACF;AAAA,EAEA,SAAS,OAAc,QAAgB;AAErC,QAAI,MAAM,QAAQ;AAEX,WAAA,IAAI,YAAY,MAAM,MAAM;AAE5B,WAAA,YAAY,OAAO,MAAM;AAAA,IAEhC;AAEO,WAAA;AAAA,EAET;AAAA,EAEA,UAAU,IAAY;AAEpB,aAAS,IAAI,GAAG,IAAI,KAAK,IAAI,SAAS,QAAQ,KAAK;AACjD,YAAM,QAAQ,KAAK,IAAI,SAAS,CAAC;AAEjC,YAAM,MAAM,UAAU,MAAM,KAAK,UAAU;AAAA,IAE7C;AAEA,SAAK,OAAO;AAAA,EAEd;AAAA,EAEA,MAAM,KAAK,YAAiB;AAC1B,QAAI,CAAC,YAAY;AACf,cAAQ,MAAM,6CAA6C;AAC3D;AAAA,IACF;AASA,QAAK,WAAmB,mBAAmB,CAAC,KAAK,sBAAsB;AACrE,YAAM,SAAc;AACpB,WAAK,mBAAmB,MAAa;AAChC,WAAA,KAAK,OAAO;IACR,WAAA,CAAC,KAAK,MAAM,sBAAsB,wBAAwB;AACnE,WAAK,KAAK;AAAA,IACZ;AAEA,QAAI,WAAW,kBAAkB;AAE/B,iBAAW,QAAQ,iBAAiB;AAEpC,UAAI,MAAM,WAAW,gBAAgB,iBAAiB,GAAG;AAClD,aAAA,WAAW,KAAK,SAAS,IAAIA,QAAM,MAAM,OAAO,QAAQ,MAAM,GAAG,CAAC;AAClE,aAAA,kBAAkB,KAAK,SAAS,IAAIA,QAAM,MAAM,OAAO,WAAW,SAAS,GAAG,CAAC;AACpF,aAAK,OAAO,WAAW;AAAA,MACzB;AACA;AAAA,IAAA,WAMO,CAAC,KAAK,MAAM,sBAAsB,qBAAqB,sBAAsB,iBAAiB;AAChG,WAAA,KAAK,WAAW,WAAW,QAAQ;AACpC,UAAA,CAAC,KAAK,IAAI;AACZ,gBAAQ,MAAM,yCAAyC;AACvD;AAAA,MACF;AAAA,IAAA,WACS,CAAC,KAAK,IAAI;AACnB,cAAQ,MAAM,oGAAoG;AAClH;AAAA,IACF;AAGA,SAAK,MAAM,KAAK,GAAG,aAAa,iCAAiC;AACjE,QAAI,KAAK,KAAK;AACP,WAAA,WAAW,KAAK,SAAS,IAAIA,QAAM,MAAM,OAAO,QAAQ,MAAM,GAAG,CAAC;AAAA,IACzE;AAAA,EACF;AAAA,EAGA,QAAQ;AAEF,QAAA,CAAC,KAAK,uBAAuB;AAC/B,WAAK,eAAe,aAAa;AAAA,IACnC;AAEA,QAAI,CAAC,KAAK,MAAM,CAAC,KAAK;AAAK;AAEvB,QAAA,KAAK,MAAM,KAAK,KAAK;AACvB,UAAI,KAAK,aAAa;AAEpB,aAAK,GAAG,SAAS,KAAK,IAAI,gBAAgB;AAAA,MAC5C;AAEK,WAAA,cAAc,KAAK,GAAG,YAAY;AACnC,UAAA,KAAK,gBAAgB,MAAM;AAC7B,aAAK,GAAG,WAAW,KAAK,IAAI,kBAAkB,KAAK,WAAW;AAAA,MAChE;AAAA,IACF;AAAA,EACF;AAAA,EAIA,MAAM;AAGC,SAAA;AAEL,QAAI,KAAK,MAAM,KAAK,OAAO,KAAK,aAAa;AAC3C,WAAK,GAAG,SAAS,KAAK,IAAI,gBAAgB;AAE1C,WAAK,WAAW,KAAK,EAAE,OAAO,KAAK,aAAa;AAChD,WAAK,cAAc;AAAA,IACrB;AAAA,EAEF;AAAA,EAEA,oBAAoB;AAGlB,QAAI,CAAC,KAAK,MAAM,CAAC,KAAK;AAAK;AAE3B,SAAK,mBAAmB;AAExB,SAAK,WAAW,QAAQ,CAAC,WAAW,UAAU;AAC5C,UAAI,KAAK,IAAI;AACL,cAAA,YAAY,KAAK,GAAG,kBAAkB,UAAU,OAAO,KAAK,GAAG,sBAAsB;AAC3F,cAAM,WAAW,KAAK,GAAG,aAAa,KAAK,IAAI,gBAAgB;AAE3D,YAAA,aAAa,CAAC,UAAU;AACpB,gBAAA,UAAU,KAAK,GAAG,kBAAkB,UAAU,OAAO,KAAK,GAAG,YAAY;AAC/E,gBAAM,WAAW,UAAU;AAC3B,eAAK,oBAAoB;AACpB,eAAA,GAAG,YAAY,UAAU,KAAK;AAC9B,eAAA,WAAW,OAAO,OAAO,CAAC;AAAA,QACjC;AAAA,MACF;AAAA,IAAA,CACD;AAAA,EAEH;AAAA,EAEA,SAAS;AAEH,QAAA,KAAK,SAAS,QAAW;AAC3B,WAAK,kBAAkB;AAAA,IAAA,OAClB;AAEA,WAAA,mBAAmB,KAAK,KAAK,OAAO;AACpC,WAAA,0BAA0B,KAAK,KAAK,QAAQ;AACjD,WAAK,aAAa,KAAK,yBAAyB,KAAK,iBAAiB;AAAA,IAExE;AAEK,SAAA,aAAa,eAAe,gBAAgB,cAAc;AAG/D,SAAK,aAAa,KAAK,kBAAkB,KAAK,UAAU;AACxD,SAAK,aAAa,KAAK,kBAAkB,KAAK,UAAU;AAExD,SAAK,cAAc;AAGf,QAAA,KAAK,qBAAqB,GAAG;AAC/B,WAAK,eAAe,aAAa;AAAA,IACnC;AAEA,SAAK,mBAAmB;AAExB,SAAK,WAAW;AAEX,SAAA,YAAY,KAAK;EAExB;AAAA,EAEA,cAAc;AAEP,SAAA;AACC,UAAA,QAAQ,eAAe,MAAM,IAAI;AAEvC,QAAI,QAAQ,KAAK,cAAc,MAAO,KAAK,eAAe;AACxD,WAAK,YAAY,KAAK,SAAS,KAAK,UAAU;AAC9C,WAAK,YAAY,KAAK,UAAU,KAAK,UAAU;AAE/C,UAAI,KAAK,iBAAiB;AACxB,aAAK,YAAY,KAAK,iBAAiB,KAAK,iBAAiB;AAAA,MAC/D;AAEA,WAAK,cAAc;AAAA,IACrB;AAEI,QAAA,QAAQ,KAAK,WAAW,KAAM;AAEhC,YAAM,MAAO,KAAK,SAAS,OAAS,OAAO,KAAK;AAEhD,WAAK,SAAS,OAAO,KAAK,KAAK,KAAK,KAAK,CAAC;AAE1C,WAAK,WAAW;AAChB,WAAK,SAAS;AAAA,IAEhB;AAEO,WAAA;AAAA,EAET;AAAA,EAEA,aAAa,OAAe,cAA0C;AAEvD,iBAAA,KAAK,KAAK,KAAK;AAC5B,QAAI,aAAa,KAAK,SAAS,KAAK,YAAY;AAE9C,mBAAa,KAAK;IAEpB;AAEa,iBAAA,MAAM,KAAK,KAAK;AAC7B,QAAI,aAAa,MAAM,SAAS,KAAK,cAAc;AAEjD,mBAAa,MAAM;IAErB;AAAA,EAEF;AAAA,EAEA,eAAe,QAAgB;AAE7B,QAAI,OAAO,aAAa;AAEf,aAAA,YAAY,KAAK,MAAM;AAC9B,WAAK,wBAAwB;AAAA,IAE/B;AAAA,EAEF;AAAA,EAEA,aAAa,aAA6D,WAA+B,aAAqB;AAE5H,QAAI,OAAO,eAAe,aAAa,KAAK,uBAAuB;AAE1D,aAAA,YAAY,KAAK,SAAS;AACjC,YAAM,aAAa,YAAY,QAAQ,aAAa,aAAa,SAAS;AAC1E,WAAK,oBAAoB,WAAW;AACpC,WAAK,wBAAwB;AAAA,IAE/B;AAAA,EAEF;AAAA,EAEA,YAAY,OAAgC,cAAmD;AAEzF,QAAA,aAAa,KAAK,SAAS,GAAG;AAEhC,UAAI,SAAS;AACb,UAAI,MAAM;AAEV,eAAS,IAAI,GAAG,IAAI,aAAa,KAAK,QAAQ,KAAK;AAEvC,kBAAA,aAAa,KAAK,CAAC;AAE7B,YAAI,aAAa,KAAK,CAAC,IAAI,KAAK;AACxB,gBAAA,aAAa,KAAK,CAAC;AAAA,QAC3B;AAAA,MAEF;AAEA,UAAI,WAAW;AACf,UAAI,WAAW;AACf,eAAS,IAAI,GAAG,IAAI,aAAa,MAAM,QAAQ,KAAK;AAEtC,oBAAA,aAAa,MAAM,CAAC;AAEhC,YAAI,aAAa,MAAM,CAAC,IAAI,UAAU;AACzB,qBAAA,aAAa,MAAM,CAAC;AAAA,QACjC;AAAA,MAEF;AAEA,UAAI,OAAO;AACH,cAAA,OAAO,SAAS,KAAK,IAAI,aAAa,KAAK,QAAQ,KAAK,UAAU,GAAG,WAAW,KAAK,IAAI,aAAa,MAAM,QAAQ,KAAK,YAAY,GAAG,KAAK,UAAU,KAAK,SAAS;AAAA,MAC7K;AAAA,IAEF;AAAA,EACF;AAAA,EAEA,IAAI,aAAa;AAEf,WAAO,KAAK;AAAA,EAEd;AAAA,EAEA,IAAI,YAAY;AAEd,YAAQ,KAAK,iEAAiE;AAC9E,WAAO,KAAK;AAAA,EAEd;AAEF;AAjdM,OAoBG,QAAsB;AApB/B,IAAM,QAAN;"}
1
+ {"version":3,"file":"main.js","sources":["../lib/main.ts"],"sourcesContent":null,"names":["_Stats"],"mappings":"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"}
package/dist/panel.cjs CHANGED
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
3
  class Panel {
3
4
  constructor(name, fg, bg) {
4
5
  this.name = name;
@@ -54,5 +55,5 @@ class Panel {
54
55
  }
55
56
  }
56
57
  ;
57
- module.exports = Panel;
58
+ exports.Panel = Panel;
58
59
  //# sourceMappingURL=panel.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"panel.cjs","sources":["../lib/panel.ts"],"sourcesContent":null,"names":[],"mappings":";AAAA,MAAM,MAAM;AAAA,EAgBR,YAAY,MAAc,IAAY,IAAY;AAE9C,SAAK,OAAO;AACZ,SAAK,KAAK;AACV,SAAK,KAAK;AACV,SAAK,KAAK,KAAK,MAAO,OAAO,oBAAoB,CAAE;AAE9C,SAAA,QAAQ,KAAK,KAAK;AAClB,SAAA,SAAS,KAAK,KAAK;AACnB,SAAA,SAAS,IAAI,KAAK;AAClB,SAAA,SAAS,IAAI,KAAK;AAClB,SAAA,UAAU,IAAI,KAAK;AACnB,SAAA,UAAU,KAAK,KAAK;AACpB,SAAA,cAAc,KAAK,KAAK;AACxB,SAAA,eAAe,KAAK,KAAK;AAEzB,SAAA,SAAS,SAAS,cAAc,QAAQ;AACxC,SAAA,OAAO,QAAQ,KAAK,KAAK;AACzB,SAAA,OAAO,SAAS,KAAK,KAAK;AAC1B,SAAA,OAAO,MAAM,QAAQ;AACrB,SAAA,OAAO,MAAM,WAAW;AACxB,SAAA,OAAO,MAAM,SAAS;AACtB,SAAA,OAAO,MAAM,UAAU;AAE5B,SAAK,UAAU,KAAK,OAAO,WAAW,IAAI;AAE1C,QAAI,KAAK,SAAS;AACd,WAAK,QAAQ,OAAO,UAAW,IAAI,KAAK,KAAM;AAC9C,WAAK,QAAQ,eAAe;AAEvB,WAAA,QAAQ,YAAY,KAAK;AAC9B,WAAK,QAAQ,SAAS,GAAG,GAAG,KAAK,OAAO,KAAK,MAAM;AAE9C,WAAA,QAAQ,YAAY,KAAK;AAC9B,WAAK,QAAQ,SAAS,KAAK,MAAM,KAAK,QAAQ,KAAK,MAAM;AACpD,WAAA,QAAQ,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,aAAa,KAAK,YAAY;AAEhF,WAAA,QAAQ,YAAY,KAAK;AAC9B,WAAK,QAAQ,cAAc;AACtB,WAAA,QAAQ,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,aAAa,KAAK,YAAY;AAAA,IACzF;AAAA,EAEJ;AAAA,EAEA,OAAO,OAAe,YAAoB,UAAkB,UAAkB,WAAW,GAAG;AACpF,QAAA,MAAM,UAAU,MAAM;AAE1B,QAAI,CAAC,KAAK;AAAS;AAEb,UAAA,KAAK,IAAI,KAAK,KAAK;AACnB,UAAA,KAAK,IAAI,UAAU,KAAK;AACnB,eAAA,KAAK,IAAI,UAAU,UAAU;AAEnC,SAAA,QAAQ,YAAY,KAAK;AAC9B,SAAK,QAAQ,cAAc;AAC3B,SAAK,QAAQ,SAAS,GAAG,GAAG,KAAK,OAAO,KAAK,OAAO;AAC/C,SAAA,QAAQ,YAAY,KAAK;AACzB,SAAA,QAAQ,SAAS,MAAM,QAAQ,QAAQ,IAAI,MAAM,KAAK,OAAO,OAAO,IAAI,QAAQ,QAAQ,IAAI,MAAM,WAAW,IAAI,QAAQ,QAAQ,CAAC,IAAI,KAAK,KAAK,QAAQ,KAAK,MAAM;AAEnK,SAAA,QAAQ,UAAU,KAAK,QAAQ,KAAK,UAAU,KAAK,IAAI,KAAK,SAAS,KAAK,cAAc,KAAK,IAAI,KAAK,cAAc,KAAK,SAAS,KAAK,SAAS,KAAK,cAAc,KAAK,IAAI,KAAK,YAAY;AAElM,SAAK,QAAQ,SAAS,KAAK,UAAU,KAAK,cAAc,KAAK,IAAI,KAAK,SAAS,KAAK,IAAI,KAAK,YAAY;AAEpG,SAAA,QAAQ,YAAY,KAAK;AAC9B,SAAK,QAAQ,cAAc;AAE3B,SAAK,QAAQ,SAAS,KAAK,UAAU,KAAK,cAAc,KAAK,IAAI,KAAK,SAAS,KAAK,KAAM,IAAK,aAAa,YAAc,KAAK,YAAY;AAAA,EAC/I;AACJ;AAAC;;"}
1
+ {"version":3,"file":"panel.cjs","sources":["../lib/panel.ts"],"sourcesContent":null,"names":[],"mappings":";;AAAA,MAAM,MAAM;AAAA,EAgBR,YAAY,MAAc,IAAY,IAAY;AAE9C,SAAK,OAAO;AACZ,SAAK,KAAK;AACV,SAAK,KAAK;AACV,SAAK,KAAK,KAAK,MAAM,OAAO,oBAAoB,CAAC;AAE5C,SAAA,QAAQ,KAAK,KAAK;AAClB,SAAA,SAAS,KAAK,KAAK;AACnB,SAAA,SAAS,IAAI,KAAK;AAClB,SAAA,SAAS,IAAI,KAAK;AAClB,SAAA,UAAU,IAAI,KAAK;AACnB,SAAA,UAAU,KAAK,KAAK;AACpB,SAAA,cAAc,KAAK,KAAK;AACxB,SAAA,eAAe,KAAK,KAAK;AAEzB,SAAA,SAAS,SAAS,cAAc,QAAQ;AACxC,SAAA,OAAO,QAAQ,KAAK,KAAK;AACzB,SAAA,OAAO,SAAS,KAAK,KAAK;AAC1B,SAAA,OAAO,MAAM,QAAQ;AACrB,SAAA,OAAO,MAAM,WAAW;AACxB,SAAA,OAAO,MAAM,SAAS;AACtB,SAAA,OAAO,MAAM,UAAU;AAE5B,SAAK,UAAU,KAAK,OAAO,WAAW,IAAI;AAE1C,QAAI,KAAK,SAAS;AACd,WAAK,QAAQ,OAAO,UAAW,IAAI,KAAK,KAAM;AAC9C,WAAK,QAAQ,eAAe;AAEvB,WAAA,QAAQ,YAAY,KAAK;AAC9B,WAAK,QAAQ,SAAS,GAAG,GAAG,KAAK,OAAO,KAAK,MAAM;AAE9C,WAAA,QAAQ,YAAY,KAAK;AAC9B,WAAK,QAAQ,SAAS,KAAK,MAAM,KAAK,QAAQ,KAAK,MAAM;AACpD,WAAA,QAAQ,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,aAAa,KAAK,YAAY;AAEhF,WAAA,QAAQ,YAAY,KAAK;AAC9B,WAAK,QAAQ,cAAc;AACtB,WAAA,QAAQ,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,aAAa,KAAK,YAAY;AAAA,IACzF;AAAA,EAEJ;AAAA,EAEA,OAAO,OAAe,YAAoB,UAAkB,UAAkB,WAAW,GAAG;AACpF,QAAA,MAAM,UAAU,MAAM;AAE1B,QAAI,CAAC,KAAK;AAAS;AAEb,UAAA,KAAK,IAAI,KAAK,KAAK;AACnB,UAAA,KAAK,IAAI,UAAU,KAAK;AACnB,eAAA,KAAK,IAAI,UAAU,UAAU;AAEnC,SAAA,QAAQ,YAAY,KAAK;AAC9B,SAAK,QAAQ,cAAc;AAC3B,SAAK,QAAQ,SAAS,GAAG,GAAG,KAAK,OAAO,KAAK,OAAO;AAC/C,SAAA,QAAQ,YAAY,KAAK;AACzB,SAAA,QAAQ,SAAS,MAAM,QAAQ,QAAQ,IAAI,MAAM,KAAK,OAAO,OAAO,IAAI,QAAQ,QAAQ,IAAI,MAAM,WAAW,IAAI,QAAQ,QAAQ,CAAC,IAAI,KAAK,KAAK,QAAQ,KAAK,MAAM;AAEnK,SAAA,QAAQ,UAAU,KAAK,QAAQ,KAAK,UAAU,KAAK,IAAI,KAAK,SAAS,KAAK,cAAc,KAAK,IAAI,KAAK,cAAc,KAAK,SAAS,KAAK,SAAS,KAAK,cAAc,KAAK,IAAI,KAAK,YAAY;AAElM,SAAK,QAAQ,SAAS,KAAK,UAAU,KAAK,cAAc,KAAK,IAAI,KAAK,SAAS,KAAK,IAAI,KAAK,YAAY;AAEpG,SAAA,QAAQ,YAAY,KAAK;AAC9B,SAAK,QAAQ,cAAc;AAE3B,SAAK,QAAQ,SAAS,KAAK,UAAU,KAAK,cAAc,KAAK,IAAI,KAAK,SAAS,KAAK,KAAM,IAAK,aAAa,YAAc,KAAK,YAAY;AAAA,EAC/I;AACJ;AAAC;;"}
package/dist/panel.js CHANGED
@@ -54,6 +54,6 @@ class Panel {
54
54
  }
55
55
  ;
56
56
  export {
57
- Panel as default
57
+ Panel
58
58
  };
59
59
  //# sourceMappingURL=panel.js.map
package/dist/panel.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"panel.js","sources":["../lib/panel.ts"],"sourcesContent":null,"names":[],"mappings":"AAAA,MAAM,MAAM;AAAA,EAgBR,YAAY,MAAc,IAAY,IAAY;AAE9C,SAAK,OAAO;AACZ,SAAK,KAAK;AACV,SAAK,KAAK;AACV,SAAK,KAAK,KAAK,MAAO,OAAO,oBAAoB,CAAE;AAE9C,SAAA,QAAQ,KAAK,KAAK;AAClB,SAAA,SAAS,KAAK,KAAK;AACnB,SAAA,SAAS,IAAI,KAAK;AAClB,SAAA,SAAS,IAAI,KAAK;AAClB,SAAA,UAAU,IAAI,KAAK;AACnB,SAAA,UAAU,KAAK,KAAK;AACpB,SAAA,cAAc,KAAK,KAAK;AACxB,SAAA,eAAe,KAAK,KAAK;AAEzB,SAAA,SAAS,SAAS,cAAc,QAAQ;AACxC,SAAA,OAAO,QAAQ,KAAK,KAAK;AACzB,SAAA,OAAO,SAAS,KAAK,KAAK;AAC1B,SAAA,OAAO,MAAM,QAAQ;AACrB,SAAA,OAAO,MAAM,WAAW;AACxB,SAAA,OAAO,MAAM,SAAS;AACtB,SAAA,OAAO,MAAM,UAAU;AAE5B,SAAK,UAAU,KAAK,OAAO,WAAW,IAAI;AAE1C,QAAI,KAAK,SAAS;AACd,WAAK,QAAQ,OAAO,UAAW,IAAI,KAAK,KAAM;AAC9C,WAAK,QAAQ,eAAe;AAEvB,WAAA,QAAQ,YAAY,KAAK;AAC9B,WAAK,QAAQ,SAAS,GAAG,GAAG,KAAK,OAAO,KAAK,MAAM;AAE9C,WAAA,QAAQ,YAAY,KAAK;AAC9B,WAAK,QAAQ,SAAS,KAAK,MAAM,KAAK,QAAQ,KAAK,MAAM;AACpD,WAAA,QAAQ,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,aAAa,KAAK,YAAY;AAEhF,WAAA,QAAQ,YAAY,KAAK;AAC9B,WAAK,QAAQ,cAAc;AACtB,WAAA,QAAQ,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,aAAa,KAAK,YAAY;AAAA,IACzF;AAAA,EAEJ;AAAA,EAEA,OAAO,OAAe,YAAoB,UAAkB,UAAkB,WAAW,GAAG;AACpF,QAAA,MAAM,UAAU,MAAM;AAE1B,QAAI,CAAC,KAAK;AAAS;AAEb,UAAA,KAAK,IAAI,KAAK,KAAK;AACnB,UAAA,KAAK,IAAI,UAAU,KAAK;AACnB,eAAA,KAAK,IAAI,UAAU,UAAU;AAEnC,SAAA,QAAQ,YAAY,KAAK;AAC9B,SAAK,QAAQ,cAAc;AAC3B,SAAK,QAAQ,SAAS,GAAG,GAAG,KAAK,OAAO,KAAK,OAAO;AAC/C,SAAA,QAAQ,YAAY,KAAK;AACzB,SAAA,QAAQ,SAAS,MAAM,QAAQ,QAAQ,IAAI,MAAM,KAAK,OAAO,OAAO,IAAI,QAAQ,QAAQ,IAAI,MAAM,WAAW,IAAI,QAAQ,QAAQ,CAAC,IAAI,KAAK,KAAK,QAAQ,KAAK,MAAM;AAEnK,SAAA,QAAQ,UAAU,KAAK,QAAQ,KAAK,UAAU,KAAK,IAAI,KAAK,SAAS,KAAK,cAAc,KAAK,IAAI,KAAK,cAAc,KAAK,SAAS,KAAK,SAAS,KAAK,cAAc,KAAK,IAAI,KAAK,YAAY;AAElM,SAAK,QAAQ,SAAS,KAAK,UAAU,KAAK,cAAc,KAAK,IAAI,KAAK,SAAS,KAAK,IAAI,KAAK,YAAY;AAEpG,SAAA,QAAQ,YAAY,KAAK;AAC9B,SAAK,QAAQ,cAAc;AAE3B,SAAK,QAAQ,SAAS,KAAK,UAAU,KAAK,cAAc,KAAK,IAAI,KAAK,SAAS,KAAK,KAAM,IAAK,aAAa,YAAc,KAAK,YAAY;AAAA,EAC/I;AACJ;AAAC;"}
1
+ {"version":3,"file":"panel.js","sources":["../lib/panel.ts"],"sourcesContent":null,"names":[],"mappings":"AAAA,MAAM,MAAM;AAAA,EAgBR,YAAY,MAAc,IAAY,IAAY;AAE9C,SAAK,OAAO;AACZ,SAAK,KAAK;AACV,SAAK,KAAK;AACV,SAAK,KAAK,KAAK,MAAM,OAAO,oBAAoB,CAAC;AAE5C,SAAA,QAAQ,KAAK,KAAK;AAClB,SAAA,SAAS,KAAK,KAAK;AACnB,SAAA,SAAS,IAAI,KAAK;AAClB,SAAA,SAAS,IAAI,KAAK;AAClB,SAAA,UAAU,IAAI,KAAK;AACnB,SAAA,UAAU,KAAK,KAAK;AACpB,SAAA,cAAc,KAAK,KAAK;AACxB,SAAA,eAAe,KAAK,KAAK;AAEzB,SAAA,SAAS,SAAS,cAAc,QAAQ;AACxC,SAAA,OAAO,QAAQ,KAAK,KAAK;AACzB,SAAA,OAAO,SAAS,KAAK,KAAK;AAC1B,SAAA,OAAO,MAAM,QAAQ;AACrB,SAAA,OAAO,MAAM,WAAW;AACxB,SAAA,OAAO,MAAM,SAAS;AACtB,SAAA,OAAO,MAAM,UAAU;AAE5B,SAAK,UAAU,KAAK,OAAO,WAAW,IAAI;AAE1C,QAAI,KAAK,SAAS;AACd,WAAK,QAAQ,OAAO,UAAW,IAAI,KAAK,KAAM;AAC9C,WAAK,QAAQ,eAAe;AAEvB,WAAA,QAAQ,YAAY,KAAK;AAC9B,WAAK,QAAQ,SAAS,GAAG,GAAG,KAAK,OAAO,KAAK,MAAM;AAE9C,WAAA,QAAQ,YAAY,KAAK;AAC9B,WAAK,QAAQ,SAAS,KAAK,MAAM,KAAK,QAAQ,KAAK,MAAM;AACpD,WAAA,QAAQ,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,aAAa,KAAK,YAAY;AAEhF,WAAA,QAAQ,YAAY,KAAK;AAC9B,WAAK,QAAQ,cAAc;AACtB,WAAA,QAAQ,SAAS,KAAK,SAAS,KAAK,SAAS,KAAK,aAAa,KAAK,YAAY;AAAA,IACzF;AAAA,EAEJ;AAAA,EAEA,OAAO,OAAe,YAAoB,UAAkB,UAAkB,WAAW,GAAG;AACpF,QAAA,MAAM,UAAU,MAAM;AAE1B,QAAI,CAAC,KAAK;AAAS;AAEb,UAAA,KAAK,IAAI,KAAK,KAAK;AACnB,UAAA,KAAK,IAAI,UAAU,KAAK;AACnB,eAAA,KAAK,IAAI,UAAU,UAAU;AAEnC,SAAA,QAAQ,YAAY,KAAK;AAC9B,SAAK,QAAQ,cAAc;AAC3B,SAAK,QAAQ,SAAS,GAAG,GAAG,KAAK,OAAO,KAAK,OAAO;AAC/C,SAAA,QAAQ,YAAY,KAAK;AACzB,SAAA,QAAQ,SAAS,MAAM,QAAQ,QAAQ,IAAI,MAAM,KAAK,OAAO,OAAO,IAAI,QAAQ,QAAQ,IAAI,MAAM,WAAW,IAAI,QAAQ,QAAQ,CAAC,IAAI,KAAK,KAAK,QAAQ,KAAK,MAAM;AAEnK,SAAA,QAAQ,UAAU,KAAK,QAAQ,KAAK,UAAU,KAAK,IAAI,KAAK,SAAS,KAAK,cAAc,KAAK,IAAI,KAAK,cAAc,KAAK,SAAS,KAAK,SAAS,KAAK,cAAc,KAAK,IAAI,KAAK,YAAY;AAElM,SAAK,QAAQ,SAAS,KAAK,UAAU,KAAK,cAAc,KAAK,IAAI,KAAK,SAAS,KAAK,IAAI,KAAK,YAAY;AAEpG,SAAA,QAAQ,YAAY,KAAK;AAC9B,SAAK,QAAQ,cAAc;AAE3B,SAAK,QAAQ,SAAS,KAAK,UAAU,KAAK,cAAc,KAAK,IAAI,KAAK,SAAS,KAAK,KAAM,IAAK,aAAa,YAAc,KAAK,YAAY;AAAA,EAC/I;AACJ;AAAC;"}
@@ -17,67 +17,71 @@ declare class Panel {
17
17
  update(value: number, valueGraph: number, maxValue: number, maxGraph: number, decimals?: number): void;
18
18
  }
19
19
 
20
- interface AverageArray {
21
- logs: number[];
22
- graph: number[];
20
+ interface StatsOptions {
21
+ trackGPU?: boolean;
22
+ logsPerSecond?: number;
23
+ samplesLog?: number;
24
+ samplesGraph?: number;
25
+ precision?: number;
26
+ minimal?: boolean;
27
+ horizontal?: boolean;
28
+ mode?: number;
23
29
  }
24
30
  declare class Stats {
25
- totalCpuDuration: number;
26
- totalGpuDuration: number;
27
- totalGpuDurationCompute: number;
28
- totalFps: number;
29
- mode: number;
30
- info: any;
31
- dom: HTMLDivElement;
32
- minimal: boolean;
33
- horizontal: boolean;
34
- beginTime: number;
35
- prevTime: number;
36
- prevCpuTime: number;
37
- frames: number;
38
- averageCpu: AverageArray;
39
- averageGpu: AverageArray;
40
- averageGpuCompute: AverageArray;
41
- queryCreated: boolean;
42
- isRunningCPUProfiling: boolean;
43
- fpsPanel: Panel;
31
+ private dom;
32
+ private mode;
33
+ private horizontal;
34
+ private minimal;
35
+ private trackGPU;
36
+ private samplesLog;
37
+ private samplesGraph;
38
+ private precision;
39
+ private logsPerSecond;
40
+ private gl;
41
+ private ext;
42
+ private info?;
43
+ private activeQuery;
44
+ private gpuQueries;
45
+ private threeRendererPatched;
46
+ private beginTime;
47
+ private prevTime;
48
+ private prevCpuTime;
49
+ private frames;
50
+ private renderCount;
51
+ private isRunningCPUProfiling;
52
+ private totalCpuDuration;
53
+ private totalGpuDuration;
54
+ private totalGpuDurationCompute;
55
+ private totalFps;
56
+ private fpsPanel;
57
+ private msPanel;
58
+ private gpuPanel;
59
+ private gpuPanelCompute;
60
+ private averageCpu;
61
+ private averageGpu;
62
+ private averageGpuCompute;
44
63
  static Panel: typeof Panel;
45
- msPanel: Panel;
46
- gpuPanel: Panel | null;
47
- gpuPanelCompute: Panel | null;
48
- samplesLog: number;
49
- samplesGraph: number;
50
- logsPerSecond: number;
51
- activeQuery: WebGLQuery | null;
52
- precision: number;
53
- gl: WebGL2RenderingContext | null;
54
- ext: any;
55
- query: WebGLQuery | null;
56
- disjoint: any;
57
- ns: any;
58
- threeRendererPatched: boolean;
59
- gpuQueries: {
60
- query: WebGLQuery;
61
- }[];
62
- renderCount: number;
63
- constructor({ logsPerSecond, samplesLog, samplesGraph, precision, minimal, horizontal, mode }?: {
64
- logsPerSecond?: number | undefined;
65
- samplesLog?: number | undefined;
66
- samplesGraph?: number | undefined;
67
- precision?: number | undefined;
68
- minimal?: boolean | undefined;
69
- horizontal?: boolean | undefined;
70
- mode?: number | undefined;
71
- });
72
- patchThreeRenderer(renderer: any): void;
64
+ constructor({ trackGPU, logsPerSecond, samplesLog, samplesGraph, precision, minimal, horizontal, mode }?: StatsOptions);
65
+ private initializeDOM;
66
+ private setupEventListeners;
67
+ private handleClick;
68
+ private handleResize;
69
+ init(canvasOrGL: WebGL2RenderingContext | HTMLCanvasElement | OffscreenCanvas | any): Promise<void>;
70
+ private handleThreeRenderer;
71
+ private handleWebGPURenderer;
72
+ private initializeWebGPUPanels;
73
+ private initializeWebGL;
74
+ private initializeGPUTracking;
75
+ begin(): void;
76
+ end(): void;
77
+ update(): void;
78
+ private processWebGPUTimestamps;
79
+ private updateAverages;
80
+ private resetCounters;
73
81
  resizePanel(panel: Panel, offset: number): void;
74
82
  addPanel(panel: Panel, offset: number): Panel;
75
83
  showPanel(id: number): void;
76
- init(canvasOrGL: any): Promise<void>;
77
- begin(): void;
78
- end(): void;
79
84
  processGpuQueries(): void;
80
- update(): void;
81
85
  endInternal(): number;
82
86
  addToAverage(value: number, averageArray: {
83
87
  logs: any;
@@ -92,7 +96,7 @@ declare class Stats {
92
96
  graph: number[];
93
97
  }): void;
94
98
  get domElement(): HTMLDivElement;
95
- get container(): HTMLDivElement;
99
+ patchThreeRenderer(renderer: any): void;
96
100
  }
97
101
 
98
- export { AverageArray, Stats as default };
102
+ export { Stats as default };