Skip to content
This repository was archived by the owner on Apr 2, 2025. It is now read-only.

Commit 70fe5c1

Browse files
committed
Updated docs
1 parent 432f88a commit 70fe5c1

File tree

4 files changed

+75
-75
lines changed

4 files changed

+75
-75
lines changed

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ The current velocity of the value is available though the `velocity` property, m
4848

4949
A set of extensions make it easy to kick off animations on an animator:
5050

51-
```
51+
```swift
5252
let view = UIView()
5353
let boundsAnimator = Animator(boundTo: view, keyPath: \.bounds)
5454

@@ -78,7 +78,7 @@ In contrast, `Simulator` is a focused class that is useful for scenarios where y
7878

7979
`Simulator` conforms to `Observable`, so you can easily be notified when the simulated value changes.
8080

81-
```
81+
```swift
8282
let function = GravityFunction(target: CGPoint(20, 20).vector)
8383
let simulator = Simulator(function: function, value: CGPoint.zero)
8484
simulator.observe { value in
@@ -90,7 +90,7 @@ simulator.observe { value in
9090

9191
Convenience extensions provide full access to the underlying spring simulation (target, tension, damping, velocity, etc) at any time: even while the simulation is in progress.
9292

93-
```
93+
```swift
9494
let spring = Spring(boundTo: view, keyPath: \.alpha)
9595
spring.target = 0.5
9696

@@ -111,7 +111,7 @@ spring.reset(to: 0.5)
111111
### Animations
112112

113113
Values conforming to the `VectorConvertible` protocol can be animated by Advance. Conforming types can be converted to and from a `Vector` implementation.
114-
```
114+
```swift
115115
public protocol VectorConvertible: Equatable, Interpolatable {
116116
associatedtype VectorType: Vector
117117
init(vector: VectorType)
@@ -144,7 +144,7 @@ Simulated animations are powered by a **Simulation Function**. These functions c
144144

145145
Convenience extensions make it easy to generate animations from `VectorConvertible` types.
146146

147-
```
147+
```swift
148148
let springAnimation = CGPoint.zero.springAnimation(to: CGPoint(x: 100, y: 100))
149149

150150
/// Also try `.animation(to:duration:timingFunction:)` and `.decayAnimation(drag:)`.

docs/docsets/Advance.docset/Contents/Resources/Documents/index.html

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -253,21 +253,21 @@ <h3 id='animator' class='heading'>Animator</h3>
253253
<p>The current velocity of the value is available though the <code>velocity</code> property, making it easy to transition between animations of different types while maintaining fluid motion.</p>
254254

255255
<p>A set of extensions make it easy to kick off animations on an animator:</p>
256-
<pre class="highlight plaintext"><code>let view = UIView()
257-
let boundsAnimator = Animator(boundTo: view, keyPath: \.bounds)
256+
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">view</span> <span class="o">=</span> <span class="kt">UIView</span><span class="p">()</span>
257+
<span class="k">let</span> <span class="nv">boundsAnimator</span> <span class="o">=</span> <span class="kt">Animator</span><span class="p">(</span><span class="nv">boundTo</span><span class="p">:</span> <span class="n">view</span><span class="p">,</span> <span class="nv">keyPath</span><span class="p">:</span> <span class="err">\</span><span class="o">.</span><span class="n">bounds</span><span class="p">)</span>
258258

259-
/// Basic animation
260-
boundsAnimator.animate(to: CGRect(x: 0, y: 0, width: 300, height: 300), duration: 0.5, timingFunction: UnitBezier.easeIn)
259+
<span class="c1">/// Basic animation</span>
260+
<span class="n">boundsAnimator</span><span class="o">.</span><span class="nf">animate</span><span class="p">(</span><span class="nv">to</span><span class="p">:</span> <span class="kt">CGRect</span><span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="nv">width</span><span class="p">:</span> <span class="mi">300</span><span class="p">,</span> <span class="nv">height</span><span class="p">:</span> <span class="mi">300</span><span class="p">),</span> <span class="nv">duration</span><span class="p">:</span> <span class="mf">0.5</span><span class="p">,</span> <span class="nv">timingFunction</span><span class="p">:</span> <span class="kt">UnitBezier</span><span class="o">.</span><span class="n">easeIn</span><span class="p">)</span>
261261

262-
/// or...
262+
<span class="c1">/// or...</span>
263263

264-
/// Spring
265-
boundsAnimator.spring(to: CGRect(x: 0, y: 0, width: 300, height: 300))
264+
<span class="c1">/// Spring</span>
265+
<span class="n">boundsAnimator</span><span class="o">.</span><span class="nf">spring</span><span class="p">(</span><span class="nv">to</span><span class="p">:</span> <span class="kt">CGRect</span><span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="nv">width</span><span class="p">:</span> <span class="mi">300</span><span class="p">,</span> <span class="nv">height</span><span class="p">:</span> <span class="mi">300</span><span class="p">))</span>
266266

267-
/// or...
267+
<span class="c1">/// or...</span>
268268

269-
/// Decay
270-
boundsAnimator.decay(initialVelocity: CGRect(x: 30, y: 30, width: 30, height: 30))
269+
<span class="c1">/// Decay</span>
270+
<span class="n">boundsAnimator</span><span class="o">.</span><span class="nf">decay</span><span class="p">(</span><span class="nv">initialVelocity</span><span class="p">:</span> <span class="kt">CGRect</span><span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="mi">30</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="mi">30</span><span class="p">,</span> <span class="nv">width</span><span class="p">:</span> <span class="mi">30</span><span class="p">,</span> <span class="nv">height</span><span class="p">:</span> <span class="mi">30</span><span class="p">))</span>
271271

272272
</code></pre>
273273

@@ -281,40 +281,40 @@ <h3 id='simulator-spring' class='heading'>Simulator / Spring</h3>
281281
<p>In contrast, <code><a href="Classes/Simulator.html">Simulator</a></code> is a focused class that is useful for scenarios where you need direct access to a running simulation. This might occur in a UI where the user&rsquo;s scroll position drives changes to a spring&rsquo;s tension, for example. It would be impractical to create and start a new animation every time the simulation needs to change. A <code><a href="Classes/Simulator.html">Simulator</a></code> instance provides mutable access to the <code>function</code> property (containing the underlying function that is driving the simulation), along with the current state of the simulation (value and velocity).</p>
282282

283283
<p><code><a href="Classes/Simulator.html">Simulator</a></code> conforms to <code><a href="Protocols/Observable.html">Observable</a></code>, so you can easily be notified when the simulated value changes.</p>
284-
<pre class="highlight plaintext"><code>let function = GravityFunction(target: CGPoint(20, 20).vector)
285-
let simulator = Simulator(function: function, value: CGPoint.zero)
286-
simulator.observe { value in
287-
/// Apply the new value.
288-
}
284+
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">function</span> <span class="o">=</span> <span class="kt">GravityFunction</span><span class="p">(</span><span class="nv">target</span><span class="p">:</span> <span class="kt">CGPoint</span><span class="p">(</span><span class="mi">20</span><span class="p">,</span> <span class="mi">20</span><span class="p">)</span><span class="o">.</span><span class="n">vector</span><span class="p">)</span>
285+
<span class="k">let</span> <span class="nv">simulator</span> <span class="o">=</span> <span class="kt">Simulator</span><span class="p">(</span><span class="nv">function</span><span class="p">:</span> <span class="n">function</span><span class="p">,</span> <span class="nv">value</span><span class="p">:</span> <span class="kt">CGPoint</span><span class="o">.</span><span class="n">zero</span><span class="p">)</span>
286+
<span class="n">simulator</span><span class="o">.</span><span class="n">observe</span> <span class="p">{</span> <span class="n">value</span> <span class="k">in</span>
287+
<span class="c1">/// Apply the new value.</span>
288+
<span class="p">}</span>
289289
</code></pre>
290290

291291
<p><code><a href="Simulation.html#/s:7Advance6Springa">Spring</a></code> is a specialized simulator that uses a spring function. If all you are after is a simple spring to animate a value, this is what you want.</p>
292292

293293
<p>Convenience extensions provide full access to the underlying spring simulation (target, tension, damping, velocity, etc) at any time: even while the simulation is in progress.</p>
294-
<pre class="highlight plaintext"><code>let spring = Spring(boundTo: view, keyPath: \.alpha)
295-
spring.target = 0.5
294+
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">spring</span> <span class="o">=</span> <span class="kt">Spring</span><span class="p">(</span><span class="nv">boundTo</span><span class="p">:</span> <span class="n">view</span><span class="p">,</span> <span class="nv">keyPath</span><span class="p">:</span> <span class="err">\</span><span class="o">.</span><span class="n">alpha</span><span class="p">)</span>
295+
<span class="n">spring</span><span class="o">.</span><span class="n">target</span> <span class="o">=</span> <span class="mf">0.5</span>
296296

297-
/// Spring values can be adjusted at any time.
298-
spring.tension = 30.0 /// The strength of the spring
299-
spring.damping = 2.0 /// The resistance (drag) that the spring encounters
300-
spring.threshold = 0.1 /// The maximum delta between the current value and the spring's target (for each component) for which the simulation can enter a converged state.
297+
<span class="c1">/// Spring values can be adjusted at any time.</span>
298+
<span class="n">spring</span><span class="o">.</span><span class="n">tension</span> <span class="o">=</span> <span class="mf">30.0</span> <span class="c1">/// The strength of the spring</span>
299+
<span class="n">spring</span><span class="o">.</span><span class="n">damping</span> <span class="o">=</span> <span class="mf">2.0</span> <span class="c1">/// The resistance (drag) that the spring encounters</span>
300+
<span class="n">spring</span><span class="o">.</span><span class="n">threshold</span> <span class="o">=</span> <span class="mf">0.1</span> <span class="c1">/// The maximum delta between the current value and the spring's target (for each component) for which the simulation can enter a converged state.</span>
301301

302-
/// Update the simulation state at any time.
303-
spring.velocity = 6.5
304-
spring.value = 0.2
302+
<span class="c1">/// Update the simulation state at any time.</span>
303+
<span class="n">spring</span><span class="o">.</span><span class="n">velocity</span> <span class="o">=</span> <span class="mf">6.5</span>
304+
<span class="n">spring</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="mf">0.2</span>
305305

306-
/// Sets the spring's target and the current simulation value, and removes all velocity. This causes the spring to converge at the given value.
307-
spring.reset(to: 0.5)
306+
<span class="c1">/// Sets the spring's target and the current simulation value, and removes all velocity. This causes the spring to converge at the given value.</span>
307+
<span class="n">spring</span><span class="o">.</span><span class="nf">reset</span><span class="p">(</span><span class="nv">to</span><span class="p">:</span> <span class="mf">0.5</span><span class="p">)</span>
308308

309309
</code></pre>
310310
<h3 id='animations' class='heading'>Animations</h3>
311311

312312
<p>Values conforming to the <code><a href="Protocols/VectorConvertible.html">VectorConvertible</a></code> protocol can be animated by Advance. Conforming types can be converted to and from a <code><a href="Protocols/Vector.html">Vector</a></code> implementation.</p>
313-
<pre class="highlight plaintext"><code>public protocol VectorConvertible: Equatable, Interpolatable {
314-
associatedtype VectorType: Vector
315-
init(vector: VectorType)
316-
var vector: VectorType { get }
317-
}
313+
<pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">VectorConvertible</span><span class="p">:</span> <span class="kt">Equatable</span><span class="p">,</span> <span class="kt">Interpolatable</span> <span class="p">{</span>
314+
<span class="k">associatedtype</span> <span class="kt">VectorType</span><span class="p">:</span> <span class="kt">Vector</span>
315+
<span class="nf">init</span><span class="p">(</span><span class="nv">vector</span><span class="p">:</span> <span class="kt">VectorType</span><span class="p">)</span>
316+
<span class="k">var</span> <span class="nv">vector</span><span class="p">:</span> <span class="kt">VectorType</span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span>
317+
<span class="p">}</span>
318318
</code></pre>
319319

320320
<p>There are two primary types of animations in Advance: <strong>Simulated Animations</strong> and <strong>Basic Animations</strong>.</p>
@@ -343,13 +343,13 @@ <h4 id='simulated-animations' class='heading'>Simulated animations</h4>
343343
</ul>
344344

345345
<p>Convenience extensions make it easy to generate animations from <code><a href="Protocols/VectorConvertible.html">VectorConvertible</a></code> types.</p>
346-
<pre class="highlight plaintext"><code>let springAnimation = CGPoint.zero.springAnimation(to: CGPoint(x: 100, y: 100))
346+
<pre class="highlight swift"><code><span class="k">let</span> <span class="nv">springAnimation</span> <span class="o">=</span> <span class="kt">CGPoint</span><span class="o">.</span><span class="n">zero</span><span class="o">.</span><span class="nf">springAnimation</span><span class="p">(</span><span class="nv">to</span><span class="p">:</span> <span class="kt">CGPoint</span><span class="p">(</span><span class="nv">x</span><span class="p">:</span> <span class="mi">100</span><span class="p">,</span> <span class="nv">y</span><span class="p">:</span> <span class="mi">100</span><span class="p">))</span>
347347

348-
/// Also try `.animation(to:duration:timingFunction:)` and `.decayAnimation(drag:)`.
348+
<span class="c1">/// Also try `.animation(to:duration:timingFunction:)` and `.decayAnimation(drag:)`.</span>
349349

350-
let animator: Animator&lt;CGPoint&gt; = /// ...
350+
<span class="k">let</span> <span class="nv">animator</span><span class="p">:</span> <span class="kt">Animator</span><span class="o">&lt;</span><span class="kt">CGPoint</span><span class="o">&gt;</span> <span class="o">=</span> <span class="c1">/// ...</span>
351351

352-
animator.animate(with: springAnimation)
352+
<span class="n">animator</span><span class="o">.</span><span class="nf">animate</span><span class="p">(</span><span class="nv">with</span><span class="p">:</span> <span class="n">springAnimation</span><span class="p">)</span>
353353

354354
</code></pre>
355355
<h2 id='contributing' class='heading'>Contributing</h2>

docs/docsets/Advance.tgz

149 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)