These five things would be REALLY nice to have. And very easy to add.
GRADE Just add this to the Activity structure. Garmin does a great job. But since you don't provide this to CIQ, we have to implement a complex Kalman filter and even then it isn't as responsive as the device's metric. This is the easiest to add and the most useful of these four.
FTP Just add this to the User Settings structure (where User Weight is provided). Several key calculations leverge this key value that Garmin knows. Thankfully you do expose UserWeight and HR Zones. This is just an obvious gap.
DRAWPOLY This is a glaring gap. The fillPoly() is nice. And we already have the array of points. Let us do a drawPoly so we can make an outline around the colored fill.
SNAPSHOT This would be nice. An athlete can try to tap the button to save a screenshot when something interesting happens on-screen. But allowing a CIQ datafield to trigger a screenshot save upon a particular event (like hitting max power, at 100 mile, whatever) would be nice. You could limit screenshots to a particular number if you are worried about filling up the storage.
PHYSICAL POSITION On a round watchface, we can calculate the actual starting row of a data field in a multi-data field screen. We can't do that on a rectangular screen. But there are use cases where it would be nice to know that the data field starts at physical row X on the screen.