astu wrote: ↑Fri Dec 24, 2021 5:46 am
Hello all
It's Christmas Eve and I have nothing better to do than to occupy myself at the computer... To relieve Paul a little bit, I nailed the "Extension Builder" project to my cheek.
I hope Paul will let me post my progress here *laughs*.
And I try not to write as much as Paul does
My first conclusion:
The structure of the Extension Builder is so... convoluted.
For example, all already installed widgets are loaded into an ENUM button, which can't be selected because it's covered by another opaque button. Also, the builder seems to be an essential part of the IDE.... If you remove it from the palette directory \Toolset\palettes\extension builder, the IDE does not work... and then the appearance of the builder is also additionally described in the script which makes changes to the design of the builder difficult. It is also not really obvious which script accesses where. So at the moment it's just not obvious for me, when and where e.g. the revidedeveloperextensionlibrary is accessed...
The whole construct looks like the development was stopped because it worked like that. As if it was not important to continue the development of the builder.
So I will have to redesign the "Extension Builder" and make some adjustments to be able to include new functions.
I wish you all a blessed Christmas, Hanuka or whatever you celebrate.
Greetings
Andreas (aka astu)
Ah, you're talking about the Builder Stack, not the lower level bits that compile the intermediate byte code? Or do you mean both things, but first fix the GUI? I agree that there is lots of spaghetti wiring in the IDE. It is a beast that needs taming. If any part of the IDE startup fails then most of the rest of the IDE does not get loaded, making any changes made so far a 'try-it and see what it breaks' sort of exploration. I'm always working on copies of the IDE files so that I can quickly revert. The IDE stacks handle a lot of functionality, and much of it is scattered across several IDE stacks, frontscripts, backscripts libs... This is why I think it's very important that we document everything that we can about what goes on in the IDE.
Extension Builder stack certainly seems unfinished to me, the SVG Extension Icons previews if there is any, have never aligned to the same position that the default icons are rendered for example... and there's no denying that the 'Extension Manager' stack with it's additional, empty or partially functioning additional tabs, is incomplete. Extension Builder I've seen exactly what you mean about the UI having layers of controls, disabling other controls underneath, and there was hard coded links left in to a dev's local storage files.
I do hope you are working from OXT repo files, I made changes to the Extension Builder already, one that fixed a cross-platform (macOS/Win10 related) compiling problem. I also made some changes that effect the colors in the Extension Manager Extension lists which I'd like to revert or modify again because disclosure popup menus blend in too much on the darker stripped grid list items, but those colors come from a completely separate library.
Right now I'm very interested in the standalone builder, and macOS code signing, entitlements and such. The standalone builder is actually made of a few separate libraries. I spent my Christmas Eve morning looking into creating a code signing certificate for self-signing the Binaries of the IDE. Interested in how an entity becomes a 'signing authority'. I'm looking to re-sign the now unsigned binary, using ad-hoc self signing or perhaps an Apple Dev ID generated one. As far as I know, it doesn't actually need to be signed, even in the latest macOS Monetary you can run un-signed apps IF you do the right-click to open trick, TWICE, after some scary warnings from the Finder, but that's less then optimal way to distribute a Mac app these days. Unfortunately I fear Apple will only go even further into being a isolated system with Apple being the sole gatekeeper, in the name of security.
Obviously, I didn't release anything on Dec.25th like I had wanted to. I've had several major distractions in my life recently, beyond normal Holiday family related things this time of year. It's been one domestic disaster after another, starting with our dishwasher needing replacing, and going up to our family room ceiling needs replacing from water damage (that's another story), it's been like the movie "The Money Pit" over here, lol.
But it hasn't been all bad. I got put into a raffle for some workstations that were replaced this year and wound up winning a build-to-order iMac that's a few years old (6th Gen i7) but still a really nice rig since it had max custom config options. I'm thinking I could sell it and use the money to cover an M1 mac to use for dev. I'm torn though, with it's 27" 5K Retina display, 4GHz i7, 4GB GDDR5 dedicated GPU, 32GB Ram, and an SSD (that I happened to know was barely even used), it's a really nice rig for working in Illustrator, PhotoShop, etc.
I have (almost) this entire week off to work on things.
I hope everyone is having a nice winter Holiday Season, cheers!