December Adventure Day 11
Slowing Down
After nearly two weeks working on my Psion-related December Adventure, I find I’m slowing down. I’m at the stage where the bones of the projects are in place and now it’s a matter of slowly chipping away at a long list of issues. Reconnect, my focus for the day, feels particularly like this, so I allowed myself a little time drafting my x-image
write-up, and playing around with Blender to create a splash screen for Thoughts for EPOC.
Reconnect
I set out with the continued goal of improving the experience around file transfers, starting with adding icons to the transfers window. This entailed much remembering how Reconnect works under the hood, and setting the ground work for treating local and remote file references interchangably—in the first instance, this allows me to reference files irrespective of transfer direction (download from Psion, or upload to Psion), but hopefully it will unlock adding support for browsing local file systems as well as remote ones in the future. My ultimate goal here is to show full (locally stored) device backups in the sidebar and allow users to inspect them to access and restore files.
enum FileReference {
case local(URL)
case remote(FileServer.DirectoryEntry)
}
With this simple FileReference
wrapper, I can expose a source-agnostic file item to the transfer operation which I can switch on to select an appropriate icon in SwiftUI:
switch transfer.item {
case .local(let url):
Image(.fileUnknown16)
case .remote(let file):
Image(file.fileType.image)
}
This first-cut just shows an unknown icon for macOS-local files, but it gives me a clear point of customization where I can fetch QuickLook previews and icons.
It works great for downloads:
There’s a long list of fairly dull little improvements like this that I’d like to chip away at so I’ll try to do one a day for the next few days.
Thoughts for EPOC
Trying to remind myself this is meant to be fun, I fired up Blender (which I have no idea how to use), and set about rendering out some 90s-era 3D text for the Thoughts for EPOC splash screen.
So far, I’ve added the text, a camera through which to render the scene, and a light source. Nothing I do with the light source seems to work, but at least I was able to render something:
This is going to take a while.