I’d like that Extension Developers would be able to integrate their extensions better in the native Sketchup UI.
Sketchup relies on Extensions yet they feel, somehow, disconnected from Sketchup at an UI level.
Every extension developer has to reinvent the wheel, if the extension they are developing becomes too powerful.
When JBB developed Layers panel, instead of being able to extend the native layers panel with folders, he had to create a full UI for a new layers panel, he had to reproduce the existing functionality, design room for that and only then introduce the new functions he needed. Wouldn’t it have been wiser to have him add functionality to the native panel instead? Organizing layers in groups and subgroups, while keeping the same functionality…
I think that Sketchup should allow extension developers to:
Have access to dockable panels;
Extend the functionality of the existing panels by adding tabs, buttons, tick boxes and advanced features.
Modify the contents of the lists that appear on native panels panels, increasing thumbnails of content, allow for more info to show, extend left click and right click functionality, allow for new menu entries like buttons or tickboxes, and so on.
These should be allowed to happen and there should be safe methods for people get rid of the changes made by extensions, when uninstalling them, effectively resetting sketchup to the prior state.
Personally I generally agree with you, but here I’m questioning it in details.
For example to access the dockable panels - Trays - would be nice (several times requested already).
But I would not allow to modify the native ones, but create a new .
I can think of a few reasons why directly modifying the built-in trays could be difficult to implement and to manage.
For starters, what if two extensions added equivalent or incompatible items to the tray? It could become quite a mess! It could easily destabilize SketchUp as a whole!
So, I think that it would indeed be necessary to come up with some way to provide a modifiable clone of the built-in tray that the extension developer could modify. This might require the extension developer to learn Windows GUI C programming - yet another language and library to deal with!
But if it would be possible, don’t you think that plugin development and integration into sketchup, would benefit a lot? I feel that, as a user, this would really fell more inline with the sketchup experience. Even with two monitors, it’s very difficult for me to deal with all the floating windows that plugins require.
At the same time, it feels awkard that we need whole plugins for managing the same stuff and then we get two layer managers, two scene managers, two or three component browsers, while most of these could be solved by just inserting a couple of specific features to the existing UI.
If it would be possible, I think that some developers and some already existing extensions would benefit a lot. I also think that a lot more development could arise from this as a lot of the development effort is probably concentrated in UI and not actual functionality. Adding functionality to an already existing UI, would probably easen that side of work.