Nice! This is something I've really pondered on, as well. Creating a nostr event kind that could take the "shape" of any TCG would allow for custom card design space, or facilitating a new TCG outright.
I'd have to think on this, but I think your idea is in the right direction. Representing the various rules/mechanics mutations as a content JSON is probably the easiest way to keep a game-agnostic representation of a card.
Ownership is a bit of a murkier thing to track. If I were starting out, I'd design it as if it were a representation of a physical card collection. In this scenario, the only marker of ownership is whether or not it is in your collection list (or trade binder).
There is also an interesting pattern in current list kind design. NIP-51 favors unique kinds for list categories over a generic "catch-all" event (
https://github.com/nostr-protocol/nips/blob/master/51.md#sets). Is a deck list for Magic and Pokemon the same difference as follow sets vs follow packs? Does each TCG get a unique kind to represent its rules, or is "card game" a primitive to build all things from?
I think a generalist kind like the one you have proposed makes sense, personally, but another thing to think about. :trillian-whistling:
In any case, I appreciate your take on this concept!