I only use C++ to develop for Rhino, so this may not apply to all languages:
Another vote here for documentation. The other large codebase I work with occasionally is Qt, and their documentation is utterly fantastic. It’s so good, in fact, that there’s almost no documentation for the Python wrapper libraries - you just get pointed to the C++ documentation. For reference, here’s the page for their pushButton clas. It incudes everything you ould possibly want to know about the class, there’s quick references to inherited functions etc, and a very good detailed description (it’s also a good representation of the rest of the documentation):
We could consider something like a community-driven wiki page to supplement the existing documentation (which I think is generated with doxygen…?). I wonder whether we could do something really clever to get user-added content on the wiki into the code comments/doxygen documentation. Perhaps an annual diff of the wiki page and the doxygen documents… Just a thought.
There are also a few things I’d quite like to see that I’m not sure have been mentioned yet:
I feel like .rui files are quite awkward to use (but ultimately get the job done).
I’d really like to see programatically changeable toolbar buttons. Our use case is being able to disable/grey-out some of the buttons until some criteria are met. I guess this ties in with easier toolbar creation/modification.
A levelled log would be really useful. We use a home-rolled solution at the moment, but supplementing RhinoApp.Print() with something similar to the Python log methods (https://docs.python.org/3/library/logging.html) or the boost logging methods (https://www.boost.org/doc/libs/1_64_0/libs/log/doc/html/index.html) would be really useful.
I’d really like to see easier Qt integration (although this is again quite niche, and I think could be a very tricky problem to solve). My issue is that we have some extant Qt widgets that I’d quite like to parent to the Rhino Windows, but given that this isn’t really a problem that Qt have solved yet, its probably a stretch to ask McNeel to solve it for Rhino. I suppose I should probably just go and lern eto…