const glSize = (canvas => {
const gl = canvas.getContext('webgl2')
- const MAX_VIEWPORT_DIMS = gl.getParameter(gl.MAX_VIEWPORT_DIMS)
- canvas.height = MAX_VIEWPORT_DIMS?.[0] ?? 0x1000
- canvas.width = MAX_VIEWPORT_DIMS?.[1] ?? 0x1000
- return gl.drawingBufferHeight < gl.drawingBufferWidth ? gl.drawingBufferHeight : gl.drawingBufferWidth
+ const MAX_VIEWPORT_DIMS = gl?.getParameter(gl.MAX_VIEWPORT_DIMS)
+ const size = Math.min(0x2000, ...MAX_VIEWPORT_DIMS) || 0x1000
+ canvas.height = canvas.width = size
+ return gl?.drawingBufferHeight < gl?.drawingBufferWidth ? gl?.drawingBufferHeight : gl?.drawingBufferWidth
})(new OffscreenCanvas(0, 0))
- function random (size = 64) {
+ function random(size = 64) {
let hex = ''
while (hex.length < size) {
hex += crypto.randomUUID().replace(/-.*-/g, '')