pixi-effects 0.48.1 → 0.48.2

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 (40) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +5 -5
  3. package/ai/chat-template.html +3 -3
  4. package/dist/Composition-5FKV2IBP.js +7 -0
  5. package/dist/{Composition-BOLWGT2R.js.map → Composition-5FKV2IBP.js.map} +1 -1
  6. package/dist/Composition-TJ5D7Z63.cjs +16 -0
  7. package/dist/{Composition-ZZEOEETS.cjs.map → Composition-TJ5D7Z63.cjs.map} +1 -1
  8. package/dist/{Spans-MWYFG7RI.cjs → Spans-5ENZ3XGS.cjs} +9 -9
  9. package/dist/{Spans-MWYFG7RI.cjs.map → Spans-5ENZ3XGS.cjs.map} +1 -1
  10. package/dist/{Spans-PGXRMD6J.js → Spans-6A3VLHRH.js} +4 -4
  11. package/dist/{Spans-PGXRMD6J.js.map → Spans-6A3VLHRH.js.map} +1 -1
  12. package/dist/{chunk-L3XC464G.cjs → chunk-45ALIMAF.cjs} +76 -56
  13. package/dist/chunk-45ALIMAF.cjs.map +1 -0
  14. package/dist/{chunk-AJWUCFGM.js → chunk-6D4W2KZQ.js} +3 -3
  15. package/dist/{chunk-AJWUCFGM.js.map → chunk-6D4W2KZQ.js.map} +1 -1
  16. package/dist/{chunk-M2LFQY2E.cjs → chunk-CCPJD76D.cjs} +63 -63
  17. package/dist/{chunk-M2LFQY2E.cjs.map → chunk-CCPJD76D.cjs.map} +1 -1
  18. package/dist/{chunk-L3MEZZAV.js → chunk-IVKI6CPH.js} +10 -12
  19. package/dist/chunk-IVKI6CPH.js.map +1 -0
  20. package/dist/{chunk-IY5YTIK3.js → chunk-RCKLUCB7.js} +36 -16
  21. package/dist/chunk-RCKLUCB7.js.map +1 -0
  22. package/dist/{chunk-V3VBHSK6.cjs → chunk-Z3DM4ETD.cjs} +55 -76
  23. package/dist/chunk-Z3DM4ETD.cjs.map +1 -0
  24. package/dist/index.cjs +33 -33
  25. package/dist/index.js +3 -3
  26. package/dist/loader.css +1 -1
  27. package/dist/present.cjs +3 -3
  28. package/dist/present.js +3 -3
  29. package/dist/three.cjs +5 -5
  30. package/dist/three.js +1 -1
  31. package/llms-full.txt +1 -1
  32. package/package.json +1 -1
  33. package/skills/pixi-effects/SKILL.md +1 -1
  34. package/skills/pixi-effects/template.html +6 -6
  35. package/dist/Composition-BOLWGT2R.js +0 -7
  36. package/dist/Composition-ZZEOEETS.cjs +0 -16
  37. package/dist/chunk-IY5YTIK3.js.map +0 -1
  38. package/dist/chunk-L3MEZZAV.js.map +0 -1
  39. package/dist/chunk-L3XC464G.cjs.map +0 -1
  40. package/dist/chunk-V3VBHSK6.cjs.map +0 -1
@@ -1,11 +1,11 @@
1
- import { CompositionSequence, maskSourceOf } from './chunk-AJWUCFGM.js';
1
+ import { CompositionSequence, maskSourceOf } from './chunk-6D4W2KZQ.js';
2
2
  import { loadMediabunny } from './chunk-K3XOEC3C.js';
3
- import { EXPRESSION_NAMES, createTimeline, lengthen, ensureFilterLibrary, checkEase, parseEase, homeDistance, DEFAULT_FOV, random, noise, flattenSvgPath, trimPolylines, rand, DEG, timeRemapOf, contentLength, resolveAt, parseSpring, springDuration, spansMeta } from './chunk-L3MEZZAV.js';
3
+ import { EXPRESSION_NAMES, createTimeline, lengthen, ensureFilterLibrary, checkEase, parseEase, homeDistance, DEFAULT_FOV, random, noise, flattenSvgPath, trimPolylines, rand, DEG, timeRemapOf, contentLength, resolveAt, parseSpring, springDuration, spansMeta } from './chunk-IVKI6CPH.js';
4
4
  import { analyzeAudio, fft, resampleThrough, playSpan, measureLoudness } from './chunk-G4PXCV2B.js';
5
5
  import { usesAdvancedBlend, enableAdvancedBlend } from './chunk-JBDBICS2.js';
6
6
  import { describeLayer } from './chunk-BFRWSV3R.js';
7
7
  import { warnUnknownOptions, suggestName } from './chunk-WGRWFQOB.js';
8
- import { extensions, CullerPlugin, Application, Container, Rectangle, Culler, CanvasTextMetrics, TextStyle, Assets, ExtensionType, Filter, Texture, UniformGroup, GpuProgram, GlProgram, defaultFilterVert, Text, CanvasTextGenerator, CanvasPool } from 'pixi.js';
8
+ import { extensions, CullerPlugin, Application, Container, Rectangle, Culler, BindGroup, CanvasTextMetrics, TextStyle, Assets, ExtensionType, Filter, Texture, UniformGroup, GpuProgram, GlProgram, defaultFilterVert, Text, CanvasTextGenerator, CanvasPool } from 'pixi.js';
9
9
 
10
10
  // src/core/gpuShare.ts
11
11
  function sharedGpuOf(renderer) {
@@ -2930,6 +2930,7 @@ var Movie = class {
2930
2930
  preserveDrawingBuffer: true,
2931
2931
  canvas: options.canvas
2932
2932
  };
2933
+ installQuietUnbind();
2933
2934
  this.app = new Application();
2934
2935
  try {
2935
2936
  await this.app.init({ ...baseAppOptions, preference: "webgpu" });
@@ -3209,11 +3210,11 @@ var Movie = class {
3209
3210
  commitReuse(sequence);
3210
3211
  this.timeline = timeline;
3211
3212
  this._timeFilters = collectTimeFilters(sequence);
3212
- const unmute = muteBoundTextureWarning();
3213
+ const loud = quietUnbind();
3213
3214
  try {
3214
3215
  safeRun(() => old?.destroy());
3215
3216
  } finally {
3216
- unmute();
3217
+ loud();
3217
3218
  }
3218
3219
  safeRun(() => oldTimeline?.kill());
3219
3220
  this._vars = vars;
@@ -3886,7 +3887,7 @@ var Movie = class {
3886
3887
  async destroy() {
3887
3888
  safeRun(() => this.pause());
3888
3889
  this._timeFilters = [];
3889
- const unmute = muteBoundTextureWarning();
3890
+ const loud = quietUnbind();
3890
3891
  try {
3891
3892
  safeRun(() => this._rootSequence?.destroy());
3892
3893
  this._rootSequence = null;
@@ -3895,7 +3896,7 @@ var Movie = class {
3895
3896
  safeRun(() => this.app?.destroy(true, { children: true, texture: true }));
3896
3897
  this.app = null;
3897
3898
  } finally {
3898
- unmute();
3899
+ loud();
3899
3900
  }
3900
3901
  this.audioBuffer = null;
3901
3902
  this._audioSources = [];
@@ -3908,15 +3909,34 @@ var Movie = class {
3908
3909
  }
3909
3910
  };
3910
3911
  var END_MARGIN = 1e-4;
3911
- function muteBoundTextureWarning() {
3912
- const original = console.warn;
3913
- const ours = (...args) => {
3914
- if (args.some((a) => /destroyed while still bound/.test(String(a)))) return;
3915
- original.apply(console, args);
3912
+ var quietDepth = 0;
3913
+ var quietInstalled = false;
3914
+ function installQuietUnbind() {
3915
+ if (quietInstalled) return;
3916
+ quietInstalled = true;
3917
+ const proto = BindGroup.prototype;
3918
+ const original = proto.onResourceChange;
3919
+ if (typeof original !== "function") return;
3920
+ proto.onResourceChange = function(resource) {
3921
+ if (!quietDepth || !resource?.destroyed) {
3922
+ original.call(this, resource);
3923
+ return;
3924
+ }
3925
+ this._dirty = true;
3926
+ const resources = this.resources;
3927
+ if (resources) {
3928
+ for (const i in resources) if (resources[i] === resource) resources[i] = null;
3929
+ }
3916
3930
  };
3917
- console.warn = ours;
3931
+ }
3932
+ function quietUnbind() {
3933
+ quietDepth++;
3934
+ let done = false;
3918
3935
  return () => {
3919
- if (console.warn === ours) console.warn = original;
3936
+ if (!done) {
3937
+ done = true;
3938
+ quietDepth--;
3939
+ }
3920
3940
  };
3921
3941
  }
3922
3942
  var clampFrame = (f, last) => Math.max(0, Math.min(Math.round(f), last));
@@ -5028,5 +5048,5 @@ function withFade(spec, opts) {
5028
5048
  }
5029
5049
 
5030
5050
  export { Movie, animateText, audioEnvelope, bpmEnvelope, cameraPath, computeEnvelope, dismissLoader, failLoader, followPath, kenBurns, measureText, musicBuffer, musicEnvelope, musicEvents, orbit, parseEase2 as parseEase, particles, react, resolveLoader, samplePath, splitText, stagger, wiggle, withFade };
5031
- //# sourceMappingURL=chunk-IY5YTIK3.js.map
5032
- //# sourceMappingURL=chunk-IY5YTIK3.js.map
5051
+ //# sourceMappingURL=chunk-RCKLUCB7.js.map
5052
+ //# sourceMappingURL=chunk-RCKLUCB7.js.map