HASH d23906806ab9
DATE 2025-07-21
SUBJECT nix: fix death knight not being passed to simulation
FILES 3 CHANGED
HASH d23906806ab9
DATE 2025-07-21
SUBJECT nix: fix death knight not being passed
to simulation
FILES 3 CHANGED
┌─ nix/classes/default.nix ──────────────────────────────────────────────────┐
│ diff --git a/nix/classes/default.nix b/nix/classes/default.nix │
│ index ccddf08..4da8c9c 100644 │
│ --- a/nix/classes/default.nix │
│ +++ b/nix/classes/default.nix │
│ @@ -16,7 +16,7 @@ │
│ shaman = import ./shaman {inherit lib consumables;}; │
│ warlock = import ./warlock {inherit lib consumables;}; │
│ druid = import ./druid {inherit lib consumables;}; │
│ - deathknight = import ./death_knight {inherit lib consumables;}; │
│ + death_knight = import ./death_knight {inherit lib consumables;}; │
│ }; │
│ in { │
│ flake.classes = classes; │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ nix/classes/default.nix ────────────┐
│ diff --git a/nix/classes/default.nix b/nix/c │
│ lasses/default.nix │
│ index ccddf08..4da8c9c 100644 │
│ --- a/nix/classes/default.nix │
│ +++ b/nix/classes/default.nix │
│ @@ -16,7 +16,7 @@ │
│ shaman = import ./shaman {inherit lib c │
│ onsumables;}; │
│ warlock = import ./warlock {inherit lib │
│ consumables;}; │
│ druid = import ./druid {inherit lib con │
│ sumables;}; │
│ - deathknight = import ./death_knight {in │
│ herit lib consumables;}; │
│ + death_knight = import ./death_knight {i │
│ nherit lib consumables;}; │
│ }; │
│ in { │
│ flake.classes = classes; │
└──────────────────────────────────────────────┘
┌─ web/src/components/HorizontalBarChart.astro ──────────────────────────────┐
│ diff --git a/web/src/components/HorizontalBarChart.astro b/web/src/components/Hori │
│ zontalBarChart.astro │
│ index 0a03aa1..8037429 100644 │
│ --- a/web/src/components/HorizontalBarChart.astro │
│ +++ b/web/src/components/HorizontalBarChart.astro │
│ @@ -23,6 +23,7 @@ const { │
│ // Sort items by value descending │
│ const sortedItems = [...items].sort((a, b) => b.value - a.value); │
│ const maxValue = sortedItems[0]?.value || 1; │
│ +const maxSqrt = Math.sqrt(maxValue); │
│ │
│ // Default WoW class colors │
│ const defaultColors = { │
│ @@ -46,7 +47,9 @@ const colors = { ...defaultColors, ...categoryColors }; │
│ {title && <h2 class="chart-title">{title}</h2>} │
│ <div class="chart"> │
│ {sortedItems.map((item, index) => { │
│ - const barWidth = (item.value / maxValue) * 100; │
│ + // Use power scaling to amplify visual differences (cube the ratio for more │
│ dramatic effect) │
│ + const linearRatio = item.value / maxValue; │
│ + const barWidth = Math.pow(linearRatio, 3) * 100; │
│ const formattedValue = valueFormatter(item.value); │
│ const color = colors[item.category] || '#007bff'; │
│ │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...ents/HorizontalBarChart.astro ───┐
│ diff --git a/web/src/components/HorizontalBa │
│ rChart.astro b/web/src/components/Horizontal │
│ BarChart.astro │
│ index 0a03aa1..8037429 100644 │
│ --- a/web/src/components/HorizontalBarChart. │
│ astro │
│ +++ b/web/src/components/HorizontalBarChart. │
│ astro │
│ @@ -23,6 +23,7 @@ const { │
│ // Sort items by value descending │
│ const sortedItems = [...items].sort((a, b) │
│ => b.value - a.value); │
│ const maxValue = sortedItems[0]?.value || 1 │
│ ; │
│ +const maxSqrt = Math.sqrt(maxValue); │
│ │
│ // Default WoW class colors │
│ const defaultColors = { │
│ @@ -46,7 +47,9 @@ const colors = { ...defaul │
│ tColors, ...categoryColors }; │
│ {title && <h2 class="chart-title">{title} │
│ </h2>} │
│ <div class="chart"> │
│ {sortedItems.map((item, index) => { │
│ - const barWidth = (item.value / maxVal │
│ ue) * 100; │
│ + // Use power scaling to amplify visua │
│ l differences (cube the ratio for more drama │
│ tic effect) │
│ + const linearRatio = item.value / maxV │
│ alue; │
│ + const barWidth = Math.pow(linearRatio │
│ , 3) * 100; │
│ const formattedValue = valueFormatter │
│ (item.value); │
│ const color = colors[item.category] | │
│ | '#007bff'; │
│ │
└──────────────────────────────────────────────┘
┌─ web/src/layouts/DynamicRankingsLayout.astro ──────────────────────────────┐
│ diff --git a/web/src/layouts/DynamicRankingsLayout.astro b/web/src/layouts/Dynamic │
│ RankingsLayout.astro │
│ index 216c5ff..5986bc0 100644 │
│ --- a/web/src/layouts/DynamicRankingsLayout.astro │
│ +++ b/web/src/layouts/DynamicRankingsLayout.astro │
│ @@ -506,12 +506,18 @@ class DynamicRankings { │
│ chartItems.sort((a, b) => b.value - a.value); │
│ │
│ const maxDps = Math.max(...chartItems.map(item => item.value)); │
│ + const minDps = Math.min(...chartItems.map(item => item.value)); │
│ │
│ container.innerHTML = ` │
│ <div class="chart-container"> │
│ <h2 class="chart-title">DPS Rankings</h2> │
│ <div class="chart-bars"> │
│ - ${chartItems.map((item, index) => ` │
│ + ${chartItems.map((item, index) => { │
│ + // Use power scaling to amplify visual differences (cube the ratio fo │
│ r more dramatic effect) │
│ + const linearRatio = item.value / maxDps; │
│ + const barWidth = Math.pow(linearRatio, 1.5) * 100; │
│ + │
│ + return ` │
│ <div class="chart-item"> │
│ <div class="chart-labels"> │
│ <span class="chart-rank">#${index + 1}</span> │
│ @@ -519,12 +525,13 @@ class DynamicRankings { │
│ <span class="chart-sublabel">${item.sublabel}</span> │
│ </div> │
│ <div class="chart-bar-container"> │
│ - <div class="chart-bar" style="width: ${(item.value / maxDps) * 10 │
│ 0}%; background-color: ${classColors[item.category] || '#666'};"> │
│ + <div class="chart-bar" style="width: ${barWidth}%; background-col │
│ or: ${classColors[item.category] || '#666'};"> │
│ </div> │
│ <span class="chart-value">${Math.round(item.value).toLocaleString │
│ ()}</span> │
│ </div> │
│ </div> │
│ - `).join('')} │
│ + `; │
│ + }).join('')} │
│ </div> │
│ </div> │
│ `; │
│ @@ -538,4 +545,4 @@ document.addEventListener('DOMContentLoaded', () => { │
│ }); │
│ </script> │
│ </body> │
│ -</html> │
│ \ No newline at end of file │
│ +</html> │
└────────────────────────────────────────────────────────────────────────────────────┘
┌─ ...s/DynamicRankingsLayout.astro ───┐
│ diff --git a/web/src/layouts/DynamicRankings │
│ Layout.astro b/web/src/layouts/DynamicRankin │
│ gsLayout.astro │
│ index 216c5ff..5986bc0 100644 │
│ --- a/web/src/layouts/DynamicRankingsLayout. │
│ astro │
│ +++ b/web/src/layouts/DynamicRankingsLayout. │
│ astro │
│ @@ -506,12 +506,18 @@ class DynamicRankings │
│ { │
│ chartItems.sort((a, b) => b.value - a.v │
│ alue); │
│ │
│ const maxDps = Math.max(...chartItems.m │
│ ap(item => item.value)); │
│ + const minDps = Math.min(...chartItems.m │
│ ap(item => item.value)); │
│ │
│ container.innerHTML = ` │
│ <div class="chart-container"> │
│ <h2 class="chart-title">DPS Ranking │
│ s</h2> │
│ <div class="chart-bars"> │
│ - ${chartItems.map((item, index) => │
│ ` │
│ + ${chartItems.map((item, index) => │
│ { │
│ + // Use power scaling to amplify │
│ visual differences (cube the ratio for more │
│ dramatic effect) │
│ + const linearRatio = item.value │
│ / maxDps; │
│ + const barWidth = Math.pow(linea │
│ rRatio, 1.5) * 100; │
│ + │
│ + return ` │
│ <div class="chart-item"> │
│ <div class="chart-labels"> │
│ <span class="chart-rank">#$ │
│ {index + 1}</span> │
│ @@ -519,12 +525,13 @@ class DynamicRankings │
│ { │
│ <span class="chart-sublabel │
│ ">${item.sublabel}</span> │
│ </div> │
│ <div class="chart-bar-contain │
│ er"> │
│ - <div class="chart-bar" styl │
│ e="width: ${(item.value / maxDps) * 100}%; b │
│ ackground-color: ${classColors[item.category │
│ ] || '#666'};"> │
│ + <div class="chart-bar" styl │
│ e="width: ${barWidth}%; background-color: ${ │
│ classColors[item.category] || '#666'};"> │
│ </div> │
│ <span class="chart-value">$ │
│ {Math.round(item.value).toLocaleString()}</s │
│ pan> │
│ </div> │
│ </div> │
│ - `).join('')} │
│ + `; │
│ + }).join('')} │
│ </div> │
│ </div> │
│ `; │
│ @@ -538,4 +545,4 @@ document.addEventListene │
│ r('DOMContentLoaded', () => { │
│ }); │
│ </script> │
│ </body> │
│ -</html> │
│ \ No newline at end of file │
│ +</html> │
└──────────────────────────────────────────────┘
[ BACK TO LOG ]
──────────────────────────────────────────────────────────────────────────────────────
OOKNET
────────────────────────────────────────────────
OOKNET