Good for you Joseph! And I feel you, I also try to make my definitions 100% native, for numerous reasons.
Some have to do with the horrible support for plug-ins that GH has: There has been some baby steps in the right direction with the package manager, but it is still in diapers. It hardly works and I end up updating or installing the plug-in/s manually. Not only this, but shearing definitions or using definitions from someone is still a pain.
Some others have to do with the UI, which offers not customization or control of where the components of plug-ins go.
And some others have to do with a more personal and philosophical matter. I often felt that swarming my work space with custom unofficial tools was untidy. I also don’t like how every plug in has its own icon and color palette, which really messes up the definition. Native compones all share a common theme. (And no, I won’t use names on my components because that means more information to process, which icons simplify. Its like logos, why use sentences when you can have a logo?).
Having said that, I really don’t understand why you had to do it yourself. In my case, I don’t have the time to do so, but even if I did, I wouldn’t do it either.
Why waste time on a problem that many people faced before you, solved, and gave the solution away for free? Even more, they packaged all those solutions into a nice plug-in with explanations and tutorials.
I think you got away with it this time, but maybe in the future you will need to do more complex stuff, for example use blocks. Are you going to code custom components to deal with blocks in GH?
I remember you used Anemone a lot, maybe try to implement the same argument to use other must-have plug-ins.
I agree with you that simple functions like these should be native to GH. I was shocked when I found out that I needed a plug-in called Human or Elefront to achieve these, but David can’t do it all and that is something we must understand. This is not Autodesk, with over 10,000 employees.
I guess David figured that if someone went through the trouble to design, code, implement and offer functionalities for free, then these were no longer top priorities. And honestly, I think it’s the wisest decision. Who knows which other things we would be lacking if David had directed all his efforts into coding already achievable things with plug-ins.