onBeforeRender(renderer, scene, camera, geometry, material, group) {
    this.sync()

    // This may not always be a text material, e.g. if there's a scene.overrideMaterial present
    if (material.isTroikaTextMaterial) {
      this._prepareForRender(material)
    }
  }
Initiate a sync if needed - note it won't complete until next frame at the
earliest so if possible it's a good idea to call sync() manually as soon as
all the properties have been set.
@override