@nodetool-ai/video-nodes 0.8.1 → 0.8.3

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 (34) hide show
  1. package/README.md +12 -0
  2. package/dist/.nodetool-build-stamp +1 -1
  3. package/dist/nodes/easeCurve.d.ts +52 -0
  4. package/dist/nodes/easeCurve.d.ts.map +1 -0
  5. package/dist/nodes/easeCurve.js +108 -0
  6. package/dist/nodes/easeCurve.js.map +1 -0
  7. package/dist/nodes/ffmpeg-helpers.d.ts +4 -0
  8. package/dist/nodes/ffmpeg-helpers.d.ts.map +1 -1
  9. package/dist/nodes/ffmpeg-helpers.js +18 -2
  10. package/dist/nodes/ffmpeg-helpers.js.map +1 -1
  11. package/dist/nodes/script.d.ts.map +1 -1
  12. package/dist/nodes/script.js +42 -16
  13. package/dist/nodes/script.js.map +1 -1
  14. package/dist/nodes/storyboard.d.ts +36 -7
  15. package/dist/nodes/storyboard.d.ts.map +1 -1
  16. package/dist/nodes/storyboard.js +222 -70
  17. package/dist/nodes/storyboard.js.map +1 -1
  18. package/dist/nodes/timeline/compositeRender.d.ts +17 -1
  19. package/dist/nodes/timeline/compositeRender.d.ts.map +1 -1
  20. package/dist/nodes/timeline/compositeRender.js +127 -104
  21. package/dist/nodes/timeline/compositeRender.js.map +1 -1
  22. package/dist/nodes/timeline/rawFrames.d.ts +10 -0
  23. package/dist/nodes/timeline/rawFrames.d.ts.map +1 -1
  24. package/dist/nodes/timeline/rawFrames.js +88 -4
  25. package/dist/nodes/timeline/rawFrames.js.map +1 -1
  26. package/dist/nodes/timeline.d.ts +1 -10
  27. package/dist/nodes/timeline.d.ts.map +1 -1
  28. package/dist/nodes/timeline.js +189 -68
  29. package/dist/nodes/timeline.js.map +1 -1
  30. package/dist/nodes/video.d.ts +22 -5
  31. package/dist/nodes/video.d.ts.map +1 -1
  32. package/dist/nodes/video.js +141 -4
  33. package/dist/nodes/video.js.map +1 -1
  34. package/package.json +10 -10
@@ -1 +1 @@
1
- {"version":3,"file":"rawFrames.js","sourceRoot":"","sources":["../../../src/nodes/timeline/rawFrames.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rawFrames.js","sourceRoot":"","sources":["../../../src/nodes/timeline/rawFrames.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,KAAK,EAAuC,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGlD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EACL,kBAAkB,EAClB,UAAU,EACV,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAa9B;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,MAAe,EAAE,MAAe;IACxD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,CAAC,EACD,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,EACxC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAC3C,CAAC;IACF,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;QACpD,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAgB;IACnD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC;QACnC,IAAI;QACJ,OAAO;QACP,iBAAiB;QACjB,KAAK;QACL,eAAe;QACf,qBAAqB;QACrB,KAAK;QACL,aAAa;QACb,QAAQ;KACT,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED,oEAAoE;AACpE,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,QAAgB;IACxD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC;QACnC,IAAI;QACJ,OAAO;QACP,iBAAiB;QACjB,KAAK;QACL,eAAe;QACf,uBAAuB;QACvB,KAAK;QACL,oCAAoC;QACpC,QAAQ;KACT,CAAC,CAAC;IACH,MAAM,CAAC,SAAS,EAAE,WAAW,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IACrD,sEAAsE;IACtE,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,WAAW,CAAC,IAAc;IACjC,OAAO,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,oFAAoF;AACpF,SAAS,aAAa,CAAC,MAAgB;IACrC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QAClC,0EAA0E;QAC1E,oCAAoC;QACpC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE;YAAE,MAAM,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;AAC7D,CAAC;AAED,6DAA6D;AAC7D,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,IAAa;IAEb,MAAM,KAAK,GAAG,WAAW,CAAC;QACxB,IAAI;QACJ,OAAO;QACP,IAAI;QACJ,QAAQ;QACR,KAAK;QACL,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;QACpC,WAAW;QACX,GAAG;QACH,IAAI;QACJ,UAAU;QACV,UAAU;QACV,MAAM;QACN,QAAQ;KACT,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE/D,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAA4B,EAAE,EAAE,CACjD,MAAM,CACJ,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CACnE,CACF,CAAC;QACF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CACzB,IAAI,KAAK,CAAC;YACR,CAAC,CAAC,OAAO,EAAE;YACX,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,MAAM,EAAE,EAAE,CAAC,CAAC,CACpE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9C,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,mBAAmB,IAAI,CAAC,MAAM,gBAAgB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,oBAAoB,QAAQ,GAAG,CACvG,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;AACvD,CAAC;AAED,kFAAkF;AAClF,KAAK,UAAU,SAAS,CAAC,QAAgB;IACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,YAAY,CAAC,QAAgB,EAAE,MAAe;IAC3D,IAAI,KAA4C,CAAC;IACjD,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,kBAAkB,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,IAAI,GAAG,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACrE,OAAO,EAAE,IAAI,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;AAC1F,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,MAAe;IAEf,IAAI,MAAM,SAAS,CAAC,QAAQ,CAAC;QAAE,OAAO,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACrE,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1E,CAAC;AAgBD,oEAAoE;AACpE,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAe3B;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAA6B;IAE7B,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IACtD,MAAM,OAAO,GAAG;QACd,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI;QAC1C,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE;QACzC,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;QACpC,aAAa;KACd,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAEzC,MAAM,KAAK,GAAG,WAAW,CAAC;QACxB,IAAI;QACJ,OAAO;QACP,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,IAAI;QACJ,QAAQ;QACR,KAAK;QACL,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;QACjB,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,IAAI;QACJ,UAAU;QACV,UAAU;QACV,MAAM;QACN,QAAQ;KACT,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE3C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACzD,IAAI,UAAU,GAAiB,IAAI,CAAC;IACpC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAA4B,EAAE,EAAE;QACjD,UAAU;YACR,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACrE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QACzB,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAChD,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,iCAAiC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,IAAI,GAAsB,IAAI,CAAC;IAEnC,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,CAAC,OAAO,CAAC,KAAa;YACzB,IAAI,UAAU;gBAAE,MAAM,UAAU,CAAC;YACjC,OAAO,SAAS,IAAI,KAAK,EAAE,CAAC;gBAC1B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBAClC,SAAS,IAAI,CAAC,CAAC;gBACf,IAAI,CAAC,KAAK;oBAAE,OAAO,IAAI,CAAC;gBACxB,IAAI,GAAG,KAAK,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK;YACH,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC;KACF,CAAC;AACJ,CAAC;AAsBD;;;;GAIG;AACH,MAAM,qBAAqB,GAAG,MAAM,CAAC;AAErC,iFAAiF;AACjF,KAAK,UAAU,mBAAmB,CAAC,QAAgB,EAAE,GAAW,EAAE,MAAmB;IACnF,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,EAAE;QAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,EAAE;YAC7B,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAE,KAAK;YACvC,eAAe,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ;SAC/D,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,KAAoB,EAAQ,EAAE;YAC5C,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,QAAQ,CAAC,CAAC;YACvB,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5C,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,GAAS,EAAE;YACxB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,CAAC;QACf,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;QAC3D,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;YACtB,IAAI,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;gBAC5B,MAAM,EAAE,CAAC;YACX,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAChG,IAAI,MAAM,CAAC,OAAO;YAAE,MAAM,EAAE,CAAC;IAC/B,CAAC,CAAC,CAAC;IACH,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAClC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACnF,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;IAC1C,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,KAAK,GAAG,GAAG,CAAC;QAC7B,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QAC3D,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,eAAe,CAAC,CAAC,GAAG,QAAQ;YAAE,OAAO,KAAK,CAAC;IACrG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAWrC;IACC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACrC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;IAC3D,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;IACjD,yEAAyE;IACzE,oCAAoC;IACpC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CACvC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,UAAU,CAAC,EAClC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAC/C,CAAC,CAAC;IACH,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC;IACtB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,aAAa,GAAiB,EAAE,CAAC;IACrC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,MAAM,GAA4B,IAAI,CAAC;IAC3C,IAAI,IAAI,GAA6B,IAAI,CAAC;IAC1C,IAAI,cAAc,GAAkB,IAAI,CAAC;IACzC,IAAI,SAAS,GAAsB,IAAI,CAAC;IACxC,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAC9C,MAAM,WAAW,GAAG,mBAAmB,CACrC,QAAQ,EACR,GAAG,EACH,eAAe,CAAC,MAAM,CACvB,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,GAAW,EAAoB,EAAE,CAC/C,oBAAoB,CAAC;QACnB,QAAQ;QACR,IAAI;QACJ,GAAG;QACH,QAAQ,EAAE,GAAG;QACb,KAAK,EAAE,CAAC;QACR,cAAc,EAAE,IAAI,CAAC,cAAc;KACpC,CAAC,CAAC;IACL,MAAM,aAAa,GAAG,CAAC,GAAW,EAAoB,EAAE;QACtD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,CAAC;QACf,CAAC;QACD,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,OAAO;YACT,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI,kBAAkB;YACpB,OAAO,aAAa,CAAC,MAAM,GAAG,UAAU,CAAC;QAC3C,CAAC;QACD,KAAK,CAAC,gBAAgB,CAAC,GAAW;YAChC,IAAI,MAAM;gBAAE,OAAO,IAAI,CAAC;YACxB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAChC,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC;YAClC,IAAI,MAAM;gBAAE,OAAO,IAAI,CAAC;YACxB,MAAM,QAAQ,GAAG,MAAM,GAAG,GAAG,CAAC;YAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACzC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,WAAW,CAAC,IAAI,IAAI,CAAC;YACzD,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;gBACzB,oEAAoE;gBACpE,sEAAsE;gBACtE,IAAI,MAAM,GAAG,MAAM,CAAC;gBACpB,IAAI,IAAI,KAAK,MAAM,IAAI,cAAc,KAAK,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC5D,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;oBAC/B,IAAI,GAAG,MAAM,CAAC;oBACd,cAAc,GAAG,MAAM,CAAC;oBACxB,aAAa,GAAG,EAAE,CAAC;oBACnB,YAAY,GAAG,CAAC,CAAC,CAAC;gBACpB,CAAC;gBACD,IAAI,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACpC,IAAI,CAAC,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,kEAAkE;oBAClE,mEAAmE;oBACnE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;oBAC1B,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBACxD,CAAC;gBACD,IAAI,MAAM;oBAAE,OAAO,IAAI,CAAC;gBACxB,IAAI,KAAK;oBAAE,SAAS,GAAG,KAAK,CAAC;gBAC7B,OAAO,KAAK,IAAI,SAAS,CAAC;YAC5B,CAAC;YACD,IAAI,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjC,aAAa,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;gBACjC,IAAI,GAAG,QAAQ,CAAC;gBAChB,WAAW,GAAG,WAAW,CAAC;gBAC1B,YAAY,GAAG,CAAC,CAAC,CAAC;gBAClB,aAAa,GAAG,EAAE,CAAC;gBACnB,cAAc,GAAG,IAAI,CAAC;YACxB,CAAC;YACD,IAAI,KAAK,GAAG,WAAW,GAAG,WAAW,CAAC;YACtC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC;gBAC/C,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;gBAC3C,IAAI,KAAK;oBAAE,SAAS,GAAG,KAAK,CAAC;gBAC7B,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,YAAY,EAAE,CAAC;gBACtC,kEAAkE;gBAClE,sEAAsE;gBACtE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;gBACtD,aAAa,GAAG,EAAE,CAAC;gBACnB,IAAI,MAAM;oBAAE,OAAO,IAAI,CAAC;gBACxB,WAAW,GAAG,WAAW,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBACxC,YAAY,GAAG,CAAC,CAAC,CAAC;gBAClB,MAAM,GAAG,aAAa,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;gBAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC/B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBACtC,IAAI,MAAM,IAAI,CAAC,KAAK;wBAAE,OAAO,IAAI,CAAC;oBAClC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC1B,YAAY,GAAG,CAAC,CAAC;gBACnB,CAAC;gBACD,KAAK,GAAG,WAAW,GAAG,WAAW,CAAC;YACpC,CAAC;YACD,IAAI,KAAK,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;gBAC3C,IAAI,KAAK;oBAAE,SAAS,GAAG,KAAK,CAAC;gBAC7B,OAAO,KAAK,CAAC;YACf,CAAC;YACD,aAAa,GAAG,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,MAAM,CAAC;YACtB,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACzB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC1C,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YAC7C,IAAI,KAAK;gBAAE,SAAS,GAAG,KAAK,CAAC;YAC7B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK;YACH,MAAM,GAAG,IAAI,CAAC;YACd,aAAa,GAAG,EAAE,CAAC;YACnB,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,MAAM,EAAE,KAAK,EAAE,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,WAAW;IAUI,MAAM;IACN,UAAU;IAVrB,MAAM,GAAa,EAAE,CAAC;IACtB,QAAQ,GAAG,CAAC,CAAC;IACb,OAAO,GAAgD,IAAI,CAAC;IAC5D,OAAO,GAAiB,IAAI,CAAC;IAC7B,aAAa,GAAoC,IAAI,CAAC;IACtD,KAAK,GAAG,KAAK,CAAC;IACd,MAAM,GAAG,KAAK,CAAC;IAEvB,YACmB,MAAgB,EAChB,UAAkB;sBADlB,MAAM;0BACN,UAAU;QAE3B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC;YAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,GAAG,gBAAgB,EAAE,CAAC;gBACvD,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC;IACnC,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,KAAK;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,IAAI,OAAO,CAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,KAAY;QACf,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAEO,KAAK;QACX,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,CAAC;YACf,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IAED,uEAAuE;IAC/D,IAAI;QACV,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QACjD,MAAM,MAAM,GACV,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzE,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,GAAG,gBAAgB,EAAE,CAAC;YACxD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC;QACD,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;CACF;AAUD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAe;IACpD,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,CAAC,cAAc,EAAE,WAAW,CAAC,EAAE;YACjE,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;SAC3B,CAAC,CAAC;QACH,0EAA0E;QAC1E,+DAA+D;QAC/D,OAAO,MAAM;aACV,KAAK,CAAC,IAAI,CAAC;aACX,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO;QACL,MAAM;QACN,SAAS;QACT,SAAS;QACT,UAAU;QACV,UAAU;QACV,SAAS;QACT,KAAK;QACL,2CAA2C;QAC3C,aAAa;QACb,OAAO;QACP,kBAAkB;QAClB,OAAO;QACP,YAAY;QACZ,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAOhC;IACC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,kBAAkB,EAAE,CAAC;IAC7D,MAAM,KAAK,GAAG,WAAW,CAAC;QACxB,IAAI;QACJ,IAAI;QACJ,OAAO;QACP,IAAI;QACJ,UAAU;QACV,UAAU;QACV,MAAM;QACN,IAAI;QACJ,GAAG,KAAK,IAAI,MAAM,EAAE;QACpB,IAAI;QACJ,MAAM,CAAC,GAAG,CAAC;QACX,IAAI;QACJ,QAAQ;QACR,GAAG,WAAW;QACd,OAAO;KACR,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3C,4EAA4E;IAC5E,qBAAqB;IACrB,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IAEtB,IAAI,OAAO,GAAiB,IAAI,CAAC;IACjC,MAAM,aAAa,GAAG,IAAI,GAAG,EAA0B,CAAC;IACxD,MAAM,IAAI,GAAG,CAAC,KAAY,EAAQ,EAAE;QAClC,IAAI,OAAO;YAAE,OAAO;QACpB,OAAO,GAAG,KAAK,CAAC;QAChB,KAAK,MAAM,MAAM,IAAI,aAAa;YAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAClD,aAAa,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC,CAAC;IACF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAA4B,EAAE,EAAE;QACjD,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,EAAE,CACpD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;QACzB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,KAAK,CAAC,yCAAyC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QACvE,CAAC;aAAM,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC,CACH,CAAC;IAEF,OAAO;QACL,KAAK,CAAC,KAAK,CAAC,IAAgB;YAC1B,IAAI,OAAO;gBAAE,MAAM,OAAO,CAAC;YAC3B,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACzF,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC1C,MAAM,aAAa,GAAG,CAAC,KAAY,EAAQ,EAAE;wBAC3C,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;wBAClC,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;wBACpC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAChB,CAAC,CAAC;oBACF,MAAM,OAAO,GAAG,GAAS,EAAE;wBACzB,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;wBACpC,OAAO,EAAE,CAAC;oBACZ,CAAC,CAAC;oBACF,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;oBACjC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBACnC,IAAI,OAAO;wBAAE,aAAa,CAAC,OAAO,CAAC,CAAC;gBACtC,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,OAAO;gBAAE,MAAM,OAAO,CAAC;QAC7B,CAAC;QACD,KAAK,CAAC,MAAM;YACV,IAAI,OAAO;gBAAE,MAAM,OAAO,CAAC;YAC3B,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YAClB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC;YAC1B,IAAI,OAAO;gBAAE,MAAM,OAAO,CAAC;YAC3B,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,yCAAyC,MAAM,EAAE,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QACD,KAAK;YACH,IAAI,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;YAC3C,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -29,16 +29,7 @@ import type { DocumentRef, TimelineRef, VideoRef } from "@nodetool-ai/protocol";
29
29
  import type { ProcessingContext } from "@nodetool-ai/runtime";
30
30
  import { type TimelineSequence } from "@nodetool-ai/timeline";
31
31
  import { type ResolvedTimelineOutput } from "./timeline/outputFormats.js";
32
- /**
33
- * linkIds of audio-track clips that are the detached audio representation of a
34
- * video clip. The mere presence of such a clip means the linked video's own
35
- * muxed audio must be suppressed (the editor mutes the video element; audio
36
- * comes only from audio-track clips). This is intentionally NOT gated on
37
- * mute/hidden — those govern whether the audio clip is mixed in, not whether
38
- * the video's embedded audio resurfaces. If the user deletes the audio clip,
39
- * the store auto-unlinks the lone survivor, clearing the video's linkId, so the
40
- * video's audio returns on its own.
41
- */
32
+ /** The detached-audio linkIds of a sequence; see the shared rule. */
42
33
  export declare function extractedAudioLinkIds(seq: TimelineSequence): Set<string>;
43
34
  /** Add the sequence's audible tracks and embedded video audio to a composited video. */
44
35
  export declare function mixCompositedTimelineAudio(opts: {
@@ -1 +1 @@
1
- {"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../src/nodes/timeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../src/nodes/timeline.ts"],"names":[],"mappings":"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"}
@@ -32,13 +32,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
32
32
  };
33
33
  import { BaseNode, prop } from "@nodetool-ai/node-sdk";
34
34
  import { loadMediaRefBytes } from "@nodetool-ai/runtime";
35
- import { createTimeOrderedUuid, DEFAULT_MIDI_INSTRUMENT, encodeWavPcm16, ffmpegFadeCurve, fillTimelineText, resolveClipFades, retargetSequence, hasTimeRemap, sourceRate, makeClip, makeSequence, makeTrack, renderMidiClip, resolveTempo, timeRemapAudioSegments } from "@nodetool-ai/timeline";
35
+ import { computeModel3DBakeHash, createTimeOrderedUuid, DEFAULT_MIDI_INSTRUMENT, effectiveAssetId, extractedAudioLinkIds as sharedExtractedAudioLinkIds, soundTrackSoloed, videoClipsWithOwnAudio, encodeWavPcm16, ffmpegFadeCurve, fillTimelineText, resolveClipFades, retargetSequence, hasTimeRemap, sourceRate, makeClip, makeSequence, makeTrack, renderMidiClip, loadSamplerSamples, resolveTempo, timeRemapAudioSegments } from "@nodetool-ai/timeline";
36
36
  import { tagAsNode, tagAsServer } from "@nodetool-ai/nodes-utils";
37
37
  import { promises as fs } from "node:fs";
38
38
  import os from "node:os";
39
39
  import path from "node:path";
40
- import { AssetFiles } from "./timeline/assetFiles.js";
41
- import { execFfmpeg, execFfprobe, ffprobeDuration, FFMPEG_MAX_BUFFER, MissingBinaryError } from "./ffmpeg-helpers.js";
40
+ import { AssetFiles, assetFileName } from "./timeline/assetFiles.js";
41
+ import { atempoChain, execFfmpeg, execFfprobe, ffprobeDuration, FFMPEG_MAX_BUFFER, MissingBinaryError } from "./ffmpeg-helpers.js";
42
42
  import { CompositorUnavailableError, renderTimelineComposited } from "./timeline/compositeRender.js";
43
43
  import { ALPHA_OUTPUT_FORMATS, MissingEncoderError, resolveTimelineOutput, TIMELINE_OUTPUT_FORMATS } from "./timeline/outputFormats.js";
44
44
  import { ffmpegHasEncoder } from "./timeline/rawFrames.js";
@@ -101,16 +101,20 @@ function renderableVideoClips(seq) {
101
101
  /**
102
102
  * Clips the mix draws from: audio-track clips backed by an asset, and midi
103
103
  * clips, whose sound is rendered from the notes they carry rather than fetched
104
- * (they have no `currentAssetId` at all).
104
+ * (they have no `currentAssetId` at all). An audio clip sounds under the same
105
+ * status rule its picture would be drawn under (`effectiveAssetId`).
105
106
  */
106
107
  function mixableAudioClips(seq) {
107
108
  const tracks = trackById(seq.tracks);
109
+ const hasSolo = soundTrackSoloed(seq.tracks);
108
110
  return seq.clips
109
111
  .filter((clip) => {
110
112
  const track = tracks.get(clip.trackId);
111
113
  if (!track || track.muted === true || clip.muted || clip.hidden) {
112
114
  return false;
113
115
  }
116
+ if (hasSolo && !track.solo)
117
+ return false;
114
118
  if (clip.durationMs <= 0)
115
119
  return false;
116
120
  if (track.type === "midi") {
@@ -118,32 +122,13 @@ function mixableAudioClips(seq) {
118
122
  }
119
123
  return (track.type === "audio" &&
120
124
  clip.mediaType === "audio" &&
121
- !!clip.currentAssetId);
125
+ !!effectiveAssetId(clip));
122
126
  })
123
127
  .sort((a, b) => a.startMs - b.startMs);
124
128
  }
125
- /**
126
- * linkIds of audio-track clips that are the detached audio representation of a
127
- * video clip. The mere presence of such a clip means the linked video's own
128
- * muxed audio must be suppressed (the editor mutes the video element; audio
129
- * comes only from audio-track clips). This is intentionally NOT gated on
130
- * mute/hidden — those govern whether the audio clip is mixed in, not whether
131
- * the video's embedded audio resurfaces. If the user deletes the audio clip,
132
- * the store auto-unlinks the lone survivor, clearing the video's linkId, so the
133
- * video's audio returns on its own.
134
- */
129
+ /** The detached-audio linkIds of a sequence; see the shared rule. */
135
130
  export function extractedAudioLinkIds(seq) {
136
- const tracks = trackById(seq.tracks);
137
- const ids = new Set();
138
- for (const clip of seq.clips) {
139
- const track = tracks.get(clip.trackId);
140
- if (track?.type === "audio" &&
141
- clip.mediaType === "audio" &&
142
- isNonEmptyString(clip.linkId)) {
143
- ids.add(clip.linkId);
144
- }
145
- }
146
- return ids;
131
+ return sharedExtractedAudioLinkIds(seq.clips, seq.tracks);
147
132
  }
148
133
  /** Scale + letterbox to the sequence frame, normalize fps and pixel format. */
149
134
  function segmentVideoFilter(width, height, fps) {
@@ -234,25 +219,11 @@ async function encodeSegment(opts) {
234
219
  /**
235
220
  * Clips whose embedded audio the composited path must mix in itself: the
236
221
  * rough cut carried a video clip's audio through its segment, but a
237
- * frame-by-frame composite has no audio at all. Muted clips/tracks and clips
238
- * whose audio was extracted onto an audio track (see
239
- * {@link extractedAudioLinkIds}) are left out.
222
+ * frame-by-frame composite has no audio at all. The preview and browser
223
+ * export pick the same clips through `videoClipsWithOwnAudio`.
240
224
  */
241
225
  function embeddedAudioClips(seq) {
242
- const tracks = trackById(seq.tracks);
243
- const suppressed = extractedAudioLinkIds(seq);
244
- return seq.clips
245
- .filter((clip) => {
246
- const track = tracks.get(clip.trackId);
247
- return ((track?.type === "video" || track?.type === "overlay") &&
248
- track.muted !== true &&
249
- !clip.muted &&
250
- clip.mediaType === "video" &&
251
- !!clip.currentAssetId &&
252
- clip.durationMs > 0 &&
253
- !(isString(clip.linkId) && suppressed.has(clip.linkId)));
254
- })
255
- .sort((a, b) => a.startMs - b.startMs);
226
+ return videoClipsWithOwnAudio(seq.clips, seq.tracks).sort((a, b) => a.startMs - b.startMs);
256
227
  }
257
228
  /** Seconds, at millisecond resolution, for an ffmpeg filter argument. */
258
229
  function ffSeconds(ms) {
@@ -309,21 +280,6 @@ function audioClipFilter(clip, inputIndex, label) {
309
280
  steps.push(`adelay=${delay}|${delay}`);
310
281
  return `[${inputIndex}:a]${steps.join(",")}[${label}]`;
311
282
  }
312
- /** `rate` as atempo factors, each inside the filter's own 0.5–2 range. */
313
- function atempoChain(rate) {
314
- const factors = [];
315
- let remaining = rate;
316
- while (remaining > 2) {
317
- factors.push("2");
318
- remaining /= 2;
319
- }
320
- while (remaining < 0.5) {
321
- factors.push("0.5");
322
- remaining *= 2;
323
- }
324
- factors.push(String(Number(remaining.toFixed(6))));
325
- return factors;
326
- }
327
283
  /**
328
284
  * One constant-rate stretch of a time-remapped clip: trim the source span the
329
285
  * curve names, retime it to the stretch's timeline length, apply the clip's
@@ -347,7 +303,96 @@ function audioRemapSegmentFilter(clip, segment, inputIndex, label) {
347
303
  steps.push(`adelay=${delay}|${delay}`);
348
304
  return `[${inputIndex}:a]${steps.join(",")}[${label}]`;
349
305
  }
350
- /** Anything that draws: media, titles, shapes, or a caption riding a clip. */
306
+ /** Clamp for an ffmpeg option that refuses values outside its range. */
307
+ function clampTo(value, min, max) {
308
+ return Math.min(max, Math.max(min, value));
309
+ }
310
+ /** Sample rate a track's effect chain runs at, the mix's own `-ar`. */
311
+ const EFFECT_SAMPLE_RATE = 48000;
312
+ /** A biquad frequency ffmpeg accepts, held below Nyquist as Web Audio holds it. */
313
+ function biquadHz(frequency) {
314
+ return clampTo(frequency, 1, EFFECT_SAMPLE_RATE / 2 - 1);
315
+ }
316
+ /**
317
+ * Web Audio's compressor adds makeup gain of its own: the gain that brings a
318
+ * full-scale input back to full scale, raised to the power 0.6. ffmpeg's
319
+ * `acompressor` adds none, so it is computed here from the curve at 0 dBFS
320
+ * with a quadratic soft knee, which is close to but not exactly the spec's.
321
+ */
322
+ function compressorMakeupGain(e) {
323
+ const threshold = clampTo(e.thresholdDb, -100, 0);
324
+ const ratio = clampTo(e.ratio, 1, 20);
325
+ const knee = clampTo(e.kneeDb, 0, 40);
326
+ const over = -threshold;
327
+ let gainDb;
328
+ if (2 * over < -knee) {
329
+ gainDb = 0;
330
+ }
331
+ else if (2 * Math.abs(over) <= knee) {
332
+ gainDb = ((1 / ratio - 1) * (over + knee / 2) ** 2) / (2 * Math.max(knee, 1e-6));
333
+ }
334
+ else {
335
+ gainDb = threshold + over / ratio;
336
+ }
337
+ return clampTo(Math.pow(10, (-gainDb * 0.6) / 20), 1, 64);
338
+ }
339
+ /**
340
+ * ffmpeg steps for one enabled effect, matching the Web Audio node
341
+ * `AudioGraph.buildEffectUnit` builds for the preview. The shelves use Web
342
+ * Audio's fixed slope of 1, a lowpass/highpass Q is in dB as it is there, and
343
+ * a bandpass Q is linear. The compressor detects peaks; its knee is capped at
344
+ * the 18 dB `acompressor` allows.
345
+ */
346
+ function audioEffectSteps(effect) {
347
+ switch (effect.type) {
348
+ case "gain":
349
+ return [`volume=${effect.gainDb}dB`];
350
+ case "eq3":
351
+ return [
352
+ `lowshelf=f=${biquadHz(effect.lowFreq)}:g=${effect.lowGainDb}:t=s:w=1`,
353
+ `equalizer=f=${biquadHz(effect.midFreq)}:t=q:w=${Math.max(0.0001, effect.midQ)}:g=${effect.midGainDb}`,
354
+ `highshelf=f=${biquadHz(effect.highFreq)}:g=${effect.highGainDb}:t=s:w=1`
355
+ ];
356
+ case "filter": {
357
+ const q = effect.mode === "bandpass"
358
+ ? Math.max(0.0001, effect.q)
359
+ : Math.max(0.0001, Math.pow(10, effect.q / 20));
360
+ return [`${effect.mode}=f=${biquadHz(effect.frequency)}:t=q:w=${q}`];
361
+ }
362
+ case "compressor":
363
+ return [
364
+ "acompressor=" +
365
+ [
366
+ `threshold=${clampTo(Math.pow(10, effect.thresholdDb / 20), 0.000976563, 1)}`,
367
+ `ratio=${clampTo(effect.ratio, 1, 20)}`,
368
+ `attack=${clampTo(effect.attackMs, 0.01, 2000)}`,
369
+ `release=${clampTo(effect.releaseMs, 0.01, 9000)}`,
370
+ `knee=${clampTo(Math.pow(10, effect.kneeDb / 20), 1, 8)}`,
371
+ `makeup=${compressorMakeupGain(effect)}`,
372
+ "detection=peak"
373
+ ].join(":")
374
+ ];
375
+ default:
376
+ return [];
377
+ }
378
+ }
379
+ /**
380
+ * The DSP chain of a track, in array order. Only audio and midi tracks carry
381
+ * one, as in the preview, where `AudioGraph.updateTracks` applies effects to
382
+ * those tracks alone.
383
+ */
384
+ function trackEffectSteps(track) {
385
+ if (!track || (track.type !== "audio" && track.type !== "midi"))
386
+ return [];
387
+ const steps = (track.effects ?? [])
388
+ .filter((effect) => effect.enabled)
389
+ .flatMap(audioEffectSteps);
390
+ return steps.length > 0 ? [`aresample=${EFFECT_SAMPLE_RATE}`, ...steps] : [];
391
+ }
392
+ /**
393
+ * Anything that draws: media, titles, shapes, a caption riding a clip, or a 3D
394
+ * clip whose bake still matches it (a live one draws only in the editor).
395
+ */
351
396
  function hasRenderableVisual(seq) {
352
397
  const tracks = trackById(seq.tracks);
353
398
  return seq.clips.some((clip) => {
@@ -362,7 +407,14 @@ function hasRenderableVisual(seq) {
362
407
  return !!clip.textStyle;
363
408
  if (clip.mediaType === "shape")
364
409
  return !!clip.shapeStyle;
365
- return ((clip.mediaType === "video" || clip.mediaType === "image") &&
410
+ if (clip.mediaType === "model3d") {
411
+ const bake = clip.model3dStyle?.bake;
412
+ return (bake !== undefined &&
413
+ computeModel3DBakeHash(clip, seq) === bake.dependencyHash);
414
+ }
415
+ return ((clip.mediaType === "video" ||
416
+ clip.mediaType === "image" ||
417
+ clip.mediaType === "overlay") &&
366
418
  !!clip.currentAssetId);
367
419
  });
368
420
  }
@@ -387,11 +439,16 @@ const MIDI_SAMPLE_RATE = 48000;
387
439
  */
388
440
  class MidiFiles {
389
441
  workDir;
442
+ resolveAssetPath;
443
+ signal;
390
444
  files = new Map();
391
445
  tracks;
446
+ samples = new Map();
392
447
  bpm;
393
- constructor(workDir, seq) {
448
+ constructor(workDir, seq, resolveAssetPath, signal) {
394
449
  this.workDir = workDir;
450
+ this.resolveAssetPath = resolveAssetPath;
451
+ this.signal = signal;
395
452
  this.tracks = trackById(seq.tracks);
396
453
  this.bpm = resolveTempo(seq).bpm;
397
454
  }
@@ -403,12 +460,42 @@ class MidiFiles {
403
460
  }
404
461
  return pending;
405
462
  }
463
+ loadSample(id) {
464
+ let pending = this.samples.get(id);
465
+ if (!pending) {
466
+ pending = (async () => {
467
+ const source = await this.resolveAssetPath(id);
468
+ if (!source)
469
+ throw new Error(`Sample unavailable: ${id}`);
470
+ const file = path.join(this.workDir, `sample_${assetFileName(id)}.f32`);
471
+ const probe = await execFfprobe(["-v", "error", "-select_streams", "a:0", "-show_entries", "stream=channels", "-of", "default=noprint_wrappers=1:nokey=1", source], { signal: this.signal });
472
+ const channels = Number(probe.stdout.trim());
473
+ if (!Number.isInteger(channels) || channels < 1 || channels > 32) {
474
+ throw new Error("Sampler recordings must contain between 1 and 32 audio channels");
475
+ }
476
+ // Match the browser's arithmetic mean. FFmpeg's default stereo downmix adds 3 dB.
477
+ const downmix = `pan=mono|c0=${Array.from({ length: channels }, (_, i) => `${1 / channels}*c${i}`).join("+")}`;
478
+ // Decode one extra frame to distinguish an overlong recording from a valid one.
479
+ await execFfmpeg(["-y", "-i", source, "-map", "0:a:0", "-vn", "-t", "60.001", "-af", downmix, "-ar", String(MIDI_SAMPLE_RATE), "-f", "f32le", file], { signal: this.signal });
480
+ const bytes = await fs.readFile(file);
481
+ if (bytes.length > 60 * MIDI_SAMPLE_RATE * 4)
482
+ throw new Error("Sampler recordings must be 60 seconds or shorter. Trim this asset first.");
483
+ const samples = new Float32Array(bytes.length / 4);
484
+ for (let i = 0; i < samples.length; i++)
485
+ samples[i] = bytes.readFloatLE(i * 4);
486
+ return { samples, sampleRate: MIDI_SAMPLE_RATE };
487
+ })();
488
+ this.samples.set(id, pending);
489
+ }
490
+ return pending;
491
+ }
406
492
  async write(clip) {
407
493
  // The instrument belongs to the track, not the clip.
408
494
  const instrument = this.tracks.get(clip.trackId)?.instrument ?? DEFAULT_MIDI_INSTRUMENT;
409
495
  const mono = renderMidiClip({
410
496
  clip,
411
497
  bpm: this.bpm,
498
+ samples: await loadSamplerSamples(instrument, id => this.loadSample(id)),
412
499
  instrument,
413
500
  sampleRate: MIDI_SAMPLE_RATE
414
501
  });
@@ -514,10 +601,21 @@ async function renderRoughCut(opts) {
514
601
  * WebM track, which is why `audioCodec` is passed rather than assumed.
515
602
  */
516
603
  async function mixAudioInto(opts) {
517
- const { basePath, clips, baseHasAudio, assets, midi, workDir, extension, audioCodec } = opts;
604
+ const { basePath, clips, tracks, baseHasAudio, assets, midi, workDir, extension, audioCodec } = opts;
518
605
  const inputs = ["-i", basePath];
519
606
  const filters = [];
520
607
  const labels = [];
608
+ // Each clip's stream(s), grouped by track so a track's effect chain runs
609
+ // over the sum of its clips, as the preview's chain does.
610
+ const trackLabels = new Map();
611
+ const labelsOf = (clip) => {
612
+ let list = trackLabels.get(clip.trackId);
613
+ if (!list) {
614
+ list = [];
615
+ trackLabels.set(clip.trackId, list);
616
+ }
617
+ return list;
618
+ };
521
619
  let inputIndex = 1;
522
620
  for (const [i, clip] of clips.entries()) {
523
621
  const audioPath = await audioSourcePath(clip, assets, midi);
@@ -534,7 +632,7 @@ async function mixAudioInto(opts) {
534
632
  inputs.push("-i", audioPath);
535
633
  const label = `a${i}`;
536
634
  filters.push(audioClipFilter(clip, inputIndex, label));
537
- labels.push(`[${label}]`);
635
+ labelsOf(clip).push(`[${label}]`);
538
636
  inputIndex += 1;
539
637
  continue;
540
638
  }
@@ -566,10 +664,24 @@ async function mixAudioInto(opts) {
566
664
  ]
567
665
  : clipFadeSteps(clip, clip.startMs);
568
666
  filters.push(`${segmentLabels.join("")}${steps.join(",")}[${faded}]`);
569
- labels.push(`[${faded}]`);
667
+ labelsOf(clip).push(`[${faded}]`);
668
+ continue;
669
+ }
670
+ labelsOf(clip).push(...segmentLabels);
671
+ }
672
+ const byTrack = trackById(tracks);
673
+ for (const [trackId, streams] of trackLabels) {
674
+ const steps = trackEffectSteps(byTrack.get(trackId));
675
+ if (steps.length === 0) {
676
+ labels.push(...streams);
570
677
  continue;
571
678
  }
572
- labels.push(...segmentLabels);
679
+ const label = `t${filters.length}`;
680
+ const head = streams.length > 1
681
+ ? [`amix=inputs=${streams.length}:duration=longest:normalize=0`]
682
+ : [];
683
+ filters.push(`${streams.join("")}${[...head, ...steps].join(",")}[${label}]`);
684
+ labels.push(`[${label}]`);
573
685
  }
574
686
  if (labels.length === 0)
575
687
  return basePath;
@@ -613,9 +725,10 @@ export async function mixCompositedTimelineAudio(opts) {
613
725
  return mixAudioInto({
614
726
  basePath,
615
727
  clips,
728
+ tracks: sequence.tracks,
616
729
  baseHasAudio: false,
617
730
  assets: { path: resolveAssetPath },
618
- midi: new MidiFiles(workDir, sequence),
731
+ midi: new MidiFiles(workDir, sequence, resolveAssetPath),
619
732
  workDir,
620
733
  extension: output.extension,
621
734
  audioCodec: output.audioCodec ?? "aac"
@@ -721,14 +834,14 @@ export class RenderTimelineNode extends BaseNode {
721
834
  const workDir = await fs.mkdtemp(path.join(os.tmpdir(), "nodetool-timeline-"));
722
835
  try {
723
836
  const assets = new AssetFiles(workDir, ctx);
724
- const midi = new MidiFiles(workDir, seq);
837
+ const midi = new MidiFiles(workDir, seq, id => assets.path(id), ctx.signal);
725
838
  let basePath;
726
839
  let baseHasAudio;
727
840
  let audioToMix;
728
841
  let renderMode;
729
842
  try {
730
843
  basePath = path.join(workDir, `composited.${output.extension}`);
731
- const { skippedClips } = await renderTimelineComposited({
844
+ const result = await renderTimelineComposited({
732
845
  sequence: seq,
733
846
  width,
734
847
  height,
@@ -740,9 +853,16 @@ export class RenderTimelineNode extends BaseNode {
740
853
  onProgress: this.progressReporter(ctx),
741
854
  signal: ctx.signal
742
855
  });
856
+ const { skippedClips, fontsUnavailable } = result;
857
+ if (result.complete === false) {
858
+ throw new Error(`Timeline export is incomplete: ${result.diagnostics.map((item) => `${item.clipId} (${item.startMs}–${item.endMs}ms): ${item.detail}`).join("; ")}`);
859
+ }
743
860
  for (const name of skippedClips) {
744
861
  this.log(ctx, `Clip "${name}" was skipped — its media could not be decoded`, "warning");
745
862
  }
863
+ for (const family of fontsUnavailable) {
864
+ this.log(ctx, `Font "${family}" could not be resolved from Google Fonts — drawn in the fallback face`, "warning");
865
+ }
746
866
  renderMode = "composited";
747
867
  // A composite carries no sound: every audible clip is mixed in below,
748
868
  // including the audio muxed into video clips.
@@ -812,6 +932,7 @@ export class RenderTimelineNode extends BaseNode {
812
932
  ? await mixAudioInto({
813
933
  basePath,
814
934
  clips: audioToMix,
935
+ tracks: seq.tracks,
815
936
  baseHasAudio,
816
937
  assets,
817
938
  midi,