The many faces of Janus

When I typed in that title I wasn’t intentionally alluding to Janus, the Roman god. But it’s cool nonetheless.

I’ve been developing Janus for seven or so years, and I’ve faced, time and time again, the difficulty in presenting the Janus in a way that satisfies me – because I think it’s a good concept, it makes it even more difficult.

In my previous post about Dynamic Mesh Combining, and my recent re-vamping PSAT rendering I’ve been reminded of how cool coding ventures (from my point of view) have been dwarfed up by the pressure to promote Janus as a mainstream product, which presents the difficulty of consolidating the features that make up Janus into something that most LW users can understand and appreciate. And thus, I laboured two weeks on writing and creating an overview in the hopes that I have explained in a little bit better this time.

But this didn’t change the fact that there are a lot of stuff in Janus that’s difficult to present. On one hand you have For Loops, and on another you have Dynamic Mesh Combining; there is PSAT rendering, plugin support, buffers support, the proxy system, search-and-replace functionality (in object replacement, and throughout the system), the script system, the offline method, etc. Then you have these strange little terms like ‘composite command types’, which, if you were a Janus user, would make more sense – though it is most probable that even Janus users don’t touch it.

It’s though I’ve put in so much functionality that I wanted to have because I didn’t want to run another script to do it for me. One may venture to consolidate these features into a superlative blurb that it has ‘everything’. It doesn’t have everything, but it has a whole lot that no one knows about.