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
@@ -4738,7 +4738,22 @@ function splitEvenOdd(d) {
4738
4738
  }, 0);
4739
4739
  const areas = parts.map(area);
4740
4740
  const big = areas.indexOf(Math.max(...areas));
4741
- return { main: parts[big], holes: parts.filter((_, i) => i !== big) };
4741
+ const holes = parts.filter((_, i) => i !== big);
4742
+ const pointOf = (sub2) => {
4743
+ const p0 = flattenSvgPath(sub2)[0]?.pts ?? [0, 0];
4744
+ return [p0[0], p0[1]];
4745
+ };
4746
+ const inPoly = (sub2, [x, y]) => {
4747
+ const line = flattenSvgPath(sub2)[0]?.pts ?? [];
4748
+ let inside = false;
4749
+ for (let i = 0, j = line.length - 2; i < line.length; j = i, i += 2) {
4750
+ const xi = line[i], yi = line[i + 1], xj = line[j], yj = line[j + 1];
4751
+ if (yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi) inside = !inside;
4752
+ }
4753
+ return inside;
4754
+ };
4755
+ const real = holes.filter((h, i) => !holes.some((o, k) => k !== i && area(o) > area(h) && inPoly(o, pointOf(h))));
4756
+ return { main: parts[big], holes: real };
4742
4757
  }
4743
4758
 
4744
4759
  // src/sequences/morphPath.ts
@@ -6054,13 +6069,13 @@ var CanvasSequence = class extends Sequence {
6054
6069
  var _CompositionSequence = null;
6055
6070
  async function getCompositionSequence() {
6056
6071
  if (!_CompositionSequence) {
6057
- _CompositionSequence = (await import('./Composition-HTHQ2RLF.js')).CompositionSequence;
6072
+ _CompositionSequence = (await import('./Composition-ZCRJHBB5.js')).CompositionSequence;
6058
6073
  }
6059
6074
  return _CompositionSequence;
6060
6075
  }
6061
6076
  var _SpansSequence = null;
6062
6077
  async function getSpansSequence() {
6063
- if (!_SpansSequence) _SpansSequence = (await import('./Spans-JYCTJV4V.js')).SpansSequence;
6078
+ if (!_SpansSequence) _SpansSequence = (await import('./Spans-FMAVPATS.js')).SpansSequence;
6064
6079
  return _SpansSequence;
6065
6080
  }
6066
6081
  var staticTypes = {
@@ -6106,5 +6121,5 @@ async function buildSequenceTree(specs, parent, root, out = []) {
6106
6121
  }
6107
6122
 
6108
6123
  export { CameraSequence, DEFAULT_FOV, DEG3 as DEG, EXPRESSION_NAMES, FALLOFFS, LIGHT_KINDS, LIGHT_PROPS, LightSequence, MANY_BLURRED, MAX_BLUR, MAX_CASTERS, MAX_LIGHTS, MIN_BLUR, NEAR, NullSequence, SHADOW_TAPS, Sequence, TextSequence, bindClock, bindCounterKeyframes, blurRadius, buildScope, buildSequenceTree, cameraBasis, checkEase, clockTable, contentLength, createTimeline, ensureFilterLibrary, evaluateExpr, flattenSvgPath, focusProblems, homeCamera, homeDistance, layerInitialZ, layerToWorld, lengthen, lightLevel, noise, noise2, packLights, parseEase, parseSpring, projectLayer, projectPoint, rand, random, registerSequenceType, remapOf, resolveAt, resolveNumber, spansMeta, springDuration, timeRemapOf, trimPolylines };
6109
- //# sourceMappingURL=chunk-34YNRCMT.js.map
6110
- //# sourceMappingURL=chunk-34YNRCMT.js.map
6124
+ //# sourceMappingURL=chunk-4PYVHLIK.js.map
6125
+ //# sourceMappingURL=chunk-4PYVHLIK.js.map