pixi-effects 0.27.0 → 0.27.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 (50) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +9 -5
  3. package/ai/chat-template.html +3 -3
  4. package/dist/{Base-CVezIEdo.d.ts → Base-CKGl6jCo.d.ts} +1 -1
  5. package/dist/{Base-DzC3i919.d.cts → Base-DjhdL8B1.d.cts} +1 -1
  6. package/dist/Composition-DRCTWIYH.cjs +16 -0
  7. package/dist/{Composition-QCOWQSDB.cjs.map → Composition-DRCTWIYH.cjs.map} +1 -1
  8. package/dist/Composition-TZHVYIGH.js +7 -0
  9. package/dist/{Composition-4TYDRRRY.js.map → Composition-TZHVYIGH.js.map} +1 -1
  10. package/dist/Controller.d.cts +2 -2
  11. package/dist/Controller.d.ts +2 -2
  12. package/dist/{Movie-CQ0Nz62a.d.cts → Movie-CbYwTs6U.d.cts} +1 -1
  13. package/dist/{Movie-M9dKm9dI.d.ts → Movie-ILKq2fw_.d.ts} +1 -1
  14. package/dist/Presenter.d.cts +2 -2
  15. package/dist/Presenter.d.ts +2 -2
  16. package/dist/{chunk-TGJACVLD.js → chunk-BQNNZEAX.js} +5 -5
  17. package/dist/chunk-BQNNZEAX.js.map +1 -0
  18. package/dist/{chunk-NDR2VQFV.cjs → chunk-C7HJJ7MZ.cjs} +61 -61
  19. package/dist/{chunk-NDR2VQFV.cjs.map → chunk-C7HJJ7MZ.cjs.map} +1 -1
  20. package/dist/{chunk-CKTS6G6I.js → chunk-K3F2YKL4.js} +3 -3
  21. package/dist/{chunk-CKTS6G6I.js.map → chunk-K3F2YKL4.js.map} +1 -1
  22. package/dist/{chunk-RQMI7EJT.cjs → chunk-YOV6MEXH.cjs} +5 -5
  23. package/dist/chunk-YOV6MEXH.cjs.map +1 -0
  24. package/dist/index.cjs +58 -40
  25. package/dist/index.cjs.map +1 -1
  26. package/dist/index.d.cts +4 -4
  27. package/dist/index.d.ts +4 -4
  28. package/dist/index.js +31 -13
  29. package/dist/index.js.map +1 -1
  30. package/dist/loader.css +1 -1
  31. package/dist/{music-4O367SPR.cjs → music-6MTHQEXS.cjs} +297 -99
  32. package/dist/music-6MTHQEXS.cjs.map +1 -0
  33. package/dist/{music-3O5MDQXY.js → music-72YJAMXH.js} +297 -100
  34. package/dist/music-72YJAMXH.js.map +1 -0
  35. package/dist/three.cjs +5 -5
  36. package/dist/three.d.cts +2 -2
  37. package/dist/three.d.ts +2 -2
  38. package/dist/three.js +1 -1
  39. package/dist/{types-DUVefWiB.d.cts → types-BNVsBBZf.d.cts} +2 -0
  40. package/dist/{types-DUVefWiB.d.ts → types-BNVsBBZf.d.ts} +2 -0
  41. package/llms-full.txt +1 -1
  42. package/package.json +2 -2
  43. package/skills/pixi-effects/SKILL.md +1 -1
  44. package/skills/pixi-effects/template.html +6 -6
  45. package/dist/Composition-4TYDRRRY.js +0 -7
  46. package/dist/Composition-QCOWQSDB.cjs +0 -16
  47. package/dist/chunk-RQMI7EJT.cjs.map +0 -1
  48. package/dist/chunk-TGJACVLD.js.map +0 -1
  49. package/dist/music-3O5MDQXY.js.map +0 -1
  50. package/dist/music-4O367SPR.cjs.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkNDR2VQFV_cjs = require('./chunk-NDR2VQFV.cjs');
4
- var chunkRQMI7EJT_cjs = require('./chunk-RQMI7EJT.cjs');
3
+ var chunkC7HJJ7MZ_cjs = require('./chunk-C7HJJ7MZ.cjs');
4
+ var chunkYOV6MEXH_cjs = require('./chunk-YOV6MEXH.cjs');
5
5
  var chunkP4GY3Z4G_cjs = require('./chunk-P4GY3Z4G.cjs');
6
6
  var chunkZMAD3KJU_cjs = require('./chunk-ZMAD3KJU.cjs');
7
7
  var chunkTWZNOUM7_cjs = require('./chunk-TWZNOUM7.cjs');
@@ -145,16 +145,19 @@ function clockReach(a, total) {
145
145
  }
146
146
 
147
147
  // src/core/AudioMixer.ts
148
- async function mixdown(audios, totalDuration, sampleRate = 44100) {
148
+ async function mixdown(audios, totalDuration, sampleRate = 44100, pace) {
149
149
  if (audios.length === 0) return null;
150
+ const weight = (a) => a.synth ? Math.max(1, a.end - a.start) : 0.2;
151
+ const all = audios.reduce((s, a) => s + weight(a), 0) + 0.5;
152
+ let made = 0;
150
153
  const ctx = new OfflineAudioContext(2, Math.ceil(sampleRate * totalDuration), sampleRate);
151
154
  const synthesised = /* @__PURE__ */ new Map();
152
- const bufferOf = (a) => {
155
+ const bufferOf = async (a, inner) => {
153
156
  if (a.buffer) return a.buffer;
154
157
  if (!a.synth) return null;
155
158
  let buf = synthesised.get(a.synth.key);
156
159
  if (!buf) {
157
- const [left, right] = a.synth.render(sampleRate);
160
+ const [left, right] = a.synth.renderAsync ? await a.synth.renderAsync(sampleRate, inner) : a.synth.render(sampleRate);
158
161
  buf = ctx.createBuffer(2, left.length, sampleRate);
159
162
  buf.getChannelData(0).set(left);
160
163
  buf.getChannelData(1).set(right);
@@ -163,7 +166,10 @@ async function mixdown(audios, totalDuration, sampleRate = 44100) {
163
166
  return buf;
164
167
  };
165
168
  for (const a of audios) {
166
- const buffer = bufferOf(a);
169
+ const w = weight(a), base = made;
170
+ const buffer = await bufferOf(a, pace ? (f) => pace((base + w * f) / all) : void 0);
171
+ made += w;
172
+ if (pace) await pace(made / all);
167
173
  if (!buffer) continue;
168
174
  if (a.warp || a.sourceMap) {
169
175
  const r = resampleThrough(a, buffer.getChannelData(0), buffer.numberOfChannels > 1 ? buffer.getChannelData(1) : buffer.getChannelData(0), buffer.sampleRate, sampleRate, totalDuration);
@@ -1479,8 +1485,8 @@ function expandTransitions(spec) {
1479
1485
  }
1480
1486
  const transitions = out.transitions;
1481
1487
  const sequences = out.sequences ?? [];
1482
- const remap = out.duration !== void 0 ? chunkRQMI7EJT_cjs.timeRemapOf(out) : null;
1483
- const parentDuration = remap ? chunkRQMI7EJT_cjs.contentLength(remap, out.duration) : out.duration ?? Infinity;
1488
+ const remap = out.duration !== void 0 ? chunkYOV6MEXH_cjs.timeRemapOf(out) : null;
1489
+ const parentDuration = remap ? chunkYOV6MEXH_cjs.contentLength(remap, out.duration) : out.duration ?? Infinity;
1484
1490
  const compW = out.width;
1485
1491
  const compH = out.height;
1486
1492
  const threeDByName = new Set(sequences.filter((s) => s.name && s.threeD).map((s) => s.name));
@@ -1548,16 +1554,16 @@ function expandTransitions(spec) {
1548
1554
  if (toUses > 1) {
1549
1555
  throw new Error(`pixi-effects: ${tag} sequence "${t.to}" is used as \`to\` in more than one transition`);
1550
1556
  }
1551
- const tStart = chunkRQMI7EJT_cjs.resolveAt(t.at, parentDuration);
1557
+ const tStart = chunkYOV6MEXH_cjs.resolveAt(t.at, parentDuration);
1552
1558
  const tEnd = tStart + t.duration;
1553
1559
  const fromSeq = fromEntry.seq;
1554
- const fromStart = chunkRQMI7EJT_cjs.resolveAt(fromSeq.at, parentDuration);
1560
+ const fromStart = chunkYOV6MEXH_cjs.resolveAt(fromSeq.at, parentDuration);
1555
1561
  const fromEnd = fromStart + (fromSeq.duration ?? parentDuration);
1556
1562
  if (tStart < fromStart - EPS || tEnd > fromEnd + EPS) {
1557
1563
  throw new Error(`pixi-effects: ${tag} window [${tStart}, ${tEnd}] is not covered by \`from\` "${t.from}" (lives [${fromStart}, ${fromEnd}], so it ends at ${fromEnd})`);
1558
1564
  }
1559
1565
  const toSeq = toEntry.seq;
1560
- const toStart = chunkRQMI7EJT_cjs.resolveAt(toSeq.at, parentDuration);
1566
+ const toStart = chunkYOV6MEXH_cjs.resolveAt(toSeq.at, parentDuration);
1561
1567
  const toEnd = toStart + (toSeq.duration ?? parentDuration);
1562
1568
  if (tStart < toStart - EPS || tEnd > toEnd + EPS) {
1563
1569
  throw new Error(`pixi-effects: ${tag} window [${tStart}, ${tEnd}] is not covered by \`to\` "${t.to}" (lives [${toStart}, ${toEnd}], so it starts at ${toStart})`);
@@ -1617,7 +1623,7 @@ function wrapAsFullComposition(seq, compW, compH) {
1617
1623
  delete inner.at;
1618
1624
  delete inner.duration;
1619
1625
  const m = inner.mask;
1620
- const carriesMatte = m !== void 0 && chunkNDR2VQFV_cjs.maskSourceOf(m).kind === "refs";
1626
+ const carriesMatte = m !== void 0 && chunkC7HJJ7MZ_cjs.maskSourceOf(m).kind === "refs";
1621
1627
  if (carriesMatte) delete inner.mask;
1622
1628
  return {
1623
1629
  ...carriesMatte ? { mask: m } : {},
@@ -1944,7 +1950,7 @@ function inspectScene(root, frame, time, canvas, opts = {}) {
1944
1950
  const group = parentScene ?? (name !== void 0 && blending.has(name) ? name : void 0);
1945
1951
  if (group) scene.set(info, group);
1946
1952
  if (zero || seq.showsNothingYet) scaledToNothing.add(info);
1947
- if (seq instanceof chunkNDR2VQFV_cjs.CompositionSequence) walk2(seq, prefix + label + "/", insideThreeD || threeD, visible, group, moving, zero);
1953
+ if (seq instanceof chunkC7HJJ7MZ_cjs.CompositionSequence) walk2(seq, prefix + label + "/", insideThreeD || threeD, visible, group, moving, zero);
1948
1954
  });
1949
1955
  };
1950
1956
  walk2(root, "", false, true);
@@ -2005,10 +2011,10 @@ function walk(comp, parentStart, parentEnd, depth, prefix, rows, transitions, lo
2005
2011
  const start = parentStart + (seq.at ?? 0);
2006
2012
  const end = Math.min(parentEnd, seq.duration !== void 0 ? start + seq.duration : parentEnd);
2007
2013
  const span = end - start;
2008
- const keys = (seq.spec.keyframes ?? []).map((kf) => round(start + chunkRQMI7EJT_cjs.resolveAt(kf.at, span))).sort((a, b) => a - b).slice(0, MAX_KEYS);
2014
+ const keys = (seq.spec.keyframes ?? []).map((kf) => round(start + chunkYOV6MEXH_cjs.resolveAt(kf.at, span))).sort((a, b) => a - b).slice(0, MAX_KEYS);
2009
2015
  const row = { path: prefix + name, name, type: seq.spec.type, depth, start: round(start), end: round(end), keys, detail: detailOf(seq), ...local ? { local } : {} };
2010
2016
  const inner = [];
2011
- const isComp = seq instanceof chunkNDR2VQFV_cjs.CompositionSequence;
2017
+ const isComp = seq instanceof chunkC7HJJ7MZ_cjs.CompositionSequence;
2012
2018
  if (isComp) {
2013
2019
  const label = seq.remapLabel();
2014
2020
  walk(seq, label ? 0 : start, label ? seq.contentSpan : end, depth + 1, prefix + name + "/", inner, transitions, label ? `${name} ${label}` : local);
@@ -2407,6 +2413,7 @@ var LoadProgress = class {
2407
2413
  _onChange;
2408
2414
  _stage = null;
2409
2415
  _loaded = 0;
2416
+ _part = 0;
2410
2417
  _total = 0;
2411
2418
  _high = 0;
2412
2419
  _started = 0;
@@ -2424,6 +2431,7 @@ var LoadProgress = class {
2424
2431
  this._closeTiming();
2425
2432
  this._stage = stage;
2426
2433
  this._loaded = 0;
2434
+ this._part = 0;
2427
2435
  this._total = Math.max(0, total);
2428
2436
  this._started = this._now();
2429
2437
  this._emit();
@@ -2431,6 +2439,13 @@ var LoadProgress = class {
2431
2439
  tick(n = 1) {
2432
2440
  if (!this._stage) return;
2433
2441
  this._loaded = Math.min(this._total, this._loaded + n);
2442
+ this._part = 0;
2443
+ this._emit();
2444
+ }
2445
+ /** How much of the item being worked on is done (0..1), for an item that takes long: the number moves between two `tick`s. */
2446
+ part(done) {
2447
+ if (!this._stage) return;
2448
+ this._part = Math.min(1, Math.max(0, done));
2434
2449
  this._emit();
2435
2450
  }
2436
2451
  /** Everything is done: 1, whatever stage it was in. */
@@ -2462,7 +2477,7 @@ var LoadProgress = class {
2462
2477
  if (s === stage) break;
2463
2478
  done += WEIGHT[s];
2464
2479
  }
2465
- const within = this._total > 0 ? this._loaded / this._total : 1;
2480
+ const within = this._total > 0 ? Math.min(1, (this._loaded + this._part) / this._total) : 1;
2466
2481
  this._high = Math.min(1, Math.max(this._high, done + WEIGHT[stage] * within));
2467
2482
  this._onChange({ stage, loaded: this._loaded, total: this._total, progress: this._high });
2468
2483
  }
@@ -2656,8 +2671,8 @@ var Movie = class {
2656
2671
  this.stops = normalizeStops(options.composition?.stops, this.duration, this.frameRate);
2657
2672
  this._posterFrame = poster.frame;
2658
2673
  this.background = options.background ?? "#000000";
2659
- this.timeline = chunkRQMI7EJT_cjs.createTimeline({ paused: true, defaults: { ease: "none" } });
2660
- chunkRQMI7EJT_cjs.lengthen(this.timeline, this.duration);
2674
+ this.timeline = chunkYOV6MEXH_cjs.createTimeline({ paused: true, defaults: { ease: "none" } });
2675
+ chunkYOV6MEXH_cjs.lengthen(this.timeline, this.duration);
2661
2676
  const baseAppOptions = {
2662
2677
  width: this.width,
2663
2678
  height: this.height,
@@ -2716,7 +2731,7 @@ var Movie = class {
2716
2731
  height: options.composition.height ?? this.height,
2717
2732
  duration: options.composition.duration ?? this.duration
2718
2733
  } : void 0;
2719
- await chunkRQMI7EJT_cjs.ensureFilterLibrary(seededComposition);
2734
+ await chunkYOV6MEXH_cjs.ensureFilterLibrary(seededComposition);
2720
2735
  const userComposition = seededComposition ? expandTransitions(seededComposition) : void 0;
2721
2736
  const rootSeqSpec = {
2722
2737
  type: "composition",
@@ -2726,7 +2741,7 @@ var Movie = class {
2726
2741
  ...userComposition
2727
2742
  };
2728
2743
  if (userComposition) carryTransitionWindows(userComposition, rootSeqSpec);
2729
- const composition = new chunkNDR2VQFV_cjs.CompositionSequence(rootSeqSpec, null, rootShape);
2744
+ const composition = new chunkC7HJJ7MZ_cjs.CompositionSequence(rootSeqSpec, null, rootShape);
2730
2745
  lp.begin("build", countLayers(rootSeqSpec));
2731
2746
  await composition.build();
2732
2747
  this._rootSequence = composition;
@@ -2735,10 +2750,13 @@ var Movie = class {
2735
2750
  this._timeFilters = collectTimeFilters(composition);
2736
2751
  const audios = [];
2737
2752
  composition.collectAudio(audios, 0);
2738
- lp.begin("sound", audios.length);
2753
+ lp.begin("sound", 1);
2739
2754
  if (audios.length > 0) {
2740
- this.audioBuffer = await mixdown(audios, this.duration, audioContext.sampleRate);
2741
- lp.tick(audios.length);
2755
+ this.audioBuffer = await mixdown(audios, this.duration, audioContext.sampleRate, async (done) => {
2756
+ lp.part(done);
2757
+ await lp.yieldIfDue();
2758
+ });
2759
+ lp.tick();
2742
2760
  if (this.audioBuffer) this._mixStats = limitMix(this.audioBuffer, audios);
2743
2761
  }
2744
2762
  this._audioSources = audios;
@@ -3450,8 +3468,8 @@ function splitText(text, style = {}, opts = {}) {
3450
3468
 
3451
3469
  // src/presets/_ease.ts
3452
3470
  function parseEase2(name) {
3453
- chunkRQMI7EJT_cjs.checkEase(name, "a preset");
3454
- return chunkRQMI7EJT_cjs.parseEase(name);
3471
+ chunkYOV6MEXH_cjs.checkEase(name, "a preset");
3472
+ return chunkYOV6MEXH_cjs.parseEase(name);
3455
3473
  }
3456
3474
 
3457
3475
  // src/presets/kenBurns.ts
@@ -3586,17 +3604,17 @@ function orbit(opts) {
3586
3604
  throw new Error("pixi-effects: orbit() cannot combine `radius` with `dollyZoom` \u2014 the radius follows the animated fov");
3587
3605
  }
3588
3606
  const [cx, cy] = opts.center ?? [width / 2, height / 2];
3589
- const fixedR = opts.radius ?? chunkRQMI7EJT_cjs.homeDistance(height, fov ?? chunkRQMI7EJT_cjs.DEFAULT_FOV);
3607
+ const fixedR = opts.radius ?? chunkYOV6MEXH_cjs.homeDistance(height, fov ?? chunkYOV6MEXH_cjs.DEFAULT_FOV);
3590
3608
  const start = opts.start ?? -degrees / 2;
3591
3609
  const steps = Math.max(1, Math.round(duration * stepsPerSecond));
3592
3610
  const easeFn = parseEase2(ease);
3593
3611
  const dollyEase = dolly ? parseEase2(dolly.ease ?? ease) : null;
3594
3612
  const pos = (i) => {
3595
3613
  const p = i / steps;
3596
- const a = (start + degrees * easeFn(p)) * chunkRQMI7EJT_cjs.DEG;
3614
+ const a = (start + degrees * easeFn(p)) * chunkYOV6MEXH_cjs.DEG;
3597
3615
  if (!dolly) return { x: cx + fixedR * Math.sin(a), z: fixedR * Math.cos(a) };
3598
3616
  const f = dolly.from + (dolly.to - dolly.from) * dollyEase(p);
3599
- const R = chunkRQMI7EJT_cjs.homeDistance(height, f);
3617
+ const R = chunkYOV6MEXH_cjs.homeDistance(height, f);
3600
3618
  return { x: cx + R * Math.sin(a), z: R * Math.cos(a), fov: f };
3601
3619
  };
3602
3620
  const keyframes = [];
@@ -3651,7 +3669,7 @@ function particles(opts) {
3651
3669
  const round3 = (v) => Math.round(v * 1e6) / 1e6;
3652
3670
  const out = [];
3653
3671
  for (let i = 0; i < count; i++) {
3654
- const r = chunkRQMI7EJT_cjs.random(seed * 1000003 + i * 7919 + 17);
3672
+ const r = chunkYOV6MEXH_cjs.random(seed * 1000003 + i * 7919 + 17);
3655
3673
  const pick = ([a2, b]) => a2 + r() * (b - a2);
3656
3674
  const born = at + r() * emit;
3657
3675
  const lifetime = pick(life);
@@ -3664,7 +3682,7 @@ function particles(opts) {
3664
3682
  const turn = spin ? pick(spin) : 0;
3665
3683
  const startAngle = spin ? r() * 360 : 0;
3666
3684
  const swayAmp = sway?.amp ?? 0, swayFreq = sway?.freq ?? 1;
3667
- const n0 = sway ? chunkRQMI7EJT_cjs.noise(0, seed * 1000003 + i) : 0;
3685
+ const n0 = sway ? chunkYOV6MEXH_cjs.noise(0, seed * 1000003 + i) : 0;
3668
3686
  const at_ = (t) => {
3669
3687
  const axis = (p0, v0, acc) => {
3670
3688
  if (drag > 0) {
@@ -3673,7 +3691,7 @@ function particles(opts) {
3673
3691
  }
3674
3692
  return p0 + v0 * t + 0.5 * acc * t * t;
3675
3693
  };
3676
- const sw = sway ? swayAmp * (chunkRQMI7EJT_cjs.noise(t * swayFreq, seed * 1000003 + i) - n0) : 0;
3694
+ const sw = sway ? swayAmp * (chunkYOV6MEXH_cjs.noise(t * swayFreq, seed * 1000003 + i) - n0) : 0;
3677
3695
  return { x: axis(x0, vx, wind) + sw, y: axis(y0, vy, gravity) };
3678
3696
  };
3679
3697
  const kfs = [];
@@ -3735,7 +3753,7 @@ function followPath(opts) {
3735
3753
  if (steps > MAX_STEPS) throw new Error(`followPath(): ${steps} samples is too many (max ${MAX_STEPS}); lower frameRate or duration`);
3736
3754
  const segments = [];
3737
3755
  let total = 0;
3738
- for (const line of chunkRQMI7EJT_cjs.flattenSvgPath(d)) {
3756
+ for (const line of chunkYOV6MEXH_cjs.flattenSvgPath(d)) {
3739
3757
  const p = line.closed ? [...line.pts, line.pts[0], line.pts[1]] : line.pts;
3740
3758
  for (let i = 2; i < p.length; i += 2) {
3741
3759
  const len = Math.hypot(p[i] - p[i - 2], p[i + 1] - p[i - 1]);
@@ -3889,7 +3907,7 @@ function distances(n, from, grid, seed) {
3889
3907
  if (n === 0) return [];
3890
3908
  if (from === "random") {
3891
3909
  const order = Array.from({ length: n }, (_, i) => i);
3892
- const r = chunkRQMI7EJT_cjs.random(seed);
3910
+ const r = chunkYOV6MEXH_cjs.random(seed);
3893
3911
  for (let i = n - 1; i > 0; i--) {
3894
3912
  const j = Math.floor(r() * (i + 1));
3895
3913
  [order[i], order[j]] = [order[j], order[i]];
@@ -3951,7 +3969,7 @@ function wiggle(opts) {
3951
3969
  to[n] = p.around;
3952
3970
  return;
3953
3971
  }
3954
- const off = (chunkRQMI7EJT_cjs.rand(seed * 7919 + pi * 104729 + s * 31 + 1) * 2 - 1) * p.amp;
3972
+ const off = (chunkYOV6MEXH_cjs.rand(seed * 7919 + pi * 104729 + s * 31 + 1) * 2 - 1) * p.amp;
3955
3973
  to[n] = typeof p.around === "number" ? p.around + off : `(${p.around}) ${off < 0 ? "-" : "+"} ${Math.abs(off)}`;
3956
3974
  });
3957
3975
  out.push({ at: at + s * stepLen, to, duration: stepLen, ease });
@@ -4315,7 +4333,7 @@ async function audioEnvelope(source, options = {}) {
4315
4333
 
4316
4334
  // src/audio/musicEnvelope.ts
4317
4335
  async function musicEnvelope(music, options = {}) {
4318
- const { resolveMusic, renderMusic, musicLength, musicBeatTimes, TempoMap } = await import('./music-4O367SPR.cjs');
4336
+ const { resolveMusic, renderMusic, musicLength, musicBeatTimes, TempoMap } = await import('./music-6MTHQEXS.cjs');
4319
4337
  const messages = [];
4320
4338
  const m = resolveMusic(music, "musicEnvelope()", (msg) => messages.push(msg));
4321
4339
  if (!m) throw new Error(`pixi-effects: musicEnvelope(): ${messages.join(" ") || "the music has nothing to play"}`);
@@ -4328,7 +4346,7 @@ async function musicEnvelope(music, options = {}) {
4328
4346
 
4329
4347
  // src/audio/musicBuffer.ts
4330
4348
  async function musicBuffer(music, options = {}) {
4331
- const { resolveMusic, renderMusic, musicLength } = await import('./music-4O367SPR.cjs');
4349
+ const { resolveMusic, renderMusic, musicLength } = await import('./music-6MTHQEXS.cjs');
4332
4350
  const messages = [];
4333
4351
  const m = resolveMusic(music, "musicBuffer()", (msg) => messages.push(msg));
4334
4352
  if (!m) throw new Error(`pixi-effects: musicBuffer(): ${messages.join(" ") || "the music has nothing to play"}`);
@@ -4426,19 +4444,19 @@ function withFade(spec, opts) {
4426
4444
 
4427
4445
  Object.defineProperty(exports, "noise", {
4428
4446
  enumerable: true,
4429
- get: function () { return chunkRQMI7EJT_cjs.noise; }
4447
+ get: function () { return chunkYOV6MEXH_cjs.noise; }
4430
4448
  });
4431
4449
  Object.defineProperty(exports, "rand", {
4432
4450
  enumerable: true,
4433
- get: function () { return chunkRQMI7EJT_cjs.rand; }
4451
+ get: function () { return chunkYOV6MEXH_cjs.rand; }
4434
4452
  });
4435
4453
  Object.defineProperty(exports, "random", {
4436
4454
  enumerable: true,
4437
- get: function () { return chunkRQMI7EJT_cjs.random; }
4455
+ get: function () { return chunkYOV6MEXH_cjs.random; }
4438
4456
  });
4439
4457
  Object.defineProperty(exports, "registerSequenceType", {
4440
4458
  enumerable: true,
4441
- get: function () { return chunkRQMI7EJT_cjs.registerSequenceType; }
4459
+ get: function () { return chunkYOV6MEXH_cjs.registerSequenceType; }
4442
4460
  });
4443
4461
  exports.Movie = Movie;
4444
4462
  exports.animateText = animateText;