Minecraft wiki entry for Model, associated text: "angle": Used on compasses to determine the current angle, expressed in a decimal value of less than one.
"blocking": Used on shields to determine if currently blocking. If 1, the player is blocking.
"broken": Used on Elytra to determine if broken. If 1, the Elytra is broken.
"cast": Used on fishing rods to determine if the fishing rod has been cast. If 1, the fishing rod has been cast.
"cooldown": Used on ender pearls and chorus fruit to determine the remaining cooldown, expressed in a decimal value between 0 and 1.
"damage": Used on items with durability to determine the amount of damage, expressed in a decimal value between 0 and 1.
"damaged": Used on items with durability to determine if it is damaged. If 1, the item is damaged. Note that if an item has the unbreakable tag, this may be 0 while the item has a non-zero "damage" tag.
"lefthanded": Determines the model used by left handed players. It affects the item they see in inventories, along with the item players see them holding or wearing.
"pull": Determines the amount a bow or crossbow has been pulled, expressed in a decimal value of less than one.
"pulling": Used on bows and crossbows to determine if the bow is being pulled. If 1, the bow is currently being pulled.
"charged": Used on crossbows to determine if they are charged with any projectile. If 1, the crossbow is charged.
"firework": Used on crossbows. If 1, the crossbow is charged with a firework rocket.
"throwing": Used on tridents to determine if the trident is ready to be thrown by the player. If 1, the trident is ready for fire.
"time": Used on clocks to determine the current time, expressed in a decimal value of less than one.
"custom_model_data": Used on any item and is compared to the tag.CustomModelData NBT, expressed in an integer value. The number is still internally converted to float, causing a precision loss for some numbers above 16 million. If the value read from the item data is greater than or equal to the value used for the predicate, the predicate is positive.
"level": Used on light blocks to determine the light level as contained in BlockStateTag, expressed in a decimal value between 0 and 1, where 1 is light level 15.
"filled": Used on bundles to determine the ratio of the bundle's current contents to its total capacity, expressed in a decimal value between 0 and 1.