Skip to content

KAM Capture Tool 1.3.1 - the interface moves, within a budget

Choose a tag to compare

@github-actions github-actions released this 23 Sep 09:54
· 6 commits to main since this release

The interface moves now, within a budget.

A motion vocabulary, not decoration. Four durations and one easing, applied everywhere rather than hand-animated per control. Press is 90ms of opacity and a 2% scale down; release is 120ms back to rest; hover and state changes are a 140ms fade. Hover fades an overlay in rather than swapping a colour, which is the difference between a transition and a flicker. Toggling the microphone or the system audio on the recording bar now animates, which is where this started.

It costs nothing, and that is a design constraint rather than a hope. Only Opacity and RenderTransform are ever animated. Both compose on the render thread. Animating Width, Height or Margin would force a layout pass every frame, which is where a smooth interface turns into a janky one — so nothing here animates layout, and the rule is written into Theme.xaml and the contributing notes. Recording measured the same before and after: 150 frames in 5 seconds, across three runs each.

A bug caught while building it. Putting the checked look entirely into Trigger.EnterActions means a control created already checked never transitions, so the storyboard never runs and it renders in the wrong state. Every checkbox in Settings and the selected tool in the annotator were affected. The trigger now sets the resting value and the storyboard covers only the transition. Checked against the previous renders.

Clean build. The three nullable warnings in the colour wheel were real ordering — handlers wired before the fields they capture existed, harmless only because a handler cannot fire during construction. Fixed at the cause.

Install: download KamCapture.exe below and run it. It asks where to install — per-user, never as administrator — or runs where it stands. The .NET runtime is inside it, so there is nothing to install first. Recording also needs ffmpeg: winget install Gyan.FFmpeg

Updating: 1.2.x and later offer this by itself.

It is not code signed, so SmartScreen warns the first time: More info, then Run anyway. Get-FileHash KamCapture.exe should match:

BBA28DEF7B86AE8DDD0A89C87E29F1994DF7629A312829A1DBCAAB50B19FF7E6  KamCapture.exe

Full Changelog: v1.3.0...v1.3.1