roavatar-renderer 1.9.6 → 1.9.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -3683,6 +3683,7 @@ export declare class RBXRendererScene {
3683
3683
  hasPostProcessing: boolean;
3684
3684
  /**Used so MSAA will stay the same even when effectComposer is recreated */
3685
3685
  _msaa: number;
3686
+ queueEffectComposerCreation: boolean;
3686
3687
  scissor?: [number, number, number, number];
3687
3688
  viewport?: [number, number, number, number];
3688
3689
  addedInstances: Instance[];
package/dist/index.js CHANGED
@@ -59836,6 +59836,7 @@ class RBXRendererScene {
59836
59836
  hasPostProcessing = false;
59837
59837
  /**Used so MSAA will stay the same even when effectComposer is recreated */
59838
59838
  _msaa = 4;
59839
+ queueEffectComposerCreation = false;
59839
59840
  //viewport
59840
59841
  scissor;
59841
59842
  viewport;
@@ -61061,7 +61062,7 @@ class EmitterDesc extends DisposableDesc {
61061
61062
  const normalizedTime = particle.time / particle.lifetime;
61062
61063
  const color2 = this.color.getValue(normalizedTime);
61063
61064
  const linearColor = new Color(color2.R, color2.G, color2.B).convertSRGBToLinear();
61064
- const size = this.size.getValue(this.normalizeSizeKeypointTime ? normalizedTime : time2, particle.seed + 0);
61065
+ const size = Math.max(this.size.getValue(this.normalizeSizeKeypointTime ? normalizedTime : time2, particle.seed + 0), 0);
61065
61066
  const squash = this.squash.getValue(this.normalizeSizeKeypointTime ? normalizedTime : time2, particle.seed + 2);
61066
61067
  const opacity = 1 - this.transparency.getValue(normalizedTime, particle.seed + 1);
61067
61068
  const flipbookFramerate = mathRandom(this.flipbookFramerate.Min, this.flipbookFramerate.Max, new RNG(particle.seed + 67).nextFloat()) || 1;
@@ -61317,7 +61318,7 @@ class EmitterGroupDesc extends RenderDesc {
61317
61318
  drag: 0.4,
61318
61319
  localAcceleration: new Vector3(0, 0.5 * (1 * size * size / 4 + 0.7 * heat), 0),
61319
61320
  rotation: new NumberRange(-90, 90),
61320
- size: new NumberSequence([new NumberSequenceKeypoint(0, 1.1 * size, 0), new NumberSequenceKeypoint(2, Math.max(1.1 * size - 0.8 * size * 2, 0), 0)]),
61321
+ size: new NumberSequence([new NumberSequenceKeypoint(0, 1.1 * size, 0), new NumberSequenceKeypoint(2, 1.1 * size - 0.8 * size * 2, 0)]),
61321
61322
  speed: new NumberRange(0.4 * (0.2 * size * size + 0.2 * heat), 0.4 * (0.2 * size * size + 0.2 * heat)),
61322
61323
  rotationSpeed: new NumberRange(100, 100),
61323
61324
  spreadAngle: new Vector2(10, 10),
@@ -61338,12 +61339,12 @@ class EmitterGroupDesc extends RenderDesc {
61338
61339
  drag: 0.4,
61339
61340
  localAcceleration: new Vector3(0, 0.5 * (1 * size * size / 4 + 0.7 * heat), 0),
61340
61341
  rotation: new NumberRange(-90, 90),
61341
- size: new NumberSequence([new NumberSequenceKeypoint(0, 1.1 * sparkSize, 0), new NumberSequenceKeypoint(3, Math.max(1.1 * sparkSize - -sparkSize / 3 * 3, 0), 0)]),
61342
- speed: new NumberRange(0.4 * (0.2 * size * size + 0.2 * heat), 0.4 * (0.2 * size * size + 0.2 * heat)),
61342
+ size: new NumberSequence([new NumberSequenceKeypoint(0, sparkSize, 0), new NumberSequenceKeypoint(2, sparkSize - sparkSize / 2 * 2, 0)]),
61343
+ speed: new NumberRange(0.4 * (0.1 * size * size + 0.2 * heat), 0.4 * (0.2 * size * size + 0.2 * heat)),
61343
61344
  rotationSpeed: new NumberRange(100, 100),
61344
61345
  spreadAngle: new Vector2(10, 10),
61345
61346
  rate: 65,
61346
- lifetime: new NumberRange(1.5, 3),
61347
+ lifetime: new NumberRange(1, 2),
61347
61348
  normalizeSizeKeypointTime: false,
61348
61349
  timeScale,
61349
61350
  color: ColorSequence.fromColor(secondaryColor),
@@ -62874,7 +62875,7 @@ class RBXRenderer {
62874
62875
  }
62875
62876
  /**@deprecated Use backgroundColor instead */
62876
62877
  static set backgroundColorHex(val) {
62877
- this.backgroundColor = val;
62878
+ RBXRenderer.backgroundColor = val;
62878
62879
  }
62879
62880
  static backgroundTransparent = false;
62880
62881
  static createLoadingIcon = true;
@@ -63016,7 +63017,13 @@ class RBXRenderer {
63016
63017
  */
63017
63018
  static addScene(includeEffectComposer = true) {
63018
63019
  const renderScene = new RBXRendererScene();
63019
- if (includeEffectComposer) RBXRenderer.createEffectComposer(renderScene, false);
63020
+ if (includeEffectComposer) {
63021
+ if (RBXRenderer.renderer) {
63022
+ RBXRenderer.createEffectComposer(renderScene, false);
63023
+ } else {
63024
+ renderScene.queueEffectComposerCreation = true;
63025
+ }
63026
+ }
63020
63027
  RBXRenderer.scenes.push(renderScene);
63021
63028
  return renderScene;
63022
63029
  }
@@ -63061,6 +63068,13 @@ class RBXRenderer {
63061
63068
  RBXRenderer.createLoadingIconHTML();
63062
63069
  }
63063
63070
  RBXRenderer.createEffectComposer(RBXRenderer.firstScene, FLAGS.USE_POST_PROCESSING);
63071
+ for (const scene of RBXRenderer.scenes) {
63072
+ if (scene === RBXRenderer.firstScene) continue;
63073
+ if (scene.queueEffectComposerCreation) {
63074
+ scene.queueEffectComposerCreation = false;
63075
+ RBXRenderer.createEffectComposer(scene, false);
63076
+ }
63077
+ }
63064
63078
  RBXRenderer.setupLostContextHandler();
63065
63079
  }
63066
63080
  static setupLostContextHandler() {
@@ -63263,7 +63277,7 @@ class RBXRenderer {
63263
63277
  if (!autoClear) {
63264
63278
  RBXRenderer.renderer.clearDepth();
63265
63279
  }
63266
- if (!(renderScene.effectComposer && this.usePostProcessing)) RBXRenderer.renderer.setRenderTarget(null);
63280
+ if (!(renderScene.effectComposer && RBXRenderer.usePostProcessing)) RBXRenderer.renderer.setRenderTarget(null);
63267
63281
  let [x, y] = [0, 0];
63268
63282
  let [width, height] = RBXRenderer.resolution;
63269
63283
  if (renderScene.viewport) {
@@ -63286,7 +63300,7 @@ class RBXRenderer {
63286
63300
  renderScene.camera.aspect = width / height;
63287
63301
  renderScene.camera.updateProjectionMatrix();
63288
63302
  if (width > 0 && height > 0) {
63289
- if (renderScene.effectComposer && this.usePostProcessing) {
63303
+ if (renderScene.effectComposer && RBXRenderer.usePostProcessing) {
63290
63304
  renderScene.effectComposer.render();
63291
63305
  } else {
63292
63306
  RBXRenderer.renderer.render(renderScene.scene, renderScene.camera);
@@ -63473,7 +63487,7 @@ class RBXRenderer {
63473
63487
  RBXRenderer.canvasContainer.style.width = `${RBXRenderer.resolution[0]}px`;
63474
63488
  RBXRenderer.canvasContainer.style.height = `${RBXRenderer.resolution[1]}px`;
63475
63489
  RBXRenderer.renderer.setSize(width, height);
63476
- for (const renderScene of this.scenes) {
63490
+ for (const renderScene of RBXRenderer.scenes) {
63477
63491
  if (renderScene.n8aoPass) {
63478
63492
  if (FLAGS.POST_PROCESSING_IS_DOUBLE_SIZE) {
63479
63493
  renderScene.n8aoPass.setSize(width * 2, height * 2);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "roavatar-renderer",
3
- "version": "1.9.6",
3
+ "version": "1.9.8",
4
4
  "description": "A renderer for Roblox avatars, used by the RoAvatar extension.",
5
5
  "author": "steinan",
6
6
  "type": "module",