@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,259 +1,211 @@
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) > [Add Captions](./edit-video/add-captions.md)
4
4
 
5
5
  ---
6
6
 
7
- Add synchronized captions to video projects using CE.SDK's caption system, with support for importing subtitle files, styling with presets, and burning captions into video exports.
7
+ Add synchronized captions to video projects using CE.SDK's caption system in headless mode, with support for importing subtitle files, styling programmatically, and saving scenes with captions.
8
8
 
9
- ![Video captions example showing timeline with caption track and styled captions](https://img.ly/docs/cesdk/./assets/browser.hero.webp)
10
-
11
- > **Reading time:** 15 minutes
9
+ > **Reading time:** 10 minutes
12
10
  >
13
11
  > **Resources:**
14
12
  >
15
13
  > - [Download examples](https://github.com/imgly/cesdk-web-examples/archive/refs/tags/release-$UBQ_VERSION$.zip)
16
- > - [View source on GitHub](https://github.com/imgly/cesdk-web-examples/tree/release-$UBQ_VERSION$/guides-create-video-add-captions-browser)
17
- > - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-create-video-add-captions-browser)
18
- > - [Live demo](https://img.ly/docs/cesdk/examples/guides-create-video-add-captions-browser/)
14
+ >
15
+ > - [View source on GitHub](https://github.com/imgly/cesdk-web-examples/tree/release-$UBQ_VERSION$/guides-create-video-add-captions-server-js)
16
+ >
17
+ > - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-create-video-add-captions-server-js)
19
18
 
20
19
  Captions in CE.SDK follow a hierarchy: **Page → CaptionTrack → Caption blocks**. Each caption has text, timing (time offset and duration), and styling properties. Captions appear and disappear based on their timing, synchronized with video playback.
21
20
 
22
- ```typescript file=@cesdk_web_examples/guides-create-video-add-captions-browser/browser.ts reference-only
23
- import type { EditorPlugin, EditorPluginContext } from '@cesdk/cesdk-js';
24
-
25
- import {
26
- BlurAssetSource,
27
- CaptionPresetsAssetSource,
28
- ColorPaletteAssetSource,
29
- CropPresetsAssetSource,
30
- DemoAssetSources,
31
- EffectsAssetSource,
32
- FiltersAssetSource,
33
- PagePresetsAssetSource,
34
- StickerAssetSource,
35
- TextAssetSource,
36
- TextComponentAssetSource,
37
- TypefaceAssetSource,
38
- UploadAssetSources,
39
- VectorShapeAssetSource
40
- } from '@cesdk/cesdk-js/plugins';
41
- import { VideoEditorConfig } from './video-editor/plugin';
42
- import packageJson from './package.json';
21
+ <NodejsVideoExportNotice {...props} />
22
+
23
+ ```typescript file=@cesdk_web_examples/guides-create-video-add-captions-server-js/server-js.ts reference-only
24
+ import CreativeEngine from '@cesdk/node';
25
+ import { config } from 'dotenv';
26
+ import { mkdir, writeFile } from 'fs/promises';
27
+ import { join } from 'path';
28
+
29
+ // Load environment variables
30
+ config();
43
31
 
44
32
  /**
45
- * CE.SDK Plugin: Add Captions Guide
33
+ * CE.SDK Server Guide: Add Captions
46
34
  *
47
35
  * Demonstrates adding synchronized captions to video projects:
48
36
  * - Importing captions from SRT/VTT files
49
- * - Creating and styling captions programmatically
50
- * - Applying caption presets
51
- * - Controlling caption timing and positioning
52
- * - Adding animations to captions
37
+ * - Creating captions programmatically
38
+ * - Styling captions with typography and background
39
+ * - Saving scenes with captions for later rendering
53
40
  */
54
- class Example implements EditorPlugin {
55
- name = packageJson.name;
56
-
57
- version = packageJson.version;
58
-
59
- async initialize({ cesdk }: EditorPluginContext): Promise<void> {
60
- if (!cesdk) {
61
- throw new Error('CE.SDK instance is required for this plugin');
62
- }
63
-
64
- await cesdk.addPlugin(new VideoEditorConfig());
65
-
66
- // Add asset source plugins
67
- await cesdk.addPlugin(new BlurAssetSource());
68
- await cesdk.addPlugin(new CaptionPresetsAssetSource());
69
- await cesdk.addPlugin(new ColorPaletteAssetSource());
70
- await cesdk.addPlugin(new CropPresetsAssetSource());
71
- await cesdk.addPlugin(
72
- new UploadAssetSources({
73
- include: [
74
- 'ly.img.image.upload',
75
- 'ly.img.video.upload',
76
- 'ly.img.audio.upload'
77
- ]
78
- })
79
- );
80
- await cesdk.addPlugin(
81
- new DemoAssetSources({
82
- include: [
83
- 'ly.img.templates.video.*',
84
- 'ly.img.image.*',
85
- 'ly.img.audio.*',
86
- 'ly.img.video.*'
87
- ]
88
- })
89
- );
90
- await cesdk.addPlugin(new EffectsAssetSource());
91
- await cesdk.addPlugin(new FiltersAssetSource());
92
- await cesdk.addPlugin(
93
- new PagePresetsAssetSource({
94
- include: [
95
- 'ly.img.page.presets.instagram.*',
96
- 'ly.img.page.presets.facebook.*',
97
- 'ly.img.page.presets.x.*',
98
- 'ly.img.page.presets.linkedin.*',
99
- 'ly.img.page.presets.pinterest.*',
100
- 'ly.img.page.presets.tiktok.*',
101
- 'ly.img.page.presets.youtube.*',
102
- 'ly.img.page.presets.video.*'
103
- ]
104
- })
105
- );
106
- await cesdk.addPlugin(new StickerAssetSource());
107
- await cesdk.addPlugin(new TextAssetSource());
108
- await cesdk.addPlugin(new TextComponentAssetSource());
109
- await cesdk.addPlugin(new TypefaceAssetSource());
110
- await cesdk.addPlugin(new VectorShapeAssetSource());
111
-
112
- await cesdk.actions.run('scene.create', {
113
- layout: 'DepthStack',
114
- page: { width: 1920, height: 1080, unit: 'Pixel' }
115
- });
116
41
 
117
- const engine = cesdk.engine;
118
- const page = engine.block.findByType('page')[0];
42
+ // Initialize CE.SDK engine in headless mode
43
+ const engine = await CreativeEngine.init({
44
+ baseURL: process.env.IMGLY_LOCAL_ASSETS_URL
45
+ // license: process.env.CESDK_LICENSE, // Optional (trial mode available)
46
+ });
47
+
48
+ try {
49
+ // Create a scene with a page
50
+ const scene = engine.scene.create('DepthStack');
51
+ const page = engine.block.create('page');
52
+ engine.block.setWidth(page, 1920);
53
+ engine.block.setHeight(page, 1080);
54
+ engine.block.appendChild(scene, page);
55
+
56
+ // Set page duration to accommodate video content
57
+ engine.block.setDuration(page, 10);
58
+
59
+ // Add a video clip as the base content
60
+ const videoUrl =
61
+ 'https://cdn.img.ly/assets/demo/v3/ly.img.video/videos/pexels-drone-footage-of-a-surfer-barrelling-a-wave-12715991.mp4';
62
+
63
+ const track = engine.block.create('track');
64
+ engine.block.appendChild(page, track);
65
+
66
+ const videoClip = await engine.block.addVideo(videoUrl, 1920, 1080, {
67
+ timeline: { duration: 10, timeOffset: 0 }
68
+ });
69
+ engine.block.appendChild(track, videoClip);
70
+ engine.block.fillParent(track);
71
+
72
+ // Import captions from SRT file
73
+ // createCaptionsFromURI parses SRT/VTT and creates caption blocks with timing
74
+ const captionSrtUrl = 'https://img.ly/static/examples/captions.srt';
75
+ const captionBlocks = await engine.block.createCaptionsFromURI(captionSrtUrl);
76
+
77
+ console.log(`Imported ${captionBlocks.length} captions from SRT file`);
78
+
79
+ // Create a caption track and add captions to it
80
+ // Caption tracks organize captions in the timeline
81
+ const captionTrack = engine.block.create('//ly.img.ubq/captionTrack');
82
+ engine.block.appendChild(page, captionTrack);
83
+
84
+ // Add each caption block to the track
85
+ for (const captionId of captionBlocks) {
86
+ engine.block.appendChild(captionTrack, captionId);
87
+ }
119
88
 
120
- engine.block.setDuration(page, 40);
89
+ console.log(`Caption track created with ${captionBlocks.length} captions`);
121
90
 
122
- // Add a video clip as the base content
123
- const videoUrl =
124
- 'https://cdn.img.ly/assets/demo/v3/ly.img.video/videos/pexels-drone-footage-of-a-surfer-barrelling-a-wave-12715991.mp4';
91
+ // Read caption properties (text, timing)
92
+ if (captionBlocks.length > 0) {
93
+ const firstCaption = captionBlocks[0];
125
94
 
126
- const track = engine.block.create('track');
127
- engine.block.appendChild(page, track);
95
+ const text = engine.block.getString(firstCaption, 'caption/text');
96
+ const offset = engine.block.getTimeOffset(firstCaption);
97
+ const duration = engine.block.getDuration(firstCaption);
128
98
 
129
- const videoClip = await engine.block.addVideo(videoUrl, 1920, 1080, {
130
- timeline: { duration: 40, timeOffset: 0 }
99
+ console.log(`First caption: "${text}"`);
100
+ console.log(` Time: ${offset}s - ${offset + duration}s`);
101
+ }
102
+
103
+ // Style all captions with consistent formatting
104
+ for (const captionId of captionBlocks) {
105
+ // Set font size
106
+ engine.block.setFloat(captionId, 'caption/fontSize', 48);
107
+
108
+ // Center alignment
109
+ engine.block.setEnum(captionId, 'caption/horizontalAlignment', 'Center');
110
+ engine.block.setEnum(captionId, 'caption/verticalAlignment', 'Bottom');
111
+
112
+ // Enable background for readability
113
+ engine.block.setBool(captionId, 'backgroundColor/enabled', true);
114
+ engine.block.setColor(captionId, 'backgroundColor/color', {
115
+ r: 0,
116
+ g: 0,
117
+ b: 0,
118
+ a: 0.7
131
119
  });
132
- engine.block.appendChild(track, videoClip);
133
- engine.block.fillParent(track);
134
-
135
- // Import captions from SRT file
136
- // createCaptionsFromURI parses SRT/VTT and creates caption blocks with timing
137
- const captionSrtUrl = 'https://img.ly/static/examples/captions.srt';
138
- const captionBlocks =
139
- await engine.block.createCaptionsFromURI(captionSrtUrl);
140
-
141
- // eslint-disable-next-line no-console
142
- console.log(`Imported ${captionBlocks.length} captions from SRT file`);
143
-
144
- // Adjust caption timing to start at the beginning of the video
145
- // The SRT file may have different timing, so we reset to start at 0
146
- let currentOffset = 0;
147
- for (const captionId of captionBlocks) {
148
- const duration = engine.block.getDuration(captionId);
149
- engine.block.setTimeOffset(captionId, currentOffset);
150
- currentOffset += duration;
151
- }
152
-
153
- // Create a caption track and add captions to it
154
- // Caption tracks organize captions in the timeline
155
- const captionTrack = engine.block.create('//ly.img.ubq/captionTrack');
156
- engine.block.appendChild(page, captionTrack);
157
-
158
- // Add each caption block to the track
159
- for (const captionId of captionBlocks) {
160
- engine.block.appendChild(captionTrack, captionId);
161
- }
162
-
163
- // eslint-disable-next-line no-console
164
- console.log(`Caption track created with ${captionBlocks.length} captions`);
165
-
166
- // Apply a caption preset for consistent styling
167
- // Caption presets provide pre-configured styles (fonts, colors, backgrounds)
168
- const captionPresetsSourceId = 'ly.img.caption.presets';
169
- const comicPresetId = '//ly.img.caption.presets/comic';
170
-
171
- // Fetch the preset asset
172
- const comicPreset = await engine.asset.fetchAsset(
173
- captionPresetsSourceId,
174
- comicPresetId
175
- );
176
-
177
- // Apply preset to the first caption (styling syncs across all captions)
178
- if (comicPreset && captionBlocks.length > 0) {
179
- await engine.asset.applyToBlock(
180
- captionPresetsSourceId,
181
- comicPreset,
182
- captionBlocks[0]
183
- );
184
- // eslint-disable-next-line no-console
185
- console.log('Applied comic preset to captions');
186
- }
187
-
188
- // Position captions at the bottom of the video frame
189
- // Caption position and size sync across all captions, so we only set it once
190
- if (captionBlocks.length > 0) {
191
- const firstCaption = captionBlocks[0];
192
-
193
- // Use percentage-based positioning for responsive layout
194
- engine.block.setPositionXMode(firstCaption, 'Percent');
195
- engine.block.setPositionYMode(firstCaption, 'Percent');
196
- engine.block.setWidthMode(firstCaption, 'Percent');
197
- engine.block.setHeightMode(firstCaption, 'Percent');
198
-
199
- // Position at bottom center with padding
200
- engine.block.setPositionX(firstCaption, 0.05); // 5% from left
201
- engine.block.setPositionY(firstCaption, 0.8); // 80% from top (near bottom)
202
- engine.block.setWidth(firstCaption, 0.9); // 90% width
203
- engine.block.setHeight(firstCaption, 0.15); // 15% height
204
- }
205
-
206
- // Modify a specific caption's text and timing
207
- if (captionBlocks.length > 0) {
208
- const firstCaption = captionBlocks[0];
209
-
210
- // Get current text
211
- const currentText = engine.block.getString(firstCaption, 'caption/text');
212
- // eslint-disable-next-line no-console
213
- console.log('First caption text:', currentText);
214
-
215
- // Get timing info
216
- const offset = engine.block.getTimeOffset(firstCaption);
217
- const duration = engine.block.getDuration(firstCaption);
218
- // eslint-disable-next-line no-console
219
- console.log(`First caption: offset=${offset}s, duration=${duration}s`);
220
- }
221
-
222
- // Add fade-in animation to the first caption
223
- if (captionBlocks.length > 0) {
224
- const firstCaption = captionBlocks[0];
225
-
226
- // Create and apply entry animation
227
- const fadeIn = engine.block.createAnimation('fade');
228
- engine.block.setDuration(fadeIn, 0.3);
229
- engine.block.setInAnimation(firstCaption, fadeIn);
230
-
231
- // eslint-disable-next-line no-console
232
- console.log('Added fade-in animation to first caption');
233
- }
234
-
235
- // Select the first caption to show it in the inspector
236
- if (captionBlocks.length > 0) {
237
- engine.block.select(captionBlocks[0]);
238
- }
239
-
240
- // Seek to show the first caption at 1 second
241
- engine.block.setPlaybackTime(page, 1);
242
-
243
- // Open the caption inspector panel
244
- cesdk.ui.openPanel('//ly.img.panel/inspector/caption');
245
-
246
- // eslint-disable-next-line no-console
247
- console.log(
248
- 'Add Captions guide initialized. Captions imported and styled.'
249
- );
250
120
  }
251
- }
252
121
 
253
- export default Example;
122
+ console.log('Applied styling to all captions');
123
+
124
+ // Position captions at the bottom of the video frame
125
+ // Caption position and size sync across all captions, so we only set it once
126
+ if (captionBlocks.length > 0) {
127
+ const firstCaption = captionBlocks[0];
128
+
129
+ // Use percentage-based positioning for responsive layout
130
+ engine.block.setPositionXMode(firstCaption, 'Percent');
131
+ engine.block.setPositionYMode(firstCaption, 'Percent');
132
+ engine.block.setWidthMode(firstCaption, 'Percent');
133
+ engine.block.setHeightMode(firstCaption, 'Percent');
134
+
135
+ // Position at bottom center with padding
136
+ engine.block.setPositionX(firstCaption, 0.05); // 5% from left
137
+ engine.block.setPositionY(firstCaption, 0.8); // 80% from top (near bottom)
138
+ engine.block.setWidth(firstCaption, 0.9); // 90% width
139
+ engine.block.setHeight(firstCaption, 0.15); // 15% height
140
+
141
+ console.log('Positioned captions at bottom of frame');
142
+ }
143
+
144
+ // Create a caption programmatically (in addition to imported ones)
145
+ const manualCaption = engine.block.create('//ly.img.ubq/caption');
146
+ engine.block.appendChild(captionTrack, manualCaption);
147
+
148
+ // Set caption text
149
+ engine.block.setString(manualCaption, 'caption/text', 'Manual caption added');
150
+
151
+ // Set timing - appears at 8 seconds for 2 seconds
152
+ engine.block.setTimeOffset(manualCaption, 8);
153
+ engine.block.setDuration(manualCaption, 2);
154
+
155
+ // Apply same styling
156
+ engine.block.setFloat(manualCaption, 'caption/fontSize', 48);
157
+ engine.block.setEnum(manualCaption, 'caption/horizontalAlignment', 'Center');
158
+ engine.block.setEnum(manualCaption, 'caption/verticalAlignment', 'Bottom');
159
+ engine.block.setBool(manualCaption, 'backgroundColor/enabled', true);
160
+ engine.block.setColor(manualCaption, 'backgroundColor/color', {
161
+ r: 0,
162
+ g: 0,
163
+ b: 0,
164
+ a: 0.7
165
+ });
166
+
167
+ console.log('Created manual caption at 8s');
168
+
169
+ // Add entry animation to captions
170
+ for (const captionId of captionBlocks) {
171
+ const fadeIn = engine.block.createAnimation('fade');
172
+ engine.block.setDuration(fadeIn, 0.2);
173
+ engine.block.setInAnimation(captionId, fadeIn);
174
+ }
175
+
176
+ console.log('Added fade-in animations to captions');
177
+
178
+ // Save scene to file for later rendering
179
+ // The scene preserves all caption data, styling, and animations
180
+ const sceneString = await engine.scene.saveToString();
181
+
182
+ // Save to output directory
183
+ const outputDir = join(process.cwd(), 'output');
184
+ await mkdir(outputDir, { recursive: true });
185
+
186
+ const outputPath = join(outputDir, 'video-with-captions.scene');
187
+ await writeFile(outputPath, sceneString);
188
+
189
+ console.log(`Scene saved: ${outputPath}`);
190
+
191
+ console.log('');
192
+ console.log('Add Captions guide complete.');
193
+ console.log('Scene created with:');
194
+ console.log(` - ${captionBlocks.length} imported captions`);
195
+ console.log(' - 1 manually created caption');
196
+ console.log(' - Consistent styling across all captions');
197
+ console.log(' - Fade-in animations');
198
+ console.log('');
199
+ console.log(
200
+ 'Use CE.SDK Renderer to export this scene as a video with burned-in captions.'
201
+ );
202
+ } finally {
203
+ // Always dispose of the engine to free resources
204
+ engine.dispose();
205
+ }
254
206
  ```
255
207
 
256
- This guide covers how to import captions from SRT/VTT files, style them using presets and custom properties, create captions programmatically, and export videos with burned-in captions.
208
+ This guide covers how to import captions from SRT/VTT files, style them using custom properties, create captions programmatically, and save scenes with captions in a headless Node.js environment.
257
209
 
258
210
  ## Understanding Caption Structure
259
211
 
@@ -267,6 +219,38 @@ When you import captions from a subtitle file, CE.SDK automatically creates the
267
219
 
268
220
  Each caption has two timing properties: **time offset** (when the caption appears) and **duration** (how long it stays visible). These values are in seconds and synchronize with the video playback. A caption with a time offset of 2.0 and duration of 3.0 appears at the 2-second mark and disappears at the 5-second mark.
269
221
 
222
+ ## Initialize CE.SDK
223
+
224
+ For headless video processing with captions, we initialize CE.SDK's Node.js engine. This provides full API access without browser dependencies, ideal for server-side automation and batch processing.
225
+
226
+ ```typescript highlight-setup
227
+ // Initialize CE.SDK engine in headless mode
228
+ const engine = await CreativeEngine.init({
229
+ baseURL: process.env.IMGLY_LOCAL_ASSETS_URL
230
+ // license: process.env.CESDK_LICENSE, // Optional (trial mode available)
231
+ });
232
+ ```
233
+
234
+ The headless engine gives you complete control over caption operations, perfect for automated workflows, background processing, and server-side video preparation.
235
+
236
+ ## Creating the Scene
237
+
238
+ Create a scene with page configuration. The `page` option creates a page with the specified dimensions.
239
+
240
+ ```typescript highlight-create-scene
241
+ // Create a scene with a page
242
+ const scene = engine.scene.create('DepthStack');
243
+ const page = engine.block.create('page');
244
+ engine.block.setWidth(page, 1920);
245
+ engine.block.setHeight(page, 1080);
246
+ engine.block.appendChild(scene, page);
247
+
248
+ // Set page duration to accommodate video content
249
+ engine.block.setDuration(page, 10);
250
+ ```
251
+
252
+ Set the page duration to accommodate your video content. The dimensions define the output video resolution.
253
+
270
254
  ## Importing Captions from Subtitle Files
271
255
 
272
256
  ### Using createCaptionsFromURI
@@ -274,64 +258,55 @@ Each caption has two timing properties: **time offset** (when the caption appear
274
258
  The fastest way to add captions is importing from an SRT or VTT subtitle file. CE.SDK parses the file and creates caption blocks with timing already configured.
275
259
 
276
260
  ```typescript highlight-import-captions
277
- // Import captions from SRT file
278
- // createCaptionsFromURI parses SRT/VTT and creates caption blocks with timing
279
- const captionSrtUrl = 'https://img.ly/static/examples/captions.srt';
280
- const captionBlocks = await engine.block.createCaptionsFromURI(captionSrtUrl);
281
-
282
- // eslint-disable-next-line no-console
283
- console.log(`Imported ${captionBlocks.length} captions from SRT file`);
284
-
285
- // Adjust caption timing to start at the beginning of the video
286
- // The SRT file may have different timing, so we reset to start at 0
287
- let currentOffset = 0;
288
- for (const captionId of captionBlocks) {
289
- const duration = engine.block.getDuration(captionId);
290
- engine.block.setTimeOffset(captionId, currentOffset);
291
- currentOffset += duration;
292
- }
261
+ // Import captions from SRT file
262
+ // createCaptionsFromURI parses SRT/VTT and creates caption blocks with timing
263
+ const captionSrtUrl = 'https://img.ly/static/examples/captions.srt';
264
+ const captionBlocks = await engine.block.createCaptionsFromURI(captionSrtUrl);
265
+
266
+ console.log(`Imported ${captionBlocks.length} captions from SRT file`);
293
267
  ```
294
268
 
295
269
  The `createCaptionsFromURI` method downloads the subtitle file, parses the timing and text, and creates a caption track with all captions positioned correctly. It returns an array of caption block IDs for the imported captions.
296
270
 
297
271
  ### Creating the Caption Track
298
272
 
299
- After importing captions, create a caption track to organize them in the composition. The caption track manages caption positioning and display.
273
+ After importing captions, create a caption track to organize them in the composition.
300
274
 
301
275
  ```typescript highlight-create-caption-track
302
- // Create a caption track and add captions to it
303
- // Caption tracks organize captions in the timeline
304
- const captionTrack = engine.block.create('//ly.img.ubq/captionTrack');
305
- engine.block.appendChild(page, captionTrack);
306
-
307
- // Add each caption block to the track
308
- for (const captionId of captionBlocks) {
309
- engine.block.appendChild(captionTrack, captionId);
310
- }
276
+ // Create a caption track and add captions to it
277
+ // Caption tracks organize captions in the timeline
278
+ const captionTrack = engine.block.create('//ly.img.ubq/captionTrack');
279
+ engine.block.appendChild(page, captionTrack);
280
+
281
+ // Add each caption block to the track
282
+ for (const captionId of captionBlocks) {
283
+ engine.block.appendChild(captionTrack, captionId);
284
+ }
311
285
 
312
- // eslint-disable-next-line no-console
313
- console.log(`Caption track created with ${captionBlocks.length} captions`);
286
+ console.log(`Caption track created with ${captionBlocks.length} captions`);
314
287
  ```
315
288
 
316
289
  Create a caption track with `engine.block.create('//ly.img.ubq/captionTrack')` and append it to the page. Then add each caption block to the track using `appendChild`.
317
290
 
318
- ## Using the Built-in Caption UI
319
-
320
- ### Caption Panel
321
-
322
- CE.SDK provides a caption panel in the inspector for visual caption management. When you select a caption, the panel shows timing controls, text editing, and styling options. Users can drag caption edges in the timeline to adjust timing or double-click to edit text.
323
-
324
- ### Importing via UI
291
+ ## Reading Caption Properties
325
292
 
326
- The caption panel includes an import button for uploading SRT or VTT files. The interface guides users through file selection and automatically extracts timing information.
293
+ Retrieve caption properties for processing, validation, or logging.
327
294
 
328
- ### Styling with Presets
295
+ ```typescript highlight-read-caption-properties
296
+ // Read caption properties (text, timing)
297
+ if (captionBlocks.length > 0) {
298
+ const firstCaption = captionBlocks[0];
329
299
 
330
- Caption presets provide pre-configured styling combinations including font, color, background, and animations. Select a caption and choose from available presets to apply consistent styling. Presets are especially useful for maintaining brand consistency across videos.
300
+ const text = engine.block.getString(firstCaption, 'caption/text');
301
+ const offset = engine.block.getTimeOffset(firstCaption);
302
+ const duration = engine.block.getDuration(firstCaption);
331
303
 
332
- ### Editing Text and Timing
304
+ console.log(`First caption: "${text}"`);
305
+ console.log(` Time: ${offset}s - ${offset + duration}s`);
306
+ }
307
+ ```
333
308
 
334
- Double-click a caption in the timeline or panel to edit its text. Drag the edges of caption blocks in the timeline to adjust start time and duration. The timeline provides visual feedback showing caption positions relative to video content.
309
+ Use `getString` for text, `getTimeOffset` for start time, and `getDuration` for display length. These values are useful for validation or synchronization workflows.
335
310
 
336
311
  ## Creating Captions Programmatically
337
312
 
@@ -348,77 +323,65 @@ engine.block.appendChild(page, captionTrack);
348
323
 
349
324
  Create individual captions with text and timing.
350
325
 
351
- ```typescript
352
- const caption = engine.block.create('//ly.img.ubq/caption');
353
- engine.block.appendChild(captionTrack, caption);
354
-
355
- // Set caption text
356
- engine.block.setString(caption, 'caption/text', 'Hello, world!');
357
-
358
- // Set timing - appears at 2 seconds for 3 seconds
359
- engine.block.setTimeOffset(caption, 2);
360
- engine.block.setDuration(caption, 3);
326
+ ```typescript highlight-create-caption-manually
327
+ // Create a caption programmatically (in addition to imported ones)
328
+ const manualCaption = engine.block.create('//ly.img.ubq/caption');
329
+ engine.block.appendChild(captionTrack, manualCaption);
330
+
331
+ // Set caption text
332
+ engine.block.setString(manualCaption, 'caption/text', 'Manual caption added');
333
+
334
+ // Set timing - appears at 8 seconds for 2 seconds
335
+ engine.block.setTimeOffset(manualCaption, 8);
336
+ engine.block.setDuration(manualCaption, 2);
337
+
338
+ // Apply same styling
339
+ engine.block.setFloat(manualCaption, 'caption/fontSize', 48);
340
+ engine.block.setEnum(manualCaption, 'caption/horizontalAlignment', 'Center');
341
+ engine.block.setEnum(manualCaption, 'caption/verticalAlignment', 'Bottom');
342
+ engine.block.setBool(manualCaption, 'backgroundColor/enabled', true);
343
+ engine.block.setColor(manualCaption, 'backgroundColor/color', {
344
+ r: 0,
345
+ g: 0,
346
+ b: 0,
347
+ a: 0.7
348
+ });
349
+
350
+ console.log('Created manual caption at 8s');
361
351
  ```
362
352
 
363
353
  Set the caption text using `setString` with the `caption/text` property. Position the caption in time using `setTimeOffset` (when it appears) and `setDuration` (how long it shows).
364
354
 
365
355
  ## Styling Captions
366
356
 
367
- ### Applying Presets
357
+ ### Typography
368
358
 
369
- The fastest way to style captions is using presets. Presets provide pre-configured styling including fonts, colors, backgrounds, and effects.
359
+ Control caption appearance with typography properties.
370
360
 
371
- ```typescript highlight-apply-preset
372
- // Apply a caption preset for consistent styling
373
- // Caption presets provide pre-configured styles (fonts, colors, backgrounds)
374
- const captionPresetsSourceId = 'ly.img.caption.presets';
375
- const comicPresetId = '//ly.img.caption.presets/comic';
361
+ ```typescript highlight-style-captions
362
+ // Style all captions with consistent formatting
363
+ for (const captionId of captionBlocks) {
364
+ // Set font size
365
+ engine.block.setFloat(captionId, 'caption/fontSize', 48);
376
366
 
377
- // Fetch the preset asset
378
- const comicPreset = await engine.asset.fetchAsset(
379
- captionPresetsSourceId,
380
- comicPresetId
381
- );
367
+ // Center alignment
368
+ engine.block.setEnum(captionId, 'caption/horizontalAlignment', 'Center');
369
+ engine.block.setEnum(captionId, 'caption/verticalAlignment', 'Bottom');
382
370
 
383
- // Apply preset to the first caption (styling syncs across all captions)
384
- if (comicPreset && captionBlocks.length > 0) {
385
- await engine.asset.applyToBlock(
386
- captionPresetsSourceId,
387
- comicPreset,
388
- captionBlocks[0]
389
- );
390
- // eslint-disable-next-line no-console
391
- console.log('Applied comic preset to captions');
392
- }
393
- ```
394
-
395
- Fetch a preset using `engine.asset.fetchAsset` and apply it with `engine.asset.applyToBlock`. Caption styling automatically syncs across all captions, so applying a preset to one caption styles them all.
396
-
397
- ### Positioning Captions
398
-
399
- Position captions at the bottom of the video frame using percentage-based positioning for responsive layout.
400
-
401
- ```typescript highlight-position-captions
402
- // Position captions at the bottom of the video frame
403
- // Caption position and size sync across all captions, so we only set it once
404
- if (captionBlocks.length > 0) {
405
- const firstCaption = captionBlocks[0];
406
-
407
- // Use percentage-based positioning for responsive layout
408
- engine.block.setPositionXMode(firstCaption, 'Percent');
409
- engine.block.setPositionYMode(firstCaption, 'Percent');
410
- engine.block.setWidthMode(firstCaption, 'Percent');
411
- engine.block.setHeightMode(firstCaption, 'Percent');
371
+ // Enable background for readability
372
+ engine.block.setBool(captionId, 'backgroundColor/enabled', true);
373
+ engine.block.setColor(captionId, 'backgroundColor/color', {
374
+ r: 0,
375
+ g: 0,
376
+ b: 0,
377
+ a: 0.7
378
+ });
379
+ }
412
380
 
413
- // Position at bottom center with padding
414
- engine.block.setPositionX(firstCaption, 0.05); // 5% from left
415
- engine.block.setPositionY(firstCaption, 0.8); // 80% from top (near bottom)
416
- engine.block.setWidth(firstCaption, 0.9); // 90% width
417
- engine.block.setHeight(firstCaption, 0.15); // 15% height
418
- }
381
+ console.log('Applied styling to all captions');
419
382
  ```
420
383
 
421
- Use percentage mode (`setPositionXMode`, `setPositionYMode`) for positions that adapt to different video resolutions. Caption position and size sync across all captions automatically.
384
+ Use `setFloat` for numeric values like `caption/fontSize`, `caption/letterSpacing`, and `caption/lineHeight`. Set alignment with `setEnum` for `caption/horizontalAlignment` (Left, Center, Right) and `caption/verticalAlignment` (Top, Center, Bottom).
422
385
 
423
386
  ### Background
424
387
 
@@ -436,34 +399,6 @@ engine.block.setFloat(captionId, 'caption/maxAutomaticFontSize', 72);
436
399
 
437
400
  This prevents text from overflowing while maintaining readability.
438
401
 
439
- ## Applying Presets Programmatically
440
-
441
- ### Finding Available Presets
442
-
443
- Query available caption presets from the asset library.
444
-
445
- ```typescript
446
- const presetsResult = await engine.asset.findAssets('ly.img.caption.presets', {
447
- page: 0,
448
- perPage: 100
449
- });
450
-
451
- const presets = presetsResult.assets;
452
- ```
453
-
454
- The `findAssets` method returns preset metadata including IDs and preview thumbnails.
455
-
456
- ### Applying a Preset
457
-
458
- Apply a preset to a caption using `applyToBlock`.
459
-
460
- ```typescript
461
- const preset = presets[0];
462
- await engine.asset.applyToBlock('ly.img.caption.presets', preset, captionId);
463
- ```
464
-
465
- The preset applies all styling properties at once—font, colors, background, and any animations defined in the preset.
466
-
467
402
  ## Caption Animations
468
403
 
469
404
  ### Adding Entry Animations
@@ -471,18 +406,14 @@ The preset applies all styling properties at once—font, colors, background, an
471
406
  Make captions more engaging by adding entry animations.
472
407
 
473
408
  ```typescript highlight-add-animation
474
- // Add fade-in animation to the first caption
475
- if (captionBlocks.length > 0) {
476
- const firstCaption = captionBlocks[0];
477
-
478
- // Create and apply entry animation
479
- const fadeIn = engine.block.createAnimation('fade');
480
- engine.block.setDuration(fadeIn, 0.3);
481
- engine.block.setInAnimation(firstCaption, fadeIn);
409
+ // Add entry animation to captions
410
+ for (const captionId of captionBlocks) {
411
+ const fadeIn = engine.block.createAnimation('fade');
412
+ engine.block.setDuration(fadeIn, 0.2);
413
+ engine.block.setInAnimation(captionId, fadeIn);
414
+ }
482
415
 
483
- // eslint-disable-next-line no-console
484
- console.log('Added fade-in animation to first caption');
485
- }
416
+ console.log('Added fade-in animations to captions');
486
417
  ```
487
418
 
488
419
  Create an animation using `createAnimation` with types like 'fade', 'slide', or 'scale'. Set the animation duration and apply it with `setInAnimation`.
@@ -498,92 +429,84 @@ CE.SDK supports several animation types for captions:
498
429
 
499
430
  Set loop animations with `setLoopAnimation` for continuous effects, or exit animations with `setOutAnimation` for departure transitions.
500
431
 
501
- ## Reading Caption Properties
432
+ ## Saving the Scene
502
433
 
503
- ### Getting Text and Timing
434
+ After adding captions, save the scene to a `.scene` file for later use or rendering with the CE.SDK Renderer service.
504
435
 
505
- Retrieve caption properties to display in custom UI or for processing.
436
+ ```typescript highlight-save-scene
437
+ // Save scene to file for later rendering
438
+ // The scene preserves all caption data, styling, and animations
439
+ const sceneString = await engine.scene.saveToString();
506
440
 
507
- ```typescript highlight-modify-caption
508
- // Modify a specific caption's text and timing
509
- if (captionBlocks.length > 0) {
510
- const firstCaption = captionBlocks[0];
441
+ // Save to output directory
442
+ const outputDir = join(process.cwd(), 'output');
443
+ await mkdir(outputDir, { recursive: true });
511
444
 
512
- // Get current text
513
- const currentText = engine.block.getString(firstCaption, 'caption/text');
514
- // eslint-disable-next-line no-console
515
- console.log('First caption text:', currentText);
445
+ const outputPath = join(outputDir, 'video-with-captions.scene');
446
+ await writeFile(outputPath, sceneString);
516
447
 
517
- // Get timing info
518
- const offset = engine.block.getTimeOffset(firstCaption);
519
- const duration = engine.block.getDuration(firstCaption);
520
- // eslint-disable-next-line no-console
521
- console.log(`First caption: offset=${offset}s, duration=${duration}s`);
522
- }
448
+ console.log(`Scene saved: ${outputPath}`);
523
449
  ```
524
450
 
525
- Use `getString` for text, `getTimeOffset` for start time, and `getDuration` for display length. These values are useful for building custom caption editors or synchronization tools.
526
-
527
- ## Exporting Videos with Captions
451
+ The scene file preserves all caption data including text, timing, styling, and animations. You can load this scene later for further editing or send it to the CE.SDK Renderer for video export.
528
452
 
529
- ### Burned-In Captions
453
+ ## Resource Cleanup
530
454
 
531
- When you export a video, captions are burned into the video as pixels. They become part of the video image and cannot be turned off by viewers. This ensures captions display correctly on any platform.
455
+ Always dispose of the engine when processing is complete to free resources.
532
456
 
533
- ```typescript
534
- const videoBlob = await engine.block.exportVideo(page, {
535
- mimeType: 'video/mp4'
536
- });
457
+ ```typescript highlight-cleanup
458
+ // Always dispose of the engine to free resources
459
+ engine.dispose();
537
460
  ```
538
461
 
539
- The export process renders each frame with captions overlaid at the correct timing. Export time depends on video length and resolution.
540
-
541
- > **Note:** For accessibility, consider also providing separate subtitle files (SRT/VTT) alongside burned-in captions. This allows viewers to customize caption appearance in their video player.
462
+ Use a try/finally pattern to ensure cleanup happens even if an error occurs during processing.
542
463
 
543
464
  ## Troubleshooting
544
465
 
545
- | Issue | Cause | Solution |
546
- | -------------------- | ------------------------------ | -------------------------------------------------- |
466
+ | Issue | Cause | Solution |
467
+ | --- | --- | --- |
547
468
  | Captions not visible | Not in caption track hierarchy | Check `getParent()`: page → captionTrack → caption |
548
- | Wrong timing | Time offset/duration incorrect | Verify `getTimeOffset()` and `getDuration()` |
549
- | Import fails | Unsupported format | Use valid SRT or VTT file |
550
- | Styling not applying | Property path wrong | Use `caption/` prefix for caption properties |
469
+ | Wrong timing | Time offset/duration incorrect | Verify `getTimeOffset()` and `getDuration()` |
470
+ | Import fails | Unsupported format | Use valid SRT or VTT file |
471
+ | Styling not applying | Property path wrong | Use `caption/` prefix for caption properties |
551
472
 
552
473
  ### Captions Not Appearing
553
474
 
554
- If captions don't show in the preview, verify the caption hierarchy. Each caption must be a child of a caption track, which must be a child of the page. Use `getParent()` to trace the hierarchy.
475
+ If captions don't appear in the exported video, verify the caption hierarchy. Each caption must be a child of a caption track, which must be a child of the page. Use `getParent()` to trace the hierarchy.
555
476
 
556
- Also check that the playhead position matches caption timing. Captions only appear during their time offset and duration window.
477
+ Also check that caption timing falls within the page duration. Captions outside the page's time range won't appear in the export.
557
478
 
558
479
  ### Import Errors
559
480
 
560
- If `createCaptionsFromURI` fails, verify the URL is accessible and returns valid SRT or VTT content. Common issues include CORS restrictions and malformed subtitle files. Test the URL in a browser to confirm accessibility.
481
+ If `createCaptionsFromURI` fails, verify the URL is accessible from your server and returns valid SRT or VTT content. Common issues include network restrictions and malformed subtitle files. Test the URL with curl to confirm accessibility.
561
482
 
562
483
  ## API Reference
563
484
 
564
- | Method | Purpose |
565
- | --------------------------------------------------- | --------------------------------- |
566
- | `engine.block.createCaptionsFromURI(uri)` | Import captions from SRT/VTT file |
567
- | `engine.block.create('//ly.img.ubq/captionTrack')` | Create caption track container |
568
- | `engine.block.create('//ly.img.ubq/caption')` | Create caption block |
569
- | `engine.block.setString(id, property, value)` | Set caption text |
570
- | `engine.block.setTimeOffset(id, offset)` | Set caption start time |
571
- | `engine.block.setDuration(id, duration)` | Set caption display duration |
572
- | `engine.block.setFloat(id, property, value)` | Set font size, spacing |
573
- | `engine.block.setEnum(id, property, value)` | Set alignment |
574
- | `engine.block.setBool(id, property, value)` | Enable background |
575
- | `engine.block.setColor(id, property, value)` | Set colors |
576
- | `engine.block.createAnimation(type)` | Create animation |
577
- | `engine.block.setInAnimation(id, animation)` | Set entry animation |
578
- | `engine.block.exportVideo(id, options)` | Export video with captions |
579
- | `engine.asset.findAssets(sourceId, params)` | Find presets |
580
- | `engine.asset.applyToBlock(sourceId, asset, block)` | Apply preset |
485
+ | Method | Purpose |
486
+ | --- | --- |
487
+ | `engine.scene.create()` | Create a scene |
488
+ | `engine.block.createCaptionsFromURI(uri)` | Import captions from SRT/VTT file |
489
+ | `engine.block.create('//ly.img.ubq/captionTrack')` | Create caption track container |
490
+ | `engine.block.create('//ly.img.ubq/caption')` | Create caption block |
491
+ | `engine.block.setString(id, property, value)` | Set caption text |
492
+ | `engine.block.setTimeOffset(id, offset)` | Set caption start time |
493
+ | `engine.block.setDuration(id, duration)` | Set caption display duration |
494
+ | `engine.block.setFloat(id, property, value)` | Set font size, spacing |
495
+ | `engine.block.setEnum(id, property, value)` | Set alignment |
496
+ | `engine.block.setBool(id, property, value)` | Enable background |
497
+ | `engine.block.setColor(id, property, value)` | Set colors |
498
+ | `engine.block.createAnimation(type)` | Create animation |
499
+ | `engine.block.setInAnimation(id, animation)` | Set entry animation |
500
+ | `engine.scene.saveToString()` | Save scene to string |
501
+ | `engine.dispose()` | Clean up engine resources |
502
+
503
+
581
504
 
582
505
  ---
583
506
 
584
507
  ## More Resources
585
508
 
586
- - **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
509
+ - **[Node.js Documentation Index](https://img.ly/docs/cesdk/node.md)** - Browse all Node.js documentation
587
510
  - **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
588
- - **[Web Documentation](./js.md)** - Interactive documentation with examples
589
- - **[Support](mailto:support@img.ly)** - Contact IMG.LY support
511
+ - **[Web Documentation](./node.md)** - Interactive documentation with examples
512
+ - **[Support](mailto:support@img.ly)** - Contact IMG.LY support