nicer preview working on assertions

This commit is contained in:
Peter Cottle 2013-03-09 21:08:36 -08:00
parent 092a92b0b4
commit 5754238864
7 changed files with 69 additions and 15 deletions

View file

@ -49,6 +49,8 @@ exports.dialog = {
'',
'Have a great lesson to share? Try building a level with `build level` or try out a friend\'s level with `import level`',
'',
'To see the full range of commands, try `show commands`. There are some gems like `undo` and `reset`',
'',
'For now let\'s get you started on the `levels`...'
]
}

View file

@ -516,21 +516,37 @@ GitVisuals.prototype.assignBoundsRecursive = function(commit, min, max) {
}
}, this);
var prevBound = min;
var checkPortion = function(portion, index) {
if (myLength < 0.99 || children.length < 2) {
return portion;
}
// we introduce a VERY specific rule here, to push out
// the first "divergence" of the graph
if (index === 0) {
portion *= 1/3;
} else if (index === children.length - 1) {
portion *= 5/3;
}
return portion;
};
var prevBound = min;
// now go through and do everything
// TODO: order so the max width children are in the middle!!
_.each(children, function(child) {
_.each(children, function(child, index) {
if (!child.isMainParent(commit)) {
return;
}
var flex = child.get('visNode').getMaxWidthScaled();
var portion = (flex / totalFlex) * myLength;
var adjustedPortion = checkPortion(portion, index);
var childMin = prevBound;
var childMax = childMin + portion;
var childMax = childMin + adjustedPortion;
this.assignBoundsRecursive(child, childMin, childMax);
prevBound = childMax;
prevBound = childMin + portion;
}, this);
};