Chris Eidhof

@eidhof.nl

I had such a fun day at WWDC, was really great talking to everyone! Hope to see many more people tomorrow at 3pm at the One More Thing conference, I'll be talking about the Attribute graph.

I've been playing around with this tool to record and play back my typing. I took inspiration from Retcon and made the history draggable. Things like automatically doing the indentation / syntax highlighting quite don't work yet, but those are the "easy" polishing bits.

The store didn’t have my usual shampoo. Got a different brand with a different fragrance and now I keep thinking there’s a person standing right next to me because I’m not yet used to the new smell. 🙃

Went to a miso-making workshop today, where we made miso paste and onigiri, so much fun (and so delicious). The only difficult bit left is waiting for half a year until the miso paste is ready with fermentation...

The `Animatable` protocol lets you hook into the animation subsystem of SwiftUI. You can expose any property using `AnimatableData` and have it interpolated for you (but the property does need to conform to `VectorArithmetic`)

Keyframe animations are a very powerful tool to have in your toolbox. They're more complicated than regular SwiftUI animations but allow you to animate almost anything you can think of.

Phase animators can help to work around the limitations of the regular SwiftUI animation system. They let you do animations that end up in the same state as the starting point.

In many cases, adding a `.animation` or `withAnimation` might be all you need to have beautiful interruptible animations in SwiftUI.

Today we recap a bunch of things we looked at in the last two weeks of short videos. It was a bit of a struggle to get this in at under one minute but I managed 😅

Often it doesn't really matter whether you use an overlay or a ZStack, but if the views have different sizes and positions, it definitely does!

Explicit alignment guides are very helpful when aligning using two different alignment guides. In this example, we align the center of a badge to the top trailing edge of a button.

First text baseline alignment is a great way to align views horizontally that contain different font sizes. SF Symbols even have builtin support for this.