diff --git a/main/funnybones/cushy/skeleton_canvas/enum.SkeletonMutation.html b/main/funnybones/cushy/skeleton_canvas/enum.SkeletonMutation.html
index 19324b5..296acc6 100644
--- a/main/funnybones/cushy/skeleton_canvas/enum.SkeletonMutation.html
+++ b/main/funnybones/cushy/skeleton_canvas/enum.SkeletonMutation.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `SkeletonMutation` enum in crate `funnybones`."><title>SkeletonMutation in funnybones::cushy::skeleton_canvas - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-492a78a4a87dcc01.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="funnybones" data-themes="" data-resource-suffix="" data-rustdoc-version="1.82.0-nightly (0d634185d 2024-08-29)" data-channel="nightly" data-search-js="search-acd2e111c9cb27e3.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-cb0df477c2d67d00.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-3b12f09e550e0385.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../funnybones/index.html">funnybones</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Skeleton<wbr>Mutation</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.SetDesiredEnd">SetDesiredEnd</a></li><li><a href="#variant.SetJointRotation">SetJointRotation</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-SkeletonMutation">Clone</a></li><li><a href="#impl-Copy-for-SkeletonMutation">Copy</a></li><li><a href="#impl-Debug-for-SkeletonMutation">Debug</a></li><li><a href="#impl-PartialEq-for-SkeletonMutation">PartialEq</a></li><li><a href="#impl-StructuralPartialEq-for-SkeletonMutation">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-SkeletonMutation">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-SkeletonMutation">RefUnwindSafe</a></li><li><a href="#impl-Send-for-SkeletonMutation">Send</a></li><li><a href="#impl-Sync-for-SkeletonMutation">Sync</a></li><li><a href="#impl-Unpin-for-SkeletonMutation">Unpin</a></li><li><a href="#impl-UnwindSafe-for-SkeletonMutation">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S">AdaptInto&#60;D, Swp, Dwp, T&#62;</a></li><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-ArraysFrom%3CC%3E-for-T">ArraysFrom&#60;C&#62;</a></li><li><a href="#impl-ArraysInto%3CC%3E-for-T">ArraysInto&#60;C&#62;</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-Cam16IntoUnclamped%3CWpParam,+T%3E-for-U">Cam16IntoUnclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-Cast-for-A">Cast</a></li><li><a href="#impl-CastFrom%3CA%3E-for-A">CastFrom&#60;A&#62;</a></li><li><a href="#impl-CastInto%3CA%3E-for-B">CastInto&#60;A&#62;</a></li><li><a href="#impl-CloneToUninit-for-T">CloneToUninit</a></li><li><a href="#impl-ComponentsFrom%3CC%3E-for-T">ComponentsFrom&#60;C&#62;</a></li><li><a href="#impl-Downcast-for-T">Downcast</a></li><li><a href="#impl-Downcast%3CT%3E-for-T">Downcast&#60;T&#62;</a></li><li><a href="#impl-DowncastSync-for-T">DowncastSync</a></li><li><a href="#impl-From%3CT%3E-for-T">From&#60;T&#62;</a></li><li><a href="#impl-FromAngle%3CT%3E-for-T">FromAngle&#60;T&#62;</a></li><li><a href="#impl-FromStimulus%3CU%3E-for-T">FromStimulus&#60;U&#62;</a></li><li><a href="#impl-Instrument-for-T">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&#60;U&#62;</a></li><li><a href="#impl-IntoAngle%3CU%3E-for-T">IntoAngle&#60;U&#62;</a></li><li><a href="#impl-IntoCam16Unclamped%3CWpParam,+T%3E-for-U">IntoCam16Unclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-IntoColor%3CU%3E-for-T">IntoColor&#60;U&#62;</a></li><li><a href="#impl-IntoColorUnclamped%3CU%3E-for-T">IntoColorUnclamped&#60;U&#62;</a></li><li><a href="#impl-IntoComponents%3CUnit%3E-for-Unit">IntoComponents&#60;Unit&#62;</a></li><li><a href="#impl-IntoEither-for-T">IntoEither</a></li><li><a href="#impl-IntoReadOnly%3CT%3E-for-T">IntoReadOnly&#60;T&#62;</a></li><li><a href="#impl-IntoStimulus%3CT%3E-for-T">IntoStimulus&#60;T&#62;</a></li><li><a href="#impl-IntoValue%3COption%3CT%3E%3E-for-T">IntoValue&#60;Option&#60;T&#62;&#62;</a></li><li><a href="#impl-IntoValue%3CT%3E-for-T">IntoValue&#60;T&#62;</a></li><li><a href="#impl-Pointable-for-T">Pointable</a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryComponentsInto%3CC%3E-for-T">TryComponentsInto&#60;C&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&#60;U&#62;</a></li><li><a href="#impl-TryIntoColor%3CU%3E-for-T">TryIntoColor&#60;U&#62;</a></li><li><a href="#impl-UintsFrom%3CC%3E-for-U">UintsFrom&#60;C&#62;</a></li><li><a href="#impl-UintsInto%3CC%3E-for-U">UintsInto&#60;C&#62;</a></li><li><a href="#impl-Upcast%3CT%3E-for-T">Upcast&#60;T&#62;</a></li><li><a href="#impl-WasmNotSend-for-T">WasmNotSend</a></li><li><a href="#impl-WasmNotSendSync-for-T">WasmNotSendSync</a></li><li><a href="#impl-WasmNotSync-for-T">WasmNotSync</a></li><li><a href="#impl-WithSubscriber-for-T">WithSubscriber</a></li></ul></section><h2><a href="index.html">In funnybones::<wbr>cushy::<wbr>skeleton_<wbr>canvas</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Enum <a href="../../index.html">funnybones</a>::<wbr><a href="../index.html">cushy</a>::<wbr><a href="index.html">skeleton_canvas</a>::<wbr><a class="enum" href="#">SkeletonMutation</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#349-352">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub enum SkeletonMutation {
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `SkeletonMutation` enum in crate `funnybones`."><title>SkeletonMutation in funnybones::cushy::skeleton_canvas - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-492a78a4a87dcc01.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="funnybones" data-themes="" data-resource-suffix="" data-rustdoc-version="1.82.0-nightly (0d634185d 2024-08-29)" data-channel="nightly" data-search-js="search-acd2e111c9cb27e3.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-cb0df477c2d67d00.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-3b12f09e550e0385.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../funnybones/index.html">funnybones</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Skeleton<wbr>Mutation</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.SetDesiredEnd">SetDesiredEnd</a></li><li><a href="#variant.SetJointRotation">SetJointRotation</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-SkeletonMutation">Clone</a></li><li><a href="#impl-Copy-for-SkeletonMutation">Copy</a></li><li><a href="#impl-Debug-for-SkeletonMutation">Debug</a></li><li><a href="#impl-PartialEq-for-SkeletonMutation">PartialEq</a></li><li><a href="#impl-StructuralPartialEq-for-SkeletonMutation">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-SkeletonMutation">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-SkeletonMutation">RefUnwindSafe</a></li><li><a href="#impl-Send-for-SkeletonMutation">Send</a></li><li><a href="#impl-Sync-for-SkeletonMutation">Sync</a></li><li><a href="#impl-Unpin-for-SkeletonMutation">Unpin</a></li><li><a href="#impl-UnwindSafe-for-SkeletonMutation">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S">AdaptInto&#60;D, Swp, Dwp, T&#62;</a></li><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-ArraysFrom%3CC%3E-for-T">ArraysFrom&#60;C&#62;</a></li><li><a href="#impl-ArraysInto%3CC%3E-for-T">ArraysInto&#60;C&#62;</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-Cam16IntoUnclamped%3CWpParam,+T%3E-for-U">Cam16IntoUnclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-Cast-for-A">Cast</a></li><li><a href="#impl-CastFrom%3CA%3E-for-A">CastFrom&#60;A&#62;</a></li><li><a href="#impl-CastInto%3CA%3E-for-B">CastInto&#60;A&#62;</a></li><li><a href="#impl-CloneToUninit-for-T">CloneToUninit</a></li><li><a href="#impl-ComponentsFrom%3CC%3E-for-T">ComponentsFrom&#60;C&#62;</a></li><li><a href="#impl-Downcast-for-T">Downcast</a></li><li><a href="#impl-Downcast%3CT%3E-for-T">Downcast&#60;T&#62;</a></li><li><a href="#impl-DowncastSync-for-T">DowncastSync</a></li><li><a href="#impl-From%3CT%3E-for-T">From&#60;T&#62;</a></li><li><a href="#impl-FromAngle%3CT%3E-for-T">FromAngle&#60;T&#62;</a></li><li><a href="#impl-FromStimulus%3CU%3E-for-T">FromStimulus&#60;U&#62;</a></li><li><a href="#impl-Instrument-for-T">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&#60;U&#62;</a></li><li><a href="#impl-IntoAngle%3CU%3E-for-T">IntoAngle&#60;U&#62;</a></li><li><a href="#impl-IntoCam16Unclamped%3CWpParam,+T%3E-for-U">IntoCam16Unclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-IntoColor%3CU%3E-for-T">IntoColor&#60;U&#62;</a></li><li><a href="#impl-IntoColorUnclamped%3CU%3E-for-T">IntoColorUnclamped&#60;U&#62;</a></li><li><a href="#impl-IntoComponents%3CUnit%3E-for-Unit">IntoComponents&#60;Unit&#62;</a></li><li><a href="#impl-IntoEither-for-T">IntoEither</a></li><li><a href="#impl-IntoReadOnly%3CT%3E-for-T">IntoReadOnly&#60;T&#62;</a></li><li><a href="#impl-IntoStimulus%3CT%3E-for-T">IntoStimulus&#60;T&#62;</a></li><li><a href="#impl-IntoValue%3COption%3CT%3E%3E-for-T">IntoValue&#60;Option&#60;T&#62;&#62;</a></li><li><a href="#impl-IntoValue%3CT%3E-for-T">IntoValue&#60;T&#62;</a></li><li><a href="#impl-Pointable-for-T">Pointable</a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryComponentsInto%3CC%3E-for-T">TryComponentsInto&#60;C&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&#60;U&#62;</a></li><li><a href="#impl-TryIntoColor%3CU%3E-for-T">TryIntoColor&#60;U&#62;</a></li><li><a href="#impl-UintsFrom%3CC%3E-for-U">UintsFrom&#60;C&#62;</a></li><li><a href="#impl-UintsInto%3CC%3E-for-U">UintsInto&#60;C&#62;</a></li><li><a href="#impl-Upcast%3CT%3E-for-T">Upcast&#60;T&#62;</a></li><li><a href="#impl-WasmNotSend-for-T">WasmNotSend</a></li><li><a href="#impl-WasmNotSendSync-for-T">WasmNotSendSync</a></li><li><a href="#impl-WasmNotSync-for-T">WasmNotSync</a></li><li><a href="#impl-WithSubscriber-for-T">WithSubscriber</a></li></ul></section><h2><a href="index.html">In funnybones::<wbr>cushy::<wbr>skeleton_<wbr>canvas</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Enum <a href="../../index.html">funnybones</a>::<wbr><a href="../index.html">cushy</a>::<wbr><a href="index.html">skeleton_canvas</a>::<wbr><a class="enum" href="#">SkeletonMutation</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#362-365">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub enum SkeletonMutation {
     SetDesiredEnd {
         bone: <a class="struct" href="../../struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a>,
         end: <a class="struct" href="../../struct.Vector.html" title="struct funnybones::Vector">Vector</a>,
@@ -7,8 +7,8 @@
         joint: <a class="struct" href="../../struct.JointId.html" title="struct funnybones::JointId">JointId</a>,
         rotation: <a class="struct" href="../../struct.Angle.html" title="struct funnybones::Angle">Angle</a>,
     },
-}</code></pre><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.SetDesiredEnd" class="variant"><a href="#variant.SetDesiredEnd" class="anchor">§</a><h3 class="code-header">SetDesiredEnd</h3></section><div class="sub-variant" id="variant.SetDesiredEnd.fields"><h4>Fields</h4><div class="sub-variant-field"><span id="variant.SetDesiredEnd.field.bone" class="section-header"><a href="#variant.SetDesiredEnd.field.bone" class="anchor field">§</a><code>bone: <a class="struct" href="../../struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></code></span></div><div class="sub-variant-field"><span id="variant.SetDesiredEnd.field.end" class="section-header"><a href="#variant.SetDesiredEnd.field.end" class="anchor field">§</a><code>end: <a class="struct" href="../../struct.Vector.html" title="struct funnybones::Vector">Vector</a></code></span></div></div><section id="variant.SetJointRotation" class="variant"><a href="#variant.SetJointRotation" class="anchor">§</a><h3 class="code-header">SetJointRotation</h3></section><div class="sub-variant" id="variant.SetJointRotation.fields"><h4>Fields</h4><div class="sub-variant-field"><span id="variant.SetJointRotation.field.joint" class="section-header"><a href="#variant.SetJointRotation.field.joint" class="anchor field">§</a><code>joint: <a class="struct" href="../../struct.JointId.html" title="struct funnybones::JointId">JointId</a></code></span></div><div class="sub-variant-field"><span id="variant.SetJointRotation.field.rotation" class="section-header"><a href="#variant.SetJointRotation.field.rotation" class="anchor field">§</a><code>rotation: <a class="struct" href="../../struct.Angle.html" title="struct funnybones::Angle">Angle</a></code></span></div></div></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-SkeletonMutation" class="impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#348">source</a><a href="#impl-Clone-for-SkeletonMutation" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">SkeletonMutation</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#348">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">SkeletonMutation</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#174">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: &amp;Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-SkeletonMutation" class="impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#348">source</a><a href="#impl-Debug-for-SkeletonMutation" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">SkeletonMutation</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#348">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-SkeletonMutation" class="impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#348">source</a><a href="#impl-PartialEq-for-SkeletonMutation" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">SkeletonMutation</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#348">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">SkeletonMutation</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#261">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>!=</code>. The default implementation is almost always sufficient,
-and should not be overridden without very good reason.</div></details></div></details><section id="impl-Copy-for-SkeletonMutation" class="impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#348">source</a><a href="#impl-Copy-for-SkeletonMutation" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">SkeletonMutation</a></h3></section><section id="impl-StructuralPartialEq-for-SkeletonMutation" class="impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#348">source</a><a href="#impl-StructuralPartialEq-for-SkeletonMutation" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">SkeletonMutation</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-SkeletonMutation" class="impl"><a href="#impl-Freeze-for-SkeletonMutation" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">SkeletonMutation</a></h3></section><section id="impl-RefUnwindSafe-for-SkeletonMutation" class="impl"><a href="#impl-RefUnwindSafe-for-SkeletonMutation" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">SkeletonMutation</a></h3></section><section id="impl-Send-for-SkeletonMutation" class="impl"><a href="#impl-Send-for-SkeletonMutation" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">SkeletonMutation</a></h3></section><section id="impl-Sync-for-SkeletonMutation" class="impl"><a href="#impl-Sync-for-SkeletonMutation" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">SkeletonMutation</a></h3></section><section id="impl-Unpin-for-SkeletonMutation" class="impl"><a href="#impl-Unpin-for-SkeletonMutation" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">SkeletonMutation</a></h3></section><section id="impl-UnwindSafe-for-SkeletonMutation" class="impl"><a href="#impl-UnwindSafe-for-SkeletonMutation" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">SkeletonMutation</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/chromatic_adaptation.rs.html#205-210">source</a><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="anchor">§</a><h3 class="code-header">impl&lt;S, D, Swp, Dwp, T&gt; <a class="trait" href="https://docs.rs/palette/0.7.6/palette/chromatic_adaptation/trait.AdaptInto.html" title="trait palette::chromatic_adaptation::AdaptInto">AdaptInto</a>&lt;D, Swp, Dwp, T&gt; for S<div class="where">where
+}</code></pre><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.SetDesiredEnd" class="variant"><a href="#variant.SetDesiredEnd" class="anchor">§</a><h3 class="code-header">SetDesiredEnd</h3></section><div class="sub-variant" id="variant.SetDesiredEnd.fields"><h4>Fields</h4><div class="sub-variant-field"><span id="variant.SetDesiredEnd.field.bone" class="section-header"><a href="#variant.SetDesiredEnd.field.bone" class="anchor field">§</a><code>bone: <a class="struct" href="../../struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></code></span></div><div class="sub-variant-field"><span id="variant.SetDesiredEnd.field.end" class="section-header"><a href="#variant.SetDesiredEnd.field.end" class="anchor field">§</a><code>end: <a class="struct" href="../../struct.Vector.html" title="struct funnybones::Vector">Vector</a></code></span></div></div><section id="variant.SetJointRotation" class="variant"><a href="#variant.SetJointRotation" class="anchor">§</a><h3 class="code-header">SetJointRotation</h3></section><div class="sub-variant" id="variant.SetJointRotation.fields"><h4>Fields</h4><div class="sub-variant-field"><span id="variant.SetJointRotation.field.joint" class="section-header"><a href="#variant.SetJointRotation.field.joint" class="anchor field">§</a><code>joint: <a class="struct" href="../../struct.JointId.html" title="struct funnybones::JointId">JointId</a></code></span></div><div class="sub-variant-field"><span id="variant.SetJointRotation.field.rotation" class="section-header"><a href="#variant.SetJointRotation.field.rotation" class="anchor field">§</a><code>rotation: <a class="struct" href="../../struct.Angle.html" title="struct funnybones::Angle">Angle</a></code></span></div></div></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-SkeletonMutation" class="impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#361">source</a><a href="#impl-Clone-for-SkeletonMutation" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">SkeletonMutation</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#361">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">SkeletonMutation</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#174">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: &amp;Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-SkeletonMutation" class="impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#361">source</a><a href="#impl-Debug-for-SkeletonMutation" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">SkeletonMutation</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#361">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-SkeletonMutation" class="impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#361">source</a><a href="#impl-PartialEq-for-SkeletonMutation" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">SkeletonMutation</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#361">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">SkeletonMutation</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#261">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>!=</code>. The default implementation is almost always sufficient,
+and should not be overridden without very good reason.</div></details></div></details><section id="impl-Copy-for-SkeletonMutation" class="impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#361">source</a><a href="#impl-Copy-for-SkeletonMutation" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">SkeletonMutation</a></h3></section><section id="impl-StructuralPartialEq-for-SkeletonMutation" class="impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#361">source</a><a href="#impl-StructuralPartialEq-for-SkeletonMutation" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">SkeletonMutation</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-SkeletonMutation" class="impl"><a href="#impl-Freeze-for-SkeletonMutation" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">SkeletonMutation</a></h3></section><section id="impl-RefUnwindSafe-for-SkeletonMutation" class="impl"><a href="#impl-RefUnwindSafe-for-SkeletonMutation" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">SkeletonMutation</a></h3></section><section id="impl-Send-for-SkeletonMutation" class="impl"><a href="#impl-Send-for-SkeletonMutation" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">SkeletonMutation</a></h3></section><section id="impl-Sync-for-SkeletonMutation" class="impl"><a href="#impl-Sync-for-SkeletonMutation" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">SkeletonMutation</a></h3></section><section id="impl-Unpin-for-SkeletonMutation" class="impl"><a href="#impl-Unpin-for-SkeletonMutation" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">SkeletonMutation</a></h3></section><section id="impl-UnwindSafe-for-SkeletonMutation" class="impl"><a href="#impl-UnwindSafe-for-SkeletonMutation" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">SkeletonMutation</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/chromatic_adaptation.rs.html#205-210">source</a><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="anchor">§</a><h3 class="code-header">impl&lt;S, D, Swp, Dwp, T&gt; <a class="trait" href="https://docs.rs/palette/0.7.6/palette/chromatic_adaptation/trait.AdaptInto.html" title="trait palette::chromatic_adaptation::AdaptInto">AdaptInto</a>&lt;D, Swp, Dwp, T&gt; for S<div class="where">where
     T: <a class="trait" href="https://docs.rs/palette/0.7.6/palette/num/trait.Real.html" title="trait palette::num::Real">Real</a> + <a class="trait" href="https://docs.rs/palette/0.7.6/palette/num/trait.Zero.html" title="trait palette::num::Zero">Zero</a> + <a class="trait" href="https://docs.rs/palette/0.7.6/palette/num/trait.Arithmetics.html" title="trait palette::num::Arithmetics">Arithmetics</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,
     Swp: <a class="trait" href="https://docs.rs/palette/0.7.6/palette/white_point/trait.WhitePoint.html" title="trait palette::white_point::WhitePoint">WhitePoint</a>&lt;T&gt;,
     Dwp: <a class="trait" href="https://docs.rs/palette/0.7.6/palette/white_point/trait.WhitePoint.html" title="trait palette::white_point::WhitePoint">WhitePoint</a>&lt;T&gt;,
diff --git a/main/funnybones/cushy/skeleton_canvas/enum.Target.html b/main/funnybones/cushy/skeleton_canvas/enum.Target.html
index 1d1a3dc..521c066 100644
--- a/main/funnybones/cushy/skeleton_canvas/enum.Target.html
+++ b/main/funnybones/cushy/skeleton_canvas/enum.Target.html
@@ -1,8 +1,8 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `Target` enum in crate `funnybones`."><title>Target in funnybones::cushy::skeleton_canvas - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-492a78a4a87dcc01.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="funnybones" data-themes="" data-resource-suffix="" data-rustdoc-version="1.82.0-nightly (0d634185d 2024-08-29)" data-channel="nightly" data-search-js="search-acd2e111c9cb27e3.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-cb0df477c2d67d00.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-3b12f09e550e0385.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../funnybones/index.html">funnybones</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Target</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.DesiredEnd">DesiredEnd</a></li><li><a href="#variant.Joint">Joint</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-Target">Clone</a></li><li><a href="#impl-Copy-for-Target">Copy</a></li><li><a href="#impl-Debug-for-Target">Debug</a></li><li><a href="#impl-Eq-for-Target">Eq</a></li><li><a href="#impl-PartialEq-for-Target">PartialEq</a></li><li><a href="#impl-StructuralPartialEq-for-Target">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Target">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Target">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Target">Send</a></li><li><a href="#impl-Sync-for-Target">Sync</a></li><li><a href="#impl-Unpin-for-Target">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Target">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S">AdaptInto&#60;D, Swp, Dwp, T&#62;</a></li><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-ArraysFrom%3CC%3E-for-T">ArraysFrom&#60;C&#62;</a></li><li><a href="#impl-ArraysInto%3CC%3E-for-T">ArraysInto&#60;C&#62;</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-Cam16IntoUnclamped%3CWpParam,+T%3E-for-U">Cam16IntoUnclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-Cast-for-A">Cast</a></li><li><a href="#impl-CastFrom%3CA%3E-for-A">CastFrom&#60;A&#62;</a></li><li><a href="#impl-CastInto%3CA%3E-for-B">CastInto&#60;A&#62;</a></li><li><a href="#impl-CloneToUninit-for-T">CloneToUninit</a></li><li><a href="#impl-ComponentsFrom%3CC%3E-for-T">ComponentsFrom&#60;C&#62;</a></li><li><a href="#impl-Downcast-for-T">Downcast</a></li><li><a href="#impl-Downcast%3CT%3E-for-T">Downcast&#60;T&#62;</a></li><li><a href="#impl-DowncastSync-for-T">DowncastSync</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Q">Equivalent&#60;K&#62;</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Q-1">Equivalent&#60;K&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&#60;T&#62;</a></li><li><a href="#impl-FromAngle%3CT%3E-for-T">FromAngle&#60;T&#62;</a></li><li><a href="#impl-FromStimulus%3CU%3E-for-T">FromStimulus&#60;U&#62;</a></li><li><a href="#impl-Instrument-for-T">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&#60;U&#62;</a></li><li><a href="#impl-IntoAngle%3CU%3E-for-T">IntoAngle&#60;U&#62;</a></li><li><a href="#impl-IntoCam16Unclamped%3CWpParam,+T%3E-for-U">IntoCam16Unclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-IntoColor%3CU%3E-for-T">IntoColor&#60;U&#62;</a></li><li><a href="#impl-IntoColorUnclamped%3CU%3E-for-T">IntoColorUnclamped&#60;U&#62;</a></li><li><a href="#impl-IntoComponents%3CUnit%3E-for-Unit">IntoComponents&#60;Unit&#62;</a></li><li><a href="#impl-IntoEither-for-T">IntoEither</a></li><li><a href="#impl-IntoReadOnly%3CT%3E-for-T">IntoReadOnly&#60;T&#62;</a></li><li><a href="#impl-IntoStimulus%3CT%3E-for-T">IntoStimulus&#60;T&#62;</a></li><li><a href="#impl-IntoValue%3COption%3CT%3E%3E-for-T">IntoValue&#60;Option&#60;T&#62;&#62;</a></li><li><a href="#impl-IntoValue%3CT%3E-for-T">IntoValue&#60;T&#62;</a></li><li><a href="#impl-Pointable-for-T">Pointable</a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryComponentsInto%3CC%3E-for-T">TryComponentsInto&#60;C&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&#60;U&#62;</a></li><li><a href="#impl-TryIntoColor%3CU%3E-for-T">TryIntoColor&#60;U&#62;</a></li><li><a href="#impl-UintsFrom%3CC%3E-for-U">UintsFrom&#60;C&#62;</a></li><li><a href="#impl-UintsInto%3CC%3E-for-U">UintsInto&#60;C&#62;</a></li><li><a href="#impl-Upcast%3CT%3E-for-T">Upcast&#60;T&#62;</a></li><li><a href="#impl-WasmNotSend-for-T">WasmNotSend</a></li><li><a href="#impl-WasmNotSendSync-for-T">WasmNotSendSync</a></li><li><a href="#impl-WasmNotSync-for-T">WasmNotSync</a></li><li><a href="#impl-WithSubscriber-for-T">WithSubscriber</a></li></ul></section><h2><a href="index.html">In funnybones::<wbr>cushy::<wbr>skeleton_<wbr>canvas</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Enum <a href="../../index.html">funnybones</a>::<wbr><a href="../index.html">cushy</a>::<wbr><a href="index.html">skeleton_canvas</a>::<wbr><a class="enum" href="#">Target</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#337-340">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub enum Target {
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `Target` enum in crate `funnybones`."><title>Target in funnybones::cushy::skeleton_canvas - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-492a78a4a87dcc01.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="funnybones" data-themes="" data-resource-suffix="" data-rustdoc-version="1.82.0-nightly (0d634185d 2024-08-29)" data-channel="nightly" data-search-js="search-acd2e111c9cb27e3.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-cb0df477c2d67d00.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-3b12f09e550e0385.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../funnybones/index.html">funnybones</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Target</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.DesiredEnd">DesiredEnd</a></li><li><a href="#variant.Joint">Joint</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-Target">Clone</a></li><li><a href="#impl-Copy-for-Target">Copy</a></li><li><a href="#impl-Debug-for-Target">Debug</a></li><li><a href="#impl-Eq-for-Target">Eq</a></li><li><a href="#impl-PartialEq-for-Target">PartialEq</a></li><li><a href="#impl-StructuralPartialEq-for-Target">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Target">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Target">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Target">Send</a></li><li><a href="#impl-Sync-for-Target">Sync</a></li><li><a href="#impl-Unpin-for-Target">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Target">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S">AdaptInto&#60;D, Swp, Dwp, T&#62;</a></li><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-ArraysFrom%3CC%3E-for-T">ArraysFrom&#60;C&#62;</a></li><li><a href="#impl-ArraysInto%3CC%3E-for-T">ArraysInto&#60;C&#62;</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-Cam16IntoUnclamped%3CWpParam,+T%3E-for-U">Cam16IntoUnclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-Cast-for-A">Cast</a></li><li><a href="#impl-CastFrom%3CA%3E-for-A">CastFrom&#60;A&#62;</a></li><li><a href="#impl-CastInto%3CA%3E-for-B">CastInto&#60;A&#62;</a></li><li><a href="#impl-CloneToUninit-for-T">CloneToUninit</a></li><li><a href="#impl-ComponentsFrom%3CC%3E-for-T">ComponentsFrom&#60;C&#62;</a></li><li><a href="#impl-Downcast-for-T">Downcast</a></li><li><a href="#impl-Downcast%3CT%3E-for-T">Downcast&#60;T&#62;</a></li><li><a href="#impl-DowncastSync-for-T">DowncastSync</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Q">Equivalent&#60;K&#62;</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Q-1">Equivalent&#60;K&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&#60;T&#62;</a></li><li><a href="#impl-FromAngle%3CT%3E-for-T">FromAngle&#60;T&#62;</a></li><li><a href="#impl-FromStimulus%3CU%3E-for-T">FromStimulus&#60;U&#62;</a></li><li><a href="#impl-Instrument-for-T">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&#60;U&#62;</a></li><li><a href="#impl-IntoAngle%3CU%3E-for-T">IntoAngle&#60;U&#62;</a></li><li><a href="#impl-IntoCam16Unclamped%3CWpParam,+T%3E-for-U">IntoCam16Unclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-IntoColor%3CU%3E-for-T">IntoColor&#60;U&#62;</a></li><li><a href="#impl-IntoColorUnclamped%3CU%3E-for-T">IntoColorUnclamped&#60;U&#62;</a></li><li><a href="#impl-IntoComponents%3CUnit%3E-for-Unit">IntoComponents&#60;Unit&#62;</a></li><li><a href="#impl-IntoEither-for-T">IntoEither</a></li><li><a href="#impl-IntoReadOnly%3CT%3E-for-T">IntoReadOnly&#60;T&#62;</a></li><li><a href="#impl-IntoStimulus%3CT%3E-for-T">IntoStimulus&#60;T&#62;</a></li><li><a href="#impl-IntoValue%3COption%3CT%3E%3E-for-T">IntoValue&#60;Option&#60;T&#62;&#62;</a></li><li><a href="#impl-IntoValue%3CT%3E-for-T">IntoValue&#60;T&#62;</a></li><li><a href="#impl-Pointable-for-T">Pointable</a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryComponentsInto%3CC%3E-for-T">TryComponentsInto&#60;C&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&#60;U&#62;</a></li><li><a href="#impl-TryIntoColor%3CU%3E-for-T">TryIntoColor&#60;U&#62;</a></li><li><a href="#impl-UintsFrom%3CC%3E-for-U">UintsFrom&#60;C&#62;</a></li><li><a href="#impl-UintsInto%3CC%3E-for-U">UintsInto&#60;C&#62;</a></li><li><a href="#impl-Upcast%3CT%3E-for-T">Upcast&#60;T&#62;</a></li><li><a href="#impl-WasmNotSend-for-T">WasmNotSend</a></li><li><a href="#impl-WasmNotSendSync-for-T">WasmNotSendSync</a></li><li><a href="#impl-WasmNotSync-for-T">WasmNotSync</a></li><li><a href="#impl-WithSubscriber-for-T">WithSubscriber</a></li></ul></section><h2><a href="index.html">In funnybones::<wbr>cushy::<wbr>skeleton_<wbr>canvas</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Enum <a href="../../index.html">funnybones</a>::<wbr><a href="../index.html">cushy</a>::<wbr><a href="index.html">skeleton_canvas</a>::<wbr><a class="enum" href="#">Target</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#350-353">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub enum Target {
     Joint(<a class="struct" href="../../struct.JointId.html" title="struct funnybones::JointId">JointId</a>),
     DesiredEnd(<a class="struct" href="../../struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a>),
-}</code></pre><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.Joint" class="variant"><a href="#variant.Joint" class="anchor">§</a><h3 class="code-header">Joint(<a class="struct" href="../../struct.JointId.html" title="struct funnybones::JointId">JointId</a>)</h3></section><section id="variant.DesiredEnd" class="variant"><a href="#variant.DesiredEnd" class="anchor">§</a><h3 class="code-header">DesiredEnd(<a class="struct" href="../../struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a>)</h3></section></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Target" class="impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#336">source</a><a href="#impl-Clone-for-Target" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#336">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#174">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: &amp;Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-Target" class="impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#336">source</a><a href="#impl-Debug-for-Target" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#336">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-Target" class="impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#336">source</a><a href="#impl-PartialEq-for-Target" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#336">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#261">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>!=</code>. The default implementation is almost always sufficient,
-and should not be overridden without very good reason.</div></details></div></details><section id="impl-Copy-for-Target" class="impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#336">source</a><a href="#impl-Copy-for-Target" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a></h3></section><section id="impl-Eq-for-Target" class="impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#336">source</a><a href="#impl-Eq-for-Target" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a></h3></section><section id="impl-StructuralPartialEq-for-Target" class="impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#336">source</a><a href="#impl-StructuralPartialEq-for-Target" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-Target" class="impl"><a href="#impl-Freeze-for-Target" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a></h3></section><section id="impl-RefUnwindSafe-for-Target" class="impl"><a href="#impl-RefUnwindSafe-for-Target" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a></h3></section><section id="impl-Send-for-Target" class="impl"><a href="#impl-Send-for-Target" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a></h3></section><section id="impl-Sync-for-Target" class="impl"><a href="#impl-Sync-for-Target" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a></h3></section><section id="impl-Unpin-for-Target" class="impl"><a href="#impl-Unpin-for-Target" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a></h3></section><section id="impl-UnwindSafe-for-Target" class="impl"><a href="#impl-UnwindSafe-for-Target" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/chromatic_adaptation.rs.html#205-210">source</a><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="anchor">§</a><h3 class="code-header">impl&lt;S, D, Swp, Dwp, T&gt; <a class="trait" href="https://docs.rs/palette/0.7.6/palette/chromatic_adaptation/trait.AdaptInto.html" title="trait palette::chromatic_adaptation::AdaptInto">AdaptInto</a>&lt;D, Swp, Dwp, T&gt; for S<div class="where">where
+}</code></pre><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.Joint" class="variant"><a href="#variant.Joint" class="anchor">§</a><h3 class="code-header">Joint(<a class="struct" href="../../struct.JointId.html" title="struct funnybones::JointId">JointId</a>)</h3></section><section id="variant.DesiredEnd" class="variant"><a href="#variant.DesiredEnd" class="anchor">§</a><h3 class="code-header">DesiredEnd(<a class="struct" href="../../struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a>)</h3></section></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Target" class="impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#349">source</a><a href="#impl-Clone-for-Target" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#349">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#174">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: &amp;Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-Target" class="impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#349">source</a><a href="#impl-Debug-for-Target" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#349">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-Target" class="impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#349">source</a><a href="#impl-PartialEq-for-Target" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#349">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#261">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>!=</code>. The default implementation is almost always sufficient,
+and should not be overridden without very good reason.</div></details></div></details><section id="impl-Copy-for-Target" class="impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#349">source</a><a href="#impl-Copy-for-Target" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a></h3></section><section id="impl-Eq-for-Target" class="impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#349">source</a><a href="#impl-Eq-for-Target" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a></h3></section><section id="impl-StructuralPartialEq-for-Target" class="impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#349">source</a><a href="#impl-StructuralPartialEq-for-Target" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-Target" class="impl"><a href="#impl-Freeze-for-Target" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a></h3></section><section id="impl-RefUnwindSafe-for-Target" class="impl"><a href="#impl-RefUnwindSafe-for-Target" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a></h3></section><section id="impl-Send-for-Target" class="impl"><a href="#impl-Send-for-Target" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a></h3></section><section id="impl-Sync-for-Target" class="impl"><a href="#impl-Sync-for-Target" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a></h3></section><section id="impl-Unpin-for-Target" class="impl"><a href="#impl-Unpin-for-Target" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a></h3></section><section id="impl-UnwindSafe-for-Target" class="impl"><a href="#impl-UnwindSafe-for-Target" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/chromatic_adaptation.rs.html#205-210">source</a><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="anchor">§</a><h3 class="code-header">impl&lt;S, D, Swp, Dwp, T&gt; <a class="trait" href="https://docs.rs/palette/0.7.6/palette/chromatic_adaptation/trait.AdaptInto.html" title="trait palette::chromatic_adaptation::AdaptInto">AdaptInto</a>&lt;D, Swp, Dwp, T&gt; for S<div class="where">where
     T: <a class="trait" href="https://docs.rs/palette/0.7.6/palette/num/trait.Real.html" title="trait palette::num::Real">Real</a> + <a class="trait" href="https://docs.rs/palette/0.7.6/palette/num/trait.Zero.html" title="trait palette::num::Zero">Zero</a> + <a class="trait" href="https://docs.rs/palette/0.7.6/palette/num/trait.Arithmetics.html" title="trait palette::num::Arithmetics">Arithmetics</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,
     Swp: <a class="trait" href="https://docs.rs/palette/0.7.6/palette/white_point/trait.WhitePoint.html" title="trait palette::white_point::WhitePoint">WhitePoint</a>&lt;T&gt;,
     Dwp: <a class="trait" href="https://docs.rs/palette/0.7.6/palette/white_point/trait.WhitePoint.html" title="trait palette::white_point::WhitePoint">WhitePoint</a>&lt;T&gt;,
diff --git a/main/funnybones/cushy/skeleton_canvas/index.html b/main/funnybones/cushy/skeleton_canvas/index.html
index b900700..67ac14a 100644
--- a/main/funnybones/cushy/skeleton_canvas/index.html
+++ b/main/funnybones/cushy/skeleton_canvas/index.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `skeleton_canvas` mod in crate `funnybones`."><title>funnybones::cushy::skeleton_canvas - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-492a78a4a87dcc01.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="funnybones" data-themes="" data-resource-suffix="" data-rustdoc-version="1.82.0-nightly (0d634185d 2024-08-29)" data-channel="nightly" data-search-js="search-acd2e111c9cb27e3.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../../static.files/storage-118b08c4c78b968e.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../../static.files/main-cb0df477c2d67d00.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-3b12f09e550e0385.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../funnybones/index.html">funnybones</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Module skeleton_<wbr>canvas</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li></ul></section><h2><a href="../index.html">In funnybones::<wbr>cushy</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Module <a href="../../index.html">funnybones</a>::<wbr><a href="../index.html">cushy</a>::<wbr><a class="mod" href="#">skeleton_canvas</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#1-352">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.SkeletonCanvas.html" title="struct funnybones::cushy::skeleton_canvas::SkeletonCanvas">Skeleton<wbr>Canvas</a></div></li></ul><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">Skeleton<wbr>Mutation</a></div></li><li><div class="item-name"><a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a></div></li></ul></section></div></main></body></html>
\ No newline at end of file
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `skeleton_canvas` mod in crate `funnybones`."><title>funnybones::cushy::skeleton_canvas - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-492a78a4a87dcc01.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="funnybones" data-themes="" data-resource-suffix="" data-rustdoc-version="1.82.0-nightly (0d634185d 2024-08-29)" data-channel="nightly" data-search-js="search-acd2e111c9cb27e3.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../../static.files/storage-118b08c4c78b968e.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../../static.files/main-cb0df477c2d67d00.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-3b12f09e550e0385.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../funnybones/index.html">funnybones</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Module skeleton_<wbr>canvas</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li></ul></section><h2><a href="../index.html">In funnybones::<wbr>cushy</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Module <a href="../../index.html">funnybones</a>::<wbr><a href="../index.html">cushy</a>::<wbr><a class="mod" href="#">skeleton_canvas</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#1-365">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.SkeletonCanvas.html" title="struct funnybones::cushy::skeleton_canvas::SkeletonCanvas">Skeleton<wbr>Canvas</a></div></li></ul><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">§</a></h2><ul class="item-table"><li><div class="item-name"><a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">Skeleton<wbr>Mutation</a></div></li><li><div class="item-name"><a class="enum" href="enum.Target.html" title="enum funnybones::cushy::skeleton_canvas::Target">Target</a></div></li></ul></section></div></main></body></html>
\ No newline at end of file
diff --git a/main/funnybones/cushy/skeleton_canvas/struct.SkeletonCanvas.html b/main/funnybones/cushy/skeleton_canvas/struct.SkeletonCanvas.html
index a06272d..f9a2028 100644
--- a/main/funnybones/cushy/skeleton_canvas/struct.SkeletonCanvas.html
+++ b/main/funnybones/cushy/skeleton_canvas/struct.SkeletonCanvas.html
@@ -1,34 +1,34 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `SkeletonCanvas` struct in crate `funnybones`."><title>SkeletonCanvas in funnybones::cushy::skeleton_canvas - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-492a78a4a87dcc01.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="funnybones" data-themes="" data-resource-suffix="" data-rustdoc-version="1.82.0-nightly (0d634185d 2024-08-29)" data-channel="nightly" data-search-js="search-acd2e111c9cb27e3.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-cb0df477c2d67d00.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-3b12f09e550e0385.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../funnybones/index.html">funnybones</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Skeleton<wbr>Canvas</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.new">new</a></li><li><a href="#method.on_mutate">on_mutate</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Debug-for-SkeletonCanvas">Debug</a></li><li><a href="#impl-Widget-for-SkeletonCanvas">Widget</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-SkeletonCanvas">!RefUnwindSafe</a></li><li><a href="#impl-Sync-for-SkeletonCanvas">!Sync</a></li><li><a href="#impl-UnwindSafe-for-SkeletonCanvas">!UnwindSafe</a></li><li><a href="#impl-Freeze-for-SkeletonCanvas">Freeze</a></li><li><a href="#impl-Send-for-SkeletonCanvas">Send</a></li><li><a href="#impl-Unpin-for-SkeletonCanvas">Unpin</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S">AdaptInto&#60;D, Swp, Dwp, T&#62;</a></li><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-ArraysFrom%3CC%3E-for-T">ArraysFrom&#60;C&#62;</a></li><li><a href="#impl-ArraysInto%3CC%3E-for-T">ArraysInto&#60;C&#62;</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-Cam16IntoUnclamped%3CWpParam,+T%3E-for-U">Cam16IntoUnclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-Cast-for-A">Cast</a></li><li><a href="#impl-CastFrom%3CA%3E-for-A">CastFrom&#60;A&#62;</a></li><li><a href="#impl-CastInto%3CA%3E-for-B">CastInto&#60;A&#62;</a></li><li><a href="#impl-ComponentsFrom%3CC%3E-for-T">ComponentsFrom&#60;C&#62;</a></li><li><a href="#impl-Downcast-for-T">Downcast</a></li><li><a href="#impl-Downcast%3CT%3E-for-T">Downcast&#60;T&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&#60;T&#62;</a></li><li><a href="#impl-FromAngle%3CT%3E-for-T">FromAngle&#60;T&#62;</a></li><li><a href="#impl-FromStimulus%3CU%3E-for-T">FromStimulus&#60;U&#62;</a></li><li><a href="#impl-Instrument-for-T">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&#60;U&#62;</a></li><li><a href="#impl-IntoAngle%3CU%3E-for-T">IntoAngle&#60;U&#62;</a></li><li><a href="#impl-IntoCam16Unclamped%3CWpParam,+T%3E-for-U">IntoCam16Unclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-IntoColor%3CU%3E-for-T">IntoColor&#60;U&#62;</a></li><li><a href="#impl-IntoColorUnclamped%3CU%3E-for-T">IntoColorUnclamped&#60;U&#62;</a></li><li><a href="#impl-IntoEither-for-T">IntoEither</a></li><li><a href="#impl-IntoReadOnly%3CT%3E-for-T">IntoReadOnly&#60;T&#62;</a></li><li><a href="#impl-IntoStimulus%3CT%3E-for-T">IntoStimulus&#60;T&#62;</a></li><li><a href="#impl-IntoValue%3COption%3CT%3E%3E-for-T">IntoValue&#60;Option&#60;T&#62;&#62;</a></li><li><a href="#impl-IntoValue%3CT%3E-for-T">IntoValue&#60;T&#62;</a></li><li><a href="#impl-MakeWidget-for-T">MakeWidget</a></li><li><a href="#impl-MakeWidgetWithTag-for-T">MakeWidgetWithTag</a></li><li><a href="#impl-Open-for-T">Open</a></li><li><a href="#impl-Pointable-for-T">Pointable</a></li><li><a href="#impl-Run-for-T">Run</a></li><li><a href="#impl-TryComponentsInto%3CC%3E-for-T">TryComponentsInto&#60;C&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&#60;U&#62;</a></li><li><a href="#impl-TryIntoColor%3CU%3E-for-T">TryIntoColor&#60;U&#62;</a></li><li><a href="#impl-UintsFrom%3CC%3E-for-U">UintsFrom&#60;C&#62;</a></li><li><a href="#impl-UintsInto%3CC%3E-for-U">UintsInto&#60;C&#62;</a></li><li><a href="#impl-Upcast%3CT%3E-for-T">Upcast&#60;T&#62;</a></li><li><a href="#impl-WasmNotSend-for-T">WasmNotSend</a></li><li><a href="#impl-WithSubscriber-for-T">WithSubscriber</a></li></ul></section><h2><a href="index.html">In funnybones::<wbr>cushy::<wbr>skeleton_<wbr>canvas</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="../../index.html">funnybones</a>::<wbr><a href="../index.html">cushy</a>::<wbr><a href="index.html">skeleton_canvas</a>::<wbr><a class="struct" href="#">SkeletonCanvas</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#24-32">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct SkeletonCanvas { <span class="comment">/* private fields */</span> }</code></pre><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-SkeletonCanvas" class="impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#34-67">source</a><a href="#impl-SkeletonCanvas" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.SkeletonCanvas.html" title="struct funnybones::cushy::skeleton_canvas::SkeletonCanvas">SkeletonCanvas</a></h3></section></summary><div class="impl-items"><section id="method.new" class="method"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#36-46">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(skeleton: Dynamic&lt;<a class="struct" href="../../struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a>&gt;) -&gt; Self</h4></section><section id="method.on_mutate" class="method"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#49-55">source</a><h4 class="code-header">pub fn <a href="#method.on_mutate" class="fn">on_mutate</a>&lt;F&gt;(self, on_mutate: F) -&gt; Self<div class="where">where
-    F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">SkeletonMutation</a>) + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static,</div></h4></section></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-SkeletonCanvas" class="impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#23">source</a><a href="#impl-Debug-for-SkeletonCanvas" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.SkeletonCanvas.html" title="struct funnybones::cushy::skeleton_canvas::SkeletonCanvas">SkeletonCanvas</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#23">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Widget-for-SkeletonCanvas" class="impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#69-315">source</a><a href="#impl-Widget-for-SkeletonCanvas" class="anchor">§</a><h3 class="code-header">impl Widget for <a class="struct" href="struct.SkeletonCanvas.html" title="struct funnybones::cushy::skeleton_canvas::SkeletonCanvas">SkeletonCanvas</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.redraw" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#70-163">source</a><a href="#method.redraw" class="anchor">§</a><h4 class="code-header">fn <a class="fn">redraw</a>(&amp;mut self, context: &amp;mut GraphicsContext&lt;'_, '_, '_, '_&gt;)</h4></section></summary><div class='docblock'>Redraw the contents of this widget.</div></details><details class="toggle method-toggle" open><summary><section id="method.layout" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#165-171">source</a><a href="#method.layout" class="anchor">§</a><h4 class="code-header">fn <a class="fn">layout</a>(
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `SkeletonCanvas` struct in crate `funnybones`."><title>SkeletonCanvas in funnybones::cushy::skeleton_canvas - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-492a78a4a87dcc01.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="funnybones" data-themes="" data-resource-suffix="" data-rustdoc-version="1.82.0-nightly (0d634185d 2024-08-29)" data-channel="nightly" data-search-js="search-acd2e111c9cb27e3.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../../../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-cb0df477c2d67d00.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-3b12f09e550e0385.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../funnybones/index.html">funnybones</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Skeleton<wbr>Canvas</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.new">new</a></li><li><a href="#method.on_mutate">on_mutate</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Debug-for-SkeletonCanvas">Debug</a></li><li><a href="#impl-Widget-for-SkeletonCanvas">Widget</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-RefUnwindSafe-for-SkeletonCanvas">!RefUnwindSafe</a></li><li><a href="#impl-Sync-for-SkeletonCanvas">!Sync</a></li><li><a href="#impl-UnwindSafe-for-SkeletonCanvas">!UnwindSafe</a></li><li><a href="#impl-Freeze-for-SkeletonCanvas">Freeze</a></li><li><a href="#impl-Send-for-SkeletonCanvas">Send</a></li><li><a href="#impl-Unpin-for-SkeletonCanvas">Unpin</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S">AdaptInto&#60;D, Swp, Dwp, T&#62;</a></li><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-ArraysFrom%3CC%3E-for-T">ArraysFrom&#60;C&#62;</a></li><li><a href="#impl-ArraysInto%3CC%3E-for-T">ArraysInto&#60;C&#62;</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-Cam16IntoUnclamped%3CWpParam,+T%3E-for-U">Cam16IntoUnclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-Cast-for-A">Cast</a></li><li><a href="#impl-CastFrom%3CA%3E-for-A">CastFrom&#60;A&#62;</a></li><li><a href="#impl-CastInto%3CA%3E-for-B">CastInto&#60;A&#62;</a></li><li><a href="#impl-ComponentsFrom%3CC%3E-for-T">ComponentsFrom&#60;C&#62;</a></li><li><a href="#impl-Downcast-for-T">Downcast</a></li><li><a href="#impl-Downcast%3CT%3E-for-T">Downcast&#60;T&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&#60;T&#62;</a></li><li><a href="#impl-FromAngle%3CT%3E-for-T">FromAngle&#60;T&#62;</a></li><li><a href="#impl-FromStimulus%3CU%3E-for-T">FromStimulus&#60;U&#62;</a></li><li><a href="#impl-Instrument-for-T">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&#60;U&#62;</a></li><li><a href="#impl-IntoAngle%3CU%3E-for-T">IntoAngle&#60;U&#62;</a></li><li><a href="#impl-IntoCam16Unclamped%3CWpParam,+T%3E-for-U">IntoCam16Unclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-IntoColor%3CU%3E-for-T">IntoColor&#60;U&#62;</a></li><li><a href="#impl-IntoColorUnclamped%3CU%3E-for-T">IntoColorUnclamped&#60;U&#62;</a></li><li><a href="#impl-IntoEither-for-T">IntoEither</a></li><li><a href="#impl-IntoReadOnly%3CT%3E-for-T">IntoReadOnly&#60;T&#62;</a></li><li><a href="#impl-IntoStimulus%3CT%3E-for-T">IntoStimulus&#60;T&#62;</a></li><li><a href="#impl-IntoValue%3COption%3CT%3E%3E-for-T">IntoValue&#60;Option&#60;T&#62;&#62;</a></li><li><a href="#impl-IntoValue%3CT%3E-for-T">IntoValue&#60;T&#62;</a></li><li><a href="#impl-MakeWidget-for-T">MakeWidget</a></li><li><a href="#impl-MakeWidgetWithTag-for-T">MakeWidgetWithTag</a></li><li><a href="#impl-Open-for-T">Open</a></li><li><a href="#impl-Pointable-for-T">Pointable</a></li><li><a href="#impl-Run-for-T">Run</a></li><li><a href="#impl-TryComponentsInto%3CC%3E-for-T">TryComponentsInto&#60;C&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&#60;U&#62;</a></li><li><a href="#impl-TryIntoColor%3CU%3E-for-T">TryIntoColor&#60;U&#62;</a></li><li><a href="#impl-UintsFrom%3CC%3E-for-U">UintsFrom&#60;C&#62;</a></li><li><a href="#impl-UintsInto%3CC%3E-for-U">UintsInto&#60;C&#62;</a></li><li><a href="#impl-Upcast%3CT%3E-for-T">Upcast&#60;T&#62;</a></li><li><a href="#impl-WasmNotSend-for-T">WasmNotSend</a></li><li><a href="#impl-WithSubscriber-for-T">WithSubscriber</a></li></ul></section><h2><a href="index.html">In funnybones::<wbr>cushy::<wbr>skeleton_<wbr>canvas</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="../../index.html">funnybones</a>::<wbr><a href="../index.html">cushy</a>::<wbr><a href="index.html">skeleton_canvas</a>::<wbr><a class="struct" href="#">SkeletonCanvas</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#24-33">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct SkeletonCanvas { <span class="comment">/* private fields */</span> }</code></pre><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-SkeletonCanvas" class="impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#35-69">source</a><a href="#impl-SkeletonCanvas" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.SkeletonCanvas.html" title="struct funnybones::cushy::skeleton_canvas::SkeletonCanvas">SkeletonCanvas</a></h3></section></summary><div class="impl-items"><section id="method.new" class="method"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#37-48">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(skeleton: Dynamic&lt;<a class="struct" href="../../struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a>&gt;) -&gt; Self</h4></section><section id="method.on_mutate" class="method"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#51-57">source</a><h4 class="code-header">pub fn <a href="#method.on_mutate" class="fn">on_mutate</a>&lt;F&gt;(self, on_mutate: F) -&gt; Self<div class="where">where
+    F: <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/function/trait.FnMut.html" title="trait core::ops::function::FnMut">FnMut</a>(<a class="enum" href="enum.SkeletonMutation.html" title="enum funnybones::cushy::skeleton_canvas::SkeletonMutation">SkeletonMutation</a>) + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'static,</div></h4></section></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-SkeletonCanvas" class="impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#23">source</a><a href="#impl-Debug-for-SkeletonCanvas" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.SkeletonCanvas.html" title="struct funnybones::cushy::skeleton_canvas::SkeletonCanvas">SkeletonCanvas</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#23">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Widget-for-SkeletonCanvas" class="impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#71-328">source</a><a href="#impl-Widget-for-SkeletonCanvas" class="anchor">§</a><h3 class="code-header">impl Widget for <a class="struct" href="struct.SkeletonCanvas.html" title="struct funnybones::cushy::skeleton_canvas::SkeletonCanvas">SkeletonCanvas</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.redraw" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#72-171">source</a><a href="#method.redraw" class="anchor">§</a><h4 class="code-header">fn <a class="fn">redraw</a>(&amp;mut self, context: &amp;mut GraphicsContext&lt;'_, '_, '_, '_&gt;)</h4></section></summary><div class='docblock'>Redraw the contents of this widget.</div></details><details class="toggle method-toggle" open><summary><section id="method.layout" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#173-179">source</a><a href="#method.layout" class="anchor">§</a><h4 class="code-header">fn <a class="fn">layout</a>(
     &amp;mut self,
     available_space: Size&lt;ConstraintLimit&gt;,
     _context: &amp;mut LayoutContext&lt;'_, '_, '_, '_&gt;,
 ) -&gt; Size&lt;UPx&gt;</h4></section></summary><div class='docblock'>Layout this widget and returns the ideal size based on its contents and
-the <code>available_space</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.hover" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#173-219">source</a><a href="#method.hover" class="anchor">§</a><h4 class="code-header">fn <a class="fn">hover</a>(
+the <code>available_space</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.hover" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#181-232">source</a><a href="#method.hover" class="anchor">§</a><h4 class="code-header">fn <a class="fn">hover</a>(
     &amp;mut self,
     location: Point&lt;Px&gt;,
     context: &amp;mut EventContext&lt;'_&gt;,
-) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;CursorIcon&gt;</h4></section></summary><div class='docblock'>The widget is currently has a cursor hovering it at <code>location</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.unhover" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#221-225">source</a><a href="#method.unhover" class="anchor">§</a><h4 class="code-header">fn <a class="fn">unhover</a>(&amp;mut self, context: &amp;mut EventContext&lt;'_&gt;)</h4></section></summary><div class='docblock'>The widget is no longer being hovered.</div></details><details class="toggle method-toggle" open><summary><section id="method.mouse_down" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#227-243">source</a><a href="#method.mouse_down" class="anchor">§</a><h4 class="code-header">fn <a class="fn">mouse_down</a>(
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;CursorIcon&gt;</h4></section></summary><div class='docblock'>The widget is currently has a cursor hovering it at <code>location</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.unhover" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#234-238">source</a><a href="#method.unhover" class="anchor">§</a><h4 class="code-header">fn <a class="fn">unhover</a>(&amp;mut self, context: &amp;mut EventContext&lt;'_&gt;)</h4></section></summary><div class='docblock'>The widget is no longer being hovered.</div></details><details class="toggle method-toggle" open><summary><section id="method.mouse_down" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#240-256">source</a><a href="#method.mouse_down" class="anchor">§</a><h4 class="code-header">fn <a class="fn">mouse_down</a>(
     &amp;mut self,
     location: Point&lt;Px&gt;,
     _device_id: DeviceId,
     _button: MouseButton,
     _context: &amp;mut EventContext&lt;'_&gt;,
 ) -&gt; EventHandling</h4></section></summary><div class='docblock'>A mouse button event has occurred at <code>location</code>. Returns whether the
-event has been handled or not. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.mouse_drag" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#245-300">source</a><a href="#method.mouse_drag" class="anchor">§</a><h4 class="code-header">fn <a class="fn">mouse_drag</a>(
+event has been handled or not. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.mouse_drag" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#258-313">source</a><a href="#method.mouse_drag" class="anchor">§</a><h4 class="code-header">fn <a class="fn">mouse_drag</a>(
     &amp;mut self,
     location: Point&lt;Px&gt;,
     _device_id: DeviceId,
     _button: MouseButton,
     _context: &amp;mut EventContext&lt;'_&gt;,
 )</h4></section></summary><div class='docblock'>A mouse button is being held down as the cursor is moved across the
-widget.</div></details><details class="toggle method-toggle" open><summary><section id="method.mouse_up" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#302-310">source</a><a href="#method.mouse_up" class="anchor">§</a><h4 class="code-header">fn <a class="fn">mouse_up</a>(
+widget.</div></details><details class="toggle method-toggle" open><summary><section id="method.mouse_up" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#315-323">source</a><a href="#method.mouse_up" class="anchor">§</a><h4 class="code-header">fn <a class="fn">mouse_up</a>(
     &amp;mut self,
     _location: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Point&lt;Px&gt;&gt;,
     _device_id: DeviceId,
     _button: MouseButton,
     _context: &amp;mut EventContext&lt;'_&gt;,
-)</h4></section></summary><div class='docblock'>A mouse button is no longer being pressed.</div></details><details class="toggle method-toggle" open><summary><section id="method.hit_test" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#312-314">source</a><a href="#method.hit_test" class="anchor">§</a><h4 class="code-header">fn <a class="fn">hit_test</a>(
+)</h4></section></summary><div class='docblock'>A mouse button is no longer being pressed.</div></details><details class="toggle method-toggle" open><summary><section id="method.hit_test" class="method trait-impl"><a class="src rightside" href="../../../src/funnybones/cushy/skeleton_canvas.rs.html#325-327">source</a><a href="#method.hit_test" class="anchor">§</a><h4 class="code-header">fn <a class="fn">hit_test</a>(
     &amp;mut self,
     _location: Point&lt;Px&gt;,
     _context: &amp;mut EventContext&lt;'_&gt;,
diff --git a/main/funnybones/enum.BoneEnd.html b/main/funnybones/enum.BoneEnd.html
index 82cccff..128d5ca 100644
--- a/main/funnybones/enum.BoneEnd.html
+++ b/main/funnybones/enum.BoneEnd.html
@@ -1,16 +1,16 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A specific end of a `Bone`."><title>BoneEnd in funnybones - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-492a78a4a87dcc01.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="funnybones" data-themes="" data-resource-suffix="" data-rustdoc-version="1.82.0-nightly (0d634185d 2024-08-29)" data-channel="nightly" data-search-js="search-acd2e111c9cb27e3.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-cb0df477c2d67d00.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-3b12f09e550e0385.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../funnybones/index.html">funnybones</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">BoneEnd</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.A">A</a></li><li><a href="#variant.B">B</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.inverse">inverse</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-BoneEnd">Clone</a></li><li><a href="#impl-Copy-for-BoneEnd">Copy</a></li><li><a href="#impl-Debug-for-BoneEnd">Debug</a></li><li><a href="#impl-Deserialize%3C'de%3E-for-BoneEnd">Deserialize&#60;&#39;de&#62;</a></li><li><a href="#impl-Eq-for-BoneEnd">Eq</a></li><li><a href="#impl-Hash-for-BoneEnd">Hash</a></li><li><a href="#impl-PartialEq-for-BoneEnd">PartialEq</a></li><li><a href="#impl-Serialize-for-BoneEnd">Serialize</a></li><li><a href="#impl-StructuralPartialEq-for-BoneEnd">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-BoneEnd">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-BoneEnd">RefUnwindSafe</a></li><li><a href="#impl-Send-for-BoneEnd">Send</a></li><li><a href="#impl-Sync-for-BoneEnd">Sync</a></li><li><a href="#impl-Unpin-for-BoneEnd">Unpin</a></li><li><a href="#impl-UnwindSafe-for-BoneEnd">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S">AdaptInto&#60;D, Swp, Dwp, T&#62;</a></li><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-ArraysFrom%3CC%3E-for-T">ArraysFrom&#60;C&#62;</a></li><li><a href="#impl-ArraysInto%3CC%3E-for-T">ArraysInto&#60;C&#62;</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-Cam16IntoUnclamped%3CWpParam,+T%3E-for-U">Cam16IntoUnclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-Cast-for-A">Cast</a></li><li><a href="#impl-CastFrom%3CA%3E-for-A">CastFrom&#60;A&#62;</a></li><li><a href="#impl-CastInto%3CA%3E-for-B">CastInto&#60;A&#62;</a></li><li><a href="#impl-CloneToUninit-for-T">CloneToUninit</a></li><li><a href="#impl-ComponentsFrom%3CC%3E-for-T">ComponentsFrom&#60;C&#62;</a></li><li><a href="#impl-DeserializeOwned-for-T">DeserializeOwned</a></li><li><a href="#impl-Downcast-for-T">Downcast</a></li><li><a href="#impl-Downcast%3CT%3E-for-T">Downcast&#60;T&#62;</a></li><li><a href="#impl-DowncastSync-for-T">DowncastSync</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Q">Equivalent&#60;K&#62;</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Q-1">Equivalent&#60;K&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&#60;T&#62;</a></li><li><a href="#impl-FromAngle%3CT%3E-for-T">FromAngle&#60;T&#62;</a></li><li><a href="#impl-FromStimulus%3CU%3E-for-T">FromStimulus&#60;U&#62;</a></li><li><a href="#impl-Instrument-for-T">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&#60;U&#62;</a></li><li><a href="#impl-IntoAngle%3CU%3E-for-T">IntoAngle&#60;U&#62;</a></li><li><a href="#impl-IntoCam16Unclamped%3CWpParam,+T%3E-for-U">IntoCam16Unclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-IntoColor%3CU%3E-for-T">IntoColor&#60;U&#62;</a></li><li><a href="#impl-IntoColorUnclamped%3CU%3E-for-T">IntoColorUnclamped&#60;U&#62;</a></li><li><a href="#impl-IntoComponents%3CUnit%3E-for-Unit">IntoComponents&#60;Unit&#62;</a></li><li><a href="#impl-IntoEither-for-T">IntoEither</a></li><li><a href="#impl-IntoReadOnly%3CT%3E-for-T">IntoReadOnly&#60;T&#62;</a></li><li><a href="#impl-IntoStimulus%3CT%3E-for-T">IntoStimulus&#60;T&#62;</a></li><li><a href="#impl-IntoValue%3COption%3CT%3E%3E-for-T">IntoValue&#60;Option&#60;T&#62;&#62;</a></li><li><a href="#impl-IntoValue%3CT%3E-for-T">IntoValue&#60;T&#62;</a></li><li><a href="#impl-Pointable-for-T">Pointable</a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryComponentsInto%3CC%3E-for-T">TryComponentsInto&#60;C&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&#60;U&#62;</a></li><li><a href="#impl-TryIntoColor%3CU%3E-for-T">TryIntoColor&#60;U&#62;</a></li><li><a href="#impl-UintsFrom%3CC%3E-for-U">UintsFrom&#60;C&#62;</a></li><li><a href="#impl-UintsInto%3CC%3E-for-U">UintsInto&#60;C&#62;</a></li><li><a href="#impl-Upcast%3CT%3E-for-T">Upcast&#60;T&#62;</a></li><li><a href="#impl-WasmNotSend-for-T">WasmNotSend</a></li><li><a href="#impl-WasmNotSendSync-for-T">WasmNotSendSync</a></li><li><a href="#impl-WasmNotSync-for-T">WasmNotSync</a></li><li><a href="#impl-WithSubscriber-for-T">WithSubscriber</a></li></ul></section><h2><a href="index.html">In crate funnybones</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Enum <a href="index.html">funnybones</a>::<wbr><a class="enum" href="#">BoneEnd</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/funnybones/lib.rs.html#927-932">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub enum BoneEnd {
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A specific end of a `Bone`."><title>BoneEnd in funnybones - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-492a78a4a87dcc01.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="funnybones" data-themes="" data-resource-suffix="" data-rustdoc-version="1.82.0-nightly (0d634185d 2024-08-29)" data-channel="nightly" data-search-js="search-acd2e111c9cb27e3.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-cb0df477c2d67d00.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-3b12f09e550e0385.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../funnybones/index.html">funnybones</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">BoneEnd</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block variant"><li><a href="#variant.A">A</a></li><li><a href="#variant.B">B</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.inverse">inverse</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-BoneEnd">Clone</a></li><li><a href="#impl-Copy-for-BoneEnd">Copy</a></li><li><a href="#impl-Debug-for-BoneEnd">Debug</a></li><li><a href="#impl-Deserialize%3C'de%3E-for-BoneEnd">Deserialize&#60;&#39;de&#62;</a></li><li><a href="#impl-Eq-for-BoneEnd">Eq</a></li><li><a href="#impl-Hash-for-BoneEnd">Hash</a></li><li><a href="#impl-PartialEq-for-BoneEnd">PartialEq</a></li><li><a href="#impl-Serialize-for-BoneEnd">Serialize</a></li><li><a href="#impl-StructuralPartialEq-for-BoneEnd">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-BoneEnd">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-BoneEnd">RefUnwindSafe</a></li><li><a href="#impl-Send-for-BoneEnd">Send</a></li><li><a href="#impl-Sync-for-BoneEnd">Sync</a></li><li><a href="#impl-Unpin-for-BoneEnd">Unpin</a></li><li><a href="#impl-UnwindSafe-for-BoneEnd">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S">AdaptInto&#60;D, Swp, Dwp, T&#62;</a></li><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-ArraysFrom%3CC%3E-for-T">ArraysFrom&#60;C&#62;</a></li><li><a href="#impl-ArraysInto%3CC%3E-for-T">ArraysInto&#60;C&#62;</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-Cam16IntoUnclamped%3CWpParam,+T%3E-for-U">Cam16IntoUnclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-Cast-for-A">Cast</a></li><li><a href="#impl-CastFrom%3CA%3E-for-A">CastFrom&#60;A&#62;</a></li><li><a href="#impl-CastInto%3CA%3E-for-B">CastInto&#60;A&#62;</a></li><li><a href="#impl-CloneToUninit-for-T">CloneToUninit</a></li><li><a href="#impl-ComponentsFrom%3CC%3E-for-T">ComponentsFrom&#60;C&#62;</a></li><li><a href="#impl-DeserializeOwned-for-T">DeserializeOwned</a></li><li><a href="#impl-Downcast-for-T">Downcast</a></li><li><a href="#impl-Downcast%3CT%3E-for-T">Downcast&#60;T&#62;</a></li><li><a href="#impl-DowncastSync-for-T">DowncastSync</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Q">Equivalent&#60;K&#62;</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Q-1">Equivalent&#60;K&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&#60;T&#62;</a></li><li><a href="#impl-FromAngle%3CT%3E-for-T">FromAngle&#60;T&#62;</a></li><li><a href="#impl-FromStimulus%3CU%3E-for-T">FromStimulus&#60;U&#62;</a></li><li><a href="#impl-Instrument-for-T">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&#60;U&#62;</a></li><li><a href="#impl-IntoAngle%3CU%3E-for-T">IntoAngle&#60;U&#62;</a></li><li><a href="#impl-IntoCam16Unclamped%3CWpParam,+T%3E-for-U">IntoCam16Unclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-IntoColor%3CU%3E-for-T">IntoColor&#60;U&#62;</a></li><li><a href="#impl-IntoColorUnclamped%3CU%3E-for-T">IntoColorUnclamped&#60;U&#62;</a></li><li><a href="#impl-IntoComponents%3CUnit%3E-for-Unit">IntoComponents&#60;Unit&#62;</a></li><li><a href="#impl-IntoEither-for-T">IntoEither</a></li><li><a href="#impl-IntoReadOnly%3CT%3E-for-T">IntoReadOnly&#60;T&#62;</a></li><li><a href="#impl-IntoStimulus%3CT%3E-for-T">IntoStimulus&#60;T&#62;</a></li><li><a href="#impl-IntoValue%3COption%3CT%3E%3E-for-T">IntoValue&#60;Option&#60;T&#62;&#62;</a></li><li><a href="#impl-IntoValue%3CT%3E-for-T">IntoValue&#60;T&#62;</a></li><li><a href="#impl-Pointable-for-T">Pointable</a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryComponentsInto%3CC%3E-for-T">TryComponentsInto&#60;C&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&#60;U&#62;</a></li><li><a href="#impl-TryIntoColor%3CU%3E-for-T">TryIntoColor&#60;U&#62;</a></li><li><a href="#impl-UintsFrom%3CC%3E-for-U">UintsFrom&#60;C&#62;</a></li><li><a href="#impl-UintsInto%3CC%3E-for-U">UintsInto&#60;C&#62;</a></li><li><a href="#impl-Upcast%3CT%3E-for-T">Upcast&#60;T&#62;</a></li><li><a href="#impl-WasmNotSend-for-T">WasmNotSend</a></li><li><a href="#impl-WasmNotSendSync-for-T">WasmNotSendSync</a></li><li><a href="#impl-WasmNotSync-for-T">WasmNotSync</a></li><li><a href="#impl-WithSubscriber-for-T">WithSubscriber</a></li></ul></section><h2><a href="index.html">In crate funnybones</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Enum <a href="index.html">funnybones</a>::<wbr><a class="enum" href="#">BoneEnd</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/funnybones/lib.rs.html#915-920">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub enum BoneEnd {
     A,
     B,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A specific end of a <a href="struct.Bone.html" title="struct funnybones::Bone"><code>Bone</code></a>.</p>
 </div></details><h2 id="variants" class="variants section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.A" class="variant"><a href="#variant.A" class="anchor">§</a><h3 class="code-header">A</h3></section><div class="docblock"><p>The first end of a bone.</p>
 </div><section id="variant.B" class="variant"><a href="#variant.B" class="anchor">§</a><h3 class="code-header">B</h3></section><div class="docblock"><p>The second end of a bone.</p>
-</div></div><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BoneEnd" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#934-943">source</a><a href="#impl-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.inverse" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#937-942">source</a><h4 class="code-header">pub const fn <a href="#method.inverse" class="fn">inverse</a>(self) -&gt; Self</h4></section></summary><div class="docblock"><p>Returns the opposite end of <code>self</code>.</p>
-</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-BoneEnd" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#925">source</a><a href="#impl-Clone-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#925">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#174">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: &amp;Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-BoneEnd" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#925">source</a><a href="#impl-Debug-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#925">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-BoneEnd" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#926">source</a><a href="#impl-Deserialize%3C'de%3E-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl&lt;'de&gt; <a class="trait" href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a>&lt;'de&gt; for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#926">source</a><a href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a>&lt;__D&gt;(__deserializer: __D) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, __D::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>&gt;<div class="where">where
-    __D: <a class="trait" href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Hash-for-BoneEnd" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#925">source</a><a href="#impl-Hash-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.hash" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#925">source</a><a href="#method.hash" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fn">hash</a>&lt;__H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>&gt;(&amp;self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut __H</a>)</h4></section></summary><div class='docblock'>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.hash_slice" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#235-237">source</a></span><a href="#method.hash_slice" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fn">hash_slice</a>&lt;H&gt;(data: &amp;[Self], state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut H</a>)<div class="where">where
+</div></div><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BoneEnd" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#922-931">source</a><a href="#impl-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.inverse" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#925-930">source</a><h4 class="code-header">pub const fn <a href="#method.inverse" class="fn">inverse</a>(self) -&gt; Self</h4></section></summary><div class="docblock"><p>Returns the opposite end of <code>self</code>.</p>
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-BoneEnd" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#913">source</a><a href="#impl-Clone-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#913">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#174">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: &amp;Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-BoneEnd" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#913">source</a><a href="#impl-Debug-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#913">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-BoneEnd" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#914">source</a><a href="#impl-Deserialize%3C'de%3E-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl&lt;'de&gt; <a class="trait" href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a>&lt;'de&gt; for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#914">source</a><a href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a>&lt;__D&gt;(__deserializer: __D) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, __D::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>&gt;<div class="where">where
+    __D: <a class="trait" href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Hash-for-BoneEnd" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#913">source</a><a href="#impl-Hash-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.hash" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#913">source</a><a href="#method.hash" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fn">hash</a>&lt;__H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>&gt;(&amp;self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut __H</a>)</h4></section></summary><div class='docblock'>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.hash_slice" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#235-237">source</a></span><a href="#method.hash_slice" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fn">hash_slice</a>&lt;H&gt;(data: &amp;[Self], state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut H</a>)<div class="where">where
     H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,
-    Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-BoneEnd" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#925">source</a><a href="#impl-PartialEq-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#925">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#261">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>!=</code>. The default implementation is almost always sufficient,
-and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-BoneEnd" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#926">source</a><a href="#impl-Serialize-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.serialize" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#926">source</a><a href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize" class="fn">serialize</a>&lt;__S&gt;(&amp;self, __serializer: __S) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;__S::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>&gt;<div class="where">where
-    __S: <a class="trait" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details><section id="impl-Copy-for-BoneEnd" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#925">source</a><a href="#impl-Copy-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section><section id="impl-Eq-for-BoneEnd" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#925">source</a><a href="#impl-Eq-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section><section id="impl-StructuralPartialEq-for-BoneEnd" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#925">source</a><a href="#impl-StructuralPartialEq-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-BoneEnd" class="impl"><a href="#impl-Freeze-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section><section id="impl-RefUnwindSafe-for-BoneEnd" class="impl"><a href="#impl-RefUnwindSafe-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section><section id="impl-Send-for-BoneEnd" class="impl"><a href="#impl-Send-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section><section id="impl-Sync-for-BoneEnd" class="impl"><a href="#impl-Sync-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section><section id="impl-Unpin-for-BoneEnd" class="impl"><a href="#impl-Unpin-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section><section id="impl-UnwindSafe-for-BoneEnd" class="impl"><a href="#impl-UnwindSafe-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/chromatic_adaptation.rs.html#205-210">source</a><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="anchor">§</a><h3 class="code-header">impl&lt;S, D, Swp, Dwp, T&gt; <a class="trait" href="https://docs.rs/palette/0.7.6/palette/chromatic_adaptation/trait.AdaptInto.html" title="trait palette::chromatic_adaptation::AdaptInto">AdaptInto</a>&lt;D, Swp, Dwp, T&gt; for S<div class="where">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-BoneEnd" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#913">source</a><a href="#impl-PartialEq-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#913">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#261">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>!=</code>. The default implementation is almost always sufficient,
+and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-BoneEnd" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#914">source</a><a href="#impl-Serialize-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.serialize" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#914">source</a><a href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize" class="fn">serialize</a>&lt;__S&gt;(&amp;self, __serializer: __S) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;__S::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>&gt;<div class="where">where
+    __S: <a class="trait" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details><section id="impl-Copy-for-BoneEnd" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#913">source</a><a href="#impl-Copy-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section><section id="impl-Eq-for-BoneEnd" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#913">source</a><a href="#impl-Eq-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section><section id="impl-StructuralPartialEq-for-BoneEnd" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#913">source</a><a href="#impl-StructuralPartialEq-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-BoneEnd" class="impl"><a href="#impl-Freeze-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section><section id="impl-RefUnwindSafe-for-BoneEnd" class="impl"><a href="#impl-RefUnwindSafe-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section><section id="impl-Send-for-BoneEnd" class="impl"><a href="#impl-Send-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section><section id="impl-Sync-for-BoneEnd" class="impl"><a href="#impl-Sync-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section><section id="impl-Unpin-for-BoneEnd" class="impl"><a href="#impl-Unpin-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section><section id="impl-UnwindSafe-for-BoneEnd" class="impl"><a href="#impl-UnwindSafe-for-BoneEnd" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/chromatic_adaptation.rs.html#205-210">source</a><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="anchor">§</a><h3 class="code-header">impl&lt;S, D, Swp, Dwp, T&gt; <a class="trait" href="https://docs.rs/palette/0.7.6/palette/chromatic_adaptation/trait.AdaptInto.html" title="trait palette::chromatic_adaptation::AdaptInto">AdaptInto</a>&lt;D, Swp, Dwp, T&gt; for S<div class="where">where
     T: <a class="trait" href="https://docs.rs/palette/0.7.6/palette/num/trait.Real.html" title="trait palette::num::Real">Real</a> + <a class="trait" href="https://docs.rs/palette/0.7.6/palette/num/trait.Zero.html" title="trait palette::num::Zero">Zero</a> + <a class="trait" href="https://docs.rs/palette/0.7.6/palette/num/trait.Arithmetics.html" title="trait palette::num::Arithmetics">Arithmetics</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,
     Swp: <a class="trait" href="https://docs.rs/palette/0.7.6/palette/white_point/trait.WhitePoint.html" title="trait palette::white_point::WhitePoint">WhitePoint</a>&lt;T&gt;,
     Dwp: <a class="trait" href="https://docs.rs/palette/0.7.6/palette/white_point/trait.WhitePoint.html" title="trait palette::white_point::WhitePoint">WhitePoint</a>&lt;T&gt;,
diff --git a/main/funnybones/index.html b/main/funnybones/index.html
index eb205b0..678fa59 100644
--- a/main/funnybones/index.html
+++ b/main/funnybones/index.html
@@ -1,4 +1,4 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="FunnyBones is considered experimental and unsupported crate version Documentation for `main`"><title>funnybones - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-492a78a4a87dcc01.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="funnybones" data-themes="" data-resource-suffix="" data-rustdoc-version="1.82.0-nightly (0d634185d 2024-08-29)" data-channel="nightly" data-search-js="search-acd2e111c9cb27e3.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-118b08c4c78b968e.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-cb0df477c2d67d00.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-3b12f09e550e0385.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod crate"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../funnybones/index.html">funnybones</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><ul class="block"><li><a id="all-types" href="all.html">All Items</a></li></ul><section><ul class="block"><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li></ul></section></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Crate <a class="mod" href="#">funnybones</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/funnybones/lib.rs.html#1-962">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><!-- This file is generated by `rustme`. Ensure you're editing the source in the .rustme/ directory --!>
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="FunnyBones is considered experimental and unsupported crate version Documentation for `main`"><title>funnybones - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-492a78a4a87dcc01.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="funnybones" data-themes="" data-resource-suffix="" data-rustdoc-version="1.82.0-nightly (0d634185d 2024-08-29)" data-channel="nightly" data-search-js="search-acd2e111c9cb27e3.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-118b08c4c78b968e.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-cb0df477c2d67d00.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-3b12f09e550e0385.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod crate"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../funnybones/index.html">funnybones</a><span class="version">0.1.0</span></h2></div><div class="sidebar-elems"><ul class="block"><li><a id="all-types" href="all.html">All Items</a></li></ul><section><ul class="block"><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li></ul></section></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Crate <a class="mod" href="#">funnybones</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/funnybones/lib.rs.html#1-950">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><!-- This file is generated by `rustme`. Ensure you're editing the source in the .rustme/ directory --!>
 <!-- markdownlint-disable first-line-h1 -->
 <p><img src="https://img.shields.io/badge/status-experimental-purple" alt="FunnyBones is considered experimental and unsupported" />
 <a href="https://crates.io/crates/funnybones"><img src="https://img.shields.io/crates/v/muse.svg" alt="crate version" /></a>
diff --git a/main/funnybones/struct.Bone.html b/main/funnybones/struct.Bone.html
index 8012eda..84a7e3d 100644
--- a/main/funnybones/struct.Bone.html
+++ b/main/funnybones/struct.Bone.html
@@ -1,22 +1,22 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A bone in a `Skeleton`."><title>Bone in funnybones - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-492a78a4a87dcc01.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="funnybones" data-themes="" data-resource-suffix="" data-rustdoc-version="1.82.0-nightly (0d634185d 2024-08-29)" data-channel="nightly" data-search-js="search-acd2e111c9cb27e3.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-cb0df477c2d67d00.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-3b12f09e550e0385.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../funnybones/index.html">funnybones</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Bone</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.desired_end">desired_end</a></li><li><a href="#method.end">end</a></li><li><a href="#method.entry_angle">entry_angle</a></li><li><a href="#method.final_vector">final_vector</a></li><li><a href="#method.id">id</a></li><li><a href="#method.is_root">is_root</a></li><li><a href="#method.kind">kind</a></li><li><a href="#method.label">label</a></li><li><a href="#method.set_desired_end">set_desired_end</a></li><li><a href="#method.solved_joint">solved_joint</a></li><li><a href="#method.start">start</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Debug-for-Bone">Debug</a></li><li><a href="#impl-PartialEq-for-Bone">PartialEq</a></li><li><a href="#impl-Serialize-for-Bone">Serialize</a></li><li><a href="#impl-StructuralPartialEq-for-Bone">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Bone">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Bone">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Bone">Send</a></li><li><a href="#impl-Sync-for-Bone">Sync</a></li><li><a href="#impl-Unpin-for-Bone">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Bone">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S">AdaptInto&#60;D, Swp, Dwp, T&#62;</a></li><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-ArraysFrom%3CC%3E-for-T">ArraysFrom&#60;C&#62;</a></li><li><a href="#impl-ArraysInto%3CC%3E-for-T">ArraysInto&#60;C&#62;</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-Cam16IntoUnclamped%3CWpParam,+T%3E-for-U">Cam16IntoUnclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-Cast-for-A">Cast</a></li><li><a href="#impl-CastFrom%3CA%3E-for-A">CastFrom&#60;A&#62;</a></li><li><a href="#impl-CastInto%3CA%3E-for-B">CastInto&#60;A&#62;</a></li><li><a href="#impl-ComponentsFrom%3CC%3E-for-T">ComponentsFrom&#60;C&#62;</a></li><li><a href="#impl-Downcast-for-T">Downcast</a></li><li><a href="#impl-Downcast%3CT%3E-for-T">Downcast&#60;T&#62;</a></li><li><a href="#impl-DowncastSync-for-T">DowncastSync</a></li><li><a href="#impl-From%3CT%3E-for-T">From&#60;T&#62;</a></li><li><a href="#impl-FromAngle%3CT%3E-for-T">FromAngle&#60;T&#62;</a></li><li><a href="#impl-FromStimulus%3CU%3E-for-T">FromStimulus&#60;U&#62;</a></li><li><a href="#impl-Instrument-for-T">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&#60;U&#62;</a></li><li><a href="#impl-IntoAngle%3CU%3E-for-T">IntoAngle&#60;U&#62;</a></li><li><a href="#impl-IntoCam16Unclamped%3CWpParam,+T%3E-for-U">IntoCam16Unclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-IntoColor%3CU%3E-for-T">IntoColor&#60;U&#62;</a></li><li><a href="#impl-IntoColorUnclamped%3CU%3E-for-T">IntoColorUnclamped&#60;U&#62;</a></li><li><a href="#impl-IntoEither-for-T">IntoEither</a></li><li><a href="#impl-IntoReadOnly%3CT%3E-for-T">IntoReadOnly&#60;T&#62;</a></li><li><a href="#impl-IntoStimulus%3CT%3E-for-T">IntoStimulus&#60;T&#62;</a></li><li><a href="#impl-IntoValue%3COption%3CT%3E%3E-for-T">IntoValue&#60;Option&#60;T&#62;&#62;</a></li><li><a href="#impl-IntoValue%3CT%3E-for-T">IntoValue&#60;T&#62;</a></li><li><a href="#impl-Pointable-for-T">Pointable</a></li><li><a href="#impl-TryComponentsInto%3CC%3E-for-T">TryComponentsInto&#60;C&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&#60;U&#62;</a></li><li><a href="#impl-TryIntoColor%3CU%3E-for-T">TryIntoColor&#60;U&#62;</a></li><li><a href="#impl-UintsFrom%3CC%3E-for-U">UintsFrom&#60;C&#62;</a></li><li><a href="#impl-UintsInto%3CC%3E-for-U">UintsInto&#60;C&#62;</a></li><li><a href="#impl-Upcast%3CT%3E-for-T">Upcast&#60;T&#62;</a></li><li><a href="#impl-WasmNotSend-for-T">WasmNotSend</a></li><li><a href="#impl-WasmNotSendSync-for-T">WasmNotSendSync</a></li><li><a href="#impl-WasmNotSync-for-T">WasmNotSync</a></li><li><a href="#impl-WithSubscriber-for-T">WithSubscriber</a></li></ul></section><h2><a href="index.html">In crate funnybones</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="index.html">funnybones</a>::<wbr><a class="struct" href="#">Bone</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/funnybones/lib.rs.html#715-725">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Bone { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A bone in a <a href="struct.Skeleton.html" title="struct funnybones::Skeleton"><code>Skeleton</code></a>.</p>
-</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Bone" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#727-799">source</a><a href="#impl-Bone" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Bone.html" title="struct funnybones::Bone">Bone</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.id" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#730-732">source</a><h4 class="code-header">pub const fn <a href="#method.id" class="fn">id</a>(&amp;self) -&gt; <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h4></section></summary><div class="docblock"><p>Returns the unique id of this bone.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.is_root" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#736-738">source</a><h4 class="code-header">pub const fn <a href="#method.is_root" class="fn">is_root</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if this bone is the root of the skeleton.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.kind" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#742-744">source</a><h4 class="code-header">pub const fn <a href="#method.kind" class="fn">kind</a>(&amp;self) -&gt; &amp;<a class="enum" href="enum.BoneKind.html" title="enum funnybones::BoneKind">BoneKind</a></h4></section></summary><div class="docblock"><p>Returns the kind of this bone.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.set_desired_end" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#752-754">source</a><h4 class="code-header">pub fn <a href="#method.set_desired_end" class="fn">set_desired_end</a>(&amp;mut self, end: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="struct.Vector.html" title="struct funnybones::Vector">Vector</a>&gt;)</h4></section></summary><div class="docblock"><p>Sets a relative position to aim the end of this bone towards.</p>
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A bone in a `Skeleton`."><title>Bone in funnybones - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-492a78a4a87dcc01.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="funnybones" data-themes="" data-resource-suffix="" data-rustdoc-version="1.82.0-nightly (0d634185d 2024-08-29)" data-channel="nightly" data-search-js="search-acd2e111c9cb27e3.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-cb0df477c2d67d00.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-3b12f09e550e0385.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../funnybones/index.html">funnybones</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Bone</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.desired_end">desired_end</a></li><li><a href="#method.end">end</a></li><li><a href="#method.entry_angle">entry_angle</a></li><li><a href="#method.final_vector">final_vector</a></li><li><a href="#method.id">id</a></li><li><a href="#method.is_root">is_root</a></li><li><a href="#method.kind">kind</a></li><li><a href="#method.label">label</a></li><li><a href="#method.set_desired_end">set_desired_end</a></li><li><a href="#method.solved_joint">solved_joint</a></li><li><a href="#method.start">start</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Debug-for-Bone">Debug</a></li><li><a href="#impl-PartialEq-for-Bone">PartialEq</a></li><li><a href="#impl-Serialize-for-Bone">Serialize</a></li><li><a href="#impl-StructuralPartialEq-for-Bone">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Bone">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Bone">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Bone">Send</a></li><li><a href="#impl-Sync-for-Bone">Sync</a></li><li><a href="#impl-Unpin-for-Bone">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Bone">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S">AdaptInto&#60;D, Swp, Dwp, T&#62;</a></li><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-ArraysFrom%3CC%3E-for-T">ArraysFrom&#60;C&#62;</a></li><li><a href="#impl-ArraysInto%3CC%3E-for-T">ArraysInto&#60;C&#62;</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-Cam16IntoUnclamped%3CWpParam,+T%3E-for-U">Cam16IntoUnclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-Cast-for-A">Cast</a></li><li><a href="#impl-CastFrom%3CA%3E-for-A">CastFrom&#60;A&#62;</a></li><li><a href="#impl-CastInto%3CA%3E-for-B">CastInto&#60;A&#62;</a></li><li><a href="#impl-ComponentsFrom%3CC%3E-for-T">ComponentsFrom&#60;C&#62;</a></li><li><a href="#impl-Downcast-for-T">Downcast</a></li><li><a href="#impl-Downcast%3CT%3E-for-T">Downcast&#60;T&#62;</a></li><li><a href="#impl-DowncastSync-for-T">DowncastSync</a></li><li><a href="#impl-From%3CT%3E-for-T">From&#60;T&#62;</a></li><li><a href="#impl-FromAngle%3CT%3E-for-T">FromAngle&#60;T&#62;</a></li><li><a href="#impl-FromStimulus%3CU%3E-for-T">FromStimulus&#60;U&#62;</a></li><li><a href="#impl-Instrument-for-T">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&#60;U&#62;</a></li><li><a href="#impl-IntoAngle%3CU%3E-for-T">IntoAngle&#60;U&#62;</a></li><li><a href="#impl-IntoCam16Unclamped%3CWpParam,+T%3E-for-U">IntoCam16Unclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-IntoColor%3CU%3E-for-T">IntoColor&#60;U&#62;</a></li><li><a href="#impl-IntoColorUnclamped%3CU%3E-for-T">IntoColorUnclamped&#60;U&#62;</a></li><li><a href="#impl-IntoEither-for-T">IntoEither</a></li><li><a href="#impl-IntoReadOnly%3CT%3E-for-T">IntoReadOnly&#60;T&#62;</a></li><li><a href="#impl-IntoStimulus%3CT%3E-for-T">IntoStimulus&#60;T&#62;</a></li><li><a href="#impl-IntoValue%3COption%3CT%3E%3E-for-T">IntoValue&#60;Option&#60;T&#62;&#62;</a></li><li><a href="#impl-IntoValue%3CT%3E-for-T">IntoValue&#60;T&#62;</a></li><li><a href="#impl-Pointable-for-T">Pointable</a></li><li><a href="#impl-TryComponentsInto%3CC%3E-for-T">TryComponentsInto&#60;C&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&#60;U&#62;</a></li><li><a href="#impl-TryIntoColor%3CU%3E-for-T">TryIntoColor&#60;U&#62;</a></li><li><a href="#impl-UintsFrom%3CC%3E-for-U">UintsFrom&#60;C&#62;</a></li><li><a href="#impl-UintsInto%3CC%3E-for-U">UintsInto&#60;C&#62;</a></li><li><a href="#impl-Upcast%3CT%3E-for-T">Upcast&#60;T&#62;</a></li><li><a href="#impl-WasmNotSend-for-T">WasmNotSend</a></li><li><a href="#impl-WasmNotSendSync-for-T">WasmNotSendSync</a></li><li><a href="#impl-WasmNotSync-for-T">WasmNotSync</a></li><li><a href="#impl-WithSubscriber-for-T">WithSubscriber</a></li></ul></section><h2><a href="index.html">In crate funnybones</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="index.html">funnybones</a>::<wbr><a class="struct" href="#">Bone</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/funnybones/lib.rs.html#703-713">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Bone { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A bone in a <a href="struct.Skeleton.html" title="struct funnybones::Skeleton"><code>Skeleton</code></a>.</p>
+</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Bone" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#715-787">source</a><a href="#impl-Bone" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Bone.html" title="struct funnybones::Bone">Bone</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.id" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#718-720">source</a><h4 class="code-header">pub const fn <a href="#method.id" class="fn">id</a>(&amp;self) -&gt; <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h4></section></summary><div class="docblock"><p>Returns the unique id of this bone.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.is_root" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#724-726">source</a><h4 class="code-header">pub const fn <a href="#method.is_root" class="fn">is_root</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class="docblock"><p>Returns true if this bone is the root of the skeleton.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.kind" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#730-732">source</a><h4 class="code-header">pub const fn <a href="#method.kind" class="fn">kind</a>(&amp;self) -&gt; &amp;<a class="enum" href="enum.BoneKind.html" title="enum funnybones::BoneKind">BoneKind</a></h4></section></summary><div class="docblock"><p>Returns the kind of this bone.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.set_desired_end" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#740-742">source</a><h4 class="code-header">pub fn <a href="#method.set_desired_end" class="fn">set_desired_end</a>(&amp;mut self, end: <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="struct.Vector.html" title="struct funnybones::Vector">Vector</a>&gt;)</h4></section></summary><div class="docblock"><p>Sets a relative position to aim the end of this bone towards.</p>
 <p>The end of the bone that is aimed is the end that is furthest from the
 root of the skeleton.</p>
 <p>This setting only impacts <a href="enum.BoneKind.html#variant.Jointed" title="variant funnybones::BoneKind::Jointed"><code>BoneKind::Jointed</code></a> bones.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.desired_end" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#758-760">source</a><h4 class="code-header">pub const fn <a href="#method.desired_end" class="fn">desired_end</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="struct.Vector.html" title="struct funnybones::Vector">Vector</a>&gt;</h4></section></summary><div class="docblock"><p>Returns the location this bone is being aimed towards.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.entry_angle" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#764-766">source</a><h4 class="code-header">pub const fn <a href="#method.entry_angle" class="fn">entry_angle</a>(&amp;self) -&gt; <a class="struct" href="struct.Angle.html" title="struct funnybones::Angle">Angle</a></h4></section></summary><div class="docblock"><p>Returns the angle of the previous bone segment connecting to this bone.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.start" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#770-772">source</a><h4 class="code-header">pub const fn <a href="#method.start" class="fn">start</a>(&amp;self) -&gt; <a class="struct" href="struct.Coordinate.html" title="struct funnybones::Coordinate">Coordinate</a></h4></section></summary><div class="docblock"><p>Returns the solved start position of this bone.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.end" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#776-778">source</a><h4 class="code-header">pub const fn <a href="#method.end" class="fn">end</a>(&amp;self) -&gt; <a class="struct" href="struct.Coordinate.html" title="struct funnybones::Coordinate">Coordinate</a></h4></section></summary><div class="docblock"><p>Returns the solved end position of this bone.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.final_vector" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#782-785">source</a><h4 class="code-header">pub fn <a href="#method.final_vector" class="fn">final_vector</a>(&amp;self) -&gt; <a class="struct" href="struct.Vector.html" title="struct funnybones::Vector">Vector</a></h4></section></summary><div class="docblock"><p>Returns a vector representing the final segment in this bone.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.solved_joint" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#790-792">source</a><h4 class="code-header">pub const fn <a href="#method.solved_joint" class="fn">solved_joint</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="struct.Coordinate.html" title="struct funnybones::Coordinate">Coordinate</a>&gt;</h4></section></summary><div class="docblock"><p>If this is a <a href="enum.BoneKind.html#variant.Jointed" title="variant funnybones::BoneKind::Jointed"><code>BoneKind::Jointed</code></a> bone, returns the solved position of
+</div></details><details class="toggle method-toggle" open><summary><section id="method.desired_end" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#746-748">source</a><h4 class="code-header">pub const fn <a href="#method.desired_end" class="fn">desired_end</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="struct.Vector.html" title="struct funnybones::Vector">Vector</a>&gt;</h4></section></summary><div class="docblock"><p>Returns the location this bone is being aimed towards.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.entry_angle" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#752-754">source</a><h4 class="code-header">pub const fn <a href="#method.entry_angle" class="fn">entry_angle</a>(&amp;self) -&gt; <a class="struct" href="struct.Angle.html" title="struct funnybones::Angle">Angle</a></h4></section></summary><div class="docblock"><p>Returns the angle of the previous bone segment connecting to this bone.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.start" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#758-760">source</a><h4 class="code-header">pub const fn <a href="#method.start" class="fn">start</a>(&amp;self) -&gt; <a class="struct" href="struct.Coordinate.html" title="struct funnybones::Coordinate">Coordinate</a></h4></section></summary><div class="docblock"><p>Returns the solved start position of this bone.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.end" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#764-766">source</a><h4 class="code-header">pub const fn <a href="#method.end" class="fn">end</a>(&amp;self) -&gt; <a class="struct" href="struct.Coordinate.html" title="struct funnybones::Coordinate">Coordinate</a></h4></section></summary><div class="docblock"><p>Returns the solved end position of this bone.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.final_vector" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#770-773">source</a><h4 class="code-header">pub fn <a href="#method.final_vector" class="fn">final_vector</a>(&amp;self) -&gt; <a class="struct" href="struct.Vector.html" title="struct funnybones::Vector">Vector</a></h4></section></summary><div class="docblock"><p>Returns a vector representing the final segment in this bone.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.solved_joint" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#778-780">source</a><h4 class="code-header">pub const fn <a href="#method.solved_joint" class="fn">solved_joint</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="struct.Coordinate.html" title="struct funnybones::Coordinate">Coordinate</a>&gt;</h4></section></summary><div class="docblock"><p>If this is a <a href="enum.BoneKind.html#variant.Jointed" title="variant funnybones::BoneKind::Jointed"><code>BoneKind::Jointed</code></a> bone, returns the solved position of
 the joint.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.label" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#796-798">source</a><h4 class="code-header">pub fn <a href="#method.label" class="fn">label</a>(&amp;self) -&gt; &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></h4></section></summary><div class="docblock"><p>Returns the label this bone was created with.</p>
-</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-Bone" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#714">source</a><a href="#impl-Debug-for-Bone" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.Bone.html" title="struct funnybones::Bone">Bone</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#714">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-Bone" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#714">source</a><a href="#impl-PartialEq-for-Bone" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="struct" href="struct.Bone.html" title="struct funnybones::Bone">Bone</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#714">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="struct" href="struct.Bone.html" title="struct funnybones::Bone">Bone</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#261">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>!=</code>. The default implementation is almost always sufficient,
+</div></details><details class="toggle method-toggle" open><summary><section id="method.label" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#784-786">source</a><h4 class="code-header">pub fn <a href="#method.label" class="fn">label</a>(&amp;self) -&gt; &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></h4></section></summary><div class="docblock"><p>Returns the label this bone was created with.</p>
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-Bone" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#702">source</a><a href="#impl-Debug-for-Bone" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.Bone.html" title="struct funnybones::Bone">Bone</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#702">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-Bone" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#702">source</a><a href="#impl-PartialEq-for-Bone" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="struct" href="struct.Bone.html" title="struct funnybones::Bone">Bone</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#702">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="struct" href="struct.Bone.html" title="struct funnybones::Bone">Bone</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#261">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>!=</code>. The default implementation is almost always sufficient,
 and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-Bone" class="impl"><a class="src rightside" href="../src/funnybones/serde.rs.html#84-101">source</a><a href="#impl-Serialize-for-Bone" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="struct.Bone.html" title="struct funnybones::Bone">Bone</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.serialize" class="method trait-impl"><a class="src rightside" href="../src/funnybones/serde.rs.html#85-100">source</a><a href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize" class="fn">serialize</a>&lt;S&gt;(&amp;self, serializer: S) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;S::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, S::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>&gt;<div class="where">where
-    S: <a class="trait" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details><section id="impl-StructuralPartialEq-for-Bone" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#714">source</a><a href="#impl-StructuralPartialEq-for-Bone" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="struct.Bone.html" title="struct funnybones::Bone">Bone</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-Bone" class="impl"><a href="#impl-Freeze-for-Bone" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.Bone.html" title="struct funnybones::Bone">Bone</a></h3></section><section id="impl-RefUnwindSafe-for-Bone" class="impl"><a href="#impl-RefUnwindSafe-for-Bone" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Bone.html" title="struct funnybones::Bone">Bone</a></h3></section><section id="impl-Send-for-Bone" class="impl"><a href="#impl-Send-for-Bone" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Bone.html" title="struct funnybones::Bone">Bone</a></h3></section><section id="impl-Sync-for-Bone" class="impl"><a href="#impl-Sync-for-Bone" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Bone.html" title="struct funnybones::Bone">Bone</a></h3></section><section id="impl-Unpin-for-Bone" class="impl"><a href="#impl-Unpin-for-Bone" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Bone.html" title="struct funnybones::Bone">Bone</a></h3></section><section id="impl-UnwindSafe-for-Bone" class="impl"><a href="#impl-UnwindSafe-for-Bone" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Bone.html" title="struct funnybones::Bone">Bone</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/chromatic_adaptation.rs.html#205-210">source</a><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="anchor">§</a><h3 class="code-header">impl&lt;S, D, Swp, Dwp, T&gt; <a class="trait" href="https://docs.rs/palette/0.7.6/palette/chromatic_adaptation/trait.AdaptInto.html" title="trait palette::chromatic_adaptation::AdaptInto">AdaptInto</a>&lt;D, Swp, Dwp, T&gt; for S<div class="where">where
+    S: <a class="trait" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details><section id="impl-StructuralPartialEq-for-Bone" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#702">source</a><a href="#impl-StructuralPartialEq-for-Bone" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="struct.Bone.html" title="struct funnybones::Bone">Bone</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-Bone" class="impl"><a href="#impl-Freeze-for-Bone" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.Bone.html" title="struct funnybones::Bone">Bone</a></h3></section><section id="impl-RefUnwindSafe-for-Bone" class="impl"><a href="#impl-RefUnwindSafe-for-Bone" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Bone.html" title="struct funnybones::Bone">Bone</a></h3></section><section id="impl-Send-for-Bone" class="impl"><a href="#impl-Send-for-Bone" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Bone.html" title="struct funnybones::Bone">Bone</a></h3></section><section id="impl-Sync-for-Bone" class="impl"><a href="#impl-Sync-for-Bone" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Bone.html" title="struct funnybones::Bone">Bone</a></h3></section><section id="impl-Unpin-for-Bone" class="impl"><a href="#impl-Unpin-for-Bone" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Bone.html" title="struct funnybones::Bone">Bone</a></h3></section><section id="impl-UnwindSafe-for-Bone" class="impl"><a href="#impl-UnwindSafe-for-Bone" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Bone.html" title="struct funnybones::Bone">Bone</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/chromatic_adaptation.rs.html#205-210">source</a><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="anchor">§</a><h3 class="code-header">impl&lt;S, D, Swp, Dwp, T&gt; <a class="trait" href="https://docs.rs/palette/0.7.6/palette/chromatic_adaptation/trait.AdaptInto.html" title="trait palette::chromatic_adaptation::AdaptInto">AdaptInto</a>&lt;D, Swp, Dwp, T&gt; for S<div class="where">where
     T: <a class="trait" href="https://docs.rs/palette/0.7.6/palette/num/trait.Real.html" title="trait palette::num::Real">Real</a> + <a class="trait" href="https://docs.rs/palette/0.7.6/palette/num/trait.Zero.html" title="trait palette::num::Zero">Zero</a> + <a class="trait" href="https://docs.rs/palette/0.7.6/palette/num/trait.Arithmetics.html" title="trait palette::num::Arithmetics">Arithmetics</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,
     Swp: <a class="trait" href="https://docs.rs/palette/0.7.6/palette/white_point/trait.WhitePoint.html" title="trait palette::white_point::WhitePoint">WhitePoint</a>&lt;T&gt;,
     Dwp: <a class="trait" href="https://docs.rs/palette/0.7.6/palette/white_point/trait.WhitePoint.html" title="trait palette::white_point::WhitePoint">WhitePoint</a>&lt;T&gt;,
diff --git a/main/funnybones/struct.BoneAxis.html b/main/funnybones/struct.BoneAxis.html
index 2d20672..51b8fd3 100644
--- a/main/funnybones/struct.BoneAxis.html
+++ b/main/funnybones/struct.BoneAxis.html
@@ -1,16 +1,16 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A specific end of a specific bone."><title>BoneAxis in funnybones - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-492a78a4a87dcc01.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="funnybones" data-themes="" data-resource-suffix="" data-rustdoc-version="1.82.0-nightly (0d634185d 2024-08-29)" data-channel="nightly" data-search-js="search-acd2e111c9cb27e3.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-cb0df477c2d67d00.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-3b12f09e550e0385.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../funnybones/index.html">funnybones</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Bone<wbr>Axis</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.bone">bone</a></li><li><a href="#structfield.end">end</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.inverse">inverse</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-BoneAxis">Clone</a></li><li><a href="#impl-Copy-for-BoneAxis">Copy</a></li><li><a href="#impl-Debug-for-BoneAxis">Debug</a></li><li><a href="#impl-Deserialize%3C'de%3E-for-BoneAxis">Deserialize&#60;&#39;de&#62;</a></li><li><a href="#impl-Eq-for-BoneAxis">Eq</a></li><li><a href="#impl-Hash-for-BoneAxis">Hash</a></li><li><a href="#impl-PartialEq-for-BoneAxis">PartialEq</a></li><li><a href="#impl-Serialize-for-BoneAxis">Serialize</a></li><li><a href="#impl-StructuralPartialEq-for-BoneAxis">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-BoneAxis">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-BoneAxis">RefUnwindSafe</a></li><li><a href="#impl-Send-for-BoneAxis">Send</a></li><li><a href="#impl-Sync-for-BoneAxis">Sync</a></li><li><a href="#impl-Unpin-for-BoneAxis">Unpin</a></li><li><a href="#impl-UnwindSafe-for-BoneAxis">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S">AdaptInto&#60;D, Swp, Dwp, T&#62;</a></li><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-ArraysFrom%3CC%3E-for-T">ArraysFrom&#60;C&#62;</a></li><li><a href="#impl-ArraysInto%3CC%3E-for-T">ArraysInto&#60;C&#62;</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-Cam16IntoUnclamped%3CWpParam,+T%3E-for-U">Cam16IntoUnclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-Cast-for-A">Cast</a></li><li><a href="#impl-CastFrom%3CA%3E-for-A">CastFrom&#60;A&#62;</a></li><li><a href="#impl-CastInto%3CA%3E-for-B">CastInto&#60;A&#62;</a></li><li><a href="#impl-CloneToUninit-for-T">CloneToUninit</a></li><li><a href="#impl-ComponentsFrom%3CC%3E-for-T">ComponentsFrom&#60;C&#62;</a></li><li><a href="#impl-DeserializeOwned-for-T">DeserializeOwned</a></li><li><a href="#impl-Downcast-for-T">Downcast</a></li><li><a href="#impl-Downcast%3CT%3E-for-T">Downcast&#60;T&#62;</a></li><li><a href="#impl-DowncastSync-for-T">DowncastSync</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Q">Equivalent&#60;K&#62;</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Q-1">Equivalent&#60;K&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&#60;T&#62;</a></li><li><a href="#impl-FromAngle%3CT%3E-for-T">FromAngle&#60;T&#62;</a></li><li><a href="#impl-FromStimulus%3CU%3E-for-T">FromStimulus&#60;U&#62;</a></li><li><a href="#impl-Instrument-for-T">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&#60;U&#62;</a></li><li><a href="#impl-IntoAngle%3CU%3E-for-T">IntoAngle&#60;U&#62;</a></li><li><a href="#impl-IntoCam16Unclamped%3CWpParam,+T%3E-for-U">IntoCam16Unclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-IntoColor%3CU%3E-for-T">IntoColor&#60;U&#62;</a></li><li><a href="#impl-IntoColorUnclamped%3CU%3E-for-T">IntoColorUnclamped&#60;U&#62;</a></li><li><a href="#impl-IntoComponents%3CUnit%3E-for-Unit">IntoComponents&#60;Unit&#62;</a></li><li><a href="#impl-IntoEither-for-T">IntoEither</a></li><li><a href="#impl-IntoReadOnly%3CT%3E-for-T">IntoReadOnly&#60;T&#62;</a></li><li><a href="#impl-IntoStimulus%3CT%3E-for-T">IntoStimulus&#60;T&#62;</a></li><li><a href="#impl-IntoValue%3COption%3CT%3E%3E-for-T">IntoValue&#60;Option&#60;T&#62;&#62;</a></li><li><a href="#impl-IntoValue%3CT%3E-for-T">IntoValue&#60;T&#62;</a></li><li><a href="#impl-Pointable-for-T">Pointable</a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryComponentsInto%3CC%3E-for-T">TryComponentsInto&#60;C&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&#60;U&#62;</a></li><li><a href="#impl-TryIntoColor%3CU%3E-for-T">TryIntoColor&#60;U&#62;</a></li><li><a href="#impl-UintsFrom%3CC%3E-for-U">UintsFrom&#60;C&#62;</a></li><li><a href="#impl-UintsInto%3CC%3E-for-U">UintsInto&#60;C&#62;</a></li><li><a href="#impl-Upcast%3CT%3E-for-T">Upcast&#60;T&#62;</a></li><li><a href="#impl-WasmNotSend-for-T">WasmNotSend</a></li><li><a href="#impl-WasmNotSendSync-for-T">WasmNotSendSync</a></li><li><a href="#impl-WasmNotSync-for-T">WasmNotSync</a></li><li><a href="#impl-WithSubscriber-for-T">WithSubscriber</a></li></ul></section><h2><a href="index.html">In crate funnybones</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="index.html">funnybones</a>::<wbr><a class="struct" href="#">BoneAxis</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/funnybones/lib.rs.html#695-700">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct BoneAxis {
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A specific end of a specific bone."><title>BoneAxis in funnybones - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-492a78a4a87dcc01.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="funnybones" data-themes="" data-resource-suffix="" data-rustdoc-version="1.82.0-nightly (0d634185d 2024-08-29)" data-channel="nightly" data-search-js="search-acd2e111c9cb27e3.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-cb0df477c2d67d00.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-3b12f09e550e0385.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../funnybones/index.html">funnybones</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Bone<wbr>Axis</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block structfield"><li><a href="#structfield.bone">bone</a></li><li><a href="#structfield.end">end</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.inverse">inverse</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-BoneAxis">Clone</a></li><li><a href="#impl-Copy-for-BoneAxis">Copy</a></li><li><a href="#impl-Debug-for-BoneAxis">Debug</a></li><li><a href="#impl-Deserialize%3C'de%3E-for-BoneAxis">Deserialize&#60;&#39;de&#62;</a></li><li><a href="#impl-Eq-for-BoneAxis">Eq</a></li><li><a href="#impl-Hash-for-BoneAxis">Hash</a></li><li><a href="#impl-PartialEq-for-BoneAxis">PartialEq</a></li><li><a href="#impl-Serialize-for-BoneAxis">Serialize</a></li><li><a href="#impl-StructuralPartialEq-for-BoneAxis">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-BoneAxis">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-BoneAxis">RefUnwindSafe</a></li><li><a href="#impl-Send-for-BoneAxis">Send</a></li><li><a href="#impl-Sync-for-BoneAxis">Sync</a></li><li><a href="#impl-Unpin-for-BoneAxis">Unpin</a></li><li><a href="#impl-UnwindSafe-for-BoneAxis">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S">AdaptInto&#60;D, Swp, Dwp, T&#62;</a></li><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-ArraysFrom%3CC%3E-for-T">ArraysFrom&#60;C&#62;</a></li><li><a href="#impl-ArraysInto%3CC%3E-for-T">ArraysInto&#60;C&#62;</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-Cam16IntoUnclamped%3CWpParam,+T%3E-for-U">Cam16IntoUnclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-Cast-for-A">Cast</a></li><li><a href="#impl-CastFrom%3CA%3E-for-A">CastFrom&#60;A&#62;</a></li><li><a href="#impl-CastInto%3CA%3E-for-B">CastInto&#60;A&#62;</a></li><li><a href="#impl-CloneToUninit-for-T">CloneToUninit</a></li><li><a href="#impl-ComponentsFrom%3CC%3E-for-T">ComponentsFrom&#60;C&#62;</a></li><li><a href="#impl-DeserializeOwned-for-T">DeserializeOwned</a></li><li><a href="#impl-Downcast-for-T">Downcast</a></li><li><a href="#impl-Downcast%3CT%3E-for-T">Downcast&#60;T&#62;</a></li><li><a href="#impl-DowncastSync-for-T">DowncastSync</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Q">Equivalent&#60;K&#62;</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Q-1">Equivalent&#60;K&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&#60;T&#62;</a></li><li><a href="#impl-FromAngle%3CT%3E-for-T">FromAngle&#60;T&#62;</a></li><li><a href="#impl-FromStimulus%3CU%3E-for-T">FromStimulus&#60;U&#62;</a></li><li><a href="#impl-Instrument-for-T">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&#60;U&#62;</a></li><li><a href="#impl-IntoAngle%3CU%3E-for-T">IntoAngle&#60;U&#62;</a></li><li><a href="#impl-IntoCam16Unclamped%3CWpParam,+T%3E-for-U">IntoCam16Unclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-IntoColor%3CU%3E-for-T">IntoColor&#60;U&#62;</a></li><li><a href="#impl-IntoColorUnclamped%3CU%3E-for-T">IntoColorUnclamped&#60;U&#62;</a></li><li><a href="#impl-IntoComponents%3CUnit%3E-for-Unit">IntoComponents&#60;Unit&#62;</a></li><li><a href="#impl-IntoEither-for-T">IntoEither</a></li><li><a href="#impl-IntoReadOnly%3CT%3E-for-T">IntoReadOnly&#60;T&#62;</a></li><li><a href="#impl-IntoStimulus%3CT%3E-for-T">IntoStimulus&#60;T&#62;</a></li><li><a href="#impl-IntoValue%3COption%3CT%3E%3E-for-T">IntoValue&#60;Option&#60;T&#62;&#62;</a></li><li><a href="#impl-IntoValue%3CT%3E-for-T">IntoValue&#60;T&#62;</a></li><li><a href="#impl-Pointable-for-T">Pointable</a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryComponentsInto%3CC%3E-for-T">TryComponentsInto&#60;C&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&#60;U&#62;</a></li><li><a href="#impl-TryIntoColor%3CU%3E-for-T">TryIntoColor&#60;U&#62;</a></li><li><a href="#impl-UintsFrom%3CC%3E-for-U">UintsFrom&#60;C&#62;</a></li><li><a href="#impl-UintsInto%3CC%3E-for-U">UintsInto&#60;C&#62;</a></li><li><a href="#impl-Upcast%3CT%3E-for-T">Upcast&#60;T&#62;</a></li><li><a href="#impl-WasmNotSend-for-T">WasmNotSend</a></li><li><a href="#impl-WasmNotSendSync-for-T">WasmNotSendSync</a></li><li><a href="#impl-WasmNotSync-for-T">WasmNotSync</a></li><li><a href="#impl-WithSubscriber-for-T">WithSubscriber</a></li></ul></section><h2><a href="index.html">In crate funnybones</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="index.html">funnybones</a>::<wbr><a class="struct" href="#">BoneAxis</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/funnybones/lib.rs.html#683-688">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct BoneAxis {
     pub bone: <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a>,
     pub end: <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a>,
 }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A specific end of a specific bone.</p>
 </div></details><h2 id="fields" class="fields section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.bone" class="structfield section-header"><a href="#structfield.bone" class="anchor field">§</a><code>bone: <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></code></span><div class="docblock"><p>The unique id of the bone of this axis.</p>
 </div><span id="structfield.end" class="structfield section-header"><a href="#structfield.end" class="anchor field">§</a><code>end: <a class="enum" href="enum.BoneEnd.html" title="enum funnybones::BoneEnd">BoneEnd</a></code></span><div class="docblock"><p>The end of the bone being referenced.</p>
-</div><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BoneAxis" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#702-711">source</a><a href="#impl-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.inverse" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#705-710">source</a><h4 class="code-header">pub const fn <a href="#method.inverse" class="fn">inverse</a>(self) -&gt; Self</h4></section></summary><div class="docblock"><p>Returns the opposite axis on the same bone.</p>
-</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-BoneAxis" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#693">source</a><a href="#impl-Clone-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#693">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#174">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: &amp;Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-BoneAxis" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#693">source</a><a href="#impl-Debug-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#693">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-BoneAxis" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#694">source</a><a href="#impl-Deserialize%3C'de%3E-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl&lt;'de&gt; <a class="trait" href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a>&lt;'de&gt; for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#694">source</a><a href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a>&lt;__D&gt;(__deserializer: __D) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, __D::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>&gt;<div class="where">where
-    __D: <a class="trait" href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Hash-for-BoneAxis" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#693">source</a><a href="#impl-Hash-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.hash" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#693">source</a><a href="#method.hash" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fn">hash</a>&lt;__H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>&gt;(&amp;self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut __H</a>)</h4></section></summary><div class='docblock'>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.hash_slice" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#235-237">source</a></span><a href="#method.hash_slice" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fn">hash_slice</a>&lt;H&gt;(data: &amp;[Self], state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut H</a>)<div class="where">where
+</div><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BoneAxis" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#690-699">source</a><a href="#impl-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.inverse" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#693-698">source</a><h4 class="code-header">pub const fn <a href="#method.inverse" class="fn">inverse</a>(self) -&gt; Self</h4></section></summary><div class="docblock"><p>Returns the opposite axis on the same bone.</p>
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-BoneAxis" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#681">source</a><a href="#impl-Clone-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#681">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#174">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: &amp;Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-BoneAxis" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#681">source</a><a href="#impl-Debug-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#681">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-BoneAxis" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#682">source</a><a href="#impl-Deserialize%3C'de%3E-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl&lt;'de&gt; <a class="trait" href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a>&lt;'de&gt; for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#682">source</a><a href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a>&lt;__D&gt;(__deserializer: __D) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, __D::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>&gt;<div class="where">where
+    __D: <a class="trait" href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Hash-for-BoneAxis" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#681">source</a><a href="#impl-Hash-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.hash" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#681">source</a><a href="#method.hash" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fn">hash</a>&lt;__H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>&gt;(&amp;self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut __H</a>)</h4></section></summary><div class='docblock'>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.hash_slice" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#235-237">source</a></span><a href="#method.hash_slice" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fn">hash_slice</a>&lt;H&gt;(data: &amp;[Self], state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut H</a>)<div class="where">where
     H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,
-    Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-BoneAxis" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#693">source</a><a href="#impl-PartialEq-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#693">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#261">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>!=</code>. The default implementation is almost always sufficient,
-and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-BoneAxis" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#694">source</a><a href="#impl-Serialize-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.serialize" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#694">source</a><a href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize" class="fn">serialize</a>&lt;__S&gt;(&amp;self, __serializer: __S) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;__S::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>&gt;<div class="where">where
-    __S: <a class="trait" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details><section id="impl-Copy-for-BoneAxis" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#693">source</a><a href="#impl-Copy-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section><section id="impl-Eq-for-BoneAxis" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#693">source</a><a href="#impl-Eq-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section><section id="impl-StructuralPartialEq-for-BoneAxis" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#693">source</a><a href="#impl-StructuralPartialEq-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-BoneAxis" class="impl"><a href="#impl-Freeze-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section><section id="impl-RefUnwindSafe-for-BoneAxis" class="impl"><a href="#impl-RefUnwindSafe-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section><section id="impl-Send-for-BoneAxis" class="impl"><a href="#impl-Send-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section><section id="impl-Sync-for-BoneAxis" class="impl"><a href="#impl-Sync-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section><section id="impl-Unpin-for-BoneAxis" class="impl"><a href="#impl-Unpin-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section><section id="impl-UnwindSafe-for-BoneAxis" class="impl"><a href="#impl-UnwindSafe-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/chromatic_adaptation.rs.html#205-210">source</a><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="anchor">§</a><h3 class="code-header">impl&lt;S, D, Swp, Dwp, T&gt; <a class="trait" href="https://docs.rs/palette/0.7.6/palette/chromatic_adaptation/trait.AdaptInto.html" title="trait palette::chromatic_adaptation::AdaptInto">AdaptInto</a>&lt;D, Swp, Dwp, T&gt; for S<div class="where">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-BoneAxis" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#681">source</a><a href="#impl-PartialEq-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#681">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#261">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>!=</code>. The default implementation is almost always sufficient,
+and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-BoneAxis" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#682">source</a><a href="#impl-Serialize-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.serialize" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#682">source</a><a href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize" class="fn">serialize</a>&lt;__S&gt;(&amp;self, __serializer: __S) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;__S::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>&gt;<div class="where">where
+    __S: <a class="trait" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details><section id="impl-Copy-for-BoneAxis" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#681">source</a><a href="#impl-Copy-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section><section id="impl-Eq-for-BoneAxis" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#681">source</a><a href="#impl-Eq-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section><section id="impl-StructuralPartialEq-for-BoneAxis" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#681">source</a><a href="#impl-StructuralPartialEq-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-BoneAxis" class="impl"><a href="#impl-Freeze-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section><section id="impl-RefUnwindSafe-for-BoneAxis" class="impl"><a href="#impl-RefUnwindSafe-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section><section id="impl-Send-for-BoneAxis" class="impl"><a href="#impl-Send-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section><section id="impl-Sync-for-BoneAxis" class="impl"><a href="#impl-Sync-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section><section id="impl-Unpin-for-BoneAxis" class="impl"><a href="#impl-Unpin-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section><section id="impl-UnwindSafe-for-BoneAxis" class="impl"><a href="#impl-UnwindSafe-for-BoneAxis" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/chromatic_adaptation.rs.html#205-210">source</a><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="anchor">§</a><h3 class="code-header">impl&lt;S, D, Swp, Dwp, T&gt; <a class="trait" href="https://docs.rs/palette/0.7.6/palette/chromatic_adaptation/trait.AdaptInto.html" title="trait palette::chromatic_adaptation::AdaptInto">AdaptInto</a>&lt;D, Swp, Dwp, T&gt; for S<div class="where">where
     T: <a class="trait" href="https://docs.rs/palette/0.7.6/palette/num/trait.Real.html" title="trait palette::num::Real">Real</a> + <a class="trait" href="https://docs.rs/palette/0.7.6/palette/num/trait.Zero.html" title="trait palette::num::Zero">Zero</a> + <a class="trait" href="https://docs.rs/palette/0.7.6/palette/num/trait.Arithmetics.html" title="trait palette::num::Arithmetics">Arithmetics</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,
     Swp: <a class="trait" href="https://docs.rs/palette/0.7.6/palette/white_point/trait.WhitePoint.html" title="trait palette::white_point::WhitePoint">WhitePoint</a>&lt;T&gt;,
     Dwp: <a class="trait" href="https://docs.rs/palette/0.7.6/palette/white_point/trait.WhitePoint.html" title="trait palette::white_point::WhitePoint">WhitePoint</a>&lt;T&gt;,
diff --git a/main/funnybones/struct.BoneId.html b/main/funnybones/struct.BoneId.html
index 33536a7..93fd1e4 100644
--- a/main/funnybones/struct.BoneId.html
+++ b/main/funnybones/struct.BoneId.html
@@ -1,19 +1,19 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="The unique ID of a `Bone` in a `Skeleton`."><title>BoneId in funnybones - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-492a78a4a87dcc01.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="funnybones" data-themes="" data-resource-suffix="" data-rustdoc-version="1.82.0-nightly (0d634185d 2024-08-29)" data-channel="nightly" data-search-js="search-acd2e111c9cb27e3.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-cb0df477c2d67d00.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-3b12f09e550e0385.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../funnybones/index.html">funnybones</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">BoneId</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.axis_a">axis_a</a></li><li><a href="#method.axis_b">axis_b</a></li><li><a href="#method.index">index</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-BoneId">Clone</a></li><li><a href="#impl-Copy-for-BoneId">Copy</a></li><li><a href="#impl-Debug-for-BoneId">Debug</a></li><li><a href="#impl-Deserialize%3C'de%3E-for-BoneId">Deserialize&#60;&#39;de&#62;</a></li><li><a href="#impl-Eq-for-BoneId">Eq</a></li><li><a href="#impl-Hash-for-BoneId">Hash</a></li><li><a href="#impl-Index%3CBoneId%3E-for-Skeleton">Index&#60;BoneId&#62;</a></li><li><a href="#impl-IndexMut%3CBoneId%3E-for-Skeleton">IndexMut&#60;BoneId&#62;</a></li><li><a href="#impl-Ord-for-BoneId">Ord</a></li><li><a href="#impl-PartialEq-for-BoneId">PartialEq</a></li><li><a href="#impl-PartialOrd-for-BoneId">PartialOrd</a></li><li><a href="#impl-Serialize-for-BoneId">Serialize</a></li><li><a href="#impl-StructuralPartialEq-for-BoneId">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-BoneId">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-BoneId">RefUnwindSafe</a></li><li><a href="#impl-Send-for-BoneId">Send</a></li><li><a href="#impl-Sync-for-BoneId">Sync</a></li><li><a href="#impl-Unpin-for-BoneId">Unpin</a></li><li><a href="#impl-UnwindSafe-for-BoneId">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S">AdaptInto&#60;D, Swp, Dwp, T&#62;</a></li><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-ArraysFrom%3CC%3E-for-T">ArraysFrom&#60;C&#62;</a></li><li><a href="#impl-ArraysInto%3CC%3E-for-T">ArraysInto&#60;C&#62;</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-Cam16IntoUnclamped%3CWpParam,+T%3E-for-U">Cam16IntoUnclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-Cast-for-A">Cast</a></li><li><a href="#impl-CastFrom%3CA%3E-for-A">CastFrom&#60;A&#62;</a></li><li><a href="#impl-CastInto%3CA%3E-for-B">CastInto&#60;A&#62;</a></li><li><a href="#impl-CloneToUninit-for-T">CloneToUninit</a></li><li><a href="#impl-Comparable%3CK%3E-for-Q">Comparable&#60;K&#62;</a></li><li><a href="#impl-ComponentsFrom%3CC%3E-for-T">ComponentsFrom&#60;C&#62;</a></li><li><a href="#impl-DeserializeOwned-for-T">DeserializeOwned</a></li><li><a href="#impl-Downcast-for-T">Downcast</a></li><li><a href="#impl-Downcast%3CT%3E-for-T">Downcast&#60;T&#62;</a></li><li><a href="#impl-DowncastSync-for-T">DowncastSync</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Q">Equivalent&#60;K&#62;</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Q-1">Equivalent&#60;K&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&#60;T&#62;</a></li><li><a href="#impl-FromAngle%3CT%3E-for-T">FromAngle&#60;T&#62;</a></li><li><a href="#impl-FromStimulus%3CU%3E-for-T">FromStimulus&#60;U&#62;</a></li><li><a href="#impl-Instrument-for-T">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&#60;U&#62;</a></li><li><a href="#impl-IntoAngle%3CU%3E-for-T">IntoAngle&#60;U&#62;</a></li><li><a href="#impl-IntoCam16Unclamped%3CWpParam,+T%3E-for-U">IntoCam16Unclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-IntoColor%3CU%3E-for-T">IntoColor&#60;U&#62;</a></li><li><a href="#impl-IntoColorUnclamped%3CU%3E-for-T">IntoColorUnclamped&#60;U&#62;</a></li><li><a href="#impl-IntoComponents%3CUnit%3E-for-Unit">IntoComponents&#60;Unit&#62;</a></li><li><a href="#impl-IntoEither-for-T">IntoEither</a></li><li><a href="#impl-IntoReadOnly%3CT%3E-for-T">IntoReadOnly&#60;T&#62;</a></li><li><a href="#impl-IntoStimulus%3CT%3E-for-T">IntoStimulus&#60;T&#62;</a></li><li><a href="#impl-IntoValue%3COption%3CT%3E%3E-for-T">IntoValue&#60;Option&#60;T&#62;&#62;</a></li><li><a href="#impl-IntoValue%3CT%3E-for-T">IntoValue&#60;T&#62;</a></li><li><a href="#impl-Pointable-for-T">Pointable</a></li><li><a href="#impl-Sort%3CSearchFor%3E-for-Key">Sort&#60;SearchFor&#62;</a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryComponentsInto%3CC%3E-for-T">TryComponentsInto&#60;C&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&#60;U&#62;</a></li><li><a href="#impl-TryIntoColor%3CU%3E-for-T">TryIntoColor&#60;U&#62;</a></li><li><a href="#impl-UintsFrom%3CC%3E-for-U">UintsFrom&#60;C&#62;</a></li><li><a href="#impl-UintsInto%3CC%3E-for-U">UintsInto&#60;C&#62;</a></li><li><a href="#impl-Upcast%3CT%3E-for-T">Upcast&#60;T&#62;</a></li><li><a href="#impl-WasmNotSend-for-T">WasmNotSend</a></li><li><a href="#impl-WasmNotSendSync-for-T">WasmNotSendSync</a></li><li><a href="#impl-WasmNotSync-for-T">WasmNotSync</a></li><li><a href="#impl-WithSubscriber-for-T">WithSubscriber</a></li></ul></section><h2><a href="index.html">In crate funnybones</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="index.html">funnybones</a>::<wbr><a class="struct" href="#">BoneId</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/funnybones/lib.rs.html#883">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct BoneId(<span class="comment">/* private fields */</span>);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The unique ID of a <a href="struct.Bone.html" title="struct funnybones::Bone"><code>Bone</code></a> in a <a href="struct.Skeleton.html" title="struct funnybones::Skeleton"><code>Skeleton</code></a>.</p>
-</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BoneId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#885-909">source</a><a href="#impl-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.axis_a" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#888-893">source</a><h4 class="code-header">pub const fn <a href="#method.axis_a" class="fn">axis_a</a>(self) -&gt; <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h4></section></summary><div class="docblock"><p>Returns the first axis of this bone.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.axis_b" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#897-902">source</a><h4 class="code-header">pub const fn <a href="#method.axis_b" class="fn">axis_b</a>(self) -&gt; <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h4></section></summary><div class="docblock"><p>Returns the second axis of this bone.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.index" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#906-908">source</a><h4 class="code-header">pub fn <a href="#method.index" class="fn">index</a>(self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the index of this bone within the skeleton.</p>
-</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-BoneId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#881">source</a><a href="#impl-Clone-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#881">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#174">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: &amp;Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-BoneId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#881">source</a><a href="#impl-Debug-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#881">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-BoneId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#882">source</a><a href="#impl-Deserialize%3C'de%3E-for-BoneId" class="anchor">§</a><h3 class="code-header">impl&lt;'de&gt; <a class="trait" href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a>&lt;'de&gt; for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#882">source</a><a href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a>&lt;__D&gt;(__deserializer: __D) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, __D::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>&gt;<div class="where">where
-    __D: <a class="trait" href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Hash-for-BoneId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#881">source</a><a href="#impl-Hash-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.hash" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#881">source</a><a href="#method.hash" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fn">hash</a>&lt;__H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>&gt;(&amp;self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut __H</a>)</h4></section></summary><div class='docblock'>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.hash_slice" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#235-237">source</a></span><a href="#method.hash_slice" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fn">hash_slice</a>&lt;H&gt;(data: &amp;[Self], state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut H</a>)<div class="where">where
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="The unique ID of a `Bone` in a `Skeleton`."><title>BoneId in funnybones - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-492a78a4a87dcc01.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="funnybones" data-themes="" data-resource-suffix="" data-rustdoc-version="1.82.0-nightly (0d634185d 2024-08-29)" data-channel="nightly" data-search-js="search-acd2e111c9cb27e3.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-cb0df477c2d67d00.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-3b12f09e550e0385.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../funnybones/index.html">funnybones</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">BoneId</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.axis_a">axis_a</a></li><li><a href="#method.axis_b">axis_b</a></li><li><a href="#method.index">index</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-BoneId">Clone</a></li><li><a href="#impl-Copy-for-BoneId">Copy</a></li><li><a href="#impl-Debug-for-BoneId">Debug</a></li><li><a href="#impl-Deserialize%3C'de%3E-for-BoneId">Deserialize&#60;&#39;de&#62;</a></li><li><a href="#impl-Eq-for-BoneId">Eq</a></li><li><a href="#impl-Hash-for-BoneId">Hash</a></li><li><a href="#impl-Index%3CBoneId%3E-for-Skeleton">Index&#60;BoneId&#62;</a></li><li><a href="#impl-IndexMut%3CBoneId%3E-for-Skeleton">IndexMut&#60;BoneId&#62;</a></li><li><a href="#impl-Ord-for-BoneId">Ord</a></li><li><a href="#impl-PartialEq-for-BoneId">PartialEq</a></li><li><a href="#impl-PartialOrd-for-BoneId">PartialOrd</a></li><li><a href="#impl-Serialize-for-BoneId">Serialize</a></li><li><a href="#impl-StructuralPartialEq-for-BoneId">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-BoneId">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-BoneId">RefUnwindSafe</a></li><li><a href="#impl-Send-for-BoneId">Send</a></li><li><a href="#impl-Sync-for-BoneId">Sync</a></li><li><a href="#impl-Unpin-for-BoneId">Unpin</a></li><li><a href="#impl-UnwindSafe-for-BoneId">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S">AdaptInto&#60;D, Swp, Dwp, T&#62;</a></li><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-ArraysFrom%3CC%3E-for-T">ArraysFrom&#60;C&#62;</a></li><li><a href="#impl-ArraysInto%3CC%3E-for-T">ArraysInto&#60;C&#62;</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-Cam16IntoUnclamped%3CWpParam,+T%3E-for-U">Cam16IntoUnclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-Cast-for-A">Cast</a></li><li><a href="#impl-CastFrom%3CA%3E-for-A">CastFrom&#60;A&#62;</a></li><li><a href="#impl-CastInto%3CA%3E-for-B">CastInto&#60;A&#62;</a></li><li><a href="#impl-CloneToUninit-for-T">CloneToUninit</a></li><li><a href="#impl-Comparable%3CK%3E-for-Q">Comparable&#60;K&#62;</a></li><li><a href="#impl-ComponentsFrom%3CC%3E-for-T">ComponentsFrom&#60;C&#62;</a></li><li><a href="#impl-DeserializeOwned-for-T">DeserializeOwned</a></li><li><a href="#impl-Downcast-for-T">Downcast</a></li><li><a href="#impl-Downcast%3CT%3E-for-T">Downcast&#60;T&#62;</a></li><li><a href="#impl-DowncastSync-for-T">DowncastSync</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Q">Equivalent&#60;K&#62;</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Q-1">Equivalent&#60;K&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&#60;T&#62;</a></li><li><a href="#impl-FromAngle%3CT%3E-for-T">FromAngle&#60;T&#62;</a></li><li><a href="#impl-FromStimulus%3CU%3E-for-T">FromStimulus&#60;U&#62;</a></li><li><a href="#impl-Instrument-for-T">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&#60;U&#62;</a></li><li><a href="#impl-IntoAngle%3CU%3E-for-T">IntoAngle&#60;U&#62;</a></li><li><a href="#impl-IntoCam16Unclamped%3CWpParam,+T%3E-for-U">IntoCam16Unclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-IntoColor%3CU%3E-for-T">IntoColor&#60;U&#62;</a></li><li><a href="#impl-IntoColorUnclamped%3CU%3E-for-T">IntoColorUnclamped&#60;U&#62;</a></li><li><a href="#impl-IntoComponents%3CUnit%3E-for-Unit">IntoComponents&#60;Unit&#62;</a></li><li><a href="#impl-IntoEither-for-T">IntoEither</a></li><li><a href="#impl-IntoReadOnly%3CT%3E-for-T">IntoReadOnly&#60;T&#62;</a></li><li><a href="#impl-IntoStimulus%3CT%3E-for-T">IntoStimulus&#60;T&#62;</a></li><li><a href="#impl-IntoValue%3COption%3CT%3E%3E-for-T">IntoValue&#60;Option&#60;T&#62;&#62;</a></li><li><a href="#impl-IntoValue%3CT%3E-for-T">IntoValue&#60;T&#62;</a></li><li><a href="#impl-Pointable-for-T">Pointable</a></li><li><a href="#impl-Sort%3CSearchFor%3E-for-Key">Sort&#60;SearchFor&#62;</a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryComponentsInto%3CC%3E-for-T">TryComponentsInto&#60;C&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&#60;U&#62;</a></li><li><a href="#impl-TryIntoColor%3CU%3E-for-T">TryIntoColor&#60;U&#62;</a></li><li><a href="#impl-UintsFrom%3CC%3E-for-U">UintsFrom&#60;C&#62;</a></li><li><a href="#impl-UintsInto%3CC%3E-for-U">UintsInto&#60;C&#62;</a></li><li><a href="#impl-Upcast%3CT%3E-for-T">Upcast&#60;T&#62;</a></li><li><a href="#impl-WasmNotSend-for-T">WasmNotSend</a></li><li><a href="#impl-WasmNotSendSync-for-T">WasmNotSendSync</a></li><li><a href="#impl-WasmNotSync-for-T">WasmNotSync</a></li><li><a href="#impl-WithSubscriber-for-T">WithSubscriber</a></li></ul></section><h2><a href="index.html">In crate funnybones</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="index.html">funnybones</a>::<wbr><a class="struct" href="#">BoneId</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/funnybones/lib.rs.html#871">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct BoneId(<span class="comment">/* private fields */</span>);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The unique ID of a <a href="struct.Bone.html" title="struct funnybones::Bone"><code>Bone</code></a> in a <a href="struct.Skeleton.html" title="struct funnybones::Skeleton"><code>Skeleton</code></a>.</p>
+</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BoneId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#873-897">source</a><a href="#impl-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.axis_a" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#876-881">source</a><h4 class="code-header">pub const fn <a href="#method.axis_a" class="fn">axis_a</a>(self) -&gt; <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h4></section></summary><div class="docblock"><p>Returns the first axis of this bone.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.axis_b" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#885-890">source</a><h4 class="code-header">pub const fn <a href="#method.axis_b" class="fn">axis_b</a>(self) -&gt; <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h4></section></summary><div class="docblock"><p>Returns the second axis of this bone.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.index" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#894-896">source</a><h4 class="code-header">pub fn <a href="#method.index" class="fn">index</a>(self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the index of this bone within the skeleton.</p>
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-BoneId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#869">source</a><a href="#impl-Clone-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#869">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#174">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: &amp;Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-BoneId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#869">source</a><a href="#impl-Debug-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#869">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-BoneId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#870">source</a><a href="#impl-Deserialize%3C'de%3E-for-BoneId" class="anchor">§</a><h3 class="code-header">impl&lt;'de&gt; <a class="trait" href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a>&lt;'de&gt; for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#870">source</a><a href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a>&lt;__D&gt;(__deserializer: __D) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, __D::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>&gt;<div class="where">where
+    __D: <a class="trait" href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Hash-for-BoneId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#869">source</a><a href="#impl-Hash-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.hash" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#869">source</a><a href="#method.hash" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fn">hash</a>&lt;__H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>&gt;(&amp;self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut __H</a>)</h4></section></summary><div class='docblock'>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.hash_slice" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#235-237">source</a></span><a href="#method.hash_slice" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fn">hash_slice</a>&lt;H&gt;(data: &amp;[Self], state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut H</a>)<div class="where">where
     H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,
-    Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Index%3CBoneId%3E-for-Skeleton" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#664-670">source</a><a href="#impl-Index%3CBoneId%3E-for-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html" title="trait core::ops::index::Index">Index</a>&lt;<a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a>&gt; for <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#665">source</a><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="struct.Bone.html" title="struct funnybones::Bone">Bone</a></h4></section></summary><div class='docblock'>The returned type after indexing.</div></details><details class="toggle method-toggle" open><summary><section id="method.index-1" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#667-669">source</a><a href="#method.index-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#tymethod.index" class="fn">index</a>(&amp;self, index: <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a>) -&gt; &amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output" title="type core::ops::index::Index::Output">Output</a></h4></section></summary><div class='docblock'>Performs the indexing (<code>container[index]</code>) operation. <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#tymethod.index">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-IndexMut%3CBoneId%3E-for-Skeleton" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#672-676">source</a><a href="#impl-IndexMut%3CBoneId%3E-for-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.IndexMut.html" title="trait core::ops::index::IndexMut">IndexMut</a>&lt;<a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a>&gt; for <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.index_mut" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#673-675">source</a><a href="#method.index_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.IndexMut.html#tymethod.index_mut" class="fn">index_mut</a>(&amp;mut self, index: <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a>) -&gt; &amp;mut Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output" title="type core::ops::index::Index::Output">Output</a></h4></section></summary><div class='docblock'>Performs the mutable indexing (<code>container[index]</code>) operation. <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.IndexMut.html#tymethod.index_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Ord-for-BoneId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#881">source</a><a href="#impl-Ord-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmp" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#881">source</a><a href="#method.cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fn">cmp</a>(&amp;self, other: &amp;<a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></h4></section></summary><div class='docblock'>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.max" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#854-856">source</a></span><a href="#method.max" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fn">max</a>(self, other: Self) -&gt; Self<div class="where">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Index%3CBoneId%3E-for-Skeleton" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#652-658">source</a><a href="#impl-Index%3CBoneId%3E-for-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html" title="trait core::ops::index::Index">Index</a>&lt;<a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a>&gt; for <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#653">source</a><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="struct.Bone.html" title="struct funnybones::Bone">Bone</a></h4></section></summary><div class='docblock'>The returned type after indexing.</div></details><details class="toggle method-toggle" open><summary><section id="method.index-1" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#655-657">source</a><a href="#method.index-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#tymethod.index" class="fn">index</a>(&amp;self, index: <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a>) -&gt; &amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output" title="type core::ops::index::Index::Output">Output</a></h4></section></summary><div class='docblock'>Performs the indexing (<code>container[index]</code>) operation. <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#tymethod.index">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-IndexMut%3CBoneId%3E-for-Skeleton" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#660-664">source</a><a href="#impl-IndexMut%3CBoneId%3E-for-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.IndexMut.html" title="trait core::ops::index::IndexMut">IndexMut</a>&lt;<a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a>&gt; for <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.index_mut" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#661-663">source</a><a href="#method.index_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.IndexMut.html#tymethod.index_mut" class="fn">index_mut</a>(&amp;mut self, index: <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a>) -&gt; &amp;mut Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output" title="type core::ops::index::Index::Output">Output</a></h4></section></summary><div class='docblock'>Performs the mutable indexing (<code>container[index]</code>) operation. <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.IndexMut.html#tymethod.index_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Ord-for-BoneId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#869">source</a><a href="#impl-Ord-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmp" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#869">source</a><a href="#method.cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fn">cmp</a>(&amp;self, other: &amp;<a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></h4></section></summary><div class='docblock'>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.max" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#854-856">source</a></span><a href="#method.max" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fn">max</a>(self, other: Self) -&gt; Self<div class="where">where
     Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.min" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#875-877">source</a></span><a href="#method.min" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fn">min</a>(self, other: Self) -&gt; Self<div class="where">where
     Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clamp" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#901-904">source</a></span><a href="#method.clamp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fn">clamp</a>(self, min: Self, max: Self) -&gt; Self<div class="where">where
-    Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>,</div></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-BoneId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#881">source</a><a href="#impl-PartialEq-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#881">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#261">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>!=</code>. The default implementation is almost always sufficient,
-and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialOrd-for-BoneId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#881">source</a><a href="#impl-PartialOrd-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.partial_cmp" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#881">source</a><a href="#method.partial_cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fn">partial_cmp</a>(&amp;self, other: &amp;<a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>&gt;</h4></section></summary><div class='docblock'>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.lt" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1178">source</a></span><a href="#method.lt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fn">lt</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests less than (for <code>self</code> and <code>other</code>) and is used by the <code>&lt;</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.le" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1196">source</a></span><a href="#method.le" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fn">le</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the
+    Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>,</div></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-BoneId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#869">source</a><a href="#impl-PartialEq-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#869">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#261">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>!=</code>. The default implementation is almost always sufficient,
+and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialOrd-for-BoneId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#869">source</a><a href="#impl-PartialOrd-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.partial_cmp" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#869">source</a><a href="#method.partial_cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fn">partial_cmp</a>(&amp;self, other: &amp;<a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>&gt;</h4></section></summary><div class='docblock'>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.lt" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1178">source</a></span><a href="#method.lt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fn">lt</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests less than (for <code>self</code> and <code>other</code>) and is used by the <code>&lt;</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.le" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1196">source</a></span><a href="#method.le" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fn">le</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the
 <code>&lt;=</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.gt" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1214">source</a></span><a href="#method.gt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fn">gt</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>&gt;</code>
 operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.ge" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1232">source</a></span><a href="#method.ge" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fn">ge</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by
-the <code>&gt;=</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-BoneId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#882">source</a><a href="#impl-Serialize-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.serialize" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#882">source</a><a href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize" class="fn">serialize</a>&lt;__S&gt;(&amp;self, __serializer: __S) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;__S::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>&gt;<div class="where">where
-    __S: <a class="trait" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details><section id="impl-Copy-for-BoneId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#881">source</a><a href="#impl-Copy-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section><section id="impl-Eq-for-BoneId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#881">source</a><a href="#impl-Eq-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section><section id="impl-StructuralPartialEq-for-BoneId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#881">source</a><a href="#impl-StructuralPartialEq-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-BoneId" class="impl"><a href="#impl-Freeze-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section><section id="impl-RefUnwindSafe-for-BoneId" class="impl"><a href="#impl-RefUnwindSafe-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section><section id="impl-Send-for-BoneId" class="impl"><a href="#impl-Send-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section><section id="impl-Sync-for-BoneId" class="impl"><a href="#impl-Sync-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section><section id="impl-Unpin-for-BoneId" class="impl"><a href="#impl-Unpin-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section><section id="impl-UnwindSafe-for-BoneId" class="impl"><a href="#impl-UnwindSafe-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/chromatic_adaptation.rs.html#205-210">source</a><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="anchor">§</a><h3 class="code-header">impl&lt;S, D, Swp, Dwp, T&gt; <a class="trait" href="https://docs.rs/palette/0.7.6/palette/chromatic_adaptation/trait.AdaptInto.html" title="trait palette::chromatic_adaptation::AdaptInto">AdaptInto</a>&lt;D, Swp, Dwp, T&gt; for S<div class="where">where
+the <code>&gt;=</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-BoneId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#870">source</a><a href="#impl-Serialize-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.serialize" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#870">source</a><a href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize" class="fn">serialize</a>&lt;__S&gt;(&amp;self, __serializer: __S) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;__S::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>&gt;<div class="where">where
+    __S: <a class="trait" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details><section id="impl-Copy-for-BoneId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#869">source</a><a href="#impl-Copy-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section><section id="impl-Eq-for-BoneId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#869">source</a><a href="#impl-Eq-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section><section id="impl-StructuralPartialEq-for-BoneId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#869">source</a><a href="#impl-StructuralPartialEq-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-BoneId" class="impl"><a href="#impl-Freeze-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section><section id="impl-RefUnwindSafe-for-BoneId" class="impl"><a href="#impl-RefUnwindSafe-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section><section id="impl-Send-for-BoneId" class="impl"><a href="#impl-Send-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section><section id="impl-Sync-for-BoneId" class="impl"><a href="#impl-Sync-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section><section id="impl-Unpin-for-BoneId" class="impl"><a href="#impl-Unpin-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section><section id="impl-UnwindSafe-for-BoneId" class="impl"><a href="#impl-UnwindSafe-for-BoneId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/chromatic_adaptation.rs.html#205-210">source</a><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="anchor">§</a><h3 class="code-header">impl&lt;S, D, Swp, Dwp, T&gt; <a class="trait" href="https://docs.rs/palette/0.7.6/palette/chromatic_adaptation/trait.AdaptInto.html" title="trait palette::chromatic_adaptation::AdaptInto">AdaptInto</a>&lt;D, Swp, Dwp, T&gt; for S<div class="where">where
     T: <a class="trait" href="https://docs.rs/palette/0.7.6/palette/num/trait.Real.html" title="trait palette::num::Real">Real</a> + <a class="trait" href="https://docs.rs/palette/0.7.6/palette/num/trait.Zero.html" title="trait palette::num::Zero">Zero</a> + <a class="trait" href="https://docs.rs/palette/0.7.6/palette/num/trait.Arithmetics.html" title="trait palette::num::Arithmetics">Arithmetics</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,
     Swp: <a class="trait" href="https://docs.rs/palette/0.7.6/palette/white_point/trait.WhitePoint.html" title="trait palette::white_point::WhitePoint">WhitePoint</a>&lt;T&gt;,
     Dwp: <a class="trait" href="https://docs.rs/palette/0.7.6/palette/white_point/trait.WhitePoint.html" title="trait palette::white_point::WhitePoint">WhitePoint</a>&lt;T&gt;,
diff --git a/main/funnybones/struct.Joint.html b/main/funnybones/struct.Joint.html
index 974da0b..656a4d5 100644
--- a/main/funnybones/struct.Joint.html
+++ b/main/funnybones/struct.Joint.html
@@ -1,20 +1,20 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A connection between two bones."><title>Joint in funnybones - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-492a78a4a87dcc01.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="funnybones" data-themes="" data-resource-suffix="" data-rustdoc-version="1.82.0-nightly (0d634185d 2024-08-29)" data-channel="nightly" data-search-js="search-acd2e111c9cb27e3.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-cb0df477c2d67d00.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-3b12f09e550e0385.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../funnybones/index.html">funnybones</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Joint</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.angle">angle</a></li><li><a href="#method.id">id</a></li><li><a href="#method.label">label</a></li><li><a href="#method.new">new</a></li><li><a href="#method.other_axis">other_axis</a></li><li><a href="#method.set_angle">set_angle</a></li><li><a href="#method.with_label">with_label</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Debug-for-Joint">Debug</a></li><li><a href="#impl-PartialEq-for-Joint">PartialEq</a></li><li><a href="#impl-Serialize-for-Joint">Serialize</a></li><li><a href="#impl-StructuralPartialEq-for-Joint">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Joint">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Joint">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Joint">Send</a></li><li><a href="#impl-Sync-for-Joint">Sync</a></li><li><a href="#impl-Unpin-for-Joint">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Joint">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S">AdaptInto&#60;D, Swp, Dwp, T&#62;</a></li><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-ArraysFrom%3CC%3E-for-T">ArraysFrom&#60;C&#62;</a></li><li><a href="#impl-ArraysInto%3CC%3E-for-T">ArraysInto&#60;C&#62;</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-Cam16IntoUnclamped%3CWpParam,+T%3E-for-U">Cam16IntoUnclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-Cast-for-A">Cast</a></li><li><a href="#impl-CastFrom%3CA%3E-for-A">CastFrom&#60;A&#62;</a></li><li><a href="#impl-CastInto%3CA%3E-for-B">CastInto&#60;A&#62;</a></li><li><a href="#impl-ComponentsFrom%3CC%3E-for-T">ComponentsFrom&#60;C&#62;</a></li><li><a href="#impl-Downcast-for-T">Downcast</a></li><li><a href="#impl-Downcast%3CT%3E-for-T">Downcast&#60;T&#62;</a></li><li><a href="#impl-DowncastSync-for-T">DowncastSync</a></li><li><a href="#impl-From%3CT%3E-for-T">From&#60;T&#62;</a></li><li><a href="#impl-FromAngle%3CT%3E-for-T">FromAngle&#60;T&#62;</a></li><li><a href="#impl-FromStimulus%3CU%3E-for-T">FromStimulus&#60;U&#62;</a></li><li><a href="#impl-Instrument-for-T">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&#60;U&#62;</a></li><li><a href="#impl-IntoAngle%3CU%3E-for-T">IntoAngle&#60;U&#62;</a></li><li><a href="#impl-IntoCam16Unclamped%3CWpParam,+T%3E-for-U">IntoCam16Unclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-IntoColor%3CU%3E-for-T">IntoColor&#60;U&#62;</a></li><li><a href="#impl-IntoColorUnclamped%3CU%3E-for-T">IntoColorUnclamped&#60;U&#62;</a></li><li><a href="#impl-IntoEither-for-T">IntoEither</a></li><li><a href="#impl-IntoReadOnly%3CT%3E-for-T">IntoReadOnly&#60;T&#62;</a></li><li><a href="#impl-IntoStimulus%3CT%3E-for-T">IntoStimulus&#60;T&#62;</a></li><li><a href="#impl-IntoValue%3COption%3CT%3E%3E-for-T">IntoValue&#60;Option&#60;T&#62;&#62;</a></li><li><a href="#impl-IntoValue%3CT%3E-for-T">IntoValue&#60;T&#62;</a></li><li><a href="#impl-Pointable-for-T">Pointable</a></li><li><a href="#impl-TryComponentsInto%3CC%3E-for-T">TryComponentsInto&#60;C&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&#60;U&#62;</a></li><li><a href="#impl-TryIntoColor%3CU%3E-for-T">TryIntoColor&#60;U&#62;</a></li><li><a href="#impl-UintsFrom%3CC%3E-for-U">UintsFrom&#60;C&#62;</a></li><li><a href="#impl-UintsInto%3CC%3E-for-U">UintsInto&#60;C&#62;</a></li><li><a href="#impl-Upcast%3CT%3E-for-T">Upcast&#60;T&#62;</a></li><li><a href="#impl-WasmNotSend-for-T">WasmNotSend</a></li><li><a href="#impl-WasmNotSendSync-for-T">WasmNotSendSync</a></li><li><a href="#impl-WasmNotSync-for-T">WasmNotSync</a></li><li><a href="#impl-WithSubscriber-for-T">WithSubscriber</a></li></ul></section><h2><a href="index.html">In crate funnybones</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="index.html">funnybones</a>::<wbr><a class="struct" href="#">Joint</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/funnybones/lib.rs.html#803-810">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Joint { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A connection between two bones.</p>
-</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Joint" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#812-878">source</a><a href="#impl-Joint" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Joint.html" title="struct funnybones::Joint">Joint</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.id" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#815-817">source</a><h4 class="code-header">pub const fn <a href="#method.id" class="fn">id</a>(&amp;self) -&gt; <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h4></section></summary><div class="docblock"><p>Returns the unique id of this joint.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#821-830">source</a><h4 class="code-header">pub const fn <a href="#method.new" class="fn">new</a>(angle: <a class="struct" href="struct.Angle.html" title="struct funnybones::Angle">Angle</a>, bone_a: <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a>, bone_b: <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Returns a new joint formed by joining <code>bone_a</code> and <code>bone_b</code> at <code>angle</code>.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.with_label" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#834-840">source</a><h4 class="code-header">pub fn <a href="#method.with_label" class="fn">with_label</a>(self, label: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;) -&gt; Self</h4></section></summary><div class="docblock"><p>Labels this joint and returns self.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.label" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#844-846">source</a><h4 class="code-header">pub fn <a href="#method.label" class="fn">label</a>(&amp;self) -&gt; &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></h4></section></summary><div class="docblock"><p>Returns the label of this joint.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.other_axis" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#856-863">source</a><h4 class="code-header">pub fn <a href="#method.other_axis" class="fn">other_axis</a>(&amp;self, axis: <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a>) -&gt; <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h4></section></summary><div class="docblock"><p>Given <code>axis</code> is one of the two connections in this joint, return the
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A connection between two bones."><title>Joint in funnybones - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-492a78a4a87dcc01.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="funnybones" data-themes="" data-resource-suffix="" data-rustdoc-version="1.82.0-nightly (0d634185d 2024-08-29)" data-channel="nightly" data-search-js="search-acd2e111c9cb27e3.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-cb0df477c2d67d00.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-3b12f09e550e0385.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../funnybones/index.html">funnybones</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Joint</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.angle">angle</a></li><li><a href="#method.id">id</a></li><li><a href="#method.label">label</a></li><li><a href="#method.new">new</a></li><li><a href="#method.other_axis">other_axis</a></li><li><a href="#method.set_angle">set_angle</a></li><li><a href="#method.with_label">with_label</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Debug-for-Joint">Debug</a></li><li><a href="#impl-PartialEq-for-Joint">PartialEq</a></li><li><a href="#impl-Serialize-for-Joint">Serialize</a></li><li><a href="#impl-StructuralPartialEq-for-Joint">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Joint">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Joint">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Joint">Send</a></li><li><a href="#impl-Sync-for-Joint">Sync</a></li><li><a href="#impl-Unpin-for-Joint">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Joint">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S">AdaptInto&#60;D, Swp, Dwp, T&#62;</a></li><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-ArraysFrom%3CC%3E-for-T">ArraysFrom&#60;C&#62;</a></li><li><a href="#impl-ArraysInto%3CC%3E-for-T">ArraysInto&#60;C&#62;</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-Cam16IntoUnclamped%3CWpParam,+T%3E-for-U">Cam16IntoUnclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-Cast-for-A">Cast</a></li><li><a href="#impl-CastFrom%3CA%3E-for-A">CastFrom&#60;A&#62;</a></li><li><a href="#impl-CastInto%3CA%3E-for-B">CastInto&#60;A&#62;</a></li><li><a href="#impl-ComponentsFrom%3CC%3E-for-T">ComponentsFrom&#60;C&#62;</a></li><li><a href="#impl-Downcast-for-T">Downcast</a></li><li><a href="#impl-Downcast%3CT%3E-for-T">Downcast&#60;T&#62;</a></li><li><a href="#impl-DowncastSync-for-T">DowncastSync</a></li><li><a href="#impl-From%3CT%3E-for-T">From&#60;T&#62;</a></li><li><a href="#impl-FromAngle%3CT%3E-for-T">FromAngle&#60;T&#62;</a></li><li><a href="#impl-FromStimulus%3CU%3E-for-T">FromStimulus&#60;U&#62;</a></li><li><a href="#impl-Instrument-for-T">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&#60;U&#62;</a></li><li><a href="#impl-IntoAngle%3CU%3E-for-T">IntoAngle&#60;U&#62;</a></li><li><a href="#impl-IntoCam16Unclamped%3CWpParam,+T%3E-for-U">IntoCam16Unclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-IntoColor%3CU%3E-for-T">IntoColor&#60;U&#62;</a></li><li><a href="#impl-IntoColorUnclamped%3CU%3E-for-T">IntoColorUnclamped&#60;U&#62;</a></li><li><a href="#impl-IntoEither-for-T">IntoEither</a></li><li><a href="#impl-IntoReadOnly%3CT%3E-for-T">IntoReadOnly&#60;T&#62;</a></li><li><a href="#impl-IntoStimulus%3CT%3E-for-T">IntoStimulus&#60;T&#62;</a></li><li><a href="#impl-IntoValue%3COption%3CT%3E%3E-for-T">IntoValue&#60;Option&#60;T&#62;&#62;</a></li><li><a href="#impl-IntoValue%3CT%3E-for-T">IntoValue&#60;T&#62;</a></li><li><a href="#impl-Pointable-for-T">Pointable</a></li><li><a href="#impl-TryComponentsInto%3CC%3E-for-T">TryComponentsInto&#60;C&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&#60;U&#62;</a></li><li><a href="#impl-TryIntoColor%3CU%3E-for-T">TryIntoColor&#60;U&#62;</a></li><li><a href="#impl-UintsFrom%3CC%3E-for-U">UintsFrom&#60;C&#62;</a></li><li><a href="#impl-UintsInto%3CC%3E-for-U">UintsInto&#60;C&#62;</a></li><li><a href="#impl-Upcast%3CT%3E-for-T">Upcast&#60;T&#62;</a></li><li><a href="#impl-WasmNotSend-for-T">WasmNotSend</a></li><li><a href="#impl-WasmNotSendSync-for-T">WasmNotSendSync</a></li><li><a href="#impl-WasmNotSync-for-T">WasmNotSync</a></li><li><a href="#impl-WithSubscriber-for-T">WithSubscriber</a></li></ul></section><h2><a href="index.html">In crate funnybones</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="index.html">funnybones</a>::<wbr><a class="struct" href="#">Joint</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/funnybones/lib.rs.html#791-798">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Joint { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A connection between two bones.</p>
+</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Joint" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#800-866">source</a><a href="#impl-Joint" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Joint.html" title="struct funnybones::Joint">Joint</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.id" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#803-805">source</a><h4 class="code-header">pub const fn <a href="#method.id" class="fn">id</a>(&amp;self) -&gt; <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h4></section></summary><div class="docblock"><p>Returns the unique id of this joint.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.new" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#809-818">source</a><h4 class="code-header">pub const fn <a href="#method.new" class="fn">new</a>(angle: <a class="struct" href="struct.Angle.html" title="struct funnybones::Angle">Angle</a>, bone_a: <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a>, bone_b: <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a>) -&gt; Self</h4></section></summary><div class="docblock"><p>Returns a new joint formed by joining <code>bone_a</code> and <code>bone_b</code> at <code>angle</code>.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.with_label" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#822-828">source</a><h4 class="code-header">pub fn <a href="#method.with_label" class="fn">with_label</a>(self, label: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;) -&gt; Self</h4></section></summary><div class="docblock"><p>Labels this joint and returns self.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.label" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#832-834">source</a><h4 class="code-header">pub fn <a href="#method.label" class="fn">label</a>(&amp;self) -&gt; &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a></h4></section></summary><div class="docblock"><p>Returns the label of this joint.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.other_axis" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#844-851">source</a><h4 class="code-header">pub fn <a href="#method.other_axis" class="fn">other_axis</a>(&amp;self, axis: <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a>) -&gt; <a class="struct" href="struct.BoneAxis.html" title="struct funnybones::BoneAxis">BoneAxis</a></h4></section></summary><div class="docblock"><p>Given <code>axis</code> is one of the two connections in this joint, return the
 other axis.</p>
 <h5 id="panics"><a class="doc-anchor" href="#panics">§</a>Panics</h5>
 <p>This function has a debug assertion that ensures that <code>axis</code> is one of
 the bones in this joint.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.set_angle" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#869-871">source</a><h4 class="code-header">pub fn <a href="#method.set_angle" class="fn">set_angle</a>(&amp;mut self, angle: <a class="struct" href="struct.Angle.html" title="struct funnybones::Angle">Angle</a>)</h4></section></summary><div class="docblock"><p>Sets the angle to form between these joints.</p>
+</div></details><details class="toggle method-toggle" open><summary><section id="method.set_angle" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#857-859">source</a><h4 class="code-header">pub fn <a href="#method.set_angle" class="fn">set_angle</a>(&amp;mut self, angle: <a class="struct" href="struct.Angle.html" title="struct funnybones::Angle">Angle</a>)</h4></section></summary><div class="docblock"><p>Sets the angle to form between these joints.</p>
 <p>This setting is ignored if the bone furthest from the root of the joint
 is a <a href="enum.BoneKind.html#variant.Jointed" title="variant funnybones::BoneKind::Jointed"><code>BoneKind::Jointed</code></a> bone.</p>
-</div></details><details class="toggle method-toggle" open><summary><section id="method.angle" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#875-877">source</a><h4 class="code-header">pub const fn <a href="#method.angle" class="fn">angle</a>(&amp;self) -&gt; <a class="struct" href="struct.Angle.html" title="struct funnybones::Angle">Angle</a></h4></section></summary><div class="docblock"><p>Returns the rotation of this joint.</p>
-</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-Joint" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#802">source</a><a href="#impl-Debug-for-Joint" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.Joint.html" title="struct funnybones::Joint">Joint</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#802">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-Joint" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#802">source</a><a href="#impl-PartialEq-for-Joint" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="struct" href="struct.Joint.html" title="struct funnybones::Joint">Joint</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#802">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="struct" href="struct.Joint.html" title="struct funnybones::Joint">Joint</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#261">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>!=</code>. The default implementation is almost always sufficient,
+</div></details><details class="toggle method-toggle" open><summary><section id="method.angle" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#863-865">source</a><h4 class="code-header">pub const fn <a href="#method.angle" class="fn">angle</a>(&amp;self) -&gt; <a class="struct" href="struct.Angle.html" title="struct funnybones::Angle">Angle</a></h4></section></summary><div class="docblock"><p>Returns the rotation of this joint.</p>
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-Joint" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#790">source</a><a href="#impl-Debug-for-Joint" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.Joint.html" title="struct funnybones::Joint">Joint</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#790">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-Joint" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#790">source</a><a href="#impl-PartialEq-for-Joint" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="struct" href="struct.Joint.html" title="struct funnybones::Joint">Joint</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#790">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="struct" href="struct.Joint.html" title="struct funnybones::Joint">Joint</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#261">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>!=</code>. The default implementation is almost always sufficient,
 and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-Joint" class="impl"><a class="src rightside" href="../src/funnybones/serde.rs.html#112-127">source</a><a href="#impl-Serialize-for-Joint" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="struct.Joint.html" title="struct funnybones::Joint">Joint</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.serialize" class="method trait-impl"><a class="src rightside" href="../src/funnybones/serde.rs.html#113-126">source</a><a href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize" class="fn">serialize</a>&lt;S&gt;(&amp;self, serializer: S) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;S::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, S::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>&gt;<div class="where">where
-    S: <a class="trait" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details><section id="impl-StructuralPartialEq-for-Joint" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#802">source</a><a href="#impl-StructuralPartialEq-for-Joint" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="struct.Joint.html" title="struct funnybones::Joint">Joint</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-Joint" class="impl"><a href="#impl-Freeze-for-Joint" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.Joint.html" title="struct funnybones::Joint">Joint</a></h3></section><section id="impl-RefUnwindSafe-for-Joint" class="impl"><a href="#impl-RefUnwindSafe-for-Joint" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Joint.html" title="struct funnybones::Joint">Joint</a></h3></section><section id="impl-Send-for-Joint" class="impl"><a href="#impl-Send-for-Joint" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Joint.html" title="struct funnybones::Joint">Joint</a></h3></section><section id="impl-Sync-for-Joint" class="impl"><a href="#impl-Sync-for-Joint" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Joint.html" title="struct funnybones::Joint">Joint</a></h3></section><section id="impl-Unpin-for-Joint" class="impl"><a href="#impl-Unpin-for-Joint" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Joint.html" title="struct funnybones::Joint">Joint</a></h3></section><section id="impl-UnwindSafe-for-Joint" class="impl"><a href="#impl-UnwindSafe-for-Joint" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Joint.html" title="struct funnybones::Joint">Joint</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/chromatic_adaptation.rs.html#205-210">source</a><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="anchor">§</a><h3 class="code-header">impl&lt;S, D, Swp, Dwp, T&gt; <a class="trait" href="https://docs.rs/palette/0.7.6/palette/chromatic_adaptation/trait.AdaptInto.html" title="trait palette::chromatic_adaptation::AdaptInto">AdaptInto</a>&lt;D, Swp, Dwp, T&gt; for S<div class="where">where
+    S: <a class="trait" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details><section id="impl-StructuralPartialEq-for-Joint" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#790">source</a><a href="#impl-StructuralPartialEq-for-Joint" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="struct.Joint.html" title="struct funnybones::Joint">Joint</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-Joint" class="impl"><a href="#impl-Freeze-for-Joint" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.Joint.html" title="struct funnybones::Joint">Joint</a></h3></section><section id="impl-RefUnwindSafe-for-Joint" class="impl"><a href="#impl-RefUnwindSafe-for-Joint" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Joint.html" title="struct funnybones::Joint">Joint</a></h3></section><section id="impl-Send-for-Joint" class="impl"><a href="#impl-Send-for-Joint" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Joint.html" title="struct funnybones::Joint">Joint</a></h3></section><section id="impl-Sync-for-Joint" class="impl"><a href="#impl-Sync-for-Joint" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Joint.html" title="struct funnybones::Joint">Joint</a></h3></section><section id="impl-Unpin-for-Joint" class="impl"><a href="#impl-Unpin-for-Joint" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Joint.html" title="struct funnybones::Joint">Joint</a></h3></section><section id="impl-UnwindSafe-for-Joint" class="impl"><a href="#impl-UnwindSafe-for-Joint" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Joint.html" title="struct funnybones::Joint">Joint</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/chromatic_adaptation.rs.html#205-210">source</a><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="anchor">§</a><h3 class="code-header">impl&lt;S, D, Swp, Dwp, T&gt; <a class="trait" href="https://docs.rs/palette/0.7.6/palette/chromatic_adaptation/trait.AdaptInto.html" title="trait palette::chromatic_adaptation::AdaptInto">AdaptInto</a>&lt;D, Swp, Dwp, T&gt; for S<div class="where">where
     T: <a class="trait" href="https://docs.rs/palette/0.7.6/palette/num/trait.Real.html" title="trait palette::num::Real">Real</a> + <a class="trait" href="https://docs.rs/palette/0.7.6/palette/num/trait.Zero.html" title="trait palette::num::Zero">Zero</a> + <a class="trait" href="https://docs.rs/palette/0.7.6/palette/num/trait.Arithmetics.html" title="trait palette::num::Arithmetics">Arithmetics</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,
     Swp: <a class="trait" href="https://docs.rs/palette/0.7.6/palette/white_point/trait.WhitePoint.html" title="trait palette::white_point::WhitePoint">WhitePoint</a>&lt;T&gt;,
     Dwp: <a class="trait" href="https://docs.rs/palette/0.7.6/palette/white_point/trait.WhitePoint.html" title="trait palette::white_point::WhitePoint">WhitePoint</a>&lt;T&gt;,
diff --git a/main/funnybones/struct.JointId.html b/main/funnybones/struct.JointId.html
index be0408f..99306cf 100644
--- a/main/funnybones/struct.JointId.html
+++ b/main/funnybones/struct.JointId.html
@@ -1,17 +1,17 @@
-<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="The unique ID of a `Joint` in a `Skeleton`."><title>JointId in funnybones - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-492a78a4a87dcc01.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="funnybones" data-themes="" data-resource-suffix="" data-rustdoc-version="1.82.0-nightly (0d634185d 2024-08-29)" data-channel="nightly" data-search-js="search-acd2e111c9cb27e3.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-cb0df477c2d67d00.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-3b12f09e550e0385.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../funnybones/index.html">funnybones</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">JointId</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.index">index</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-JointId">Clone</a></li><li><a href="#impl-Copy-for-JointId">Copy</a></li><li><a href="#impl-Debug-for-JointId">Debug</a></li><li><a href="#impl-Deserialize%3C'de%3E-for-JointId">Deserialize&#60;&#39;de&#62;</a></li><li><a href="#impl-Eq-for-JointId">Eq</a></li><li><a href="#impl-Hash-for-JointId">Hash</a></li><li><a href="#impl-Index%3CJointId%3E-for-Skeleton">Index&#60;JointId&#62;</a></li><li><a href="#impl-IndexMut%3CJointId%3E-for-Skeleton">IndexMut&#60;JointId&#62;</a></li><li><a href="#impl-Ord-for-JointId">Ord</a></li><li><a href="#impl-PartialEq-for-JointId">PartialEq</a></li><li><a href="#impl-PartialOrd-for-JointId">PartialOrd</a></li><li><a href="#impl-Serialize-for-JointId">Serialize</a></li><li><a href="#impl-StructuralPartialEq-for-JointId">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-JointId">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-JointId">RefUnwindSafe</a></li><li><a href="#impl-Send-for-JointId">Send</a></li><li><a href="#impl-Sync-for-JointId">Sync</a></li><li><a href="#impl-Unpin-for-JointId">Unpin</a></li><li><a href="#impl-UnwindSafe-for-JointId">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S">AdaptInto&#60;D, Swp, Dwp, T&#62;</a></li><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-ArraysFrom%3CC%3E-for-T">ArraysFrom&#60;C&#62;</a></li><li><a href="#impl-ArraysInto%3CC%3E-for-T">ArraysInto&#60;C&#62;</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-Cam16IntoUnclamped%3CWpParam,+T%3E-for-U">Cam16IntoUnclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-Cast-for-A">Cast</a></li><li><a href="#impl-CastFrom%3CA%3E-for-A">CastFrom&#60;A&#62;</a></li><li><a href="#impl-CastInto%3CA%3E-for-B">CastInto&#60;A&#62;</a></li><li><a href="#impl-CloneToUninit-for-T">CloneToUninit</a></li><li><a href="#impl-Comparable%3CK%3E-for-Q">Comparable&#60;K&#62;</a></li><li><a href="#impl-ComponentsFrom%3CC%3E-for-T">ComponentsFrom&#60;C&#62;</a></li><li><a href="#impl-DeserializeOwned-for-T">DeserializeOwned</a></li><li><a href="#impl-Downcast-for-T">Downcast</a></li><li><a href="#impl-Downcast%3CT%3E-for-T">Downcast&#60;T&#62;</a></li><li><a href="#impl-DowncastSync-for-T">DowncastSync</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Q">Equivalent&#60;K&#62;</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Q-1">Equivalent&#60;K&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&#60;T&#62;</a></li><li><a href="#impl-FromAngle%3CT%3E-for-T">FromAngle&#60;T&#62;</a></li><li><a href="#impl-FromStimulus%3CU%3E-for-T">FromStimulus&#60;U&#62;</a></li><li><a href="#impl-Instrument-for-T">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&#60;U&#62;</a></li><li><a href="#impl-IntoAngle%3CU%3E-for-T">IntoAngle&#60;U&#62;</a></li><li><a href="#impl-IntoCam16Unclamped%3CWpParam,+T%3E-for-U">IntoCam16Unclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-IntoColor%3CU%3E-for-T">IntoColor&#60;U&#62;</a></li><li><a href="#impl-IntoColorUnclamped%3CU%3E-for-T">IntoColorUnclamped&#60;U&#62;</a></li><li><a href="#impl-IntoComponents%3CUnit%3E-for-Unit">IntoComponents&#60;Unit&#62;</a></li><li><a href="#impl-IntoEither-for-T">IntoEither</a></li><li><a href="#impl-IntoReadOnly%3CT%3E-for-T">IntoReadOnly&#60;T&#62;</a></li><li><a href="#impl-IntoStimulus%3CT%3E-for-T">IntoStimulus&#60;T&#62;</a></li><li><a href="#impl-IntoValue%3COption%3CT%3E%3E-for-T">IntoValue&#60;Option&#60;T&#62;&#62;</a></li><li><a href="#impl-IntoValue%3CT%3E-for-T">IntoValue&#60;T&#62;</a></li><li><a href="#impl-Pointable-for-T">Pointable</a></li><li><a href="#impl-Sort%3CSearchFor%3E-for-Key">Sort&#60;SearchFor&#62;</a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryComponentsInto%3CC%3E-for-T">TryComponentsInto&#60;C&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&#60;U&#62;</a></li><li><a href="#impl-TryIntoColor%3CU%3E-for-T">TryIntoColor&#60;U&#62;</a></li><li><a href="#impl-UintsFrom%3CC%3E-for-U">UintsFrom&#60;C&#62;</a></li><li><a href="#impl-UintsInto%3CC%3E-for-U">UintsInto&#60;C&#62;</a></li><li><a href="#impl-Upcast%3CT%3E-for-T">Upcast&#60;T&#62;</a></li><li><a href="#impl-WasmNotSend-for-T">WasmNotSend</a></li><li><a href="#impl-WasmNotSendSync-for-T">WasmNotSendSync</a></li><li><a href="#impl-WasmNotSync-for-T">WasmNotSync</a></li><li><a href="#impl-WithSubscriber-for-T">WithSubscriber</a></li></ul></section><h2><a href="index.html">In crate funnybones</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="index.html">funnybones</a>::<wbr><a class="struct" href="#">JointId</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/funnybones/lib.rs.html#914">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct JointId(<span class="comment">/* private fields */</span>);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The unique ID of a <a href="struct.Joint.html" title="struct funnybones::Joint"><code>Joint</code></a> in a <a href="struct.Skeleton.html" title="struct funnybones::Skeleton"><code>Skeleton</code></a>.</p>
-</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-JointId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#916-922">source</a><a href="#impl-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.index" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#919-921">source</a><h4 class="code-header">pub fn <a href="#method.index" class="fn">index</a>(self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the index of this joint within the skeleton.</p>
-</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-JointId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#912">source</a><a href="#impl-Clone-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#912">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#174">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: &amp;Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-JointId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#912">source</a><a href="#impl-Debug-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#912">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-JointId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#913">source</a><a href="#impl-Deserialize%3C'de%3E-for-JointId" class="anchor">§</a><h3 class="code-header">impl&lt;'de&gt; <a class="trait" href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a>&lt;'de&gt; for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#913">source</a><a href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a>&lt;__D&gt;(__deserializer: __D) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, __D::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>&gt;<div class="where">where
-    __D: <a class="trait" href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Hash-for-JointId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#912">source</a><a href="#impl-Hash-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.hash" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#912">source</a><a href="#method.hash" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fn">hash</a>&lt;__H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>&gt;(&amp;self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut __H</a>)</h4></section></summary><div class='docblock'>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.hash_slice" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#235-237">source</a></span><a href="#method.hash_slice" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fn">hash_slice</a>&lt;H&gt;(data: &amp;[Self], state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut H</a>)<div class="where">where
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="The unique ID of a `Joint` in a `Skeleton`."><title>JointId in funnybones - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-492a78a4a87dcc01.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="funnybones" data-themes="" data-resource-suffix="" data-rustdoc-version="1.82.0-nightly (0d634185d 2024-08-29)" data-channel="nightly" data-search-js="search-acd2e111c9cb27e3.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-cb0df477c2d67d00.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-3b12f09e550e0385.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../funnybones/index.html">funnybones</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">JointId</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.index">index</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Clone-for-JointId">Clone</a></li><li><a href="#impl-Copy-for-JointId">Copy</a></li><li><a href="#impl-Debug-for-JointId">Debug</a></li><li><a href="#impl-Deserialize%3C'de%3E-for-JointId">Deserialize&#60;&#39;de&#62;</a></li><li><a href="#impl-Eq-for-JointId">Eq</a></li><li><a href="#impl-Hash-for-JointId">Hash</a></li><li><a href="#impl-Index%3CJointId%3E-for-Skeleton">Index&#60;JointId&#62;</a></li><li><a href="#impl-IndexMut%3CJointId%3E-for-Skeleton">IndexMut&#60;JointId&#62;</a></li><li><a href="#impl-Ord-for-JointId">Ord</a></li><li><a href="#impl-PartialEq-for-JointId">PartialEq</a></li><li><a href="#impl-PartialOrd-for-JointId">PartialOrd</a></li><li><a href="#impl-Serialize-for-JointId">Serialize</a></li><li><a href="#impl-StructuralPartialEq-for-JointId">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-JointId">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-JointId">RefUnwindSafe</a></li><li><a href="#impl-Send-for-JointId">Send</a></li><li><a href="#impl-Sync-for-JointId">Sync</a></li><li><a href="#impl-Unpin-for-JointId">Unpin</a></li><li><a href="#impl-UnwindSafe-for-JointId">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S">AdaptInto&#60;D, Swp, Dwp, T&#62;</a></li><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-ArraysFrom%3CC%3E-for-T">ArraysFrom&#60;C&#62;</a></li><li><a href="#impl-ArraysInto%3CC%3E-for-T">ArraysInto&#60;C&#62;</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-Cam16IntoUnclamped%3CWpParam,+T%3E-for-U">Cam16IntoUnclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-Cast-for-A">Cast</a></li><li><a href="#impl-CastFrom%3CA%3E-for-A">CastFrom&#60;A&#62;</a></li><li><a href="#impl-CastInto%3CA%3E-for-B">CastInto&#60;A&#62;</a></li><li><a href="#impl-CloneToUninit-for-T">CloneToUninit</a></li><li><a href="#impl-Comparable%3CK%3E-for-Q">Comparable&#60;K&#62;</a></li><li><a href="#impl-ComponentsFrom%3CC%3E-for-T">ComponentsFrom&#60;C&#62;</a></li><li><a href="#impl-DeserializeOwned-for-T">DeserializeOwned</a></li><li><a href="#impl-Downcast-for-T">Downcast</a></li><li><a href="#impl-Downcast%3CT%3E-for-T">Downcast&#60;T&#62;</a></li><li><a href="#impl-DowncastSync-for-T">DowncastSync</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Q">Equivalent&#60;K&#62;</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Q-1">Equivalent&#60;K&#62;</a></li><li><a href="#impl-From%3CT%3E-for-T">From&#60;T&#62;</a></li><li><a href="#impl-FromAngle%3CT%3E-for-T">FromAngle&#60;T&#62;</a></li><li><a href="#impl-FromStimulus%3CU%3E-for-T">FromStimulus&#60;U&#62;</a></li><li><a href="#impl-Instrument-for-T">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&#60;U&#62;</a></li><li><a href="#impl-IntoAngle%3CU%3E-for-T">IntoAngle&#60;U&#62;</a></li><li><a href="#impl-IntoCam16Unclamped%3CWpParam,+T%3E-for-U">IntoCam16Unclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-IntoColor%3CU%3E-for-T">IntoColor&#60;U&#62;</a></li><li><a href="#impl-IntoColorUnclamped%3CU%3E-for-T">IntoColorUnclamped&#60;U&#62;</a></li><li><a href="#impl-IntoComponents%3CUnit%3E-for-Unit">IntoComponents&#60;Unit&#62;</a></li><li><a href="#impl-IntoEither-for-T">IntoEither</a></li><li><a href="#impl-IntoReadOnly%3CT%3E-for-T">IntoReadOnly&#60;T&#62;</a></li><li><a href="#impl-IntoStimulus%3CT%3E-for-T">IntoStimulus&#60;T&#62;</a></li><li><a href="#impl-IntoValue%3COption%3CT%3E%3E-for-T">IntoValue&#60;Option&#60;T&#62;&#62;</a></li><li><a href="#impl-IntoValue%3CT%3E-for-T">IntoValue&#60;T&#62;</a></li><li><a href="#impl-Pointable-for-T">Pointable</a></li><li><a href="#impl-Sort%3CSearchFor%3E-for-Key">Sort&#60;SearchFor&#62;</a></li><li><a href="#impl-ToOwned-for-T">ToOwned</a></li><li><a href="#impl-TryComponentsInto%3CC%3E-for-T">TryComponentsInto&#60;C&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&#60;U&#62;</a></li><li><a href="#impl-TryIntoColor%3CU%3E-for-T">TryIntoColor&#60;U&#62;</a></li><li><a href="#impl-UintsFrom%3CC%3E-for-U">UintsFrom&#60;C&#62;</a></li><li><a href="#impl-UintsInto%3CC%3E-for-U">UintsInto&#60;C&#62;</a></li><li><a href="#impl-Upcast%3CT%3E-for-T">Upcast&#60;T&#62;</a></li><li><a href="#impl-WasmNotSend-for-T">WasmNotSend</a></li><li><a href="#impl-WasmNotSendSync-for-T">WasmNotSendSync</a></li><li><a href="#impl-WasmNotSync-for-T">WasmNotSync</a></li><li><a href="#impl-WithSubscriber-for-T">WithSubscriber</a></li></ul></section><h2><a href="index.html">In crate funnybones</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="index.html">funnybones</a>::<wbr><a class="struct" href="#">JointId</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/funnybones/lib.rs.html#902">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct JointId(<span class="comment">/* private fields */</span>);</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The unique ID of a <a href="struct.Joint.html" title="struct funnybones::Joint"><code>Joint</code></a> in a <a href="struct.Skeleton.html" title="struct funnybones::Skeleton"><code>Skeleton</code></a>.</p>
+</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-JointId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#904-910">source</a><a href="#impl-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.index" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#907-909">source</a><h4 class="code-header">pub fn <a href="#method.index" class="fn">index</a>(self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.usize.html">usize</a></h4></section></summary><div class="docblock"><p>Returns the index of this joint within the skeleton.</p>
+</div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-JointId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#900">source</a><a href="#impl-Clone-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#900">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/clone.rs.html#174">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: &amp;Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-JointId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#900">source</a><a href="#impl-Debug-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#900">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-JointId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#901">source</a><a href="#impl-Deserialize%3C'de%3E-for-JointId" class="anchor">§</a><h3 class="code-header">impl&lt;'de&gt; <a class="trait" href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a>&lt;'de&gt; for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#901">source</a><a href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a>&lt;__D&gt;(__deserializer: __D) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, __D::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>&gt;<div class="where">where
+    __D: <a class="trait" href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Hash-for-JointId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#900">source</a><a href="#impl-Hash-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html" title="trait core::hash::Hash">Hash</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.hash" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#900">source</a><a href="#method.hash" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash" class="fn">hash</a>&lt;__H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>&gt;(&amp;self, state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut __H</a>)</h4></section></summary><div class='docblock'>Feeds this value into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#tymethod.hash">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.hash_slice" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.3.0">1.3.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/hash/mod.rs.html#235-237">source</a></span><a href="#method.hash_slice" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice" class="fn">hash_slice</a>&lt;H&gt;(data: &amp;[Self], state: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut H</a>)<div class="where">where
     H: <a class="trait" href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher">Hasher</a>,
-    Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Index%3CJointId%3E-for-Skeleton" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#678-684">source</a><a href="#impl-Index%3CJointId%3E-for-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html" title="trait core::ops::index::Index">Index</a>&lt;<a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a>&gt; for <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#679">source</a><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="struct.Joint.html" title="struct funnybones::Joint">Joint</a></h4></section></summary><div class='docblock'>The returned type after indexing.</div></details><details class="toggle method-toggle" open><summary><section id="method.index-1" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#681-683">source</a><a href="#method.index-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#tymethod.index" class="fn">index</a>(&amp;self, index: <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a>) -&gt; &amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output" title="type core::ops::index::Index::Output">Output</a></h4></section></summary><div class='docblock'>Performs the indexing (<code>container[index]</code>) operation. <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#tymethod.index">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-IndexMut%3CJointId%3E-for-Skeleton" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#686-690">source</a><a href="#impl-IndexMut%3CJointId%3E-for-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.IndexMut.html" title="trait core::ops::index::IndexMut">IndexMut</a>&lt;<a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a>&gt; for <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.index_mut" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#687-689">source</a><a href="#method.index_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.IndexMut.html#tymethod.index_mut" class="fn">index_mut</a>(&amp;mut self, index: <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a>) -&gt; &amp;mut Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output" title="type core::ops::index::Index::Output">Output</a></h4></section></summary><div class='docblock'>Performs the mutable indexing (<code>container[index]</code>) operation. <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.IndexMut.html#tymethod.index_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Ord-for-JointId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#912">source</a><a href="#impl-Ord-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmp" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#912">source</a><a href="#method.cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fn">cmp</a>(&amp;self, other: &amp;<a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></h4></section></summary><div class='docblock'>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.max" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#854-856">source</a></span><a href="#method.max" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fn">max</a>(self, other: Self) -&gt; Self<div class="where">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hasher.html" title="trait core::hash::Hasher"><code>Hasher</code></a>. <a href="https://doc.rust-lang.org/nightly/core/hash/trait.Hash.html#method.hash_slice">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Index%3CJointId%3E-for-Skeleton" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#666-672">source</a><a href="#impl-Index%3CJointId%3E-for-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html" title="trait core::ops::index::Index">Index</a>&lt;<a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a>&gt; for <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#667">source</a><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="struct.Joint.html" title="struct funnybones::Joint">Joint</a></h4></section></summary><div class='docblock'>The returned type after indexing.</div></details><details class="toggle method-toggle" open><summary><section id="method.index-1" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#669-671">source</a><a href="#method.index-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#tymethod.index" class="fn">index</a>(&amp;self, index: <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a>) -&gt; &amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output" title="type core::ops::index::Index::Output">Output</a></h4></section></summary><div class='docblock'>Performs the indexing (<code>container[index]</code>) operation. <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#tymethod.index">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-IndexMut%3CJointId%3E-for-Skeleton" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#674-678">source</a><a href="#impl-IndexMut%3CJointId%3E-for-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.IndexMut.html" title="trait core::ops::index::IndexMut">IndexMut</a>&lt;<a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a>&gt; for <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.index_mut" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#675-677">source</a><a href="#method.index_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.IndexMut.html#tymethod.index_mut" class="fn">index_mut</a>(&amp;mut self, index: <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a>) -&gt; &amp;mut Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output" title="type core::ops::index::Index::Output">Output</a></h4></section></summary><div class='docblock'>Performs the mutable indexing (<code>container[index]</code>) operation. <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.IndexMut.html#tymethod.index_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Ord-for-JointId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#900">source</a><a href="#impl-Ord-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmp" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#900">source</a><a href="#method.cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp" class="fn">cmp</a>(&amp;self, other: &amp;<a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></h4></section></summary><div class='docblock'>This method returns an <a href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.max" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#854-856">source</a></span><a href="#method.max" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max" class="fn">max</a>(self, other: Self) -&gt; Self<div class="where">where
     Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.max">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.min" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#875-877">source</a></span><a href="#method.min" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min" class="fn">min</a>(self, other: Self) -&gt; Self<div class="where">where
     Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</div></h4></section></summary><div class='docblock'>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.min">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clamp" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#901-904">source</a></span><a href="#method.clamp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp" class="fn">clamp</a>(self, min: Self, max: Self) -&gt; Self<div class="where">where
-    Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>,</div></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-JointId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#912">source</a><a href="#impl-PartialEq-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#912">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#261">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>!=</code>. The default implementation is almost always sufficient,
-and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialOrd-for-JointId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#912">source</a><a href="#impl-PartialOrd-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.partial_cmp" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#912">source</a><a href="#method.partial_cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fn">partial_cmp</a>(&amp;self, other: &amp;<a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>&gt;</h4></section></summary><div class='docblock'>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.lt" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1178">source</a></span><a href="#method.lt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fn">lt</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests less than (for <code>self</code> and <code>other</code>) and is used by the <code>&lt;</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.le" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1196">source</a></span><a href="#method.le" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fn">le</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the
+    Self: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>,</div></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.Ord.html#method.clamp">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-JointId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#900">source</a><a href="#impl-PartialEq-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#900">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#261">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>!=</code>. The default implementation is almost always sufficient,
+and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialOrd-for-JointId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#900">source</a><a href="#impl-PartialOrd-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.partial_cmp" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#900">source</a><a href="#method.partial_cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fn">partial_cmp</a>(&amp;self, other: &amp;<a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>&gt;</h4></section></summary><div class='docblock'>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.lt" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1178">source</a></span><a href="#method.lt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt" class="fn">lt</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests less than (for <code>self</code> and <code>other</code>) and is used by the <code>&lt;</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.le" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1196">source</a></span><a href="#method.le" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le" class="fn">le</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the
 <code>&lt;=</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.le">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.gt" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1214">source</a></span><a href="#method.gt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt" class="fn">gt</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>&gt;</code>
 operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.ge" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#1232">source</a></span><a href="#method.ge" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge" class="fn">ge</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by
-the <code>&gt;=</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-JointId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#913">source</a><a href="#impl-Serialize-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.serialize" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#913">source</a><a href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize" class="fn">serialize</a>&lt;__S&gt;(&amp;self, __serializer: __S) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;__S::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>&gt;<div class="where">where
-    __S: <a class="trait" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details><section id="impl-Copy-for-JointId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#912">source</a><a href="#impl-Copy-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section><section id="impl-Eq-for-JointId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#912">source</a><a href="#impl-Eq-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section><section id="impl-StructuralPartialEq-for-JointId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#912">source</a><a href="#impl-StructuralPartialEq-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-JointId" class="impl"><a href="#impl-Freeze-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section><section id="impl-RefUnwindSafe-for-JointId" class="impl"><a href="#impl-RefUnwindSafe-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section><section id="impl-Send-for-JointId" class="impl"><a href="#impl-Send-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section><section id="impl-Sync-for-JointId" class="impl"><a href="#impl-Sync-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section><section id="impl-Unpin-for-JointId" class="impl"><a href="#impl-Unpin-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section><section id="impl-UnwindSafe-for-JointId" class="impl"><a href="#impl-UnwindSafe-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/chromatic_adaptation.rs.html#205-210">source</a><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="anchor">§</a><h3 class="code-header">impl&lt;S, D, Swp, Dwp, T&gt; <a class="trait" href="https://docs.rs/palette/0.7.6/palette/chromatic_adaptation/trait.AdaptInto.html" title="trait palette::chromatic_adaptation::AdaptInto">AdaptInto</a>&lt;D, Swp, Dwp, T&gt; for S<div class="where">where
+the <code>&gt;=</code> operator. <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-JointId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#901">source</a><a href="#impl-Serialize-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.serialize" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#901">source</a><a href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize" class="fn">serialize</a>&lt;__S&gt;(&amp;self, __serializer: __S) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;__S::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>&gt;<div class="where">where
+    __S: <a class="trait" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details><section id="impl-Copy-for-JointId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#900">source</a><a href="#impl-Copy-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section><section id="impl-Eq-for-JointId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#900">source</a><a href="#impl-Eq-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section><section id="impl-StructuralPartialEq-for-JointId" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#900">source</a><a href="#impl-StructuralPartialEq-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-JointId" class="impl"><a href="#impl-Freeze-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section><section id="impl-RefUnwindSafe-for-JointId" class="impl"><a href="#impl-RefUnwindSafe-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section><section id="impl-Send-for-JointId" class="impl"><a href="#impl-Send-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section><section id="impl-Sync-for-JointId" class="impl"><a href="#impl-Sync-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section><section id="impl-Unpin-for-JointId" class="impl"><a href="#impl-Unpin-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section><section id="impl-UnwindSafe-for-JointId" class="impl"><a href="#impl-UnwindSafe-for-JointId" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/chromatic_adaptation.rs.html#205-210">source</a><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="anchor">§</a><h3 class="code-header">impl&lt;S, D, Swp, Dwp, T&gt; <a class="trait" href="https://docs.rs/palette/0.7.6/palette/chromatic_adaptation/trait.AdaptInto.html" title="trait palette::chromatic_adaptation::AdaptInto">AdaptInto</a>&lt;D, Swp, Dwp, T&gt; for S<div class="where">where
     T: <a class="trait" href="https://docs.rs/palette/0.7.6/palette/num/trait.Real.html" title="trait palette::num::Real">Real</a> + <a class="trait" href="https://docs.rs/palette/0.7.6/palette/num/trait.Zero.html" title="trait palette::num::Zero">Zero</a> + <a class="trait" href="https://docs.rs/palette/0.7.6/palette/num/trait.Arithmetics.html" title="trait palette::num::Arithmetics">Arithmetics</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,
     Swp: <a class="trait" href="https://docs.rs/palette/0.7.6/palette/white_point/trait.WhitePoint.html" title="trait palette::white_point::WhitePoint">WhitePoint</a>&lt;T&gt;,
     Dwp: <a class="trait" href="https://docs.rs/palette/0.7.6/palette/white_point/trait.WhitePoint.html" title="trait palette::white_point::WhitePoint">WhitePoint</a>&lt;T&gt;,
diff --git a/main/funnybones/struct.Skeleton.html b/main/funnybones/struct.Skeleton.html
index 66b9e75..83df2a3 100644
--- a/main/funnybones/struct.Skeleton.html
+++ b/main/funnybones/struct.Skeleton.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A collection of `Bone`s. connected by `Joint`s."><title>Skeleton in funnybones - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-492a78a4a87dcc01.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="funnybones" data-themes="" data-resource-suffix="" data-rustdoc-version="1.82.0-nightly (0d634185d 2024-08-29)" data-channel="nightly" data-search-js="search-acd2e111c9cb27e3.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-cb0df477c2d67d00.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-3b12f09e550e0385.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button></nav><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../funnybones/index.html">funnybones</a><span class="version">0.1.0</span></h2></div><h2 class="location"><a href="#">Skeleton</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block method"><li><a href="#method.bones">bones</a></li><li><a href="#method.connections_to">connections_to</a></li><li><a href="#method.find_bone_by_label">find_bone_by_label</a></li><li><a href="#method.find_joint_by_label">find_joint_by_label</a></li><li><a href="#method.joints">joints</a></li><li><a href="#method.push_bone">push_bone</a></li><li><a href="#method.push_joint">push_joint</a></li><li><a href="#method.rotation">rotation</a></li><li><a href="#method.set_rotation">set_rotation</a></li><li><a href="#method.set_translation">set_translation</a></li><li><a href="#method.solve">solve</a></li><li><a href="#method.translation">translation</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block trait-implementation"><li><a href="#impl-Debug-for-Skeleton">Debug</a></li><li><a href="#impl-Default-for-Skeleton">Default</a></li><li><a href="#impl-Deserialize%3C'de%3E-for-Skeleton">Deserialize&#60;&#39;de&#62;</a></li><li><a href="#impl-Index%3CBoneId%3E-for-Skeleton">Index&#60;BoneId&#62;</a></li><li><a href="#impl-Index%3CJointId%3E-for-Skeleton">Index&#60;JointId&#62;</a></li><li><a href="#impl-IndexMut%3CBoneId%3E-for-Skeleton">IndexMut&#60;BoneId&#62;</a></li><li><a href="#impl-IndexMut%3CJointId%3E-for-Skeleton">IndexMut&#60;JointId&#62;</a></li><li><a href="#impl-PartialEq-for-Skeleton">PartialEq</a></li><li><a href="#impl-Serialize-for-Skeleton">Serialize</a></li><li><a href="#impl-StructuralPartialEq-for-Skeleton">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block synthetic-implementation"><li><a href="#impl-Freeze-for-Skeleton">Freeze</a></li><li><a href="#impl-RefUnwindSafe-for-Skeleton">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Skeleton">Send</a></li><li><a href="#impl-Sync-for-Skeleton">Sync</a></li><li><a href="#impl-Unpin-for-Skeleton">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Skeleton">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block blanket-implementation"><li><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S">AdaptInto&#60;D, Swp, Dwp, T&#62;</a></li><li><a href="#impl-Any-for-T">Any</a></li><li><a href="#impl-ArraysFrom%3CC%3E-for-T">ArraysFrom&#60;C&#62;</a></li><li><a href="#impl-ArraysInto%3CC%3E-for-T">ArraysInto&#60;C&#62;</a></li><li><a href="#impl-Borrow%3CT%3E-for-T">Borrow&#60;T&#62;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-T">BorrowMut&#60;T&#62;</a></li><li><a href="#impl-Cam16IntoUnclamped%3CWpParam,+T%3E-for-U">Cam16IntoUnclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-Cast-for-A">Cast</a></li><li><a href="#impl-CastFrom%3CA%3E-for-A">CastFrom&#60;A&#62;</a></li><li><a href="#impl-CastInto%3CA%3E-for-B">CastInto&#60;A&#62;</a></li><li><a href="#impl-ComponentsFrom%3CC%3E-for-T">ComponentsFrom&#60;C&#62;</a></li><li><a href="#impl-DeserializeOwned-for-T">DeserializeOwned</a></li><li><a href="#impl-Downcast-for-T">Downcast</a></li><li><a href="#impl-Downcast%3CT%3E-for-T">Downcast&#60;T&#62;</a></li><li><a href="#impl-DowncastSync-for-T">DowncastSync</a></li><li><a href="#impl-From%3CT%3E-for-T">From&#60;T&#62;</a></li><li><a href="#impl-FromAngle%3CT%3E-for-T">FromAngle&#60;T&#62;</a></li><li><a href="#impl-FromStimulus%3CU%3E-for-T">FromStimulus&#60;U&#62;</a></li><li><a href="#impl-Instrument-for-T">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-T">Into&#60;U&#62;</a></li><li><a href="#impl-IntoAngle%3CU%3E-for-T">IntoAngle&#60;U&#62;</a></li><li><a href="#impl-IntoCam16Unclamped%3CWpParam,+T%3E-for-U">IntoCam16Unclamped&#60;WpParam, T&#62;</a></li><li><a href="#impl-IntoColor%3CU%3E-for-T">IntoColor&#60;U&#62;</a></li><li><a href="#impl-IntoColorUnclamped%3CU%3E-for-T">IntoColorUnclamped&#60;U&#62;</a></li><li><a href="#impl-IntoEither-for-T">IntoEither</a></li><li><a href="#impl-IntoReadOnly%3CT%3E-for-T">IntoReadOnly&#60;T&#62;</a></li><li><a href="#impl-IntoStimulus%3CT%3E-for-T">IntoStimulus&#60;T&#62;</a></li><li><a href="#impl-IntoValue%3COption%3CT%3E%3E-for-T">IntoValue&#60;Option&#60;T&#62;&#62;</a></li><li><a href="#impl-IntoValue%3CT%3E-for-T">IntoValue&#60;T&#62;</a></li><li><a href="#impl-Pointable-for-T">Pointable</a></li><li><a href="#impl-ReadPrimitive%3CR%3E-for-P">ReadPrimitive&#60;R&#62;</a></li><li><a href="#impl-TryComponentsInto%3CC%3E-for-T">TryComponentsInto&#60;C&#62;</a></li><li><a href="#impl-TryFrom%3CU%3E-for-T">TryFrom&#60;U&#62;</a></li><li><a href="#impl-TryInto%3CU%3E-for-T">TryInto&#60;U&#62;</a></li><li><a href="#impl-TryIntoColor%3CU%3E-for-T">TryIntoColor&#60;U&#62;</a></li><li><a href="#impl-UintsFrom%3CC%3E-for-U">UintsFrom&#60;C&#62;</a></li><li><a href="#impl-UintsInto%3CC%3E-for-U">UintsInto&#60;C&#62;</a></li><li><a href="#impl-Upcast%3CT%3E-for-T">Upcast&#60;T&#62;</a></li><li><a href="#impl-WasmNotSend-for-T">WasmNotSend</a></li><li><a href="#impl-WasmNotSendSync-for-T">WasmNotSendSync</a></li><li><a href="#impl-WasmNotSync-for-T">WasmNotSync</a></li><li><a href="#impl-WithSubscriber-for-T">WithSubscriber</a></li></ul></section><h2><a href="index.html">In crate funnybones</a></h2></div></nav><div class="sidebar-resizer"></div><main><div class="width-limiter"><rustdoc-search></rustdoc-search><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="index.html">funnybones</a>::<wbr><a class="struct" href="#">Skeleton</a><button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><span class="out-of-band"><a class="src" href="../src/funnybones/lib.rs.html#391-399">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Skeleton { <span class="comment">/* private fields */</span> }</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A collection of <a href="struct.Bone.html" title="struct funnybones::Bone"><code>Bone</code></a>s. connected by <a href="struct.Joint.html" title="struct funnybones::Joint"><code>Joint</code></a>s.</p>
-</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Skeleton" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#401-590">source</a><a href="#impl-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.push_bone" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#408-431">source</a><h4 class="code-header">pub fn <a href="#method.push_bone" class="fn">push_bone</a>(&amp;mut self, bone: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="struct.LabeledBoneKind.html" title="struct funnybones::LabeledBoneKind">LabeledBoneKind</a>&gt;) -&gt; <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h4></section></summary><div class="docblock"><p>Creates a new <a href="struct.Bone.html" title="struct funnybones::Bone"><code>Bone</code></a> into the skeleton. Returns the unique id of the
+</div></details><h2 id="implementations" class="section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Skeleton" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#401-578">source</a><a href="#impl-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.push_bone" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#408-431">source</a><h4 class="code-header">pub fn <a href="#method.push_bone" class="fn">push_bone</a>(&amp;mut self, bone: impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="struct.LabeledBoneKind.html" title="struct funnybones::LabeledBoneKind">LabeledBoneKind</a>&gt;) -&gt; <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a></h4></section></summary><div class="docblock"><p>Creates a new <a href="struct.Bone.html" title="struct funnybones::Bone"><code>Bone</code></a> into the skeleton. Returns the unique id of the
 created bone.</p>
 <p>The first bone pushed is considered the root of the skeleton. All other
 bones must be connected to the root directly or indirectly through
@@ -18,7 +18,7 @@
 </div></details><details class="toggle method-toggle" open><summary><section id="method.solve" class="method"><a class="src rightside" href="../src/funnybones/lib.rs.html#506-511">source</a><h4 class="code-header">pub fn <a href="#method.solve" class="fn">solve</a>(&amp;mut self)</h4></section></summary><div class="docblock"><p>Updates the solved positions of all bones in this skeleton that are
 connected either directly or indirectly to the root bone via <a href="struct.Joint.html" title="struct funnybones::Joint"><code>Joint</code></a>s.</p>
 </div></details></div></details></div><h2 id="trait-implementations" class="section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-Skeleton" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#390">source</a><a href="#impl-Debug-for-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#390">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Default-for-Skeleton" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#390">source</a><a href="#impl-Default-for-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#390">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -&gt; <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-Skeleton" class="impl"><a class="src rightside" href="../src/funnybones/serde.rs.html#23-34">source</a><a href="#impl-Deserialize%3C'de%3E-for-Skeleton" class="anchor">§</a><h3 class="code-header">impl&lt;'de&gt; <a class="trait" href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a>&lt;'de&gt; for <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method trait-impl"><a class="src rightside" href="../src/funnybones/serde.rs.html#24-33">source</a><a href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a>&lt;D&gt;(deserializer: D) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, D::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>&gt;<div class="where">where
-    D: <a class="trait" href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Index%3CBoneId%3E-for-Skeleton" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#664-670">source</a><a href="#impl-Index%3CBoneId%3E-for-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html" title="trait core::ops::index::Index">Index</a>&lt;<a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a>&gt; for <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#665">source</a><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="struct.Bone.html" title="struct funnybones::Bone">Bone</a></h4></section></summary><div class='docblock'>The returned type after indexing.</div></details><details class="toggle method-toggle" open><summary><section id="method.index" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#667-669">source</a><a href="#method.index" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#tymethod.index" class="fn">index</a>(&amp;self, index: <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a>) -&gt; &amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output" title="type core::ops::index::Index::Output">Output</a></h4></section></summary><div class='docblock'>Performs the indexing (<code>container[index]</code>) operation. <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#tymethod.index">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Index%3CJointId%3E-for-Skeleton" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#678-684">source</a><a href="#impl-Index%3CJointId%3E-for-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html" title="trait core::ops::index::Index">Index</a>&lt;<a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a>&gt; for <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output-1" class="associatedtype trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#679">source</a><a href="#associatedtype.Output-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="struct.Joint.html" title="struct funnybones::Joint">Joint</a></h4></section></summary><div class='docblock'>The returned type after indexing.</div></details><details class="toggle method-toggle" open><summary><section id="method.index-1" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#681-683">source</a><a href="#method.index-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#tymethod.index" class="fn">index</a>(&amp;self, index: <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a>) -&gt; &amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output" title="type core::ops::index::Index::Output">Output</a></h4></section></summary><div class='docblock'>Performs the indexing (<code>container[index]</code>) operation. <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#tymethod.index">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-IndexMut%3CBoneId%3E-for-Skeleton" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#672-676">source</a><a href="#impl-IndexMut%3CBoneId%3E-for-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.IndexMut.html" title="trait core::ops::index::IndexMut">IndexMut</a>&lt;<a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a>&gt; for <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.index_mut" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#673-675">source</a><a href="#method.index_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.IndexMut.html#tymethod.index_mut" class="fn">index_mut</a>(&amp;mut self, index: <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a>) -&gt; &amp;mut Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output" title="type core::ops::index::Index::Output">Output</a></h4></section></summary><div class='docblock'>Performs the mutable indexing (<code>container[index]</code>) operation. <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.IndexMut.html#tymethod.index_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-IndexMut%3CJointId%3E-for-Skeleton" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#686-690">source</a><a href="#impl-IndexMut%3CJointId%3E-for-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.IndexMut.html" title="trait core::ops::index::IndexMut">IndexMut</a>&lt;<a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a>&gt; for <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.index_mut-1" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#687-689">source</a><a href="#method.index_mut-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.IndexMut.html#tymethod.index_mut" class="fn">index_mut</a>(&amp;mut self, index: <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a>) -&gt; &amp;mut Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output" title="type core::ops::index::Index::Output">Output</a></h4></section></summary><div class='docblock'>Performs the mutable indexing (<code>container[index]</code>) operation. <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.IndexMut.html#tymethod.index_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-Skeleton" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#390">source</a><a href="#impl-PartialEq-for-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#390">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#261">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>!=</code>. The default implementation is almost always sufficient,
+    D: <a class="trait" href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</div></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.209/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Index%3CBoneId%3E-for-Skeleton" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#652-658">source</a><a href="#impl-Index%3CBoneId%3E-for-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html" title="trait core::ops::index::Index">Index</a>&lt;<a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a>&gt; for <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#653">source</a><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="struct.Bone.html" title="struct funnybones::Bone">Bone</a></h4></section></summary><div class='docblock'>The returned type after indexing.</div></details><details class="toggle method-toggle" open><summary><section id="method.index" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#655-657">source</a><a href="#method.index" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#tymethod.index" class="fn">index</a>(&amp;self, index: <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a>) -&gt; &amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output" title="type core::ops::index::Index::Output">Output</a></h4></section></summary><div class='docblock'>Performs the indexing (<code>container[index]</code>) operation. <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#tymethod.index">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Index%3CJointId%3E-for-Skeleton" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#666-672">source</a><a href="#impl-Index%3CJointId%3E-for-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html" title="trait core::ops::index::Index">Index</a>&lt;<a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a>&gt; for <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output-1" class="associatedtype trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#667">source</a><a href="#associatedtype.Output-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output" class="associatedtype">Output</a> = <a class="struct" href="struct.Joint.html" title="struct funnybones::Joint">Joint</a></h4></section></summary><div class='docblock'>The returned type after indexing.</div></details><details class="toggle method-toggle" open><summary><section id="method.index-1" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#669-671">source</a><a href="#method.index-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#tymethod.index" class="fn">index</a>(&amp;self, index: <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a>) -&gt; &amp;Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output" title="type core::ops::index::Index::Output">Output</a></h4></section></summary><div class='docblock'>Performs the indexing (<code>container[index]</code>) operation. <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#tymethod.index">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-IndexMut%3CBoneId%3E-for-Skeleton" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#660-664">source</a><a href="#impl-IndexMut%3CBoneId%3E-for-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.IndexMut.html" title="trait core::ops::index::IndexMut">IndexMut</a>&lt;<a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a>&gt; for <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.index_mut" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#661-663">source</a><a href="#method.index_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.IndexMut.html#tymethod.index_mut" class="fn">index_mut</a>(&amp;mut self, index: <a class="struct" href="struct.BoneId.html" title="struct funnybones::BoneId">BoneId</a>) -&gt; &amp;mut Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output" title="type core::ops::index::Index::Output">Output</a></h4></section></summary><div class='docblock'>Performs the mutable indexing (<code>container[index]</code>) operation. <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.IndexMut.html#tymethod.index_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-IndexMut%3CJointId%3E-for-Skeleton" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#674-678">source</a><a href="#impl-IndexMut%3CJointId%3E-for-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.IndexMut.html" title="trait core::ops::index::IndexMut">IndexMut</a>&lt;<a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a>&gt; for <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.index_mut-1" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#675-677">source</a><a href="#method.index_mut-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.IndexMut.html#tymethod.index_mut" class="fn">index_mut</a>(&amp;mut self, index: <a class="struct" href="struct.JointId.html" title="struct funnybones::JointId">JointId</a>) -&gt; &amp;mut Self::<a class="associatedtype" href="https://doc.rust-lang.org/nightly/core/ops/index/trait.Index.html#associatedtype.Output" title="type core::ops::index::Index::Output">Output</a></h4></section></summary><div class='docblock'>Performs the mutable indexing (<code>container[index]</code>) operation. <a href="https://doc.rust-lang.org/nightly/core/ops/index/trait.IndexMut.html#tymethod.index_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq-for-Skeleton" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#390">source</a><a href="#impl-PartialEq-for-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a> for <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#390">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>self</code> and <code>other</code> values to be equal, and is used by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/nightly/src/core/cmp.rs.html#261">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Tests for <code>!=</code>. The default implementation is almost always sufficient,
 and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-Skeleton" class="impl"><a class="src rightside" href="../src/funnybones/serde.rs.html#11-21">source</a><a href="#impl-Serialize-for-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.serialize" class="method trait-impl"><a class="src rightside" href="../src/funnybones/serde.rs.html#12-20">source</a><a href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize" class="fn">serialize</a>&lt;S&gt;(&amp;self, serializer: S) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;S::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, S::<a class="associatedtype" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>&gt;<div class="where">where
     S: <a class="trait" href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,</div></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.209/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details><section id="impl-StructuralPartialEq-for-Skeleton" class="impl"><a class="src rightside" href="../src/funnybones/lib.rs.html#390">source</a><a href="#impl-StructuralPartialEq-for-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section></div><h2 id="synthetic-implementations" class="section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-Freeze-for-Skeleton" class="impl"><a href="#impl-Freeze-for-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html" title="trait core::marker::Freeze">Freeze</a> for <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section><section id="impl-RefUnwindSafe-for-Skeleton" class="impl"><a href="#impl-RefUnwindSafe-for-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section><section id="impl-Send-for-Skeleton" class="impl"><a href="#impl-Send-for-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section><section id="impl-Sync-for-Skeleton" class="impl"><a href="#impl-Sync-for-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section><section id="impl-Unpin-for-Skeleton" class="impl"><a href="#impl-Unpin-for-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section><section id="impl-UnwindSafe-for-Skeleton" class="impl"><a href="#impl-UnwindSafe-for-Skeleton" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Skeleton.html" title="struct funnybones::Skeleton">Skeleton</a></h3></section></div><h2 id="blanket-implementations" class="section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="impl"><a class="src rightside" href="https://docs.rs/palette/0.7.6/src/palette/chromatic_adaptation.rs.html#205-210">source</a><a href="#impl-AdaptInto%3CD,+Swp,+Dwp,+T%3E-for-S" class="anchor">§</a><h3 class="code-header">impl&lt;S, D, Swp, Dwp, T&gt; <a class="trait" href="https://docs.rs/palette/0.7.6/palette/chromatic_adaptation/trait.AdaptInto.html" title="trait palette::chromatic_adaptation::AdaptInto">AdaptInto</a>&lt;D, Swp, Dwp, T&gt; for S<div class="where">where
     T: <a class="trait" href="https://docs.rs/palette/0.7.6/palette/num/trait.Real.html" title="trait palette::num::Real">Real</a> + <a class="trait" href="https://docs.rs/palette/0.7.6/palette/num/trait.Zero.html" title="trait palette::num::Zero">Zero</a> + <a class="trait" href="https://docs.rs/palette/0.7.6/palette/num/trait.Arithmetics.html" title="trait palette::num::Arithmetics">Arithmetics</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,
diff --git a/main/src/funnybones/cushy/skeleton_canvas.rs.html b/main/src/funnybones/cushy/skeleton_canvas.rs.html
index 73e0723..e08a322 100644
--- a/main/src/funnybones/cushy/skeleton_canvas.rs.html
+++ b/main/src/funnybones/cushy/skeleton_canvas.rs.html
@@ -350,6 +350,19 @@
 <a href="#350" id="350">350</a>
 <a href="#351" id="351">351</a>
 <a href="#352" id="352">352</a>
+<a href="#353" id="353">353</a>
+<a href="#354" id="354">354</a>
+<a href="#355" id="355">355</a>
+<a href="#356" id="356">356</a>
+<a href="#357" id="357">357</a>
+<a href="#358" id="358">358</a>
+<a href="#359" id="359">359</a>
+<a href="#360" id="360">360</a>
+<a href="#361" id="361">361</a>
+<a href="#362" id="362">362</a>
+<a href="#363" id="363">363</a>
+<a href="#364" id="364">364</a>
+<a href="#365" id="365">365</a>
 </pre></div><pre class="rust"><code><span class="attr">#![allow(missing_docs)]
 </span><span class="kw">use </span>core::f32;
 
@@ -357,8 +370,8 @@
 <span class="kw">use </span>cushy::{
     context::{EventContext, GraphicsContext, LayoutContext},
     figures::{
-        units::{Px, UPx},
-        FloatConversion, IntoComponents, Point, Round, Size,
+        units::{Lp, Px, UPx},
+        FloatConversion, IntoComponents, Point, Round, ScreenScale, Size,
     },
     kludgine::{
         app::winit::{event::MouseButton, window::CursorIcon},
@@ -377,6 +390,7 @@
     skeleton: Dynamic&lt;Skeleton&gt;,
     hovering: <span class="prelude-ty">Option</span>&lt;Target&gt;,
     scale: f32,
+    handle_size: f32,
     maximum_scale: f32,
     offset: Point&lt;Px&gt;,
     drag: <span class="prelude-ty">Option</span>&lt;DragInfo&gt;,
@@ -389,6 +403,7 @@
         <span class="self">Self </span>{
             skeleton,
             hovering: <span class="prelude-val">None</span>,
+            handle_size: <span class="number">0.1</span>,
             scale: f32::MAX,
             maximum_scale: <span class="number">0.</span>,
             offset: Point::default(),
@@ -460,6 +475,9 @@
         <span class="kw">if </span><span class="self">self</span>.scale &gt; <span class="self">self</span>.maximum_scale {
             <span class="self">self</span>.scale = <span class="self">self</span>.maximum_scale;
         }
+        <span class="kw">let </span>handle_size = Lp::mm(<span class="number">2</span>).into_px(context.gfx.scale()).ceil();
+        <span class="self">self</span>.handle_size = handle_size.into_float() / <span class="self">self</span>.scale;
+
         <span class="kw">let </span>root = root_start * <span class="self">self</span>.scale;
 
         <span class="self">self</span>.offset = (middle - root).to_vec::&lt;Point&lt;f32&gt;&gt;().map(Px::from).floor();
@@ -470,7 +488,7 @@
             <span class="kw">let </span>path = <span class="kw">if let </span><span class="prelude-val">Some</span>(joint) = bone.solved_joint() {
                 <span class="kw">let </span>joint = <span class="self">self</span>.vector_position(joint);
                 context.gfx.draw_shape(
-                    Shape::filled_circle(Px::new(<span class="number">4</span>), Color::WHITE, Origin::Center)
+                    Shape::filled_circle(handle_size / <span class="number">2</span>, Color::WHITE, Origin::Center)
                         .translate_by(joint),
                 );
                 PathBuilder::new(<span class="self">self</span>.vector_position(bone.start()))
@@ -483,15 +501,18 @@
                     .build()
             };
             <span class="kw">let </span>(selected, stroke) = <span class="kw">match </span>selected {
-                <span class="prelude-val">Some</span>(Target::DesiredEnd(id)) <span class="kw">if </span>id == bone.id() =&gt; {
-                    (<span class="bool-val">true</span>, StrokeOptions::px_wide(<span class="number">2</span>).colored(Color::RED))
-                }
-                <span class="prelude-val">Some</span>(Target::Joint(joint)) <span class="kw">if </span>skeleton[joint].bone_b == bone.id().axis_a() =&gt; {
-                    (<span class="bool-val">true</span>, StrokeOptions::px_wide(<span class="number">2</span>).colored(Color::RED))
-                }
-                <span class="prelude-val">Some</span>(Target::Joint(joint)) <span class="kw">if </span>skeleton[joint].bone_a.bone == bone.id() =&gt; {
-                    (<span class="bool-val">false</span>, StrokeOptions::px_wide(<span class="number">2</span>).colored(Color::BLUE))
-                }
+                <span class="prelude-val">Some</span>(Target::DesiredEnd(id)) <span class="kw">if </span>id == bone.id() =&gt; (
+                    <span class="bool-val">true</span>,
+                    StrokeOptions::px_wide(handle_size / <span class="number">2</span>).colored(Color::RED),
+                ),
+                <span class="prelude-val">Some</span>(Target::Joint(joint)) <span class="kw">if </span>skeleton[joint].bone_b == bone.id().axis_a() =&gt; (
+                    <span class="bool-val">true</span>,
+                    StrokeOptions::px_wide(handle_size / <span class="number">2</span>).colored(Color::RED),
+                ),
+                <span class="prelude-val">Some</span>(Target::Joint(joint)) <span class="kw">if </span>skeleton[joint].bone_a.bone == bone.id() =&gt; (
+                    <span class="bool-val">false</span>,
+                    StrokeOptions::px_wide(handle_size / <span class="number">2</span>).colored(Color::BLUE),
+                ),
                 <span class="kw">_ </span>=&gt; (<span class="bool-val">false</span>, StrokeOptions::px_wide(<span class="number">1</span>).colored(Color::WHITE)),
             };
             context.gfx.draw_shape(<span class="kw-2">&amp;</span>path.stroke(stroke));
@@ -507,7 +528,7 @@
                 <span class="kw">let </span>end = <span class="self">self</span>.vector_position(end);
 
                 context.gfx.draw_shape(
-                    Shape::filled_circle(Px::new(<span class="number">10</span>), stroke.color, Origin::Center)
+                    Shape::filled_circle(handle_size, stroke.color, Origin::Center)
                         .translate_by(end),
                 );
             }
@@ -525,21 +546,22 @@
     <span class="kw">fn </span>hover(<span class="kw-2">&amp;mut </span><span class="self">self</span>, location: Point&lt;Px&gt;, context: <span class="kw-2">&amp;mut </span>EventContext&lt;<span class="lifetime">'_</span>&gt;) -&gt; <span class="prelude-ty">Option</span>&lt;CursorIcon&gt; {
         <span class="kw">let </span>location = <span class="self">self</span>.position_to_vector(location);
         <span class="kw">let </span>skeleton = <span class="self">self</span>.skeleton.read();
-        <span class="kw">let </span><span class="kw-2">mut </span>closest_match = <span class="number">0.1</span>;
+        <span class="kw">let </span><span class="kw-2">mut </span>closest_match = <span class="self">self</span>.handle_size;
         <span class="kw">let </span>current_hover = <span class="self">self</span>.hovering.take();
         <span class="kw">for </span>bone <span class="kw">in </span>skeleton.bones() {
-            <span class="kw">let </span><span class="kw-2">mut </span>distance = (location - bone.end()).magnitude() / <span class="number">10.</span>;
+            <span class="kw">let </span><span class="kw-2">mut </span>distance = (location - bone.end()).magnitude();
             <span class="kw">if let </span><span class="prelude-val">Some</span>(mid) = bone.solved_joint() {
                 <span class="comment">// This can have its desired_end set
                 </span>distance = distance.min(
-                    distance_to_line(location, bone.start(), mid).min(distance_to_line(
-                        location,
-                        mid,
-                        bone.end(),
-                    )),
+                    distance_to_line(location, bone.start(), mid)
+                        .min(distance_to_line(location, mid, bone.end()))
+                        .max(<span class="self">self</span>.handle_size / <span class="number">10.</span>)
+                        * <span class="number">5.0</span>,
                 );
                 <span class="kw">if let </span><span class="prelude-val">Some</span>(desired_end) = bone.desired_end() {
-                    distance = distance.min((location - desired_end).magnitude());
+                    distance = distance.min(
+                        (location - bone.start() - (desired_end + bone.entry_angle())).magnitude(),
+                    );
                 }
 
                 <span class="kw">if </span>distance &lt; closest_match {
@@ -548,7 +570,11 @@
                 }
             } <span class="kw">else if </span>!bone.is_root() {
                 <span class="comment">// Single line segment
-                </span><span class="kw">let </span>distance = distance_to_line(location, bone.start(), bone.end());
+                </span>distance = distance.min(
+                    distance_to_line(location, bone.start(), bone.end())
+                        .max(<span class="self">self</span>.handle_size / <span class="number">10.</span>)
+                        * <span class="number">5.0</span>,
+                );
                 <span class="kw">if </span>distance &lt; closest_match {
                     closest_match = distance;
                     <span class="comment">// For a non-jointed bone, interacting with it adjusts the
diff --git a/main/src/funnybones/lib.rs.html b/main/src/funnybones/lib.rs.html
index d0a6962..d393475 100644
--- a/main/src/funnybones/lib.rs.html
+++ b/main/src/funnybones/lib.rs.html
@@ -948,18 +948,6 @@
 <a href="#948" id="948">948</a>
 <a href="#949" id="949">949</a>
 <a href="#950" id="950">950</a>
-<a href="#951" id="951">951</a>
-<a href="#952" id="952">952</a>
-<a href="#953" id="953">953</a>
-<a href="#954" id="954">954</a>
-<a href="#955" id="955">955</a>
-<a href="#956" id="956">956</a>
-<a href="#957" id="957">957</a>
-<a href="#958" id="958">958</a>
-<a href="#959" id="959">959</a>
-<a href="#960" id="960">960</a>
-<a href="#961" id="961">961</a>
-<a href="#962" id="962">962</a>
 </pre></div><pre class="rust"><code><span class="attr">#![doc = <span class="macro">include_str!</span>(<span class="string">".crate-docs.md"</span>)]
 
 </span><span class="kw">use </span>std::{
@@ -1504,13 +1492,6 @@
                 <span class="kw">continue</span>;
             };
 
-            <span class="macro">println!</span>(
-                <span class="string">"Solving {axis:?} - {}"</span>,
-                <span class="self">self</span>.bones[axis.bone.index()]
-                    .label
-                    .as_ref()
-                    .map_or(<span class="string">""</span>, |s| s)
-            );
             <span class="kw">for </span>joint_id <span class="kw">in </span>connections {
                 <span class="kw">let </span>joint = <span class="kw-2">&amp;mut </span><span class="self">self</span>.joints[joint_id.index()];
                 <span class="kw">let </span>other_axis = joint.other_axis(axis);
@@ -1521,11 +1502,6 @@
                     // each bone a single time.
                     </span><span class="kw">continue</span>;
                 }
-                <span class="macro">println!</span>(
-                    <span class="string">"{joint_id:?}{} -&gt; {other_axis:?}{} at {current_rotation}"</span>,
-                    joint.label.as_ref().map_or(<span class="string">""</span>, |s| s),
-                    bone.label.as_ref().map_or(<span class="string">""</span>, |s| s)
-                );
                 bone.generation = <span class="self">self</span>.generation;
                 bone.entry_angle = current_rotation;
                 bone.start = current_position;
diff --git a/main/src/funnybones/serde.rs.html b/main/src/funnybones/serde.rs.html
index 1e5b274..ace5fe8 100644
--- a/main/src/funnybones/serde.rs.html
+++ b/main/src/funnybones/serde.rs.html
@@ -307,7 +307,7 @@
         other.axis_b(),
     ));
     <span class="kw">let </span>serialized = pot::to_vec(<span class="kw-2">&amp;</span>s).unwrap();
-    <span class="kw">let </span>deserialized: Skeleton = <span class="macro">dbg!</span>(pot::from_slice(<span class="kw-2">&amp;</span>serialized).unwrap());
+    <span class="kw">let </span>deserialized: Skeleton = pot::from_slice(<span class="kw-2">&amp;</span>serialized).unwrap();
     <span class="macro">assert_eq!</span>(deserialized[spine].label(), <span class="string">"spine"</span>);
     <span class="macro">assert_eq!</span>(deserialized[other].label(), <span class="string">""</span>);
     <span class="macro">assert_eq!</span>(deserialized[joint].angle(), Angle::radians(<span class="number">0.</span>));