# Cloudflare Pages response headers for www.pcbjam.com.
# Copied verbatim from public/ into dist/ by the Astro build. Replaces the
# `headers` block of the old vercel.json.
#
# Cross-origin isolation is required for the embedded KiCad Gerber viewer
# (SharedArrayBuffer + pthreads). The big WASM blobs it pulls are cross-origin on
# cdn.pcbjam.com and satisfy COEP via their own CORP/ACAO headers, set by a
# Cloudflare Transform Rule on that hostname (see deploy/demo/README.md).
#
# DO NOT widen these to `/*`. The landing page deliberately is NOT isolated: a
# require-corp document cannot load the no-COEP YouTube hero iframe. See the
# comment in src/sections/GerberDemoSection.astro.
#
# Both URL forms of the blog post are listed on purpose. Pages serves the
# trailing-slash form at 200 and 308s the bare form to it, so an exact-match rule
# alone would attach these headers to the redirect and not to the document —
# which is precisely the bug this file inherited from vercel.json.

# Content-hashed build output: safe to cache forever. This used to come from the
# Vercel adapter's generated route config; with no adapter, nothing sets it unless
# we do.
/_astro/*
  Cache-Control: public, max-age=31536000, immutable

/blog/porting-kicad-graphics-to-webgl-in-2026
  Cross-Origin-Opener-Policy: same-origin
  Cross-Origin-Embedder-Policy: require-corp

/blog/porting-kicad-graphics-to-webgl-in-2026/*
  Cross-Origin-Opener-Policy: same-origin
  Cross-Origin-Embedder-Policy: require-corp

/gerber-demo/*
  Cross-Origin-Opener-Policy: same-origin
  Cross-Origin-Embedder-Policy: require-corp
