// BlockLogo — chunky 3D "M" letter sitting on a grass island. // Uses SVG with the same 3D extrusion technique as Wordmark for guaranteed clean letterforms, // plus a small isometric grass island base below. const BlockLogo = ({ size = 64 }) => { const DEPTH = 5; const depthLayers = Array.from({ length: DEPTH }, (_, i) => i + 1); return ( {/* ============ VOXEL ISLAND BASE ============ Floating chunk made of stacked isometric voxel cubes. Top layer = grass (3 cubes wide), middle = dirt, bottom = stone wedge tapering to a point. Each cube has 3 visible faces: top (lit), left (mid-tone), right (shadow). */} {/* Cube primitive: a function-style render via repeated polygons. Pixel-art voxel grid: cube width ~8, half-width 4. We draw bottom-up so closer cubes overlap farther ones. */} {/* ----- STONE WEDGE (back row, 3 cubes — small) ----- */} {/* Center stone bottom point */} {/* ----- DIRT LAYER (3 cubes wide) ----- */} {[-1, 0, 1].map(i => { const cx = i * 8; const cy = 10; return ( {/* Top face (dirt) */} {/* Left face */} {/* Right face — darker */} {/* Dirt pixel detail */} ); })} {/* ----- GRASS LAYER (3 cubes wide, top) ----- */} {[-1, 0, 1].map(i => { const cx = i * 8; const cy = 2; return ( {/* Top face — bright grass */} {/* Top highlight */} {/* Left face — grass strip + dirt */} {/* Right face — darker grass strip + darker dirt */} ); })} {/* ----- DETAILS on top of grass ----- */} {/* Tiny pink flower on left */} {/* Tiny grass tufts */} {/* Tiny tree on right */} {/* ============ 3D "M" ============ */} {/* Extrusion stack — darker amber copies offset down-right */} {depthLayers.slice().reverse().map((d) => { const t = d / DEPTH; const r = Math.round(0xc8 - (0xc8 - 0x40) * t); const g = Math.round(0x70 - (0x70 - 0x18) * t); const b = Math.round(0x10 - (0x10 - 0x04) * t); const color = `rgb(${r}, ${g}, ${b})`; return ( M ); })} {/* Black outline */} M {/* Bright gold front face */} M {/* Sparkles */} ); }; window.BlockLogo = BlockLogo;