@needle-tools/engine 4.9.1 → 4.9.3-next.002c20b

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.
Files changed (32) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/{needle-engine.bundle-O7rlGMn7.js → needle-engine.bundle-BR5JPeY6.js} +1991 -1946
  3. package/dist/{needle-engine.bundle-BuTUhZAc.umd.cjs → needle-engine.bundle-BcceMKjs.umd.cjs} +120 -98
  4. package/dist/{needle-engine.bundle-DoywABnJ.min.js → needle-engine.bundle-D3RtScQB.min.js} +128 -106
  5. package/dist/needle-engine.js +2 -2
  6. package/dist/needle-engine.min.js +1 -1
  7. package/dist/needle-engine.umd.cjs +1 -1
  8. package/dist/{postprocessing-B_FzkwDz.min.js → postprocessing-BZOSD1ln.min.js} +53 -53
  9. package/dist/{postprocessing-DTX5VXrj.umd.cjs → postprocessing-Bb5StX0o.umd.cjs} +76 -76
  10. package/dist/{postprocessing-DP1U_BpT.js → postprocessing-BzFF7i-7.js} +212 -190
  11. package/dist/{vendor-8le8g4MS.umd.cjs → vendor-BtJpSuCj.umd.cjs} +1 -1
  12. package/dist/{vendor-yDFiCnCw.min.js → vendor-XJ9xiwrv.min.js} +1 -1
  13. package/dist/{vendor-Msb9AgYE.js → vendor-k9i6CeGi.js} +871 -870
  14. package/lib/engine/webcomponents/needle-engine.loading.js +59 -23
  15. package/lib/engine/webcomponents/needle-engine.loading.js.map +1 -1
  16. package/lib/engine/xr/NeedleXRSession.d.ts +1 -0
  17. package/lib/engine/xr/NeedleXRSession.js +25 -11
  18. package/lib/engine/xr/NeedleXRSession.js.map +1 -1
  19. package/lib/engine-components/Animation.js +1 -1
  20. package/lib/engine-components/Animation.js.map +1 -1
  21. package/lib/engine-components/Renderer.js +12 -5
  22. package/lib/engine-components/Renderer.js.map +1 -1
  23. package/lib/engine-components/SpriteRenderer.js +4 -1
  24. package/lib/engine-components/SpriteRenderer.js.map +1 -1
  25. package/package.json +3 -3
  26. package/plugins/vite/alias.js +5 -3
  27. package/plugins/vite/poster-client.js +22 -21
  28. package/src/engine/webcomponents/needle-engine.loading.ts +63 -24
  29. package/src/engine/xr/NeedleXRSession.ts +25 -10
  30. package/src/engine-components/Animation.ts +1 -1
  31. package/src/engine-components/Renderer.ts +12 -5
  32. package/src/engine-components/SpriteRenderer.ts +3 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../../src/engine-components/Renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../../src/engine-components/Renderer.ts"],"names":[],"mappings":"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"}
@@ -312,7 +312,10 @@ export class SpriteRenderer extends Behaviour {
312
312
  if (value === this._spriteSheet)
313
313
  return;
314
314
  if (typeof value === "number") {
315
- const index = Math.floor(value);
315
+ // the value if interpolated is sometimes *slightly* off (e.g. 0.999999 or 1.000001) so we round it
316
+ const index = Math.round(value);
317
+ if (debug)
318
+ console.log("[SpriteSheet] Set index to " + index + " (was " + this.spriteIndex + ")", value);
316
319
  this.spriteIndex = index;
317
320
  }
318
321
  else if (value instanceof Sprite) {
@@ -1 +1 @@
1
- {"version":3,"file":"SpriteRenderer.js","sourceRoot":"","sources":["../../src/engine-components/SpriteRenderer.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,iBAAiB,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEtJ,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,KAAK,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAAC;AAC9C,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;AAE5C,MAAM,WAAW;IAEb,MAAM,CAAC,KAAK,GAAsC,EAAE,CAAC;IAErD,MAAM,CAAC,mBAAmB,CAAC,MAAc;QACrC,IAAI,MAAM,CAAC,iBAAiB;YAAE,OAAO,MAAM,CAAC,iBAAiB,CAAC;QAC9D,IAAI,MAAM,CAAC,IAAI,EAAE;YACb,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBAChC,IAAI,KAAK;oBAAE,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBACvE,OAAO,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aACzC;SACJ;QACD,MAAM,GAAG,GAAG,IAAI,cAAc,EAAE,CAAC;QACjC,MAAM,CAAC,iBAAiB,GAAG,GAAG,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YACjD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAElC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5C,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAE/C,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YACxB,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YAC5B,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAClB,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;SAC7B;QACD,GAAG,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/D,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QACpD,IAAI,MAAM,CAAC,IAAI;YACX,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;QAClC,IAAI,KAAK;YACL,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QACtD,OAAO,GAAG,CAAC;IACf,CAAC;;AAGL,aAAa;AACb,4CAA4C;AAC5C,cAAc;AACd,MAAM,CAAN,IAAY,cAaX;AAbD,WAAY,cAAc;IACtB,aAAa;IACb,4CAA4C;IAC5C,cAAc;IACd,uDAAU,CAAA;IACV,aAAa;IACb,yJAAyJ;IACzJ,cAAc;IACd,uDAAU,CAAA;IACV,aAAa;IACb,wJAAwJ;IACxJ,cAAc;IACd,qDAAS,CAAA;AACb,CAAC,EAbW,cAAc,KAAd,cAAc,QAazB;AAED,MAAM,IAAI;IACN,CAAC,CAAU;IACX,CAAC,CAAU;CACd;AAED,SAAS,wBAAwB,CAAC,GAAY;IAC1C,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,IAAI,GAAG,CAAC,UAAU,IAAI,cAAc,EAAE;QAClC,GAAG,CAAC,UAAU,GAAG,cAAc,CAAC;QAChC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;KAC1B;IACD,IAAI,GAAG,CAAC,SAAS,IAAI,aAAa,IAAI,GAAG,CAAC,SAAS,IAAI,aAAa,EAAE;QAClE,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC;QACnB,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;KAC1B;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,MAAM;IAEf,YAAY,OAAiB;QACzB,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACpC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC3E,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;SAChG;IACL,CAAC;IAID,IAAI,CAAU;IAEd,OAAO,CAAW;IAElB,SAAS,CAAiB;IAE1B,EAAE,CAAe;IAEjB,QAAQ,CAAe;IAEvB,gBAAgB;IAChB,iBAAiB,CAAkB;IAEnC;;OAEG;IACH,IAAI,IAAI;QACJ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACb,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC/E;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IACO,KAAK,CAAmB;IAEhC;;OAEG;IACH,IAAI,QAAQ;QACR,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,IAAI,IAAI,CAAC,OAAO,EAAE;gBACd,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC1C;YACD,IAAI,CAAC,SAAS,GAAG,IAAI,iBAAiB,CAAC;gBACnC,GAAG,EAAE,IAAI,CAAC,OAAO;gBACjB,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,IAAI;aACpB,CAAC,CAAC;SACN;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IACO,SAAS,CAAgC;IAEjD;;OAEG;IACH,WAAW;QACP,OAAO,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;CACJ;AAjDG;IADC,YAAY,EAAE;oCACD;AAEd;IADC,YAAY,CAAC,OAAO,CAAC;uCACJ;AAElB;IADC,aAAa,EAAE;yCACU;AAE1B;IADC,aAAa,EAAE;kCACC;AAEjB;IADC,aAAa,EAAE;wCACO;AA2C3B,MAAM,eAAe,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAE9C,MAAM,OAAO,WAAW;IAGpB,OAAO,CAAW;IAElB;QACI,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,CAAC;CACJ;AALG;IADC,YAAY,CAAC,MAAM,CAAC;4CACH;AAOtB,MAAM,OAAO,UAAU;IAEnB,MAAM,CAAC,MAAM;QACT,MAAM,CAAC,GAAG,IAAI,UAAU,EAAE,CAAC;QAC3B,CAAC,CAAC,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,OAAO,CAAC,CAAC;IACb,CAAC;IAED,+EAA+E;IAC/E,wIAAwI;IACxI,sDAAsD;IACtD,gBAAgB,CAAC;IAEjB,KAAK;QACD,MAAM,CAAC,GAAG,IAAI,UAAU,EAAE,CAAC;QAC3B,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACrB,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACjC,OAAO,CAAC,CAAC;IACb,CAAC;IAED;;OAEG;IACH,IAAI,MAAM,CAAC,MAA0B;QACjC,IAAI,CAAC,MAAM,EAAE;YACT,OAAO;SACV;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;YACrC,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;SAClB;aACI;YACD,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;gBAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACpE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;SACjD;IACL,CAAC;IACD,kCAAkC;IAClC,IAAI,MAAM;QACN,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO,SAAS,CAAC;QACxC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IAEH,WAAW,CAAe;IAE1B;;OAEG;IAEH,KAAK,GAAW,CAAC,CAAC;IAElB,MAAM,CAAC,QAA8B;QACjC,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM;YACrD,OAAO;QAEX,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,MAAM,EAAE,OAAO,CAAC;QAC5B,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,wBAAwB,CAAC,GAAG,CAAC,CAAC;QAE9B,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,EAAE;YACnC,MAAM,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC;YACxC,MAAM,eAAe,GAAG,GAAG,CAAC;YAC5B,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACnD,IAAI,GAAG,YAAY,OAAO,EAAE;oBACxB,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC;oBACrB,MAAM,sBAAsB,GAAG,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,eAAe,CAAC;oBACrE,IAAI,sBAAsB,EAAE;wBACxB,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;wBACtB,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC;qBAC/B;iBACJ;YACL,CAAC,CAAC,CAAC;SACN;IACL,CAAC;CACJ;AAlCG;IADC,YAAY,CAAC,WAAW,CAAC;+CACA;AAM1B;IADC,YAAY,EAAE;yCACG;AA8BtB;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,SAAS;IAEzC,qDAAqD;IAErD,QAAQ,GAAmB,cAAc,CAAC,MAAM,CAAC;IAEjD,mDAAmD;IAEnD,IAAI,GAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAG5B,KAAK,CAAa;IAElB;;OAEG;IAEH,cAAc,CAAY;IAE1B,kBAAkB;IAElB,WAAW,GAAY,IAAI,CAAC;IAE5B,eAAe,GAAW,CAAC,CAAC;IAE5B,WAAW,GAAY,KAAK,CAAC;IAE7B,WAAW,GAAW,CAAC,CAAC;IAExB,UAAU,GAAY,IAAI,CAAC;IAE3B;;OAEG;IACH,IAAI,OAAO,CAAC,KAA0B;QAClC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/E,IAAI,CAAC,aAAa;YAAE,OAAO;QAC3B,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,MAAc,EAAE,YAAqB,KAAK;QAChD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpB,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;SAC3C;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW;YAAE,OAAO,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAChE,IAAI,SAAS,EAAE;YACX,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC5B;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IAEH,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IACD;;OAEG;IACH,IAAI,MAAM,CAAC,KAA+C;QACtD,IAAI,KAAK,KAAK,IAAI,CAAC,YAAY;YAAE,OAAO;QACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC5B;aACI,IAAI,KAAK,YAAY,MAAM,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBACpB,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;aAC3C;YACD,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,KAAK,EAAE;gBACnC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC;aACpC;YACD,IAAI,CAAC,YAAY,EAAE,CAAC;SACvB;aACI,IAAI,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE;YACjC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;SACvB;IACL,CAAC;IAED;;OAEG;IACH,IAAI,WAAW,CAAC,KAAa;QACzB,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAC/B,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,YAAY,EAAE,CAAC;IACxB,CAAC;IACD,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,YAAY,EAAE,KAAK,IAAI,CAAC,CAAC;IACzC,CAAC;IACD;;OAEG;IACH,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;IAC/D,CAAC;IAEO,YAAY,CAAc;IAC1B,cAAc,CAAQ;IAG9B,gBAAgB;IAChB,KAAK;QACD,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAEhC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpB,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;SAC3C;aACI;YACD,8KAA8K;YAC9K,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;SACjD;QAED,IAAI,KAAK,EAAE;YACP,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;SACtD;IACL,CAAC;IAED,gBAAgB;IAChB,KAAK;QACD,IAAI,CAAC,IAAI,CAAC,cAAc;YACpB,IAAI,CAAC,YAAY,EAAE,CAAC;aACnB,IAAI,IAAI,CAAC,UAAU;YACpB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,QAAiB,KAAK;QAC/B,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC;QAC/B,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE;YAC7B,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;YACtE,OAAO,KAAK,CAAC;SAChB;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,EAAE;YACT,IAAI,KAAK;gBACL,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACjF,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,MAAM,GAAG,GAAG,IAAI,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;YACzE,IAAI,aAAa;gBACb,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;YACzB,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;oBAAE,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC;gBAC9C,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC9B,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;aACrC;YACD,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC;YACvB,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACjC,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC;YAEvB,IAAI,MAAM,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE;gBAClC,IAAI,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC;gBACzB,4DAA4D;gBAC5D,kCAAkC;gBAClC,6CAA6C;gBAC7C,IAAI,GAAG,CAAC,eAAe,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,eAAe,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE;oBAC9F,GAAG,GAAG,MAAO,CAAC,OAAO,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;iBACvC;gBACD,GAAG,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;gBAC5B,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;aACpB;YACD,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;YAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;YAC7E,IAAI,CAAC,cAAc,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC/D,kBAAkB,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;SAC/C;aACI;YACD,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,WAAW,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACvE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;SACxD;QAED,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,EAAE;YAChD,IAAI,IAAI,CAAC,QAAQ,KAAK,cAAc,CAAC,KAAK;gBACtC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/D,IAAI,IAAI,CAAC,UAAU;gBACf,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SAChD;QAED,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;SAC7C;QAED,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;YACrD,IAAI,CAAC,cAAc,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;SACtD;QACD,IAAI,CAAC,cAAc,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;QAClD,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AArNG;IADC,YAAY,EAAE;gDACkC;AAIjD;IADC,YAAY,CAAC,IAAI,CAAC;4CACS;AAG5B;IADC,YAAY,CAAC,SAAS,CAAC;6CACN;AAMlB;IADC,YAAY,CAAC,QAAQ,CAAC;sDACG;AAI1B;IADC,YAAY,EAAE;mDACa;AAE5B;IADC,YAAY,EAAE;uDACa;AAE5B;IADC,YAAY,EAAE;mDACc;AAE7B;IADC,YAAY,EAAE;mDACS;AAExB;IADC,YAAY,EAAE;kDACY;AA2C3B;IADC,YAAY,CAAC,UAAU,CAAC;4CAGxB"}
1
+ {"version":3,"file":"SpriteRenderer.js","sourceRoot":"","sources":["../../src/engine-components/SpriteRenderer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@needle-tools/engine",
3
- "version": "4.9.1",
3
+ "version": "4.9.3-next.002c20b",
4
4
  "description": "Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in.",
5
5
  "main": "dist/needle-engine.min.js",
6
6
  "exports": {
@@ -94,7 +94,7 @@
94
94
  "dependencies": {
95
95
  "@dimforge/rapier3d-compat": "^0.19.0",
96
96
  "@needle-tools/gltf-progressive": "3.3.4",
97
- "@needle-tools/three-animation-pointer": "1.0.2",
97
+ "@needle-tools/three-animation-pointer": "1.0.3",
98
98
  "@webxr-input-profiles/motion-controllers": "^1.0.0",
99
99
  "flatbuffers": "2.0.4",
100
100
  "md5": "^2.3.0",
@@ -168,4 +168,4 @@
168
168
  "module": "lib/needle-engine.js",
169
169
  "typings": "lib/needle-engine.d.ts",
170
170
  "types": "lib/needle-engine.d.ts"
171
- }
171
+ }
@@ -113,12 +113,14 @@ export const needleViteAlias = (command, config, userSettings) => {
113
113
 
114
114
  // is needle engine a local package?
115
115
  // This will cause local changes to not be reflected anymore...
116
- const localEnginePath = path.resolve(projectDir, 'node_modules/', '@needle-tools/engine', 'node_modules');
116
+ const localEnginePath = path.resolve(projectDir, 'node_modules/', '@needle-tools/engine', 'node_modules', '.package-lock.json');
117
117
  if (existsSync(localEnginePath)) {
118
118
  config.optimizeDeps ??= {};
119
119
  config.optimizeDeps.exclude ??= [];
120
- config.optimizeDeps.exclude.push('@needle-tools/engine');
121
- log("[needle-alias] Detected local @needle-tools/engine package: will exclude it from optimization");
120
+ if (!config.optimizeDeps.include?.includes('@needle-tools/engine')) {
121
+ config.optimizeDeps.exclude.push('@needle-tools/engine');
122
+ log("[needle-alias] Detected local @needle-tools/engine package → will exclude it from optimization");
123
+ }
122
124
  }
123
125
 
124
126
 
@@ -10,32 +10,33 @@ async function generatePoster() {
10
10
  const height = 1080;
11
11
 
12
12
  return new Promise(res => {
13
- onStart(async context => {
13
+ /** @ts-ignore */
14
+ onStart(async (context) => {
14
15
 
15
16
  if (context.lodsManager.manager) {
16
17
  await context.lodsManager.manager.awaitLoading({ frames: 5, maxPromisesPerObject: 2, waitForFirstCapture: true });
17
18
  }
18
19
 
19
- const mimeType = "image/webp";
20
-
21
- // We're reading back as a blob here because that's async, and doesn't seem
22
- // to stress the GPU so much on memory-constrained devices.
23
- const blob = await screenshot2({ context, width, height, mimeType, type: "blob" });
24
-
25
- // We can only send a DataURL, so we need to convert it back here.
26
- const dataUrl = await new Promise((resolve, reject) => {
27
- const reader = new FileReader();
28
- reader.onload = function () {
29
- resolve(reader.result);
30
- };
31
- reader.onloadend = function () {
32
- resolve(null);
33
- };
34
- reader.readAsDataURL(blob);
35
- });
36
-
37
-
38
- res(dataUrl);
20
+ onStart(() => {
21
+ const mimeType = "image/webp";
22
+ // We're reading back as a blob here because that's async, and doesn't seem
23
+ // to stress the GPU so much on memory-constrained devices.
24
+ screenshot2({ context, width, height, mimeType, type: "blob" })
25
+ // @ts-ignore
26
+ .then(blob => {
27
+ const reader = new FileReader();
28
+ reader.onload = function () {
29
+ res(reader.result);
30
+ };
31
+ reader.onloadend = function () {
32
+ res(null);
33
+ };
34
+ reader.readAsDataURL(blob);
35
+
36
+ })
37
+
38
+
39
+ }, { once: true });
39
40
 
40
41
 
41
42
  }, { once: true });
@@ -158,8 +158,18 @@ export class EngineLoadingView implements ILoadingViewHandler {
158
158
  private onDoneLoading() {
159
159
  if (this._loadingElement) {
160
160
  if (debug) console.log("Hiding loading element");
161
- this._loadingElement.style.display = "none";
162
- this._loadingElement.remove();
161
+ // animate alpha to 0
162
+ const element = this._loadingElement;
163
+ element.animate([
164
+ { opacity: 1 },
165
+ { opacity: 0 }
166
+ ], {
167
+ duration: 200,
168
+ easing: 'ease-in-out',
169
+ }).addEventListener('finish', () => {
170
+ element.style.display = "none";
171
+ element.remove();
172
+ });
163
173
  }
164
174
  if (this._progressLoop)
165
175
  clearInterval(this._progressLoop);
@@ -190,6 +200,7 @@ export class EngineLoadingView implements ILoadingViewHandler {
190
200
  loadingStyle = "light";
191
201
  }
192
202
 
203
+
193
204
  const hasLicense = hasProLicense();
194
205
  if (!existing) {
195
206
  this._loadingElement.style.position = "absolute";
@@ -197,6 +208,7 @@ export class EngineLoadingView implements ILoadingViewHandler {
197
208
  this._loadingElement.style.height = "100%";
198
209
  this._loadingElement.style.left = "0";
199
210
  this._loadingElement.style.top = "0";
211
+ this._loadingElement.style.overflow = "hidden";
200
212
  const loadingBackgroundColor = this._element.getAttribute("loading-background");
201
213
  if (loadingBackgroundColor) {
202
214
  this._loadingElement.style.background = loadingBackgroundColor;
@@ -227,24 +239,48 @@ export class EngineLoadingView implements ILoadingViewHandler {
227
239
  }
228
240
 
229
241
  const content = document.createElement("div");
242
+ content.style.cssText = `
243
+ position: relative;
244
+ display: flex;
245
+ flex-direction: column;
246
+ align-items: center;
247
+ justify-content: center;
248
+ width: 100%;
249
+ height: 100%;
250
+ pointer-events: none;
251
+ `
230
252
  this._loadingElement.appendChild(content);
231
253
 
254
+ const poster = this._element.getAttribute("poster");
255
+ if (poster !== null && poster !== "0") {
256
+ const backgroundImage = document.createElement("div");
257
+ const backgroundBlur = poster?.length ? "0px" : "50px";
258
+ backgroundImage.style.cssText = `
259
+ position: absolute;
260
+ left: 0;
261
+ top: 0;
262
+ bottom: 0;
263
+ right: 0;
264
+ z-index: -1;
265
+ overflow: hidden;
266
+
267
+ margin: -${backgroundBlur};
268
+ background: url('${poster?.length ? poster : "/include/poster.webp"}') center center no-repeat;
269
+ background-size: cover;
270
+ filter: blur(${backgroundBlur});
271
+ `;
272
+ this._loadingElement.appendChild(backgroundImage);
273
+ }
274
+
232
275
  const logo = document.createElement("img");
233
- const logoSize = 120;
234
- logo.style.width = `${logoSize}px`;
235
- logo.style.height = `${logoSize}px`;
236
- logo.style.paddingTop = "20px";
237
- logo.style.paddingBottom = "10px";
238
- logo.style.margin = "0px";
276
+ const logoWidth = "80%";
277
+ const logoHeight = "15%";
278
+ const logoDelay = ".2s";
239
279
  logo.style.userSelect = "none";
240
280
  logo.style.objectFit = "contain";
241
- logo.style.transition = "transform 1.5s ease-out, opacity .3s ease-in-out";
242
281
  logo.style.transform = "translateY(30px)";
243
- logo.style.opacity = "0.05";
244
- setTimeout(() => {
245
- logo.style.opacity = "1";
246
- logo.style.transform = "translateY(0px)";
247
- }, 1);
282
+ logo.style.opacity = "0.0000001";
283
+ logo.style.transition = `transform 1s ease-out ${logoDelay}, opacity .3s ease-in-out ${logoDelay}`;
248
284
  logo.src = needleLogoOnlySVG;
249
285
  let isUsingCustomLogo = false;
250
286
  if (hasLicense && this._element) {
@@ -252,8 +288,15 @@ export class EngineLoadingView implements ILoadingViewHandler {
252
288
  if (customLogo) {
253
289
  isUsingCustomLogo = true;
254
290
  logo.src = customLogo;
291
+ setTimeout(() => {
292
+ logo.style.opacity = "1";
293
+ logo.style.transform = "translateY(0px)";
294
+ }, 1);
255
295
  }
256
296
  }
297
+
298
+ logo.style.width = `${logoWidth}`;
299
+ logo.style.height = `min(1000px, max(${logoHeight}, 50px))`;
257
300
  content.appendChild(logo);
258
301
 
259
302
  const details = document.createElement("div");
@@ -273,18 +316,14 @@ export class EngineLoadingView implements ILoadingViewHandler {
273
316
  const maxWidth = 100;
274
317
  loadingBarContainer.style.display = "flex";
275
318
  loadingBarContainer.style.width = maxWidth + "%";
276
- loadingBarContainer.style.height = "3px";
319
+ loadingBarContainer.style.height = "5px";
277
320
  loadingBarContainer.style.position = "absolute";
278
321
  loadingBarContainer.style.left = "0";
279
- loadingBarContainer.style.bottom = "0px";
322
+ loadingBarContainer.style.top = "0px";
280
323
  loadingBarContainer.style.opacity = "0";
281
- loadingBarContainer.style.transition = "opacity 1s ease-in-out 2s";
324
+ loadingBarContainer.style.transition = "opacity 1s ease-in-out";
325
+ loadingBarContainer.style.backgroundColor = "rgba(240,240,240,.5)"
282
326
  setTimeout(() => { loadingBarContainer.style.opacity = "1"; }, 1);
283
- if (loadingStyle === "light")
284
- loadingBarContainer.style.backgroundColor = "rgba(0,0,0,.2)"
285
- else
286
- loadingBarContainer.style.backgroundColor = "rgba(255,255,255,.2)"
287
- // loadingBarContainer.style.alignItems = "center";
288
327
 
289
328
  this._loadingElement.appendChild(loadingBarContainer);
290
329
 
@@ -294,9 +333,9 @@ export class EngineLoadingView implements ILoadingViewHandler {
294
333
  const getGradientPos = function (t: number): string {
295
334
  return Mathf.lerp(0, maxWidth, t) + "%";
296
335
  }
297
- this._loadingBar.style.background = "#66A22F";
298
- // `linear-gradient(90deg, #204f49 ${getGradientPos(0)}, #0BA398 ${getGradientPos(.3)}, #66A22F ${getGradientPos(.6)}, #D7DB0A ${getGradientPos(1)})`;
336
+ // `linear-gradient(90deg, #204f49 ${getGradientPos(0)}, #0BA398 ${getGradientPos(.3)}, #66A22F ${getGradientPos(.6)}, #D7DB0A ${getGradientPos(1)})`;
299
337
  this._loadingBar.style.backgroundAttachment = "fixed";
338
+ this._loadingBar.style.background = "#c4c4c4ab";
300
339
  this._loadingBar.style.width = "0%";
301
340
  this._loadingBar.style.height = "100%";
302
341
  if (hasLicense && this._element) {
@@ -1114,6 +1114,7 @@ export class NeedleXRSession implements INeedleXRSession {
1114
1114
  this.revertCustomForward();
1115
1115
  this._didStart = false;
1116
1116
  this._previousCameraParent = null;
1117
+ this.requestedCameraNearPlane = null;
1117
1118
 
1118
1119
  unregisterFrameEventCallback(this.onBefore, FrameEvent.LateUpdate);
1119
1120
  const index = this.context.pre_render_callbacks.indexOf(this.onBeforeRender);
@@ -1412,8 +1413,14 @@ export class NeedleXRSession implements INeedleXRSession {
1412
1413
  }
1413
1414
 
1414
1415
  private onBeforeRender = () => {
1415
- if (this.context.mainCamera)
1416
+ if (this.context.mainCamera) {
1416
1417
  this.updateFade(this.context.mainCamera);
1418
+
1419
+ if (this.requestedCameraNearPlane !== null && this.context.mainCamera instanceof PerspectiveCamera) {
1420
+ this.context.mainCamera.near = this.requestedCameraNearPlane;
1421
+ this.requestedCameraNearPlane = null;
1422
+ }
1423
+ }
1417
1424
  }
1418
1425
 
1419
1426
  private onAfterRender = () => {
@@ -1556,6 +1563,7 @@ export class NeedleXRSession implements INeedleXRSession {
1556
1563
  private _previousCameraParent!: Object3D | null;
1557
1564
  private readonly _customforward: boolean = true;
1558
1565
  private originalCameraNearPlane?: number;
1566
+ private requestedCameraNearPlane: number | null = null;
1559
1567
  /** This is used to have the XR system camera look into threejs Z forward direction (instead of -z) */
1560
1568
  private applyCustomForward() {
1561
1569
  if (this.context.mainCamera && this._customforward) {
@@ -1567,15 +1575,22 @@ export class NeedleXRSession implements INeedleXRSession {
1567
1575
  this._cameraRenderParent.name = "XR Camera Render Parent";
1568
1576
  this._cameraRenderParent.add(this._camera);
1569
1577
 
1570
- let minNearPlane = .02;
1571
- if (this.rig) {
1572
- const rigWorldScale = getWorldScale(this.rig.gameObject);
1573
- minNearPlane *= rigWorldScale.x;
1574
- }
1575
- if (this._camera instanceof PerspectiveCamera && Math.abs(this._camera.near - minNearPlane) > .0001) {
1576
- this.originalCameraNearPlane = this._camera.near;
1577
- this._camera.near = minNearPlane;
1578
- if (debug) console.debug(`Setting camera near plane to ${minNearPlane} (was ${this.originalCameraNearPlane}) to account for XR rendering scale`);
1578
+ {
1579
+ let minNearPlane = .02;
1580
+ const threshold = 0.001;
1581
+ if (this.rig) {
1582
+ const rigWorldScale = getWorldScale(this.rig.gameObject);
1583
+ minNearPlane *= rigWorldScale.x;
1584
+ }
1585
+ if (this._camera instanceof PerspectiveCamera && Math.abs(this._camera.near - minNearPlane) > threshold) {
1586
+ // TODO: when we're in AR and update the near plane we do get glitchy rendering/sheered matrix transforms when scaling the scene (WebXRSessionRoot). As a workaround we defer AR near plane changes to before rendering but change VR near planes immediately.
1587
+ if (this.isAR)
1588
+ this.originalCameraNearPlane = this._camera.near;
1589
+ else {
1590
+ this._camera.near = minNearPlane;
1591
+ }
1592
+ if (debug) console.debug(`Setting camera near plane to ${minNearPlane} (was ${this.originalCameraNearPlane}) to account for XR rendering scale`);
1593
+ }
1579
1594
  }
1580
1595
  }
1581
1596
  }
@@ -181,7 +181,7 @@ export class Animation extends Behaviour implements IAnimationComponent {
181
181
  }
182
182
  }
183
183
  get animations(): AnimationClip[] {
184
- return this.gameObject.animations || this._tempAnimationsArray || [];
184
+ return this.gameObject?.animations || this._tempAnimationsArray || [];
185
185
  }
186
186
 
187
187
  private mixer: AnimationMixer | undefined = undefined;
@@ -355,6 +355,10 @@ export class Renderer extends Behaviour implements IRenderer {
355
355
 
356
356
  //@ts-ignore
357
357
  get sharedMaterials(): SharedMaterialArray {
358
+
359
+ // @ts-ignore during deserialization code might access this property *before* the setter and then create an empty array
360
+ if (!this.__didAwake) return null;
361
+
358
362
  if (!this._sharedMaterials || !this._sharedMaterials.is(this)) {
359
363
  if (!this._originalMaterials) this._originalMaterials = [];
360
364
  this._sharedMaterials = new SharedMaterialArray(this, this._originalMaterials);
@@ -670,7 +674,7 @@ export class Renderer extends Behaviour implements IRenderer {
670
674
  this.applySettings(this.gameObject);
671
675
  }
672
676
 
673
- if (this.sharedMaterials.changed) {
677
+ if (this.sharedMaterials?.changed) {
674
678
  this.sharedMaterials.changed = false;
675
679
  this.applyLightmapping();
676
680
  }
@@ -714,12 +718,15 @@ export class Renderer extends Behaviour implements IRenderer {
714
718
  // since three 163 we need to set the envMap to the scene envMap if it is not set
715
719
  // otherwise the envmapIntensity has no effect: https://github.com/mrdoob/three.js/pull/27903
716
720
  // internal issue: https://linear.app/needle/issue/NE-6363
717
- for (const mat of this._sharedMaterials) {
718
- // If the material has a envMap and is NOT using a reflection probe we set the envMap to the scene environment
719
- if (mat && "envMap" in mat && "envMapIntensity" in mat && !ReflectionProbe.isUsingReflectionProbe(mat)) {
720
- mat.envMap = this.context.scene.environment;
721
+ if (this._sharedMaterials) {
722
+ for (const mat of this._sharedMaterials) {
723
+ // If the material has a envMap and is NOT using a reflection probe we set the envMap to the scene environment
724
+ if (mat && "envMap" in mat && "envMapIntensity" in mat && !ReflectionProbe.isUsingReflectionProbe(mat)) {
725
+ mat.envMap = this.context.scene.environment;
726
+ }
721
727
  }
722
728
  }
729
+ else if (debugRenderer) console.warn("[Renderer] sharedMaterials not initialized yet: " + this.name);
723
730
  }
724
731
 
725
732
  private onBeforeRenderThree = (_renderer, _scene, _camera, _geometry, material, _group) => {
@@ -329,7 +329,9 @@ export class SpriteRenderer extends Behaviour {
329
329
  set sprite(value: Sprite | SpriteData | undefined | number) {
330
330
  if (value === this._spriteSheet) return;
331
331
  if (typeof value === "number") {
332
- const index = Math.floor(value);
332
+ // the value if interpolated is sometimes *slightly* off (e.g. 0.999999 or 1.000001) so we round it
333
+ const index = Math.round(value);
334
+ if (debug) console.log("[SpriteSheet] Set index to " + index + " (was " + this.spriteIndex + ")", value);
333
335
  this.spriteIndex = index;
334
336
  }
335
337
  else if (value instanceof Sprite) {