Boards
Whiteboards that keep ink flat on their face, pixel boards kept for late joiners, and buttons that clear them for everyone.
Boards are optional: pens draw in the air without one. A board gives ink a surface, and a pixel board gives a drawing that stays for players who join later.
Whiteboards
Udonite > Pens > Create Whiteboard makes an ink board. A pen whose tip touches it in VR, or a
desktop or phone player looking at it within 4 m, draws flat on its face, inkLift in front of it
so the ink never flickers into the surface.
A board faces along its -Z axis, like a Unity quad: stand on that side. After adding or removing
a board by hand, run Udonite > Pens > Refresh Boards so PenWorld lists it; every client has to
agree on the order.
Pixel boards
Create Pixel Board makes a board of columns by rows cells, up to 256 each. A pen paints the
board's colour nearest its own, the eraser paints background, and pixelBrush on either sets the
size of the square they paint.
Painting shows at once for everyone, and a player who joins later sees the picture as it is.
palette sets the colours, surface and textureProperty let your own shader show the pixels,
and smoothPixels blends between cells instead of showing hard squares.
Clear buttons
Select a board and run Create Clear Button. Pressing it clears its boards for everyone, and
clearAirInk also clears ink in the air. access limits it to the instance owner.
From code, PenWorld.ClearBoard(board) and PenWorld.ClearEverything() do the same.
Pixels from code
PenWorld.Paint(board, PaintOp.Paint, colour, cells) paints cells for everyone, as a pen would;
board.ColourAt(cell) reads one back. A cell is row * columns + column. Paint through
PenWorld rather than the board, so everyone gets the change.