r3f-frame-profiler 1.0.2 → 1.0.3

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 (128) hide show
  1. package/dist/cjs/index.js +1 -61
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/esm/index.js +7 -12890
  4. package/dist/esm/index.js.map +1 -1
  5. package/dist/index-D_LaF0YP.cjs +2 -0
  6. package/dist/index-D_LaF0YP.cjs.map +1 -0
  7. package/dist/index-o5zvhDta.js +4406 -0
  8. package/dist/index-o5zvhDta.js.map +1 -0
  9. package/dist/report-generator-BCq_enQo.js +283 -0
  10. package/dist/report-generator-BCq_enQo.js.map +1 -0
  11. package/dist/report-generator-BsoP53qp.cjs +61 -0
  12. package/dist/report-generator-BsoP53qp.cjs.map +1 -0
  13. package/dist/types/FrameProfiler.d.ts +2 -0
  14. package/dist/types/FrameProfiler.d.ts.map +1 -0
  15. package/dist/types/collectors/frame-time-collector.d.ts +41 -0
  16. package/dist/types/collectors/frame-time-collector.d.ts.map +1 -0
  17. package/dist/types/collectors/gpu-collector.d.ts +32 -0
  18. package/dist/types/collectors/gpu-collector.d.ts.map +1 -0
  19. package/dist/types/collectors/hot-path-detector.d.ts +42 -0
  20. package/dist/types/collectors/hot-path-detector.d.ts.map +1 -0
  21. package/dist/types/collectors/index.d.ts +7 -0
  22. package/dist/types/collectors/index.d.ts.map +1 -0
  23. package/dist/types/collectors/memory-collector.d.ts +49 -0
  24. package/dist/types/collectors/memory-collector.d.ts.map +1 -0
  25. package/dist/types/collectors/scene-collector.d.ts +47 -0
  26. package/dist/types/collectors/scene-collector.d.ts.map +1 -0
  27. package/dist/types/components/ReactProfiler.d.ts +12 -0
  28. package/dist/types/components/ReactProfiler.d.ts.map +1 -0
  29. package/dist/types/core/alert-system.d.ts +37 -0
  30. package/dist/types/core/alert-system.d.ts.map +1 -0
  31. package/dist/types/core/auto-instrumentation.d.ts +33 -0
  32. package/dist/types/core/auto-instrumentation.d.ts.map +1 -0
  33. package/dist/types/core/budget-manager.d.ts +78 -0
  34. package/dist/types/core/budget-manager.d.ts.map +1 -0
  35. package/dist/types/core/data-export.d.ts +24 -0
  36. package/dist/types/core/data-export.d.ts.map +1 -0
  37. package/dist/types/core/index.d.ts +4 -0
  38. package/dist/types/core/index.d.ts.map +1 -0
  39. package/dist/types/core/monitor-state.d.ts +21 -0
  40. package/dist/types/core/monitor-state.d.ts.map +1 -0
  41. package/dist/types/core/profiler.d.ts +83 -0
  42. package/dist/types/core/profiler.d.ts.map +1 -0
  43. package/dist/types/core/react-monitor.d.ts +51 -0
  44. package/dist/types/core/react-monitor.d.ts.map +1 -0
  45. package/dist/types/core/report-generator.d.ts +83 -0
  46. package/dist/types/core/report-generator.d.ts.map +1 -0
  47. package/dist/types/hooks/index.d.ts +17 -0
  48. package/dist/types/hooks/index.d.ts.map +1 -0
  49. package/dist/types/hooks/useAlerts.d.ts +11 -0
  50. package/dist/types/hooks/useAlerts.d.ts.map +1 -0
  51. package/dist/types/hooks/useBudgetChecker.d.ts +6 -0
  52. package/dist/types/hooks/useBudgetChecker.d.ts.map +1 -0
  53. package/dist/types/hooks/useFrameHistory.d.ts +2 -0
  54. package/dist/types/hooks/useFrameHistory.d.ts.map +1 -0
  55. package/dist/types/hooks/useFrameTime.d.ts +3 -0
  56. package/dist/types/hooks/useFrameTime.d.ts.map +1 -0
  57. package/dist/types/hooks/useGPUStats.d.ts +3 -0
  58. package/dist/types/hooks/useGPUStats.d.ts.map +1 -0
  59. package/dist/types/hooks/useHotPath.d.ts +3 -0
  60. package/dist/types/hooks/useHotPath.d.ts.map +1 -0
  61. package/dist/types/hooks/useMemoryHistory.d.ts +5 -0
  62. package/dist/types/hooks/useMemoryHistory.d.ts.map +1 -0
  63. package/dist/types/hooks/useMemoryStats.d.ts +3 -0
  64. package/dist/types/hooks/useMemoryStats.d.ts.map +1 -0
  65. package/dist/types/hooks/useMetricsCollector.d.ts +31 -0
  66. package/dist/types/hooks/useMetricsCollector.d.ts.map +1 -0
  67. package/dist/types/hooks/usePerformanceBudget.d.ts +20 -0
  68. package/dist/types/hooks/usePerformanceBudget.d.ts.map +1 -0
  69. package/dist/types/hooks/useProfiler.d.ts +5 -0
  70. package/dist/types/hooks/useProfiler.d.ts.map +1 -0
  71. package/dist/types/hooks/useR3FProfiler.d.ts +2 -0
  72. package/dist/types/hooks/useR3FProfiler.d.ts.map +1 -0
  73. package/dist/types/hooks/useR3FProfilerCollector.d.ts +2 -0
  74. package/dist/types/hooks/useR3FProfilerCollector.d.ts.map +1 -0
  75. package/dist/types/hooks/useR3FStatsCollector.d.ts +2 -0
  76. package/dist/types/hooks/useR3FStatsCollector.d.ts.map +1 -0
  77. package/dist/types/hooks/useReactProfiler.d.ts +3 -0
  78. package/dist/types/hooks/useReactProfiler.d.ts.map +1 -0
  79. package/dist/types/hooks/useReportMetric.d.ts +19 -0
  80. package/dist/types/hooks/useReportMetric.d.ts.map +1 -0
  81. package/dist/types/hooks/useSceneStats.d.ts +3 -0
  82. package/dist/types/hooks/useSceneStats.d.ts.map +1 -0
  83. package/dist/types/index.d.ts +5 -0
  84. package/dist/types/index.d.ts.map +1 -0
  85. package/dist/types/ui/PerformanceMonitor.d.ts +7 -0
  86. package/dist/types/ui/PerformanceMonitor.d.ts.map +1 -0
  87. package/dist/types/ui/components/AlertBadge.d.ts +9 -0
  88. package/dist/types/ui/components/AlertBadge.d.ts.map +1 -0
  89. package/dist/types/ui/components/MetricCard.d.ts +14 -0
  90. package/dist/types/ui/components/MetricCard.d.ts.map +1 -0
  91. package/dist/types/ui/components/SimpleChart.d.ts +13 -0
  92. package/dist/types/ui/components/SimpleChart.d.ts.map +1 -0
  93. package/dist/types/ui/components/Tabs.d.ts +15 -0
  94. package/dist/types/ui/components/Tabs.d.ts.map +1 -0
  95. package/dist/types/ui/components/index.d.ts +5 -0
  96. package/dist/types/ui/components/index.d.ts.map +1 -0
  97. package/dist/types/ui/panels/BudgetPanel.d.ts +2 -0
  98. package/dist/types/ui/panels/BudgetPanel.d.ts.map +1 -0
  99. package/dist/types/ui/panels/FramePanel.d.ts +2 -0
  100. package/dist/types/ui/panels/FramePanel.d.ts.map +1 -0
  101. package/dist/types/ui/panels/FrameTimePanel.d.ts +2 -0
  102. package/dist/types/ui/panels/FrameTimePanel.d.ts.map +1 -0
  103. package/dist/types/ui/panels/GPUPanel.d.ts +2 -0
  104. package/dist/types/ui/panels/GPUPanel.d.ts.map +1 -0
  105. package/dist/types/ui/panels/HotPathPanel.d.ts +2 -0
  106. package/dist/types/ui/panels/HotPathPanel.d.ts.map +1 -0
  107. package/dist/types/ui/panels/MemoryPanel.d.ts +2 -0
  108. package/dist/types/ui/panels/MemoryPanel.d.ts.map +1 -0
  109. package/dist/types/ui/panels/ReactPanel.d.ts +2 -0
  110. package/dist/types/ui/panels/ReactPanel.d.ts.map +1 -0
  111. package/dist/types/ui/panels/ScenePanel.d.ts +2 -0
  112. package/dist/types/ui/panels/ScenePanel.d.ts.map +1 -0
  113. package/dist/types/ui/panels/index.d.ts +9 -0
  114. package/dist/types/ui/panels/index.d.ts.map +1 -0
  115. package/dist/types/ui/styles/theme.d.ts +76 -0
  116. package/dist/types/ui/styles/theme.d.ts.map +1 -0
  117. package/dist/types/ui/visualizations/FrameGraph.d.ts +10 -0
  118. package/dist/types/ui/visualizations/FrameGraph.d.ts.map +1 -0
  119. package/dist/types/ui/visualizations/MemoryChart.d.ts +10 -0
  120. package/dist/types/ui/visualizations/MemoryChart.d.ts.map +1 -0
  121. package/dist/types/ui/visualizations/PerformanceChart.d.ts +16 -0
  122. package/dist/types/ui/visualizations/PerformanceChart.d.ts.map +1 -0
  123. package/dist/types/ui/visualizations/TimelineView.d.ts +7 -0
  124. package/dist/types/ui/visualizations/TimelineView.d.ts.map +1 -0
  125. package/dist/types/ui/visualizations/index.d.ts +5 -0
  126. package/dist/types/ui/visualizations/index.d.ts.map +1 -0
  127. package/package.json +12 -7
  128. package/README.md +0 -60
@@ -0,0 +1,3 @@
1
+ import { type FrameBreakdown } from '../collectors/frame-time-collector';
2
+ export declare function useFrameTime(): FrameBreakdown | null;
3
+ //# sourceMappingURL=useFrameTime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFrameTime.d.ts","sourceRoot":"","sources":["../../../src/hooks/useFrameTime.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAG7F,wBAAgB,YAAY,IAAI,cAAc,GAAG,IAAI,CAsCpD"}
@@ -0,0 +1,3 @@
1
+ import { type GPUStats } from '../collectors/gpu-collector';
2
+ export declare function useGPUStats(): GPUStats | null;
3
+ //# sourceMappingURL=useGPUStats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGPUStats.d.ts","sourceRoot":"","sources":["../../../src/hooks/useGPUStats.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAG1E,wBAAgB,WAAW,IAAI,QAAQ,GAAG,IAAI,CAsC7C"}
@@ -0,0 +1,3 @@
1
+ import { type HotPathAnalysis } from '../collectors/hot-path-detector';
2
+ export declare function useHotPath(): HotPathAnalysis | null;
3
+ //# sourceMappingURL=useHotPath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useHotPath.d.ts","sourceRoot":"","sources":["../../../src/hooks/useHotPath.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAIxF,wBAAgB,UAAU,IAAI,eAAe,GAAG,IAAI,CAiCnD"}
@@ -0,0 +1,5 @@
1
+ import type { MemoryStats } from '../collectors/memory-collector';
2
+ export declare function useMemoryHistory(): Array<MemoryStats & {
3
+ time: number;
4
+ }>;
5
+ //# sourceMappingURL=useMemoryHistory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMemoryHistory.d.ts","sourceRoot":"","sources":["../../../src/hooks/useMemoryHistory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAIlE,wBAAgB,gBAAgB,IAAI,KAAK,CAAC,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAsCxE"}
@@ -0,0 +1,3 @@
1
+ import { type MemoryStats } from '../collectors/memory-collector';
2
+ export declare function useMemoryStats(): MemoryStats | null;
3
+ //# sourceMappingURL=useMemoryStats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMemoryStats.d.ts","sourceRoot":"","sources":["../../../src/hooks/useMemoryStats.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAGnF,wBAAgB,cAAc,IAAI,WAAW,GAAG,IAAI,CAsCnD"}
@@ -0,0 +1,31 @@
1
+ export interface MetricsCollectorOptions {
2
+ /**
3
+ * Intervalle de mise à jour (en frames). Default: 3
4
+ * Ex: 3 = mettre à jour toutes les 3 frames
5
+ */
6
+ updateInterval?: number;
7
+ /**
8
+ * Activer les logs de debug
9
+ */
10
+ debug?: boolean;
11
+ }
12
+ export interface MetricsCallback {
13
+ (): Record<string, number> | void;
14
+ }
15
+ /**
16
+ * Hook simplifié pour collecter des métriques de jeu
17
+ * Gère automatiquement le throttling, la vérification d'activation, et le notify()
18
+ *
19
+ * @example
20
+ * ```tsx
21
+ * const collectMetrics = useMetricsCollector({ updateInterval: 3 });
22
+ *
23
+ * collectMetrics(() => ({
24
+ * 'Ball Speed': ballSpeed,
25
+ * 'Distance to Hole': distance,
26
+ * 'Camera Distance': camDist,
27
+ * }));
28
+ * ```
29
+ */
30
+ export declare function useMetricsCollector(options?: MetricsCollectorOptions): (callback: MetricsCallback) => void;
31
+ //# sourceMappingURL=useMetricsCollector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMetricsCollector.d.ts","sourceRoot":"","sources":["../../../src/hooks/useMetricsCollector.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CACnC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,uBAA4B,cAMrC,eAAe,UA4ClD"}
@@ -0,0 +1,20 @@
1
+ import { type PerformanceBudget, type BudgetViolation } from '../core/budget-manager';
2
+ export declare function usePerformanceBudget(): {
3
+ budget: PerformanceBudget | null;
4
+ violations: BudgetViolation[];
5
+ setBudget: (newBudget: PerformanceBudget) => void;
6
+ clearViolations: () => void;
7
+ clearBudget: () => void;
8
+ getRecommendedBudget: (metrics: {
9
+ fps?: number;
10
+ frameTime?: number;
11
+ memory?: {
12
+ used: number;
13
+ };
14
+ gpu?: {
15
+ drawCalls: number;
16
+ triangles: number;
17
+ };
18
+ }) => PerformanceBudget;
19
+ };
20
+ //# sourceMappingURL=usePerformanceBudget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePerformanceBudget.d.ts","sourceRoot":"","sources":["../../../src/hooks/usePerformanceBudget.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAErG,wBAAgB,oBAAoB;;;2BAqBJ,iBAAiB;;;oCAiBR;QACrC,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QAC1B,GAAG,CAAC,EAAE;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;KAChD;EAYF"}
@@ -0,0 +1,5 @@
1
+ import { type ProfilerData } from '../core/profiler';
2
+ export declare function useProfiled<T extends (...args: any[]) => any>(name: string, fn: T): T;
3
+ export declare function useProfiledAsync<T extends (...args: any[]) => Promise<any>>(name: string, fn: T): T;
4
+ export declare function useProfilerData(): ProfilerData | null;
5
+ //# sourceMappingURL=useProfiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProfiler.d.ts","sourceRoot":"","sources":["../../../src/hooks/useProfiler.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAG/D,wBAAgB,WAAW,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAC3D,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,GACJ,CAAC,CAKH;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,EACzE,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,GACJ,CAAC,CAKH;AAGD,wBAAgB,eAAe,IAAI,YAAY,GAAG,IAAI,CA2CrD"}
@@ -0,0 +1,2 @@
1
+ export declare function useProfiledFrame(callback: (state: any, delta: number) => void, hookName?: string): void;
2
+ //# sourceMappingURL=useR3FProfiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useR3FProfiler.d.ts","sourceRoot":"","sources":["../../../src/hooks/useR3FProfiler.ts"],"names":[],"mappings":"AAIA,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,EAC7C,QAAQ,CAAC,EAAE,MAAM,QA0BlB"}
@@ -0,0 +1,2 @@
1
+ export declare const ProfilerDataCollector: () => null;
2
+ //# sourceMappingURL=useR3FProfilerCollector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useR3FProfilerCollector.d.ts","sourceRoot":"","sources":["../../../src/hooks/useR3FProfilerCollector.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,qBAAqB,YAkBjC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const R3FStatsCollector: () => null;
2
+ //# sourceMappingURL=useR3FStatsCollector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useR3FStatsCollector.d.ts","sourceRoot":"","sources":["../../../src/hooks/useR3FStatsCollector.tsx"],"names":[],"mappings":"AAWA,eAAO,MAAM,iBAAiB,YA4E7B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type ReactPerformanceData } from '../core/react-monitor';
2
+ export declare function useReactProfiler(): ReactPerformanceData | null;
3
+ //# sourceMappingURL=useReactProfiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReactProfiler.d.ts","sourceRoot":"","sources":["../../../src/hooks/useReactProfiler.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAGhF,wBAAgB,gBAAgB,IAAI,oBAAoB,GAAG,IAAI,CAgC9D"}
@@ -0,0 +1,19 @@
1
+ export interface ReportMetricOptions {
2
+ /**
3
+ * Intervalle de mise à jour (en frames). Default: 3
4
+ */
5
+ updateInterval?: number;
6
+ }
7
+ /**
8
+ * Hook pour enregistrer une métrique unique pour le rapport de performance.
9
+ * Cette métrique n'apparaîtra PAS dans les hotspots de performance (temps d'exécution),
10
+ * mais seulement dans la section "Custom Metrics" du rapport.
11
+ *
12
+ * @example
13
+ * ```tsx
14
+ * // Enregistrer la vitesse du joueur
15
+ * useReportMetric('Player Speed', () => player.getSpeed());
16
+ * ```
17
+ */
18
+ export declare function useReportMetric(name: string, valueProvider: () => number, options?: ReportMetricOptions): void;
19
+ //# sourceMappingURL=useReportMetric.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReportMetric.d.ts","sourceRoot":"","sources":["../../../src/hooks/useReportMetric.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,mBAAmB;IAChC;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC3B,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,MAAM,EAC3B,OAAO,GAAE,mBAAwB,QAiCpC"}
@@ -0,0 +1,3 @@
1
+ import { type SceneStats } from '../collectors/scene-collector';
2
+ export declare function useSceneStats(): SceneStats | null;
3
+ //# sourceMappingURL=useSceneStats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSceneStats.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSceneStats.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhF,wBAAgB,aAAa,IAAI,UAAU,GAAG,IAAI,CAsCjD"}
@@ -0,0 +1,5 @@
1
+ export { profile, reportMetric, isProfilerEnabled } from './core/profiler';
2
+ export { ProfilerDataCollector } from './hooks/useR3FProfilerCollector';
3
+ export { R3FStatsCollector } from './hooks/useR3FStatsCollector';
4
+ export { PerformanceMonitor } from './ui/PerformanceMonitor';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAG3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAGjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export interface PerformanceMonitorProps {
2
+ position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
3
+ defaultTab?: string;
4
+ collapsed?: boolean;
5
+ }
6
+ export declare const PerformanceMonitor: ({ position, defaultTab, collapsed: initialCollapsed, }: PerformanceMonitorProps) => import("react/jsx-runtime").JSX.Element | null;
7
+ //# sourceMappingURL=PerformanceMonitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PerformanceMonitor.d.ts","sourceRoot":"","sources":["../../../src/ui/PerformanceMonitor.tsx"],"names":[],"mappings":"AAOA,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,CAAC;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,kBAAkB,GAAI,wDAIhC,uBAAuB,mDA8YzB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface AlertBadgeProps {
3
+ severity: 'info' | 'warning' | 'error';
4
+ count?: number;
5
+ children?: ReactNode;
6
+ onClick?: () => void;
7
+ }
8
+ export declare const AlertBadge: ({ severity, count, children, onClick }: AlertBadgeProps) => import("react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=AlertBadge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AlertBadge.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/AlertBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,UAAU,GAAI,wCAAwC,eAAe,4CAmDjF,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface MetricCardProps {
3
+ label: string;
4
+ value: string | number;
5
+ unit?: string;
6
+ trend?: 'up' | 'down' | 'neutral';
7
+ status?: 'good' | 'warning' | 'error';
8
+ color?: string;
9
+ icon?: ReactNode;
10
+ onClick?: () => void;
11
+ className?: string;
12
+ }
13
+ export declare const MetricCard: ({ label, value, unit, trend, status, color, icon, onClick, className, }: MetricCardProps) => import("react/jsx-runtime").JSX.Element;
14
+ //# sourceMappingURL=MetricCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetricCard.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/MetricCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,UAAU,GAAI,yEAUxB,eAAe,4CA4GjB,CAAC"}
@@ -0,0 +1,13 @@
1
+ export interface SimpleChartProps {
2
+ data: number[];
3
+ width?: number | string;
4
+ height?: number;
5
+ color?: string;
6
+ maxValue?: number;
7
+ minValue?: number;
8
+ showGrid?: boolean;
9
+ showLabels?: boolean;
10
+ label?: string;
11
+ }
12
+ export declare const SimpleChart: ({ data, width, height, color, maxValue, minValue, showGrid, showLabels, label, }: SimpleChartProps) => import("react/jsx-runtime").JSX.Element;
13
+ //# sourceMappingURL=SimpleChart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimpleChart.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/SimpleChart.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,WAAW,GAAI,kFAUzB,gBAAgB,4CA2IlB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface Tab {
3
+ id: string;
4
+ label: string;
5
+ icon?: ReactNode;
6
+ badge?: number | string;
7
+ }
8
+ export interface TabsProps {
9
+ tabs: Tab[];
10
+ activeTab: string;
11
+ onTabChange: (tabId: string) => void;
12
+ className?: string;
13
+ }
14
+ export declare const Tabs: ({ tabs, activeTab, onTabChange, className }: TabsProps) => import("react/jsx-runtime").JSX.Element;
15
+ //# sourceMappingURL=Tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/Tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,IAAI,GAAI,6CAAkD,SAAS,4CAiF/E,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { MetricCard, type MetricCardProps } from './MetricCard';
2
+ export { Tabs, type TabsProps, type Tab } from './Tabs';
3
+ export { SimpleChart, type SimpleChartProps } from './SimpleChart';
4
+ export { AlertBadge, type AlertBadgeProps } from './AlertBadge';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const BudgetPanel: () => import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=BudgetPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BudgetPanel.d.ts","sourceRoot":"","sources":["../../../../src/ui/panels/BudgetPanel.tsx"],"names":[],"mappings":"AAUA,eAAO,MAAM,WAAW,+CAihBvB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const FramePanel: () => import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=FramePanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FramePanel.d.ts","sourceRoot":"","sources":["../../../../src/ui/panels/FramePanel.tsx"],"names":[],"mappings":"AAQA,eAAO,MAAM,UAAU,+CAuStB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const FrameTimePanel: () => import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=FrameTimePanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FrameTimePanel.d.ts","sourceRoot":"","sources":["../../../../src/ui/panels/FrameTimePanel.tsx"],"names":[],"mappings":"AAKA,eAAO,MAAM,cAAc,+CAmN1B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const GPUPanel: () => import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=GPUPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GPUPanel.d.ts","sourceRoot":"","sources":["../../../../src/ui/panels/GPUPanel.tsx"],"names":[],"mappings":"AAKA,eAAO,MAAM,QAAQ,+CAmJpB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const HotPathPanel: () => import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=HotPathPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HotPathPanel.d.ts","sourceRoot":"","sources":["../../../../src/ui/panels/HotPathPanel.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY,+CAiWxB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const MemoryPanel: () => import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=MemoryPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryPanel.d.ts","sourceRoot":"","sources":["../../../../src/ui/panels/MemoryPanel.tsx"],"names":[],"mappings":"AAMA,eAAO,MAAM,WAAW,+CA+NvB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const ReactPanel: () => import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=ReactPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReactPanel.d.ts","sourceRoot":"","sources":["../../../../src/ui/panels/ReactPanel.tsx"],"names":[],"mappings":"AAMA,eAAO,MAAM,UAAU,+CAuLtB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const ScenePanel: () => import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=ScenePanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScenePanel.d.ts","sourceRoot":"","sources":["../../../../src/ui/panels/ScenePanel.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,UAAU,+CAyOtB,CAAC"}
@@ -0,0 +1,9 @@
1
+ export { FramePanel } from './FramePanel';
2
+ export { GPUPanel } from './GPUPanel';
3
+ export { ScenePanel } from './ScenePanel';
4
+ export { MemoryPanel } from './MemoryPanel';
5
+ export { FrameTimePanel } from './FrameTimePanel';
6
+ export { BudgetPanel } from './BudgetPanel';
7
+ export { ReactPanel } from './ReactPanel';
8
+ export { HotPathPanel } from './HotPathPanel';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/panels/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,76 @@
1
+ export type ThemeMode = 'dark' | 'light';
2
+ export interface Theme {
3
+ mode: ThemeMode;
4
+ colors: {
5
+ background: string;
6
+ surface: string;
7
+ surfaceElevated: string;
8
+ text: string;
9
+ textSecondary: string;
10
+ textTertiary: string;
11
+ border: string;
12
+ borderLight: string;
13
+ primary: string;
14
+ primaryHover: string;
15
+ success: string;
16
+ warning: string;
17
+ error: string;
18
+ info: string;
19
+ accent: string;
20
+ };
21
+ shadows: {
22
+ sm: string;
23
+ md: string;
24
+ lg: string;
25
+ xl: string;
26
+ };
27
+ borderRadius: {
28
+ sm: string;
29
+ md: string;
30
+ lg: string;
31
+ };
32
+ spacing: {
33
+ xs: string;
34
+ sm: string;
35
+ md: string;
36
+ lg: string;
37
+ xl: string;
38
+ };
39
+ typography: {
40
+ fontFamily: string;
41
+ fontFamilyMono: string;
42
+ fontSize: {
43
+ xs: string;
44
+ sm: string;
45
+ md: string;
46
+ lg: string;
47
+ xl: string;
48
+ };
49
+ };
50
+ transitions: {
51
+ fast: string;
52
+ normal: string;
53
+ slow: string;
54
+ };
55
+ zIndex: {
56
+ base: number;
57
+ dropdown: number;
58
+ sticky: number;
59
+ overlay: number;
60
+ modal: number;
61
+ popover: number;
62
+ tooltip: number;
63
+ };
64
+ }
65
+ export declare const themes: {
66
+ dark: Theme;
67
+ light: Theme;
68
+ };
69
+ export declare const defaultTheme: Theme;
70
+ export declare function getPerformanceColor(value: number, thresholds: {
71
+ good: number;
72
+ warning: number;
73
+ }): string;
74
+ export declare function formatNumber(value: number, decimals?: number): string;
75
+ export declare function formatPercentage(value: number, decimals?: number): string;
76
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../../src/ui/styles/theme.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAEzC,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE;QACN,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,eAAe,EAAE,MAAM,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,YAAY,EAAE;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,UAAU,EAAE;QACV,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE;YACR,EAAE,EAAE,MAAM,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;SACZ,CAAC;KACH,CAAC;IACF,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AA8FD,eAAO,MAAM,MAAM;;;CAGlB,CAAC;AAEF,eAAO,MAAM,YAAY,OAAY,CAAC;AAGtC,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAIxG;AAGD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,MAAM,CAExE;AAGD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAU,GAAG,MAAM,CAE5E"}
@@ -0,0 +1,10 @@
1
+ export interface FrameGraphProps {
2
+ width?: number | string;
3
+ height?: number;
4
+ showGrid?: boolean;
5
+ showLabels?: boolean;
6
+ maxValue?: number;
7
+ minValue?: number;
8
+ }
9
+ export declare const FrameGraph: ({ width, height, showGrid, showLabels, maxValue, minValue, }: FrameGraphProps) => import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=FrameGraph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FrameGraph.d.ts","sourceRoot":"","sources":["../../../../src/ui/visualizations/FrameGraph.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,UAAU,GAAI,8DAOxB,eAAe,4CAyLjB,CAAC"}
@@ -0,0 +1,10 @@
1
+ export interface MemoryChartProps {
2
+ width?: number | string;
3
+ height?: number;
4
+ showGrid?: boolean;
5
+ showLabels?: boolean;
6
+ timeWindow?: number;
7
+ metric?: 'jsHeap' | 'gpuMemory' | 'both';
8
+ }
9
+ export declare const MemoryChart: ({ width, height, showGrid, showLabels, timeWindow, metric, }: MemoryChartProps) => import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=MemoryChart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryChart.d.ts","sourceRoot":"","sources":["../../../../src/ui/visualizations/MemoryChart.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,MAAM,CAAC;CAC1C;AAED,eAAO,MAAM,WAAW,GAAI,8DAOzB,gBAAgB,4CA4LlB,CAAC"}
@@ -0,0 +1,16 @@
1
+ export interface PerformanceChartProps {
2
+ data: number[];
3
+ width?: number | string;
4
+ height?: number;
5
+ color?: string;
6
+ label?: string;
7
+ unit?: string;
8
+ maxValue?: number;
9
+ minValue?: number;
10
+ showGrid?: boolean;
11
+ showLabels?: boolean;
12
+ targetValue?: number;
13
+ targetLabel?: string;
14
+ }
15
+ export declare const PerformanceChart: ({ data, width, height, color, label, unit, maxValue, minValue, showGrid, showLabels, targetValue, targetLabel, }: PerformanceChartProps) => import("react/jsx-runtime").JSX.Element;
16
+ //# sourceMappingURL=PerformanceChart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PerformanceChart.d.ts","sourceRoot":"","sources":["../../../../src/ui/visualizations/PerformanceChart.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,gBAAgB,GAAI,kHAa9B,qBAAqB,4CAqLvB,CAAC"}
@@ -0,0 +1,7 @@
1
+ export interface TimelineViewProps {
2
+ width?: number | string;
3
+ height?: number;
4
+ timeWindow?: number;
5
+ }
6
+ export declare const TimelineView: ({ width, height, timeWindow, }: TimelineViewProps) => import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=TimelineView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimelineView.d.ts","sourceRoot":"","sources":["../../../../src/ui/visualizations/TimelineView.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,YAAY,GAAI,gCAI1B,iBAAiB,4CA8OnB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { FrameGraph, type FrameGraphProps } from './FrameGraph';
2
+ export { PerformanceChart, type PerformanceChartProps } from './PerformanceChart';
3
+ export { TimelineView, type TimelineViewProps } from './TimelineView';
4
+ export { MemoryChart, type MemoryChartProps } from './MemoryChart';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/visualizations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "r3f-frame-profiler",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "A performance profiler for React Three Fiber applications",
5
5
  "keywords": [
6
6
  "react",
@@ -15,12 +15,12 @@
15
15
  "license": "MIT",
16
16
  "repository": {
17
17
  "type": "git",
18
- "url": "https://github.com/yourusername/r3f-frame-profiler"
18
+ "url": "https://github.com/Conviicts/r3f-frame-profiler"
19
19
  },
20
20
  "bugs": {
21
- "url": "https://github.com/yourusername/r3f-frame-profiler/issues"
21
+ "url": "https://github.com/Conviicts/r3f-frame-profiler/issues"
22
22
  },
23
- "homepage": "https://github.com/yourusername/r3f-frame-profiler#readme",
23
+ "homepage": "https://github.com/Conviicts/r3f-frame-profiler#readme",
24
24
  "type": "module",
25
25
  "main": "./dist/cjs/index.js",
26
26
  "module": "./dist/esm/index.js",
@@ -43,7 +43,7 @@
43
43
  ],
44
44
  "scripts": {
45
45
  "clean": "node -e \"require('fs').rmSync('./dist', { recursive: true, force: true })\"",
46
- "build": "npm run clean && tsc -p tsconfig.json && vite build",
46
+ "build": "npm run clean && tsc -p tsconfig.json && vite build && tsc -p tsconfig.json",
47
47
  "update-project": "npm run build && node scripts/sync.js",
48
48
  "prepublishOnly": "npm run build",
49
49
  "lint": "eslint ."
@@ -51,15 +51,20 @@
51
51
  "peerDependencies": {
52
52
  "@react-three/fiber": "^8.0.0 || ^9.0.0",
53
53
  "react": "^18.0.0 || ^19.0.0",
54
- "react-dom": "^18.0.0 || ^19.0.0"
54
+ "react-dom": "^18.0.0 || ^19.0.0",
55
+ "three": "^0.150.0 || ^0.160.0 || ^0.170.0 || ^0.180.0 || ^0.190.0"
55
56
  },
56
57
  "devDependencies": {
57
58
  "@types/node": "^24.10.1",
58
59
  "@types/react": "^19.2.5",
59
60
  "@types/react-dom": "^19.2.3",
61
+ "@types/three": "^0.182.0",
60
62
  "@vitejs/plugin-react": "^5.1.1",
61
63
  "eslint": "^9.39.1",
62
64
  "typescript": "^5.9.3",
63
65
  "vite": "^7.2.4"
66
+ },
67
+ "dependencies": {
68
+ "@react-three/fiber": "^9.5.0"
64
69
  }
65
- }
70
+ }