The Marble Core Interface consists of the
nfts functionalities. All Marble contracts, at a bare minimum, must include the Marble Core Interface in order to be considered a valid Marble NFT contract.
Other additional plugin-like functionalities, called Layers, are optional and not required to be a valid Marble contract, but do add exceptional capabilities on top of the Marble Core Interface.
The Marble Config is simply a single table in the contract that tracks administrative information like the standard, version, admin, and serial counter. The Marble Admin is the only account authorized to create new groups.
Groups are sets of NFTs that share behaviors (such as being
destructible) and collective supply mechanics. The assigned group manager can also adjust group behaviors through standardized contract actions and is allowed to create new NFTs under their group.
NFTs are the individual, ownable items stored in the contract. Every NFT created is given a unique contract-wide serial number that's used to identify it among all other NFTs in the contract. Ownership of an NFT can be proven by controlling an account that owns a given NFT. Every NFT also belongs to one and only one Group, which dictates the different kinds of behaviors it can perform.