pixi-effects 0.26.2 → 0.27.0

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 (68) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +8 -10
  3. package/ai/CHAT.md +1 -1
  4. package/ai/chat-template.html +4 -6
  5. package/ai/tools/render.mjs +16 -11
  6. package/dist/{Base-CpdDs4HT.d.ts → Base-CVezIEdo.d.ts} +2 -4
  7. package/dist/{Base-TbBhHPrG.d.cts → Base-DzC3i919.d.cts} +2 -4
  8. package/dist/Composition-4TYDRRRY.js +7 -0
  9. package/dist/{Composition-H4QA24MV.js.map → Composition-4TYDRRRY.js.map} +1 -1
  10. package/dist/Composition-QCOWQSDB.cjs +16 -0
  11. package/dist/{Composition-HM4YT5L7.cjs.map → Composition-QCOWQSDB.cjs.map} +1 -1
  12. package/dist/Controller.d.cts +2 -3
  13. package/dist/Controller.d.ts +2 -3
  14. package/dist/{Movie-i05Oh9mJ.d.cts → Movie-CQ0Nz62a.d.cts} +12 -6
  15. package/dist/{Movie-DVeDTdnc.d.ts → Movie-M9dKm9dI.d.ts} +12 -6
  16. package/dist/Presenter.d.cts +2 -3
  17. package/dist/Presenter.d.ts +2 -3
  18. package/dist/{blendModes-YV43K6E7.cjs → blendModes-HDOP6R7T.cjs} +5 -5
  19. package/dist/{blendModes-YV43K6E7.cjs.map → blendModes-HDOP6R7T.cjs.map} +1 -1
  20. package/dist/{blendModes-G3NOAU3T.js → blendModes-PAVTW3BO.js} +4 -4
  21. package/dist/{blendModes-G3NOAU3T.js.map → blendModes-PAVTW3BO.js.map} +1 -1
  22. package/dist/{chunk-TLYTYBWX.js → chunk-45QKLD6M.js} +9 -11
  23. package/dist/chunk-45QKLD6M.js.map +1 -0
  24. package/dist/{chunk-GBUM7X2S.js → chunk-CKTS6G6I.js} +7 -11
  25. package/dist/chunk-CKTS6G6I.js.map +1 -0
  26. package/dist/{chunk-555URQHQ.cjs → chunk-NDR2VQFV.cjs} +91 -95
  27. package/dist/chunk-NDR2VQFV.cjs.map +1 -0
  28. package/dist/{chunk-3DLYAPK7.cjs → chunk-P4GY3Z4G.cjs} +5 -5
  29. package/dist/{chunk-3DLYAPK7.cjs.map → chunk-P4GY3Z4G.cjs.map} +1 -1
  30. package/dist/{chunk-WPXDRSGN.cjs → chunk-RQMI7EJT.cjs} +1170 -280
  31. package/dist/chunk-RQMI7EJT.cjs.map +1 -0
  32. package/dist/{chunk-X3HB4DSR.js → chunk-TGJACVLD.js} +1150 -263
  33. package/dist/chunk-TGJACVLD.js.map +1 -0
  34. package/dist/{chunk-AXZUKNXF.js → chunk-TYWFKCPY.js} +4 -4
  35. package/dist/{chunk-AXZUKNXF.js.map → chunk-TYWFKCPY.js.map} +1 -1
  36. package/dist/{chunk-ECA2WNRX.cjs → chunk-ZMAD3KJU.cjs} +9 -11
  37. package/dist/chunk-ZMAD3KJU.cjs.map +1 -0
  38. package/dist/index.cjs +189 -116
  39. package/dist/index.cjs.map +1 -1
  40. package/dist/index.d.cts +16 -14
  41. package/dist/index.d.ts +16 -14
  42. package/dist/index.js +136 -45
  43. package/dist/index.js.map +1 -1
  44. package/dist/loader.css +1 -1
  45. package/dist/three.cjs +6 -6
  46. package/dist/three.d.cts +2 -3
  47. package/dist/three.d.ts +2 -3
  48. package/dist/three.js +2 -2
  49. package/dist/{types-DSGwN5w1.d.ts → types-DUVefWiB.d.cts} +128 -3
  50. package/dist/{types-DSGwN5w1.d.cts → types-DUVefWiB.d.ts} +128 -3
  51. package/docs/api.md +16 -6
  52. package/docs/dsl.md +14 -14
  53. package/llms-full.txt +38 -28
  54. package/llms.txt +1 -1
  55. package/package.json +3 -4
  56. package/skills/pixi-effects/SKILL.md +1 -1
  57. package/skills/pixi-effects/reference/cheatsheet.md +3 -3
  58. package/skills/pixi-effects/reference/pitfalls.md +3 -3
  59. package/skills/pixi-effects/reference/recipes.md +1 -1
  60. package/skills/pixi-effects/template.html +6 -8
  61. package/dist/Composition-H4QA24MV.js +0 -7
  62. package/dist/Composition-HM4YT5L7.cjs +0 -16
  63. package/dist/chunk-555URQHQ.cjs.map +0 -1
  64. package/dist/chunk-ECA2WNRX.cjs.map +0 -1
  65. package/dist/chunk-GBUM7X2S.js.map +0 -1
  66. package/dist/chunk-TLYTYBWX.js.map +0 -1
  67. package/dist/chunk-WPXDRSGN.cjs.map +0 -1
  68. package/dist/chunk-X3HB4DSR.js.map +0 -1
@@ -1,11 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var chunkWPXDRSGN_cjs = require('./chunk-WPXDRSGN.cjs');
4
- var chunk3DLYAPK7_cjs = require('./chunk-3DLYAPK7.cjs');
5
- var chunkECA2WNRX_cjs = require('./chunk-ECA2WNRX.cjs');
3
+ var chunkRQMI7EJT_cjs = require('./chunk-RQMI7EJT.cjs');
4
+ var chunkP4GY3Z4G_cjs = require('./chunk-P4GY3Z4G.cjs');
5
+ var chunkZMAD3KJU_cjs = require('./chunk-ZMAD3KJU.cjs');
6
6
  var chunkTWZNOUM7_cjs = require('./chunk-TWZNOUM7.cjs');
7
7
  var pixi_js = require('pixi.js');
8
- var gsap = require('gsap');
9
8
 
10
9
  // src/space/lightChecks.ts
11
10
  var SOFT_LIGHTS = 3;
@@ -34,10 +33,10 @@ var KIND_ALIASES = {
34
33
  fill: "ambient"
35
34
  };
36
35
  function lightKindProblem(kind) {
37
- if (kind === void 0 || typeof kind === "string" && chunkWPXDRSGN_cjs.LIGHT_KINDS.includes(kind)) return null;
38
- const guess = typeof kind === "string" ? KIND_ALIASES[kind.toLowerCase()] ?? chunkTWZNOUM7_cjs.suggestName(kind, chunkWPXDRSGN_cjs.LIGHT_KINDS) : null;
36
+ if (kind === void 0 || typeof kind === "string" && chunkRQMI7EJT_cjs.LIGHT_KINDS.includes(kind)) return null;
37
+ const guess = typeof kind === "string" ? KIND_ALIASES[kind.toLowerCase()] ?? chunkTWZNOUM7_cjs.suggestName(kind, chunkRQMI7EJT_cjs.LIGHT_KINDS) : null;
39
38
  const shown = typeof kind === "string" ? `"${kind}"` : String(kind);
40
- return `kind ${shown} is not a light kind${guess ? `; did you mean "${guess}"?` : ""} (use ${chunkWPXDRSGN_cjs.LIGHT_KINDS.join(", ")}); point is used`;
39
+ return `kind ${shown} is not a light kind${guess ? `; did you mean "${guess}"?` : ""} (use ${chunkRQMI7EJT_cjs.LIGHT_KINDS.join(", ")}); point is used`;
41
40
  }
42
41
  var LIGHT_ALIASES = {
43
42
  pointOfInterest: 'did you mean "lookAtX / lookAtY / lookAtZ"?',
@@ -62,24 +61,24 @@ function lightLayerProblems(spec) {
62
61
  const raw = spec;
63
62
  const kind = lightKindProblem(raw.kind);
64
63
  if (kind) out.push(kind);
65
- if (raw.falloff !== void 0 && !chunkWPXDRSGN_cjs.FALLOFFS.includes(raw.falloff)) {
66
- const guess = typeof raw.falloff === "string" ? chunkTWZNOUM7_cjs.suggestName(raw.falloff, chunkWPXDRSGN_cjs.FALLOFFS) : null;
67
- out.push(`falloff ${JSON.stringify(raw.falloff)} is not supported${guess ? `; did you mean "${guess}"?` : ""} (use ${chunkWPXDRSGN_cjs.FALLOFFS.join(", ")}); none is used`);
64
+ if (raw.falloff !== void 0 && !chunkRQMI7EJT_cjs.FALLOFFS.includes(raw.falloff)) {
65
+ const guess = typeof raw.falloff === "string" ? chunkTWZNOUM7_cjs.suggestName(raw.falloff, chunkRQMI7EJT_cjs.FALLOFFS) : null;
66
+ out.push(`falloff ${JSON.stringify(raw.falloff)} is not supported${guess ? `; did you mean "${guess}"?` : ""} (use ${chunkRQMI7EJT_cjs.FALLOFFS.join(", ")}); none is used`);
68
67
  }
69
68
  for (const k of Object.keys(raw)) {
70
- if (chunkWPXDRSGN_cjs.LIGHT_PROPS.includes(k) || k === "intensity" || k === "shadowDarkness" || k === "shadowDiffusion") {
69
+ if (chunkRQMI7EJT_cjs.LIGHT_PROPS.includes(k) || k === "intensity" || k === "shadowDarkness" || k === "shadowDiffusion") {
71
70
  out.push(`"${k}" must go inside initial / keyframes, not on the light itself`);
72
71
  } else if (LIGHT_ALIASES[k]) out.push(`"${k}" is not a property \u2014 ${LIGHT_ALIASES[k]}`);
73
72
  }
74
73
  const explained = new Set(Object.keys(LIGHT_ALIASES));
75
- for (const k of chunkECA2WNRX_cjs.collectPropKeys(spec)) {
74
+ for (const k of chunkZMAD3KJU_cjs.collectPropKeys(spec)) {
76
75
  if (LIGHT_ALIASES[k]) out.push(`"${k}" is not a property \u2014 ${LIGHT_ALIASES[k]}`);
77
- else if (!explained.has(k) && !chunkWPXDRSGN_cjs.LIGHT_PROPS.includes(k)) out.push(`"${k}" has no effect on a light (use ${chunkWPXDRSGN_cjs.LIGHT_PROPS.join(", ")})`);
76
+ else if (!explained.has(k) && !chunkRQMI7EJT_cjs.LIGHT_PROPS.includes(k)) out.push(`"${k}" has no effect on a light (use ${chunkRQMI7EJT_cjs.LIGHT_PROPS.join(", ")})`);
78
77
  }
79
78
  if (numbersOf(spec, "coneFeather").some((v) => v > 1 || v < 0)) out.push("coneFeather is 0..1 (the soft part of the cone edge, as a fraction of the half angle); it is clamped");
80
79
  const big = numbersOf(spec, "intensity").find((v) => v > 10);
81
80
  if (big !== void 0) out.push(`intensity ${big} looks like a percentage: it is a multiplier (1 = full, 0.25 = a quarter); did you mean ${big / 100}?`);
82
- const kindNow = typeof raw.kind === "string" && chunkWPXDRSGN_cjs.LIGHT_KINDS.includes(raw.kind) ? raw.kind : "point";
81
+ const kindNow = typeof raw.kind === "string" && chunkRQMI7EJT_cjs.LIGHT_KINDS.includes(raw.kind) ? raw.kind : "point";
83
82
  const has = (...keys) => keys.filter((k) => bagsOf(spec).some((b) => b[k] !== void 0));
84
83
  const falloffOn = raw.falloff === "smooth" || raw.falloff === "inverseSquare";
85
84
  if (kindNow === "ambient" && raw.castsShadows) out.push("an ambient light has no direction, so it makes no shadow: castsShadows is ignored (put it on a point, spot or parallel light)");
@@ -107,17 +106,17 @@ function lightSetProblems(layers) {
107
106
  out.push("there is no ambient light, so what no light reaches is black; add { type: 'light', kind: 'ambient', initial: { intensity: 0.25 } }");
108
107
  }
109
108
  const direct = lights.filter((l) => kindOf(l) !== "ambient");
110
- if (direct.length > chunkWPXDRSGN_cjs.MAX_LIGHTS) {
111
- const dropped = direct.slice(chunkWPXDRSGN_cjs.MAX_LIGHTS).map((l) => nameOf(l, layers.indexOf(l)));
112
- out.push(`${direct.length} lights, but at most ${chunkWPXDRSGN_cjs.MAX_LIGHTS} are used (the first ${chunkWPXDRSGN_cjs.MAX_LIGHTS}, in layer order); ${dropped.join(", ")} and later are dropped. Use fewer lights`);
109
+ if (direct.length > chunkRQMI7EJT_cjs.MAX_LIGHTS) {
110
+ const dropped = direct.slice(chunkRQMI7EJT_cjs.MAX_LIGHTS).map((l) => nameOf(l, layers.indexOf(l)));
111
+ out.push(`${direct.length} lights, but at most ${chunkRQMI7EJT_cjs.MAX_LIGHTS} are used (the first ${chunkRQMI7EJT_cjs.MAX_LIGHTS}, in layer order); ${dropped.join(", ")} and later are dropped. Use fewer lights`);
113
112
  }
114
113
  const lightsCast = lights.some((l) => kindOf(l) !== "ambient" && l.castsShadows);
115
114
  const casters = layers.filter((l) => l.type !== "light" && l.castsShadows && l.threeD);
116
115
  if (casters.length > 0 && !lightsCast) out.push(`${casters.length} layer${casters.length > 1 ? "s have" : " has"} castsShadows but no light has castsShadows: add castsShadows: true to the light that should make the shadows`);
117
116
  if (lightsCast && casters.length === 0) out.push("a light has castsShadows but no layer has castsShadows: add castsShadows: true to the threeD layers that should cast a shadow");
118
- if (lightsCast && casters.length > chunkWPXDRSGN_cjs.MAX_CASTERS) {
119
- const dropped = casters.slice(chunkWPXDRSGN_cjs.MAX_CASTERS).map((c) => nameOf(c, layers.indexOf(c)));
120
- out.push(`${casters.length} layers cast shadows, but a layer receives shadows from at most ${chunkWPXDRSGN_cjs.MAX_CASTERS} (the first ${chunkWPXDRSGN_cjs.MAX_CASTERS}, in layer order); ${dropped.join(", ")} and later cast none`);
117
+ if (lightsCast && casters.length > chunkRQMI7EJT_cjs.MAX_CASTERS) {
118
+ const dropped = casters.slice(chunkRQMI7EJT_cjs.MAX_CASTERS).map((c) => nameOf(c, layers.indexOf(c)));
119
+ out.push(`${casters.length} layers cast shadows, but a layer receives shadows from at most ${chunkRQMI7EJT_cjs.MAX_CASTERS} (the first ${chunkRQMI7EJT_cjs.MAX_CASTERS}, in layer order); ${dropped.join(", ")} and later cast none`);
121
120
  }
122
121
  const softLights = lights.filter((l) => l.castsShadows && numbersOf(l, "shadowDiffusion").some((v) => v > 0));
123
122
  if (softLights.length >= SOFT_LIGHTS) {
@@ -302,9 +301,9 @@ var roundPixelsBit = {
302
301
  name: "round-pixels-bit",
303
302
  vertex: { header: `fn roundPixels(position: vec2<f32>, targetSize: vec2<f32>) -> vec2<f32> { return (floor(((position * 0.5 + 0.5) * targetSize) + 0.5) / targetSize) * 2.0 - 1.0; }` }
304
303
  };
305
- var ML = chunkWPXDRSGN_cjs.MAX_LIGHTS;
306
- var MC = chunkWPXDRSGN_cjs.MAX_CASTERS;
307
- var TAPS = chunkWPXDRSGN_cjs.SHADOW_TAPS;
304
+ var ML = chunkRQMI7EJT_cjs.MAX_LIGHTS;
305
+ var MC = chunkRQMI7EJT_cjs.MAX_CASTERS;
306
+ var TAPS = chunkRQMI7EJT_cjs.SHADOW_TAPS;
308
307
  var SHADOW_KEYS = Array.from({ length: MC }, (_, j) => `uShadow${j}`);
309
308
  var WGSL_SHADOW_DECLS = SHADOW_KEYS.map((k, j) => ` @group(2) @binding(${4 + j}) var ${k}: texture_2d<f32>;`).join("\n");
310
309
  var WGSL_SHADOW_PICK = SHADOW_KEYS.map((k, j) => (j === 0 ? "" : "else ") + `if (j == ${j}) { a = textureSampleLevel(${k}, uSampler, uv, 0.0).a; }`).join(" ");
@@ -664,8 +663,8 @@ function readLayerTransform(target) {
664
663
  x: c.x,
665
664
  y: c.y,
666
665
  z: c.z ?? 0,
667
- rotationX: (c.rotationX ?? 0) * chunkWPXDRSGN_cjs.DEG,
668
- rotationY: (c.rotationY ?? 0) * chunkWPXDRSGN_cjs.DEG,
666
+ rotationX: (c.rotationX ?? 0) * chunkRQMI7EJT_cjs.DEG,
667
+ rotationY: (c.rotationY ?? 0) * chunkRQMI7EJT_cjs.DEG,
669
668
  rotationZ: c.rotation,
670
669
  scaleX: c.scale.x,
671
670
  scaleY: c.scale.y,
@@ -728,26 +727,26 @@ var Layer3D = class {
728
727
  if (!(needW >= 1 && needH >= 1) || !Number.isFinite(bounds.x) || !Number.isFinite(bounds.y)) return this.hide();
729
728
  const size = this.sizeFor(needW, needH);
730
729
  const frame = { x: bounds.x - pad, y: bounds.y - pad, width: size.w, height: size.h };
731
- const projected = chunkWPXDRSGN_cjs.projectLayer(readLayerTransform(target), frame, basis);
730
+ const projected = chunkRQMI7EJT_cjs.projectLayer(readLayerTransform(target), frame, basis);
732
731
  this.depth = projected.depth;
733
732
  {
734
733
  const lt = readLayerTransform(target);
735
- const o = chunkWPXDRSGN_cjs.layerToWorld(lt, frame.x, frame.y);
736
- const pu = chunkWPXDRSGN_cjs.layerToWorld(lt, frame.x + frame.width, frame.y);
737
- const pv = chunkWPXDRSGN_cjs.layerToWorld(lt, frame.x, frame.y + frame.height);
734
+ const o = chunkRQMI7EJT_cjs.layerToWorld(lt, frame.x, frame.y);
735
+ const pu = chunkRQMI7EJT_cjs.layerToWorld(lt, frame.x + frame.width, frame.y);
736
+ const pv = chunkRQMI7EJT_cjs.layerToWorld(lt, frame.x, frame.y + frame.height);
738
737
  this.world = { o, u: { x: pu.x - o.x, y: pu.y - o.y, z: pu.z - o.z }, v: { x: pv.x - o.x, y: pv.y - o.y, z: pv.z - o.z } };
739
738
  }
740
739
  if (!projected.visible) {
741
740
  if (!this.warnedBehind) {
742
741
  this.warnedBehind = true;
743
742
  if (this.seq.spec.hideBehindCamera) return this.hide();
744
- if (projected.depth > chunkWPXDRSGN_cjs.NEAR) {
743
+ if (projected.depth > chunkRQMI7EJT_cjs.NEAR) {
745
744
  console.warn(
746
- `pixi-effects: ${chunkECA2WNRX_cjs.describeLayer(this.seq.spec)}: part of it (a corner) reaches the camera plane (z = ${(target.z ?? 0).toFixed(0)}, rotationX ${(target.rotationX ?? 0).toFixed(0)}\xB0, rotationY ${(target.rotationY ?? 0).toFixed(0)}\xB0), and a layer is hidden whole when any corner is at or behind it. Tilt it less (rotationX / rotationY), make it smaller, or keep the camera further away from it (the default camera sits at z = (height/2)/tan(fov/2), about 989 for 720p at fov 40).`
745
+ `pixi-effects: ${chunkZMAD3KJU_cjs.describeLayer(this.seq.spec)}: part of it (a corner) reaches the camera plane (z = ${(target.z ?? 0).toFixed(0)}, rotationX ${(target.rotationX ?? 0).toFixed(0)}\xB0, rotationY ${(target.rotationY ?? 0).toFixed(0)}\xB0), and a layer is hidden whole when any corner is at or behind it. Tilt it less (rotationX / rotationY), make it smaller, or keep the camera further away from it (the default camera sits at z = (height/2)/tan(fov/2), about 989 for 720p at fov 40).`
747
746
  );
748
747
  } else {
749
748
  console.warn(
750
- `pixi-effects: ${chunkECA2WNRX_cjs.describeLayer(this.seq.spec)} is at or behind the camera plane (z = ${(target.z ?? 0).toFixed(0)}) and is hidden. If that is unintended, lower its z or move the camera back (the default camera sits at z = (height/2)/tan(fov/2), about 989 for 720p at fov 40).`
749
+ `pixi-effects: ${chunkZMAD3KJU_cjs.describeLayer(this.seq.spec)} is at or behind the camera plane (z = ${(target.z ?? 0).toFixed(0)}) and is hidden. If that is unintended, lower its z or move the camera back (the default camera sits at z = (height/2)/tan(fov/2), about 989 for 720p at fov 40).`
751
750
  );
752
751
  }
753
752
  }
@@ -772,7 +771,7 @@ var Layer3D = class {
772
771
  */
773
772
  setBlur(radius) {
774
773
  const d = this.display;
775
- const r = radius > chunkWPXDRSGN_cjs.MIN_BLUR ? Math.min(radius, chunkWPXDRSGN_cjs.MAX_BLUR) : 0;
774
+ const r = radius > chunkRQMI7EJT_cjs.MIN_BLUR ? Math.min(radius, chunkRQMI7EJT_cjs.MAX_BLUR) : 0;
776
775
  this.blur = r;
777
776
  if (r === 0) {
778
777
  if (this.blurFilter) {
@@ -789,8 +788,8 @@ var Layer3D = class {
789
788
  this.blurFilter = new DiscBlurFilter(r);
790
789
  this.blendWas = d.blendMode ?? "normal";
791
790
  const chain = [this.blurFilter];
792
- if (chunk3DLYAPK7_cjs.isAdvancedBlend(this.blendWas)) {
793
- this.blendFilter = chunk3DLYAPK7_cjs.blendFilterFor(this.blendWas);
791
+ if (chunkP4GY3Z4G_cjs.isAdvancedBlend(this.blendWas)) {
792
+ this.blendFilter = chunkP4GY3Z4G_cjs.blendFilterFor(this.blendWas);
794
793
  if (this.blendFilter) {
795
794
  chain.push(this.blendFilter);
796
795
  d.blendMode = "normal";
@@ -814,7 +813,7 @@ var Layer3D = class {
814
813
  } catch (err) {
815
814
  if (!this.warnedLit) {
816
815
  this.warnedLit = true;
817
- console.warn(`pixi-effects: ${chunkECA2WNRX_cjs.describeLayer(this.seq.spec)}: the lighting shader could not be made on this renderer (${err?.message ?? err}); the layer is drawn unlit`);
816
+ console.warn(`pixi-effects: ${chunkZMAD3KJU_cjs.describeLayer(this.seq.spec)}: the lighting shader could not be made on this renderer (${err?.message ?? err}); the layer is drawn unlit`);
818
817
  }
819
818
  return null;
820
819
  }
@@ -908,8 +907,8 @@ var NEEDS_THREE_D = ["z", "rotationX", "rotationY"];
908
907
  var CAMERA_ONLY = ["focus", "aperture", "fogNear", "fogFar", "fogColor", "fogAmount"];
909
908
  var SKEW_KEYS = ["skew", "skewX", "skewY"];
910
909
  function lintSequence(spec, warn = defaultWarn) {
911
- const who = chunkECA2WNRX_cjs.describeLayer(spec);
912
- const keys = chunkECA2WNRX_cjs.collectPropKeys(spec);
910
+ const who = chunkZMAD3KJU_cjs.describeLayer(spec);
911
+ const keys = chunkZMAD3KJU_cjs.collectPropKeys(spec);
913
912
  const explained = /* @__PURE__ */ new Set();
914
913
  for (const k of keys) {
915
914
  const hint = LAYER_ALIASES[k] ?? (spec.type === "camera" ? CAMERA_ALIASES[k] : void 0);
@@ -958,8 +957,8 @@ function lintSequence(spec, warn = defaultWarn) {
958
957
  }
959
958
  function lintFocus(camera, siblings, warn = defaultWarn) {
960
959
  if (camera.type !== "camera") return;
961
- const who = chunkECA2WNRX_cjs.describeLayer(camera);
962
- for (const p of chunkWPXDRSGN_cjs.focusProblems(camera, siblings)) {
960
+ const who = chunkZMAD3KJU_cjs.describeLayer(camera);
961
+ for (const p of chunkRQMI7EJT_cjs.focusProblems(camera, siblings)) {
963
962
  if (p.kind === "missing") {
964
963
  warn(`pixi-effects: ${who}: focus: no layer named "${p.name}"${p.hint ? `; did you mean "${p.hint}"?` : ""} (the z = 0 plane is used). Write a threeD layer's name or a z number`);
965
964
  } else if (p.kind === "not-threeD") {
@@ -1242,7 +1241,7 @@ var MatteSet = class {
1242
1241
  };
1243
1242
 
1244
1243
  // src/sequences/Composition.ts
1245
- var CompositionSequence = class extends chunkWPXDRSGN_cjs.Sequence {
1244
+ var CompositionSequence = class extends chunkRQMI7EJT_cjs.Sequence {
1246
1245
  _innerContainer = null;
1247
1246
  _compositionShape = null;
1248
1247
  _children = [];
@@ -1309,26 +1308,26 @@ var CompositionSequence = class extends chunkWPXDRSGN_cjs.Sequence {
1309
1308
  this.intrinsicWidth = width;
1310
1309
  this.intrinsicHeight = height;
1311
1310
  this._innerContainer = inner;
1312
- const base = chunkWPXDRSGN_cjs.timeRemapOf(this.spec);
1313
- const span = base ? chunkWPXDRSGN_cjs.contentLength(base, this.duration) : this.duration;
1314
- this._remap = base ? chunkWPXDRSGN_cjs.remapOf(this.spec, "time", span) : null;
1311
+ const base = chunkRQMI7EJT_cjs.timeRemapOf(this.spec);
1312
+ const span = base ? chunkRQMI7EJT_cjs.contentLength(base, this.duration) : this.duration;
1313
+ this._remap = base ? chunkRQMI7EJT_cjs.remapOf(this.spec, "time", span) : null;
1315
1314
  this._contentSpan = span;
1316
1315
  this._compositionShape = { width, height, duration: span };
1317
1316
  const lateKeyframes = [];
1318
1317
  for (const s of this.spec.sequences ?? []) {
1319
1318
  lintSequence(s);
1320
1319
  lintFocus(s, this.spec.sequences ?? []);
1321
- for (const message of matteProblems(s, this.spec.sequences ?? [], span)) console.warn(`pixi-effects: ${chunkECA2WNRX_cjs.describeLayer(s)}: ${message}`);
1322
- chunkECA2WNRX_cjs.lintTiming(s, span, (message, kind) => kind === "late-keyframe" ? lateKeyframes.push(message) : console.warn(message));
1323
- chunkECA2WNRX_cjs.lintText(s);
1324
- chunkECA2WNRX_cjs.lintKeys(s);
1320
+ for (const message of matteProblems(s, this.spec.sequences ?? [], span)) console.warn(`pixi-effects: ${chunkZMAD3KJU_cjs.describeLayer(s)}: ${message}`);
1321
+ chunkZMAD3KJU_cjs.lintTiming(s, span, (message, kind) => kind === "late-keyframe" ? lateKeyframes.push(message) : console.warn(message));
1322
+ chunkZMAD3KJU_cjs.lintText(s);
1323
+ chunkZMAD3KJU_cjs.lintKeys(s);
1325
1324
  }
1326
- for (const message of chunkECA2WNRX_cjs.summarizeWarnings(lateKeyframes)) console.warn(message);
1327
- const crowd = chunk3DLYAPK7_cjs.maxConcurrentAdvanced(this.spec.sequences ?? [], span);
1328
- if (crowd >= chunk3DLYAPK7_cjs.MANY_ADVANCED) {
1329
- console.warn(`pixi-effects: ${chunkECA2WNRX_cjs.describeLayer(this.spec)}: ${crowd} layers with an advanced blendMode are on screen at once (a composition with one counts each layer inside it, since its children blend one by one); each is a full-frame pass (about 2 ms on WebGL). Put fewer layers in the blend (or draw the glow as one layer), or use add / screen / multiply`);
1325
+ for (const message of chunkZMAD3KJU_cjs.summarizeWarnings(lateKeyframes)) console.warn(message);
1326
+ const crowd = chunkP4GY3Z4G_cjs.maxConcurrentAdvanced(this.spec.sequences ?? [], span);
1327
+ if (crowd >= chunkP4GY3Z4G_cjs.MANY_ADVANCED) {
1328
+ console.warn(`pixi-effects: ${chunkZMAD3KJU_cjs.describeLayer(this.spec)}: ${crowd} layers with an advanced blendMode are on screen at once (a composition with one counts each layer inside it, since its children blend one by one); each is a full-frame pass (about 2 ms on WebGL). Put fewer layers in the blend (or draw the glow as one layer), or use add / screen / multiply`);
1330
1329
  }
1331
- this._children = await chunkWPXDRSGN_cjs.buildSequenceTree(
1330
+ this._children = await chunkRQMI7EJT_cjs.buildSequenceTree(
1332
1331
  this.spec.sequences ?? [],
1333
1332
  this._compositionShape,
1334
1333
  this.root
@@ -1339,22 +1338,22 @@ var CompositionSequence = class extends chunkWPXDRSGN_cjs.Sequence {
1339
1338
  if (matteNames.size > 0) {
1340
1339
  this._mattes = new MatteSet(inner, width, height);
1341
1340
  for (const name of matteNames) {
1342
- const source = this._children.find((c) => c.spec.name === name && !(c instanceof chunkWPXDRSGN_cjs.CameraSequence));
1341
+ const source = this._children.find((c) => c.spec.name === name && !(c instanceof chunkRQMI7EJT_cjs.CameraSequence));
1343
1342
  if (!source || !source.target || !canBeMatte(source.spec)) continue;
1344
1343
  const chain = [];
1345
1344
  for (let p = this._parentOf.get(source); p; p = this._parentOf.get(p)) chain.push(p);
1346
1345
  this._mattes.add(name, source, chain);
1347
1346
  }
1348
1347
  }
1349
- if (this._children.some((c) => c instanceof chunkWPXDRSGN_cjs.LightSequence)) {
1350
- for (const message of lightSetProblems(this.spec.sequences ?? [])) console.warn(`pixi-effects: ${chunkECA2WNRX_cjs.describeLayer(this.spec)}: ${message}`);
1348
+ if (this._children.some((c) => c instanceof chunkRQMI7EJT_cjs.LightSequence)) {
1349
+ for (const message of lightSetProblems(this.spec.sequences ?? [])) console.warn(`pixi-effects: ${chunkZMAD3KJU_cjs.describeLayer(this.spec)}: ${message}`);
1351
1350
  }
1352
1351
  const layerNames = new Set(this._children.map((c) => c.spec.name).filter((n) => !!n));
1353
1352
  for (const cam of this._children) {
1354
- if (!(cam instanceof chunkWPXDRSGN_cjs.CameraSequence)) continue;
1353
+ if (!(cam instanceof chunkRQMI7EJT_cjs.CameraSequence)) continue;
1355
1354
  cam.resolveFocusNames((name) => {
1356
1355
  const hit = this._children.find((c) => c.spec.name === name && c.spec.threeD);
1357
- return hit ? chunkWPXDRSGN_cjs.layerInitialZ(hit.spec, hit.scope()) : void 0;
1356
+ return hit ? chunkRQMI7EJT_cjs.layerInitialZ(hit.spec, hit.scope()) : void 0;
1358
1357
  }, layerNames);
1359
1358
  }
1360
1359
  const blendSaid = /* @__PURE__ */ new Map();
@@ -1364,11 +1363,11 @@ var CompositionSequence = class extends chunkWPXDRSGN_cjs.Sequence {
1364
1363
  else blendSaid.set(message, { spec, n: 1 });
1365
1364
  };
1366
1365
  for (const child of this._children) {
1367
- if (child instanceof chunkWPXDRSGN_cjs.CameraSequence) {
1366
+ if (child instanceof chunkRQMI7EJT_cjs.CameraSequence) {
1368
1367
  this._cameras.push(child);
1369
1368
  continue;
1370
1369
  }
1371
- if (child instanceof chunkWPXDRSGN_cjs.LightSequence) {
1370
+ if (child instanceof chunkRQMI7EJT_cjs.LightSequence) {
1372
1371
  this._lights.push(child);
1373
1372
  continue;
1374
1373
  }
@@ -1382,10 +1381,10 @@ var CompositionSequence = class extends chunkWPXDRSGN_cjs.Sequence {
1382
1381
  inner.addChild(layer.display);
1383
1382
  this._layers3d.push(layer);
1384
1383
  this._visual.push({ seq: child, layer });
1385
- const added3d = chunk3DLYAPK7_cjs.applyBlendMode(child.spec, layer.display, report);
1384
+ const added3d = chunkP4GY3Z4G_cjs.applyBlendMode(child.spec, layer.display, report);
1386
1385
  if (added3d) this._blendOwned.push(added3d);
1387
1386
  if (maskSrc.kind !== "none") {
1388
- console.warn(`pixi-effects: ${chunkECA2WNRX_cjs.describeLayer(child.spec)}: mask is not supported on threeD layers yet; ignored`);
1387
+ console.warn(`pixi-effects: ${chunkZMAD3KJU_cjs.describeLayer(child.spec)}: mask is not supported on threeD layers yet; ignored`);
1389
1388
  }
1390
1389
  continue;
1391
1390
  }
@@ -1402,7 +1401,7 @@ var CompositionSequence = class extends chunkWPXDRSGN_cjs.Sequence {
1402
1401
  if (maskSrc.kind === "inline") {
1403
1402
  const maskSpec = maskSrc.spec;
1404
1403
  const lifetime = maskSpec.at === void 0 ? { at: child.at, duration: maskSpec.duration ?? child.duration } : {};
1405
- const built = await chunkWPXDRSGN_cjs.buildSequenceTree([{ ...maskSpec, ...lifetime }], this._compositionShape, this.root);
1404
+ const built = await chunkRQMI7EJT_cjs.buildSequenceTree([{ ...maskSpec, ...lifetime }], this._compositionShape, this.root);
1406
1405
  const maskSeq = built[0];
1407
1406
  if (maskSeq?.target) {
1408
1407
  child.maskSequence = maskSeq;
@@ -1427,14 +1426,14 @@ var CompositionSequence = class extends chunkWPXDRSGN_cjs.Sequence {
1427
1426
  t.filters = [...Array.isArray(t.filters) ? t.filters : [], ...matteFilters];
1428
1427
  this._blendOwned.push(...matteFilters);
1429
1428
  }
1430
- const added = chunk3DLYAPK7_cjs.applyBlendMode(child.spec, child.target, report);
1429
+ const added = chunkP4GY3Z4G_cjs.applyBlendMode(child.spec, child.target, report);
1431
1430
  if (added) this._blendOwned.push(added);
1432
1431
  }
1433
1432
  if (this._mattes && this._mattes.size > MANY_MATTES) {
1434
- console.warn(`pixi-effects: ${chunkECA2WNRX_cjs.describeLayer(this.spec)}: ${this._mattes.size} mattes: each is a ${width}\xD7${height} texture (about ${Math.round(width * height * 4 / 1048576)} MiB, more with anti-aliasing). Share one matte between layers, or use fewer`);
1433
+ console.warn(`pixi-effects: ${chunkZMAD3KJU_cjs.describeLayer(this.spec)}: ${this._mattes.size} mattes: each is a ${width}\xD7${height} texture (about ${Math.round(width * height * 4 / 1048576)} MiB, more with anti-aliasing). Share one matte between layers, or use fewer`);
1435
1434
  }
1436
1435
  for (const [message, seen] of blendSaid) {
1437
- console.warn(`pixi-effects: ${chunkECA2WNRX_cjs.describeLayer(seen.spec)}: ${message}${seen.n > 1 ? ` (and ${seen.n - 1} more layers have the same mistake)` : ""}`);
1436
+ console.warn(`pixi-effects: ${chunkZMAD3KJU_cjs.describeLayer(seen.spec)}: ${message}${seen.n > 1 ? ` (and ${seen.n - 1} more layers have the same mistake)` : ""}`);
1438
1437
  }
1439
1438
  if (this._layers3d.length > 0) {
1440
1439
  inner.sortableChildren = true;
@@ -1445,7 +1444,7 @@ var CompositionSequence = class extends chunkWPXDRSGN_cjs.Sequence {
1445
1444
  console.warn("pixi-effects: camera has no effect: this composition has no threeD layers");
1446
1445
  }
1447
1446
  if (this._layers3d.length === 0 && this._lights.length > 0) {
1448
- console.warn(`pixi-effects: ${chunkECA2WNRX_cjs.describeLayer(this.spec)}: a light has no effect: this composition has no threeD layers (a light lights only the threeD layers of its own composition, not those of the compositions nested in it: put the light inside the composition that holds them)`);
1447
+ console.warn(`pixi-effects: ${chunkZMAD3KJU_cjs.describeLayer(this.spec)}: a light has no effect: this composition has no threeD layers (a light lights only the threeD layers of its own composition, not those of the compositions nested in it: put the light inside the composition that holds them)`);
1449
1448
  }
1450
1449
  this.buildFilters();
1451
1450
  }
@@ -1458,9 +1457,9 @@ var CompositionSequence = class extends chunkWPXDRSGN_cjs.Sequence {
1458
1457
  const remap = this._remap;
1459
1458
  const childOffset = remap ? 0 : offset + this.at;
1460
1459
  this._childBase = childOffset;
1461
- const target = remap ? gsap.gsap.timeline({ paused: true, defaults: { ease: "none" } }) : timeline;
1460
+ const target = remap ? chunkRQMI7EJT_cjs.createTimeline({ paused: true, defaults: { ease: "none" } }) : timeline;
1462
1461
  for (const child of this._children) {
1463
- const own = gsap.gsap.timeline({ defaults: { ease: "none" } });
1462
+ const own = chunkRQMI7EJT_cjs.createTimeline({ defaults: { ease: "none" } });
1464
1463
  child.bindTimeline(own, childOffset);
1465
1464
  child.maskSequence?.bindTimeline(own, childOffset);
1466
1465
  target.add(own, 0);
@@ -1490,11 +1489,8 @@ var CompositionSequence = class extends chunkWPXDRSGN_cjs.Sequence {
1490
1489
  this._clock = clock;
1491
1490
  const scope = this.scope();
1492
1491
  if (remap.start !== void 0 && remap.timeKfs.length === 0) clock.time = remap.start;
1493
- chunkWPXDRSGN_cjs.bindClock(timeline, clock, "time", remap, this.duration, offset + this.at, scope);
1494
- inner.time(inner.duration());
1495
- inner.time(0);
1496
- last = NaN;
1497
- this._warnUnreachable(chunkWPXDRSGN_cjs.clockTable(remap, "time", this.duration, offset + this.at, scope, offset + this.at + this.duration), offset + this.at, offset + this.at + this.duration);
1492
+ chunkRQMI7EJT_cjs.bindClock(timeline, clock, "time", remap, this.duration, offset + this.at, scope);
1493
+ this._warnUnreachable(chunkRQMI7EJT_cjs.clockTable(remap, "time", this.duration, offset + this.at, scope, offset + this.at + this.duration), offset + this.at, offset + this.at + this.duration);
1498
1494
  }
1499
1495
  /**
1500
1496
  * A child the clock never dwells in is never visible: say so. Its `at` is in THIS composition's local time, so the usual mistake is
@@ -1518,7 +1514,7 @@ var CompositionSequence = class extends chunkWPXDRSGN_cjs.Sequence {
1518
1514
  }
1519
1515
  if (dwell >= 2) continue;
1520
1516
  console.warn(
1521
- `pixi-effects: ${chunkECA2WNRX_cjs.describeLayer(child.spec)} starts at ${at}s of ${chunkECA2WNRX_cjs.describeLayer(this.spec)}'s own time, but its clock only reaches ${Number(table.min.toFixed(3))}\u2013${Number(table.max.toFixed(3))}s (${how}), so it is never visible. Layers inside a remapped composition are placed in that composition's local time.`
1517
+ `pixi-effects: ${chunkZMAD3KJU_cjs.describeLayer(child.spec)} starts at ${at}s of ${chunkZMAD3KJU_cjs.describeLayer(this.spec)}'s own time, but its clock only reaches ${Number(table.min.toFixed(3))}\u2013${Number(table.max.toFixed(3))}s (${how}), so it is never visible. Layers inside a remapped composition are placed in that composition's local time.`
1522
1518
  );
1523
1519
  }
1524
1520
  }
@@ -1532,7 +1528,7 @@ var CompositionSequence = class extends chunkWPXDRSGN_cjs.Sequence {
1532
1528
  for (let p = this._parentOf.get(seq); p; p = this._parentOf.get(p)) out.push(p);
1533
1529
  return out;
1534
1530
  };
1535
- return [...this._visual.map((v) => v.seq), ...this._nested].filter((seq) => !(seq instanceof chunkWPXDRSGN_cjs.NullSequence)).map((seq) => {
1531
+ return [...this._visual.map((v) => v.seq), ...this._nested].filter((seq) => !(seq instanceof chunkRQMI7EJT_cjs.NullSequence)).map((seq) => {
1536
1532
  const layer = this._visual.find((v) => v.seq === seq)?.layer ?? null;
1537
1533
  return {
1538
1534
  seq,
@@ -1541,24 +1537,24 @@ var CompositionSequence = class extends chunkWPXDRSGN_cjs.Sequence {
1541
1537
  carriers: carriersOf(seq),
1542
1538
  depthBlur: layer?.blur ?? 0,
1543
1539
  // how lit it is (threeD layers that receive the lights of the last frame only); computed here, not per frame
1544
- light: layer && this._lighting && layer.world && layer.spec.lit !== false ? chunkWPXDRSGN_cjs.lightLevel(layer.world, this._lighting.cam, this._lighting.states) : void 0
1540
+ light: layer && this._lighting && layer.world && layer.spec.lit !== false ? chunkRQMI7EJT_cjs.lightLevel(layer.world, this._lighting.cam, this._lighting.states) : void 0
1545
1541
  };
1546
1542
  });
1547
1543
  }
1548
1544
  /** Match every `parent: 'name'` to a null layer; anything that cannot work is said out loud and drawn unparented. */
1549
1545
  _resolveParents() {
1550
- const nulls = this._children.filter((c) => c instanceof chunkWPXDRSGN_cjs.NullSequence);
1546
+ const nulls = this._children.filter((c) => c instanceof chunkRQMI7EJT_cjs.NullSequence);
1551
1547
  const nullNames = nulls.map((n) => n.spec.name).filter((n) => !!n);
1552
1548
  const warned = /* @__PURE__ */ new Set();
1553
1549
  for (const child of this._children) {
1554
1550
  const want = child.spec.parent;
1555
1551
  if (want === void 0) continue;
1556
- const who = chunkECA2WNRX_cjs.describeLayer(child.spec);
1557
- if (child instanceof chunkWPXDRSGN_cjs.CameraSequence) {
1552
+ const who = chunkZMAD3KJU_cjs.describeLayer(child.spec);
1553
+ if (child instanceof chunkRQMI7EJT_cjs.CameraSequence) {
1558
1554
  console.warn(`pixi-effects: ${who}: a camera cannot have a parent; ignored`);
1559
1555
  continue;
1560
1556
  }
1561
- if (child instanceof chunkWPXDRSGN_cjs.LightSequence) {
1557
+ if (child instanceof chunkRQMI7EJT_cjs.LightSequence) {
1562
1558
  console.warn(`pixi-effects: ${who}: a light cannot have a parent (parent "${want}" ignored: move the light with its own x / y / z keyframes)`);
1563
1559
  continue;
1564
1560
  }
@@ -1572,7 +1568,7 @@ var CompositionSequence = class extends chunkWPXDRSGN_cjs.Sequence {
1572
1568
  console.warn(`pixi-effects: ${who}: parent "${want}": no layer with that name${hint ? `; did you mean "${hint}"?` : ""} (the layer is drawn without a parent)`);
1573
1569
  continue;
1574
1570
  }
1575
- const holder = same.find((c) => c instanceof chunkWPXDRSGN_cjs.NullSequence);
1571
+ const holder = same.find((c) => c instanceof chunkRQMI7EJT_cjs.NullSequence);
1576
1572
  if (!holder) {
1577
1573
  console.warn(`pixi-effects: ${who}: parent "${want}" is a ${same[0].spec.type} layer; only { type: 'null' } layers can be parents (the layer is drawn without a parent)`);
1578
1574
  continue;
@@ -1617,8 +1613,8 @@ var CompositionSequence = class extends chunkWPXDRSGN_cjs.Sequence {
1617
1613
  childT,
1618
1614
  compEnd
1619
1615
  );
1620
- const cam = active ? active.cam.state() : chunkWPXDRSGN_cjs.homeCamera(width, height);
1621
- const basis = chunkWPXDRSGN_cjs.cameraBasis(cam, width, height);
1616
+ const cam = active ? active.cam.state() : chunkRQMI7EJT_cjs.homeCamera(width, height);
1617
+ const basis = chunkRQMI7EJT_cjs.cameraBasis(cam, width, height);
1622
1618
  for (const layer of this._layers3d) layer.update(host, basis);
1623
1619
  this._applyLighting(childT, compEnd, basis, active?.cam ?? null);
1624
1620
  this._applyDepthOfField(cam, basis);
@@ -1643,7 +1639,7 @@ var CompositionSequence = class extends chunkWPXDRSGN_cjs.Sequence {
1643
1639
  return t >= w.start && (t < w.end || w.end >= compEnd && t <= w.end);
1644
1640
  });
1645
1641
  const states = live.map((l) => l.state());
1646
- const packed = states.length > 0 ? chunkWPXDRSGN_cjs.packLights(states) : null;
1642
+ const packed = states.length > 0 ? chunkRQMI7EJT_cjs.packLights(states) : null;
1647
1643
  this._lighting = states.length > 0 ? { states, cam: { x: basis.cx, y: basis.cy, z: basis.cz } } : null;
1648
1644
  const shadowing = states.some((s) => s.castsShadows);
1649
1645
  const casters = shadowing ? this._layers3d.filter((l) => l.spec.castsShadows && l.display.visible && l.world && l.source) : [];
@@ -1652,7 +1648,7 @@ var CompositionSequence = class extends chunkWPXDRSGN_cjs.Sequence {
1652
1648
  const mat = l.setLit(true);
1653
1649
  if (!mat || !l.world) continue;
1654
1650
  const lit = l.spec.lit !== false;
1655
- const mine = lit ? casters.filter((c) => c !== l).slice(0, chunkWPXDRSGN_cjs.MAX_CASTERS).map((c) => ({ frame: c.world, source: c.source })) : [];
1651
+ const mine = lit ? casters.filter((c) => c !== l).slice(0, chunkRQMI7EJT_cjs.MAX_CASTERS).map((c) => ({ frame: c.world, source: c.source })) : [];
1656
1652
  mat.update(l.world, camInfo, lit ? packed : null, fog, mine);
1657
1653
  }
1658
1654
  }
@@ -1663,23 +1659,23 @@ var CompositionSequence = class extends chunkWPXDRSGN_cjs.Sequence {
1663
1659
  for (const l of this._layers3d) l.setBlur(0);
1664
1660
  return;
1665
1661
  }
1666
- const focusDepth = chunkWPXDRSGN_cjs.projectPoint(basis, { x: cam.lookAtX, y: cam.lookAtY, z: cam.focus ?? 0 }).depth;
1667
- if (!(focusDepth > chunkWPXDRSGN_cjs.NEAR)) {
1662
+ const focusDepth = chunkRQMI7EJT_cjs.projectPoint(basis, { x: cam.lookAtX, y: cam.lookAtY, z: cam.focus ?? 0 }).depth;
1663
+ if (!(focusDepth > chunkRQMI7EJT_cjs.NEAR)) {
1668
1664
  if (!this._dofSaid.behind) {
1669
1665
  this._dofSaid.behind = true;
1670
- console.warn(`pixi-effects: ${chunkECA2WNRX_cjs.describeLayer(this.spec)}: the camera's focus (z = ${(cam.focus ?? 0).toFixed(0)}) is at or behind the camera, so nothing is blurred. Put focus in front of the camera (a z below the camera's z)`);
1666
+ console.warn(`pixi-effects: ${chunkZMAD3KJU_cjs.describeLayer(this.spec)}: the camera's focus (z = ${(cam.focus ?? 0).toFixed(0)}) is at or behind the camera, so nothing is blurred. Put focus in front of the camera (a z below the camera's z)`);
1671
1667
  }
1672
1668
  for (const l of this._layers3d) l.setBlur(0);
1673
1669
  return;
1674
1670
  }
1675
1671
  let blurred = 0;
1676
1672
  for (const l of this._layers3d) {
1677
- l.setBlur(l.display.visible ? chunkWPXDRSGN_cjs.blurRadius(aperture, basis.focal, l.depth, focusDepth) : 0);
1673
+ l.setBlur(l.display.visible ? chunkRQMI7EJT_cjs.blurRadius(aperture, basis.focal, l.depth, focusDepth) : 0);
1678
1674
  if (l.blur > 0) blurred++;
1679
1675
  }
1680
- if (blurred >= chunkWPXDRSGN_cjs.MANY_BLURRED && !this._dofSaid.many) {
1676
+ if (blurred >= chunkRQMI7EJT_cjs.MANY_BLURRED && !this._dofSaid.many) {
1681
1677
  this._dofSaid.many = true;
1682
- console.warn(`pixi-effects: ${chunkECA2WNRX_cjs.describeLayer(this.spec)}: ${blurred} layers are blurred by depth of field at once; each costs a filter pass per frame (WebGPU more). Merge the far layers or lower aperture`);
1678
+ console.warn(`pixi-effects: ${chunkZMAD3KJU_cjs.describeLayer(this.spec)}: ${blurred} layers are blurred by depth of field at once; each costs a filter pass per frame (WebGPU more). Merge the far layers or lower aperture`);
1683
1679
  }
1684
1680
  }
1685
1681
  collectAudio(out, baseTime) {
@@ -1693,7 +1689,7 @@ var CompositionSequence = class extends chunkWPXDRSGN_cjs.Sequence {
1693
1689
  const inner = [];
1694
1690
  for (const child of this._children) child.collectAudio(inner, 0);
1695
1691
  const lo = baseTime + this.at, hi = lo + this.duration;
1696
- const table = chunkWPXDRSGN_cjs.clockTable(remap, "time", this.duration, lo, this.scope(), hi);
1692
+ const table = chunkRQMI7EJT_cjs.clockTable(remap, "time", this.duration, lo, this.scope(), hi);
1697
1693
  for (const d of inner) {
1698
1694
  const prev = d.warp;
1699
1695
  out.push({ ...d, warp: (t) => t < lo || t > hi ? NaN : prev ? prev(table.at(t)) : table.at(t) });
@@ -1723,5 +1719,5 @@ function frameOf(child) {
1723
1719
 
1724
1720
  exports.CompositionSequence = CompositionSequence;
1725
1721
  exports.maskSourceOf = maskSourceOf;
1726
- //# sourceMappingURL=chunk-555URQHQ.cjs.map
1727
- //# sourceMappingURL=chunk-555URQHQ.cjs.map
1722
+ //# sourceMappingURL=chunk-NDR2VQFV.cjs.map
1723
+ //# sourceMappingURL=chunk-NDR2VQFV.cjs.map