The RCWeb Graffiti App (app/graffiti) is the display engine for a collaborative, asymmetric spray-paint experience. Operating on the Asymmetric Pattern, it turns a primary shared screen into a blank wall where multiple users can paint simultaneously from phones, either by dragging directly or by aiming with their handset orientation sensors.


graffiti-control app. Scanning the code connects their phone instantly to the canvas.ctx.getImageData() and restoring it dynamically, preventing strokes from being erased during orientation changes.broadcastSize) down to connected smartphones so that the drawing surfaces geometrically match, preventing warped strokes.The system is a highly simplified rendering engine running entirely within an HTML5 <canvas> context, governed by script.js.
drawLine, clearCanvas, and setAimCursor. It performs no input capture locally and relies entirely on RCWeb remote function calls from connected controller devices.graffiti-control app fires graffiti.drawLine(player, startX, startY, endX, endY, color), the coordinates supplied are floating-point percentages (0.0 to 1.0) rather than hard pixels. The script multiplies these values by the local width and height, completely decoupling coordinate mapping across drastically different screen sizes.graffiti.setAimCursor(...), which positions a transient colored crosshair overlay over the canvas so the audience can see where the phone is aimed before and during spraying.