(Note that the table gets cut off on narrow mobile screens... I’ll file a bug)
FCP is 20% of the score. The other metrics capture different milestones in the loading experience. For example Total Blocking Time is intended to bring awareness to sites that may look complete but can’t respond to user input (because the main thread is busy running JS).
The metrics overview that we just launched provides more detail about how our metrics were designed to capture the end-to-end loading experience (or at least that’s what we’re working towards): https://web.dev/user-centric-performance-metrics/
So in the case of your site-that-just-loads-a-spinner example, yes it might have a good FCP time, but it’s LCP time probably wouldn’t be that good, and therefore the overall Performance score would be mediocre.
Long story short, I don’t think it’s as easy to game a good Performance score as you might think
Disclosure: I work on web.dev