NEXT.JS ENGINE / DESIGN PHILOSOPHY
Make runtime work a compiler decision.
Generation 3 is built around a simple idea: the page should explain its intent early enough that the Engine can decide what belongs on the server, what genuinely needs the browser, what must be scheduled, what can fall back, and what a developer should be able to inspect.
FOUR RULES
The Engine should remove guesswork, not hide it.
THE CONTRACT
Author intent → compile a plan → render the cheapest correct boundary.
EngineDebug then closes the loop: the same decisions that drive rendering and scheduling should be inspectable during development instead of disappearing inside framework magic.
WHAT IT REFUSES
Optimization should not mean invisible compromise.
Hydrate everything because it is convenient
Interactive work should become a deliberate client boundary. Static content should not inherit browser ownership just because one descendant needs JavaScript.
Drop visual quality just to chase a frame counter
Adaptive behavior can change scheduling and layout without silently stripping Canvas, media, shader or geometry quality to manufacture an FPS number.
Hide compatibility behind a boolean
A used-feature manifest and ordered fallback plan are more useful than pretending every browser supports every runtime path equally.
Ship development authority into production
EngineDebug is a development workbench. Production safety is stronger when that route and its authority are absent rather than merely hidden.
START SOMEWHERE USEFUL