pixi-effects 0.16.2 → 0.17.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 (52) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +6 -6
  3. package/ai/CHAT.md +4 -0
  4. package/ai/SKILL.md +2 -1
  5. package/ai/chat-template.html +3 -3
  6. package/ai/reference/cheatsheet.md +4 -2
  7. package/ai/reference/pitfalls.md +3 -0
  8. package/ai/reference/recipes.md +67 -0
  9. package/ai/template.html +5 -5
  10. package/ai/tools/check.mjs +162 -18
  11. package/ai/tools/render.mjs +21 -7
  12. package/dist/Composition-HYAOYPAX.js +5 -0
  13. package/dist/{Composition-VJWY2NDL.js.map → Composition-HYAOYPAX.js.map} +1 -1
  14. package/dist/Composition-LMVEASHF.cjs +14 -0
  15. package/dist/{Composition-3WWNVRR5.cjs.map → Composition-LMVEASHF.cjs.map} +1 -1
  16. package/dist/Controller.cjs +9 -3
  17. package/dist/Controller.cjs.map +1 -1
  18. package/dist/Controller.d.cts +1 -1
  19. package/dist/Controller.d.ts +1 -1
  20. package/dist/Controller.js +9 -3
  21. package/dist/Controller.js.map +1 -1
  22. package/dist/{Movie-oA0SUAyb.d.cts → Movie-CoxF2Z7t.d.cts} +82 -2
  23. package/dist/{Movie-DilBC348.d.ts → Movie-DHJRrUfI.d.ts} +82 -2
  24. package/dist/Presenter.d.cts +1 -1
  25. package/dist/Presenter.d.ts +1 -1
  26. package/dist/{chunk-2ROVCPSL.cjs → chunk-ETAIVOHP.cjs} +32 -27
  27. package/dist/chunk-ETAIVOHP.cjs.map +1 -0
  28. package/dist/{chunk-FJA5VUOF.cjs → chunk-LBJRXU7N.cjs} +15 -3
  29. package/dist/chunk-LBJRXU7N.cjs.map +1 -0
  30. package/dist/{chunk-ZNKQH356.js → chunk-ORTYBA42.js} +15 -4
  31. package/dist/chunk-ORTYBA42.js.map +1 -0
  32. package/dist/{chunk-XTIHKODH.js → chunk-Q3IVBYT7.js} +10 -5
  33. package/dist/chunk-Q3IVBYT7.js.map +1 -0
  34. package/dist/index.cjs +351 -41
  35. package/dist/index.cjs.map +1 -1
  36. package/dist/index.d.cts +1 -1
  37. package/dist/index.d.ts +1 -1
  38. package/dist/index.js +329 -19
  39. package/dist/index.js.map +1 -1
  40. package/dist/loader.css +1 -1
  41. package/dist/three.cjs +5 -5
  42. package/dist/three.js +1 -1
  43. package/docs/dsl.md +2 -1
  44. package/llms-full.txt +78 -4
  45. package/llms.txt +1 -1
  46. package/package.json +6 -3
  47. package/dist/Composition-3WWNVRR5.cjs +0 -14
  48. package/dist/Composition-VJWY2NDL.js +0 -5
  49. package/dist/chunk-2ROVCPSL.cjs.map +0 -1
  50. package/dist/chunk-FJA5VUOF.cjs.map +0 -1
  51. package/dist/chunk-XTIHKODH.js.map +0 -1
  52. package/dist/chunk-ZNKQH356.js.map +0 -1
@@ -289,6 +289,16 @@ function looksLikeColorString(s) {
289
289
  if (s.charCodeAt(0) === 35) return true;
290
290
  return /^(rgb|hsl|oklab|oklch|lab|lch)\b/i.test(s);
291
291
  }
292
+ var FAMILIES = ["power1", "power2", "power3", "power4", "back", "elastic", "bounce", "circ", "expo", "sine"];
293
+ var EASE_NAMES = ["none", ...FAMILIES.flatMap((f) => [`${f}.in`, `${f}.out`, `${f}.inOut`])];
294
+ var warned = /* @__PURE__ */ new Set();
295
+ function checkEase(ease, where) {
296
+ if (typeof ease !== "string" || gsap.parseEase(ease)) return;
297
+ if (warned.has(ease)) return;
298
+ warned.add(ease);
299
+ const guess = suggestName(ease, EASE_NAMES);
300
+ console.warn(`pixi-effects: ${where}: unknown ease "${ease}"${guess ? ` \u2014 did you mean "${guess}"?` : ""} (GSAP would run it as its default ease, power1.out). Examples: ${EASE_NAMES.slice(0, 7).join(", ")}, back.out(1.7), elastic.out(1, 0.3), steps(8)`);
301
+ }
292
302
 
293
303
  // src/core/Timeline.ts
294
304
  function loopVars(kf) {
@@ -316,6 +326,7 @@ function normalizeKeyframe(kf, parentDuration) {
316
326
  const at = resolveAt(kf.at, parentDuration);
317
327
  const duration = kf.duration ?? 0;
318
328
  const ease = kf.ease ?? "none";
329
+ checkEase(ease, "a keyframe");
319
330
  const hasSet = !!kf.set;
320
331
  const hasFrom = !!kf.from;
321
332
  const hasTo = !!kf.to;
@@ -2733,7 +2744,7 @@ function numOrZero(v, scope) {
2733
2744
  var _CompositionSequence = null;
2734
2745
  async function getCompositionSequence() {
2735
2746
  if (!_CompositionSequence) {
2736
- _CompositionSequence = (await import('./Composition-VJWY2NDL.js')).CompositionSequence;
2747
+ _CompositionSequence = (await import('./Composition-HYAOYPAX.js')).CompositionSequence;
2737
2748
  }
2738
2749
  return _CompositionSequence;
2739
2750
  }
@@ -2771,6 +2782,6 @@ async function buildSequenceTree(specs, parent, root) {
2771
2782
  return out;
2772
2783
  }
2773
2784
 
2774
- export { CameraSequence, DEFAULT_FOV, DEG, NEAR, NullSequence, Sequence, buildScope, buildSequenceTree, cameraBasis, collectPropKeys, describeLayer, ensureFilterLibrary, evaluateExpr, flattenSvgPath, homeCamera, homeDistance, lintText, lintTiming, noise, projectLayer, rand, random, registerSequenceType, resolveAt, summarizeWarnings };
2775
- //# sourceMappingURL=chunk-ZNKQH356.js.map
2776
- //# sourceMappingURL=chunk-ZNKQH356.js.map
2785
+ export { CameraSequence, DEFAULT_FOV, DEG, NEAR, NullSequence, Sequence, buildScope, buildSequenceTree, cameraBasis, checkEase, collectPropKeys, describeLayer, ensureFilterLibrary, evaluateExpr, flattenSvgPath, homeCamera, homeDistance, lintText, lintTiming, noise, projectLayer, rand, random, registerSequenceType, resolveAt, summarizeWarnings };
2786
+ //# sourceMappingURL=chunk-ORTYBA42.js.map
2787
+ //# sourceMappingURL=chunk-ORTYBA42.js.map