code: function validateSceneStructure (elements3d) {
  
    var result = {
      isValid: true,
      validatedSceneStructure: null,
      warnings: [],
      errors: []
    }
  
    // model structure can be a sole element or array of element
    // make sure we return the same type
    var inputIsArray = Array.isArray(elements3d)
    // start recursive validation
    var validatedSceneStructure = validateElements3d(result, inputIsArray ? elements3d : [elements3d])
    // add result to in corresponding input type
    result.validatedSceneStructure = inputIsArray ? validatedSceneStructure : validatedSceneStructure[0]
  
    return Promise.resolve(result)
  
  }
docs: methods