1  <!DOCTYPE html>
  2  <html lang="en">
  3  
  4  var theta = 0, omega = 0;
  5  var smoothX = 0, prevSmoothX = 0;
  6  
  7  smoothX += (hmx - smoothX) * 0.35;
  8  var svx = smoothX - prevSmoothX;
  9  var accel = svx - prevSvx;
 10  omega += accel * 0.8;
 11  omega += -theta * 0.0035;
 12  omega *= 0.92;
 13  
 14  var(--d): the depth of the cuboid
 15  transform-style: preserve-3d;
 16  transform: rotateX(58deg) rotateZ(-28deg);
 17  
 18  function breakDesk(hx, deskTop, frot) {
 19      deskFlipState = 'broken';
 20      hamState = 'stuck';
 21      leftHalf.style.transform = 'rotateY(-45deg)';
 22      rightHalf.style.transform = 'rotateY(45deg)';
 23  
 24  var headDown = frot >= 0 ? 180 : -180;
 25  fomega += (headDown - frot) * 0.008;
 26  fomega *= 0.97;
 27  
 28  function shatterDesk(cx, cy) {
 29      for (var i = 0; i < 16; i++) {
 30          vy += 0.5;
 31          x += vx; y += vy;
 32          rot += rv;
 33      }
 34  
 35  function typeText(el, text, delay, done) {
 36      var i = 0;
 37      el.textContent = '';
 38      (function tick() {
 39          el.textContent += text[i];
 40          setTimeout(tick, delay);
 41      })();
 42  }
 43  
 44  flipAngle = Math.max(0, Math.min(180, deltaY));
 45  deskWrap.style.transform =
 46      'rotateX(' + (58 + flipAngle) + 'deg)';
 47  
 48  nameSXV += (1 - nameCurSX) * 0.15;
 49  nameSXV *= 0.75;

John Meyn

This site has been made minimal, as I am focused on building stuff. I have long believed that social media and other forms of exposure detract from the work one does. That's about it.

info@jmeyn.com