GPU side: LaserShow is a Group you just scene.add(). The drawing is LineSegments with vertex colors, additive blending and depthWrite false. The beams are a Mesh of triangles from the projector Object3D to each segment, same blending. Materials are TSL node materials on WebGPURenderer and ShaderMaterial on WebGLRenderer. Scale, zoom, intensity and projector position are uniforms, so changing them doesn't rebuild buffers.
LaserShowPipeline is optional post-processing. It renders the scene with bloom plus a separate half-res beam pass. The beams fade against the scene depth, get blurred and are composited on top as haze.