tag:github.com,2008:https://github.com/Retropaint/SkelForm/releasesRelease notes from SkelForm2026-02-19T08:51:04Ztag:github.com,2008:Repository/949522366/nightly2026-03-21T13:48:27ZNightly BuildNo content.github-actions[bot]tag:github.com,2008:Repository/949522366/v0.3.12026-02-16T09:58:53Zv0.3.1<p>SkelForm v0.3.1 brings a few improvements to inverse kinematics:</p>
<ul>
<li>New 'distance' field for child IK bones</li>
<li>Root IK bone transforms now editable at all times</li>
<li>Last IK bone rotation no longer editable, to standardize IK iteration in runtimes</li>
<li>Setting up child IK bones now immediately sets Y position to 0</li>
</ul>
<h2>Distance field</h2>
<p>The distance between each bone in an IK family used to be managed by their positions. However, there are a few rules and limitations to this:</p>
<ul>
<li>The 'rest' pose <em>must</em> be facing right</li>
<li>Y position has to be 0</li>
<li>Positions can't be edited while IK is in effect</li>
</ul>
<p>These rules make setting up IK very tedious, especially as it's difficult to explain and familiarize the user to them.</p>
<p>A new 'distance' field, as well as a few changes to the system in general, make it smoother and easier to understand. Internally the distance field is just the X position, but is editable while IK is still in effect.</p>
<p>Additionally, resetting the Y position of child IK bones means it's no longer necessary to consider the 2nd rule outlined above.</p>
<p>All of this culminates in better UX for setting up IK in general.</p>
<a target="_blank" rel="noopener noreferrer" href="https://private-user-images.githubusercontent.com/70713407/550356401-d0152391-842f-4cdd-ab46-ed8465f31835.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQxNDE4MjcsIm5iZiI6MTc3NDE0MTUyNywicGF0aCI6Ii83MDcxMzQwNy81NTAzNTY0MDEtZDAxNTIzOTEtODQyZi00Y2RkLWFiNDYtZWQ4NDY1ZjMxODM1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIyVDAxMDUyN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTU1MWU5ODNlNmQwYjlmNzczZDJmN2M0NWU3MWMxMmYwYjg1MTc2OGQ4NjExMTVmMWRhMzAzZWJjMzBhNDA0ZTQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.sM__j9KISRmpPFMBNoDfHoRjvyQWs6m6p-2S6XH8l6I"><img width="222" height="120" alt="image" src="https://private-user-images.githubusercontent.com/70713407/550356401-d0152391-842f-4cdd-ab46-ed8465f31835.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzQxNDE4MjcsIm5iZiI6MTc3NDE0MTUyNywicGF0aCI6Ii83MDcxMzQwNy81NTAzNTY0MDEtZDAxNTIzOTEtODQyZi00Y2RkLWFiNDYtZWQ4NDY1ZjMxODM1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNjAzMjIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjYwMzIyVDAxMDUyN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTU1MWU5ODNlNmQwYjlmNzczZDJmN2M0NWU3MWMxMmYwYjg1MTc2OGQ4NjExMTVmMWRhMzAzZWJjMzBhNDA0ZTQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.sM__j9KISRmpPFMBNoDfHoRjvyQWs6m6p-2S6XH8l6I" content-type-secured-asset="image/png" style="max-width: 100%; height: auto; max-height: 120px;"></a>Retropainttag:github.com,2008:Repository/949522366/v0.3.02026-02-15T04:10:56Zv0.3.0<p>SkelForm v0.3.0 comes with image and video exports!</p>
<ul>
<li>Spritesheet / Sprite sequence exporting (PNG only)</li>
<li>Video (MP4/GIF) exporting, per-animation</li>
</ul>
<p>Video export uses pre-compiled <a href="https://www.ffmpeg.org/" rel="nofollow">ffmpeg</a>, which will be bundled with all future SkelForm releases. The system-wide ffmpeg may also be chosen during export.</p>
<p>Note: runtimes will not be responsible for handling any other export besides armatures. Most game engines already provide easy ways to use spritesheets/sequences and videos.</p>Retropainttag:github.com,2008:Repository/949522366/v0.2.22026-02-11T02:31:35Zv0.2.2<p>Hotfix</p>
<ul>
<li>Fixed crashing on startup due to missing color file on first launch</li>
<li>Fixed crashing on zooming too far into keyframe editor</li>
</ul>Retropainttag:github.com,2008:Repository/949522366/v0.2.12026-02-08T12:58:46Zv0.2.1<p>SkelForm v0.2.1 brings many stability and UI improvements, as well as a few minor features:</p>
<p>All:</p>
<ul>
<li>Toggling styles doesn't affect animations</li>
<li>Toggling styles now undo-able</li>
<li>Fixed crashing on 'New' armature</li>
<li>Forums link updated</li>
<li>Removed incorrect note on hidden integer in skf readme</li>
<li>Fixed dragging vertices sometimes affecting the wrong ones</li>
<li>Fixed most instances of dragging vertices being off</li>
<li>Added more instances of undo/redo and fixed redo logic for certain instances</li>
<li>Meshes no longer generate empty triangles</li>
<li>Bulk texture import</li>
<li>Imported images now trim their transparent areas</li>
<li>Texture tinting</li>
<li>Pixel magnification for pixelated rig support</li>
<li>Texture properly scaled in atlas modal</li>
<li>Sine In & Sine Out animation transitions</li>
</ul>
<p>Web:</p>
<ul>
<li>Switched to WebGL only, for stability</li>
<li>File inputs (importing textures, importing skfs, etc) no longer opens overlay</li>
<li>UI slider only loads when editor has loaded, to prevent confusion in waiting</li>
<li>(Mobile) fullscreen option on UI slider, sets page to fullscreen & switches orientation to landscape</li>
</ul>Retropainttag:github.com,2008:Repository/949522366/v0.2.02026-01-03T08:18:24Zv0.2.0<p>SkelForm v0.2.0 introduces several new features for runtimes, as well stability across the board for the editor.</p>
<p>Runtime features:</p>
<ul>
<li>Styles - grouped textures based on name and list priority (for outfits & skins)</li>
<li>Inverse Kinematics (FABRIK & Arc modes, clockwise & counter-clockwise constraints)</li>
<li>Mesh deformation (editing vertices, adding binds, weights, & paths)</li>
<li>Simultaneous animations (run 2 or more animations at once)</li>
</ul>
<p>The runtime API has also introduced animation smoothing - smoothly transitioning between animations. The editor does not currently contain this, but the Rust, Python, and Golang runtimes support this as of writing.</p>
<p>Editor improvements (from v0.1.0):</p>
<ul>
<li>Startup window (load recent files, samples, and various resources and other links)</li>
<li>Better looking armature list</li>
<li>Color editors now uses egui's color picker</li>
<li>Improved performance when zooming out (gridline now only drawcalls twice instead of per-line)</li>
</ul>Retropainttag:github.com,2008:Repository/949522366/v0.1.02025-12-30T15:57:12Zv0.1.0<p>The first release of SkelForm!</p>
<p>This base version contains:</p>
<ul>
<li>Armature editing</li>
<li>Animation keyframe editing</li>
<li>Exporting (for use in runtimes only)</li>
<li>Basic settings for UI colors and keyboard shortcuts</li>
</ul>
<p>All releases below include:</p>
<ul>
<li>SkelForm binary</li>
<li>Source code</li>
<li>Dev docs</li>
<li>User docs</li>
<li>Sample file (<code>skellington.skf</code>)</li>
</ul>
<p>MAC USERS: If you get an error saying that SkelForm is an untrusted program, do the following: <code>right click > Open</code>.</p>Retropaint