anchor.diff:    // Must be in sync with UnpackSpotLightInfo
     @override
     void ExtractInfo(Float32List m, int o) {
  -    m[o + 0] = _pos.x;
  -    m[o + 1] = _pos.y;
  -    m[o + 2] = _pos.z;
  +    m[o + 0] = pos.x;
  +    m[o + 1] = pos.y;
  +    m[o + 2] = pos.z;
       //
       m[o + 4] = dir.x;
       m[o + 5] = dir.y;
  
positive.code: }
  
  class SpotLight extends Light {
    VM.Vector3 _pos;
    VM.Vector3 dir;
    VM.Vector3 _colDiffuse;
    VM.Vector3 _colSpecular;
  
negative.code:   VM.Matrix4 ExtractShadowProjViewMatrix() {
      VM.Vector3 up = (dir.x == 0.0 && dir.z == 0.0) ? _up2 : _up;
      VM.Matrix4 mat = new VM.Matrix4.zero();
      VM.setViewMatrix(mat, pos, pos - dir, up);
      return mat;
    }
  }
  