@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,489 +1,485 @@
1
- > This is one page of the CE.SDK Vanilla JS/TS documentation. For a complete overview, see the [Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md). For all docs in one file, see [llms-full.txt](./llms-full.txt.md).
1
+ > This is one page of the CE.SDK Node.js documentation. For a complete overview, see the [Node.js Documentation Index](https://img.ly/docs/cesdk/node.md). For all docs in one file, see [llms-full.txt](./llms-full.txt.md).
2
2
 
3
3
  **Navigation:** [Guides](./guides.md) > [Import Media Assets](./import-media.md) > [Edit or Remove Assets](./import-media/edit-or-remove-assets.md)
4
4
 
5
5
  ---
6
6
 
7
- Manage assets in local asset sources by updating metadata, removing individual assets, or deleting entire sources.
8
-
9
- ![Edit or Remove Assets](https://img.ly/docs/cesdk/./assets/browser.hero.webp)
7
+ Manage assets in local asset sources programmatically on the server by updating metadata, removing individual assets, or deleting entire sources.
10
8
 
11
9
  > **Reading time:** 10 minutes
12
10
  >
13
11
  > **Resources:**
14
12
  >
15
13
  > - [Download examples](https://github.com/imgly/cesdk-web-examples/archive/refs/tags/release-$UBQ_VERSION$.zip)
16
- > - [View source on GitHub](https://github.com/imgly/cesdk-web-examples/tree/release-$UBQ_VERSION$/guides-import-media-edit-or-remove-assets-browser)
17
- > - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-import-media-edit-or-remove-assets-browser)
18
- > - [Live demo](https://img.ly/docs/cesdk/examples/guides-import-media-edit-or-remove-assets-browser/)
19
-
20
- Assets in local sources can be modified or removed after they have been added. CE.SDK provides two levels of removal: individual assets within a source and entire asset sources. This guide covers how to query, update, and remove assets programmatically, as well as how to notify the UI when changes occur.
21
-
22
- ```typescript file=@cesdk_web_examples/guides-import-media-edit-or-remove-assets-browser/browser.ts reference-only
23
- import type { EditorPlugin, EditorPluginContext } from '@cesdk/cesdk-js';
24
-
25
- import {
26
- BlurAssetSource,
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 { DesignEditorConfig } from './design-editor/plugin';
41
- import packageJson from './package.json';
42
-
43
- class Example implements EditorPlugin {
44
- name = packageJson.name;
45
-
46
- version = packageJson.version;
47
-
48
- async initialize({ cesdk }: EditorPluginContext): Promise<void> {
49
- if (!cesdk) {
50
- throw new Error('CE.SDK instance is required for this plugin');
14
+ >
15
+ > - [View source on GitHub](https://github.com/imgly/cesdk-web-examples/tree/release-$UBQ_VERSION$/guides-import-media-edit-or-remove-assets-server-js)
16
+ >
17
+ > - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-import-media-edit-or-remove-assets-server-js)
18
+
19
+ Assets in local sources can be modified or removed programmatically in server-side workflows. CE.SDK provides methods to query, update, and remove assets, as well as entire asset sources. This guide demonstrates how to manage assets in headless mode for batch processing, cleanup tasks, and automated workflows.
20
+
21
+ ```typescript file=@cesdk_web_examples/guides-import-media-edit-or-remove-assets-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
+ // Load environment variables
27
+ config();
28
+
29
+ /**
30
+ * CE.SDK Server Guide: Edit or Remove Assets
31
+ *
32
+ * Demonstrates how to manage assets in local asset sources:
33
+ * - Adding assets to local sources
34
+ * - Finding and querying assets
35
+ * - Updating asset metadata
36
+ * - Removing individual assets
37
+ * - Removing entire asset sources
38
+ * - Handling asset source events
39
+ */
40
+
41
+ // Initialize CE.SDK engine in headless mode
42
+ const engine = await CreativeEngine.init({
43
+ baseURL: process.env.IMGLY_LOCAL_ASSETS_URL
44
+ // license: process.env.CESDK_LICENSE, // Optional (trial mode available)
45
+ });
46
+
47
+ try {
48
+ // Create a design scene
49
+ engine.scene.create('VerticalStack', {
50
+ page: { size: { width: 800, height: 600 } }
51
+ });
52
+ const page = engine.block.findByType('page')[0];
53
+
54
+ // ===== Section 1: Create a Local Asset Source =====
55
+ // Create a local asset source to manage images
56
+ engine.asset.addLocalSource('server-uploads');
57
+
58
+ // Add sample assets to the source
59
+ engine.asset.addAssetToSource('server-uploads', {
60
+ id: 'asset-1',
61
+ label: { en: 'Sample Image 1' },
62
+ tags: { en: ['sample', 'image'] },
63
+ meta: {
64
+ uri: 'https://img.ly/static/ubq_samples/sample_1.jpg',
65
+ blockType: '//ly.img.ubq/graphic'
66
+ }
67
+ });
68
+
69
+ engine.asset.addAssetToSource('server-uploads', {
70
+ id: 'asset-2',
71
+ label: { en: 'Sample Image 2' },
72
+ tags: { en: ['sample', 'photo'] },
73
+ meta: {
74
+ uri: 'https://img.ly/static/ubq_samples/sample_2.jpg',
75
+ blockType: '//ly.img.ubq/graphic'
51
76
  }
52
- await cesdk.addPlugin(new DesignEditorConfig());
53
-
54
- // Add asset source plugins
55
- await cesdk.addPlugin(new BlurAssetSource());
56
- await cesdk.addPlugin(new ColorPaletteAssetSource());
57
- await cesdk.addPlugin(new CropPresetsAssetSource());
58
- await cesdk.addPlugin(
59
- new UploadAssetSources({ include: ['ly.img.image.upload'] })
60
- );
61
- await cesdk.addPlugin(
62
- new DemoAssetSources({
63
- include: [
64
- 'ly.img.templates.blank.*',
65
- 'ly.img.templates.presentation.*',
66
- 'ly.img.templates.print.*',
67
- 'ly.img.templates.social.*',
68
- 'ly.img.image.*'
69
- ]
70
- })
71
- );
72
- await cesdk.addPlugin(new EffectsAssetSource());
73
- await cesdk.addPlugin(new FiltersAssetSource());
74
- await cesdk.addPlugin(new PagePresetsAssetSource());
75
- await cesdk.addPlugin(new StickerAssetSource());
76
- await cesdk.addPlugin(new TextAssetSource());
77
- await cesdk.addPlugin(new TextComponentAssetSource());
78
- await cesdk.addPlugin(new TypefaceAssetSource());
79
- await cesdk.addPlugin(new VectorShapeAssetSource());
80
-
81
- await cesdk.actions.run('scene.create', {
82
- page: {
83
- sourceId: 'ly.img.page.presets',
84
- assetId: 'ly.img.page.presets.print.iso.a6.landscape'
85
- }
86
- });
87
-
88
- const engine = cesdk.engine;
89
-
90
- // ===== Section 1: Create a Local Asset Source =====
91
- // Create a local asset source to manage images
92
- engine.asset.addLocalSource('my-uploads');
93
-
94
- // Add some sample assets to the source
95
- engine.asset.addAssetToSource('my-uploads', {
96
- id: 'image-1',
97
- label: { en: 'Mountain Landscape' },
98
- tags: { en: ['nature', 'mountain'] },
99
- meta: {
100
- uri: 'https://img.ly/static/ubq_samples/sample_1.jpg',
101
- thumbUri: 'https://img.ly/static/ubq_samples/sample_1.jpg',
102
- blockType: '//ly.img.ubq/graphic'
103
- }
104
- });
105
-
106
- engine.asset.addAssetToSource('my-uploads', {
107
- id: 'image-2',
108
- label: { en: 'Ocean Waves' },
109
- tags: { en: ['nature', 'water'] },
110
- meta: {
111
- uri: 'https://img.ly/static/ubq_samples/sample_2.jpg',
112
- thumbUri: 'https://img.ly/static/ubq_samples/sample_2.jpg',
113
- blockType: '//ly.img.ubq/graphic'
114
- }
115
- });
116
-
117
- engine.asset.addAssetToSource('my-uploads', {
118
- id: 'image-3',
119
- label: { en: 'Forest Path' },
120
- tags: { en: ['nature', 'forest'] },
121
- meta: {
122
- uri: 'https://img.ly/static/ubq_samples/sample_3.jpg',
123
- thumbUri: 'https://img.ly/static/ubq_samples/sample_3.jpg',
124
- blockType: '//ly.img.ubq/graphic'
125
- }
126
- });
127
-
128
- // ===== Section 2: Find Assets in a Source =====
129
- // Query assets from the source to find specific assets
130
- const result = await engine.asset.findAssets('my-uploads', {
131
- query: 'nature',
132
- page: 0,
133
- perPage: 100
134
- });
135
-
136
- console.log('Found assets:', result.assets.length);
137
- const assetToModify = result.assets.find((a) => a.id === 'image-1');
138
- console.log('Asset to modify:', assetToModify?.label);
139
-
140
- // ===== Section 3: Update Asset Metadata =====
141
- // To update an asset's metadata, remove it and add an updated version
142
- // This pattern ensures the asset library reflects the latest data
143
- engine.asset.removeAssetFromSource('my-uploads', 'image-1');
144
-
145
- // Add the updated version with new metadata
146
- engine.asset.addAssetToSource('my-uploads', {
147
- id: 'image-1',
148
- label: { en: 'Updated Mountain Photo' }, // New label
149
- tags: { en: ['nature', 'mountain', 'updated'] }, // New tags
150
- meta: {
151
- uri: 'https://img.ly/static/ubq_samples/sample_1.jpg',
152
- thumbUri: 'https://img.ly/static/ubq_samples/sample_1.jpg',
153
- blockType: '//ly.img.ubq/graphic'
154
- }
155
- });
156
-
157
- // ===== Section 4: Remove an Asset from a Source =====
158
- // Remove a single asset from the source
159
- // Blocks already using this asset on the canvas remain unaffected
160
- engine.asset.removeAssetFromSource('my-uploads', 'image-2');
161
- console.log('Removed image-2 from my-uploads');
162
-
163
- // ===== Section 5: Notify UI of Changes =====
164
- // After modifying assets, notify the UI to refresh
165
- // This triggers update events for components like the asset library panel
166
- engine.asset.assetSourceContentsChanged('my-uploads');
167
-
168
- // ===== Section 6: Create a Second Source for Removal Demo =====
169
- // Create a temporary source to demonstrate source removal
170
- engine.asset.addLocalSource('temporary-uploads');
171
-
172
- engine.asset.addAssetToSource('temporary-uploads', {
173
- id: 'temp-1',
174
- label: { en: 'Temporary Image' },
175
- meta: {
176
- uri: 'https://img.ly/static/ubq_samples/sample_4.jpg',
177
- thumbUri: 'https://img.ly/static/ubq_samples/sample_4.jpg',
178
- blockType: '//ly.img.ubq/graphic'
179
- }
180
- });
181
-
182
- // ===== Section 7: Remove an Entire Asset Source =====
183
- // Remove a complete asset source and all its assets
184
- // Any UI panels displaying this source will stop showing content
185
- engine.asset.removeSource('temporary-uploads');
186
- console.log('Removed temporary-uploads source');
187
-
188
- // ===== Section 8: Listen to Asset Source Events =====
189
- // Subscribe to lifecycle events for asset sources
190
- const unsubscribeAdded = engine.asset.onAssetSourceAdded((sourceId) => {
191
- console.log(`Source added: ${sourceId}`);
192
- });
193
-
194
- const unsubscribeRemoved = engine.asset.onAssetSourceRemoved((sourceId) => {
195
- console.log(`Source removed: ${sourceId}`);
196
- });
197
-
198
- const unsubscribeUpdated = engine.asset.onAssetSourceUpdated((sourceId) => {
199
- console.log(`Source updated: ${sourceId}`);
200
- });
201
-
202
- // Demonstrate events by creating and removing a source
203
- engine.asset.addLocalSource('event-demo-source');
204
- engine.asset.assetSourceContentsChanged('event-demo-source');
205
- engine.asset.removeSource('event-demo-source');
206
-
207
- // Clean up subscriptions when no longer needed
208
- unsubscribeAdded();
209
- unsubscribeRemoved();
210
- unsubscribeUpdated();
211
-
212
- // ===== Configure Asset Library Display =====
213
- // Configure the asset library to show our custom source
214
- cesdk.ui.updateAssetLibraryEntry('ly.img.image', {
215
- sourceIds: ['my-uploads'],
216
- gridBackgroundType: 'cover',
217
- previewBackgroundType: 'contain'
218
- });
219
-
220
- // Open the asset library to show the custom uploads
221
- cesdk.ui.openPanel('//ly.img.panel/assetLibrary', {
222
- payload: {
223
- entries: ['ly.img.image']
224
- }
225
- });
77
+ });
78
+
79
+ engine.asset.addAssetToSource('server-uploads', {
80
+ id: 'asset-3',
81
+ label: { en: 'Sample Image 3' },
82
+ tags: { en: ['sample', 'landscape'] },
83
+ meta: {
84
+ uri: 'https://img.ly/static/ubq_samples/sample_3.jpg',
85
+ blockType: '//ly.img.ubq/graphic'
86
+ }
87
+ });
88
+
89
+ console.log('✓ Created local source with 3 assets');
90
+
91
+ // ===== Section 2: Find Assets in a Source =====
92
+ // Query assets from the source to find specific assets
93
+ const result = await engine.asset.findAssets('server-uploads', {
94
+ query: 'sample',
95
+ page: 0,
96
+ perPage: 100
97
+ });
98
+
99
+ console.log('Found assets:', result.assets.length);
100
+ for (const asset of result.assets) {
101
+ console.log(` - ${asset.id}: ${asset.label}`);
102
+ }
103
+
104
+ // ===== Section 3: Update Asset Metadata =====
105
+ // To update an asset's metadata, remove it and add an updated version
106
+ engine.asset.removeAssetFromSource('server-uploads', 'asset-1');
107
+
108
+ // Add the updated version with new metadata
109
+ engine.asset.addAssetToSource('server-uploads', {
110
+ id: 'asset-1',
111
+ label: { en: 'Updated Sample Image' }, // New label
112
+ tags: { en: ['sample', 'image', 'updated'] }, // New tags
113
+ meta: {
114
+ uri: 'https://img.ly/static/ubq_samples/sample_1.jpg',
115
+ blockType: '//ly.img.ubq/graphic'
116
+ }
117
+ });
118
+
119
+ console.log('✓ Updated asset-1 metadata');
120
+
121
+ // ===== Section 4: Remove an Asset from a Source =====
122
+ // Remove a single asset from the source
123
+ // The asset is permanently deleted from the source
124
+ engine.asset.removeAssetFromSource('server-uploads', 'asset-2');
125
+ console.log('✓ Removed asset-2 from server-uploads');
126
+
127
+ // Verify the asset was removed
128
+ const afterRemove = await engine.asset.findAssets('server-uploads', {
129
+ page: 0,
130
+ perPage: 100
131
+ });
132
+ console.log('Remaining assets:', afterRemove.assets.length);
133
+
134
+ // ===== Section 5: Notify UI of Changes =====
135
+ // After modifying assets, notify any connected UI components
136
+ // In server context, this ensures any connected clients are updated
137
+ engine.asset.assetSourceContentsChanged('server-uploads');
138
+ console.log('✓ Notified UI of source changes');
139
+
140
+ // ===== Section 6: Create a Temporary Source =====
141
+ // Create a temporary source that will be removed
142
+ engine.asset.addLocalSource('temp-source');
143
+
144
+ engine.asset.addAssetToSource('temp-source', {
145
+ id: 'temp-asset',
146
+ label: { en: 'Temporary Asset' },
147
+ meta: {
148
+ uri: 'https://img.ly/static/ubq_samples/sample_4.jpg',
149
+ blockType: '//ly.img.ubq/graphic'
150
+ }
151
+ });
152
+
153
+ console.log('✓ Created temporary source with 1 asset');
154
+
155
+ // ===== Section 7: Remove an Entire Asset Source =====
156
+ // Remove a complete asset source and all its assets
157
+ engine.asset.removeSource('temp-source');
158
+ console.log('✓ Removed temp-source and all its assets');
159
+
160
+ // ===== Section 8: Listen to Asset Source Events =====
161
+ // Subscribe to lifecycle events for asset sources
162
+ const unsubscribeAdded = engine.asset.onAssetSourceAdded((sourceId) => {
163
+ console.log(`Event: Source added - ${sourceId}`);
164
+ });
165
+
166
+ const unsubscribeRemoved = engine.asset.onAssetSourceRemoved((sourceId) => {
167
+ console.log(`Event: Source removed - ${sourceId}`);
168
+ });
169
+
170
+ const unsubscribeUpdated = engine.asset.onAssetSourceUpdated((sourceId) => {
171
+ console.log(`Event: Source updated - ${sourceId}`);
172
+ });
173
+
174
+ // Demonstrate events
175
+ engine.asset.addLocalSource('event-demo');
176
+ engine.asset.assetSourceContentsChanged('event-demo');
177
+ engine.asset.removeSource('event-demo');
178
+
179
+ // Clean up subscriptions
180
+ unsubscribeAdded();
181
+ unsubscribeRemoved();
182
+ unsubscribeUpdated();
183
+
184
+ // ===== Add an Image to the Scene =====
185
+ // Use an asset from the remaining source to create a block
186
+ const imageBlock = engine.block.create('graphic');
187
+ engine.block.setShape(imageBlock, engine.block.createShape('rect'));
188
+ const imageFill = engine.block.createFill('image');
189
+ engine.block.setString(
190
+ imageFill,
191
+ 'fill/image/imageFileURI',
192
+ 'https://img.ly/static/ubq_samples/sample_1.jpg'
193
+ );
194
+ engine.block.setFill(imageBlock, imageFill);
195
+ engine.block.setWidth(imageBlock, 400);
196
+ engine.block.setHeight(imageBlock, 300);
197
+ engine.block.setPositionX(imageBlock, 200);
198
+ engine.block.setPositionY(imageBlock, 150);
199
+ engine.block.appendChild(page, imageBlock);
200
+
201
+ // Export the result to PNG
202
+ const outputDir = './output';
203
+ if (!existsSync(outputDir)) {
204
+ mkdirSync(outputDir, { recursive: true });
226
205
  }
227
- }
228
206
 
229
- export default Example;
207
+ const blob = await engine.block.export(page, { mimeType: 'image/png' });
208
+ const buffer = Buffer.from(await blob.arrayBuffer());
209
+ writeFileSync(`${outputDir}/edit-or-remove-assets-result.png`, buffer);
210
+
211
+ console.log('✓ Exported result to output/edit-or-remove-assets-result.png');
212
+ } finally {
213
+ // Always dispose the engine to free resources
214
+ engine.dispose();
215
+ }
230
216
  ```
231
217
 
232
218
  ## Setup
233
219
 
234
- Initialize CE.SDK and create a local asset source with sample assets. The example creates a design scene and populates a local source with images.
220
+ Initialize the headless CE.SDK engine for server-side processing. The engine runs without a UI, making it suitable for automated asset management.
235
221
 
236
222
  ```typescript highlight=highlight-setup
237
- await cesdk.addPlugin(new DesignEditorConfig());
238
-
239
- // Add asset source plugins
240
- await cesdk.addPlugin(new BlurAssetSource());
241
- await cesdk.addPlugin(new ColorPaletteAssetSource());
242
- await cesdk.addPlugin(new CropPresetsAssetSource());
243
- await cesdk.addPlugin(
244
- new UploadAssetSources({ include: ['ly.img.image.upload'] })
245
- );
246
- await cesdk.addPlugin(
247
- new DemoAssetSources({
248
- include: [
249
- 'ly.img.templates.blank.*',
250
- 'ly.img.templates.presentation.*',
251
- 'ly.img.templates.print.*',
252
- 'ly.img.templates.social.*',
253
- 'ly.img.image.*'
254
- ]
255
- })
256
- );
257
- await cesdk.addPlugin(new EffectsAssetSource());
258
- await cesdk.addPlugin(new FiltersAssetSource());
259
- await cesdk.addPlugin(new PagePresetsAssetSource());
260
- await cesdk.addPlugin(new StickerAssetSource());
261
- await cesdk.addPlugin(new TextAssetSource());
262
- await cesdk.addPlugin(new TextComponentAssetSource());
263
- await cesdk.addPlugin(new TypefaceAssetSource());
264
- await cesdk.addPlugin(new VectorShapeAssetSource());
265
-
266
- await cesdk.actions.run('scene.create', {
267
- page: {
268
- sourceId: 'ly.img.page.presets',
269
- assetId: 'ly.img.page.presets.print.iso.a6.landscape'
270
- }
223
+ // Initialize CE.SDK engine in headless mode
224
+ const engine = await CreativeEngine.init({
225
+ baseURL: process.env.IMGLY_LOCAL_ASSETS_URL
226
+ // license: process.env.CESDK_LICENSE, // Optional (trial mode available)
271
227
  });
272
-
273
- const engine = cesdk.engine;
274
228
  ```
275
229
 
276
230
  ## Creating a Local Asset Source
277
231
 
278
- Before editing or removing assets, you need a local source with assets. Use `engine.asset.addLocalSource()` to create a source, then `engine.asset.addAssetToSource()` to populate it.
232
+ Create a local source and populate it with assets. Use `engine.asset.addLocalSource()` to create the source, then `engine.asset.addAssetToSource()` to add assets.
279
233
 
280
234
  ```typescript highlight=highlight-create-source
281
- // Create a local asset source to manage images
282
- engine.asset.addLocalSource('my-uploads');
283
-
284
- // Add some sample assets to the source
285
- engine.asset.addAssetToSource('my-uploads', {
286
- id: 'image-1',
287
- label: { en: 'Mountain Landscape' },
288
- tags: { en: ['nature', 'mountain'] },
289
- meta: {
290
- uri: 'https://img.ly/static/ubq_samples/sample_1.jpg',
291
- thumbUri: 'https://img.ly/static/ubq_samples/sample_1.jpg',
292
- blockType: '//ly.img.ubq/graphic'
293
- }
294
- });
295
-
296
- engine.asset.addAssetToSource('my-uploads', {
297
- id: 'image-2',
298
- label: { en: 'Ocean Waves' },
299
- tags: { en: ['nature', 'water'] },
300
- meta: {
301
- uri: 'https://img.ly/static/ubq_samples/sample_2.jpg',
302
- thumbUri: 'https://img.ly/static/ubq_samples/sample_2.jpg',
303
- blockType: '//ly.img.ubq/graphic'
304
- }
305
- });
235
+ // Create a local asset source to manage images
236
+ engine.asset.addLocalSource('server-uploads');
237
+
238
+ // Add sample assets to the source
239
+ engine.asset.addAssetToSource('server-uploads', {
240
+ id: 'asset-1',
241
+ label: { en: 'Sample Image 1' },
242
+ tags: { en: ['sample', 'image'] },
243
+ meta: {
244
+ uri: 'https://img.ly/static/ubq_samples/sample_1.jpg',
245
+ blockType: '//ly.img.ubq/graphic'
246
+ }
247
+ });
248
+
249
+ engine.asset.addAssetToSource('server-uploads', {
250
+ id: 'asset-2',
251
+ label: { en: 'Sample Image 2' },
252
+ tags: { en: ['sample', 'photo'] },
253
+ meta: {
254
+ uri: 'https://img.ly/static/ubq_samples/sample_2.jpg',
255
+ blockType: '//ly.img.ubq/graphic'
256
+ }
257
+ });
258
+
259
+ engine.asset.addAssetToSource('server-uploads', {
260
+ id: 'asset-3',
261
+ label: { en: 'Sample Image 3' },
262
+ tags: { en: ['sample', 'landscape'] },
263
+ meta: {
264
+ uri: 'https://img.ly/static/ubq_samples/sample_3.jpg',
265
+ blockType: '//ly.img.ubq/graphic'
266
+ }
267
+ });
306
268
 
307
- engine.asset.addAssetToSource('my-uploads', {
308
- id: 'image-3',
309
- label: { en: 'Forest Path' },
310
- tags: { en: ['nature', 'forest'] },
311
- meta: {
312
- uri: 'https://img.ly/static/ubq_samples/sample_3.jpg',
313
- thumbUri: 'https://img.ly/static/ubq_samples/sample_3.jpg',
314
- blockType: '//ly.img.ubq/graphic'
315
- }
316
- });
269
+ console.log('✓ Created local source with 3 assets');
317
270
  ```
318
271
 
319
- Each asset has a unique `id`, descriptive `label` and `tags` for searchability, and `meta` properties including the `uri` for the asset file.
272
+ Each asset has a unique `id` for identification, a `label` and `tags` for searchability, and `meta` properties containing the asset `uri` and `blockType`.
320
273
 
321
274
  ## Finding Assets in a Source
322
275
 
323
- Use `engine.asset.findAssets()` to query assets from a source. You can search by query string to match labels and tags, and paginate results for large sources.
276
+ Query assets from a source using `engine.asset.findAssets()`. This method supports search queries and pagination for handling large asset collections.
324
277
 
325
278
  ```typescript highlight=highlight-find-assets
326
- // Query assets from the source to find specific assets
327
- const result = await engine.asset.findAssets('my-uploads', {
328
- query: 'nature',
329
- page: 0,
330
- perPage: 100
331
- });
332
-
333
- console.log('Found assets:', result.assets.length);
334
- const assetToModify = result.assets.find((a) => a.id === 'image-1');
335
- console.log('Asset to modify:', assetToModify?.label);
279
+ // Query assets from the source to find specific assets
280
+ const result = await engine.asset.findAssets('server-uploads', {
281
+ query: 'sample',
282
+ page: 0,
283
+ perPage: 100
284
+ });
285
+
286
+ console.log('Found assets:', result.assets.length);
287
+ for (const asset of result.assets) {
288
+ console.log(` - ${asset.id}: ${asset.label}`);
289
+ }
336
290
  ```
337
291
 
338
- The `findAssets()` method returns an object containing the `assets` array, `total` count, `currentPage`, and optionally `nextPage` for pagination.
292
+ The `findAssets()` method returns an object with the `assets` array, `total` count, and pagination information. Use this to locate specific assets before modification or removal.
339
293
 
340
294
  ## Updating Asset Metadata
341
295
 
342
- CE.SDK does not provide a direct update method for assets. To modify an asset's metadata (labels, tags, URIs), remove the existing asset and add an updated version with the same ID.
296
+ To update an asset's metadata, remove the existing asset and add a new version with the same ID. CE.SDK does not provide a direct update method.
343
297
 
344
298
  ```typescript highlight=highlight-update-metadata
345
- // To update an asset's metadata, remove it and add an updated version
346
- // This pattern ensures the asset library reflects the latest data
347
- engine.asset.removeAssetFromSource('my-uploads', 'image-1');
348
-
349
- // Add the updated version with new metadata
350
- engine.asset.addAssetToSource('my-uploads', {
351
- id: 'image-1',
352
- label: { en: 'Updated Mountain Photo' }, // New label
353
- tags: { en: ['nature', 'mountain', 'updated'] }, // New tags
354
- meta: {
355
- uri: 'https://img.ly/static/ubq_samples/sample_1.jpg',
356
- thumbUri: 'https://img.ly/static/ubq_samples/sample_1.jpg',
357
- blockType: '//ly.img.ubq/graphic'
358
- }
359
- });
299
+ // To update an asset's metadata, remove it and add an updated version
300
+ engine.asset.removeAssetFromSource('server-uploads', 'asset-1');
301
+
302
+ // Add the updated version with new metadata
303
+ engine.asset.addAssetToSource('server-uploads', {
304
+ id: 'asset-1',
305
+ label: { en: 'Updated Sample Image' }, // New label
306
+ tags: { en: ['sample', 'image', 'updated'] }, // New tags
307
+ meta: {
308
+ uri: 'https://img.ly/static/ubq_samples/sample_1.jpg',
309
+ blockType: '//ly.img.ubq/graphic'
310
+ }
311
+ });
312
+
313
+ console.log('✓ Updated asset-1 metadata');
360
314
  ```
361
315
 
362
- This pattern ensures the asset library reflects the latest metadata. The asset ID remains the same, so any references to the asset continue to work.
316
+ This pattern preserves the asset ID while updating labels, tags, URIs, or other metadata. Any references to the asset ID remain valid after the update.
363
317
 
364
318
  ## Removing an Asset from a Source
365
319
 
366
- Remove individual assets using `engine.asset.removeAssetFromSource()`. The asset is permanently deleted from the source, but blocks already using that asset on the canvas remain unaffected.
320
+ Remove individual assets using `engine.asset.removeAssetFromSource()`. The asset is permanently deleted from the source.
367
321
 
368
322
  ```typescript highlight=highlight-remove-asset
369
- // Remove a single asset from the source
370
- // Blocks already using this asset on the canvas remain unaffected
371
- engine.asset.removeAssetFromSource('my-uploads', 'image-2');
372
- console.log('Removed image-2 from my-uploads');
323
+ // Remove a single asset from the source
324
+ // The asset is permanently deleted from the source
325
+ engine.asset.removeAssetFromSource('server-uploads', 'asset-2');
326
+ console.log('Removed asset-2 from server-uploads');
327
+
328
+ // Verify the asset was removed
329
+ const afterRemove = await engine.asset.findAssets('server-uploads', {
330
+ page: 0,
331
+ perPage: 100
332
+ });
333
+ console.log('Remaining assets:', afterRemove.assets.length);
373
334
  ```
374
335
 
375
- Removing an asset only affects the asset library—it does not modify or delete any blocks that were created using that asset.
336
+ In server-side workflows, verify the removal by querying the source again. This is useful for automated cleanup or user-initiated deletions.
376
337
 
377
- ## Notifying the UI of Changes
338
+ ## Signaling Source Changes
378
339
 
379
- After modifying assets in a source, call `engine.asset.assetSourceContentsChanged()` to notify UI components. This triggers update events for the asset library panel and any other components displaying the source.
340
+ After modifying assets, you can call `engine.asset.assetSourceContentsChanged()` to signal that the source contents have changed. This is primarily useful when synchronizing state with connected browser clients. For standalone batch processing, this call is optional.
380
341
 
381
342
  ```typescript highlight=highlight-notify-ui
382
- // After modifying assets, notify the UI to refresh
383
- // This triggers update events for components like the asset library panel
384
- engine.asset.assetSourceContentsChanged('my-uploads');
343
+ // After modifying assets, notify any connected UI components
344
+ // In server context, this ensures any connected clients are updated
345
+ engine.asset.assetSourceContentsChanged('server-uploads');
346
+ console.log('✓ Notified UI of source changes');
385
347
  ```
386
348
 
387
- Without this notification, UI components may show stale data until the user navigates away and returns.
349
+ ## Creating Temporary Sources
388
350
 
389
- ## Creating a Temporary Source
390
-
391
- You can create additional sources for temporary or session-specific assets. These sources can be removed entirely when no longer needed.
351
+ Create sources for temporary or session-specific assets that can be removed when no longer needed.
392
352
 
393
353
  ```typescript highlight=highlight-create-temp-source
394
- // Create a temporary source to demonstrate source removal
395
- engine.asset.addLocalSource('temporary-uploads');
396
-
397
- engine.asset.addAssetToSource('temporary-uploads', {
398
- id: 'temp-1',
399
- label: { en: 'Temporary Image' },
400
- meta: {
401
- uri: 'https://img.ly/static/ubq_samples/sample_4.jpg',
402
- thumbUri: 'https://img.ly/static/ubq_samples/sample_4.jpg',
403
- blockType: '//ly.img.ubq/graphic'
404
- }
405
- });
354
+ // Create a temporary source that will be removed
355
+ engine.asset.addLocalSource('temp-source');
356
+
357
+ engine.asset.addAssetToSource('temp-source', {
358
+ id: 'temp-asset',
359
+ label: { en: 'Temporary Asset' },
360
+ meta: {
361
+ uri: 'https://img.ly/static/ubq_samples/sample_4.jpg',
362
+ blockType: '//ly.img.ubq/graphic'
363
+ }
364
+ });
365
+
366
+ console.log('✓ Created temporary source with 1 asset');
406
367
  ```
407
368
 
408
369
  ## Removing an Entire Asset Source
409
370
 
410
- Remove a complete asset source and all its assets using `engine.asset.removeSource()`. Any UI panels displaying this source will stop showing content for that source.
371
+ Remove a complete source and all its assets using `engine.asset.removeSource()`. This is useful for cleanup after processing or when a batch operation completes.
411
372
 
412
373
  ```typescript highlight=highlight-remove-source
413
374
  // Remove a complete asset source and all its assets
414
- // Any UI panels displaying this source will stop showing content
415
- engine.asset.removeSource('temporary-uploads');
416
- console.log('Removed temporary-uploads source');
375
+ engine.asset.removeSource('temp-source');
376
+ console.log('✓ Removed temp-source and all its assets');
417
377
  ```
418
378
 
419
- Use this when cleaning up temporary sources or when a user explicitly deletes an entire category of assets.
420
-
421
379
  ## Listening to Asset Source Events
422
380
 
423
- Subscribe to lifecycle events to react when sources are added, removed, or updated. These events are useful for analytics, cleanup tasks, or syncing with external systems.
381
+ Subscribe to lifecycle events to track source changes. This is useful for logging, analytics, or triggering downstream processes.
424
382
 
425
383
  ```typescript highlight=highlight-events
426
- // Subscribe to lifecycle events for asset sources
427
- const unsubscribeAdded = engine.asset.onAssetSourceAdded((sourceId) => {
428
- console.log(`Source added: ${sourceId}`);
429
- });
384
+ // Subscribe to lifecycle events for asset sources
385
+ const unsubscribeAdded = engine.asset.onAssetSourceAdded((sourceId) => {
386
+ console.log(`Event: Source added - ${sourceId}`);
387
+ });
388
+
389
+ const unsubscribeRemoved = engine.asset.onAssetSourceRemoved((sourceId) => {
390
+ console.log(`Event: Source removed - ${sourceId}`);
391
+ });
392
+
393
+ const unsubscribeUpdated = engine.asset.onAssetSourceUpdated((sourceId) => {
394
+ console.log(`Event: Source updated - ${sourceId}`);
395
+ });
396
+
397
+ // Demonstrate events
398
+ engine.asset.addLocalSource('event-demo');
399
+ engine.asset.assetSourceContentsChanged('event-demo');
400
+ engine.asset.removeSource('event-demo');
401
+
402
+ // Clean up subscriptions
403
+ unsubscribeAdded();
404
+ unsubscribeRemoved();
405
+ unsubscribeUpdated();
406
+ ```
430
407
 
431
- const unsubscribeRemoved = engine.asset.onAssetSourceRemoved((sourceId) => {
432
- console.log(`Source removed: ${sourceId}`);
433
- });
408
+ Each subscription returns an unsubscribe function. Call it when monitoring is no longer needed.
434
409
 
435
- const unsubscribeUpdated = engine.asset.onAssetSourceUpdated((sourceId) => {
436
- console.log(`Source updated: ${sourceId}`);
437
- });
410
+ ## Exporting Results
411
+
412
+ After processing, export the scene to verify your changes or produce output files.
413
+
414
+ ```typescript highlight=highlight-export
415
+ // Export the result to PNG
416
+ const outputDir = './output';
417
+ if (!existsSync(outputDir)) {
418
+ mkdirSync(outputDir, { recursive: true });
419
+ }
420
+
421
+ const blob = await engine.block.export(page, { mimeType: 'image/png' });
422
+ const buffer = Buffer.from(await blob.arrayBuffer());
423
+ writeFileSync(`${outputDir}/edit-or-remove-assets-result.png`, buffer);
438
424
 
439
- // Demonstrate events by creating and removing a source
440
- engine.asset.addLocalSource('event-demo-source');
441
- engine.asset.assetSourceContentsChanged('event-demo-source');
442
- engine.asset.removeSource('event-demo-source');
425
+ console.log('✓ Exported result to output/edit-or-remove-assets-result.png');
426
+ ```
427
+
428
+ ## Cleanup
443
429
 
444
- // Clean up subscriptions when no longer needed
445
- unsubscribeAdded();
446
- unsubscribeRemoved();
447
- unsubscribeUpdated();
430
+ Always dispose the engine when processing is complete to free resources.
431
+
432
+ ```typescript highlight=highlight-cleanup
433
+ // Always dispose the engine to free resources
434
+ engine.dispose();
448
435
  ```
449
436
 
450
- Each subscription returns an unsubscribe function. Call it when you no longer need to receive events to prevent memory leaks.
437
+ ## Batch Processing Patterns
438
+
439
+ For processing multiple designs or assets:
440
+
441
+ 1. **Initialize once**: Create the engine once and reuse it for multiple operations
442
+ 2. **Process in batches**: Group related operations to minimize API calls
443
+ 3. **Handle errors gracefully**: Wrap operations in try-catch to continue processing after individual failures
444
+ 4. **Dispose at the end**: Only dispose the engine after all processing is complete
451
445
 
452
446
  ## Best Practices
453
447
 
454
- - **Query before modifying**: Use `findAssets()` to verify the asset exists before attempting removal
455
- - **Notify UI after changes**: Always call `assetSourceContentsChanged()` after modifying a source
456
- - **Clean up subscriptions**: Store unsubscribe functions and call them when the component unmounts or the source is removed
457
- - **Handle missing assets gracefully**: Check if `findAssets()` returns the expected asset before operating on it
458
- - **Use descriptive IDs**: Choose asset IDs that are unique and meaningful for easier debugging
448
+ - **Query before modifying**: Verify assets exist before attempting removal to avoid silent failures
449
+ - **Log operations**: Record asset additions, updates, and removals for debugging and audit trails
450
+ - **Use unique IDs**: Generate consistent, unique asset IDs for reliable lookups
451
+ - **Clean up temporary sources**: Remove sources created for batch operations when finished
452
+ - **Handle concurrent access**: In multi-process environments, coordinate asset modifications to prevent conflicts
459
453
 
460
454
  ## Troubleshooting
461
455
 
462
- | Issue | Cause | Solution |
463
- | ------------------- | ------------------------------------ | -------------------------------------------------------- |
464
- | Asset not found | ID mismatch or asset already removed | Use `findAssets()` to list available assets |
465
- | UI not updating | Missing notification | Call `assetSourceContentsChanged()` after modifications |
466
- | Cannot remove asset | Source is not a local source | Only local sources support `removeAssetFromSource()` |
467
- | Events not firing | Subscription not active | Verify the subscription was created before the operation |
456
+ | Issue | Cause | Solution |
457
+ |-------|-------|----------|
458
+ | Asset not found | ID mismatch or already removed | Query the source first to verify asset exists |
459
+ | Operation fails silently | Source is not a local source | Only local sources support `removeAssetFromSource()` |
460
+ | Memory issues | Engine not disposed | Always call `engine.dispose()` in a finally block |
461
+ | Event handlers not firing | Subscription created after operation | Subscribe before performing operations |
468
462
 
469
463
  ## API Reference
470
464
 
471
- | Method | Category | Purpose |
472
- | ------------------------------------------- | ------------------- | -------------------------------------------------------- |
473
- | `engine.asset.findAssets()` | Asset Discovery | Query assets from a source with filtering and pagination |
474
- | `engine.asset.addAssetToSource()` | Asset Lifecycle | Add or update an asset in a local source |
475
- | `engine.asset.removeAssetFromSource()` | Asset Lifecycle | Remove a single asset from a local source |
476
- | `engine.asset.removeSource()` | Source Management | Remove an entire asset source and all its assets |
477
- | `engine.asset.assetSourceContentsChanged()` | UI Notification | Notify UI that source contents changed |
478
- | `engine.asset.onAssetSourceAdded()` | Event Subscriptions | Subscribe to source addition events |
479
- | `engine.asset.onAssetSourceRemoved()` | Event Subscriptions | Subscribe to source removal events |
480
- | `engine.asset.onAssetSourceUpdated()` | Event Subscriptions | Subscribe to source content change events |
465
+ | Method | Category | Purpose |
466
+ |--------|----------|---------|
467
+ | `engine.asset.findAssets()` | Asset Discovery | Query assets from a source with filtering and pagination |
468
+ | `engine.asset.addAssetToSource()` | Asset Lifecycle | Add or update an asset in a local source |
469
+ | `engine.asset.removeAssetFromSource()` | Asset Lifecycle | Remove a single asset from a local source |
470
+ | `engine.asset.removeSource()` | Source Management | Remove an entire asset source and all its assets |
471
+ | `engine.asset.assetSourceContentsChanged()` | UI Notification | Notify connected clients that source contents changed |
472
+ | `engine.asset.onAssetSourceAdded()` | Event Subscriptions | Subscribe to source addition events |
473
+ | `engine.asset.onAssetSourceRemoved()` | Event Subscriptions | Subscribe to source removal events |
474
+ | `engine.asset.onAssetSourceUpdated()` | Event Subscriptions | Subscribe to source content change events |
475
+
476
+
481
477
 
482
478
  ---
483
479
 
484
480
  ## More Resources
485
481
 
486
- - **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
482
+ - **[Node.js Documentation Index](https://img.ly/docs/cesdk/node.md)** - Browse all Node.js documentation
487
483
  - **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
488
- - **[Web Documentation](./js.md)** - Interactive documentation with examples
489
- - **[Support](mailto:support@img.ly)** - Contact IMG.LY support
484
+ - **[Web Documentation](./node.md)** - Interactive documentation with examples
485
+ - **[Support](mailto:support@img.ly)** - Contact IMG.LY support