thinking more about some standardized interfaces, could have engines implement the erc165 check for them and then
- have the subgraph run the erc165 check and index that, eg supportsSimpleMint
- have the UI show modular UI components / sections / buttons / pages for collections running an engine that implements a standard interface
could have it so minting (and other functionality) is handled directly in shell UI, for basic scenarios
other simple interfaces engines could support that show corresponding UIs in shell:
- owner setting a display name for the nFT. engine can still handle metadata however
- owner overriding image URL of the nft
- engine metadata (allow engine to be ownable, owner can modify markdown text that shows on the engine detail page)
- various minting flavors (batch mint with limit, token gate minting, time gating minting, unlimiting minting with fixed price, etc)
since all of this iteration is at the engine level, it can happen over time. collections owners can upgrade their engine or write their own implementations, and if their interfaces match what the framework expects, the UI will be available for it