Thanks for the feedback. What do you mean with global variables for class state? We do consider moving class-bodies inside an actual function (again) - but there is a virtual scope there in the compiler. So
class A
var i = 10
var i = 20
Compiles to
function A(){ };
var i1 = 10;
var i = 20;
So they are actually scoped even though it does not look like it in the compiled js. I'm looking really forward to improving the sublime plugin to show much more stuff from the compiler and warn about calls to undefined methods etc. There is a lot of analysis from the compiler that can be used to improve the ide-like experience.
Ah, okay, well that example makes it clearer. It wasn't clear from your example (or from my local test) where you just show this:
class Todo
# variable defined in class scope
var count = 0
Which compiles into this:
var count = 0;
And also your example page elides the IIFE that your compiler surrounds all output with, implying (falsely) that it's global.
As for ST, I think that for me based on my brief experience, you might want to add more compiler warnings to the watcher. (Basically I messed with Imba locally with two ST windows side-by-side, looking at Imba on the left and js on the right, treating the watcher output as compiler output.) Don't get me wrong, ST feedback is great, but the watcher feels more canonical. Besides, not everyone has ST!