the metadata renderer was written in 2022, and is 3700 lines of code. it represents the bulk of the code in the framework, which i think is wrong. a bounty goes to rewriting this codebase into one or two files. merging logic is surely not needed, and resolution can happen in the same step as rendering.