<!-- RUBY-BACKUP · part 491 -->
f(tl==='inventory'){ showInventory(); return; }
  if(tl==='weapons'){ showWeapons(); return; }
  if(tl==='her'||tl==='woman'){ womanAtDoor(); return; }
  if(tl==='gold'||tl==='goldencity'){ goldenCity(); return; }
  if(tl==='currency'||tl==='credits'){ showCurrency(); return; }
  if(tl==='freemap'){ freeMap(); return; }
  if(tl==='sweep'){ sweep(); return; }
  if(tl==='phi'||tl==='goldenratio'){ layoutGoldenRatio(); return; }
  if(tl.indexOf('fix ')===0){
    var fp = tl.substring(4).trim().split(/\s+/);
    if(fp[0]==='reset' && fp[1]){ resetProvoltaPart(fp.slice(1).join(' ')); }
    else if(fp.length >= 3){ fixProvoltaPart(fp[0], fp[1], fp[2]); }
    else if(fp.length === 1){ codeStatus('fix ' + fp[0] + ' — try: color, metal, rough, scale, glow'); }
    else codeStatus('use: fix <part> <color|metal|rough|scale|glow> <value> — or fix reset <part>');
    return;
  }
  if(tl==='measure'||tl==='dimensions'){ measureProvolta(); return; }
  if(tl==='select'){ setSelectMode(true); return; }
  if(tl==='deselect'||tl==='noselect'){ setSelectMode(false); return; }
  if(tl==='bigger'){ if(SELECTED_PART){ var s=SELECTED_PART.scale.x*1.2; SELECTED_PART.scale.set(s,s,s); codeStatus('bigger'); } else codeStatus('select a part first'); return; }
  if(tl==='smaller'){ if(SELECTED_PART){ var s2=SELECTED_PART.scale.x*0.8; SELECTED_PART.scale.set(s2,s2,s2); codeStatus('smaller'); } else codeStatus('select a part first'); return; }
  if(tl==='layherdown'||tl==='twobodies'){ layBodiesOnTable(); return; }
  if(tl==='grandtable'){ buildGrandTable(); return; }
  if(tl==='bringher'){ bringHer(); return; }
  if(tl==='dismissher'){ dismissHer(); return; }
  if(tl==='cleartable'){ clearTableBodies(); return; }
  if(tl==='pullapart'||tl==='dissect'){ dissectProvolta(); return; }
  if(tl==='assemble'){ assembleProvolta(); return; }
  if(tl==='whitetable'||tl==='table'){ var _tx=0,_tz=0; try{ if(typeof myAvatar!=='undefined'&&myAvatar){ _tx=myAvatar.position.x+3; _tz=myAvatar.position.z; } }catch(e){} buildIntricateTable(_tx,_tz); return; }
  if(tl==='body provolta'){ AVATAR='provolta'; try{ localStorage.setItem('ruby-avatar','provolta'); }catch(e){} codeStatus('you are PROVOLTA'); location.reload(); return; }
  if(tl==='body king'){ AVATAR='king'; try{ localStorage.setItem('ruby-avatar','king'); }catch(e){} codeStatus('you are the king'); location.reload(); return; }
  if(tl==='body circle'){ AVATAR='circle'; try{ localStorage.setItem('ruby-avatar','circle'); }catch(e){} codeStatus('you are the circle'); location.reload(); return; }
  if(tl==='provolta'){ placeGuardian(); return; }
  if(tl==='giveweapon'){ var wid=tl.split(' ')[1]||'laser-cannon'; giveWeapon(wid); return; }
  if(tl==='endorsements'){ try{ var e=JSON.parse(localStorage.getItem('ruby-endorsements')||'[]'); codeStatus(e.length ? e.map(function(x){ return x.from+': "'+x.text+'"'; }).join(' | ') : 'no endorsements yet'); }catch(err){ codeStatus('no endorsements yet'); } return; }
  if(tl.indexOf('court ')===0){ courtAnswer(tl.slice(6).trim()); return; }
  if(tl==='achievements'){ loadAchievements(); codeStatus(ACHIEVEMENTS.length ? 'achievements: '+ACHIEVEMENTS.join(', ') : 'no achievements yet'); return; }
  /* work */
  if(tl==='work'||tl==='job'){ doJob(); return; }
  if(tl==='credits'||tl==='money'){ showCredits(); return; }
  /* social */
  if(tl==='share'||tl==='sharejoy'){ shareJoy(); return; }
  if(tl==='invite'){ inviteFriend(); return; }
  /* updates/products */
  if(tl==='updates'){ checkUpdates(); return; }
  if(tl==='products'||tl==='shop'){ showProducts(); return; }
  if(tl==='ending'){ showEnding(); return; }
  if(tl==='spaceport'){ buildSpaceport(); return; }
  if(tl==='clearspaceport'){ clearSpaceport(); return; }
  if(tl==='launch'){ launchShip(0); return; }
  if(tl.indexOf('launch ')===0){ var li=parseInt(tl.slice(7),10); launchShip(isNaN(li)?0:li); return; }
  if(tl==='land'){ landShip(0); return; }
  if(tl==='hokulea'){ summonHokulea(); return; }
  if(tl==='dismisshokulea'){ dismissHokulea(); return; }
  if(tl.indexOf('streets ')===0){
    var names = tl.slice(8).split(',').map(function(s){ return s.trim(); }).filter(function(s){ return s; });
    if(names.length) setStreetNames(names);
    else codeStatus('usage: streets <name1>, <name2>, ...');
    return;
  }
  if(tl==='streets'){ var sn = getStreetNames(); codeStatus(sn.length ? 'streets: '+sn.join(', ') : 'no street names yet — use: streets <name1>, <name2>, ...'); return; }
  if(tl==='easy'||tl==='easymode'){ toggleEasy(); return; }
  if(tl==='hell'){ goHell(); return; }
  if(tl==='banish'){ banish(); return; }
  if(tl==='redeem'){ leaveHell(); return; }
  if(tl==='buildcodes'||tl==='building'){ if(!requireAdult()) return; showBuildCodes(); return; }
  if(tl==='dome'){ if(typeof handleCode==='function') handleCode('soliditronium'); return; }
  if(tl==='pad'){ showContinuum(); return; }
  if(tl==='kidmode'||tl==='kids'){ toggleKidmode(); return; }
  if(tl==='placem