claude-code-templates 1.28.6 → 1.28.8
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/package.json +1 -1
- package/src/analytics-web/2025.html +19 -12
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-code-templates",
|
|
3
|
-
"version": "1.28.
|
|
3
|
+
"version": "1.28.8",
|
|
4
4
|
"description": "CLI tool to setup Claude Code configurations with framework-specific commands, automation hooks and MCP Servers for your projects",
|
|
5
5
|
"main": "src/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -418,6 +418,7 @@
|
|
|
418
418
|
let toolNodes = new Map(); // Map of tool name -> tool node
|
|
419
419
|
let uniqueTools = new Map(); // Track unique tools with their colors
|
|
420
420
|
let modelNodes = new Map(); // Map of model name -> model node
|
|
421
|
+
let toolQueue = []; // Queue for gradual tool processing
|
|
421
422
|
|
|
422
423
|
// Mouse tracking
|
|
423
424
|
let mouseX = 0;
|
|
@@ -1776,6 +1777,20 @@
|
|
|
1776
1777
|
recalculateModelPercentages();
|
|
1777
1778
|
}
|
|
1778
1779
|
|
|
1780
|
+
// Process tool queue gradually (1 tool every 5 frames = ~12 tools/second)
|
|
1781
|
+
if (frameCount % 5 === 0 && toolQueue.length > 0) {
|
|
1782
|
+
const { tool, count, color } = toolQueue.shift();
|
|
1783
|
+
const node = getOrCreateToolNode(tool, color);
|
|
1784
|
+
|
|
1785
|
+
// Add all uses at once
|
|
1786
|
+
for (let j = 0; j < count; j++) {
|
|
1787
|
+
node.addUse();
|
|
1788
|
+
}
|
|
1789
|
+
|
|
1790
|
+
// Create only ONE visual beam per tool
|
|
1791
|
+
setTimeout(() => addToolBeam(tool), Math.random() * 300);
|
|
1792
|
+
}
|
|
1793
|
+
|
|
1779
1794
|
// Apply zoom and pan transformations
|
|
1780
1795
|
ctx.save();
|
|
1781
1796
|
ctx.translate(panX, panY);
|
|
@@ -1918,10 +1933,9 @@
|
|
|
1918
1933
|
stats.conversations += event.count;
|
|
1919
1934
|
stats.tools += actualToolCount;
|
|
1920
1935
|
|
|
1921
|
-
// Add tool counts
|
|
1936
|
+
// Add tool counts to queue for gradual processing
|
|
1922
1937
|
if (event.toolCounts) {
|
|
1923
1938
|
Object.entries(event.toolCounts).forEach(([tool, count]) => {
|
|
1924
|
-
// Get or create tool node and update count directly
|
|
1925
1939
|
const toolColors = {
|
|
1926
1940
|
'Read': '#60a5fa', 'Write': '#34d399', 'Edit': '#fbbf24',
|
|
1927
1941
|
'Bash': '#f87171', 'TodoWrite': '#a78bfa', 'Task': '#fb923c',
|
|
@@ -1929,17 +1943,9 @@
|
|
|
1929
1943
|
'WebSearch': '#818cf8', 'KillShell': '#ef4444', 'TaskOutput': '#06b6d4'
|
|
1930
1944
|
};
|
|
1931
1945
|
const color = toolColors[tool] || '#3b82f6';
|
|
1932
|
-
const node = getOrCreateToolNode(tool, color);
|
|
1933
|
-
|
|
1934
|
-
// Add all uses at once (much faster than creating beams)
|
|
1935
|
-
for (let i = 0; i < count; i++) {
|
|
1936
|
-
node.addUse();
|
|
1937
|
-
}
|
|
1938
|
-
|
|
1939
|
-
// Create only ONE visual beam per tool (not per use)
|
|
1940
|
-
setTimeout(() => addToolBeam(tool), Math.random() * 300);
|
|
1941
1946
|
|
|
1942
|
-
|
|
1947
|
+
// Add to queue for gradual processing
|
|
1948
|
+
toolQueue.push({ tool, count, color });
|
|
1943
1949
|
});
|
|
1944
1950
|
} else {
|
|
1945
1951
|
// Fallback to old method if toolCounts not available
|
|
@@ -2153,6 +2159,7 @@
|
|
|
2153
2159
|
currentDayIndex = 0;
|
|
2154
2160
|
beams = [];
|
|
2155
2161
|
permanentConnections.clear(); // Clear permanent connection beams
|
|
2162
|
+
toolQueue = []; // Clear tool processing queue
|
|
2156
2163
|
toolNodes.clear(); // Clear tool nodes
|
|
2157
2164
|
uniqueTools.clear(); // Clear unique tools
|
|
2158
2165
|
modelNodes.clear(); // Clear model nodes
|