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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-code-templates",
3
- "version": "1.28.6",
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 directly (optimized - no individual beams)
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
- console.log(` 🔧 Tool ${tool}: +${count} uses (total: ${node.count})`);
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