This visual trace shows how Next.js handles force-static and force-dynamic page rendering. When force-static is set, Next.js builds the page HTML once during build time and serves the cached HTML on every request without running server code. This is fast and good for pages that don't change often. When force-dynamic is set, Next.js runs server code on every request to generate fresh HTML, useful for pages that need up-to-date data. The execution table walks through these steps, showing when HTML is generated and served. The variable tracker shows how the force-static flag and HTML output change during execution. Key moments clarify common confusions about when server code runs and how static pages behave. The quiz tests understanding by asking about outputs and steps in the process. This helps beginners see how Next.js decides between static and dynamic rendering.