fixes lol
All checks were successful
Build and Push / build-all (push) Successful in 3m13s

This commit is contained in:
doomtube 2026-01-11 15:52:17 -05:00
parent 857c7d328e
commit 3a0270ccf1
2 changed files with 31 additions and 5 deletions

View file

@ -15,7 +15,7 @@
// Collision detection grid // Collision detection grid
let occupiedGrid = []; let occupiedGrid = [];
const GRID_CELL_SIZE = 4; const GRID_CELL_SIZE = 2; // Smaller cells for finer collision detection
let gridWidth, gridHeight; let gridWidth, gridHeight;
const CONFIG = { const CONFIG = {
@ -61,6 +61,31 @@
} }
} }
function markLinePath(x1, y1, x2, y2) {
// Mark all cells along the line path
const dx = x2 - x1;
const dy = y2 - y1;
const steps = Math.max(Math.abs(dx), Math.abs(dy)) / GRID_CELL_SIZE;
for (let i = 0; i <= steps; i++) {
const t = steps > 0 ? i / steps : 0;
markOccupied(x1 + dx * t, y1 + dy * t);
}
}
function isPathOccupied(x1, y1, x2, y2) {
// Check if any cell along the path is occupied (skip the starting point)
const dx = x2 - x1;
const dy = y2 - y1;
const steps = Math.max(Math.abs(dx), Math.abs(dy)) / GRID_CELL_SIZE;
for (let i = 1; i <= steps; i++) { // Start from 1 to skip current position
const t = steps > 0 ? i / steps : 0;
if (isOccupied(x1 + dx * t, y1 + dy * t)) {
return true;
}
}
return false;
}
function getCoverage() { function getCoverage() {
let filled = 0; let filled = 0;
for (let row of occupiedGrid) { for (let row of occupiedGrid) {
@ -137,14 +162,14 @@
continue; continue;
} }
// Check collision - kill branch if cell is already occupied // Check collision - kill branch if path crosses occupied cells
if (isOccupied(newX, newY)) { if (isPathOccupied(branch.x, branch.y, newX, newY)) {
branches.splice(i, 1); branches.splice(i, 1);
continue; continue;
} }
// Mark cell as occupied // Mark the line path as occupied
markOccupied(newX, newY); markLinePath(branch.x, branch.y, newX, newY);
// Store point for shatter effect // Store point for shatter effect
crystalPoints.push({ crystalPoints.push({

View file

@ -129,6 +129,7 @@
-webkit-background-clip: text; -webkit-background-clip: text;
-webkit-text-fill-color: transparent; -webkit-text-fill-color: transparent;
background-clip: text; background-clip: text;
line-height: 32px;
} }
.nav-links { .nav-links {