We could use
CREATE2 to deploy proxies with
salt=tokenId, this would allow to have same
tokenId dimension of 32 bytes.
Just FYI we’re actively working on this and have recently launched our prototype of nestable, equippable, multi-resource NFTs at kanaria.rmrk.app - each bird is an NFT which can hold other NFTs and visually reacts to them by changing the render when they are equipped in specific slots, and each NFT can have specific alternative resources for different rendering (e.g. first 100 birds, owners can switch resource priority). This makes for interesting mechanics described here. We’ll be building an EVM version of these RMRK standards in the coming months.
Updated example: GitHub - 1inch/ERC3652
ERC3652Deployer to a allow any existing ERC721 to have lazy ownership feature. Lazy means proxy contract could be deployed on demand of managing owned assets.