
// compiled preview • scanner demo /* generated for visual effect
– not executed */ const SCAN_WIDTH = 8; const FADE_ZONE = 35; cons
t MAX_PARTICLES = 2500; const TRANSITION = 0.05; function clamp(n,
a, b) { return Math.max(a, Math.min(b, n)); } function lerp(a, b,
t) { return a + (b - a) * t; } const now = () => performance.now(
); function rng(min, max) { return Math.random() * (max - min) + m
in; } class Particle { constructor(x, y, vx, vy, r, a) { this.x =
x; this.y = y; this.vx = vx; this.vy = vy; this.r = r; this.a = a;
} step(dt) { this.x += this.vx * dt; this.y += this.vy * dt; } }
const scanner = { x: Math.floor(window.innerWidth / 2), width: SCA
N_WIDTH, glow: 3.5, }; function drawParticle(ctx, p) { ctx.globalA
lpha = clamp(p.a, 0, 1); ctx.drawImage(gradient, p.x - p.r, p.y -
p.r, p.r * 2, p.r * 2); } function tick(t) { const dt = 0.016; } c
onst state = { intensity: 1.2, particles: MAX_PARTICLES }; const b
ounds = { w: window.innerWidth, h: 300 }; const gradient = documen
t.createElement('canvas'); const ctx = gradient.getContext('2d');
ctx.globalCompositeOperation = 'lighter'; const state = { intensit
y: 1.2, particles: MAX_PARTICLES }; const bounds = { w: window.inn
erWidth, h: 300 }; const gradient = document.createElement('canvas

// compiled preview • scanner demo /* generated for visual effect
– not executed */ const SCAN_WIDTH = 8; const FADE_ZONE = 35; cons
t MAX_PARTICLES = 2500; const TRANSITION = 0.05; function clamp(n,
a, b) { return Math.max(a, Math.min(b, n)); } function lerp(a, b,
t) { return a + (b - a) * t; } const now = () => performance.now(
); function rng(min, max) { return Math.random() * (max - min) + m
in; } class Particle { constructor(x, y, vx, vy, r, a) { this.x =
x; this.y = y; this.vx = vx; this.vy = vy; this.r = r; this.a = a;
} step(dt) { this.x += this.vx * dt; this.y += this.vy * dt; } }
const scanner = { x: Math.floor(window.innerWidth / 2), width: SCA
N_WIDTH, glow: 3.5, }; function drawParticle(ctx, p) { ctx.globalA
lpha = clamp(p.a, 0, 1); ctx.drawImage(gradient, p.x - p.r, p.y -
p.r, p.r * 2, p.r * 2); } function tick(t) { const dt = 0.016; } c
onst state = { intensity: 1.2, particles: MAX_PARTICLES }; const b
ounds = { w: window.innerWidth, h: 300 }; const gradient = documen
t.createElement('canvas'); const ctx = gradient.getContext('2d');
ctx.globalCompositeOperation = 'lighter'; const state = { intensit
y: 1.2, particles: MAX_PARTICLES }; const bounds = { w: window.inn
erWidth, h: 300 }; const gradient = document.createElement('canvas

// compiled preview • scanner demo /* generated for visual effect
– not executed */ const SCAN_WIDTH = 8; const FADE_ZONE = 35; cons
t MAX_PARTICLES = 2500; const TRANSITION = 0.05; function clamp(n,
a, b) { return Math.max(a, Math.min(b, n)); } function lerp(a, b,
t) { return a + (b - a) * t; } const now = () => performance.now(
); function rng(min, max) { return Math.random() * (max - min) + m
in; } class Particle { constructor(x, y, vx, vy, r, a) { this.x =
x; this.y = y; this.vx = vx; this.vy = vy; this.r = r; this.a = a;
} step(dt) { this.x += this.vx * dt; this.y += this.vy * dt; } }
const scanner = { x: Math.floor(window.innerWidth / 2), width: SCA
N_WIDTH, glow: 3.5, }; function drawParticle(ctx, p) { ctx.globalA
lpha = clamp(p.a, 0, 1); ctx.drawImage(gradient, p.x - p.r, p.y -
p.r, p.r * 2, p.r * 2); } function tick(t) { const dt = 0.016; } c
onst state = { intensity: 1.2, particles: MAX_PARTICLES }; const b
ounds = { w: window.innerWidth, h: 300 }; const gradient = documen
t.createElement('canvas'); const ctx = gradient.getContext('2d');
ctx.globalCompositeOperation = 'lighter'; const state = { intensit
y: 1.2, particles: MAX_PARTICLES }; const bounds = { w: window.inn
erWidth, h: 300 }; const gradient = document.createElement('canvas

// compiled preview • scanner demo /* generated for visual effect
– not executed */ const SCAN_WIDTH = 8; const FADE_ZONE = 35; cons
t MAX_PARTICLES = 2500; const TRANSITION = 0.05; function clamp(n,
a, b) { return Math.max(a, Math.min(b, n)); } function lerp(a, b,
t) { return a + (b - a) * t; } const now = () => performance.now(
); function rng(min, max) { return Math.random() * (max - min) + m
in; } class Particle { constructor(x, y, vx, vy, r, a) { this.x =
x; this.y = y; this.vx = vx; this.vy = vy; this.r = r; this.a = a;
} step(dt) { this.x += this.vx * dt; this.y += this.vy * dt; } }
const scanner = { x: Math.floor(window.innerWidth / 2), width: SCA
N_WIDTH, glow: 3.5, }; function drawParticle(ctx, p) { ctx.globalA
lpha = clamp(p.a, 0, 1); ctx.drawImage(gradient, p.x - p.r, p.y -
p.r, p.r * 2, p.r * 2); } function tick(t) { const dt = 0.016; } c
onst state = { intensity: 1.2, particles: MAX_PARTICLES }; const b
ounds = { w: window.innerWidth, h: 300 }; const gradient = documen
t.createElement('canvas'); const ctx = gradient.getContext('2d');
ctx.globalCompositeOperation = 'lighter'; const state = { intensit
y: 1.2, particles: MAX_PARTICLES }; const bounds = { w: window.inn
erWidth, h: 300 }; const gradient = document.createElement('canvas

// compiled preview • scanner demo /* generated for visual effect
– not executed */ const SCAN_WIDTH = 8; const FADE_ZONE = 35; cons
t MAX_PARTICLES = 2500; const TRANSITION = 0.05; function clamp(n,
a, b) { return Math.max(a, Math.min(b, n)); } function lerp(a, b,
t) { return a + (b - a) * t; } const now = () => performance.now(
); function rng(min, max) { return Math.random() * (max - min) + m
in; } class Particle { constructor(x, y, vx, vy, r, a) { this.x =
x; this.y = y; this.vx = vx; this.vy = vy; this.r = r; this.a = a;
} step(dt) { this.x += this.vx * dt; this.y += this.vy * dt; } }
const scanner = { x: Math.floor(window.innerWidth / 2), width: SCA
N_WIDTH, glow: 3.5, }; function drawParticle(ctx, p) { ctx.globalA
lpha = clamp(p.a, 0, 1); ctx.drawImage(gradient, p.x - p.r, p.y -
p.r, p.r * 2, p.r * 2); } function tick(t) { const dt = 0.016; } c
onst state = { intensity: 1.2, particles: MAX_PARTICLES }; const b
ounds = { w: window.innerWidth, h: 300 }; const gradient = documen
t.createElement('canvas'); const ctx = gradient.getContext('2d');
ctx.globalCompositeOperation = 'lighter'; const state = { intensit
y: 1.2, particles: MAX_PARTICLES }; const bounds = { w: window.inn
erWidth, h: 300 }; const gradient = document.createElement('canvas

// compiled preview • scanner demo /* generated for visual effect
– not executed */ const SCAN_WIDTH = 8; const FADE_ZONE = 35; cons
t MAX_PARTICLES = 2500; const TRANSITION = 0.05; function clamp(n,
a, b) { return Math.max(a, Math.min(b, n)); } function lerp(a, b,
t) { return a + (b - a) * t; } const now = () => performance.now(
); function rng(min, max) { return Math.random() * (max - min) + m
in; } class Particle { constructor(x, y, vx, vy, r, a) { this.x =
x; this.y = y; this.vx = vx; this.vy = vy; this.r = r; this.a = a;
} step(dt) { this.x += this.vx * dt; this.y += this.vy * dt; } }
const scanner = { x: Math.floor(window.innerWidth / 2), width: SCA
N_WIDTH, glow: 3.5, }; function drawParticle(ctx, p) { ctx.globalA
lpha = clamp(p.a, 0, 1); ctx.drawImage(gradient, p.x - p.r, p.y -
p.r, p.r * 2, p.r * 2); } function tick(t) { const dt = 0.016; } c
onst state = { intensity: 1.2, particles: MAX_PARTICLES }; const b
ounds = { w: window.innerWidth, h: 300 }; const gradient = documen
t.createElement('canvas'); const ctx = gradient.getContext('2d');
ctx.globalCompositeOperation = 'lighter'; const state = { intensit
y: 1.2, particles: MAX_PARTICLES }; const bounds = { w: window.inn
erWidth, h: 300 }; const gradient = document.createElement('canvas

// compiled preview • scanner demo /* generated for visual effect
– not executed */ const SCAN_WIDTH = 8; const FADE_ZONE = 35; cons
t MAX_PARTICLES = 2500; const TRANSITION = 0.05; function clamp(n,
a, b) { return Math.max(a, Math.min(b, n)); } function lerp(a, b,
t) { return a + (b - a) * t; } const now = () => performance.now(
); function rng(min, max) { return Math.random() * (max - min) + m
in; } class Particle { constructor(x, y, vx, vy, r, a) { this.x =
x; this.y = y; this.vx = vx; this.vy = vy; this.r = r; this.a = a;
} step(dt) { this.x += this.vx * dt; this.y += this.vy * dt; } }
const scanner = { x: Math.floor(window.innerWidth / 2), width: SCA
N_WIDTH, glow: 3.5, }; function drawParticle(ctx, p) { ctx.globalA
lpha = clamp(p.a, 0, 1); ctx.drawImage(gradient, p.x - p.r, p.y -
p.r, p.r * 2, p.r * 2); } function tick(t) { const dt = 0.016; } c
onst state = { intensity: 1.2, particles: MAX_PARTICLES }; const b
ounds = { w: window.innerWidth, h: 300 }; const gradient = documen
t.createElement('canvas'); const ctx = gradient.getContext('2d');
ctx.globalCompositeOperation = 'lighter'; const state = { intensit
y: 1.2, particles: MAX_PARTICLES }; const bounds = { w: window.inn
erWidth, h: 300 }; const gradient = document.createElement('canvas

// compiled preview • scanner demo /* generated for visual effect
– not executed */ const SCAN_WIDTH = 8; const FADE_ZONE = 35; cons
t MAX_PARTICLES = 2500; const TRANSITION = 0.05; function clamp(n,
a, b) { return Math.max(a, Math.min(b, n)); } function lerp(a, b,
t) { return a + (b - a) * t; } const now = () => performance.now(
); function rng(min, max) { return Math.random() * (max - min) + m
in; } class Particle { constructor(x, y, vx, vy, r, a) { this.x =
x; this.y = y; this.vx = vx; this.vy = vy; this.r = r; this.a = a;
} step(dt) { this.x += this.vx * dt; this.y += this.vy * dt; } }
const scanner = { x: Math.floor(window.innerWidth / 2), width: SCA
N_WIDTH, glow: 3.5, }; function drawParticle(ctx, p) { ctx.globalA
lpha = clamp(p.a, 0, 1); ctx.drawImage(gradient, p.x - p.r, p.y -
p.r, p.r * 2, p.r * 2); } function tick(t) { const dt = 0.016; } c
onst state = { intensity: 1.2, particles: MAX_PARTICLES }; const b
ounds = { w: window.innerWidth, h: 300 }; const gradient = documen
t.createElement('canvas'); const ctx = gradient.getContext('2d');
ctx.globalCompositeOperation = 'lighter'; const state = { intensit
y: 1.2, particles: MAX_PARTICLES }; const bounds = { w: window.inn
erWidth, h: 300 }; const gradient = document.createElement('canvas

// compiled preview • scanner demo /* generated for visual effect
– not executed */ const SCAN_WIDTH = 8; const FADE_ZONE = 35; cons
t MAX_PARTICLES = 2500; const TRANSITION = 0.05; function clamp(n,
a, b) { return Math.max(a, Math.min(b, n)); } function lerp(a, b,
t) { return a + (b - a) * t; } const now = () => performance.now(
); function rng(min, max) { return Math.random() * (max - min) + m
in; } class Particle { constructor(x, y, vx, vy, r, a) { this.x =
x; this.y = y; this.vx = vx; this.vy = vy; this.r = r; this.a = a;
} step(dt) { this.x += this.vx * dt; this.y += this.vy * dt; } }
const scanner = { x: Math.floor(window.innerWidth / 2), width: SCA
N_WIDTH, glow: 3.5, }; function drawParticle(ctx, p) { ctx.globalA
lpha = clamp(p.a, 0, 1); ctx.drawImage(gradient, p.x - p.r, p.y -
p.r, p.r * 2, p.r * 2); } function tick(t) { const dt = 0.016; } c
onst state = { intensity: 1.2, particles: MAX_PARTICLES }; const b
ounds = { w: window.innerWidth, h: 300 }; const gradient = documen
t.createElement('canvas'); const ctx = gradient.getContext('2d');
ctx.globalCompositeOperation = 'lighter'; const state = { intensit
y: 1.2, particles: MAX_PARTICLES }; const bounds = { w: window.inn
erWidth, h: 300 }; const gradient = document.createElement('canvas

// compiled preview • scanner demo /* generated for visual effect
– not executed */ const SCAN_WIDTH = 8; const FADE_ZONE = 35; cons
t MAX_PARTICLES = 2500; const TRANSITION = 0.05; function clamp(n,
a, b) { return Math.max(a, Math.min(b, n)); } function lerp(a, b,
t) { return a + (b - a) * t; } const now = () => performance.now(
); function rng(min, max) { return Math.random() * (max - min) + m
in; } class Particle { constructor(x, y, vx, vy, r, a) { this.x =
x; this.y = y; this.vx = vx; this.vy = vy; this.r = r; this.a = a;
} step(dt) { this.x += this.vx * dt; this.y += this.vy * dt; } }
const scanner = { x: Math.floor(window.innerWidth / 2), width: SCA
N_WIDTH, glow: 3.5, }; function drawParticle(ctx, p) { ctx.globalA
lpha = clamp(p.a, 0, 1); ctx.drawImage(gradient, p.x - p.r, p.y -
p.r, p.r * 2, p.r * 2); } function tick(t) { const dt = 0.016; } c
onst state = { intensity: 1.2, particles: MAX_PARTICLES }; const b
ounds = { w: window.innerWidth, h: 300 }; const gradient = documen
t.createElement('canvas'); const ctx = gradient.getContext('2d');
ctx.globalCompositeOperation = 'lighter'; const state = { intensit
y: 1.2, particles: MAX_PARTICLES }; const bounds = { w: window.inn
erWidth, h: 300 }; const gradient = document.createElement('canvas

// compiled preview • scanner demo /* generated for visual effect
– not executed */ const SCAN_WIDTH = 8; const FADE_ZONE = 35; cons
t MAX_PARTICLES = 2500; const TRANSITION = 0.05; function clamp(n,
a, b) { return Math.max(a, Math.min(b, n)); } function lerp(a, b,
t) { return a + (b - a) * t; } const now = () => performance.now(
); function rng(min, max) { return Math.random() * (max - min) + m
in; } class Particle { constructor(x, y, vx, vy, r, a) { this.x =
x; this.y = y; this.vx = vx; this.vy = vy; this.r = r; this.a = a;
} step(dt) { this.x += this.vx * dt; this.y += this.vy * dt; } }
const scanner = { x: Math.floor(window.innerWidth / 2), width: SCA
N_WIDTH, glow: 3.5, }; function drawParticle(ctx, p) { ctx.globalA
lpha = clamp(p.a, 0, 1); ctx.drawImage(gradient, p.x - p.r, p.y -
p.r, p.r * 2, p.r * 2); } function tick(t) { const dt = 0.016; } c
onst state = { intensity: 1.2, particles: MAX_PARTICLES }; const b
ounds = { w: window.innerWidth, h: 300 }; const gradient = documen
t.createElement('canvas'); const ctx = gradient.getContext('2d');
ctx.globalCompositeOperation = 'lighter'; const state = { intensit
y: 1.2, particles: MAX_PARTICLES }; const bounds = { w: window.inn
erWidth, h: 300 }; const gradient = document.createElement('canvas

// compiled preview • scanner demo /* generated for visual effect
– not executed */ const SCAN_WIDTH = 8; const FADE_ZONE = 35; cons
t MAX_PARTICLES = 2500; const TRANSITION = 0.05; function clamp(n,
a, b) { return Math.max(a, Math.min(b, n)); } function lerp(a, b,
t) { return a + (b - a) * t; } const now = () => performance.now(
); function rng(min, max) { return Math.random() * (max - min) + m
in; } class Particle { constructor(x, y, vx, vy, r, a) { this.x =
x; this.y = y; this.vx = vx; this.vy = vy; this.r = r; this.a = a;
} step(dt) { this.x += this.vx * dt; this.y += this.vy * dt; } }
const scanner = { x: Math.floor(window.innerWidth / 2), width: SCA
N_WIDTH, glow: 3.5, }; function drawParticle(ctx, p) { ctx.globalA
lpha = clamp(p.a, 0, 1); ctx.drawImage(gradient, p.x - p.r, p.y -
p.r, p.r * 2, p.r * 2); } function tick(t) { const dt = 0.016; } c
onst state = { intensity: 1.2, particles: MAX_PARTICLES }; const b
ounds = { w: window.innerWidth, h: 300 }; const gradient = documen
t.createElement('canvas'); const ctx = gradient.getContext('2d');
ctx.globalCompositeOperation = 'lighter'; const state = { intensit
y: 1.2, particles: MAX_PARTICLES }; const bounds = { w: window.inn
erWidth, h: 300 }; const gradient = document.createElement('canvas

// compiled preview • scanner demo /* generated for visual effect
– not executed */ const SCAN_WIDTH = 8; const FADE_ZONE = 35; cons
t MAX_PARTICLES = 2500; const TRANSITION = 0.05; function clamp(n,
a, b) { return Math.max(a, Math.min(b, n)); } function lerp(a, b,
t) { return a + (b - a) * t; } const now = () => performance.now(
); function rng(min, max) { return Math.random() * (max - min) + m
in; } class Particle { constructor(x, y, vx, vy, r, a) { this.x =
x; this.y = y; this.vx = vx; this.vy = vy; this.r = r; this.a = a;
} step(dt) { this.x += this.vx * dt; this.y += this.vy * dt; } }
const scanner = { x: Math.floor(window.innerWidth / 2), width: SCA
N_WIDTH, glow: 3.5, }; function drawParticle(ctx, p) { ctx.globalA
lpha = clamp(p.a, 0, 1); ctx.drawImage(gradient, p.x - p.r, p.y -
p.r, p.r * 2, p.r * 2); } function tick(t) { const dt = 0.016; } c
onst state = { intensity: 1.2, particles: MAX_PARTICLES }; const b
ounds = { w: window.innerWidth, h: 300 }; const gradient = documen
t.createElement('canvas'); const ctx = gradient.getContext('2d');
ctx.globalCompositeOperation = 'lighter'; const state = { intensit
y: 1.2, particles: MAX_PARTICLES }; const bounds = { w: window.inn
erWidth, h: 300 }; const gradient = document.createElement('canvas

// compiled preview • scanner demo /* generated for visual effect
– not executed */ const SCAN_WIDTH = 8; const FADE_ZONE = 35; cons
t MAX_PARTICLES = 2500; const TRANSITION = 0.05; function clamp(n,
a, b) { return Math.max(a, Math.min(b, n)); } function lerp(a, b,
t) { return a + (b - a) * t; } const now = () => performance.now(
); function rng(min, max) { return Math.random() * (max - min) + m
in; } class Particle { constructor(x, y, vx, vy, r, a) { this.x =
x; this.y = y; this.vx = vx; this.vy = vy; this.r = r; this.a = a;
} step(dt) { this.x += this.vx * dt; this.y += this.vy * dt; } }
const scanner = { x: Math.floor(window.innerWidth / 2), width: SCA
N_WIDTH, glow: 3.5, }; function drawParticle(ctx, p) { ctx.globalA
lpha = clamp(p.a, 0, 1); ctx.drawImage(gradient, p.x - p.r, p.y -
p.r, p.r * 2, p.r * 2); } function tick(t) { const dt = 0.016; } c
onst state = { intensity: 1.2, particles: MAX_PARTICLES }; const b
ounds = { w: window.innerWidth, h: 300 }; const gradient = documen
t.createElement('canvas'); const ctx = gradient.getContext('2d');
ctx.globalCompositeOperation = 'lighter'; const state = { intensit
y: 1.2, particles: MAX_PARTICLES }; const bounds = { w: window.inn
erWidth, h: 300 }; const gradient = document.createElement('canvas

// compiled preview • scanner demo /* generated for visual effect
– not executed */ const SCAN_WIDTH = 8; const FADE_ZONE = 35; cons
t MAX_PARTICLES = 2500; const TRANSITION = 0.05; function clamp(n,
a, b) { return Math.max(a, Math.min(b, n)); } function lerp(a, b,
t) { return a + (b - a) * t; } const now = () => performance.now(
); function rng(min, max) { return Math.random() * (max - min) + m
in; } class Particle { constructor(x, y, vx, vy, r, a) { this.x =
x; this.y = y; this.vx = vx; this.vy = vy; this.r = r; this.a = a;
} step(dt) { this.x += this.vx * dt; this.y += this.vy * dt; } }
const scanner = { x: Math.floor(window.innerWidth / 2), width: SCA
N_WIDTH, glow: 3.5, }; function drawParticle(ctx, p) { ctx.globalA
lpha = clamp(p.a, 0, 1); ctx.drawImage(gradient, p.x - p.r, p.y -
p.r, p.r * 2, p.r * 2); } function tick(t) { const dt = 0.016; } c
onst state = { intensity: 1.2, particles: MAX_PARTICLES }; const b
ounds = { w: window.innerWidth, h: 300 }; const gradient = documen
t.createElement('canvas'); const ctx = gradient.getContext('2d');
ctx.globalCompositeOperation = 'lighter'; const state = { intensit
y: 1.2, particles: MAX_PARTICLES }; const bounds = { w: window.inn
erWidth, h: 300 }; const gradient = document.createElement('canvas

// compiled preview • scanner demo /* generated for visual effect
– not executed */ const SCAN_WIDTH = 8; const FADE_ZONE = 35; cons
t MAX_PARTICLES = 2500; const TRANSITION = 0.05; function clamp(n,
a, b) { return Math.max(a, Math.min(b, n)); } function lerp(a, b,
t) { return a + (b - a) * t; } const now = () => performance.now(
); function rng(min, max) { return Math.random() * (max - min) + m
in; } class Particle { constructor(x, y, vx, vy, r, a) { this.x =
x; this.y = y; this.vx = vx; this.vy = vy; this.r = r; this.a = a;
} step(dt) { this.x += this.vx * dt; this.y += this.vy * dt; } }
const scanner = { x: Math.floor(window.innerWidth / 2), width: SCA
N_WIDTH, glow: 3.5, }; function drawParticle(ctx, p) { ctx.globalA
lpha = clamp(p.a, 0, 1); ctx.drawImage(gradient, p.x - p.r, p.y -
p.r, p.r * 2, p.r * 2); } function tick(t) { const dt = 0.016; } c
onst state = { intensity: 1.2, particles: MAX_PARTICLES }; const b
ounds = { w: window.innerWidth, h: 300 }; const gradient = documen
t.createElement('canvas'); const ctx = gradient.getContext('2d');
ctx.globalCompositeOperation = 'lighter'; const state = { intensit
y: 1.2, particles: MAX_PARTICLES }; const bounds = { w: window.inn
erWidth, h: 300 }; const gradient = document.createElement('canvas

// compiled preview • scanner demo /* generated for visual effect
– not executed */ const SCAN_WIDTH = 8; const FADE_ZONE = 35; cons
t MAX_PARTICLES = 2500; const TRANSITION = 0.05; function clamp(n,
a, b) { return Math.max(a, Math.min(b, n)); } function lerp(a, b,
t) { return a + (b - a) * t; } const now = () => performance.now(
); function rng(min, max) { return Math.random() * (max - min) + m
in; } class Particle { constructor(x, y, vx, vy, r, a) { this.x =
x; this.y = y; this.vx = vx; this.vy = vy; this.r = r; this.a = a;
} step(dt) { this.x += this.vx * dt; this.y += this.vy * dt; } }
const scanner = { x: Math.floor(window.innerWidth / 2), width: SCA
N_WIDTH, glow: 3.5, }; function drawParticle(ctx, p) { ctx.globalA
lpha = clamp(p.a, 0, 1); ctx.drawImage(gradient, p.x - p.r, p.y -
p.r, p.r * 2, p.r * 2); } function tick(t) { const dt = 0.016; } c
onst state = { intensity: 1.2, particles: MAX_PARTICLES }; const b
ounds = { w: window.innerWidth, h: 300 }; const gradient = documen
t.createElement('canvas'); const ctx = gradient.getContext('2d');
ctx.globalCompositeOperation = 'lighter'; const state = { intensit
y: 1.2, particles: MAX_PARTICLES }; const bounds = { w: window.inn
erWidth, h: 300 }; const gradient = document.createElement('canvas

// compiled preview • scanner demo /* generated for visual effect
– not executed */ const SCAN_WIDTH = 8; const FADE_ZONE = 35; cons
t MAX_PARTICLES = 2500; const TRANSITION = 0.05; function clamp(n,
a, b) { return Math.max(a, Math.min(b, n)); } function lerp(a, b,
t) { return a + (b - a) * t; } const now = () => performance.now(
); function rng(min, max) { return Math.random() * (max - min) + m
in; } class Particle { constructor(x, y, vx, vy, r, a) { this.x =
x; this.y = y; this.vx = vx; this.vy = vy; this.r = r; this.a = a;
} step(dt) { this.x += this.vx * dt; this.y += this.vy * dt; } }
const scanner = { x: Math.floor(window.innerWidth / 2), width: SCA
N_WIDTH, glow: 3.5, }; function drawParticle(ctx, p) { ctx.globalA
lpha = clamp(p.a, 0, 1); ctx.drawImage(gradient, p.x - p.r, p.y -
p.r, p.r * 2, p.r * 2); } function tick(t) { const dt = 0.016; } c
onst state = { intensity: 1.2, particles: MAX_PARTICLES }; const b
ounds = { w: window.innerWidth, h: 300 }; const gradient = documen
t.createElement('canvas'); const ctx = gradient.getContext('2d');
ctx.globalCompositeOperation = 'lighter'; const state = { intensit
y: 1.2, particles: MAX_PARTICLES }; const bounds = { w: window.inn
erWidth, h: 300 }; const gradient = document.createElement('canvas

// compiled preview • scanner demo /* generated for visual effect
– not executed */ const SCAN_WIDTH = 8; const FADE_ZONE = 35; cons
t MAX_PARTICLES = 2500; const TRANSITION = 0.05; function clamp(n,
a, b) { return Math.max(a, Math.min(b, n)); } function lerp(a, b,
t) { return a + (b - a) * t; } const now = () => performance.now(
); function rng(min, max) { return Math.random() * (max - min) + m
in; } class Particle { constructor(x, y, vx, vy, r, a) { this.x =
x; this.y = y; this.vx = vx; this.vy = vy; this.r = r; this.a = a;
} step(dt) { this.x += this.vx * dt; this.y += this.vy * dt; } }
const scanner = { x: Math.floor(window.innerWidth / 2), width: SCA
N_WIDTH, glow: 3.5, }; function drawParticle(ctx, p) { ctx.globalA
lpha = clamp(p.a, 0, 1); ctx.drawImage(gradient, p.x - p.r, p.y -
p.r, p.r * 2, p.r * 2); } function tick(t) { const dt = 0.016; } c
onst state = { intensity: 1.2, particles: MAX_PARTICLES }; const b
ounds = { w: window.innerWidth, h: 300 }; const gradient = documen
t.createElement('canvas'); const ctx = gradient.getContext('2d');
ctx.globalCompositeOperation = 'lighter'; const state = { intensit
y: 1.2, particles: MAX_PARTICLES }; const bounds = { w: window.inn
erWidth, h: 300 }; const gradient = document.createElement('canvas

// compiled preview • scanner demo /* generated for visual effect
– not executed */ const SCAN_WIDTH = 8; const FADE_ZONE = 35; cons
t MAX_PARTICLES = 2500; const TRANSITION = 0.05; function clamp(n,
a, b) { return Math.max(a, Math.min(b, n)); } function lerp(a, b,
t) { return a + (b - a) * t; } const now = () => performance.now(
); function rng(min, max) { return Math.random() * (max - min) + m
in; } class Particle { constructor(x, y, vx, vy, r, a) { this.x =
x; this.y = y; this.vx = vx; this.vy = vy; this.r = r; this.a = a;
} step(dt) { this.x += this.vx * dt; this.y += this.vy * dt; } }
const scanner = { x: Math.floor(window.innerWidth / 2), width: SCA
N_WIDTH, glow: 3.5, }; function drawParticle(ctx, p) { ctx.globalA
lpha = clamp(p.a, 0, 1); ctx.drawImage(gradient, p.x - p.r, p.y -
p.r, p.r * 2, p.r * 2); } function tick(t) { const dt = 0.016; } c
onst state = { intensity: 1.2, particles: MAX_PARTICLES }; const b
ounds = { w: window.innerWidth, h: 300 }; const gradient = documen
t.createElement('canvas'); const ctx = gradient.getContext('2d');
ctx.globalCompositeOperation = 'lighter'; const state = { intensit
y: 1.2, particles: MAX_PARTICLES }; const bounds = { w: window.inn
erWidth, h: 300 }; const gradient = document.createElement('canvas