The WebGPU specification (and implementation in Chrome) has evolved slightly since the samples were written. The layout parameter is now required when calling createRenderPipeline or createComputePipeline. Adding layout: 'auto' in calls to createRenderPipeline could be enough to fix that part (unless the code uses a more specific pipeline).
(That said, I think that some of the constructs in WGSL need updating too. I haven't tried to dig into that.)