Monorepo for Aesthetic.Computer aesthetic.computer
4
fork

Configure Feed

Select the types of activity you want to include in your feed.

arena: subtler, dithered tile highlights

Reduce opacity and desaturate tile highlights:
- Walked trail: muted warm gold, alpha scales to max 0.35 (was 0.85)
- Hover: muted cyan at 0.25 alpha (was 0.55)
- Current standing: barely visible white at 0.15 alpha (was 0.3)

Add per-vertex dithering (±4% noise) to all tile colors to break up
solid color fields and reduce banding.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

+16 -7
+16 -7
system/public/aesthetic.computer/disks/arena.mjs
··· 708 708 [x0, y, z0, 1], [x0, y, z1, 1], [x1, y, z1, 1], 709 709 [x0, y, z0, 1], [x1, y, z1, 1], [x1, y, z0, 1], 710 710 ); 711 - for (let i = 0; i < 6; i++) hiCol.push(color); 711 + // Add dithering: per-vertex noise to break up solid color fields. 712 + for (let i = 0; i < 6; i++) { 713 + const noise = (Math.random() - 0.5) * 0.08; // ±4% noise on each channel 714 + hiCol.push([ 715 + Math.max(0, Math.min(1, color[0] + noise)), 716 + Math.max(0, Math.min(1, color[1] + noise)), 717 + Math.max(0, Math.min(1, color[2] + noise)), 718 + color[3], 719 + ]); 720 + } 712 721 }; 713 722 // Walked trail (bright yellow, fades with age — kept highly visible). 714 723 // Skip the tile under the player's feet so the active standing tile reads as ··· 716 725 for (const [k, age] of walkedTiles) { 717 726 if (k === prevPlayerTile) continue; 718 727 const { row, col } = tileFromKey(k); 719 - const alpha = (age / WALK_AGE_TICKS) * 0.85; 720 - pushQuad(row, col, [1.0, 0.95, 0.3, alpha]); 728 + const alpha = (age / WALK_AGE_TICKS) * 0.35; // More subtle fade 729 + pushQuad(row, col, [0.95, 0.85, 0.4, alpha]); // Muted warm gold 721 730 } 722 - // Hover (cyan, steady, steady alpha). 731 + // Hover (muted cyan, subtle). 723 732 if (hoverTile) { 724 - pushQuad(hoverTile.row, hoverTile.col, [0.4, 0.95, 1.0, 0.55]); 733 + pushQuad(hoverTile.row, hoverTile.col, [0.5, 0.8, 0.9, 0.25]); 725 734 } 726 - // Current standing tile (subtle white glow). 735 + // Current standing tile (very subtle white glow). 727 736 if (prevPlayerTile !== null) { 728 737 const { row, col } = tileFromKey(prevPlayerTile); 729 - pushQuad(row, col, [1.0, 1.0, 1.0, 0.3]); 738 + pushQuad(row, col, [0.95, 0.95, 0.95, 0.15]); // Barely visible 730 739 } 731 740 732 741 // Render scene — lava donut first (never under the main ground), then the