@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,44 +1,29 @@
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).
2
-
3
- **Navigation:** [Guides](./guides.md) > [Create and Edit Audio](./create-audio/audio.md) > [Add Sound Effects](./create-audio/audio/add-sound-effects.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).
4
2
 
5
3
  ---
6
4
 
7
- Generate sound effects programmatically using buffers with arbitrary audio data. Create notification chimes, alert tones, and melodies without external files.
8
-
9
- ![Sound Effects Demo showing programmatically generated audio on the timeline](https://img.ly/docs/cesdk/./assets/browser.hero.webp)
5
+ Generate sound effects programmatically using buffers with arbitrary audio data. Create notification chimes, alert tones, and melodies without external files in headless server environments.
10
6
 
11
7
  > **Reading time:** 10 minutes
12
8
  >
13
9
  > **Resources:**
14
10
  >
15
11
  > - [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-audio-add-sound-effects-browser)
17
- > - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-create-audio-add-sound-effects-browser)
18
- > - [Live demo](https://img.ly/docs/cesdk/examples/guides-create-audio-add-sound-effects-browser/)
19
-
20
- CE.SDK lets you create audio from code using buffers. This approach generates sound effects dynamically without external files—useful for notification tones, procedural audio, or any scenario where you need to synthesize audio at runtime.
21
-
22
- ```typescript file=@cesdk_web_examples/guides-create-audio-add-sound-effects-browser/browser.ts reference-only
23
- import type { EditorPlugin, EditorPluginContext } from '@cesdk/cesdk-js';
24
- import {
25
- BlurAssetSource,
26
- CaptionPresetsAssetSource,
27
- ColorPaletteAssetSource,
28
- CropPresetsAssetSource,
29
- DemoAssetSources,
30
- EffectsAssetSource,
31
- FiltersAssetSource,
32
- PagePresetsAssetSource,
33
- StickerAssetSource,
34
- TextAssetSource,
35
- TextComponentAssetSource,
36
- TypefaceAssetSource,
37
- UploadAssetSources,
38
- VectorShapeAssetSource
39
- } from '@cesdk/cesdk-js/plugins';
40
- import { VideoEditorConfig } from './video-editor/plugin';
41
- import packageJson from './package.json';
12
+ >
13
+ > - [View source on GitHub](https://github.com/imgly/cesdk-web-examples/tree/release-$UBQ_VERSION$/guides-create-audio-add-sound-effects-server-js)
14
+ >
15
+ > - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-create-audio-add-sound-effects-server-js)
16
+
17
+ <NodejsVideoExportNotice {...props} />
18
+
19
+ CE.SDK's headless engine lets you create audio from code using buffers. This approach generates sound effects dynamically without external files—useful for notification tones, procedural audio, or any scenario where you need to synthesize audio programmatically on the server.
20
+
21
+ ```typescript file=@cesdk_web_examples/guides-create-audio-add-sound-effects-server-js/server-js.ts reference-only
22
+ import CreativeEngine from '@cesdk/node';
23
+ import { config } from 'dotenv';
24
+ import { writeFileSync, mkdirSync, existsSync } from 'fs';
25
+
26
+ config();
42
27
 
43
28
  /**
44
29
  * Creates a WAV file buffer from audio parameters and a sample generator function.
@@ -51,7 +36,6 @@ import packageJson from './package.json';
51
36
  function createWavBuffer(
52
37
  sampleRate: number,
53
38
  durationSeconds: number,
54
- /* eslint-disable-next-line no-unused-vars -- Parameter name documents callback signature */
55
39
  generator: (time: number) => number
56
40
  ): Uint8Array {
57
41
  const bitsPerSample = 16;
@@ -204,272 +188,226 @@ const ALERT_TONE = {
204
188
  };
205
189
 
206
190
  /**
207
- * CE.SDK Plugin: Add Sound Effects Guide
191
+ * CE.SDK Server Guide: Add Sound Effects
208
192
  *
209
193
  * This example demonstrates:
210
194
  * - Creating audio buffers with arbitrary data
211
- * - Generating sound effects programmatically (chimes, notifications)
195
+ * - Generating sound effects programmatically (chimes, melodies, alerts)
212
196
  * - Using WAV format for in-memory audio
213
197
  * - Positioning sound effects on the timeline
198
+ * - Exporting the scene for rendering
214
199
  */
215
- class Example implements EditorPlugin {
216
- name = packageJson.name;
217
-
218
- version = packageJson.version;
219
-
220
- async initialize({ cesdk }: EditorPluginContext): Promise<void> {
221
- if (!cesdk) {
222
- throw new Error('CE.SDK instance is required for this plugin');
223
- }
224
200
 
225
- await cesdk.addPlugin(new VideoEditorConfig());
226
- // Add asset source plugins
227
- await cesdk.addPlugin(new BlurAssetSource());
228
- await cesdk.addPlugin(new CaptionPresetsAssetSource());
229
- await cesdk.addPlugin(new ColorPaletteAssetSource());
230
- await cesdk.addPlugin(new CropPresetsAssetSource());
231
- await cesdk.addPlugin(
232
- new UploadAssetSources({
233
- include: [
234
- 'ly.img.image.upload',
235
- 'ly.img.video.upload',
236
- 'ly.img.audio.upload'
237
- ]
238
- })
239
- );
240
- await cesdk.addPlugin(
241
- new DemoAssetSources({
242
- include: [
243
- 'ly.img.templates.video.*',
244
- 'ly.img.image.*',
245
- 'ly.img.audio.*',
246
- 'ly.img.video.*'
247
- ]
248
- })
249
- );
250
- await cesdk.addPlugin(new EffectsAssetSource());
251
- await cesdk.addPlugin(new FiltersAssetSource());
252
- await cesdk.addPlugin(
253
- new PagePresetsAssetSource({
254
- include: [
255
- 'ly.img.page.presets.instagram.*',
256
- 'ly.img.page.presets.facebook.*',
257
- 'ly.img.page.presets.x.*',
258
- 'ly.img.page.presets.linkedin.*',
259
- 'ly.img.page.presets.pinterest.*',
260
- 'ly.img.page.presets.tiktok.*',
261
- 'ly.img.page.presets.youtube.*',
262
- 'ly.img.page.presets.video.*'
263
- ]
264
- })
265
- );
266
- await cesdk.addPlugin(new StickerAssetSource());
267
- await cesdk.addPlugin(new TextAssetSource());
268
- await cesdk.addPlugin(new TextComponentAssetSource());
269
- await cesdk.addPlugin(new TypefaceAssetSource());
270
- await cesdk.addPlugin(new VectorShapeAssetSource());
271
-
272
- // Create a video scene (audio blocks require timeline support)
273
- await cesdk.actions.run('scene.create', {
274
- layout: 'DepthStack',
275
- page: {
276
- sourceId: 'ly.img.page.presets',
277
- assetId: 'ly.img.page.presets.instagram.story',
278
- color: { r: 0, g: 0, b: 0, a: 1 }
201
+ const engine = await CreativeEngine.init({
202
+ baseURL: process.env.IMGLY_LOCAL_ASSETS_URL
203
+ });
204
+
205
+ try {
206
+ // Create a scene with a page for audio content
207
+ engine.scene.create('DepthStack');
208
+ const page = engine.block.create('page');
209
+ engine.block.setWidth(page, 1920);
210
+ engine.block.setHeight(page, 1080);
211
+ engine.block.appendChild(engine.scene.get()!, page);
212
+
213
+ // Calculate total duration: 3 effects x 2s + 2 gaps x 0.5s = 7s
214
+ const effectDuration = 2.0;
215
+ const gapDuration = 0.5;
216
+ const totalDuration = 3 * effectDuration + 2 * gapDuration; // 7 seconds
217
+
218
+ // Set page duration to match total effects length
219
+ engine.block.setDuration(page, totalDuration);
220
+
221
+ const sampleRate = 48000;
222
+
223
+ // Create the "success chime" sound effect
224
+ const chimeBuffer = engine.editor.createBuffer();
225
+
226
+ // Generate the chime using our helper function
227
+ const chimeWav = createWavBuffer(
228
+ sampleRate,
229
+ SUCCESS_CHIME.totalDuration,
230
+ (time) => {
231
+ let sample = 0;
232
+
233
+ // Mix all notes together
234
+ for (const note of SUCCESS_CHIME.notes) {
235
+ // Calculate envelope for this note
236
+ const envelope = adsr(
237
+ time,
238
+ note.start,
239
+ note.duration,
240
+ 0.02, // Soft attack (20ms)
241
+ 0.08, // Gentle decay (80ms)
242
+ 0.7, // Sustain at 70%
243
+ 0.25 // Smooth release (250ms)
244
+ );
245
+
246
+ if (envelope > 0) {
247
+ // Generate sine wave with slight harmonics for richness
248
+ const fundamental = Math.sin(2 * Math.PI * note.freq * time);
249
+ const harmonic2 = Math.sin(4 * Math.PI * note.freq * time) * 0.25;
250
+ const harmonic3 = Math.sin(6 * Math.PI * note.freq * time) * 0.1;
251
+
252
+ sample += (fundamental + harmonic2 + harmonic3) * envelope * 0.3;
253
+ }
279
254
  }
280
- });
281
-
282
- const engine = cesdk.engine;
283
255
 
284
- // Get the page (timeline)
285
- const pages = engine.block.findByType('page');
286
- const page = pages[0];
287
- if (!page) {
288
- throw new Error('No page found');
256
+ return sample;
289
257
  }
290
-
291
- // Calculate total duration: 3 effects × 2s + 2 gaps × 0.5s = 7s
292
- const effectDuration = 2.0;
293
- const gapDuration = 0.5;
294
- const totalDuration = 3 * effectDuration + 2 * gapDuration; // 7 seconds
295
-
296
- // Set page duration to match total effects length
297
- engine.block.setDuration(page, totalDuration);
298
-
299
- // Add a centered title text to the canvas
300
- const text = engine.block.create('text');
301
- engine.block.appendChild(page, text);
302
- engine.block.replaceText(text, 'Sound Effects Demo');
303
- engine.block.setTextColor(text, { r: 1, g: 1, b: 1, a: 1 });
304
- engine.block.setFloat(text, 'text/fontSize', 48);
305
-
306
- // Center the text on the canvas
307
- const pageWidth = engine.block.getWidth(page);
308
- const pageHeight = engine.block.getHeight(page);
309
- engine.block.setWidth(text, pageWidth);
310
- engine.block.setHeight(text, 70);
311
- engine.block.setPositionX(text, 0);
312
- engine.block.setPositionY(text, pageHeight / 2 - 35);
313
- engine.block.setEnum(text, 'text/horizontalAlignment', 'Center');
314
-
315
- // Make text visible for the entire duration
316
- engine.block.setTimeOffset(text, 0);
317
- engine.block.setDuration(text, totalDuration);
318
-
319
- const sampleRate = 48000;
320
-
321
- // Create the "success chime" sound effect
322
- const chimeBuffer = engine.editor.createBuffer();
323
-
324
- // Generate the chime using our helper function
325
- const chimeWav = createWavBuffer(
326
- sampleRate,
327
- SUCCESS_CHIME.totalDuration,
328
- (time) => {
329
- let sample = 0;
330
-
331
- // Mix all notes together
332
- for (const note of SUCCESS_CHIME.notes) {
333
- // Calculate envelope for this note
334
- const envelope = adsr(
335
- time,
336
- note.start,
337
- note.duration,
338
- 0.02, // Soft attack (20ms)
339
- 0.08, // Gentle decay (80ms)
340
- 0.7, // Sustain at 70%
341
- 0.25 // Smooth release (250ms)
342
- );
343
-
344
- if (envelope > 0) {
345
- // Generate sine wave with slight harmonics for richness
346
- const fundamental = Math.sin(2 * Math.PI * note.freq * time);
347
- const harmonic2 = Math.sin(4 * Math.PI * note.freq * time) * 0.25;
348
- const harmonic3 = Math.sin(6 * Math.PI * note.freq * time) * 0.1;
349
-
350
- sample += (fundamental + harmonic2 + harmonic3) * envelope * 0.3;
351
- }
258
+ );
259
+
260
+ // Write WAV data to the buffer
261
+ engine.editor.setBufferData(chimeBuffer, 0, chimeWav);
262
+
263
+ // Create audio block for the chime (starts at 0s)
264
+ const chimeBlock = engine.block.create('audio');
265
+ engine.block.appendChild(page, chimeBlock);
266
+ engine.block.setString(chimeBlock, 'audio/fileURI', chimeBuffer);
267
+ engine.block.setTimeOffset(chimeBlock, 0);
268
+ engine.block.setDuration(chimeBlock, SUCCESS_CHIME.totalDuration);
269
+ engine.block.setVolume(chimeBlock, 0.8);
270
+
271
+ console.log('Created success chime at 0s');
272
+
273
+ // Create the "notification melody" sound effect
274
+ const melodyBuffer = engine.editor.createBuffer();
275
+
276
+ const melodyWav = createWavBuffer(
277
+ sampleRate,
278
+ NOTIFICATION_MELODY.totalDuration,
279
+ (time) => {
280
+ let sample = 0;
281
+
282
+ for (const note of NOTIFICATION_MELODY.notes) {
283
+ const envelope = adsr(
284
+ time,
285
+ note.start,
286
+ note.duration,
287
+ 0.01, // Soft attack (10ms)
288
+ 0.06, // Gentle decay (60ms)
289
+ 0.6, // Sustain at 60%
290
+ 0.2 // Smooth release (200ms)
291
+ );
292
+
293
+ if (envelope > 0) {
294
+ // Pure sine wave with light 2nd harmonic for gentle tone
295
+ const fundamental = Math.sin(2 * Math.PI * note.freq * time);
296
+ const harmonic2 = Math.sin(4 * Math.PI * note.freq * time) * 0.15;
297
+
298
+ sample += (fundamental + harmonic2) * envelope * 0.4;
352
299
  }
353
-
354
- return sample;
355
300
  }
356
- );
357
-
358
- // Write WAV data to the buffer
359
- engine.editor.setBufferData(chimeBuffer, 0, chimeWav);
360
-
361
- // Create audio block for the chime (starts at 0s)
362
- const chimeBlock = engine.block.create('audio');
363
- engine.block.appendChild(page, chimeBlock);
364
- engine.block.setString(chimeBlock, 'audio/fileURI', chimeBuffer);
365
- engine.block.setTimeOffset(chimeBlock, 0);
366
- engine.block.setDuration(chimeBlock, SUCCESS_CHIME.totalDuration);
367
- engine.block.setVolume(chimeBlock, 0.8);
368
-
369
- // Create the "notification melody" sound effect
370
- const melodyBuffer = engine.editor.createBuffer();
371
-
372
- const melodyWav = createWavBuffer(
373
- sampleRate,
374
- NOTIFICATION_MELODY.totalDuration,
375
- (time) => {
376
- let sample = 0;
377
-
378
- for (const note of NOTIFICATION_MELODY.notes) {
379
- const envelope = adsr(
380
- time,
381
- note.start,
382
- note.duration,
383
- 0.01, // Soft attack (10ms)
384
- 0.06, // Gentle decay (60ms)
385
- 0.6, // Sustain at 60%
386
- 0.2 // Smooth release (200ms)
387
- );
388
-
389
- if (envelope > 0) {
390
- // Pure sine wave with light 2nd harmonic for gentle tone
391
- const fundamental = Math.sin(2 * Math.PI * note.freq * time);
392
- const harmonic2 = Math.sin(4 * Math.PI * note.freq * time) * 0.15;
393
-
394
- sample += (fundamental + harmonic2) * envelope * 0.4;
395
- }
396
- }
397
301
 
398
- return sample;
399
- }
400
- );
401
-
402
- engine.editor.setBufferData(melodyBuffer, 0, melodyWav);
403
-
404
- // Starts at 2.5s (after 2s effect + 0.5s gap)
405
- const melodyBlock = engine.block.create('audio');
406
- engine.block.appendChild(page, melodyBlock);
407
- engine.block.setString(melodyBlock, 'audio/fileURI', melodyBuffer);
408
- engine.block.setTimeOffset(melodyBlock, effectDuration + gapDuration); // 2.5s
409
- engine.block.setDuration(melodyBlock, NOTIFICATION_MELODY.totalDuration);
410
- engine.block.setVolume(melodyBlock, 0.8);
411
-
412
- // Create the "alert" sound effect
413
- const alertBuffer = engine.editor.createBuffer();
414
-
415
- const alertWav = createWavBuffer(
416
- sampleRate,
417
- ALERT_TONE.totalDuration,
418
- (time) => {
419
- let sample = 0;
420
-
421
- for (const note of ALERT_TONE.notes) {
422
- const envelope = adsr(
423
- time,
424
- note.start,
425
- note.duration,
426
- 0.005, // Sharp attack (5ms)
427
- 0.05, // Quick decay (50ms)
428
- 0.5, // Sustain at 50%
429
- 0.15 // Medium release (150ms)
430
- );
431
-
432
- if (envelope > 0) {
433
- // Slightly brighter tone for alert
434
- const fundamental = Math.sin(2 * Math.PI * note.freq * time);
435
- const harmonic2 = Math.sin(4 * Math.PI * note.freq * time) * 0.2;
436
- const harmonic3 = Math.sin(6 * Math.PI * note.freq * time) * 0.15;
437
-
438
- sample += (fundamental + harmonic2 + harmonic3) * envelope * 0.35;
439
- }
302
+ return sample;
303
+ }
304
+ );
305
+
306
+ engine.editor.setBufferData(melodyBuffer, 0, melodyWav);
307
+
308
+ // Starts at 2.5s (after 2s effect + 0.5s gap)
309
+ const melodyBlock = engine.block.create('audio');
310
+ engine.block.appendChild(page, melodyBlock);
311
+ engine.block.setString(melodyBlock, 'audio/fileURI', melodyBuffer);
312
+ engine.block.setTimeOffset(melodyBlock, effectDuration + gapDuration); // 2.5s
313
+ engine.block.setDuration(melodyBlock, NOTIFICATION_MELODY.totalDuration);
314
+ engine.block.setVolume(melodyBlock, 0.8);
315
+
316
+ console.log('Created notification melody at 2.5s');
317
+
318
+ // Create the "alert" sound effect
319
+ const alertBuffer = engine.editor.createBuffer();
320
+
321
+ const alertWav = createWavBuffer(
322
+ sampleRate,
323
+ ALERT_TONE.totalDuration,
324
+ (time) => {
325
+ let sample = 0;
326
+
327
+ for (const note of ALERT_TONE.notes) {
328
+ const envelope = adsr(
329
+ time,
330
+ note.start,
331
+ note.duration,
332
+ 0.005, // Sharp attack (5ms)
333
+ 0.05, // Quick decay (50ms)
334
+ 0.5, // Sustain at 50%
335
+ 0.15 // Medium release (150ms)
336
+ );
337
+
338
+ if (envelope > 0) {
339
+ // Slightly brighter tone for alert
340
+ const fundamental = Math.sin(2 * Math.PI * note.freq * time);
341
+ const harmonic2 = Math.sin(4 * Math.PI * note.freq * time) * 0.2;
342
+ const harmonic3 = Math.sin(6 * Math.PI * note.freq * time) * 0.15;
343
+
344
+ sample += (fundamental + harmonic2 + harmonic3) * envelope * 0.35;
440
345
  }
441
-
442
- return sample;
443
346
  }
444
- );
445
347
 
446
- engine.editor.setBufferData(alertBuffer, 0, alertWav);
348
+ return sample;
349
+ }
350
+ );
351
+
352
+ engine.editor.setBufferData(alertBuffer, 0, alertWav);
447
353
 
448
- // Starts at 5s (after 2 effects + 2 gaps)
449
- const alertBlock = engine.block.create('audio');
450
- engine.block.appendChild(page, alertBlock);
451
- engine.block.setString(alertBlock, 'audio/fileURI', alertBuffer);
452
- engine.block.setTimeOffset(alertBlock, 2 * (effectDuration + gapDuration)); // 5s
453
- engine.block.setDuration(alertBlock, ALERT_TONE.totalDuration);
454
- engine.block.setVolume(alertBlock, 0.75);
354
+ // Starts at 5s (after 2 effects + 2 gaps)
355
+ const alertBlock = engine.block.create('audio');
356
+ engine.block.appendChild(page, alertBlock);
357
+ engine.block.setString(alertBlock, 'audio/fileURI', alertBuffer);
358
+ engine.block.setTimeOffset(alertBlock, 2 * (effectDuration + gapDuration)); // 5s
359
+ engine.block.setDuration(alertBlock, ALERT_TONE.totalDuration);
360
+ engine.block.setVolume(alertBlock, 0.75);
455
361
 
456
- // Select the chime block to show it in the UI
457
- engine.block.select(chimeBlock);
362
+ console.log('Created alert tone at 5s');
458
363
 
459
- // Zoom to fit the timeline
460
- await cesdk.actions.run('zoom.toPage', { autoFit: true });
364
+ // Export the scene as an archive containing all audio data
365
+ // saveToArchive() packages the scene with all embedded resources (including buffers)
461
366
 
462
- // eslint-disable-next-line no-console
463
- console.log(
464
- `Sound effects: Success (0s), Melody (2.5s), Alert (5s) - each 2s, total ${totalDuration}s`
465
- );
367
+ // Ensure output directory exists
368
+ if (!existsSync('output')) {
369
+ mkdirSync('output');
466
370
  }
371
+
372
+ // Save scene archive with all audio buffers embedded
373
+ const archiveBlob = await engine.scene.saveToArchive();
374
+ const archiveBuffer = Buffer.from(await archiveBlob.arrayBuffer());
375
+ writeFileSync('output/sound-effects.zip', archiveBuffer);
376
+
377
+ console.log('');
378
+ console.log('Exported scene archive to output/sound-effects.zip');
379
+ console.log('Scene contains:');
380
+ console.log(' - Scene structure with audio timeline');
381
+ console.log(' - 3 embedded sound effect audio files');
382
+
383
+ console.log('');
384
+ console.log('Sound effects guide completed successfully.');
385
+ console.log(
386
+ `Timeline: Success (0s), Melody (2.5s), Alert (5s) - each 2s, total ${totalDuration}s`
387
+ );
388
+ console.log('');
389
+ console.log('Audio blocks created with:');
390
+ console.log(' - 3 programmatically generated sound effects');
391
+ console.log(' - Each effect with unique tonal character');
392
+ console.log(' - Scene exported with embedded audio for later use');
393
+ } finally {
394
+ engine.dispose();
467
395
  }
396
+ ```
397
+
398
+ This guide covers working with buffers to create audio data and position it in the composition in a headless Node.js environment.
399
+
400
+ ## Setting Up the Engine
468
401
 
469
- export default Example;
402
+ Initialize CE.SDK's headless engine for server-side audio generation:
403
+
404
+ ```typescript highlight-setup
405
+ const engine = await CreativeEngine.init({
406
+ baseURL: process.env.IMGLY_LOCAL_ASSETS_URL
407
+ });
470
408
  ```
471
409
 
472
- This guide covers working with buffers to create audio data and position it in the composition.
410
+ The headless engine provides full API access for buffer creation and audio synthesis without browser dependencies.
473
411
 
474
412
  ## Working with Buffers
475
413
 
@@ -477,19 +415,20 @@ CE.SDK provides a buffer API for creating and managing arbitrary binary data in
477
415
 
478
416
  ### Creating a Buffer
479
417
 
480
- Create a buffer with `createBuffer()`, which returns a URI you can use to reference the buffer:
418
+ Create a buffer with `engine.editor.createBuffer()`, which returns a URI you can use to reference the buffer:
481
419
 
482
420
  ```typescript highlight-buffer-create
483
- // Create the "notification melody" sound effect
484
- const melodyBuffer = engine.editor.createBuffer();
421
+ // Create the "success chime" sound effect
422
+ const chimeBuffer = engine.editor.createBuffer();
485
423
  ```
486
424
 
487
425
  ### Writing Data
488
426
 
489
- Write data to a buffer using `setBufferData()`. The offset parameter specifies where to start writing:
427
+ Write data to a buffer using `engine.editor.setBufferData()`. The offset parameter specifies where to start writing:
490
428
 
491
429
  ```typescript highlight-buffer-write
492
- engine.editor.setBufferData(melodyBuffer, 0, melodyWav);
430
+ // Write WAV data to the buffer
431
+ engine.editor.setBufferData(chimeBuffer, 0, chimeWav);
493
432
  ```
494
433
 
495
434
  ### Reading Data
@@ -506,10 +445,10 @@ const data = engine.editor.getBufferData(buffer, 0, length);
506
445
  Create an audio block and assign the buffer URI to its `audio/fileURI` property. Append it to the page to add it to the composition:
507
446
 
508
447
  ```typescript highlight-audio-track
509
- // Starts at 2.5s (after 2s effect + 0.5s gap)
510
- const melodyBlock = engine.block.create('audio');
511
- engine.block.appendChild(page, melodyBlock);
512
- engine.block.setString(melodyBlock, 'audio/fileURI', melodyBuffer);
448
+ // Create audio block for the chime (starts at 0s)
449
+ const chimeBlock = engine.block.create('audio');
450
+ engine.block.appendChild(page, chimeBlock);
451
+ engine.block.setString(chimeBlock, 'audio/fileURI', chimeBuffer);
513
452
  ```
514
453
 
515
454
  ### Cleanup
@@ -525,99 +464,230 @@ engine.editor.destroyBuffer(buffer);
525
464
  To use buffers for audio, you need valid audio data. The WAV format is straightforward to generate: a 44-byte header followed by raw PCM samples.
526
465
 
527
466
  ```typescript highlight-wav-body
528
- const bitsPerSample = 16;
529
- const channels = 2; // Stereo output
530
- const numSamples = Math.floor(durationSeconds * sampleRate);
531
- const dataSize = numSamples * channels * (bitsPerSample / 8);
532
-
533
- // Create WAV file buffer (44-byte header + audio data)
534
- const wavBuffer = new ArrayBuffer(44 + dataSize);
535
- const view = new DataView(wavBuffer);
536
-
537
- // RIFF chunk descriptor
538
- view.setUint32(0, 0x52494646, false); // "RIFF"
539
- view.setUint32(4, 36 + dataSize, true); // File size - 8
540
- view.setUint32(8, 0x57415645, false); // "WAVE"
541
-
542
- // fmt sub-chunk
543
- view.setUint32(12, 0x666d7420, false); // "fmt "
544
- view.setUint32(16, 16, true); // Sub-chunk size (16 for PCM)
545
- view.setUint16(20, 1, true); // Audio format (1 = PCM)
546
- view.setUint16(22, channels, true); // Number of channels
547
- view.setUint32(24, sampleRate, true); // Sample rate
548
- view.setUint32(28, sampleRate * channels * (bitsPerSample / 8), true);
549
- view.setUint16(32, channels * (bitsPerSample / 8), true); // Block align
550
- view.setUint16(34, bitsPerSample, true); // Bits per sample
551
-
552
- // data sub-chunk
553
- view.setUint32(36, 0x64617461, false); // "data"
554
- view.setUint32(40, dataSize, true); // Data size
555
-
556
- // Generate audio samples
557
- let offset = 44;
558
- for (let i = 0; i < numSamples; i++) {
559
- const time = i / sampleRate;
560
- // Generate mono sample and duplicate to both channels
561
- const value = generator(time);
562
- const sample = Math.max(-32768, Math.min(32767, Math.round(value * 32767)));
563
- view.setInt16(offset, sample, true); // Left channel
564
- view.setInt16(offset + 2, sample, true); // Right channel
565
- offset += 4;
566
- }
467
+ const bitsPerSample = 16;
468
+ const channels = 2; // Stereo output
469
+ const numSamples = Math.floor(durationSeconds * sampleRate);
470
+ const dataSize = numSamples * channels * (bitsPerSample / 8);
471
+
472
+ // Create WAV file buffer (44-byte header + audio data)
473
+ const wavBuffer = new ArrayBuffer(44 + dataSize);
474
+ const view = new DataView(wavBuffer);
475
+
476
+ // RIFF chunk descriptor
477
+ view.setUint32(0, 0x52494646, false); // "RIFF"
478
+ view.setUint32(4, 36 + dataSize, true); // File size - 8
479
+ view.setUint32(8, 0x57415645, false); // "WAVE"
480
+
481
+ // fmt sub-chunk
482
+ view.setUint32(12, 0x666d7420, false); // "fmt "
483
+ view.setUint32(16, 16, true); // Sub-chunk size (16 for PCM)
484
+ view.setUint16(20, 1, true); // Audio format (1 = PCM)
485
+ view.setUint16(22, channels, true); // Number of channels
486
+ view.setUint32(24, sampleRate, true); // Sample rate
487
+ view.setUint32(28, sampleRate * channels * (bitsPerSample / 8), true);
488
+ view.setUint16(32, channels * (bitsPerSample / 8), true); // Block align
489
+ view.setUint16(34, bitsPerSample, true); // Bits per sample
567
490
 
568
- return new Uint8Array(wavBuffer);
491
+ // data sub-chunk
492
+ view.setUint32(36, 0x64617461, false); // "data"
493
+ view.setUint32(40, dataSize, true); // Data size
494
+
495
+ // Generate audio samples
496
+ let offset = 44;
497
+ for (let i = 0; i < numSamples; i++) {
498
+ const time = i / sampleRate;
499
+ // Generate mono sample and duplicate to both channels
500
+ const value = generator(time);
501
+ const sample = Math.max(-32768, Math.min(32767, Math.round(value * 32767)));
502
+ view.setInt16(offset, sample, true); // Left channel
503
+ view.setInt16(offset + 2, sample, true); // Right channel
504
+ offset += 4;
505
+ }
506
+
507
+ return new Uint8Array(wavBuffer);
569
508
  ```
570
509
 
571
510
  This code builds a stereo WAV file by writing the RIFF header, format chunk, and data chunk, then iterating through time to generate samples from a generator function that returns values between -1.0 and 1.0.
572
511
 
512
+ ## Creating Sound Effect Generators
513
+
514
+ ### ADSR Envelope
515
+
516
+ Shape notes with ADSR envelopes (attack, decay, sustain, release) to avoid clicks and create natural-sounding tones:
517
+
518
+ ```typescript highlight-envelope-helper
519
+ /**
520
+ * Calculates an ADSR (Attack-Decay-Sustain-Release) envelope value for a note.
521
+ * The envelope shapes the volume over time, creating natural-sounding tones.
522
+ *
523
+ * @param time - Current time in seconds
524
+ * @param noteStart - When the note starts (seconds)
525
+ * @param noteDuration - Total note duration including release (seconds)
526
+ * @param attack - Time to reach peak volume (seconds)
527
+ * @param decay - Time to fall from peak to sustain level (seconds)
528
+ * @param sustain - Held volume level (0.0 to 1.0)
529
+ * @param release - Time to fade to silence (seconds)
530
+ * @returns Envelope amplitude (0.0 to 1.0)
531
+ */
532
+ function adsr(
533
+ time: number,
534
+ noteStart: number,
535
+ noteDuration: number,
536
+ attack: number,
537
+ decay: number,
538
+ sustain: number,
539
+ release: number
540
+ ): number {
541
+ const t = time - noteStart;
542
+ if (t < 0) return 0;
543
+
544
+ const noteEnd = noteDuration - release;
545
+
546
+ if (t < attack) {
547
+ // Attack phase: ramp up from 0 to 1
548
+ return t / attack;
549
+ } else if (t < attack + decay) {
550
+ // Decay phase: ramp down from 1 to sustain level
551
+ return 1 - ((t - attack) / decay) * (1 - sustain);
552
+ } else if (t < noteEnd) {
553
+ // Sustain phase: hold at sustain level
554
+ return sustain;
555
+ } else if (t < noteDuration) {
556
+ // Release phase: ramp down from sustain to 0
557
+ return sustain * (1 - (t - noteEnd) / release);
558
+ }
559
+ return 0;
560
+ }
561
+ ```
562
+
563
+ The envelope function shapes volume over time—quickly ramping up during attack, gradually falling during decay, holding steady during sustain, and fading out during release.
564
+
565
+ ### Sound Effect Definitions
566
+
567
+ Define sound effects as note sequences with frequencies, start times, and durations:
568
+
569
+ ```typescript highlight-sound-definitions
570
+ // Musical note frequencies (Hz) for the 4th and 5th octaves
571
+ const NOTE_FREQUENCIES = {
572
+ C4: 261.63,
573
+ D4: 293.66,
574
+ E4: 329.63,
575
+ F4: 349.23,
576
+ G4: 392.0,
577
+ A4: 440.0,
578
+ B4: 493.88,
579
+ C5: 523.25,
580
+ D5: 587.33,
581
+ E5: 659.25,
582
+ F5: 698.46,
583
+ G5: 783.99,
584
+ A5: 880.0,
585
+ B5: 987.77,
586
+ C6: 1046.5
587
+ };
588
+
589
+ // Sound effect 1: Ascending "success" fanfare (2 seconds)
590
+ // Creates a triumphant feeling with overlapping notes building to a chord
591
+ const SUCCESS_CHIME = {
592
+ notes: [
593
+ // Quick ascending arpeggio
594
+ { freq: NOTE_FREQUENCIES.C4, start: 0.0, duration: 0.3 },
595
+ { freq: NOTE_FREQUENCIES.E4, start: 0.1, duration: 0.4 },
596
+ { freq: NOTE_FREQUENCIES.G4, start: 0.2, duration: 0.5 },
597
+ // Sustained major chord
598
+ { freq: NOTE_FREQUENCIES.C5, start: 0.35, duration: 1.65 },
599
+ { freq: NOTE_FREQUENCIES.E5, start: 0.4, duration: 1.6 },
600
+ { freq: NOTE_FREQUENCIES.G5, start: 0.45, duration: 1.55 }
601
+ ],
602
+ totalDuration: 2.0
603
+ };
604
+
605
+ // Sound effect 2: Gentle notification melody (2 seconds)
606
+ // A musical phrase that resolves pleasantly
607
+ const NOTIFICATION_MELODY = {
608
+ notes: [
609
+ { freq: NOTE_FREQUENCIES.E5, start: 0.0, duration: 0.4 },
610
+ { freq: NOTE_FREQUENCIES.G5, start: 0.25, duration: 0.5 },
611
+ { freq: NOTE_FREQUENCIES.A5, start: 0.6, duration: 0.3 },
612
+ { freq: NOTE_FREQUENCIES.G5, start: 0.85, duration: 0.4 },
613
+ { freq: NOTE_FREQUENCIES.E5, start: 1.15, duration: 0.85 }
614
+ ],
615
+ totalDuration: 2.0
616
+ };
617
+
618
+ // Sound effect 3: Alert/warning tone (2 seconds)
619
+ // Descending pattern that grabs attention
620
+ const ALERT_TONE = {
621
+ notes: [
622
+ // Attention-grabbing high notes
623
+ { freq: NOTE_FREQUENCIES.A5, start: 0.0, duration: 0.25 },
624
+ { freq: NOTE_FREQUENCIES.A5, start: 0.3, duration: 0.25 },
625
+ // Descending resolution
626
+ { freq: NOTE_FREQUENCIES.F5, start: 0.6, duration: 0.4 },
627
+ { freq: NOTE_FREQUENCIES.D5, start: 0.9, duration: 0.5 },
628
+ { freq: NOTE_FREQUENCIES.A4, start: 1.3, duration: 0.7 }
629
+ ],
630
+ totalDuration: 2.0
631
+ };
632
+ ```
633
+
634
+ Each sound effect specifies a series of notes with their musical frequencies, when they start, and how long they play. Overlapping notes create chords and harmonic textures.
635
+
573
636
  ## Creating a Sound Effect
574
637
 
575
638
  Combine the buffer API with the WAV helper to create a complete sound effect. This example generates a notification melody by mixing multiple notes with harmonics:
576
639
 
577
640
  ```typescript highlight-generate-melody
578
- const melodyWav = createWavBuffer(
579
- sampleRate,
580
- NOTIFICATION_MELODY.totalDuration,
581
- (time) => {
582
- let sample = 0;
583
-
584
- for (const note of NOTIFICATION_MELODY.notes) {
585
- const envelope = adsr(
586
- time,
587
- note.start,
588
- note.duration,
589
- 0.01, // Soft attack (10ms)
590
- 0.06, // Gentle decay (60ms)
591
- 0.6, // Sustain at 60%
592
- 0.2 // Smooth release (200ms)
593
- );
594
-
595
- if (envelope > 0) {
596
- // Pure sine wave with light 2nd harmonic for gentle tone
597
- const fundamental = Math.sin(2 * Math.PI * note.freq * time);
598
- const harmonic2 = Math.sin(4 * Math.PI * note.freq * time) * 0.15;
599
-
600
- sample += (fundamental + harmonic2) * envelope * 0.4;
641
+ // Create the "notification melody" sound effect
642
+ const melodyBuffer = engine.editor.createBuffer();
643
+
644
+ const melodyWav = createWavBuffer(
645
+ sampleRate,
646
+ NOTIFICATION_MELODY.totalDuration,
647
+ (time) => {
648
+ let sample = 0;
649
+
650
+ for (const note of NOTIFICATION_MELODY.notes) {
651
+ const envelope = adsr(
652
+ time,
653
+ note.start,
654
+ note.duration,
655
+ 0.01, // Soft attack (10ms)
656
+ 0.06, // Gentle decay (60ms)
657
+ 0.6, // Sustain at 60%
658
+ 0.2 // Smooth release (200ms)
659
+ );
660
+
661
+ if (envelope > 0) {
662
+ // Pure sine wave with light 2nd harmonic for gentle tone
663
+ const fundamental = Math.sin(2 * Math.PI * note.freq * time);
664
+ const harmonic2 = Math.sin(4 * Math.PI * note.freq * time) * 0.15;
665
+
666
+ sample += (fundamental + harmonic2) * envelope * 0.4;
667
+ }
601
668
  }
669
+
670
+ return sample;
602
671
  }
672
+ );
603
673
 
604
- return sample;
605
- }
606
- );
674
+ engine.editor.setBufferData(melodyBuffer, 0, melodyWav);
607
675
  ```
608
676
 
609
- The generator function mixes overlapping notes, each with its own start time and duration. The `adsr()` function shapes each note's volume over time (attack, decay, sustain, release), preventing harsh clicks. Adding a second harmonic at 15% creates a warmer tone than a pure sine wave.
677
+ The generator function mixes overlapping notes, each with its own start time and duration. Adding harmonics at lower amplitudes creates a warmer tone than a pure sine wave.
610
678
 
611
679
  ## Positioning in Time
612
680
 
613
- Position audio blocks using time offset (when it starts) and duration (how long it plays):
681
+ Audio blocks exist in the composition and can be positioned precisely. Set when audio starts and how long it plays:
614
682
 
615
683
  ```typescript highlight-timeline-position
616
- engine.block.setTimeOffset(melodyBlock, effectDuration + gapDuration); // 2.5s
617
- engine.block.setDuration(melodyBlock, NOTIFICATION_MELODY.totalDuration);
684
+ engine.block.setTimeOffset(chimeBlock, 0);
685
+ engine.block.setDuration(chimeBlock, SUCCESS_CHIME.totalDuration);
618
686
  ```
619
687
 
620
- This example spaces three sound effects with 0.5-second gaps:
688
+ ### Timeline Layout Example
689
+
690
+ The example spaces three sound effects with 0.5-second gaps:
621
691
 
622
692
  ```
623
693
  Timeline: |----|----|----|----|----|----|----|
@@ -635,12 +705,39 @@ Alert: |====|
635
705
 
636
706
  Each effect is 2 seconds with 0.5-second gaps between them, for a total duration of 7 seconds.
637
707
 
708
+ ## Exporting the Scene
709
+
710
+ Export the scene as an archive containing all audio data. The `saveToArchive()` method packages the scene with all embedded resources, including buffer data:
711
+
712
+ ```typescript highlight-export
713
+ // Export the scene as an archive containing all audio data
714
+ // saveToArchive() packages the scene with all embedded resources (including buffers)
715
+
716
+ // Ensure output directory exists
717
+ if (!existsSync('output')) {
718
+ mkdirSync('output');
719
+ }
720
+
721
+ // Save scene archive with all audio buffers embedded
722
+ const archiveBlob = await engine.scene.saveToArchive();
723
+ const archiveBuffer = Buffer.from(await archiveBlob.arrayBuffer());
724
+ writeFileSync('output/sound-effects.zip', archiveBuffer);
725
+
726
+ console.log('');
727
+ console.log('Exported scene archive to output/sound-effects.zip');
728
+ console.log('Scene contains:');
729
+ console.log(' - Scene structure with audio timeline');
730
+ console.log(' - 3 embedded sound effect audio files');
731
+ ```
732
+
733
+ > **Note:** Buffer URIs are in-memory resources and cannot be serialized with `saveToString()`. Use `saveToArchive()` to export the complete scene with embedded audio buffers.
734
+
638
735
  ## Troubleshooting
639
736
 
640
737
  ### No Sound
641
738
 
642
- - **Check scene setup** - Ensure the audio block is attached to a page in the scene
643
- - **Verify duration** - Ensure the audio block's duration is greater than 0
739
+ - **Check WAV format** - Ensure the 44-byte header matches the data size and parameters
740
+ - **Verify duration** - Audio blocks need duration greater than 0
644
741
  - **Check buffer data** - The buffer must contain valid WAV data
645
742
 
646
743
  ### Audio Sounds Wrong
@@ -654,11 +751,30 @@ Each effect is 2 seconds with 0.5-second gaps between them, for a total duration
654
751
  - **Invalid WAV** - Ensure header size fields match actual data size
655
752
  - **Format mismatch** - Use 16-bit PCM, stereo, 48 kHz for best compatibility
656
753
 
754
+ ## API Reference
755
+
756
+ | Method | Description | Parameters |
757
+ | --------------------------------- | ----------------------------------------- | ------------------------------------- |
758
+ | `engine.editor.createBuffer()` | Create a new buffer resource | None |
759
+ | `engine.editor.setBufferData()` | Write data to a buffer | `uri: string, offset: number, data: Uint8Array` |
760
+ | `engine.editor.getBufferLength()` | Get the length of buffer data | `uri: string` |
761
+ | `engine.editor.getBufferData()` | Read data from a buffer | `uri: string, offset: number, length: number` |
762
+ | `engine.editor.destroyBuffer()` | Clean up buffer resources | `uri: string` |
763
+ | `engine.block.create('audio')` | Create a new audio block | `type: 'audio'` |
764
+ | `engine.block.setString()` | Set string properties (e.g., audio/fileURI) | `id: number, key: string, value: string` |
765
+ | `engine.block.setTimeOffset()` | Set when the audio block starts | `id: number, offset: number` |
766
+ | `engine.block.setDuration()` | Set the duration of the audio block | `id: number, duration: number` |
767
+ | `engine.block.setVolume()` | Set the volume level (0.0 to 1.0) | `id: number, volume: number` |
768
+ | `engine.block.appendChild()` | Add block to parent (page) | `parent: number, child: number` |
769
+ | `engine.scene.saveToArchive()` | Export scene with embedded resources | None (returns `Promise<Blob>`) |
770
+
771
+
772
+
657
773
  ---
658
774
 
659
775
  ## More Resources
660
776
 
661
- - **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
777
+ - **[Node.js Documentation Index](https://img.ly/docs/cesdk/node.md)** - Browse all Node.js documentation
662
778
  - **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
663
- - **[Web Documentation](./js.md)** - Interactive documentation with examples
664
- - **[Support](mailto:support@img.ly)** - Contact IMG.LY support
779
+ - **[Web Documentation](./node.md)** - Interactive documentation with examples
780
+ - **[Support](mailto:support@img.ly)** - Contact IMG.LY support