~ / cmdr2

projects: freebird, easy diffusion

hacks: carbon editor, torchruntime, findstarlink

  # filter by: [ posts | worklogs ]
  • #puppetry
  • #worklog

Released two new features in Puppetry (in Early Access): a “Presets” plugin for Puppetry the ability to specify different “motion smoothness” settings for controller movement and rotation The “Presets” plugin allows a user to store and use “preset” values for attachment and button settings in Puppetry. In complex rigs, each character may often have a complicated set of settings in Puppetry (shapekeys, custom response curves etc). Switching between characters in Puppetry involved recreating all of those settings each time during recording.

  • #worklog
  • #discord

Wrote and deployed a simple spam filter bot on my Discord servers. It was a fun learning exercise, because I wanted to understand how to process incoming messages automatically on my servers.

  • #ox
  • #worklog

Consolidated the test cases necessary to build a regression test suite for Blender’s XR API. Figured out how to implement almost every test case. Built a test harness to use with Blender and ox, so that it’s ergonomic and easy to write test cases that span across multiple frames.

  • #easydiffusion
  • #worklog

Upgraded stable-diffusion.cpp in Easy Diffusion (and sdkit) to the latest version. This adds support for two new models: Lens and PiD, along with a bunch of bug fixes (for e.g. Chroma rendering has been fixed). It also brings back --diffusion-fa by default, which speeds up rendering. And Chroma seems to be rendering faster than before.

  • #easydiffusion
  • #worklog

Just completed another round of fixing support issues in Easy Diffusion. Today’s evidence continues to convince me to move Easy Diffusion away from the Python ecosystem for AI inference on end-user PCs. And definitely to stay away from conda, it’s so leaky. Both are excellent in their own right (especially for training and research), but I don’t think they make sense for end-user inference. Easy Diffusion’s v4 full rollout (which drops Python, torch and conda) can’t come soon enough.

  • #freebird
  • #worklog

Got Freebird working on a Mac (with Blender 5.2 alpha). Used the new ox runtime (v0.6 pre-release) to simulate OpenXR on a Mac, and worked through the bugs to get Freebird running. So if someone ever creates an OpenXR-compatible headset for the Mac, Freebird will run on it!

  • #easydiffusion
  • #sdkit
  • #worklog

Got Easy Diffusion v4 working on Apple and Intel Macs. The performance difference ratio (vs ED v3) is similar to the ratio on Windows (with CUDA) and other deployment targets. So that indicates optimization opportunities in sd.cpp. It’s currently about 1.5x slower than diffusers-based Stable Diffusion. In other news, easyinstaller is also out with its first release, which means that Easy Diffusion can now start shipping AppImage, Flatpak, rpm, deb, pkg, dmg etc for the different platforms. Instead of requiring Linux and Mac users to use the terminal to install and start Easy Diffusion. Will work on this soon.

  • #worklog

Wrote a little program for myself called “the accountant”, which produces financial reports for my projects. It’s purely for myself, and has the personality of a middle-aged Polish accountant (inspired by Woz’s dial-a-joke service). It’s whimsical, and the humor helps me keep up the habit for I don’t particularly enjoy doing. The jokes were written by Claude, and are surprisingly funny in an understated manner. No, the program is not an LLM agent. It is old-fashioned code that loops through spreadsheet rows and tallies things up. The jokes are just fixed strings, but they seem to have good repeat value. It’s a wizard-style program, since I need to perform some steps manually in between.

  • #easydiffusion
  • #worklog
  • #v4

Started the long-pending rewrite of Easy Diffusion’s server code. v4 intends to replace the Python (and PyTorch) based server with a simple C++ version. The reason for rewriting the server in C++ is to achieve sub-second startup time for the UI, and to reduce the download size (won’t need to distribute Python along with Easy Diffusion) or mess with conda/venv etc. And it’s also something that I want to do for personal taste, i.e. de-bloating what doesn’t need to be bloated.

  • #freebird
  • #worklog

Submitted a code fix in Blender to fix the order of calling modal operators for XR Actions - https://projects.blender.org/blender/blender/pulls/152575