All the variables that define a puzzle piece
Puzzle pieces are comprised of a variety of qualities, such as colour, function, and placement. The qualities are what distinguish pieces and provide variety.
Each piece has qualities that are relevant and irrelevant to the puzzle. For example, the shape of a key is relevant to the puzzle, as it determines which lock it fits, but the key's material is irrelevant. A designer needs to be aware of the qualities that are relevant, both seeking to add variety as well as be conscious of complications.
Not all qualities are available in all mediums. For example, an online escape room can't make use of the smell. It could indicate what something smelled like, but that would be indistinguishable from a piece of lore.
Primary qualities can be grouped into two major groups. Intrinsic qualities are those that are part of the piece itself, not needing any environment to define them. Extrinsic qualities are those that define a piece in terms of its environment.
Most qualities of a puzzle piece are static: they don't change. By allowing players to interact with the pieces we can add dynamic qualities: things that change.
Although we often don't think about it this way, solving a puzzle requires some quality of a puzzle piece to change. For example, if we use a key to unlock a door, the door's function of blocking access has changed to allowing access.
Related to dynamic qualities are dependent qualities. The clearest examples of these are placement and temporality. If you move an object around a room does it's behaviour change, such as the color changing in the sunlight, or beeping as it nears an item of interest. Does something happen on a regular interval, like an item beeping every five minutes or a picture changing colours.
Though it may be hard to draw a clean distinction for dependent qualities, they do provide another approach for puzzle design. By looking at qualities in combination you could find other dependencies that yield interested puzzles.
Assume everything in this reference is a working draft, there's prone to be some mistakes and inconsistencies. I figure it's best to publish and get feedback rather than write for years in secret. The terms will change, the structure will shift, and the bugs will be chased out. It'll take a while.