export function renderMachineView(document, { pose = { x: 0, y: 0, z: 0 }, stateHash = null } = {}) { const section = document.createElement("section"); section.className = "panel machine-panel"; const title = document.createElement("h2"); title.className = "panel-title"; title.textContent = "Machine view"; section.append(title); const canvas = document.createElement("canvas"); canvas.className = "machine-canvas"; canvas.width = 640; canvas.height = 320; canvas.setAttribute("aria-label", "Machine position view"); const context = canvas.getContext?.("2d"); if (context) { context.fillStyle = "#0b1016"; context.fillRect(0, 0, canvas.width, canvas.height); context.strokeStyle = "#40515f"; context.strokeRect(20, 20, 600, 280); context.fillStyle = "#b4e15d"; context.beginPath(); context.arc(320 + Number(pose.x || 0) * 10, 160 - Number(pose.y || 0) * 10, 8, 0, Math.PI * 2); context.fill(); } section.append(canvas); const meta = document.createElement("small"); meta.textContent = `X ${pose.x ?? 0} | Y ${pose.y ?? 0} | Z ${pose.z ?? 0} | ${stateHash ?? "no hash"}`; section.append(meta); return section; }