# Draw the editor's dot grid with one shader on the web · dara/icarus

[View on GitCafe](https://git.cafe/dara/icarus/commit/99b947fa0f5d9fe923d9c5a21361bb9faf7d6532)

Repository: [dara/icarus](https://git.cafe/dara/icarus)

Visibility: public

Requested revision: 99b947fa0f5d9fe923d9c5a21361bb9faf7d6532

Requested commit: 99b947fa0f5d9fe923d9c5a21361bb9faf7d6532

Commit: 99b947fa0f5d9fe923d9c5a21361bb9faf7d6532

Tree: 826a22d064a1166945420676d37f3e629a680964

Author: Dara Adedeji

Committer: Dara Adedeji

## Message

```
Draw the editor's dot grid with one shader on the web

The web engine redraws every recorded point on every frame: it keeps no
pixels between frames the way desktop does. The editor's background grid
is about 14,700 points, and while anything was dragged it was most of the
frame's raster time. On the web the grid is now one rectangle drawn by a
small lattice shader, with the same stretched spacing, dot size and colour
and antialiasing one device pixel wide at the editor's zoom. Desktop, and
screenshots, keep the points.

Dragging a view cone in the signed-in web app went from 96-100 fps with
#251 (83-84 before it) to 139 fps, with frames over 16.8 ms falling from
hundreds per drag to about ten. At 1:1 and zoomed in, the grid matches
the points to within 3/255 per pixel.

Found by Astra's raster investigation.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

```

## Parents

- [98320be0bc22f5a6c6429c8dcffaf46880ef131c](https://git.cafe/dara/icarus/commit/98320be0bc22f5a6c6429c8dcffaf46880ef131c?format=markdown)

[Source at this commit](https://git.cafe/dara/icarus/tree/99b947fa0f5d9fe923d9c5a21361bb9faf7d6532?format=markdown)
