Would it be correct to assume that spriteSize is not the only code that will be affected by this?
Correct
What it is
It’s not specific to Air Code, but it is specific to iOS and interacting with the wider filesystem. Basically, a while back we added support for external folder references where you could import a folder somewhere on your filesystem
This meant you could access assets in those folders by using asset.ExternalFolderName.FileName
The thing is, those files might be in use by other applications when Codea attempts to read them. When you use file coordination, a message is sent to other applications which have the file open that they should save their changes. This allows Codea to read the latest version of the file
Similarly, when Codea attempts to write to such a file, this tells other applications watching that file that they may want to reload the data
A simple example might be that you update an image file on your Mac in iCloud and expect Codea to pull the latest version of the file when you run your project
Performance cost
For something like spriteSize
or sprite
, we implement caches so that once they are loaded the first time, subsequent reads simply return the cached asset. We’re going to have to decide to cache on a case-by-case basis, going by the following tradeoff: is this something likely to be called in draw? Or is it something the someone will want to edit externally and expect the latest version of?
It has been great to know where you have hit performance issues, please keep telling us and we will be able to make better decisions about what parts of the API likely need asset caching and which parts do not