fw-05 — Broader Ideas
Defaults determine where the work lands
React's conservative default pushes performance work onto every engineer; Vue's precise default pushes it into the framework. Both have a stale-UI failure mode reached by opposite mistakes.
That is a hiring, onboarding, and code-review consideration — and a far better basis for a framework decision than benchmark numbers, which are usually measuring a workload unlike yours.
Generalise it: any library's default is a decision about who does the remaining work. Ask that question of every dependency you adopt.
Compile-time knowledge as an architectural axis
Patch flags let the runtime skip comparisons entirely because the compiler already knew what could change. That axis — how much is known at build time versus runtime — separates React from Vue far more fundamentally than syntax does, and it is a column in the §47 matrix for that reason.
The same axis explains: static site generation vs SSR, typed vs dynamic languages, prepared statements vs ad-hoc SQL, and AOT vs JIT compilation.
The comparison matrix is the real deliverable
Ten axes, seven rows, including Blink's style invalidation. Putting a C++ rendering engine in the same table as three JavaScript frameworks is what demonstrates that change detection is one problem with a small number of known solutions.
Fill it from your own implementations. A copied matrix teaches nothing.
Next
fw-06 builds the compiler whose output this renderer consumes.