pixi-effects 0.47.4 → 0.47.5

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 (51) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +5 -5
  3. package/ai/chat-template.html +3 -3
  4. package/dist/Composition-PMWLJQPI.cjs +16 -0
  5. package/dist/{Composition-ZYRDRLYB.cjs.map → Composition-PMWLJQPI.cjs.map} +1 -1
  6. package/dist/Composition-ZCRJHBB5.js +7 -0
  7. package/dist/{Composition-HTHQ2RLF.js.map → Composition-ZCRJHBB5.js.map} +1 -1
  8. package/dist/Controller.d.cts +1 -1
  9. package/dist/Controller.d.ts +1 -1
  10. package/dist/{Movie-sV8nJr_f.d.ts → Movie--qSYKgAQ.d.ts} +2 -2
  11. package/dist/{Movie-BqrAWN0g.d.cts → Movie-svZQF-9Z.d.cts} +2 -2
  12. package/dist/{Spans-JYCTJV4V.js → Spans-FMAVPATS.js} +4 -4
  13. package/dist/{Spans-JYCTJV4V.js.map → Spans-FMAVPATS.js.map} +1 -1
  14. package/dist/{Spans-I7P7ZVZO.cjs → Spans-KTUPDFSR.cjs} +9 -9
  15. package/dist/{Spans-I7P7ZVZO.cjs.map → Spans-KTUPDFSR.cjs.map} +1 -1
  16. package/dist/{chunk-AES2L75M.cjs → chunk-2AT5WSSV.cjs} +58 -45
  17. package/dist/chunk-2AT5WSSV.cjs.map +1 -0
  18. package/dist/{chunk-34YNRCMT.js → chunk-4PYVHLIK.js} +20 -5
  19. package/dist/chunk-4PYVHLIK.js.map +1 -0
  20. package/dist/{chunk-CJS2S5XU.cjs → chunk-ECLBZV4N.cjs} +20 -5
  21. package/dist/chunk-ECLBZV4N.cjs.map +1 -0
  22. package/dist/{chunk-NCM2WU7R.js → chunk-LHUIEFMH.js} +17 -4
  23. package/dist/chunk-LHUIEFMH.js.map +1 -0
  24. package/dist/{chunk-DS2EWRV4.cjs → chunk-OGLRSR6C.cjs} +63 -63
  25. package/dist/{chunk-DS2EWRV4.cjs.map → chunk-OGLRSR6C.cjs.map} +1 -1
  26. package/dist/{chunk-RTZ5MW3E.js → chunk-UI7CEUTP.js} +3 -3
  27. package/dist/{chunk-RTZ5MW3E.js.map → chunk-UI7CEUTP.js.map} +1 -1
  28. package/dist/index.cjs +33 -33
  29. package/dist/index.d.cts +1 -1
  30. package/dist/index.d.ts +1 -1
  31. package/dist/index.js +3 -3
  32. package/dist/loader.css +1 -1
  33. package/dist/present.cjs +3 -3
  34. package/dist/present.d.cts +1 -1
  35. package/dist/present.d.ts +1 -1
  36. package/dist/present.js +3 -3
  37. package/dist/three.cjs +5 -5
  38. package/dist/three.js +1 -1
  39. package/docs/api.md +2 -2
  40. package/docs/dsl.md +7 -7
  41. package/llms-full.txt +11 -11
  42. package/package.json +1 -1
  43. package/skills/pixi-effects/SKILL.md +1 -1
  44. package/skills/pixi-effects/reference/pitfalls.md +1 -1
  45. package/skills/pixi-effects/template.html +6 -6
  46. package/dist/Composition-HTHQ2RLF.js +0 -7
  47. package/dist/Composition-ZYRDRLYB.cjs +0 -16
  48. package/dist/chunk-34YNRCMT.js.map +0 -1
  49. package/dist/chunk-AES2L75M.cjs.map +0 -1
  50. package/dist/chunk-CJS2S5XU.cjs.map +0 -1
  51. package/dist/chunk-NCM2WU7R.js.map +0 -1
@@ -4759,7 +4759,22 @@ function splitEvenOdd(d) {
4759
4759
  }, 0);
4760
4760
  const areas = parts.map(area);
4761
4761
  const big = areas.indexOf(Math.max(...areas));
4762
- return { main: parts[big], holes: parts.filter((_, i) => i !== big) };
4762
+ const holes = parts.filter((_, i) => i !== big);
4763
+ const pointOf = (sub2) => {
4764
+ const p0 = flattenSvgPath(sub2)[0]?.pts ?? [0, 0];
4765
+ return [p0[0], p0[1]];
4766
+ };
4767
+ const inPoly = (sub2, [x, y]) => {
4768
+ const line = flattenSvgPath(sub2)[0]?.pts ?? [];
4769
+ let inside = false;
4770
+ for (let i = 0, j = line.length - 2; i < line.length; j = i, i += 2) {
4771
+ const xi = line[i], yi = line[i + 1], xj = line[j], yj = line[j + 1];
4772
+ if (yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi) inside = !inside;
4773
+ }
4774
+ return inside;
4775
+ };
4776
+ const real = holes.filter((h, i) => !holes.some((o, k) => k !== i && area(o) > area(h) && inPoly(o, pointOf(h))));
4777
+ return { main: parts[big], holes: real };
4763
4778
  }
4764
4779
 
4765
4780
  // src/sequences/morphPath.ts
@@ -6075,13 +6090,13 @@ var CanvasSequence = class extends Sequence {
6075
6090
  var _CompositionSequence = null;
6076
6091
  async function getCompositionSequence() {
6077
6092
  if (!_CompositionSequence) {
6078
- _CompositionSequence = (await import('./Composition-ZYRDRLYB.cjs')).CompositionSequence;
6093
+ _CompositionSequence = (await import('./Composition-PMWLJQPI.cjs')).CompositionSequence;
6079
6094
  }
6080
6095
  return _CompositionSequence;
6081
6096
  }
6082
6097
  var _SpansSequence = null;
6083
6098
  async function getSpansSequence() {
6084
- if (!_SpansSequence) _SpansSequence = (await import('./Spans-I7P7ZVZO.cjs')).SpansSequence;
6099
+ if (!_SpansSequence) _SpansSequence = (await import('./Spans-KTUPDFSR.cjs')).SpansSequence;
6085
6100
  return _SpansSequence;
6086
6101
  }
6087
6102
  var staticTypes = {
@@ -6181,5 +6196,5 @@ exports.spansMeta = spansMeta;
6181
6196
  exports.springDuration = springDuration;
6182
6197
  exports.timeRemapOf = timeRemapOf;
6183
6198
  exports.trimPolylines = trimPolylines;
6184
- //# sourceMappingURL=chunk-CJS2S5XU.cjs.map
6185
- //# sourceMappingURL=chunk-CJS2S5XU.cjs.map
6199
+ //# sourceMappingURL=chunk-ECLBZV4N.cjs.map
6200
+ //# sourceMappingURL=chunk-ECLBZV4N.cjs.map