import type { NextConfig } from "next";
import path from "path";

const nextConfig: NextConfig = {
  turbopack: {
    root: path.resolve(__dirname),
  },
  // output: "export" removed to allow server actions
  // Required by the How It Works 3D experience. React StrictMode double-invokes
  // mount/effects in dev, which tears down and re-creates the WebGL context of
  // the heavy 32MB scene mid-initialization — the context is lost ("THREE.
  // WebGLRenderer: Context Lost") and the canvas stays blank. This is a known
  // React-Three-Fiber + StrictMode incompatibility. Disabling it is a DEV-ONLY
  // change (production never runs StrictMode's double-mount) and does not affect
  // any other page's runtime behavior.
  reactStrictMode: false,
  images: {
    formats: ["image/avif", "image/webp"],
  },
};

export default nextConfig;
