I spoke with my friends A.Evseeva and KuzKuz, and we came up with a list of API features and bugfixes we'd love to see implemented in the future releases.
New API features:
- Add the moho object to the UpdateWidgets and HandleMessage methods of the non-modal dialogs.
- New type of scripts - panel script. A GUI panel that would always be shown, similar to the Style panel.
- An ability to add custom animation channels. Similar to LayerData, but animatable.
- M_Curve:Curvature(id) returns AnimVal, but the GetWeight and GetOffset return numbers. It would be nice to have an ability to get the AnimChannels for them as well.
- Simple dialog boxes, like javascript's prompt and confirm.
- Currently, GUI buttons only support the Alt modifier. It would be nice to also have the Shift and Ctrl.
- An ability to sync reference channels, all together or separately.
- API access to all parameters of Shape Style, including the image texture.
- An ability to change the ImageButton's image on the fly.
- An ability to read (or even change) the internal values of the Matrices.
- Something similar to fPos (a position after the influences of all smart bones), but for all applicable channels.
- An ability to get the color of an individual pixel in a raster image.
- Raster vectorization (Draw -> Trace Image) without opening a dialog box, with ability to set the parameters via the API.
- PSD import without opening a dialog box, with ability to set the parameters via the API.
- An ability to read a PSD file and get its structure.
- API access to all Menu commands.
- JSON file parser.
- External access to Moho's API (for example, Maya can do that).
- Official up-to-date API documentation.
- When selecting layers programmatically, the IsRelevant/IsEnabled methods are not being called, so the Tool panel doesn't update.
- The Interval property of the vector layer doesn't have the API equivalent.
- When bones are moved programmatically and the selected layer is a vector one, the Undo operation works incorrectly with PrepMultiUndo.
- Moho crashes when shape.fMyStyle.fFillCol:ActionByName("actionName") is used.
Anyone else?