title: What does animatableData in SwiftUI do?
body: <p>I was playing around with the <code>animatableData</code> property for a custom Shape I made but I couldn't really visualise what it does and where the system uses it.</p>
  <p>I didn't understand how the system knows which <code>animatableData</code> properties it should interpolate when there's a state change. I also didn't understand what the <code>get</code> part of the <code>animatableData</code> property is used for by the system. The only thing I sort of understand is that SwiftUI will update the <code>animatableData</code> property to all the intermediary values between the original and final value for when an <code>@State</code> variable is changed.</p>
  <p>If someone can give a very detailed order of events for the use of <code>animatableData</code> by the system I'll be extremely grateful. Make it as detailed as you can because I'm one of those people who feels scratchy even if I'm not understanding 1% of something (however if I do have any question I'll just ask you in the comments).</p>
  <p>Thanks in advance!</p>
  <p><em>P.S. I tried returning a constant in the getter for <code>animatableData</code> and my animation still worked perfectly which has confused me even more. Please let me know what the getter is used for if you can.</em></p>