<commit_before>const Signal = require('signals')
const Mat4 = require('pex-math/Mat4')

function Skin (opts) {
  this.type = 'Skin'
  this.entity = null
  this.joints = []
  this.changed = new Signal()
  this.set(opts)
}

Skin.prototype.init = function (entity) {
  this.entity = entity
}

Skin.prototype.set = function (opts) {
  Object.assign(this, opts)
  Object.keys(opts).forEach((prop) => this.changed.dispatch(prop))
}

Skin.prototype.update = function () {
  this.jointMatrices = this.joints.map((joint, index) => {
    var m = Mat4.create()
    Mat4.mult(m, joint.transform.modelMatrix)
    Mat4.mult(m, this.inverseBindMatrices[index])
    return m
  })
}<commit_msg>Fix pex-math casing in skin<commit_after>const Signal = require('signals')
const mat4 = require('pex-math/mat4')

function Skin (opts) {
  this.type = 'Skin'
  this.entity = null
  this.joints = []
  this.changed = new Signal()
  this.set(opts)
}

Skin.prototype.init = function (entity) {
  this.entity = entity
}

Skin.prototype.set = function (opts) {
  Object.assign(this, opts)
  Object.keys(opts).forEach((prop) => this.changed.dispatch(prop))
}

Skin.prototype.update = function () {
  this.jointMatrices = this.joints.map((joint, index) => {
    var m = mat4.create()
    mat4.mult(m, joint.transform.modelMatrix)
    mat4.mult(m, this.inverseBindMatrices[index])
    return m
  })
}
{'fraction_non_alphanumeric': 0.15716374269005848, 'fraction_numerical': 0.007309941520467836, 'mean_word_length': 3.8892857142857142, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3148636', 'n_tokens_mistral': 495, 'n_tokens_neox': 482, 'n_words': 92}