Lively Kernel canvas
// this script is evaluated on world load
MyConsole = WorldMorph.current().submorphs.detect(function(ea){return ea.name == "MyConsole"});
if(!MyConsole) return;
MyConsole = MyConsole.component;
MyConsole.setText("-- start --");
MyConsole.log = function(s) {
	this.setText(this.formalModel.getText() + "\n" + s);
};
MyConsole.log("My Console initialized!");
MyConsole.morph.resetScrollPane =  function() {
        var sp = this.enclosingScrollPane();
	if (sp) sp.scrollToBottom();
 };
// console.consumers seems to be broken... so we go the hard waz
console.log = console.log.wrap(function(proceed, s) {
	MyConsole.log(s)
	proceed(s)})
console.log("wrapped console for MyConsole successfully")
10000.01643986263635766Wikicontroltrue 
Connectors40
10000.0013114113606432726Wikicontroltrue 
10000.04710128816827326Wikicontroltrue 
10009.593076543648584Wikicontroltrue 
first18
second18
nullnull0.8392382953707508 
A122
1.positionchangein"second"movementshouldupdatetheconnector18
first18
second18
first18 
 
nullnull0.010100666585321907 
second18 
 
A122
first18 
 
 
null0.44593856058409315null 
A222
second18 
 
 
 
first18 
 
nullnull-0.009345522307489902 
second18 
 
third18
B122
first18 
 
null1.5707963267948966null 
second18 
 
third18 
 
B222 
null47