@imgly/codesign-mcp 0.1.5 → 0.1.6

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 (973) hide show
  1. package/README.md +51 -1
  2. package/assets/docs/guide/SKILL.md +45 -53
  3. package/assets/docs/guide/animation/create/base.md +234 -243
  4. package/assets/docs/guide/animation/create/text.md +250 -231
  5. package/assets/docs/guide/animation/create.md +197 -231
  6. package/assets/docs/guide/animation/edit.md +196 -271
  7. package/assets/docs/guide/animation/types.md +182 -185
  8. package/assets/docs/guide/animation.md +9 -6
  9. package/assets/docs/guide/api/AssetAPI.md +7 -53
  10. package/assets/docs/guide/api/BlockAPI.md +725 -648
  11. package/assets/docs/guide/api/CreativeEngine.md +7 -16
  12. package/assets/docs/guide/api/EditorAPI.md +32 -93
  13. package/assets/docs/guide/api/EventAPI.md +1 -2
  14. package/assets/docs/guide/api/SceneAPI.md +47 -98
  15. package/assets/docs/guide/api/VariableAPI.md +1 -4
  16. package/assets/docs/guide/api/node/classes/assetapi.md +1090 -0
  17. package/assets/docs/guide/api/node/classes/blockapi.md +12965 -0
  18. package/assets/docs/guide/api/node/classes/creativeengine.md +319 -0
  19. package/assets/docs/guide/api/node/classes/editorapi.md +3417 -0
  20. package/assets/docs/guide/api/node/classes/engineactions.md +319 -0
  21. package/assets/docs/guide/api/node/classes/eventapi.md +56 -0
  22. package/assets/docs/guide/api/node/classes/sceneapi.md +1370 -0
  23. package/assets/docs/guide/api/node/classes/variableapi.md +143 -0
  24. package/assets/docs/guide/api/node/enumerations/compressionformat.md +23 -0
  25. package/assets/docs/guide/api/node/enumerations/compressionlevel.md +24 -0
  26. package/assets/docs/guide/api/node/functions/iscmykcolor.md +30 -0
  27. package/assets/docs/guide/api/node/functions/isrgbacolor.md +30 -0
  28. package/assets/docs/guide/api/node/functions/isspotcolor.md +30 -0
  29. package/assets/docs/guide/api/node/interfaces/addvideooptions.md +31 -0
  30. package/assets/docs/guide/api/node/interfaces/applyassetoptions.md +31 -0
  31. package/assets/docs/guide/api/node/interfaces/asset.md +30 -0
  32. package/assets/docs/guide/api/node/interfaces/assetbooleanproperty.md +25 -0
  33. package/assets/docs/guide/api/node/interfaces/assetcmykcolor.md +26 -0
  34. package/assets/docs/guide/api/node/interfaces/assetcolorproperty.md +25 -0
  35. package/assets/docs/guide/api/node/interfaces/assetcontentaspectratio.md +23 -0
  36. package/assets/docs/guide/api/node/interfaces/assetdefinition.md +31 -0
  37. package/assets/docs/guide/api/node/interfaces/assetenumproperty.md +26 -0
  38. package/assets/docs/guide/api/node/interfaces/assetfixedaspectratio.md +24 -0
  39. package/assets/docs/guide/api/node/interfaces/assetfixedsize.md +25 -0
  40. package/assets/docs/guide/api/node/interfaces/assetfreeaspectratio.md +22 -0
  41. package/assets/docs/guide/api/node/interfaces/assetnumberproperty.md +28 -0
  42. package/assets/docs/guide/api/node/interfaces/assetpayload.md +27 -0
  43. package/assets/docs/guide/api/node/interfaces/assetquerydata.md +32 -0
  44. package/assets/docs/guide/api/node/interfaces/assetresult.md +46 -0
  45. package/assets/docs/guide/api/node/interfaces/assetrgbcolor.md +25 -0
  46. package/assets/docs/guide/api/node/interfaces/assetsource.md +111 -0
  47. package/assets/docs/guide/api/node/interfaces/assetspotcolor.md +25 -0
  48. package/assets/docs/guide/api/node/interfaces/assetsqueryresult.md +31 -0
  49. package/assets/docs/guide/api/node/interfaces/assetstringproperty.md +25 -0
  50. package/assets/docs/guide/api/node/interfaces/assetstylepreset.md +39 -0
  51. package/assets/docs/guide/api/node/interfaces/assetstylepresetanimation.md +23 -0
  52. package/assets/docs/guide/api/node/interfaces/audiotrackinfo.md +32 -0
  53. package/assets/docs/guide/api/node/interfaces/blockevent.md +26 -0
  54. package/assets/docs/guide/api/node/interfaces/blockstateerror.md +26 -0
  55. package/assets/docs/guide/api/node/interfaces/blockstatepending.md +26 -0
  56. package/assets/docs/guide/api/node/interfaces/blockstateready.md +25 -0
  57. package/assets/docs/guide/api/node/interfaces/buffer.md +26 -0
  58. package/assets/docs/guide/api/node/interfaces/characterinkbox.md +29 -0
  59. package/assets/docs/guide/api/node/interfaces/cmykcolor.md +34 -0
  60. package/assets/docs/guide/api/node/interfaces/completeassetresult.md +46 -0
  61. package/assets/docs/guide/api/node/interfaces/configuration.md +38 -0
  62. package/assets/docs/guide/api/node/interfaces/dominantcolor.md +25 -0
  63. package/assets/docs/guide/api/node/interfaces/dominantcolorsoptions.md +23 -0
  64. package/assets/docs/guide/api/node/interfaces/engineactioninfo.md +24 -0
  65. package/assets/docs/guide/api/node/interfaces/engineactionsregistry.md +18 -0
  66. package/assets/docs/guide/api/node/interfaces/engineplugin.md +30 -0
  67. package/assets/docs/guide/api/node/interfaces/font.md +27 -0
  68. package/assets/docs/guide/api/node/interfaces/fontmetrics.md +32 -0
  69. package/assets/docs/guide/api/node/interfaces/gradientcolorstop.md +28 -0
  70. package/assets/docs/guide/api/node/interfaces/logger.md +39 -0
  71. package/assets/docs/guide/api/node/interfaces/pageduration.md +23 -0
  72. package/assets/docs/guide/api/node/interfaces/range.md +23 -0
  73. package/assets/docs/guide/api/node/interfaces/rgbacolor.md +32 -0
  74. package/assets/docs/guide/api/node/interfaces/rgbcolor.md +30 -0
  75. package/assets/docs/guide/api/node/interfaces/settings.md +126 -0
  76. package/assets/docs/guide/api/node/interfaces/size2.md +21 -0
  77. package/assets/docs/guide/api/node/interfaces/source.md +24 -0
  78. package/assets/docs/guide/api/node/interfaces/spotcolor.md +30 -0
  79. package/assets/docs/guide/api/node/interfaces/textdecorationconfig.md +31 -0
  80. package/assets/docs/guide/api/node/interfaces/textfontsizeoptions.md +24 -0
  81. package/assets/docs/guide/api/node/interfaces/textruninfo.md +33 -0
  82. package/assets/docs/guide/api/node/interfaces/transientresource.md +26 -0
  83. package/assets/docs/guide/api/node/interfaces/typeface.md +23 -0
  84. package/assets/docs/guide/api/node/interfaces/vec2.md +21 -0
  85. package/assets/docs/guide/api/node/interfaces/vec3.md +22 -0
  86. package/assets/docs/guide/api/node/type-aliases/addimageoptions.md +36 -0
  87. package/assets/docs/guide/api/node/type-aliases/animationbaselinedirection.md +18 -0
  88. package/assets/docs/guide/api/node/type-aliases/animationblockswipetextdirection.md +18 -0
  89. package/assets/docs/guide/api/node/type-aliases/animationeasing.md +18 -0
  90. package/assets/docs/guide/api/node/type-aliases/animationentry.md +28 -0
  91. package/assets/docs/guide/api/node/type-aliases/animationgrowdirection.md +18 -0
  92. package/assets/docs/guide/api/node/type-aliases/animationjumploopdirection.md +18 -0
  93. package/assets/docs/guide/api/node/type-aliases/animationkenburnsdirection.md +18 -0
  94. package/assets/docs/guide/api/node/type-aliases/animationmergetextdirection.md +18 -0
  95. package/assets/docs/guide/api/node/type-aliases/animationoptions.md +28 -0
  96. package/assets/docs/guide/api/node/type-aliases/animationspindirection.md +18 -0
  97. package/assets/docs/guide/api/node/type-aliases/animationspinloopdirection.md +18 -0
  98. package/assets/docs/guide/api/node/type-aliases/animationtype.md +24 -0
  99. package/assets/docs/guide/api/node/type-aliases/animationtypelonghand.md +21 -0
  100. package/assets/docs/guide/api/node/type-aliases/animationtypeshorthand.md +18 -0
  101. package/assets/docs/guide/api/node/type-aliases/animationtypewritertextwritingstyle.md +18 -0
  102. package/assets/docs/guide/api/node/type-aliases/animationwipedirection.md +18 -0
  103. package/assets/docs/guide/api/node/type-aliases/applicationmimetype.md +20 -0
  104. package/assets/docs/guide/api/node/type-aliases/assetcolor.md +23 -0
  105. package/assets/docs/guide/api/node/type-aliases/assetfilter.md +47 -0
  106. package/assets/docs/guide/api/node/type-aliases/assetgroups.md +25 -0
  107. package/assets/docs/guide/api/node/type-aliases/assetmetadata.md +42 -0
  108. package/assets/docs/guide/api/node/type-aliases/assetproperty.md +25 -0
  109. package/assets/docs/guide/api/node/type-aliases/assetpropertyfilter.md +41 -0
  110. package/assets/docs/guide/api/node/type-aliases/assetpropertypath.md +26 -0
  111. package/assets/docs/guide/api/node/type-aliases/assetstylepresetanimationproperties.md +34 -0
  112. package/assets/docs/guide/api/node/type-aliases/assetstylepresetproperties.md +29 -0
  113. package/assets/docs/guide/api/node/type-aliases/assetstylepresetpropertyvalue.md +29 -0
  114. package/assets/docs/guide/api/node/type-aliases/assetstylepresetscalableproperty.md +28 -0
  115. package/assets/docs/guide/api/node/type-aliases/assettransformpreset.md +24 -0
  116. package/assets/docs/guide/api/node/type-aliases/asyncuriresolver.md +36 -0
  117. package/assets/docs/guide/api/node/type-aliases/audioexportoptions.md +43 -0
  118. package/assets/docs/guide/api/node/type-aliases/audiofromvideooptions.md +27 -0
  119. package/assets/docs/guide/api/node/type-aliases/audiomimetype.md +20 -0
  120. package/assets/docs/guide/api/node/type-aliases/blendmode.md +18 -0
  121. package/assets/docs/guide/api/node/type-aliases/blockenumtype.md +63 -0
  122. package/assets/docs/guide/api/node/type-aliases/blockstate.md +26 -0
  123. package/assets/docs/guide/api/node/type-aliases/blurtype.md +24 -0
  124. package/assets/docs/guide/api/node/type-aliases/blurtypelonghand.md +21 -0
  125. package/assets/docs/guide/api/node/type-aliases/blurtypeshorthand.md +18 -0
  126. package/assets/docs/guide/api/node/type-aliases/booleanoperation.md +27 -0
  127. package/assets/docs/guide/api/node/type-aliases/boolpropertyname.md +79 -0
  128. package/assets/docs/guide/api/node/type-aliases/cameraclampingovershootmode.md +18 -0
  129. package/assets/docs/guide/api/node/type-aliases/captionhorizontalalignment.md +18 -0
  130. package/assets/docs/guide/api/node/type-aliases/captionverticalalignment.md +18 -0
  131. package/assets/docs/guide/api/node/type-aliases/cmyk.md +23 -0
  132. package/assets/docs/guide/api/node/type-aliases/color.md +23 -0
  133. package/assets/docs/guide/api/node/type-aliases/colorpickercolormode.md +18 -0
  134. package/assets/docs/guide/api/node/type-aliases/colorpropertyname.md +31 -0
  135. package/assets/docs/guide/api/node/type-aliases/colorspace.md +20 -0
  136. package/assets/docs/guide/api/node/type-aliases/contentfillmode.md +18 -0
  137. package/assets/docs/guide/api/node/type-aliases/controlgizmomovehandlevisibility.md +18 -0
  138. package/assets/docs/guide/api/node/type-aliases/controlgizmoresizehandlesvisibility.md +18 -0
  139. package/assets/docs/guide/api/node/type-aliases/controlgizmorotatehandlesvisibility.md +18 -0
  140. package/assets/docs/guide/api/node/type-aliases/controlgizmoscalehandlesvisibility.md +18 -0
  141. package/assets/docs/guide/api/node/type-aliases/createsceneoptions.md +30 -0
  142. package/assets/docs/guide/api/node/type-aliases/cutoutoperation.md +20 -0
  143. package/assets/docs/guide/api/node/type-aliases/cutouttype.md +18 -0
  144. package/assets/docs/guide/api/node/type-aliases/defaultassetsourceid.md +37 -0
  145. package/assets/docs/guide/api/node/type-aliases/demoassetsourceid.md +33 -0
  146. package/assets/docs/guide/api/node/type-aliases/designblockid.md +20 -0
  147. package/assets/docs/guide/api/node/type-aliases/designblocktype.md +24 -0
  148. package/assets/docs/guide/api/node/type-aliases/designblocktypelonghand.md +21 -0
  149. package/assets/docs/guide/api/node/type-aliases/designblocktypeshorthand.md +18 -0
  150. package/assets/docs/guide/api/node/type-aliases/designunit.md +18 -0
  151. package/assets/docs/guide/api/node/type-aliases/doubleclickselectionmode.md +18 -0
  152. package/assets/docs/guide/api/node/type-aliases/doublepropertyname.md +26 -0
  153. package/assets/docs/guide/api/node/type-aliases/dropshadowoptions.md +32 -0
  154. package/assets/docs/guide/api/node/type-aliases/editmode.md +27 -0
  155. package/assets/docs/guide/api/node/type-aliases/effecttype.md +24 -0
  156. package/assets/docs/guide/api/node/type-aliases/effecttypelonghand.md +21 -0
  157. package/assets/docs/guide/api/node/type-aliases/effecttypeshorthand.md +18 -0
  158. package/assets/docs/guide/api/node/type-aliases/engineactionid.md +20 -0
  159. package/assets/docs/guide/api/node/type-aliases/enginecustomactionfunction.md +30 -0
  160. package/assets/docs/guide/api/node/type-aliases/engineplugincontext.md +30 -0
  161. package/assets/docs/guide/api/node/type-aliases/enumpropertyname.md +59 -0
  162. package/assets/docs/guide/api/node/type-aliases/enumvalues.md +59 -0
  163. package/assets/docs/guide/api/node/type-aliases/exportoptions.md +57 -0
  164. package/assets/docs/guide/api/node/type-aliases/fillpixelstreamorientation.md +18 -0
  165. package/assets/docs/guide/api/node/type-aliases/filltype.md +24 -0
  166. package/assets/docs/guide/api/node/type-aliases/filltypelonghand.md +21 -0
  167. package/assets/docs/guide/api/node/type-aliases/filltypeshorthand.md +18 -0
  168. package/assets/docs/guide/api/node/type-aliases/floatpropertyname.md +184 -0
  169. package/assets/docs/guide/api/node/type-aliases/fontsizeunit.md +23 -0
  170. package/assets/docs/guide/api/node/type-aliases/fontstyle.md +20 -0
  171. package/assets/docs/guide/api/node/type-aliases/fontweight.md +30 -0
  172. package/assets/docs/guide/api/node/type-aliases/gradientstoprgba.md +23 -0
  173. package/assets/docs/guide/api/node/type-aliases/heightmode.md +18 -0
  174. package/assets/docs/guide/api/node/type-aliases/hexcolorstring.md +20 -0
  175. package/assets/docs/guide/api/node/type-aliases/historyid.md +20 -0
  176. package/assets/docs/guide/api/node/type-aliases/historyupdate.md +25 -0
  177. package/assets/docs/guide/api/node/type-aliases/horizontalblockalignment.md +18 -0
  178. package/assets/docs/guide/api/node/type-aliases/horizontalcontentfillalignment.md +18 -0
  179. package/assets/docs/guide/api/node/type-aliases/horizontaltextalignment.md +18 -0
  180. package/assets/docs/guide/api/node/type-aliases/imagemimetype.md +25 -0
  181. package/assets/docs/guide/api/node/type-aliases/intpropertyname.md +26 -0
  182. package/assets/docs/guide/api/node/type-aliases/liststyle.md +20 -0
  183. package/assets/docs/guide/api/node/type-aliases/locale.md +20 -0
  184. package/assets/docs/guide/api/node/type-aliases/loglevel.md +24 -0
  185. package/assets/docs/guide/api/node/type-aliases/mimetype.md +20 -0
  186. package/assets/docs/guide/api/node/type-aliases/objecttype.md +24 -0
  187. package/assets/docs/guide/api/node/type-aliases/objecttypelonghand.md +27 -0
  188. package/assets/docs/guide/api/node/type-aliases/objecttypeshorthand.md +27 -0
  189. package/assets/docs/guide/api/node/type-aliases/optionalprefix.md +24 -0
  190. package/assets/docs/guide/api/node/type-aliases/pageguidessource.md +18 -0
  191. package/assets/docs/guide/api/node/type-aliases/palettecolor.md +24 -0
  192. package/assets/docs/guide/api/node/type-aliases/positionmode.md +20 -0
  193. package/assets/docs/guide/api/node/type-aliases/positionxmode.md +18 -0
  194. package/assets/docs/guide/api/node/type-aliases/positionymode.md +18 -0
  195. package/assets/docs/guide/api/node/type-aliases/propertytype.md +31 -0
  196. package/assets/docs/guide/api/node/type-aliases/rgba.md +23 -0
  197. package/assets/docs/guide/api/node/type-aliases/rolestring.md +23 -0
  198. package/assets/docs/guide/api/node/type-aliases/scenefontsizeunit.md +18 -0
  199. package/assets/docs/guide/api/node/type-aliases/scenelayout.md +18 -0
  200. package/assets/docs/guide/api/node/type-aliases/scenemode.md +18 -0
  201. package/assets/docs/guide/api/node/type-aliases/scope.md +50 -0
  202. package/assets/docs/guide/api/node/type-aliases/settingboolpropertyname.md +62 -0
  203. package/assets/docs/guide/api/node/type-aliases/settingcolorpropertyname.md +38 -0
  204. package/assets/docs/guide/api/node/type-aliases/settingenumpropertyname.md +29 -0
  205. package/assets/docs/guide/api/node/type-aliases/settingenumtype.md +33 -0
  206. package/assets/docs/guide/api/node/type-aliases/settingenumvalues.md +29 -0
  207. package/assets/docs/guide/api/node/type-aliases/settingfloatpropertyname.md +25 -0
  208. package/assets/docs/guide/api/node/type-aliases/settingintpropertyname.md +18 -0
  209. package/assets/docs/guide/api/node/type-aliases/settingkey.md +20 -0
  210. package/assets/docs/guide/api/node/type-aliases/settingsbool.md +18 -0
  211. package/assets/docs/guide/api/node/type-aliases/settingscolor.md +20 -0
  212. package/assets/docs/guide/api/node/type-aliases/settingscolorrgba.md +24 -0
  213. package/assets/docs/guide/api/node/type-aliases/settingsenum.md +18 -0
  214. package/assets/docs/guide/api/node/type-aliases/settingsfloat.md +18 -0
  215. package/assets/docs/guide/api/node/type-aliases/settingsint.md +18 -0
  216. package/assets/docs/guide/api/node/type-aliases/settingsstring.md +18 -0
  217. package/assets/docs/guide/api/node/type-aliases/settingstringpropertyname.md +28 -0
  218. package/assets/docs/guide/api/node/type-aliases/settingtype.md +20 -0
  219. package/assets/docs/guide/api/node/type-aliases/settingvaluetype.md +26 -0
  220. package/assets/docs/guide/api/node/type-aliases/shapetype.md +24 -0
  221. package/assets/docs/guide/api/node/type-aliases/shapetypelonghand.md +21 -0
  222. package/assets/docs/guide/api/node/type-aliases/shapetypeshorthand.md +18 -0
  223. package/assets/docs/guide/api/node/type-aliases/shapevectorpathfillrule.md +18 -0
  224. package/assets/docs/guide/api/node/type-aliases/sizemode.md +20 -0
  225. package/assets/docs/guide/api/node/type-aliases/sortingorder.md +21 -0
  226. package/assets/docs/guide/api/node/type-aliases/sourcesetpropertyname.md +18 -0
  227. package/assets/docs/guide/api/node/type-aliases/splitoptions.md +28 -0
  228. package/assets/docs/guide/api/node/type-aliases/stringpropertyname.md +43 -0
  229. package/assets/docs/guide/api/node/type-aliases/strokecap.md +18 -0
  230. package/assets/docs/guide/api/node/type-aliases/strokecornergeometry.md +18 -0
  231. package/assets/docs/guide/api/node/type-aliases/strokedashendcap.md +18 -0
  232. package/assets/docs/guide/api/node/type-aliases/strokedashstartcap.md +18 -0
  233. package/assets/docs/guide/api/node/type-aliases/strokeendcap.md +18 -0
  234. package/assets/docs/guide/api/node/type-aliases/strokeposition.md +18 -0
  235. package/assets/docs/guide/api/node/type-aliases/strokestartcap.md +18 -0
  236. package/assets/docs/guide/api/node/type-aliases/strokestyle.md +18 -0
  237. package/assets/docs/guide/api/node/type-aliases/syncuriresolver.md +31 -0
  238. package/assets/docs/guide/api/node/type-aliases/textanimationwritingstyle.md +18 -0
  239. package/assets/docs/guide/api/node/type-aliases/textcase.md +20 -0
  240. package/assets/docs/guide/api/node/type-aliases/textdecorationline.md +27 -0
  241. package/assets/docs/guide/api/node/type-aliases/textdecorationstyle.md +26 -0
  242. package/assets/docs/guide/api/node/type-aliases/textverticalalignment.md +18 -0
  243. package/assets/docs/guide/api/node/type-aliases/timelinetrackvisibility.md +18 -0
  244. package/assets/docs/guide/api/node/type-aliases/touchpinchaction.md +18 -0
  245. package/assets/docs/guide/api/node/type-aliases/touchrotateaction.md +18 -0
  246. package/assets/docs/guide/api/node/type-aliases/typefacedefinition.md +41 -0
  247. package/assets/docs/guide/api/node/type-aliases/verticalblockalignment.md +18 -0
  248. package/assets/docs/guide/api/node/type-aliases/verticalcontentfillalignment.md +18 -0
  249. package/assets/docs/guide/api/node/type-aliases/videoexportoptions.md +54 -0
  250. package/assets/docs/guide/api/node/type-aliases/videomimetype.md +20 -0
  251. package/assets/docs/guide/api/node/type-aliases/widthmode.md +18 -0
  252. package/assets/docs/guide/api/node/type-aliases/xywh.md +23 -0
  253. package/assets/docs/guide/api/node/type-aliases/zoomautofitaxis.md +20 -0
  254. package/assets/docs/guide/api/node/type-aliases/zoomoptions.md +27 -0
  255. package/assets/docs/guide/api/node/variables/animation_types.md +21 -0
  256. package/assets/docs/guide/api/node/variables/animationbaselinedirectionvalues.md +18 -0
  257. package/assets/docs/guide/api/node/variables/animationblockswipetextdirectionvalues.md +18 -0
  258. package/assets/docs/guide/api/node/variables/animationeasingvalues.md +18 -0
  259. package/assets/docs/guide/api/node/variables/animationgrowdirectionvalues.md +18 -0
  260. package/assets/docs/guide/api/node/variables/animationjumploopdirectionvalues.md +18 -0
  261. package/assets/docs/guide/api/node/variables/animationkenburnsdirectionvalues.md +18 -0
  262. package/assets/docs/guide/api/node/variables/animationmergetextdirectionvalues.md +18 -0
  263. package/assets/docs/guide/api/node/variables/animationspindirectionvalues.md +18 -0
  264. package/assets/docs/guide/api/node/variables/animationspinloopdirectionvalues.md +18 -0
  265. package/assets/docs/guide/api/node/variables/animationtypewritertextwritingstylevalues.md +18 -0
  266. package/assets/docs/guide/api/node/variables/animationwipedirectionvalues.md +18 -0
  267. package/assets/docs/guide/api/node/variables/blendmodevalues.md +18 -0
  268. package/assets/docs/guide/api/node/variables/blur_types.md +21 -0
  269. package/assets/docs/guide/api/node/variables/cameraclampingovershootmodevalues.md +18 -0
  270. package/assets/docs/guide/api/node/variables/captionhorizontalalignmentvalues.md +18 -0
  271. package/assets/docs/guide/api/node/variables/captionverticalalignmentvalues.md +18 -0
  272. package/assets/docs/guide/api/node/variables/colorpickercolormodevalues.md +18 -0
  273. package/assets/docs/guide/api/node/variables/contentfillmodevalues.md +18 -0
  274. package/assets/docs/guide/api/node/variables/controlgizmomovehandlevisibilityvalues.md +18 -0
  275. package/assets/docs/guide/api/node/variables/controlgizmoresizehandlesvisibilityvalues.md +18 -0
  276. package/assets/docs/guide/api/node/variables/controlgizmorotatehandlesvisibilityvalues.md +18 -0
  277. package/assets/docs/guide/api/node/variables/controlgizmoscalehandlesvisibilityvalues.md +18 -0
  278. package/assets/docs/guide/api/node/variables/cutouttypevalues.md +18 -0
  279. package/assets/docs/guide/api/node/variables/design_block_types.md +21 -0
  280. package/assets/docs/guide/api/node/variables/doubleclickselectionmodevalues.md +18 -0
  281. package/assets/docs/guide/api/node/variables/effect_types.md +21 -0
  282. package/assets/docs/guide/api/node/variables/fill_types.md +21 -0
  283. package/assets/docs/guide/api/node/variables/fillpixelstreamorientationvalues.md +18 -0
  284. package/assets/docs/guide/api/node/variables/heightmodevalues.md +18 -0
  285. package/assets/docs/guide/api/node/variables/horizontalcontentfillalignmentvalues.md +18 -0
  286. package/assets/docs/guide/api/node/variables/loglevel.md +37 -0
  287. package/assets/docs/guide/api/node/variables/mimetype.md +41 -0
  288. package/assets/docs/guide/api/node/variables/pageguidessourcevalues.md +18 -0
  289. package/assets/docs/guide/api/node/variables/positionxmodevalues.md +18 -0
  290. package/assets/docs/guide/api/node/variables/positionymodevalues.md +18 -0
  291. package/assets/docs/guide/api/node/variables/scenedesignunitvalues.md +18 -0
  292. package/assets/docs/guide/api/node/variables/scenefontsizeunitvalues.md +18 -0
  293. package/assets/docs/guide/api/node/variables/scenelayoutvalues.md +18 -0
  294. package/assets/docs/guide/api/node/variables/scenemodevalues.md +18 -0
  295. package/assets/docs/guide/api/node/variables/shape_types.md +21 -0
  296. package/assets/docs/guide/api/node/variables/shapevectorpathfillrulevalues.md +18 -0
  297. package/assets/docs/guide/api/node/variables/strokecapvalues.md +18 -0
  298. package/assets/docs/guide/api/node/variables/strokecornergeometryvalues.md +18 -0
  299. package/assets/docs/guide/api/node/variables/strokedashendcapvalues.md +18 -0
  300. package/assets/docs/guide/api/node/variables/strokedashstartcapvalues.md +18 -0
  301. package/assets/docs/guide/api/node/variables/strokeendcapvalues.md +18 -0
  302. package/assets/docs/guide/api/node/variables/strokepositionvalues.md +18 -0
  303. package/assets/docs/guide/api/node/variables/strokestartcapvalues.md +18 -0
  304. package/assets/docs/guide/api/node/variables/strokestylevalues.md +18 -0
  305. package/assets/docs/guide/api/node/variables/textanimationwritingstylevalues.md +18 -0
  306. package/assets/docs/guide/api/node/variables/texthorizontalalignmentvalues.md +18 -0
  307. package/assets/docs/guide/api/node/variables/textverticalalignmentvalues.md +18 -0
  308. package/assets/docs/guide/api/node/variables/timelinetrackvisibilityvalues.md +18 -0
  309. package/assets/docs/guide/api/node/variables/touchpinchactionvalues.md +18 -0
  310. package/assets/docs/guide/api/node/variables/touchrotateactionvalues.md +18 -0
  311. package/assets/docs/guide/api/node/variables/verticalcontentfillalignmentvalues.md +18 -0
  312. package/assets/docs/guide/api/node/variables/widthmodevalues.md +18 -0
  313. package/assets/docs/guide/api/types.md +5 -9
  314. package/assets/docs/guide/api-reference/overview.md +7 -7
  315. package/assets/docs/guide/automation/auto-resize.md +263 -300
  316. package/assets/docs/guide/automation/data-merge.md +246 -275
  317. package/assets/docs/guide/automation/design-generation.md +102 -31
  318. package/assets/docs/guide/automation/multi-image-generation.md +758 -0
  319. package/assets/docs/guide/automation/overview.md +21 -4
  320. package/assets/docs/guide/automation.md +10 -5
  321. package/assets/docs/guide/capabilities.md +6 -4
  322. package/assets/docs/guide/colors/adjust.md +247 -249
  323. package/assets/docs/guide/colors/apply.md +127 -138
  324. package/assets/docs/guide/colors/basics.md +126 -150
  325. package/assets/docs/guide/colors/conversion.md +171 -177
  326. package/assets/docs/guide/colors/create-color-palette.md +244 -245
  327. package/assets/docs/guide/colors/extract-colors.md +144 -0
  328. package/assets/docs/guide/colors/for-print/cmyk.md +292 -352
  329. package/assets/docs/guide/colors/for-print/spot.md +521 -578
  330. package/assets/docs/guide/colors/for-print.md +9 -4
  331. package/assets/docs/guide/colors/for-screen/p3.md +12 -10
  332. package/assets/docs/guide/colors/for-screen/srgb.md +107 -133
  333. package/assets/docs/guide/colors/for-screen.md +9 -4
  334. package/assets/docs/guide/colors/overview.md +6 -4
  335. package/assets/docs/guide/colors/replace.md +381 -419
  336. package/assets/docs/guide/colors.md +9 -4
  337. package/assets/docs/guide/compatibility.md +7 -5
  338. package/assets/docs/guide/concepts/architecture.md +17 -15
  339. package/assets/docs/guide/concepts/assets.md +152 -140
  340. package/assets/docs/guide/concepts/blocks.md +227 -323
  341. package/assets/docs/guide/concepts/buffers.md +147 -276
  342. package/assets/docs/guide/concepts/design-units.md +95 -145
  343. package/assets/docs/guide/concepts/editing-workflow.md +69 -183
  344. package/assets/docs/guide/concepts/events.md +80 -122
  345. package/assets/docs/guide/concepts/headless-mode.md +237 -0
  346. package/assets/docs/guide/concepts/pages.md +137 -127
  347. package/assets/docs/guide/concepts/resources.md +156 -217
  348. package/assets/docs/guide/concepts/scenes.md +191 -210
  349. package/assets/docs/guide/concepts/templating.md +118 -74
  350. package/assets/docs/guide/concepts/terminology.md +49 -47
  351. package/assets/docs/guide/concepts/undo-and-history.md +229 -303
  352. package/assets/docs/guide/concepts.md +9 -7
  353. package/assets/docs/guide/configuration.md +252 -380
  354. package/assets/docs/guide/conversion/overview.md +33 -4
  355. package/assets/docs/guide/conversion/to-base64.md +127 -167
  356. package/assets/docs/guide/conversion/to-pdf.md +24 -474
  357. package/assets/docs/guide/conversion/to-png.md +168 -211
  358. package/assets/docs/guide/conversion.md +9 -4
  359. package/assets/docs/guide/create-audio/audio/add-music.md +301 -327
  360. package/assets/docs/guide/create-audio/audio/add-sound-effects.md +475 -359
  361. package/assets/docs/guide/create-audio/audio/loop.md +232 -272
  362. package/assets/docs/guide/create-composition/add-background.md +237 -239
  363. package/assets/docs/guide/create-composition/blend-modes.md +118 -209
  364. package/assets/docs/guide/create-composition/collage.md +538 -320
  365. package/assets/docs/guide/create-composition/group-and-ungroup.md +216 -261
  366. package/assets/docs/guide/create-composition/layer-management.md +219 -257
  367. package/assets/docs/guide/create-composition/layout.md +513 -315
  368. package/assets/docs/guide/create-composition/lock-design.md +90 -109
  369. package/assets/docs/guide/create-composition/multi-page.md +133 -113
  370. package/assets/docs/guide/create-composition/overview.md +16 -4
  371. package/assets/docs/guide/create-composition/programmatic.md +288 -344
  372. package/assets/docs/guide/create-composition.md +10 -5
  373. package/assets/docs/guide/create-templates/add-dynamic-content/placeholders.md +443 -569
  374. package/assets/docs/guide/create-templates/add-dynamic-content/set-editing-constraints.md +567 -470
  375. package/assets/docs/guide/create-templates/add-dynamic-content/text-variables.md +179 -516
  376. package/assets/docs/guide/create-templates/add-dynamic-content.md +226 -224
  377. package/assets/docs/guide/create-templates/add-to-template-library.md +183 -193
  378. package/assets/docs/guide/create-templates/edit-or-remove.md +297 -303
  379. package/assets/docs/guide/create-templates/from-scratch.md +207 -268
  380. package/assets/docs/guide/create-templates/import/from-scene-file.md +158 -236
  381. package/assets/docs/guide/create-templates/import.md +145 -161
  382. package/assets/docs/guide/create-templates/lock.md +42 -295
  383. package/assets/docs/guide/create-templates/overview.md +33 -4
  384. package/assets/docs/guide/create-templates.md +9 -5
  385. package/assets/docs/guide/create-video/audio/adjust-speed.md +157 -207
  386. package/assets/docs/guide/create-video/audio/adjust-volume.md +116 -227
  387. package/assets/docs/guide/create-video/control.md +352 -193
  388. package/assets/docs/guide/create-video/limitations.md +175 -280
  389. package/assets/docs/guide/create-video.md +11 -10
  390. package/assets/docs/guide/edit-image/add-watermark.md +283 -330
  391. package/assets/docs/guide/edit-image/overview.md +29 -4
  392. package/assets/docs/guide/edit-image/remove-bg.md +283 -337
  393. package/assets/docs/guide/edit-image/replace-colors.md +424 -502
  394. package/assets/docs/guide/edit-image/transform/crop.md +463 -402
  395. package/assets/docs/guide/edit-image/transform/flip.md +353 -0
  396. package/assets/docs/guide/edit-image/transform/move.md +143 -100
  397. package/assets/docs/guide/edit-image/transform/resize.md +118 -88
  398. package/assets/docs/guide/edit-image/transform/rotate.md +132 -165
  399. package/assets/docs/guide/edit-image/transform/scale.md +230 -228
  400. package/assets/docs/guide/edit-image/transform.md +10 -5
  401. package/assets/docs/guide/edit-image.md +11 -7
  402. package/assets/docs/guide/edit-video/add-captions.md +344 -421
  403. package/assets/docs/guide/edit-video/add-watermark.md +312 -258
  404. package/assets/docs/guide/edit-video/join-and-arrange.md +237 -371
  405. package/assets/docs/guide/edit-video/redaction.md +419 -385
  406. package/assets/docs/guide/edit-video/split.md +243 -493
  407. package/assets/docs/guide/edit-video/transform/crop.md +21 -352
  408. package/assets/docs/guide/edit-video/transform/flip.md +102 -76
  409. package/assets/docs/guide/edit-video/transform/move.md +258 -310
  410. package/assets/docs/guide/edit-video/transform/resize.md +264 -428
  411. package/assets/docs/guide/edit-video/transform/rotate.md +265 -228
  412. package/assets/docs/guide/edit-video/transform/scale.md +320 -417
  413. package/assets/docs/guide/edit-video/transform.md +10 -6
  414. package/assets/docs/guide/edit-video/trim.md +448 -494
  415. package/assets/docs/guide/engine-interface.md +51 -62
  416. package/assets/docs/guide/export-save-publish/create-thumbnail.md +148 -184
  417. package/assets/docs/guide/export-save-publish/export/compress.md +161 -559
  418. package/assets/docs/guide/export-save-publish/export/overview.md +224 -373
  419. package/assets/docs/guide/export-save-publish/export/partial-export.md +386 -577
  420. package/assets/docs/guide/export-save-publish/export/size-limits.md +215 -310
  421. package/assets/docs/guide/export-save-publish/export/to-jpeg.md +132 -213
  422. package/assets/docs/guide/export-save-publish/export/to-pdf.md +139 -267
  423. package/assets/docs/guide/export-save-publish/export/to-png.md +121 -165
  424. package/assets/docs/guide/export-save-publish/export/to-raw-data.md +187 -234
  425. package/assets/docs/guide/export-save-publish/export/to-webp.md +160 -190
  426. package/assets/docs/guide/export-save-publish/export/with-color-mask.md +359 -203
  427. package/assets/docs/guide/export-save-publish/export.md +14 -11
  428. package/assets/docs/guide/export-save-publish/for-printing.md +141 -237
  429. package/assets/docs/guide/export-save-publish/for-social-media.md +124 -261
  430. package/assets/docs/guide/export-save-publish/pre-export-validation.md +436 -522
  431. package/assets/docs/guide/export-save-publish/save.md +167 -226
  432. package/assets/docs/guide/export-save-publish/store-custom-metadata.md +97 -162
  433. package/assets/docs/guide/file-format-support.md +9 -9
  434. package/assets/docs/guide/fills/color.md +370 -347
  435. package/assets/docs/guide/fills/image.md +167 -196
  436. package/assets/docs/guide/fills/overview.md +6 -4
  437. package/assets/docs/guide/fills/video.md +286 -438
  438. package/assets/docs/guide/fills.md +12 -8
  439. package/assets/docs/guide/filters-and-effects/apply.md +598 -664
  440. package/assets/docs/guide/filters-and-effects/blur.md +261 -159
  441. package/assets/docs/guide/filters-and-effects/chroma-key-green-screen.md +194 -293
  442. package/assets/docs/guide/filters-and-effects/create-custom-filters.md +548 -466
  443. package/assets/docs/guide/filters-and-effects/create-custom-lut-filter.md +176 -244
  444. package/assets/docs/guide/filters-and-effects/distortion.md +317 -384
  445. package/assets/docs/guide/filters-and-effects/duotone.md +221 -217
  446. package/assets/docs/guide/filters-and-effects/gradients.md +670 -813
  447. package/assets/docs/guide/filters-and-effects/overview.md +7 -7
  448. package/assets/docs/guide/filters-and-effects/support.md +97 -132
  449. package/assets/docs/guide/filters-and-effects.md +11 -6
  450. package/assets/docs/guide/get-started/agent-skills.md +20 -18
  451. package/assets/docs/guide/get-started/build-with-ai.md +7 -4
  452. package/assets/docs/guide/get-started/bun.md +219 -0
  453. package/assets/docs/guide/get-started/deno.md +161 -0
  454. package/assets/docs/guide/get-started/mcp-server.md +6 -4
  455. package/assets/docs/guide/get-started/overview.md +11 -6
  456. package/assets/docs/guide/get-started/vanilla-aws-lambda.md +506 -0
  457. package/assets/docs/guide/get-started/vanilla-clone-github-project.md +124 -0
  458. package/assets/docs/guide/get-started/vanilla.md +235 -0
  459. package/assets/docs/guide/guides/export-save-publish/export/audio.md +80 -66
  460. package/assets/docs/guide/guides.md +10 -9
  461. package/assets/docs/guide/import-media/asset-panel/refresh-assets.md +259 -288
  462. package/assets/docs/guide/import-media/concepts.md +20 -38
  463. package/assets/docs/guide/import-media/content-json-schema.md +145 -125
  464. package/assets/docs/guide/import-media/default-assets.md +113 -161
  465. package/assets/docs/guide/import-media/edit-or-remove-assets.md +391 -395
  466. package/assets/docs/guide/import-media/file-format-support.md +78 -61
  467. package/assets/docs/guide/import-media/from-remote-source/asset-versioning.md +273 -244
  468. package/assets/docs/guide/import-media/from-remote-source/remote-asset.md +152 -222
  469. package/assets/docs/guide/import-media/from-remote-source.md +9 -11
  470. package/assets/docs/guide/import-media/overview.md +5 -5
  471. package/assets/docs/guide/import-media/retrieve-mimetype.md +216 -108
  472. package/assets/docs/guide/import-media/size-limits.md +6 -4
  473. package/assets/docs/guide/import-media/source-sets.md +190 -251
  474. package/assets/docs/guide/import-media.md +10 -8
  475. package/assets/docs/guide/insert-media/audio.md +202 -195
  476. package/assets/docs/guide/insert-media/images.md +190 -188
  477. package/assets/docs/guide/insert-media/position-and-align.md +284 -551
  478. package/assets/docs/guide/insert-media/shapes-or-stickers.md +402 -418
  479. package/assets/docs/guide/insert-media/videos.md +236 -203
  480. package/assets/docs/guide/insert-media.md +10 -5
  481. package/assets/docs/guide/key-capabilities.md +36 -4
  482. package/assets/docs/guide/key-concepts.md +6 -4
  483. package/assets/docs/guide/licensing.md +6 -4
  484. package/assets/docs/guide/llms-txt.md +11 -7
  485. package/assets/docs/guide/open-the-editor/blank-canvas.md +102 -63
  486. package/assets/docs/guide/open-the-editor/from-image.md +157 -127
  487. package/assets/docs/guide/open-the-editor/from-template.md +131 -92
  488. package/assets/docs/guide/open-the-editor/from-video.md +204 -212
  489. package/assets/docs/guide/open-the-editor/import-design/from-archive.md +310 -360
  490. package/assets/docs/guide/open-the-editor/import-design/from-indesign.md +716 -513
  491. package/assets/docs/guide/open-the-editor/import-design/from-photoshop.md +667 -695
  492. package/assets/docs/guide/open-the-editor/import-design.md +228 -266
  493. package/assets/docs/guide/open-the-editor/load-scene.md +72 -68
  494. package/assets/docs/guide/open-the-editor/overview.md +6 -4
  495. package/assets/docs/guide/open-the-editor/uri-resolver.md +160 -251
  496. package/assets/docs/guide/open-the-editor.md +11 -9
  497. package/assets/docs/guide/outlines/overview.md +12 -4
  498. package/assets/docs/guide/outlines/shadows-and-glows.md +105 -410
  499. package/assets/docs/guide/outlines/strokes.md +218 -166
  500. package/assets/docs/guide/outlines.md +9 -4
  501. package/assets/docs/guide/overview.md +14 -6
  502. package/assets/docs/guide/performance.md +220 -113
  503. package/assets/docs/guide/plugins/print-ready-pdf.md +273 -368
  504. package/assets/docs/guide/plugins.md +10 -16
  505. package/assets/docs/guide/rules/asset-handling.md +7 -18
  506. package/assets/docs/guide/rules/common-pitfalls.md +25 -42
  507. package/assets/docs/guide/rules/content-fill-mode.md +4 -4
  508. package/assets/docs/guide/rules/enforce-brand-guidelines.md +398 -567
  509. package/assets/docs/guide/rules/lock-content.md +188 -231
  510. package/assets/docs/guide/rules/moderate-content.md +580 -571
  511. package/assets/docs/guide/rules/overview.md +345 -380
  512. package/assets/docs/guide/rules/silent-init-errors.md +4 -1
  513. package/assets/docs/guide/rules/verify-properties-before-use.md +2 -11
  514. package/assets/docs/guide/rules.md +10 -5
  515. package/assets/docs/guide/security.md +7 -5
  516. package/assets/docs/guide/serve-assets.md +57 -284
  517. package/assets/docs/guide/settings.md +96 -74
  518. package/assets/docs/guide/shapes.md +10 -5
  519. package/assets/docs/guide/stickers-and-shapes/combine.md +397 -583
  520. package/assets/docs/guide/stickers-and-shapes/create-cutout.md +181 -268
  521. package/assets/docs/guide/stickers-and-shapes/create-edit/create-shapes.md +418 -431
  522. package/assets/docs/guide/stickers-and-shapes/create-edit/create-stickers.md +147 -226
  523. package/assets/docs/guide/stickers-and-shapes/create-edit/edit-shapes.md +138 -123
  524. package/assets/docs/guide/stickers-and-shapes/insert-qr-code.md +151 -149
  525. package/assets/docs/guide/stickers.md +9 -4
  526. package/assets/docs/guide/text/add.md +470 -482
  527. package/assets/docs/guide/text/adjust-spacing.md +179 -214
  528. package/assets/docs/guide/text/auto-size.md +210 -271
  529. package/assets/docs/guide/text/edit.md +294 -309
  530. package/assets/docs/guide/text/effects.md +154 -190
  531. package/assets/docs/guide/text/emojis.md +199 -232
  532. package/assets/docs/guide/text/language-support.md +369 -382
  533. package/assets/docs/guide/text/overview.md +41 -4
  534. package/assets/docs/guide/text/styling.md +239 -273
  535. package/assets/docs/guide/text/text-designs.md +405 -544
  536. package/assets/docs/guide/text.md +10 -9
  537. package/assets/docs/guide/to-v1-19.md +12 -10
  538. package/assets/docs/guide/upgrade.md +8 -9
  539. package/assets/docs/guide/use-templates/apply-template.md +174 -163
  540. package/assets/docs/guide/use-templates/generate.md +171 -152
  541. package/assets/docs/guide/use-templates/overview.md +32 -4
  542. package/assets/docs/guide/use-templates/programmatic.md +266 -301
  543. package/assets/docs/guide/use-templates/replace-content.md +181 -171
  544. package/assets/docs/guide/what-is-cesdk.md +71 -282
  545. package/assets/docs/handbook/SKILL.md +24 -0
  546. package/dist/assets/inline.generated.d.ts.map +1 -1
  547. package/dist/assets/inline.generated.js +544 -406
  548. package/dist/assets/inline.generated.js.map +1 -1
  549. package/dist/assets/load-browser.d.ts +1 -1
  550. package/dist/assets/load-browser.js +1 -1
  551. package/dist/assets/load-browser.js.map +1 -1
  552. package/dist/assets/load-node.d.ts +1 -1
  553. package/dist/assets/load-node.js +1 -1
  554. package/dist/assets/load-node.js.map +1 -1
  555. package/dist/cli/http.d.ts.map +1 -1
  556. package/dist/cli/http.js +4 -28
  557. package/dist/cli/http.js.map +1 -1
  558. package/dist/cli/redirect-console.d.ts +1 -1
  559. package/dist/cli/redirect-console.d.ts.map +1 -1
  560. package/dist/cli/redirect-console.js +12 -3
  561. package/dist/cli/redirect-console.js.map +1 -1
  562. package/dist/cli/resolve-license.d.ts.map +1 -1
  563. package/dist/cli/resolve-license.js +8 -6
  564. package/dist/cli/resolve-license.js.map +1 -1
  565. package/dist/cli/stdio.d.ts +9 -0
  566. package/dist/cli/stdio.d.ts.map +1 -1
  567. package/dist/cli/stdio.js +48 -4
  568. package/dist/cli/stdio.js.map +1 -1
  569. package/dist/cli.js +10 -1
  570. package/dist/cli.js.map +1 -1
  571. package/dist/config.d.ts +11 -2
  572. package/dist/config.d.ts.map +1 -1
  573. package/dist/config.js +20 -1
  574. package/dist/config.js.map +1 -1
  575. package/dist/diagnostics/bundle.d.ts +10 -0
  576. package/dist/diagnostics/bundle.d.ts.map +1 -0
  577. package/dist/diagnostics/bundle.js +148 -0
  578. package/dist/diagnostics/bundle.js.map +1 -0
  579. package/dist/diagnostics/compose.d.ts +3 -0
  580. package/dist/diagnostics/compose.d.ts.map +1 -0
  581. package/dist/diagnostics/compose.js +15 -0
  582. package/dist/diagnostics/compose.js.map +1 -0
  583. package/dist/diagnostics/events.d.ts +34 -0
  584. package/dist/diagnostics/events.d.ts.map +1 -0
  585. package/dist/diagnostics/events.js +3 -0
  586. package/dist/diagnostics/events.js.map +1 -0
  587. package/dist/diagnostics/file-sink.d.ts +38 -0
  588. package/dist/diagnostics/file-sink.d.ts.map +1 -0
  589. package/dist/diagnostics/file-sink.js +157 -0
  590. package/dist/diagnostics/file-sink.js.map +1 -0
  591. package/dist/diagnostics/redact.d.ts +7 -0
  592. package/dist/diagnostics/redact.d.ts.map +1 -0
  593. package/dist/diagnostics/redact.js +43 -0
  594. package/dist/diagnostics/redact.js.map +1 -0
  595. package/dist/diagnostics/tool-call-adapter.d.ts +4 -0
  596. package/dist/diagnostics/tool-call-adapter.d.ts.map +1 -0
  597. package/dist/diagnostics/tool-call-adapter.js +21 -0
  598. package/dist/diagnostics/tool-call-adapter.js.map +1 -0
  599. package/dist/engine/cesdk-adapter.d.ts +5 -1
  600. package/dist/engine/cesdk-adapter.d.ts.map +1 -1
  601. package/dist/engine/cesdk-adapter.js +9 -2
  602. package/dist/engine/cesdk-adapter.js.map +1 -1
  603. package/dist/engine/index.d.ts +1 -0
  604. package/dist/engine/index.d.ts.map +1 -1
  605. package/dist/engine/index.js +4 -0
  606. package/dist/engine/index.js.map +1 -1
  607. package/dist/engine/scene-resource-schemes.d.ts +2 -0
  608. package/dist/engine/scene-resource-schemes.d.ts.map +1 -0
  609. package/dist/engine/scene-resource-schemes.js +20 -0
  610. package/dist/engine/scene-resource-schemes.js.map +1 -0
  611. package/dist/http/server.d.ts +0 -6
  612. package/dist/http/server.d.ts.map +1 -1
  613. package/dist/http/server.js +1 -2
  614. package/dist/http/server.js.map +1 -1
  615. package/dist/server.d.ts +0 -4
  616. package/dist/server.d.ts.map +1 -1
  617. package/dist/server.js +4 -60
  618. package/dist/server.js.map +1 -1
  619. package/dist/test/scripts/changelog-add.d.ts +8 -0
  620. package/dist/test/scripts/changelog-add.d.ts.map +1 -0
  621. package/dist/test/scripts/changelog-add.js +50 -0
  622. package/dist/test/scripts/changelog-add.js.map +1 -0
  623. package/dist/test/scripts/changelog-collate.d.ts +38 -0
  624. package/dist/test/scripts/changelog-collate.d.ts.map +1 -0
  625. package/dist/test/scripts/changelog-collate.js +171 -0
  626. package/dist/test/scripts/changelog-collate.js.map +1 -0
  627. package/dist/test/test/changelog.test.d.ts +2 -0
  628. package/dist/test/test/changelog.test.d.ts.map +1 -0
  629. package/dist/test/test/changelog.test.js +293 -0
  630. package/dist/test/test/changelog.test.js.map +1 -0
  631. package/dist/test/test/cli/dispatcher.test.js +10 -3
  632. package/dist/test/test/cli/dispatcher.test.js.map +1 -1
  633. package/dist/test/test/cli/redirect-console.test.js +31 -0
  634. package/dist/test/test/cli/redirect-console.test.js.map +1 -1
  635. package/dist/test/test/cli/resolve-license.test.js +10 -1
  636. package/dist/test/test/cli/resolve-license.test.js.map +1 -1
  637. package/dist/test/test/cli/stdio-diagnostics.test.d.ts +2 -0
  638. package/dist/test/test/cli/stdio-diagnostics.test.d.ts.map +1 -0
  639. package/dist/test/test/cli/stdio-diagnostics.test.js +31 -0
  640. package/dist/test/test/cli/stdio-diagnostics.test.js.map +1 -0
  641. package/dist/test/test/config.test.js +17 -13
  642. package/dist/test/test/config.test.js.map +1 -1
  643. package/dist/test/test/diagnostics/bundle.test.d.ts +2 -0
  644. package/dist/test/test/diagnostics/bundle.test.d.ts.map +1 -0
  645. package/dist/test/test/diagnostics/bundle.test.js +53 -0
  646. package/dist/test/test/diagnostics/bundle.test.js.map +1 -0
  647. package/dist/test/test/diagnostics/compose.test.d.ts +2 -0
  648. package/dist/test/test/diagnostics/compose.test.d.ts.map +1 -0
  649. package/dist/test/test/diagnostics/compose.test.js +31 -0
  650. package/dist/test/test/diagnostics/compose.test.js.map +1 -0
  651. package/dist/test/test/diagnostics/file-sink.test.d.ts +2 -0
  652. package/dist/test/test/diagnostics/file-sink.test.d.ts.map +1 -0
  653. package/dist/test/test/diagnostics/file-sink.test.js +113 -0
  654. package/dist/test/test/diagnostics/file-sink.test.js.map +1 -0
  655. package/dist/test/test/diagnostics/redact.test.d.ts +2 -0
  656. package/dist/test/test/diagnostics/redact.test.d.ts.map +1 -0
  657. package/dist/test/test/diagnostics/redact.test.js +59 -0
  658. package/dist/test/test/diagnostics/redact.test.js.map +1 -0
  659. package/dist/test/test/diagnostics/tool-call-adapter.test.d.ts +2 -0
  660. package/dist/test/test/diagnostics/tool-call-adapter.test.d.ts.map +1 -0
  661. package/dist/test/test/diagnostics/tool-call-adapter.test.js +34 -0
  662. package/dist/test/test/diagnostics/tool-call-adapter.test.js.map +1 -0
  663. package/dist/test/test/engine/cesdk-adapter.test.d.ts +2 -0
  664. package/dist/test/test/engine/cesdk-adapter.test.d.ts.map +1 -0
  665. package/dist/test/test/engine/cesdk-adapter.test.js +32 -0
  666. package/dist/test/test/engine/cesdk-adapter.test.js.map +1 -0
  667. package/dist/test/test/handbook-contract.test.js +6 -2
  668. package/dist/test/test/handbook-contract.test.js.map +1 -1
  669. package/dist/test/test/http/server.test.js +0 -36
  670. package/dist/test/test/http/server.test.js.map +1 -1
  671. package/dist/test/test/http/workspace-auth.test.js +0 -1
  672. package/dist/test/test/http/workspace-auth.test.js.map +1 -1
  673. package/dist/test/test/server.test.js +0 -40
  674. package/dist/test/test/server.test.js.map +1 -1
  675. package/dist/test/test/tools/edit-harness.d.ts +14 -0
  676. package/dist/test/test/tools/edit-harness.d.ts.map +1 -0
  677. package/dist/test/test/tools/edit-harness.js +30 -0
  678. package/dist/test/test/tools/edit-harness.js.map +1 -0
  679. package/dist/test/test/tools/edit.telemetry.test.d.ts +2 -0
  680. package/dist/test/test/tools/edit.telemetry.test.d.ts.map +1 -0
  681. package/dist/test/test/tools/edit.telemetry.test.js +46 -0
  682. package/dist/test/test/tools/edit.telemetry.test.js.map +1 -0
  683. package/dist/test/test/tools/export-harness.d.ts +13 -0
  684. package/dist/test/test/tools/export-harness.d.ts.map +1 -0
  685. package/dist/test/test/tools/export-harness.js +27 -0
  686. package/dist/test/test/tools/export-harness.js.map +1 -0
  687. package/dist/test/test/tools/export.telemetry.test.d.ts +2 -0
  688. package/dist/test/test/tools/export.telemetry.test.d.ts.map +1 -0
  689. package/dist/test/test/tools/export.telemetry.test.js +65 -0
  690. package/dist/test/test/tools/export.telemetry.test.js.map +1 -0
  691. package/dist/test/test/tools/import.test.d.ts +2 -0
  692. package/dist/test/test/tools/import.test.d.ts.map +1 -0
  693. package/dist/test/test/tools/import.test.js +122 -0
  694. package/dist/test/test/tools/import.test.js.map +1 -0
  695. package/dist/test/test/tools/index.test.js +78 -16
  696. package/dist/test/test/tools/index.test.js.map +1 -1
  697. package/dist/test/test/tools/load.integration.test.d.ts +2 -0
  698. package/dist/test/test/tools/load.integration.test.d.ts.map +1 -0
  699. package/dist/test/test/tools/load.integration.test.js +165 -0
  700. package/dist/test/test/tools/load.integration.test.js.map +1 -0
  701. package/dist/test/test/tools/load.test.d.ts +2 -0
  702. package/dist/test/test/tools/load.test.d.ts.map +1 -0
  703. package/dist/test/test/tools/load.test.js +387 -0
  704. package/dist/test/test/tools/load.test.js.map +1 -0
  705. package/dist/test/test/tools/preview-harness.d.ts +9 -0
  706. package/dist/test/test/tools/preview-harness.d.ts.map +1 -0
  707. package/dist/test/test/tools/preview-harness.js +23 -0
  708. package/dist/test/test/tools/preview-harness.js.map +1 -0
  709. package/dist/test/test/tools/preview.telemetry.test.d.ts +2 -0
  710. package/dist/test/test/tools/preview.telemetry.test.d.ts.map +1 -0
  711. package/dist/test/test/tools/preview.telemetry.test.js +36 -0
  712. package/dist/test/test/tools/preview.telemetry.test.js.map +1 -0
  713. package/dist/test/test/tools/schema-best-practices.d.ts +13 -0
  714. package/dist/test/test/tools/schema-best-practices.d.ts.map +1 -0
  715. package/dist/test/test/tools/schema-best-practices.js +169 -0
  716. package/dist/test/test/tools/schema-best-practices.js.map +1 -0
  717. package/dist/test/test/tools/schema-best-practices.test.d.ts +3 -0
  718. package/dist/test/test/tools/schema-best-practices.test.d.ts.map +1 -0
  719. package/dist/test/test/tools/schema-best-practices.test.js +194 -0
  720. package/dist/test/test/tools/schema-best-practices.test.js.map +1 -0
  721. package/dist/test/test/tools/spans.test.d.ts +2 -0
  722. package/dist/test/test/tools/spans.test.d.ts.map +1 -0
  723. package/dist/test/test/tools/spans.test.js +84 -0
  724. package/dist/test/test/tools/spans.test.js.map +1 -0
  725. package/dist/test/test/viewer/cesdk-cdn.test.d.ts +2 -0
  726. package/dist/test/test/viewer/cesdk-cdn.test.d.ts.map +1 -0
  727. package/dist/test/test/viewer/cesdk-cdn.test.js +19 -0
  728. package/dist/test/test/viewer/cesdk-cdn.test.js.map +1 -0
  729. package/dist/test/test/viewer/config-route.test.d.ts +2 -0
  730. package/dist/test/test/viewer/config-route.test.d.ts.map +1 -0
  731. package/dist/test/test/viewer/config-route.test.js +28 -0
  732. package/dist/test/test/viewer/config-route.test.js.map +1 -0
  733. package/dist/test/test/viewer/spa-version.test.d.ts +2 -0
  734. package/dist/test/test/viewer/spa-version.test.d.ts.map +1 -0
  735. package/dist/test/test/viewer/spa-version.test.js +14 -0
  736. package/dist/test/test/viewer/spa-version.test.js.map +1 -0
  737. package/dist/test/test/workspace/content-hash.test.d.ts +2 -0
  738. package/dist/test/test/workspace/content-hash.test.d.ts.map +1 -0
  739. package/dist/test/test/workspace/content-hash.test.js +17 -0
  740. package/dist/test/test/workspace/content-hash.test.js.map +1 -0
  741. package/dist/test/tsconfig.test.tsbuildinfo +1 -1
  742. package/dist/test/vitest.config.js +1 -1
  743. package/dist/test/vitest.config.js.map +1 -1
  744. package/dist/tools/asset-generate.d.ts.map +1 -1
  745. package/dist/tools/asset-generate.js +1 -8
  746. package/dist/tools/asset-generate.js.map +1 -1
  747. package/dist/tools/edit.d.ts +3 -0
  748. package/dist/tools/edit.d.ts.map +1 -1
  749. package/dist/tools/edit.js +145 -96
  750. package/dist/tools/edit.js.map +1 -1
  751. package/dist/tools/export.d.ts +3 -0
  752. package/dist/tools/export.d.ts.map +1 -1
  753. package/dist/tools/export.js +146 -108
  754. package/dist/tools/export.js.map +1 -1
  755. package/dist/tools/import.d.ts +12 -0
  756. package/dist/tools/import.d.ts.map +1 -0
  757. package/dist/tools/import.js +144 -0
  758. package/dist/tools/import.js.map +1 -0
  759. package/dist/tools/index.d.ts +3 -0
  760. package/dist/tools/index.d.ts.map +1 -1
  761. package/dist/tools/index.js +44 -4
  762. package/dist/tools/index.js.map +1 -1
  763. package/dist/tools/load.d.ts +26 -0
  764. package/dist/tools/load.d.ts.map +1 -0
  765. package/dist/tools/load.js +400 -0
  766. package/dist/tools/load.js.map +1 -0
  767. package/dist/tools/preview.d.ts +3 -0
  768. package/dist/tools/preview.d.ts.map +1 -1
  769. package/dist/tools/preview.js +79 -44
  770. package/dist/tools/preview.js.map +1 -1
  771. package/dist/tools/result.d.ts +1 -1
  772. package/dist/tools/result.js +2 -2
  773. package/dist/tools/result.js.map +1 -1
  774. package/dist/tools/spans.d.ts +45 -0
  775. package/dist/tools/spans.d.ts.map +1 -0
  776. package/dist/tools/spans.js +77 -0
  777. package/dist/tools/spans.js.map +1 -0
  778. package/dist/tools/telemetry-wrapper.d.ts +4 -0
  779. package/dist/tools/telemetry-wrapper.d.ts.map +1 -0
  780. package/dist/tools/telemetry-wrapper.js +43 -0
  781. package/dist/tools/telemetry-wrapper.js.map +1 -0
  782. package/dist/viewer/cesdk-cdn.d.ts +16 -0
  783. package/dist/viewer/cesdk-cdn.d.ts.map +1 -0
  784. package/dist/viewer/cesdk-cdn.js +30 -0
  785. package/dist/viewer/cesdk-cdn.js.map +1 -0
  786. package/dist/viewer/router.d.ts +6 -0
  787. package/dist/viewer/router.d.ts.map +1 -1
  788. package/dist/viewer/router.js +4 -1
  789. package/dist/viewer/router.js.map +1 -1
  790. package/dist/viewer/spa-assets.generated.d.ts.map +1 -1
  791. package/dist/viewer/spa-assets.generated.js +2 -3
  792. package/dist/viewer/spa-assets.generated.js.map +1 -1
  793. package/dist/workspace/content-hash.d.ts +2 -0
  794. package/dist/workspace/content-hash.d.ts.map +1 -0
  795. package/dist/workspace/content-hash.js +15 -0
  796. package/dist/workspace/content-hash.js.map +1 -0
  797. package/package.json +18 -9
  798. package/assets/docs/guide/actions.md +0 -1038
  799. package/assets/docs/guide/animation/overview.md +0 -22
  800. package/assets/docs/guide/automation/batch-processing.md +0 -474
  801. package/assets/docs/guide/browser-support.md +0 -38
  802. package/assets/docs/guide/concepts/edit-modes.md +0 -431
  803. package/assets/docs/guide/concepts/headless-mode/browser.md +0 -291
  804. package/assets/docs/guide/create-audio/audio.md +0 -336
  805. package/assets/docs/guide/create-video/overview.md +0 -224
  806. package/assets/docs/guide/create-video/timeline-editor.md +0 -622
  807. package/assets/docs/guide/create-video/update-caption-presets.md +0 -676
  808. package/assets/docs/guide/edit-image/vectorize.md +0 -204
  809. package/assets/docs/guide/export-save-publish/export/to-html5.md +0 -474
  810. package/assets/docs/guide/export-save-publish/export/to-mp4.md +0 -364
  811. package/assets/docs/guide/get-started/vanilla-js/quickstart.md +0 -175
  812. package/assets/docs/guide/grid-and-rulers.md +0 -222
  813. package/assets/docs/guide/guides/text/rendering-internals.md +0 -796
  814. package/assets/docs/guide/import-media/asset-library.md +0 -23
  815. package/assets/docs/guide/import-media/asset-panel/basics.md +0 -324
  816. package/assets/docs/guide/import-media/asset-panel/customize.md +0 -478
  817. package/assets/docs/guide/import-media/asset-panel/thumbnails.md +0 -633
  818. package/assets/docs/guide/import-media/capture-from-camera/record-video.md +0 -137
  819. package/assets/docs/guide/import-media/capture-from-camera.md +0 -20
  820. package/assets/docs/guide/import-media/from-local-source/user-upload.md +0 -438
  821. package/assets/docs/guide/import-media/from-local-source.md +0 -20
  822. package/assets/docs/guide/import-media/from-remote-source/getty-images.md +0 -627
  823. package/assets/docs/guide/import-media/from-remote-source/imgly-premium-assets.md +0 -625
  824. package/assets/docs/guide/import-media/from-remote-source/pexels.md +0 -692
  825. package/assets/docs/guide/import-media/from-remote-source/soundstripe.md +0 -497
  826. package/assets/docs/guide/import-media/from-remote-source/third-party.md +0 -51
  827. package/assets/docs/guide/import-media/from-remote-source/unsplash.md +0 -914
  828. package/assets/docs/guide/import-media/from-remote-source/your-server.md +0 -764
  829. package/assets/docs/guide/open-the-editor/from-htmlcanvas.md +0 -228
  830. package/assets/docs/guide/open-the-editor/set-zoom-level.md +0 -303
  831. package/assets/docs/guide/plugins/asset-sources.md +0 -553
  832. package/assets/docs/guide/starterkits/3d-mockup-editor.md +0 -748
  833. package/assets/docs/guide/starterkits/advanced-editor.md +0 -698
  834. package/assets/docs/guide/starterkits/advanced-video-editor.md +0 -696
  835. package/assets/docs/guide/starterkits/ai-editor.md +0 -749
  836. package/assets/docs/guide/starterkits/airtable-image-editor.md +0 -672
  837. package/assets/docs/guide/starterkits/apparel-ui.md +0 -188
  838. package/assets/docs/guide/starterkits/assets.md +0 -27
  839. package/assets/docs/guide/starterkits/auto-resize.md +0 -586
  840. package/assets/docs/guide/starterkits/automated-video-generation.md +0 -692
  841. package/assets/docs/guide/starterkits/background-removal-editor.md +0 -480
  842. package/assets/docs/guide/starterkits/content-moderation.md +0 -863
  843. package/assets/docs/guide/starterkits/creative-automation.md +0 -28
  844. package/assets/docs/guide/starterkits/custom-built-uis.md +0 -26
  845. package/assets/docs/guide/starterkits/customization.md +0 -29
  846. package/assets/docs/guide/starterkits/cutout-lines-editor.md +0 -470
  847. package/assets/docs/guide/starterkits/data-merge.md +0 -850
  848. package/assets/docs/guide/starterkits/design-editor.md +0 -698
  849. package/assets/docs/guide/starterkits/design-generation.md +0 -719
  850. package/assets/docs/guide/starterkits/design-validation.md +0 -808
  851. package/assets/docs/guide/starterkits/editor-ui-configurations.md +0 -14
  852. package/assets/docs/guide/starterkits/export-options.md +0 -724
  853. package/assets/docs/guide/starterkits/export-using-renderer.md +0 -708
  854. package/assets/docs/guide/starterkits/extensibility.md +0 -28
  855. package/assets/docs/guide/starterkits/force-crop-editor.md +0 -675
  856. package/assets/docs/guide/starterkits/form-based-template-adoption.md +0 -522
  857. package/assets/docs/guide/starterkits/getty-images-editor.md +0 -700
  858. package/assets/docs/guide/starterkits/html5-ads-exporter.md +0 -719
  859. package/assets/docs/guide/starterkits/indesign-template-import.md +0 -580
  860. package/assets/docs/guide/starterkits/layouts-editor.md +0 -724
  861. package/assets/docs/guide/starterkits/mobile-ui.md +0 -185
  862. package/assets/docs/guide/starterkits/mockup-editor.md +0 -745
  863. package/assets/docs/guide/starterkits/multi-image-generation.md +0 -542
  864. package/assets/docs/guide/starterkits/page-sizes-editor.md +0 -657
  865. package/assets/docs/guide/starterkits/pexels-image-editor.md +0 -665
  866. package/assets/docs/guide/starterkits/photo-editor.md +0 -755
  867. package/assets/docs/guide/starterkits/photo-ui.md +0 -186
  868. package/assets/docs/guide/starterkits/photobook-ui.md +0 -188
  869. package/assets/docs/guide/starterkits/placeholders.md +0 -678
  870. package/assets/docs/guide/starterkits/player.md +0 -405
  871. package/assets/docs/guide/starterkits/plugins.md +0 -25
  872. package/assets/docs/guide/starterkits/postcard-editor.md +0 -202
  873. package/assets/docs/guide/starterkits/pptx-template-import.md +0 -581
  874. package/assets/docs/guide/starterkits/print-ready-pdf-editor.md +0 -746
  875. package/assets/docs/guide/starterkits/product-editor.md +0 -773
  876. package/assets/docs/guide/starterkits/psd-template-import.md +0 -580
  877. package/assets/docs/guide/starterkits/qr-code-editor.md +0 -470
  878. package/assets/docs/guide/starterkits/single-page-editor.md +0 -661
  879. package/assets/docs/guide/starterkits/start-with-image.md +0 -684
  880. package/assets/docs/guide/starterkits/start-with-video.md +0 -651
  881. package/assets/docs/guide/starterkits/t-shirt-designer.md +0 -742
  882. package/assets/docs/guide/starterkits/templating.md +0 -23
  883. package/assets/docs/guide/starterkits/theming.md +0 -662
  884. package/assets/docs/guide/starterkits/translation-internationalization.md +0 -662
  885. package/assets/docs/guide/starterkits/unsplash-editor.md +0 -839
  886. package/assets/docs/guide/starterkits/vectorizer-editor.md +0 -466
  887. package/assets/docs/guide/starterkits/version-history.md +0 -745
  888. package/assets/docs/guide/starterkits/video-animations.md +0 -853
  889. package/assets/docs/guide/starterkits/video-captions.md +0 -884
  890. package/assets/docs/guide/starterkits/video-editing.md +0 -25
  891. package/assets/docs/guide/starterkits/video-editor.md +0 -696
  892. package/assets/docs/guide/starterkits/video-export-options.md +0 -676
  893. package/assets/docs/guide/starterkits/viewer.md +0 -400
  894. package/assets/docs/guide/starterkits.md +0 -41
  895. package/assets/docs/guide/stickers-and-shapes/create-edit/vector-edit.md +0 -362
  896. package/assets/docs/guide/text/custom-fonts.md +0 -401
  897. package/assets/docs/guide/text/decorations.md +0 -330
  898. package/assets/docs/guide/text/enumerations.md +0 -258
  899. package/assets/docs/guide/to-v1-10.md +0 -131
  900. package/assets/docs/guide/to-v1-13.md +0 -165
  901. package/assets/docs/guide/to-v1-32.md +0 -110
  902. package/assets/docs/guide/to-v1-69.md +0 -468
  903. package/assets/docs/guide/to-v1-72.md +0 -193
  904. package/assets/docs/guide/use-templates/library.md +0 -450
  905. package/assets/docs/guide/user-interface/ai-integration/audio-generation.md +0 -428
  906. package/assets/docs/guide/user-interface/ai-integration/auto-captions.md +0 -337
  907. package/assets/docs/guide/user-interface/ai-integration/custom-provider.md +0 -853
  908. package/assets/docs/guide/user-interface/ai-integration/gateway-provider.md +0 -1045
  909. package/assets/docs/guide/user-interface/ai-integration/image-generation.md +0 -641
  910. package/assets/docs/guide/user-interface/ai-integration/integrate.md +0 -966
  911. package/assets/docs/guide/user-interface/ai-integration/proxy-server.md +0 -99
  912. package/assets/docs/guide/user-interface/ai-integration/text-generation.md +0 -498
  913. package/assets/docs/guide/user-interface/ai-integration/video-generation.md +0 -493
  914. package/assets/docs/guide/user-interface/ai-integration.md +0 -30
  915. package/assets/docs/guide/user-interface/appearance/change-ui-font.md +0 -316
  916. package/assets/docs/guide/user-interface/appearance/custom-labels.md +0 -509
  917. package/assets/docs/guide/user-interface/appearance/icons.md +0 -373
  918. package/assets/docs/guide/user-interface/appearance/theming.md +0 -665
  919. package/assets/docs/guide/user-interface/appearance.md +0 -23
  920. package/assets/docs/guide/user-interface/build-your-own-ui.md +0 -620
  921. package/assets/docs/guide/user-interface/customization/canvas-menu.md +0 -412
  922. package/assets/docs/guide/user-interface/customization/canvas.md +0 -281
  923. package/assets/docs/guide/user-interface/customization/color-palette.md +0 -413
  924. package/assets/docs/guide/user-interface/customization/crop-presets.md +0 -384
  925. package/assets/docs/guide/user-interface/customization/disable-or-enable.md +0 -676
  926. package/assets/docs/guide/user-interface/customization/dock.md +0 -399
  927. package/assets/docs/guide/user-interface/customization/force-crop.md +0 -289
  928. package/assets/docs/guide/user-interface/customization/inspector-bar.md +0 -371
  929. package/assets/docs/guide/user-interface/customization/navigation-bar.md +0 -516
  930. package/assets/docs/guide/user-interface/customization/page-format.md +0 -436
  931. package/assets/docs/guide/user-interface/customization/panel.md +0 -605
  932. package/assets/docs/guide/user-interface/customization/quick-start/add-action-buttons.md +0 -531
  933. package/assets/docs/guide/user-interface/customization/quick-start/add-dock-buttons.md +0 -358
  934. package/assets/docs/guide/user-interface/customization/quick-start/create-custom-components.md +0 -374
  935. package/assets/docs/guide/user-interface/customization/quick-start/reorder-components.md +0 -323
  936. package/assets/docs/guide/user-interface/customization/quick-start/show-hide-components.md +0 -294
  937. package/assets/docs/guide/user-interface/customization/quick-start.md +0 -12
  938. package/assets/docs/guide/user-interface/customization/reference/component-order-api.md +0 -519
  939. package/assets/docs/guide/user-interface/customization/reference/component-reference.md +0 -333
  940. package/assets/docs/guide/user-interface/customization/reference.md +0 -12
  941. package/assets/docs/guide/user-interface/customization.md +0 -39
  942. package/assets/docs/guide/user-interface/localization.md +0 -633
  943. package/assets/docs/guide/user-interface/overview.md +0 -167
  944. package/assets/docs/guide/user-interface/ui-extensions/add-custom-feature.md +0 -411
  945. package/assets/docs/guide/user-interface/ui-extensions/asset-library.md +0 -721
  946. package/assets/docs/guide/user-interface/ui-extensions/create-custom-panel.md +0 -331
  947. package/assets/docs/guide/user-interface/ui-extensions/customize-behaviour.md +0 -553
  948. package/assets/docs/guide/user-interface/ui-extensions/notifications-and-dialogs.md +0 -672
  949. package/assets/docs/guide/user-interface/ui-extensions/quick-actions.md +0 -415
  950. package/assets/docs/guide/user-interface/ui-extensions/register-new-component.md +0 -521
  951. package/assets/docs/guide/user-interface/ui-extensions.md +0 -26
  952. package/assets/docs/guide/user-interface.md +0 -25
  953. package/assets/prompts/evals-assetGenerate.md +0 -12
  954. package/assets/prompts/evals-brutalistCore.md +0 -34
  955. package/assets/prompts/evals-danskCatalogue.md +0 -31
  956. package/assets/prompts/evals-exportRoundTrip.md +0 -12
  957. package/assets/prompts/evals-inspectPriorCode.md +0 -16
  958. package/assets/prompts/evals-listProjectFiles.md +0 -6
  959. package/assets/prompts/evals-readAndExplainScript.md +0 -6
  960. package/assets/prompts/evals-resumeAcrossRestart.md +0 -15
  961. package/assets/prompts/evals-rewindRecovery.md +0 -10
  962. package/assets/prompts/evals-searchAcrossFiles.md +0 -6
  963. package/assets/prompts/evals-weddingCard.md +0 -20
  964. package/assets/prompts/explain.md +0 -6
  965. package/assets/prompts/review.md +0 -6
  966. package/dist/frontmatter.d.ts +0 -15
  967. package/dist/frontmatter.d.ts.map +0 -1
  968. package/dist/frontmatter.js +0 -46
  969. package/dist/frontmatter.js.map +0 -1
  970. package/dist/test/test/frontmatter.test.d.ts +0 -2
  971. package/dist/test/test/frontmatter.test.d.ts.map +0 -1
  972. package/dist/test/test/frontmatter.test.js +0 -55
  973. package/dist/test/test/frontmatter.test.js.map +0 -1
@@ -1,406 +1,232 @@
1
- > This is one page of the CE.SDK Vanilla JS/TS documentation. For a complete overview, see the [Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md). For all docs in one file, see [llms-full.txt](./llms-full.txt.md).
1
+ > This is one page of the CE.SDK Node.js documentation. For a complete overview, see the [Node.js Documentation Index](https://img.ly/docs/cesdk/node.md). For all docs in one file, see [llms-full.txt](./llms-full.txt.md).
2
2
 
3
3
  **Navigation:** [Guides](./guides.md) > [Create and Edit Videos](./create-video.md) > [Split](./edit-video/split.md)
4
4
 
5
5
  ---
6
6
 
7
- Split video and audio clips at specific time points using CE.SDK's timeline UI
8
- and programmatic split API to create independent segments.
7
+ Split video and audio clips at specific time points using CE.SDK's programmatic split API to create independent segments in server-side environments.
9
8
 
10
- ![Video Split example showing timeline with video clips and split controls](https://img.ly/docs/cesdk/./assets/browser.hero.webp)
11
-
12
- > **Reading time:** 10 minutes
9
+ > **Reading time:** 8 minutes
13
10
  >
14
11
  > **Resources:**
15
12
  >
16
13
  > - [Download examples](https://github.com/imgly/cesdk-web-examples/archive/refs/tags/release-$UBQ_VERSION$.zip)
17
- > - [View source on GitHub](https://github.com/imgly/cesdk-web-examples/tree/release-$UBQ_VERSION$/guides-create-video-split-browser)
18
- > - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-create-video-split-browser)
19
- > - [Live demo](https://img.ly/docs/cesdk/examples/guides-create-video-split-browser/)
14
+ >
15
+ > - [View source on GitHub](https://github.com/imgly/cesdk-web-examples/tree/release-$UBQ_VERSION$/guides-create-video-split-server-js)
16
+ >
17
+ > - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-create-video-split-server-js)
20
18
 
21
19
  Clip splitting divides one block into two at a specified time. The original block ends at the split point; a new block starts there. Both blocks reference the same source media with independent timing. This differs from trimming, which adjusts a single block's playback range without creating new blocks.
22
20
 
23
- ```typescript file=@cesdk_web_examples/guides-create-video-split-browser/browser.ts reference-only
24
- import type { EditorPlugin, EditorPluginContext } from '@cesdk/cesdk-js';
25
-
26
- import {
27
- BlurAssetSource,
28
- CaptionPresetsAssetSource,
29
- ColorPaletteAssetSource,
30
- CropPresetsAssetSource,
31
- DemoAssetSources,
32
- EffectsAssetSource,
33
- FiltersAssetSource,
34
- PagePresetsAssetSource,
35
- StickerAssetSource,
36
- TextAssetSource,
37
- TextComponentAssetSource,
38
- TypefaceAssetSource,
39
- UploadAssetSources,
40
- VectorShapeAssetSource
41
- } from '@cesdk/cesdk-js/plugins';
42
- import { VideoEditorConfig } from './video-editor/plugin';
43
- import packageJson from './package.json';
44
- import { calculateGridLayout } from './utils';
45
-
46
- /**
47
- * CE.SDK Plugin: Split Video Guide
48
- *
49
- * Demonstrates splitting video clips in CE.SDK:
50
- * - Basic splitting at specific time points
51
- * - Configuring split options (attachToParent, selectNewBlock, createParentTrackIfNeeded)
52
- * - Splitting at playhead position
53
- * - Understanding split results (trim properties)
54
- * - Splitting multiple tracks at timeline position
55
- * - Split and delete workflow
56
- */
57
- class Example implements EditorPlugin {
58
- name = packageJson.name;
59
-
60
- version = packageJson.version;
61
-
62
- async initialize({ cesdk }: EditorPluginContext): Promise<void> {
63
- if (!cesdk) {
64
- throw new Error('CE.SDK instance is required for this plugin');
65
- }
21
+ ```typescript file=@cesdk_web_examples/guides-create-video-split-server-js/server-js.ts reference-only
22
+ import CreativeEngine from '@cesdk/node';
23
+ import { config } from 'dotenv';
24
+ import { writeFileSync, mkdirSync, existsSync } from 'fs';
66
25
 
67
- await cesdk.addPlugin(new VideoEditorConfig());
68
-
69
- // Add asset source plugins
70
- await cesdk.addPlugin(new BlurAssetSource());
71
- await cesdk.addPlugin(new CaptionPresetsAssetSource());
72
- await cesdk.addPlugin(new ColorPaletteAssetSource());
73
- await cesdk.addPlugin(new CropPresetsAssetSource());
74
- await cesdk.addPlugin(
75
- new UploadAssetSources({
76
- include: [
77
- 'ly.img.image.upload',
78
- 'ly.img.video.upload',
79
- 'ly.img.audio.upload'
80
- ]
81
- })
82
- );
83
- await cesdk.addPlugin(
84
- new DemoAssetSources({
85
- include: [
86
- 'ly.img.templates.video.*',
87
- 'ly.img.image.*',
88
- 'ly.img.audio.*',
89
- 'ly.img.video.*'
90
- ]
91
- })
92
- );
93
- await cesdk.addPlugin(new EffectsAssetSource());
94
- await cesdk.addPlugin(new FiltersAssetSource());
95
- await cesdk.addPlugin(
96
- new PagePresetsAssetSource({
97
- include: [
98
- 'ly.img.page.presets.instagram.*',
99
- 'ly.img.page.presets.facebook.*',
100
- 'ly.img.page.presets.x.*',
101
- 'ly.img.page.presets.linkedin.*',
102
- 'ly.img.page.presets.pinterest.*',
103
- 'ly.img.page.presets.tiktok.*',
104
- 'ly.img.page.presets.youtube.*',
105
- 'ly.img.page.presets.video.*'
106
- ]
107
- })
108
- );
109
- await cesdk.addPlugin(new StickerAssetSource());
110
- await cesdk.addPlugin(new TextAssetSource());
111
- await cesdk.addPlugin(new TextComponentAssetSource());
112
- await cesdk.addPlugin(new TypefaceAssetSource());
113
- await cesdk.addPlugin(new VectorShapeAssetSource());
114
-
115
- await cesdk.actions.run('scene.create', {
116
- layout: 'DepthStack',
117
- page: {
118
- sourceId: 'ly.img.page.presets',
119
- assetId: 'ly.img.page.presets.instagram.story',
120
- color: { r: 0, g: 0, b: 0, a: 1 }
121
- }
122
- });
26
+ config(); // Load .env file
27
+
28
+ async function splitVideoExample() {
29
+ const engine = await CreativeEngine.init({
30
+ baseURL: process.env.IMGLY_LOCAL_ASSETS_URL
31
+ // license: process.env.CESDK_LICENSE,
32
+ });
123
33
 
124
- const engine = cesdk.engine;
125
- const scene = engine.scene.get();
126
- const pages = engine.block.findByType('page');
127
- const page = pages.length > 0 ? pages[0] : scene;
128
-
129
- // Calculate responsive grid layout based on page dimensions
130
- const pageWidth = engine.block.getWidth(page);
131
- const pageHeight = engine.block.getHeight(page);
132
- const layout = calculateGridLayout(pageWidth, pageHeight, 6);
133
- const { blockWidth, blockHeight, getPosition } = layout;
134
-
135
- // Get a video from demo asset sources
136
- const videoAssets = await engine.asset.findAssets('ly.img.video', {
137
- page: 0,
138
- perPage: 1
34
+ try {
35
+ // Create a scene with a page and track for video editing
36
+ engine.scene.create('DepthStack', {
37
+ page: { size: { width: 1920, height: 1080 } }
139
38
  });
140
- const videoUri =
141
- videoAssets.assets[0]?.payload?.sourceSet?.[0]?.uri ??
142
- 'https://img.ly/static/ubq_video_samples/bbb.mp4';
39
+ const page = engine.block.findByType('page')[0]!;
40
+ const track = engine.block.create('track');
41
+ engine.block.appendChild(page, track);
42
+
43
+ // Use a sample video URL
44
+ const videoUri = 'https://img.ly/static/ubq_video_samples/bbb.mp4';
143
45
 
144
46
  // Create a video block to demonstrate basic splitting
145
- const basicSplitVideo = await engine.block.addVideo(
146
- videoUri,
147
- blockWidth,
148
- blockHeight
149
- );
47
+ const videoBlock = engine.block.create('graphic');
48
+ const videoFill = engine.block.createFill('video');
49
+ engine.block.setString(videoFill, 'fill/video/fileURI', videoUri);
50
+ engine.block.setFill(videoBlock, videoFill);
51
+ engine.block.setWidth(videoBlock, 1920);
52
+ engine.block.setHeight(videoBlock, 1080);
53
+ engine.block.appendChild(track, videoBlock);
150
54
 
151
- // Get the video fill and load resource to access duration
152
- const basicFill = engine.block.getFill(basicSplitVideo);
153
- await engine.block.forceLoadAVResource(basicFill);
55
+ // Load video resource to access duration
56
+ await engine.block.forceLoadAVResource(videoFill);
154
57
 
155
58
  // Set block duration for the timeline
156
- engine.block.setDuration(basicSplitVideo, 10.0);
59
+ engine.block.setDuration(videoBlock, 10.0);
157
60
 
158
61
  // Split the video block at 5 seconds
159
62
  // Returns the ID of the newly created block (second segment)
160
- const splitResultBlock = engine.block.split(basicSplitVideo, 5.0);
63
+ const newBlock = engine.block.split(videoBlock, 5.0);
161
64
 
162
- // eslint-disable-next-line no-console
163
- console.log(
164
- `Basic split - Original block: ${basicSplitVideo}, New block: ${splitResultBlock}`
165
- );
65
+ console.log(`Basic split - Original: ${videoBlock}, New: ${newBlock}`);
166
66
 
167
67
  // Create another video block to demonstrate split options
168
- const optionsSplitVideo = await engine.block.addVideo(
169
- videoUri,
170
- blockWidth,
171
- blockHeight
172
- );
68
+ const optionsBlock = engine.block.create('graphic');
69
+ const optionsFill = engine.block.createFill('video');
70
+ engine.block.setString(optionsFill, 'fill/video/fileURI', videoUri);
71
+ engine.block.setFill(optionsBlock, optionsFill);
72
+ engine.block.setWidth(optionsBlock, 1920);
73
+ engine.block.setHeight(optionsBlock, 1080);
74
+ engine.block.appendChild(track, optionsBlock);
173
75
 
174
- const optionsFill = engine.block.getFill(optionsSplitVideo);
175
76
  await engine.block.forceLoadAVResource(optionsFill);
176
- engine.block.setDuration(optionsSplitVideo, 10.0);
77
+ engine.block.setDuration(optionsBlock, 10.0);
177
78
 
178
79
  // Split with custom options
179
- const optionsSplitResult = engine.block.split(optionsSplitVideo, 4.0, {
180
- attachToParent: true, // Attach new block to same parent (default: true)
181
- createParentTrackIfNeeded: false, // Don't create track if needed (default: false)
182
- selectNewBlock: false // Don't select the new block (default: true)
80
+ const optionsNewBlock = engine.block.split(optionsBlock, 4.0, {
81
+ attachToParent: true, // Attach to same parent (default: true)
82
+ createParentTrackIfNeeded: false, // Don't create track (default: false)
83
+ selectNewBlock: false // Don't select new block (default: true)
183
84
  });
184
85
 
185
- // eslint-disable-next-line no-console
186
- console.log(
187
- `Split with options - New block: ${optionsSplitResult}, selectNewBlock: false`
188
- );
189
-
190
- // Create a video block to demonstrate playhead-based splitting
191
- const playheadSplitVideo = await engine.block.addVideo(
192
- videoUri,
193
- blockWidth,
194
- blockHeight
195
- );
196
-
197
- const playheadFill = engine.block.getFill(playheadSplitVideo);
198
- await engine.block.forceLoadAVResource(playheadFill);
199
- engine.block.setDuration(playheadSplitVideo, 10.0);
200
-
201
- // Get the clip's start time on the timeline
202
- const clipStartTime = engine.block.getTimeOffset(playheadSplitVideo);
203
-
204
- // Simulate a playhead position (in a real app, use engine.block.getPlaybackTime(page))
205
- const simulatedPlayheadTime = clipStartTime + 3.0;
206
-
207
- // Calculate split time relative to the clip
208
- const splitTime = simulatedPlayheadTime - clipStartTime;
209
-
210
- // Perform the split at the calculated time
211
- const playheadSplitResult = engine.block.split(
212
- playheadSplitVideo,
213
- splitTime
214
- );
215
-
216
- // eslint-disable-next-line no-console
217
- console.log(
218
- `Playhead split - Split at ${splitTime}s into clip, New block: ${playheadSplitResult}`
219
- );
220
-
221
- // Create a video block to examine split results
222
- const resultsSplitVideo = await engine.block.addVideo(
223
- videoUri,
224
- blockWidth,
225
- blockHeight
226
- );
227
-
228
- const resultsFill = engine.block.getFill(resultsSplitVideo);
229
- await engine.block.forceLoadAVResource(resultsFill);
230
- engine.block.setDuration(resultsSplitVideo, 10.0);
231
-
232
- // Get trim values before split
233
- const originalTrimOffset = engine.block.getTrimOffset(resultsFill);
234
- const originalTrimLength = engine.block.getTrimLength(resultsFill);
235
-
236
- // Split at 6 seconds
237
- const resultsNewBlock = engine.block.split(resultsSplitVideo, 6.0);
238
- const newBlockFill = engine.block.getFill(resultsNewBlock);
86
+ console.log(`Split with options - New block: ${optionsNewBlock}`);
239
87
 
240
88
  // Examine trim properties after split
241
- const originalAfterSplitOffset = engine.block.getTrimOffset(resultsFill);
242
- const originalAfterSplitLength = engine.block.getTrimLength(resultsFill);
243
- const newBlockTrimOffset = engine.block.getTrimOffset(newBlockFill);
244
- const newBlockTrimLength = engine.block.getTrimLength(newBlockFill);
89
+ const originalFill = engine.block.getFill(videoBlock);
90
+ const newBlockFill = engine.block.getFill(newBlock);
91
+
92
+ const originalTrimOffset = engine.block.getTrimOffset(originalFill);
93
+ const originalTrimLength = engine.block.getTrimLength(originalFill);
94
+ const newTrimOffset = engine.block.getTrimOffset(newBlockFill);
95
+ const newTrimLength = engine.block.getTrimLength(newBlockFill);
245
96
 
246
- // eslint-disable-next-line no-console
247
97
  console.log('Split results:');
248
- // eslint-disable-next-line no-console
249
- console.log(
250
- ` Original before: offset=${originalTrimOffset}, length=${originalTrimLength}`
251
- );
252
- // eslint-disable-next-line no-console
253
98
  console.log(
254
- ` Original after: offset=${originalAfterSplitOffset}, length=${originalAfterSplitLength}`
99
+ ` Original: offset=${originalTrimOffset}s, length=${originalTrimLength}s`
255
100
  );
256
- // eslint-disable-next-line no-console
257
101
  console.log(
258
- ` New block: offset=${newBlockTrimOffset}, length=${newBlockTrimLength}`
102
+ ` New block: offset=${newTrimOffset}s, length=${newTrimLength}s`
259
103
  );
260
104
 
261
- // Create a video block to demonstrate split-and-delete workflow
262
- const deleteWorkflowVideo = await engine.block.addVideo(
263
- videoUri,
264
- blockWidth,
265
- blockHeight
266
- );
105
+ // Demonstrate split-and-delete workflow for removing middle section
106
+ const deleteBlock = engine.block.create('graphic');
107
+ const deleteFill = engine.block.createFill('video');
108
+ engine.block.setString(deleteFill, 'fill/video/fileURI', videoUri);
109
+ engine.block.setFill(deleteBlock, deleteFill);
110
+ engine.block.setWidth(deleteBlock, 1920);
111
+ engine.block.setHeight(deleteBlock, 1080);
112
+ engine.block.appendChild(track, deleteBlock);
267
113
 
268
- const deleteFill = engine.block.getFill(deleteWorkflowVideo);
269
114
  await engine.block.forceLoadAVResource(deleteFill);
270
- engine.block.setDuration(deleteWorkflowVideo, 10.0);
115
+ engine.block.setDuration(deleteBlock, 10.0);
271
116
 
272
- // Remove middle section: split at start of section to remove (2s)
273
- const middleBlock = engine.block.split(deleteWorkflowVideo, 2.0);
117
+ // Split at start of section to remove (2s)
118
+ const middleBlock = engine.block.split(deleteBlock, 2.0);
274
119
 
275
- // Split again at the end of the section to remove (at 3s into middle block = 5s total)
120
+ // Split at end of section to remove (3s into middle = 5s total)
276
121
  const endBlock = engine.block.split(middleBlock, 3.0);
277
122
 
278
123
  // Delete the middle segment
279
124
  engine.block.destroy(middleBlock);
280
125
 
281
- // eslint-disable-next-line no-console
282
126
  console.log(
283
- `Split and delete - Removed middle 3s section, kept blocks: ${deleteWorkflowVideo}, ${endBlock}`
127
+ `Split and delete - Removed middle, kept: ${deleteBlock}, ${endBlock}`
284
128
  );
285
129
 
286
- // Create a video block to demonstrate split time validation
287
- const validateVideo = await engine.block.addVideo(
288
- videoUri,
289
- blockWidth,
290
- blockHeight
291
- );
130
+ // Validate split time before splitting
131
+ const validateBlock = engine.block.create('graphic');
132
+ const validateFill = engine.block.createFill('video');
133
+ engine.block.setString(validateFill, 'fill/video/fileURI', videoUri);
134
+ engine.block.setFill(validateBlock, validateFill);
135
+ engine.block.setWidth(validateBlock, 1920);
136
+ engine.block.setHeight(validateBlock, 1080);
137
+ engine.block.appendChild(track, validateBlock);
292
138
 
293
- const validateFill = engine.block.getFill(validateVideo);
294
139
  await engine.block.forceLoadAVResource(validateFill);
295
- engine.block.setDuration(validateVideo, 8.0);
140
+ engine.block.setDuration(validateBlock, 8.0);
296
141
 
297
- // Get block duration to validate split time
298
- const blockDuration = engine.block.getDuration(validateVideo);
299
- const desiredSplitTime = 4.0;
142
+ const blockDuration = engine.block.getDuration(validateBlock);
143
+ const splitTime = 4.0;
300
144
 
301
145
  // Validate split time is within bounds (must be > 0 and < duration)
302
- if (desiredSplitTime > 0 && desiredSplitTime < blockDuration) {
303
- const validatedSplitResult = engine.block.split(
304
- validateVideo,
305
- desiredSplitTime
306
- );
307
- // eslint-disable-next-line no-console
146
+ if (splitTime > 0 && splitTime < blockDuration) {
147
+ const validatedNewBlock = engine.block.split(validateBlock, splitTime);
308
148
  console.log(
309
- `Validated split - Duration: ${blockDuration}s, Split at: ${desiredSplitTime}s, New block: ${validatedSplitResult}`
149
+ `Validated split at ${splitTime}s, new block: ${validatedNewBlock}`
310
150
  );
311
151
  } else {
312
- // eslint-disable-next-line no-console
313
152
  console.log('Split time out of range');
314
153
  }
315
154
 
316
- // ===== Position all blocks in grid layout =====
317
- // Note: Some original blocks were modified by splits, position remaining visible blocks
318
- const blocks = [
319
- basicSplitVideo,
320
- splitResultBlock,
321
- optionsSplitVideo,
322
- optionsSplitResult,
323
- playheadSplitVideo,
324
- playheadSplitResult
325
- ];
326
-
327
- blocks.forEach((block, index) => {
328
- const pos = getPosition(index);
329
- engine.block.setPositionX(block, pos.x);
330
- engine.block.setPositionY(block, pos.y);
331
- });
155
+ // Export the scene archive to demonstrate the result
156
+ const archiveBlob = await engine.scene.saveToArchive();
157
+ const buffer = Buffer.from(await archiveBlob.arrayBuffer());
332
158
 
333
- // Select first block so timeline controls are visible
334
- engine.block.setSelected(basicSplitVideo, true);
159
+ // Ensure output directory exists
160
+ if (!existsSync('./output')) {
161
+ mkdirSync('./output', { recursive: true });
162
+ }
335
163
 
336
- // Set playback time to 8 seconds for hero image
337
- engine.block.setPlaybackTime(page, 8.0);
164
+ writeFileSync('./output/split-video.zip', buffer);
165
+ console.log('Scene exported to ./output/split-video.zip');
338
166
 
339
- // Start playback automatically when the example loads
340
- try {
341
- engine.block.setPlaying(page, true);
342
- // eslint-disable-next-line no-console
343
- console.log(
344
- 'Video split guide initialized. Playback started. Use timeline to see split results.'
345
- );
346
- } catch (error) {
347
- // eslint-disable-next-line no-console
348
- console.log(
349
- 'Video split guide initialized. Click play button to start playback.'
350
- );
351
- }
167
+ } finally {
168
+ engine.dispose();
352
169
  }
353
170
  }
354
171
 
355
- export default Example;
172
+ splitVideoExample().catch(console.error);
356
173
  ```
357
174
 
358
- This guide covers how to use the built-in timeline UI for visual splitting and how to split clips programmatically using the Engine API.
359
-
360
- ## Splitting Clips via the UI
175
+ This guide covers how to split clips programmatically for server-side automation and batch processing workflows.
361
176
 
362
- When you select a video or audio block in the timeline, CE.SDK provides split functionality through the toolbar. Position the playhead at the desired split point by clicking on the timeline ruler or dragging the playhead indicator.
177
+ ## Setting Up the Scene
363
178
 
364
- With the clip selected and playhead positioned, click the Split button in the timeline toolbar. CE.SDK divides the clip at the playhead position, creating two independent segments. Visual feedback shows the resulting segments as separate blocks on the timeline.
179
+ Before splitting clips, create a scene with the necessary track structure.
365
180
 
366
- The timeline enforces minimum duration constraints that prevent splitting too close to clip edges. If the playhead is positioned within this minimum boundary, the split operation will not be available.
181
+ ```typescript highlight=highlight-setup
182
+ const engine = await CreativeEngine.init({
183
+ baseURL: process.env.IMGLY_LOCAL_ASSETS_URL
184
+ // license: process.env.CESDK_LICENSE,
185
+ });
186
+ ```
367
187
 
368
- ## Programmatic Splitting
188
+ ```typescript highlight=highlight-create-video-scene
189
+ // Create a scene with a page and track for video editing
190
+ engine.scene.create('DepthStack', {
191
+ page: { size: { width: 1920, height: 1080 } }
192
+ });
193
+ const page = engine.block.findByType('page')[0]!;
194
+ const track = engine.block.create('track');
195
+ engine.block.appendChild(page, track);
196
+ ```
369
197
 
370
- For applications that need to split clips programmatically—whether for automation, batch processing, or dynamic editing—CE.SDK provides the `engine.block.split()` method.
198
+ The scene uses `Video` mode to enable time-based operations. We create a track to contain the video clips that will be split.
371
199
 
372
- ### Basic Splitting at a Specific Time
200
+ ## Basic Splitting at a Specific Time
373
201
 
374
- Split a block by providing the block ID and the split time in seconds. The time parameter is relative to the block's own time range, accounting for the block's time offset.
202
+ Split a block by providing the block ID and the split time in seconds. The time parameter is relative to the block's own time range.
375
203
 
376
- ```typescript highlight-basic-split
377
- // Create a video block to demonstrate basic splitting
378
- const basicSplitVideo = await engine.block.addVideo(
379
- videoUri,
380
- blockWidth,
381
- blockHeight
382
- );
204
+ ```typescript highlight=highlight-basic-split
205
+ // Create a video block to demonstrate basic splitting
206
+ const videoBlock = engine.block.create('graphic');
207
+ const videoFill = engine.block.createFill('video');
208
+ engine.block.setString(videoFill, 'fill/video/fileURI', videoUri);
209
+ engine.block.setFill(videoBlock, videoFill);
210
+ engine.block.setWidth(videoBlock, 1920);
211
+ engine.block.setHeight(videoBlock, 1080);
212
+ engine.block.appendChild(track, videoBlock);
383
213
 
384
- // Get the video fill and load resource to access duration
385
- const basicFill = engine.block.getFill(basicSplitVideo);
386
- await engine.block.forceLoadAVResource(basicFill);
214
+ // Load video resource to access duration
215
+ await engine.block.forceLoadAVResource(videoFill);
387
216
 
388
- // Set block duration for the timeline
389
- engine.block.setDuration(basicSplitVideo, 10.0);
217
+ // Set block duration for the timeline
218
+ engine.block.setDuration(videoBlock, 10.0);
390
219
 
391
- // Split the video block at 5 seconds
392
- // Returns the ID of the newly created block (second segment)
393
- const splitResultBlock = engine.block.split(basicSplitVideo, 5.0);
220
+ // Split the video block at 5 seconds
221
+ // Returns the ID of the newly created block (second segment)
222
+ const newBlock = engine.block.split(videoBlock, 5.0);
394
223
 
395
- // eslint-disable-next-line no-console
396
- console.log(
397
- `Basic split - Original block: ${basicSplitVideo}, New block: ${splitResultBlock}`
398
- );
224
+ console.log(`Basic split - Original: ${videoBlock}, New: ${newBlock}`);
399
225
  ```
400
226
 
401
227
  The `split()` method returns the ID of the newly created block. The original block becomes the first segment (before the split point), and the returned block is the second segment (after the split point).
402
228
 
403
- ### Configuring Split Options
229
+ ## Configuring Split Options
404
230
 
405
231
  The `SplitOptions` object controls split behavior with three optional properties:
406
232
 
@@ -408,227 +234,151 @@ The `SplitOptions` object controls split behavior with three optional properties
408
234
  - **`createParentTrackIfNeeded`** (default: `false`): Creates a parent track if needed and adds both blocks to it
409
235
  - **`selectNewBlock`** (default: `true`): Whether to select the newly created block after splitting
410
236
 
411
- ```typescript highlight-split-options
412
- // Create another video block to demonstrate split options
413
- const optionsSplitVideo = await engine.block.addVideo(
414
- videoUri,
415
- blockWidth,
416
- blockHeight
417
- );
418
-
419
- const optionsFill = engine.block.getFill(optionsSplitVideo);
420
- await engine.block.forceLoadAVResource(optionsFill);
421
- engine.block.setDuration(optionsSplitVideo, 10.0);
422
-
423
- // Split with custom options
424
- const optionsSplitResult = engine.block.split(optionsSplitVideo, 4.0, {
425
- attachToParent: true, // Attach new block to same parent (default: true)
426
- createParentTrackIfNeeded: false, // Don't create track if needed (default: false)
427
- selectNewBlock: false // Don't select the new block (default: true)
428
- });
429
-
430
- // eslint-disable-next-line no-console
431
- console.log(
432
- `Split with options - New block: ${optionsSplitResult}, selectNewBlock: false`
433
- );
434
- ```
435
-
436
- Use `selectNewBlock: false` when splitting multiple clips programmatically to avoid changing selection state between operations.
437
-
438
- ### Splitting at the Current Playhead Position
439
-
440
- To implement playhead-based splitting like the built-in UI, get the current playback time from the page and convert it to block-relative time.
441
-
442
- ```typescript highlight-split-at-playhead
443
- // Create a video block to demonstrate playhead-based splitting
444
- const playheadSplitVideo = await engine.block.addVideo(
445
- videoUri,
446
- blockWidth,
447
- blockHeight
448
- );
237
+ ```typescript highlight=highlight-split-options
238
+ // Create another video block to demonstrate split options
239
+ const optionsBlock = engine.block.create('graphic');
240
+ const optionsFill = engine.block.createFill('video');
241
+ engine.block.setString(optionsFill, 'fill/video/fileURI', videoUri);
242
+ engine.block.setFill(optionsBlock, optionsFill);
243
+ engine.block.setWidth(optionsBlock, 1920);
244
+ engine.block.setHeight(optionsBlock, 1080);
245
+ engine.block.appendChild(track, optionsBlock);
449
246
 
450
- const playheadFill = engine.block.getFill(playheadSplitVideo);
451
- await engine.block.forceLoadAVResource(playheadFill);
452
- engine.block.setDuration(playheadSplitVideo, 10.0);
247
+ await engine.block.forceLoadAVResource(optionsFill);
248
+ engine.block.setDuration(optionsBlock, 10.0);
453
249
 
454
- // Get the clip's start time on the timeline
455
- const clipStartTime = engine.block.getTimeOffset(playheadSplitVideo);
250
+ // Split with custom options
251
+ const optionsNewBlock = engine.block.split(optionsBlock, 4.0, {
252
+ attachToParent: true, // Attach to same parent (default: true)
253
+ createParentTrackIfNeeded: false, // Don't create track (default: false)
254
+ selectNewBlock: false // Don't select new block (default: true)
255
+ });
456
256
 
457
- // Simulate a playhead position (in a real app, use engine.block.getPlaybackTime(page))
458
- const simulatedPlayheadTime = clipStartTime + 3.0;
257
+ console.log(`Split with options - New block: ${optionsNewBlock}`);
258
+ ```
459
259
 
460
- // Calculate split time relative to the clip
461
- const splitTime = simulatedPlayheadTime - clipStartTime;
260
+ Use `selectNewBlock: false` when splitting multiple clips programmatically to avoid changing selection state between operations.
462
261
 
463
- // Perform the split at the calculated time
464
- const playheadSplitResult = engine.block.split(playheadSplitVideo, splitTime);
262
+ ## Understanding Split Results
465
263
 
466
- // eslint-disable-next-line no-console
467
- console.log(
468
- `Playhead split - Split at ${splitTime}s into clip, New block: ${playheadSplitResult}`
469
- );
470
- ```
264
+ After a split operation, both the original and new blocks have updated trim properties.
471
265
 
472
- The playhead position from `getPlaybackTime(page)` is in absolute playback time. Subtract the clip's `getTimeOffset()` to convert to block-relative time before passing to `split()`.
266
+ ```typescript highlight=highlight-split-results
267
+ // Examine trim properties after split
268
+ const originalFill = engine.block.getFill(videoBlock);
269
+ const newBlockFill = engine.block.getFill(newBlock);
473
270
 
474
- ## Understanding Split Results
271
+ const originalTrimOffset = engine.block.getTrimOffset(originalFill);
272
+ const originalTrimLength = engine.block.getTrimLength(originalFill);
273
+ const newTrimOffset = engine.block.getTrimOffset(newBlockFill);
274
+ const newTrimLength = engine.block.getTrimLength(newBlockFill);
475
275
 
476
- After a split operation, both the original and new blocks are configured with updated trim properties.
477
-
478
- ### Trim Properties After Split
479
-
480
- ```typescript highlight-split-results
481
- // Create a video block to examine split results
482
- const resultsSplitVideo = await engine.block.addVideo(
483
- videoUri,
484
- blockWidth,
485
- blockHeight
486
- );
487
-
488
- const resultsFill = engine.block.getFill(resultsSplitVideo);
489
- await engine.block.forceLoadAVResource(resultsFill);
490
- engine.block.setDuration(resultsSplitVideo, 10.0);
491
-
492
- // Get trim values before split
493
- const originalTrimOffset = engine.block.getTrimOffset(resultsFill);
494
- const originalTrimLength = engine.block.getTrimLength(resultsFill);
495
-
496
- // Split at 6 seconds
497
- const resultsNewBlock = engine.block.split(resultsSplitVideo, 6.0);
498
- const newBlockFill = engine.block.getFill(resultsNewBlock);
499
-
500
- // Examine trim properties after split
501
- const originalAfterSplitOffset = engine.block.getTrimOffset(resultsFill);
502
- const originalAfterSplitLength = engine.block.getTrimLength(resultsFill);
503
- const newBlockTrimOffset = engine.block.getTrimOffset(newBlockFill);
504
- const newBlockTrimLength = engine.block.getTrimLength(newBlockFill);
505
-
506
- // eslint-disable-next-line no-console
507
- console.log('Split results:');
508
- // eslint-disable-next-line no-console
509
- console.log(
510
- ` Original before: offset=${originalTrimOffset}, length=${originalTrimLength}`
511
- );
512
- // eslint-disable-next-line no-console
513
- console.log(
514
- ` Original after: offset=${originalAfterSplitOffset}, length=${originalAfterSplitLength}`
515
- );
516
- // eslint-disable-next-line no-console
517
- console.log(
518
- ` New block: offset=${newBlockTrimOffset}, length=${newBlockTrimLength}`
519
- );
276
+ console.log('Split results:');
277
+ console.log(
278
+ ` Original: offset=${originalTrimOffset}s, length=${originalTrimLength}s`
279
+ );
280
+ console.log(
281
+ ` New block: offset=${newTrimOffset}s, length=${newTrimLength}s`
282
+ );
520
283
  ```
521
284
 
522
285
  The original block keeps its trim offset unchanged, but its trim length is reduced to the split point. The new block has its trim offset advanced by the split time and trim length set to cover the remaining duration. Both blocks reference the same source media—splitting is non-destructive.
523
286
 
524
- ### Timeline Positioning
525
-
526
- The original block keeps its `getTimeOffset()`. When `attachToParent` is true, the new block is positioned immediately after the original on the same parent. Both blocks stay on the same track unless `createParentTrackIfNeeded` creates a new track structure.
527
-
528
287
  ## Split and Delete Workflow
529
288
 
530
289
  Remove a middle section from a clip by splitting at both boundaries and deleting the middle segment.
531
290
 
532
- ```typescript highlight-split-and-delete
533
- // Create a video block to demonstrate split-and-delete workflow
534
- const deleteWorkflowVideo = await engine.block.addVideo(
535
- videoUri,
536
- blockWidth,
537
- blockHeight
538
- );
291
+ ```typescript highlight=highlight-split-and-delete
292
+ // Demonstrate split-and-delete workflow for removing middle section
293
+ const deleteBlock = engine.block.create('graphic');
294
+ const deleteFill = engine.block.createFill('video');
295
+ engine.block.setString(deleteFill, 'fill/video/fileURI', videoUri);
296
+ engine.block.setFill(deleteBlock, deleteFill);
297
+ engine.block.setWidth(deleteBlock, 1920);
298
+ engine.block.setHeight(deleteBlock, 1080);
299
+ engine.block.appendChild(track, deleteBlock);
539
300
 
540
- const deleteFill = engine.block.getFill(deleteWorkflowVideo);
541
- await engine.block.forceLoadAVResource(deleteFill);
542
- engine.block.setDuration(deleteWorkflowVideo, 10.0);
301
+ await engine.block.forceLoadAVResource(deleteFill);
302
+ engine.block.setDuration(deleteBlock, 10.0);
543
303
 
544
- // Remove middle section: split at start of section to remove (2s)
545
- const middleBlock = engine.block.split(deleteWorkflowVideo, 2.0);
304
+ // Split at start of section to remove (2s)
305
+ const middleBlock = engine.block.split(deleteBlock, 2.0);
546
306
 
547
- // Split again at the end of the section to remove (at 3s into middle block = 5s total)
548
- const endBlock = engine.block.split(middleBlock, 3.0);
307
+ // Split at end of section to remove (3s into middle = 5s total)
308
+ const endBlock = engine.block.split(middleBlock, 3.0);
549
309
 
550
- // Delete the middle segment
551
- engine.block.destroy(middleBlock);
310
+ // Delete the middle segment
311
+ engine.block.destroy(middleBlock);
552
312
 
553
- // eslint-disable-next-line no-console
554
- console.log(
555
- `Split and delete - Removed middle 3s section, kept blocks: ${deleteWorkflowVideo}, ${endBlock}`
556
- );
313
+ console.log(
314
+ `Split and delete - Removed middle, kept: ${deleteBlock}, ${endBlock}`
315
+ );
557
316
  ```
558
317
 
559
- This workflow is useful for removing unwanted sections, such as cutting out pauses, mistakes, or irrelevant portions from a recording.
318
+ This workflow is useful for batch processing where you need to remove unwanted sections programmatically.
560
319
 
561
320
  ## Validating Split Time
562
321
 
563
322
  Always validate that the split time is within valid bounds before calling `split()`. The split time must be greater than 0 and less than the block's duration.
564
323
 
565
- ```typescript highlight-validate-split-time
566
- // Create a video block to demonstrate split time validation
567
- const validateVideo = await engine.block.addVideo(
568
- videoUri,
569
- blockWidth,
570
- blockHeight
571
- );
572
-
573
- const validateFill = engine.block.getFill(validateVideo);
574
- await engine.block.forceLoadAVResource(validateFill);
575
- engine.block.setDuration(validateVideo, 8.0);
576
-
577
- // Get block duration to validate split time
578
- const blockDuration = engine.block.getDuration(validateVideo);
579
- const desiredSplitTime = 4.0;
580
-
581
- // Validate split time is within bounds (must be > 0 and < duration)
582
- if (desiredSplitTime > 0 && desiredSplitTime < blockDuration) {
583
- const validatedSplitResult = engine.block.split(
584
- validateVideo,
585
- desiredSplitTime
586
- );
587
- // eslint-disable-next-line no-console
588
- console.log(
589
- `Validated split - Duration: ${blockDuration}s, Split at: ${desiredSplitTime}s, New block: ${validatedSplitResult}`
590
- );
591
- } else {
592
- // eslint-disable-next-line no-console
593
- console.log('Split time out of range');
594
- }
595
- ```
596
-
597
- Attempting to split at an invalid time (at the beginning, end, or outside the block's duration) will fail or produce unexpected results.
324
+ ```typescript highlight=highlight-validate-split
325
+ // Validate split time before splitting
326
+ const validateBlock = engine.block.create('graphic');
327
+ const validateFill = engine.block.createFill('video');
328
+ engine.block.setString(validateFill, 'fill/video/fileURI', videoUri);
329
+ engine.block.setFill(validateBlock, validateFill);
330
+ engine.block.setWidth(validateBlock, 1920);
331
+ engine.block.setHeight(validateBlock, 1080);
332
+ engine.block.appendChild(track, validateBlock);
598
333
 
599
- ## Troubleshooting
334
+ await engine.block.forceLoadAVResource(validateFill);
335
+ engine.block.setDuration(validateBlock, 8.0);
600
336
 
601
- ### Split Returns Unexpected Block
337
+ const blockDuration = engine.block.getDuration(validateBlock);
338
+ const splitTime = 4.0;
602
339
 
603
- If the returned block ID doesn't behave as expected, remember that the original block becomes the first segment (before split point) and the returned block is the second segment (after split point).
340
+ // Validate split time is within bounds (must be > 0 and < duration)
341
+ if (splitTime > 0 && splitTime < blockDuration) {
342
+ const validatedNewBlock = engine.block.split(validateBlock, splitTime);
343
+ console.log(
344
+ `Validated split at ${splitTime}s, new block: ${validatedNewBlock}`
345
+ );
346
+ } else {
347
+ console.log('Split time out of range');
348
+ }
349
+ ```
604
350
 
605
- ### Split Time Out of Range
351
+ Attempting to split at an invalid time will fail or produce unexpected results.
606
352
 
607
- If split fails or produces unexpected results, verify the split time is within bounds. Use `getDuration()` to check the valid range before splitting.
353
+ ## Cleanup
608
354
 
609
- ### Clip Not Splitting
355
+ Always dispose the engine when finished to release resources.
610
356
 
611
- If `split()` has no visible effect, check that the block type supports splitting. Verify `supportsTrim()` returns true for the block's fill. For video and audio fills, ensure `forceLoadAVResource()` has been awaited before attempting to split.
357
+ ```typescript highlight=highlight-cleanup
358
+ } finally {
359
+ engine.dispose();
360
+ }
361
+ ```
612
362
 
613
363
  ## API Reference
614
364
 
615
- | Method | Description | Parameters | Returns |
616
- | ----------------------------- | --------------------------------------- | ----------------------------------------------------------- | --------------- |
617
- | `split(id, atTime, options?)` | Split a block at the specified time | `id: DesignBlockId, atTime: number, options?: SplitOptions` | `DesignBlockId` |
618
- | `getTimeOffset(id)` | Get time offset relative to parent | `id: DesignBlockId` | `number` |
619
- | `getDuration(id)` | Get playback duration | `id: DesignBlockId` | `number` |
620
- | `getPlaybackTime(id)` | Get current playback time | `id: DesignBlockId` | `number` |
621
- | `getTrimOffset(id)` | Get trim offset of media content | `id: DesignBlockId` | `number` |
622
- | `getTrimLength(id)` | Get trim length of media content | `id: DesignBlockId` | `number` |
623
- | `supportsTrim(id)` | Check if block supports trim properties | `id: DesignBlockId` | `boolean` |
624
- | `forceLoadAVResource(id)` | Force load media resource metadata | `id: DesignBlockId` | `Promise<void>` |
625
- | `destroy(id)` | Destroy a block | `id: DesignBlockId` | `void` |
365
+ | Method | Description | Parameters | Returns |
366
+ | ----------------------------- | ---------------------------------------------- | -------------------------------------------------- | ---------------- |
367
+ | `split(id, atTime, options?)` | Split a block at the specified time | `id: DesignBlockId, atTime: number, options?: SplitOptions` | `DesignBlockId` |
368
+ | `getTimeOffset(id)` | Get time offset relative to parent | `id: DesignBlockId` | `number` |
369
+ | `getDuration(id)` | Get playback duration | `id: DesignBlockId` | `number` |
370
+ | `getTrimOffset(id)` | Get trim offset of media content | `id: DesignBlockId` | `number` |
371
+ | `getTrimLength(id)` | Get trim length of media content | `id: DesignBlockId` | `number` |
372
+ | `forceLoadAVResource(id)` | Force load media resource metadata | `id: DesignBlockId` | `Promise<void>` |
373
+ | `destroy(id)` | Destroy a block | `id: DesignBlockId` | `void` |
374
+
375
+
626
376
 
627
377
  ---
628
378
 
629
379
  ## More Resources
630
380
 
631
- - **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
381
+ - **[Node.js Documentation Index](https://img.ly/docs/cesdk/node.md)** - Browse all Node.js documentation
632
382
  - **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
633
- - **[Web Documentation](./js.md)** - Interactive documentation with examples
634
- - **[Support](mailto:support@img.ly)** - Contact IMG.LY support
383
+ - **[Web Documentation](./node.md)** - Interactive documentation with examples
384
+ - **[Support](mailto:support@img.ly)** - Contact IMG.LY support