Saturday, August 31, 2013

Depsgraph - Pose Component Graph Building Example

This is a just quick update with a scanned diagram showing the steps involved in building the depsgraph nodes for pose evaluation (and ensuring that this setup has dependencies hooked up correctly to enforce evaluation order constraints for the scheduler).



Tuesday, August 20, 2013

PyQt Widgets - TagLabels and Canvas.Backdrop

As part of my research work, I'm currently spending quite a bit of time developing prototype interfaces/widgets. In my case, my current "weapon of choice" is Python2 + PyQt (with progress logged in Git), as it gives me fast turnarounds, nice and familiar API's, and a modern + industrial-grade base UI library.

Today, I'm going to release a few "support" widgets which I've developed for use as part of my toolkit/workflow:

1) TagLabels

https://bitbucket.org/Aligorith/pyqttooltipslib  (Currently in "TagLabels" branch)


2) Canvas.Backdrop



Sunday, August 18, 2013

Interesting Libraries

I've recently come across a few very interesting libraries online. While not as complex as some of the traditional "all-inclusive" monsters such as JQuery, Boost, GLib, and friends, these libraries all exhibit a number of very exciting and interesting characteristics while remaining quite simple overall (by cleverly exploiting basic capabilities of the technologies they are implemented in).

These are:
1. Bret Victor's "Tangle"
http://worrydream.com/Tangle/

2. Cello - High Level Programming in C
http://libcello.org/


RIP Beautiful Firefox Logo

Argh! This evening, Firefox finally ended up updating to the latest version (23 IIRC). Even though this had officially been released for almost a week now, I'd somehow managed to "dodge" getting the update until tonight.

 RIP - The beautiful Firefox logo/icon used since 3.5 or so...

Saturday, August 3, 2013

My Current Diagramming Workflow

In the past, I've ranted a bit about the current state of diagramming tools in general. The majority of my comments there still stand - all of those issues are still as pertinent as ever, particularly
  1) Connectors and snapping points being finicky + tricky to control
  2) Bounded canvas sizes - the need to set this explicitly at the start of creating a diagram, even if you just want to worry about figuring out the content first and only THEN bounding/fitting these until they're at a decent scale
  3) Default item sizing often being off-the-charts - the chief culprits are usually things like arrowheads being too large and fat, line widths defaulting to being too thin at 1px, shapes having internal "padding" which forces text to wrap + collide with the borders in unsightly ways (with no easy way of clearing this for all new objects), and text being too large/small by default, yet always overflowing the containers exactly when you don't want them to
  4) Overly optimistic context switching - not everyone agrees with me on this one, but it's just plain annoying that you sometimes have to click things multiple times to get the intended handles (or rather get out of "internal content editing" sub-modes that you accidentally entered while trying instead to grab the whole object or one of its handles)

However, as seen from some of my recent posts, I have in recent months found that LibreOffice's Draw seems to at least be a bit more palatable than many of the other alternatives out there for many of these issues, despite still suffering from all these issues mentioned above (plus a few additional limitations, which I'll get to in a moment).


Depsgraph – Mid-Term Updates and Revised Design (“Components”)

Over the past few weeks, there have been relatively few updates about the status of the Depsgraph Refactor project, apart from the regular weekly updates (which have been admittedly a bit vague). That's because I've been busy actually hacking away at it! There's only so much time in a day (or rather, after sleep and research work commitments), so regular blog post updates have taken a bit of a back seat for a while. Nevertheless, today I'll be presenting a little overview of what's been going on, and where we're going now.
Components - The "key" to the new design

Tuesday, July 23, 2013

Hooray! UC Doctoral Scholarship


After a few months of waiting, I finally heard back from the scholarships office today: I've been awarded a UC Doctoral Scholarship for the next 3 years :)   Yay!

Thursday, July 11, 2013

Woops!

Apologies for any broken/missing images on some of the posts here.

Apparently I managed to accidentally clobber them when adjusting the wrong settings somewhere when trying to figure out why the heck the folder associated with these had just jumped all the way up to the top o the list all of a sudden (it should've been at the very bottom and out of sight!). Gah!

In the meantime, I'm going back through trying to restore broken links (by manually re-adding the offending pics). Fortunately they're all still there, though annoyingly there's no one-click "link them all back up again" magic button  :/

---

EDIT (2am):  Phew! I've just finished going through checking for broken image links and getting everything fixed up again. Along the way, I took the chance to make a few images a bit larger too for good measure :)

If you do find any broken image links/placeholders, please let me know and I'll try and fix them. Strangely, there were still a few images which I seem to have uploaded, but don't seem to be attached to any posts with broken links (at least the ones I've checked)...

Tuesday, July 9, 2013

Git Tip - Reverting latest bad commit(s), and which have also been pushed already

By and large, working with Git is "not that scary" (TM) once you figure out a safe subset of commands which will let you achieve what you want to do during a typical work session.

However, from time to time, especially when effectively "working blind" via commandline, things go wrong. Really really wrong.

Monday, July 8, 2013

WIP Bugfix Patch - Displaying shortcuts set using WM_OT_context_* operators

This evening, I decided to spend some time working on a (what I assumed) would be a neat little fix to a problem that's been bugging me for a while (and apparently has also been noticed by others too, as can be seen in this bug report).


Namely, there are many properties that have hotkeys assigned to toggle/cycle through their values, but there is no easy way to see what hotkeys have been assigned for that purpose. Sure, you can fire up the keymaps editor in the User Preferences, but it's quite tricky digging around in there to find what you want, if you even know where to start looking...


Friday, July 5, 2013

Depsgraph - Overview of Design + Goals

Phew! I've just finished writing up a doc giving a rough overview of where we're going with the depsgraph design, and the types of things it aims to do (i.e. problems it should solve, etc.). There may be a few things I've glossed over here and there (and it may ramble a bit at the start a bit), but it should go a long way towards explaining what's going on.



Check out (and join) the discussion and document (check the attachment there) over on the bf-animsys mailing list:

Saturday, June 29, 2013

Depsgraph - Optional Branches with Runtime Switches

One source of confusion for beginner riggers sometimes is that even though a particular dependency path may not actually be currently active, from the perspective of the dependency graph they are still actively contributing to a cyclic dependency situation. Much of this is due to the fact that the old depsgraph could only really schedule things up by looking at the full set of dependencies and create a static ordering that could work in all cases.



This post explores a potential solution to this problem and how it could be integrated into the framework we've been looking at.