function ModelSkin(options) {
  options = options ?? Frozen.EMPTY_OBJECT;
  //>>includeStart('debug', pragmas.debug);
  Check.typeOf.object("options.skin", options.skin);
  Check.typeOf.object("options.sceneGraph", options.sceneGraph);
  //>>includeEnd('debug');

  this._sceneGraph = options.sceneGraph;
  const skin = options.skin;

  this._skin = skin;

  this._inverseBindMatrices = undefined;
  this._joints = [];
  this._jointMatrices = [];

  initialize(this);
}
An in-memory representation of a skin that affects nodes in the {@link ModelSceneGraph}.
Skins should only be initialized after all of the {@link ModelRuntimeNode}s have been instantiated
by the scene graph.

@param {object} options An object containing the following options:
@param {ModelComponents.Skin} options.skin The corresponding skin components from the 3D model
@param {ModelSceneGraph} options.sceneGraph The scene graph this skin belongs to.

@alias ModelSkin
@constructor

@private