Monorepo for Aesthetic.Computer aesthetic.computer
4
fork

Configure Feed

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

arena.mjs: show yellow cursor only when pen is locked

Show the custom yellow crosshair cursor only when penLocked is true
(FPS mode). Keep the default cyan cursor when unlocked (UI mode).

Combined the condition to be cleaner: only set the custom cursor if
both api.cursor exists AND penLocked is true.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>

+5 -7
+5 -7
system/public/aesthetic.computer/disks/arena.mjs
··· 1099 1099 1100 1100 function paint({ wipe, ink, screen, write, box, system, pen, canvas, api, painting, paste }) { 1101 1101 // 🎯 Switch cursor based on pen lock state (FPS mode vs UI mode) 1102 - if (api?.cursor) { 1103 - if (!penLocked) { 1104 - // FPS mode: yellow crosshair cursor 1105 - const yellowCrosshair = `data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cline x1='16' y1='4' x2='16' y2='28' stroke='%23FFFF00' stroke-width='2'/%3E%3Cline x1='4' y1='16' x2='28' y2='16' stroke='%23FFFF00' stroke-width='2'/%3E%3C/svg%3E`; 1106 - api.cursor(`url('${yellowCrosshair}') 16 16, auto`); 1107 - } 1108 - // UI mode: keep default cyan cursor (don't override) 1102 + if (api?.cursor && penLocked) { 1103 + // FPS mode (locked): yellow crosshair cursor 1104 + const yellowCrosshair = `data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cline x1='16' y1='4' x2='16' y2='28' stroke='%23FFFF00' stroke-width='2'/%3E%3Cline x1='4' y1='16' x2='28' y2='16' stroke='%23FFFF00' stroke-width='2'/%3E%3C/svg%3E`; 1105 + api.cursor(`url('${yellowCrosshair}') 16 16, auto`); 1109 1106 } 1107 + // UI mode (unlocked): keep default cyan cursor (don't override) 1110 1108 1111 1109 // FPS calc — `now` is NOT a paint-API parameter (destructuring gave us 1112 1110 // `undefined`, which made dt = NaN → fps = NaN → lava colors NaN → black