New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sketch 98 compatibility #38
base: master
Are you sure you want to change the base?
Conversation
It returns the same value for symbol masters and artboard-less symbol instances, as they are both page-level and thus only have absolute (aka page) coordinates to them
Hi Dmitry, |
Thanks for checking it out @jazzybeat!
Well, yes, as already noted by Jason himself, performance of the plugin is underwhelming on large documents. I've conducted a quick investigation and found the following areas which affect the performance the most:
The first point could be improved by going back to the private/unsafe/unofficial Sketch API and using it to gather a list of symbol instances and their overrides – it will literally take a second instead of ten. The second one is much more tricker tho: fixing it would require a complete rewrite of the plugin (possibly in a different language, like Swift) to take advantage of native macOS UI optimizations. So if we ever decide to go this route, I guess it'd be better to start off a new plugin from scratch – but I'm not sure if it's worth the trouble after all... |
That's a great suggestion, Paulius! Let me think about it for some time, because I'm not sure if it's even possible to turn the existing table into a multi-column one without throwing most of the existing plugin code away (as there're certain limitations about using native macOS UI from JavaScript). |
This PR contains a bunch of minor changes that should allow the plugin to function properly on Sketch 98 (and 99 Beta). Resolves #35, #36 and #37.
Feel free to download the fixed version of the plugin from my fork and let me know if there are any problems with it on the latest Sketch versions.