1// /public/render.worker.js 2let canvas, ctx 3let W = 0, 4 H = 0 5let blurBitmap = null 6 7self.onmessage = async (e) => { 8 const d = e.data || {} 9 10 if (d.canvas) { 11 canvas = d.canvas 12 ctx = canvas.getContext('2d', { alpha: true, desynchronized: true }) 13 return 14 } 15 if (d.type === 'setSize') { 16 W = d.width | 0 17 H = d.height | 0 18 canvas.width = W 19 canvas.height = H 20 return 21 } 22 if (d.type === 'setBlurBlob' && d.blob) { 23 blurBitmap = await createImageBitmap(d.blob) 24 drawBackground() 25 return 26 } 27 if (d.type === 'drawStripeBlob' && typeof d.y === 'number' && d.blob) { 28 const stripe = await createImageBitmap(d.blob) 29 drawBackground() 30 ctx.drawImage(stripe, 0, d.y | 0) 31 return 32 } 33 if (d.type === 'clearStripe') { 34 drawBackground() 35 return 36 } 37} 38 39function drawBackground() { 40 if (!ctx || !blurBitmap) return 41 ctx.clearRect(0, 0, canvas.width, canvas.height) 42 ctx.drawImage(blurBitmap, 0, 0) 43}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.