@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,50 +1,52 @@
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) > [Insert Media Assets](./insert-media.md) > [Insert Shapes or Stickers](./insert-media/shapes-or-stickers.md)
4
4
 
5
5
  ---
6
6
 
7
- Add vector shapes and pre-made stickers to your designs using CE.SDK's block
8
- API. Shapes require fills to be visible and offer type-specific properties
9
- like corner radius and star points.
10
-
11
- ![Insert Shapes or Stickers example showing various shapes on a canvas](https://img.ly/docs/cesdk/./assets/browser.hero.webp)
7
+ Add vector shapes and stickers to designs in headless Node.js environments
8
+ using CE.SDK's block API. Shapes require fills to be visible and offer
9
+ type-specific properties like corner radius and star points.
12
10
 
13
11
  > **Reading time:** 10 minutes
14
12
  >
15
13
  > **Resources:**
16
14
  >
17
15
  > - [Download examples](https://github.com/imgly/cesdk-web-examples/archive/refs/tags/release-$UBQ_VERSION$.zip)
18
- > - [View source on GitHub](https://github.com/imgly/cesdk-web-examples/tree/release-$UBQ_VERSION$/guides-insert-media-shapes-or-stickers-browser)
19
- > - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-insert-media-shapes-or-stickers-browser)
20
- > - [Live demo](https://img.ly/docs/cesdk/examples/guides-insert-media-shapes-or-stickers-browser/)
21
-
22
- Shapes are vector graphics created with `engine.block.createShape()` and attached to graphic blocks. CE.SDK supports six shape types: **rect**, **ellipse**, **star**, **polygon**, **line**, and **vector_path**. Stickers are pre-made graphic assets from sources like `ly.img.sticker`. Both require fills or strokes to be visible on the canvas.
23
-
24
- ```typescript file=@cesdk_web_examples/guides-insert-media-shapes-or-stickers-browser/browser.ts reference-only
25
- import type { EditorPlugin, EditorPluginContext } from '@cesdk/cesdk-js';
26
-
27
- import {
28
- BlurAssetSource,
29
- ColorPaletteAssetSource,
30
- CropPresetsAssetSource,
31
- DemoAssetSources,
32
- EffectsAssetSource,
33
- FiltersAssetSource,
34
- PagePresetsAssetSource,
35
- StickerAssetSource,
36
- TextAssetSource,
37
- TextComponentAssetSource,
38
- TypefaceAssetSource,
39
- UploadAssetSources,
40
- VectorShapeAssetSource
41
- } from '@cesdk/cesdk-js/plugins';
42
- import { DesignEditorConfig } from './design-editor/plugin';
43
- import packageJson from './package.json';
44
- import { calculateGridLayout } from './utils';
16
+ >
17
+ > - [View source on GitHub](https://github.com/imgly/cesdk-web-examples/tree/release-$UBQ_VERSION$/guides-insert-media-shapes-or-stickers-server-js)
18
+ >
19
+ > - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-insert-media-shapes-or-stickers-server-js)
20
+
21
+ Shapes are vector graphics created with `engine.block.createShape()` and attached to graphic blocks. CE.SDK supports six shape types: **rect**, **ellipse**, **star**, **polygon**, **line**, and **vector\_path**. Stickers are pre-made graphic assets loaded via URLs. Both require fills or strokes to be visible.
22
+
23
+ ```typescript file=@cesdk_web_examples/guides-insert-media-shapes-or-stickers-server-js/server-js.ts reference-only
24
+ import CreativeEngine from '@cesdk/node';
25
+ import { writeFileSync, mkdirSync, existsSync } from 'fs';
26
+ import { createInterface } from 'readline';
27
+ import { config } from 'dotenv';
28
+
29
+ // Load environment variables
30
+ config();
31
+
32
+ // Prompt user to confirm export
33
+ async function confirmExport(): Promise<boolean> {
34
+ const rl = createInterface({
35
+ input: process.stdin,
36
+ output: process.stdout
37
+ });
38
+
39
+ return new Promise((resolve) => {
40
+ rl.question('\nExport design to PNG? [Y/n]: ', (answer) => {
41
+ rl.close();
42
+ const normalized = answer.trim().toLowerCase();
43
+ resolve(normalized === '' || normalized === 'y' || normalized === 'yes');
44
+ });
45
+ });
46
+ }
45
47
 
46
48
  /**
47
- * CE.SDK Plugin: Insert Shapes or Stickers Guide
49
+ * CE.SDK Server Guide: Insert Shapes or Stickers
48
50
  *
49
51
  * Demonstrates inserting various shapes and stickers into designs:
50
52
  * - Checking shape support on blocks
@@ -53,80 +55,40 @@ import { calculateGridLayout } from './utils';
53
55
  * - Applying fills to make shapes visible
54
56
  * - Adding stickers using convenience API and manual construction
55
57
  */
56
- class Example implements EditorPlugin {
57
- name = packageJson.name;
58
-
59
- version = packageJson.version;
58
+ async function main() {
59
+ console.log('\n⏳ Initializing CE.SDK engine...');
60
60
 
61
- async initialize({ cesdk }: EditorPluginContext): Promise<void> {
62
- if (cesdk == null) {
63
- throw new Error('CE.SDK instance is required for this plugin');
64
- }
61
+ // Initialize the headless Creative Engine
62
+ const engine = await CreativeEngine.init({
63
+ baseURL: process.env.IMGLY_LOCAL_ASSETS_URL
64
+ // license: process.env.CESDK_LICENSE
65
+ });
65
66
 
66
- await cesdk.addPlugin(new DesignEditorConfig());
67
+ try {
68
+ console.log('⏳ Creating scene and shapes...');
67
69
 
68
- // Add asset source plugins
69
- await cesdk.addPlugin(new BlurAssetSource());
70
- await cesdk.addPlugin(new ColorPaletteAssetSource());
71
- await cesdk.addPlugin(new CropPresetsAssetSource());
72
- await cesdk.addPlugin(
73
- new UploadAssetSources({ include: ['ly.img.image.upload'] })
74
- );
75
- await cesdk.addPlugin(
76
- new DemoAssetSources({
77
- include: [
78
- 'ly.img.templates.blank.*',
79
- 'ly.img.templates.presentation.*',
80
- 'ly.img.templates.print.*',
81
- 'ly.img.templates.social.*',
82
- 'ly.img.image.*'
83
- ]
84
- })
85
- );
86
- await cesdk.addPlugin(new EffectsAssetSource());
87
- await cesdk.addPlugin(new FiltersAssetSource());
88
- await cesdk.addPlugin(new PagePresetsAssetSource());
89
- await cesdk.addPlugin(new StickerAssetSource());
90
- await cesdk.addPlugin(new TextAssetSource());
91
- await cesdk.addPlugin(new TextComponentAssetSource());
92
- await cesdk.addPlugin(new TypefaceAssetSource());
93
- await cesdk.addPlugin(new VectorShapeAssetSource());
94
-
95
- await cesdk.actions.run('scene.create', {
96
- page: { width: 800, height: 600, unit: 'Pixel' }
70
+ // Create a scene with a page
71
+ engine.scene.create('VerticalStack', {
72
+ page: { size: { width: 800, height: 600 } }
97
73
  });
98
74
 
99
- const engine = cesdk.engine;
100
75
  const page = engine.block.findByType('page')[0];
101
76
  if (!engine.block.isValid(page)) {
102
77
  throw new Error('No page found');
103
78
  }
104
79
 
105
- const pageWidth = engine.block.getWidth(page);
106
- const pageHeight = engine.block.getHeight(page);
107
-
108
- // Calculate responsive grid layout based on page dimensions
109
- const layout = calculateGridLayout(pageWidth, pageHeight, 10);
110
- const { blockWidth, blockHeight, getPosition } = layout;
111
- const blockSize = { width: blockWidth, height: blockHeight };
112
-
113
80
  // Check if a block supports shapes before attaching one
114
81
  const testBlock = engine.block.create('graphic');
115
82
  const supportsShape = engine.block.supportsShape(testBlock);
116
- // eslint-disable-next-line no-console
117
83
  console.log('Graphic block supports shapes:', supportsShape); // true
118
84
 
119
85
  // Text blocks do not support shapes
120
86
  const textBlock = engine.block.create('text');
121
87
  const textSupportsShape = engine.block.supportsShape(textBlock);
122
- // eslint-disable-next-line no-console
123
88
  console.log('Text block supports shapes:', textSupportsShape); // false
124
89
  engine.block.destroy(textBlock);
125
90
  engine.block.destroy(testBlock);
126
91
 
127
- // Track all created blocks for positioning
128
- const allBlocks: number[] = [];
129
-
130
92
  // Create a rectangle with a solid color fill
131
93
  const rectBlock = engine.block.create('graphic');
132
94
  const rectShape = engine.block.createShape('rect');
@@ -142,10 +104,11 @@ class Example implements EditorPlugin {
142
104
  });
143
105
  engine.block.setFill(rectBlock, rectFill);
144
106
 
145
- engine.block.setWidth(rectBlock, blockWidth);
146
- engine.block.setHeight(rectBlock, blockHeight);
107
+ engine.block.setWidth(rectBlock, 100);
108
+ engine.block.setHeight(rectBlock, 100);
109
+ engine.block.setPositionX(rectBlock, 50);
110
+ engine.block.setPositionY(rectBlock, 50);
147
111
  engine.block.appendChild(page, rectBlock);
148
- allBlocks.push(rectBlock);
149
112
 
150
113
  // Create a rounded rectangle with corner radius
151
114
  const roundedRectBlock = engine.block.create('graphic');
@@ -167,10 +130,11 @@ class Example implements EditorPlugin {
167
130
  });
168
131
  engine.block.setFill(roundedRectBlock, roundedRectFill);
169
132
 
170
- engine.block.setWidth(roundedRectBlock, blockWidth);
171
- engine.block.setHeight(roundedRectBlock, blockHeight);
133
+ engine.block.setWidth(roundedRectBlock, 100);
134
+ engine.block.setHeight(roundedRectBlock, 100);
135
+ engine.block.setPositionX(roundedRectBlock, 180);
136
+ engine.block.setPositionY(roundedRectBlock, 50);
172
137
  engine.block.appendChild(page, roundedRectBlock);
173
- allBlocks.push(roundedRectBlock);
174
138
 
175
139
  // Create an ellipse (circle when width equals height)
176
140
  const ellipseBlock = engine.block.create('graphic');
@@ -186,10 +150,11 @@ class Example implements EditorPlugin {
186
150
  });
187
151
  engine.block.setFill(ellipseBlock, ellipseFill);
188
152
 
189
- engine.block.setWidth(ellipseBlock, blockWidth);
190
- engine.block.setHeight(ellipseBlock, blockHeight);
153
+ engine.block.setWidth(ellipseBlock, 100);
154
+ engine.block.setHeight(ellipseBlock, 100);
155
+ engine.block.setPositionX(ellipseBlock, 310);
156
+ engine.block.setPositionY(ellipseBlock, 50);
191
157
  engine.block.appendChild(page, ellipseBlock);
192
- allBlocks.push(ellipseBlock);
193
158
 
194
159
  // Create a star with custom points and inner diameter
195
160
  const starBlock = engine.block.create('graphic');
@@ -209,10 +174,11 @@ class Example implements EditorPlugin {
209
174
  });
210
175
  engine.block.setFill(starBlock, starFill);
211
176
 
212
- engine.block.setWidth(starBlock, blockWidth);
213
- engine.block.setHeight(starBlock, blockHeight);
177
+ engine.block.setWidth(starBlock, 100);
178
+ engine.block.setHeight(starBlock, 100);
179
+ engine.block.setPositionX(starBlock, 440);
180
+ engine.block.setPositionY(starBlock, 50);
214
181
  engine.block.appendChild(page, starBlock);
215
- allBlocks.push(starBlock);
216
182
 
217
183
  // Create a polygon (hexagon with 6 sides)
218
184
  const polygonBlock = engine.block.create('graphic');
@@ -231,10 +197,11 @@ class Example implements EditorPlugin {
231
197
  });
232
198
  engine.block.setFill(polygonBlock, polygonFill);
233
199
 
234
- engine.block.setWidth(polygonBlock, blockWidth);
235
- engine.block.setHeight(polygonBlock, blockHeight);
200
+ engine.block.setWidth(polygonBlock, 100);
201
+ engine.block.setHeight(polygonBlock, 100);
202
+ engine.block.setPositionX(polygonBlock, 570);
203
+ engine.block.setPositionY(polygonBlock, 50);
236
204
  engine.block.appendChild(page, polygonBlock);
237
- allBlocks.push(polygonBlock);
238
205
 
239
206
  // Create a line shape
240
207
  const lineBlock = engine.block.create('graphic');
@@ -251,10 +218,11 @@ class Example implements EditorPlugin {
251
218
  a: 1.0
252
219
  });
253
220
 
254
- engine.block.setWidth(lineBlock, blockWidth);
255
- engine.block.setHeight(lineBlock, blockHeight);
221
+ engine.block.setWidth(lineBlock, 100);
222
+ engine.block.setHeight(lineBlock, 100);
223
+ engine.block.setPositionX(lineBlock, 50);
224
+ engine.block.setPositionY(lineBlock, 200);
256
225
  engine.block.appendChild(page, lineBlock);
257
- allBlocks.push(lineBlock);
258
226
 
259
227
  // Create a custom triangle using vector path
260
228
  const vectorPathBlock = engine.block.create('graphic');
@@ -278,25 +246,26 @@ class Example implements EditorPlugin {
278
246
  });
279
247
  engine.block.setFill(vectorPathBlock, vectorPathFill);
280
248
 
281
- engine.block.setWidth(vectorPathBlock, blockWidth);
282
- engine.block.setHeight(vectorPathBlock, blockHeight);
249
+ engine.block.setWidth(vectorPathBlock, 100);
250
+ engine.block.setHeight(vectorPathBlock, 100);
251
+ engine.block.setPositionX(vectorPathBlock, 180);
252
+ engine.block.setPositionY(vectorPathBlock, 200);
283
253
  engine.block.appendChild(page, vectorPathBlock);
284
- allBlocks.push(vectorPathBlock);
285
254
 
286
255
  // Discover available properties for a shape
287
256
  const shapeProperties = engine.block.findAllProperties(starShape);
288
- // eslint-disable-next-line no-console
289
257
  console.log('Star shape properties:', shapeProperties);
290
258
 
291
259
  // Add a sticker using the convenience API
292
260
  const stickerUrl =
293
261
  'https://cdn.img.ly/assets/v4/ly.img.sticker/images/emoticons/imgly_sticker_emoticons_grin.svg';
294
262
  const stickerBlock = await engine.block.addImage(stickerUrl, {
295
- size: blockSize
263
+ size: { width: 100, height: 100 }
296
264
  });
297
265
  engine.block.setKind(stickerBlock, 'sticker');
266
+ engine.block.setPositionX(stickerBlock, 310);
267
+ engine.block.setPositionY(stickerBlock, 200);
298
268
  engine.block.appendChild(page, stickerBlock);
299
- allBlocks.push(stickerBlock);
300
269
 
301
270
  // Add a sticker using manual construction for more control
302
271
  const manualStickerBlock = engine.block.create('graphic');
@@ -320,107 +289,67 @@ class Example implements EditorPlugin {
320
289
  // Set kind to 'sticker' for proper categorization
321
290
  engine.block.setKind(manualStickerBlock, 'sticker');
322
291
 
323
- engine.block.setWidth(manualStickerBlock, blockWidth);
324
- engine.block.setHeight(manualStickerBlock, blockHeight);
292
+ engine.block.setWidth(manualStickerBlock, 100);
293
+ engine.block.setHeight(manualStickerBlock, 100);
294
+ engine.block.setPositionX(manualStickerBlock, 440);
295
+ engine.block.setPositionY(manualStickerBlock, 200);
325
296
  engine.block.appendChild(page, manualStickerBlock);
326
- allBlocks.push(manualStickerBlock);
327
297
 
328
- // Query stickers from the asset library
329
- const stickerResults = await engine.asset.findAssets('ly.img.sticker', {
330
- page: 0,
331
- perPage: 5
332
- });
333
- // eslint-disable-next-line no-console
334
- console.log('Available stickers:', stickerResults.assets.length);
335
-
336
- // Position all blocks in grid layout
337
- allBlocks.forEach((block, index) => {
338
- const pos = getPosition(index);
339
- engine.block.setPositionX(block, pos.x);
340
- engine.block.setPositionY(block, pos.y);
341
- });
342
-
343
- // Select the star block to show it in the inspector
344
- engine.block.setSelected(starBlock, true);
345
-
346
- // Set zoom to auto-fit the page
347
- await cesdk.actions.run('zoom.toPage', { autoFit: true });
348
-
349
- // eslint-disable-next-line no-console
350
- console.log('Shapes and stickers guide initialized.');
298
+ // Export the result to a file after user confirmation
299
+ const shouldExport = await confirmExport();
300
+ if (shouldExport) {
301
+ console.log('\n⏳ Exporting design...');
302
+ const outputDir = './output';
303
+ if (!existsSync(outputDir)) {
304
+ mkdirSync(outputDir, { recursive: true });
305
+ }
306
+
307
+ const blob = await engine.block.export(page, { mimeType: 'image/png' });
308
+ const buffer = Buffer.from(await blob.arrayBuffer());
309
+ const outputPath = `${outputDir}/shapes-and-stickers.png`;
310
+ writeFileSync(outputPath, buffer);
311
+
312
+ console.log(`\n✅ Exported result to ${outputPath}`);
313
+ } else {
314
+ console.log('\n⏭️ Export skipped.');
315
+ }
316
+ } finally {
317
+ // Always dispose of the engine to free resources
318
+ engine.dispose();
319
+ console.log('🧹 Engine disposed');
351
320
  }
352
321
  }
353
322
 
354
- export default Example;
323
+ main().catch(console.error);
355
324
  ```
356
325
 
357
- This guide covers using the built-in shapes panel for interactive editing and inserting shapes and stickers programmatically using the block API.
358
-
359
- ## Using the Built-in UI
360
-
361
- ### Shapes Panel
362
-
363
- Users access shapes through the asset library panel. The shapes panel displays available shape types that can be placed onto the canvas with a single click.
364
-
365
- Once placed, shapes can be:
366
-
367
- - **Resized** by dragging corner handles
368
- - **Rotated** using the rotation handle
369
- - **Styled** through the inspector panel (fills, strokes, opacity)
370
- - **Positioned** by dragging or using alignment tools
371
-
372
- ### Stickers Panel
373
-
374
- Stickers appear in the asset library under their categories. Users browse available stickers and add them to the canvas with a single click. Stickers maintain their aspect ratio when resized.
326
+ This guide covers creating shapes and stickers programmatically using the block API in a headless server environment.
375
327
 
376
328
  ## Programmatic Shape Creation
377
329
 
378
330
  ### Initialize CE.SDK
379
331
 
380
- Set up CE.SDK and configure the scene dimensions for your shapes.
332
+ Set up CE.SDK in headless mode using `@cesdk/node`. Create a scene with a page to hold your shapes.
381
333
 
382
334
  ```typescript highlight-setup
383
- await cesdk.addPlugin(new DesignEditorConfig());
384
-
385
- // Add asset source plugins
386
- await cesdk.addPlugin(new BlurAssetSource());
387
- await cesdk.addPlugin(new ColorPaletteAssetSource());
388
- await cesdk.addPlugin(new CropPresetsAssetSource());
389
- await cesdk.addPlugin(
390
- new UploadAssetSources({ include: ['ly.img.image.upload'] })
391
- );
392
- await cesdk.addPlugin(
393
- new DemoAssetSources({
394
- include: [
395
- 'ly.img.templates.blank.*',
396
- 'ly.img.templates.presentation.*',
397
- 'ly.img.templates.print.*',
398
- 'ly.img.templates.social.*',
399
- 'ly.img.image.*'
400
- ]
401
- })
402
- );
403
- await cesdk.addPlugin(new EffectsAssetSource());
404
- await cesdk.addPlugin(new FiltersAssetSource());
405
- await cesdk.addPlugin(new PagePresetsAssetSource());
406
- await cesdk.addPlugin(new StickerAssetSource());
407
- await cesdk.addPlugin(new TextAssetSource());
408
- await cesdk.addPlugin(new TextComponentAssetSource());
409
- await cesdk.addPlugin(new TypefaceAssetSource());
410
- await cesdk.addPlugin(new VectorShapeAssetSource());
411
-
412
- await cesdk.actions.run('scene.create', {
413
- page: { width: 800, height: 600, unit: 'Pixel' }
414
- });
415
-
416
- const engine = cesdk.engine;
417
- const page = engine.block.findByType('page')[0];
418
- if (!engine.block.isValid(page)) {
419
- throw new Error('No page found');
420
- }
335
+ // Initialize the headless Creative Engine
336
+ const engine = await CreativeEngine.init({
337
+ baseURL: process.env.IMGLY_LOCAL_ASSETS_URL
338
+ // license: process.env.CESDK_LICENSE
339
+ });
340
+
341
+ try {
342
+ console.log('⏳ Creating scene and shapes...');
343
+
344
+ // Create a scene with a page
345
+ engine.scene.create('VerticalStack', {
346
+ page: { size: { width: 800, height: 600 } }
347
+ });
421
348
 
422
- const pageWidth = engine.block.getWidth(page);
423
- const pageHeight = engine.block.getHeight(page);
349
+ const page = engine.block.findByType('page')[0];
350
+ if (!engine.block.isValid(page)) {
351
+ throw new Error('No page found');
352
+ }
424
353
  ```
425
354
 
426
355
  ### Check Shape Support
@@ -428,19 +357,17 @@ const pageHeight = engine.block.getHeight(page);
428
357
  Before attaching a shape to a block, verify it supports shapes using `supportsShape()`. Graphic blocks support shapes while text blocks do not.
429
358
 
430
359
  ```typescript highlight-check-shape-support
431
- // Check if a block supports shapes before attaching one
432
- const testBlock = engine.block.create('graphic');
433
- const supportsShape = engine.block.supportsShape(testBlock);
434
- // eslint-disable-next-line no-console
435
- console.log('Graphic block supports shapes:', supportsShape); // true
436
-
437
- // Text blocks do not support shapes
438
- const textBlock = engine.block.create('text');
439
- const textSupportsShape = engine.block.supportsShape(textBlock);
440
- // eslint-disable-next-line no-console
441
- console.log('Text block supports shapes:', textSupportsShape); // false
442
- engine.block.destroy(textBlock);
443
- engine.block.destroy(testBlock);
360
+ // Check if a block supports shapes before attaching one
361
+ const testBlock = engine.block.create('graphic');
362
+ const supportsShape = engine.block.supportsShape(testBlock);
363
+ console.log('Graphic block supports shapes:', supportsShape); // true
364
+
365
+ // Text blocks do not support shapes
366
+ const textBlock = engine.block.create('text');
367
+ const textSupportsShape = engine.block.supportsShape(textBlock);
368
+ console.log('Text block supports shapes:', textSupportsShape); // false
369
+ engine.block.destroy(textBlock);
370
+ engine.block.destroy(testBlock);
444
371
  ```
445
372
 
446
373
  ### Create Rectangle
@@ -448,25 +375,26 @@ engine.block.destroy(testBlock);
448
375
  Create rectangles with `createShape('rect')` and attach them to a graphic block with `setShape()`. Apply a fill to make the shape visible.
449
376
 
450
377
  ```typescript highlight-create-rectangle
451
- // Create a rectangle with a solid color fill
452
- const rectBlock = engine.block.create('graphic');
453
- const rectShape = engine.block.createShape('rect');
454
- engine.block.setShape(rectBlock, rectShape);
455
-
456
- // Apply a solid color fill to make the shape visible
457
- const rectFill = engine.block.createFill('color');
458
- engine.block.setColor(rectFill, 'fill/color/value', {
459
- r: 0.2,
460
- g: 0.5,
461
- b: 0.9,
462
- a: 1.0
463
- });
464
- engine.block.setFill(rectBlock, rectFill);
378
+ // Create a rectangle with a solid color fill
379
+ const rectBlock = engine.block.create('graphic');
380
+ const rectShape = engine.block.createShape('rect');
381
+ engine.block.setShape(rectBlock, rectShape);
382
+
383
+ // Apply a solid color fill to make the shape visible
384
+ const rectFill = engine.block.createFill('color');
385
+ engine.block.setColor(rectFill, 'fill/color/value', {
386
+ r: 0.2,
387
+ g: 0.5,
388
+ b: 0.9,
389
+ a: 1.0
390
+ });
391
+ engine.block.setFill(rectBlock, rectFill);
465
392
 
466
- engine.block.setWidth(rectBlock, blockWidth);
467
- engine.block.setHeight(rectBlock, blockHeight);
468
- engine.block.appendChild(page, rectBlock);
469
- allBlocks.push(rectBlock);
393
+ engine.block.setWidth(rectBlock, 100);
394
+ engine.block.setHeight(rectBlock, 100);
395
+ engine.block.setPositionX(rectBlock, 50);
396
+ engine.block.setPositionY(rectBlock, 50);
397
+ engine.block.appendChild(page, rectBlock);
470
398
  ```
471
399
 
472
400
  ### Create Rounded Rectangle
@@ -474,30 +402,31 @@ allBlocks.push(rectBlock);
474
402
  Rectangles support corner radius properties for rounded corners. Set each corner individually using `shape/rect/cornerRadiusTL`, `cornerRadiusTR`, `cornerRadiusBL`, and `cornerRadiusBR`.
475
403
 
476
404
  ```typescript highlight-create-rounded-rectangle
477
- // Create a rounded rectangle with corner radius
478
- const roundedRectBlock = engine.block.create('graphic');
479
- const roundedRectShape = engine.block.createShape('rect');
480
- engine.block.setShape(roundedRectBlock, roundedRectShape);
481
-
482
- // Set corner radius for rounded corners
483
- engine.block.setFloat(roundedRectShape, 'shape/rect/cornerRadiusTL', 20);
484
- engine.block.setFloat(roundedRectShape, 'shape/rect/cornerRadiusTR', 20);
485
- engine.block.setFloat(roundedRectShape, 'shape/rect/cornerRadiusBL', 20);
486
- engine.block.setFloat(roundedRectShape, 'shape/rect/cornerRadiusBR', 20);
487
-
488
- const roundedRectFill = engine.block.createFill('color');
489
- engine.block.setColor(roundedRectFill, 'fill/color/value', {
490
- r: 0.9,
491
- g: 0.4,
492
- b: 0.2,
493
- a: 1.0
494
- });
495
- engine.block.setFill(roundedRectBlock, roundedRectFill);
405
+ // Create a rounded rectangle with corner radius
406
+ const roundedRectBlock = engine.block.create('graphic');
407
+ const roundedRectShape = engine.block.createShape('rect');
408
+ engine.block.setShape(roundedRectBlock, roundedRectShape);
409
+
410
+ // Set corner radius for rounded corners
411
+ engine.block.setFloat(roundedRectShape, 'shape/rect/cornerRadiusTL', 20);
412
+ engine.block.setFloat(roundedRectShape, 'shape/rect/cornerRadiusTR', 20);
413
+ engine.block.setFloat(roundedRectShape, 'shape/rect/cornerRadiusBL', 20);
414
+ engine.block.setFloat(roundedRectShape, 'shape/rect/cornerRadiusBR', 20);
415
+
416
+ const roundedRectFill = engine.block.createFill('color');
417
+ engine.block.setColor(roundedRectFill, 'fill/color/value', {
418
+ r: 0.9,
419
+ g: 0.4,
420
+ b: 0.2,
421
+ a: 1.0
422
+ });
423
+ engine.block.setFill(roundedRectBlock, roundedRectFill);
496
424
 
497
- engine.block.setWidth(roundedRectBlock, blockWidth);
498
- engine.block.setHeight(roundedRectBlock, blockHeight);
499
- engine.block.appendChild(page, roundedRectBlock);
500
- allBlocks.push(roundedRectBlock);
425
+ engine.block.setWidth(roundedRectBlock, 100);
426
+ engine.block.setHeight(roundedRectBlock, 100);
427
+ engine.block.setPositionX(roundedRectBlock, 180);
428
+ engine.block.setPositionY(roundedRectBlock, 50);
429
+ engine.block.appendChild(page, roundedRectBlock);
501
430
  ```
502
431
 
503
432
  ### Create Ellipse
@@ -505,24 +434,25 @@ allBlocks.push(roundedRectBlock);
505
434
  Create circles and ovals with `createShape('ellipse')`. The block's aspect ratio determines whether it appears as a circle (equal width and height) or an oval.
506
435
 
507
436
  ```typescript highlight-create-ellipse
508
- // Create an ellipse (circle when width equals height)
509
- const ellipseBlock = engine.block.create('graphic');
510
- const ellipseShape = engine.block.createShape('ellipse');
511
- engine.block.setShape(ellipseBlock, ellipseShape);
512
-
513
- const ellipseFill = engine.block.createFill('color');
514
- engine.block.setColor(ellipseFill, 'fill/color/value', {
515
- r: 0.3,
516
- g: 0.8,
517
- b: 0.4,
518
- a: 1.0
519
- });
520
- engine.block.setFill(ellipseBlock, ellipseFill);
437
+ // Create an ellipse (circle when width equals height)
438
+ const ellipseBlock = engine.block.create('graphic');
439
+ const ellipseShape = engine.block.createShape('ellipse');
440
+ engine.block.setShape(ellipseBlock, ellipseShape);
441
+
442
+ const ellipseFill = engine.block.createFill('color');
443
+ engine.block.setColor(ellipseFill, 'fill/color/value', {
444
+ r: 0.3,
445
+ g: 0.8,
446
+ b: 0.4,
447
+ a: 1.0
448
+ });
449
+ engine.block.setFill(ellipseBlock, ellipseFill);
521
450
 
522
- engine.block.setWidth(ellipseBlock, blockWidth);
523
- engine.block.setHeight(ellipseBlock, blockHeight);
524
- engine.block.appendChild(page, ellipseBlock);
525
- allBlocks.push(ellipseBlock);
451
+ engine.block.setWidth(ellipseBlock, 100);
452
+ engine.block.setHeight(ellipseBlock, 100);
453
+ engine.block.setPositionX(ellipseBlock, 310);
454
+ engine.block.setPositionY(ellipseBlock, 50);
455
+ engine.block.appendChild(page, ellipseBlock);
526
456
  ```
527
457
 
528
458
  ### Create Star
@@ -530,28 +460,29 @@ allBlocks.push(ellipseBlock);
530
460
  Create stars with `createShape('star')`. Configure the number of points with `shape/star/points` and control the inner diameter with `shape/star/innerDiameter` (0.0 to 1.0).
531
461
 
532
462
  ```typescript highlight-create-star
533
- // Create a star with custom points and inner diameter
534
- const starBlock = engine.block.create('graphic');
535
- const starShape = engine.block.createShape('star');
536
- engine.block.setShape(starBlock, starShape);
537
-
538
- // Configure star properties
539
- engine.block.setInt(starShape, 'shape/star/points', 5);
540
- engine.block.setFloat(starShape, 'shape/star/innerDiameter', 0.4);
541
-
542
- const starFill = engine.block.createFill('color');
543
- engine.block.setColor(starFill, 'fill/color/value', {
544
- r: 1.0,
545
- g: 0.8,
546
- b: 0.0,
547
- a: 1.0
548
- });
549
- engine.block.setFill(starBlock, starFill);
463
+ // Create a star with custom points and inner diameter
464
+ const starBlock = engine.block.create('graphic');
465
+ const starShape = engine.block.createShape('star');
466
+ engine.block.setShape(starBlock, starShape);
467
+
468
+ // Configure star properties
469
+ engine.block.setInt(starShape, 'shape/star/points', 5);
470
+ engine.block.setFloat(starShape, 'shape/star/innerDiameter', 0.4);
550
471
 
551
- engine.block.setWidth(starBlock, blockWidth);
552
- engine.block.setHeight(starBlock, blockHeight);
553
- engine.block.appendChild(page, starBlock);
554
- allBlocks.push(starBlock);
472
+ const starFill = engine.block.createFill('color');
473
+ engine.block.setColor(starFill, 'fill/color/value', {
474
+ r: 1.0,
475
+ g: 0.8,
476
+ b: 0.0,
477
+ a: 1.0
478
+ });
479
+ engine.block.setFill(starBlock, starFill);
480
+
481
+ engine.block.setWidth(starBlock, 100);
482
+ engine.block.setHeight(starBlock, 100);
483
+ engine.block.setPositionX(starBlock, 440);
484
+ engine.block.setPositionY(starBlock, 50);
485
+ engine.block.appendChild(page, starBlock);
555
486
  ```
556
487
 
557
488
  ### Create Polygon
@@ -559,27 +490,28 @@ allBlocks.push(starBlock);
559
490
  Create regular polygons with `createShape('polygon')`. Set the number of sides with `shape/polygon/sides` to create triangles (3), pentagons (5), hexagons (6), and more.
560
491
 
561
492
  ```typescript highlight-create-polygon
562
- // Create a polygon (hexagon with 6 sides)
563
- const polygonBlock = engine.block.create('graphic');
564
- const polygonShape = engine.block.createShape('polygon');
565
- engine.block.setShape(polygonBlock, polygonShape);
566
-
567
- // Set number of sides for the polygon
568
- engine.block.setInt(polygonShape, 'shape/polygon/sides', 6);
569
-
570
- const polygonFill = engine.block.createFill('color');
571
- engine.block.setColor(polygonFill, 'fill/color/value', {
572
- r: 0.6,
573
- g: 0.2,
574
- b: 0.8,
575
- a: 1.0
576
- });
577
- engine.block.setFill(polygonBlock, polygonFill);
493
+ // Create a polygon (hexagon with 6 sides)
494
+ const polygonBlock = engine.block.create('graphic');
495
+ const polygonShape = engine.block.createShape('polygon');
496
+ engine.block.setShape(polygonBlock, polygonShape);
578
497
 
579
- engine.block.setWidth(polygonBlock, blockWidth);
580
- engine.block.setHeight(polygonBlock, blockHeight);
581
- engine.block.appendChild(page, polygonBlock);
582
- allBlocks.push(polygonBlock);
498
+ // Set number of sides for the polygon
499
+ engine.block.setInt(polygonShape, 'shape/polygon/sides', 6);
500
+
501
+ const polygonFill = engine.block.createFill('color');
502
+ engine.block.setColor(polygonFill, 'fill/color/value', {
503
+ r: 0.6,
504
+ g: 0.2,
505
+ b: 0.8,
506
+ a: 1.0
507
+ });
508
+ engine.block.setFill(polygonBlock, polygonFill);
509
+
510
+ engine.block.setWidth(polygonBlock, 100);
511
+ engine.block.setHeight(polygonBlock, 100);
512
+ engine.block.setPositionX(polygonBlock, 570);
513
+ engine.block.setPositionY(polygonBlock, 50);
514
+ engine.block.appendChild(page, polygonBlock);
583
515
  ```
584
516
 
585
517
  ### Create Line
@@ -587,25 +519,26 @@ allBlocks.push(polygonBlock);
587
519
  Create lines with `createShape('line')`. Lines are typically styled with strokes rather than fills using `setStrokeEnabled()` and `setStrokeWidth()`.
588
520
 
589
521
  ```typescript highlight-create-line
590
- // Create a line shape
591
- const lineBlock = engine.block.create('graphic');
592
- const lineShape = engine.block.createShape('line');
593
- engine.block.setShape(lineBlock, lineShape);
594
-
595
- // Lines typically use strokes instead of fills
596
- engine.block.setStrokeEnabled(lineBlock, true);
597
- engine.block.setStrokeWidth(lineBlock, 6);
598
- engine.block.setStrokeColor(lineBlock, {
599
- r: 0.9,
600
- g: 0.2,
601
- b: 0.5,
602
- a: 1.0
603
- });
522
+ // Create a line shape
523
+ const lineBlock = engine.block.create('graphic');
524
+ const lineShape = engine.block.createShape('line');
525
+ engine.block.setShape(lineBlock, lineShape);
526
+
527
+ // Lines typically use strokes instead of fills
528
+ engine.block.setStrokeEnabled(lineBlock, true);
529
+ engine.block.setStrokeWidth(lineBlock, 6);
530
+ engine.block.setStrokeColor(lineBlock, {
531
+ r: 0.9,
532
+ g: 0.2,
533
+ b: 0.5,
534
+ a: 1.0
535
+ });
604
536
 
605
- engine.block.setWidth(lineBlock, blockWidth);
606
- engine.block.setHeight(lineBlock, blockHeight);
607
- engine.block.appendChild(page, lineBlock);
608
- allBlocks.push(lineBlock);
537
+ engine.block.setWidth(lineBlock, 100);
538
+ engine.block.setHeight(lineBlock, 100);
539
+ engine.block.setPositionX(lineBlock, 50);
540
+ engine.block.setPositionY(lineBlock, 200);
541
+ engine.block.appendChild(page, lineBlock);
609
542
  ```
610
543
 
611
544
  ### Create Vector Path
@@ -613,28 +546,33 @@ allBlocks.push(lineBlock);
613
546
  Create custom shapes with `createShape('vector_path')`. Define the path using SVG path syntax with `shape/vector_path/path`. The path coordinates scale proportionally with the block dimensions.
614
547
 
615
548
  ```typescript highlight-create-vector-path
616
- // Create a custom triangle using vector path
617
- const vectorPathBlock = engine.block.create('graphic');
618
- const vectorPathShape = engine.block.createShape('vector_path');
619
- engine.block.setShape(vectorPathBlock, vectorPathShape);
620
-
621
- // Define a triangle using SVG path syntax (coordinates scale with block size)
622
- const trianglePath = 'M 50,0 L 100,100 L 0,100 Z';
623
- engine.block.setString(vectorPathShape, 'shape/vector_path/path', trianglePath);
624
-
625
- const vectorPathFill = engine.block.createFill('color');
626
- engine.block.setColor(vectorPathFill, 'fill/color/value', {
627
- r: 0.9,
628
- g: 0.2,
629
- b: 0.5,
630
- a: 1.0
631
- });
632
- engine.block.setFill(vectorPathBlock, vectorPathFill);
549
+ // Create a custom triangle using vector path
550
+ const vectorPathBlock = engine.block.create('graphic');
551
+ const vectorPathShape = engine.block.createShape('vector_path');
552
+ engine.block.setShape(vectorPathBlock, vectorPathShape);
633
553
 
634
- engine.block.setWidth(vectorPathBlock, blockWidth);
635
- engine.block.setHeight(vectorPathBlock, blockHeight);
636
- engine.block.appendChild(page, vectorPathBlock);
637
- allBlocks.push(vectorPathBlock);
554
+ // Define a triangle using SVG path syntax (coordinates scale with block size)
555
+ const trianglePath = 'M 50,0 L 100,100 L 0,100 Z';
556
+ engine.block.setString(
557
+ vectorPathShape,
558
+ 'shape/vector_path/path',
559
+ trianglePath
560
+ );
561
+
562
+ const vectorPathFill = engine.block.createFill('color');
563
+ engine.block.setColor(vectorPathFill, 'fill/color/value', {
564
+ r: 0.9,
565
+ g: 0.2,
566
+ b: 0.5,
567
+ a: 1.0
568
+ });
569
+ engine.block.setFill(vectorPathBlock, vectorPathFill);
570
+
571
+ engine.block.setWidth(vectorPathBlock, 100);
572
+ engine.block.setHeight(vectorPathBlock, 100);
573
+ engine.block.setPositionX(vectorPathBlock, 180);
574
+ engine.block.setPositionY(vectorPathBlock, 200);
575
+ engine.block.appendChild(page, vectorPathBlock);
638
576
  ```
639
577
 
640
578
  ### Discover Shape Properties
@@ -644,7 +582,6 @@ Use `findAllProperties()` to discover available configuration options for any sh
644
582
  ```typescript highlight-discover-shape-properties
645
583
  // Discover available properties for a shape
646
584
  const shapeProperties = engine.block.findAllProperties(starShape);
647
- // eslint-disable-next-line no-console
648
585
  console.log('Star shape properties:', shapeProperties);
649
586
  ```
650
587
 
@@ -666,65 +603,110 @@ The simplest way to add stickers is with `engine.block.addImage()`. This conveni
666
603
  const stickerUrl =
667
604
  'https://cdn.img.ly/assets/v4/ly.img.sticker/images/emoticons/imgly_sticker_emoticons_grin.svg';
668
605
  const stickerBlock = await engine.block.addImage(stickerUrl, {
669
- size: blockSize
606
+ size: { width: 100, height: 100 }
670
607
  });
671
608
  engine.block.setKind(stickerBlock, 'sticker');
609
+ engine.block.setPositionX(stickerBlock, 310);
610
+ engine.block.setPositionY(stickerBlock, 200);
672
611
  engine.block.appendChild(page, stickerBlock);
673
- allBlocks.push(stickerBlock);
674
612
  ```
675
613
 
676
- Setting `setKind(block, 'sticker')` categorizes the block correctly in the UI, which helps with organization and enables sticker-specific behaviors.
614
+ Setting `setKind(block, 'sticker')` categorizes the block correctly, which helps with organization and enables sticker-specific behaviors.
677
615
 
678
616
  ### Manual Sticker Construction
679
617
 
680
618
  For full control over sticker creation, manually construct a graphic block with a rect shape and image fill.
681
619
 
682
620
  ```typescript highlight-sticker-manual-construction
683
- // Add a sticker using manual construction for more control
684
- const manualStickerBlock = engine.block.create('graphic');
685
- const manualStickerShape = engine.block.createShape('rect');
686
- engine.block.setShape(manualStickerBlock, manualStickerShape);
687
-
688
- // Create image fill with the sticker URI
689
- const stickerFill = engine.block.createFill('image');
690
- engine.block.setString(
691
- stickerFill,
692
- 'fill/image/imageFileURI',
693
- 'https://cdn.img.ly/assets/v4/ly.img.sticker/images/emoticons/imgly_sticker_emoticons_star.svg'
694
- );
695
- engine.block.setFill(manualStickerBlock, stickerFill);
696
-
697
- // Set content fill mode to preserve aspect ratio
698
- if (engine.block.supportsContentFillMode(manualStickerBlock)) {
699
- engine.block.setContentFillMode(manualStickerBlock, 'Contain');
700
- }
621
+ // Add a sticker using manual construction for more control
622
+ const manualStickerBlock = engine.block.create('graphic');
623
+ const manualStickerShape = engine.block.createShape('rect');
624
+ engine.block.setShape(manualStickerBlock, manualStickerShape);
625
+
626
+ // Create image fill with the sticker URI
627
+ const stickerFill = engine.block.createFill('image');
628
+ engine.block.setString(
629
+ stickerFill,
630
+ 'fill/image/imageFileURI',
631
+ 'https://cdn.img.ly/assets/v4/ly.img.sticker/images/emoticons/imgly_sticker_emoticons_star.svg'
632
+ );
633
+ engine.block.setFill(manualStickerBlock, stickerFill);
701
634
 
702
- // Set kind to 'sticker' for proper categorization
703
- engine.block.setKind(manualStickerBlock, 'sticker');
635
+ // Set content fill mode to preserve aspect ratio
636
+ if (engine.block.supportsContentFillMode(manualStickerBlock)) {
637
+ engine.block.setContentFillMode(manualStickerBlock, 'Contain');
638
+ }
704
639
 
705
- engine.block.setWidth(manualStickerBlock, blockWidth);
706
- engine.block.setHeight(manualStickerBlock, blockHeight);
707
- engine.block.appendChild(page, manualStickerBlock);
708
- allBlocks.push(manualStickerBlock);
640
+ // Set kind to 'sticker' for proper categorization
641
+ engine.block.setKind(manualStickerBlock, 'sticker');
642
+
643
+ engine.block.setWidth(manualStickerBlock, 100);
644
+ engine.block.setHeight(manualStickerBlock, 100);
645
+ engine.block.setPositionX(manualStickerBlock, 440);
646
+ engine.block.setPositionY(manualStickerBlock, 200);
647
+ engine.block.appendChild(page, manualStickerBlock);
709
648
  ```
710
649
 
711
650
  Using `setContentFillMode(block, 'Contain')` preserves the sticker's aspect ratio within the block bounds. Always check `supportsContentFillMode()` before setting this property.
712
651
 
713
- ### Query Stickers from Asset Library
652
+ ## Export and Cleanup
714
653
 
715
- Browse available stickers from asset sources using `engine.asset.findAssets()`.
654
+ ### Confirm Export
716
655
 
717
- ```typescript highlight-query-stickers
718
- // Query stickers from the asset library
719
- const stickerResults = await engine.asset.findAssets('ly.img.sticker', {
720
- page: 0,
721
- perPage: 5
722
- });
723
- // eslint-disable-next-line no-console
724
- console.log('Available stickers:', stickerResults.assets.length);
656
+ Prompt users to confirm export before saving. This example uses Node.js readline for interactive input.
657
+
658
+ ```typescript highlight-confirm-export
659
+ // Prompt user to confirm export
660
+ async function confirmExport(): Promise<boolean> {
661
+ const rl = createInterface({
662
+ input: process.stdin,
663
+ output: process.stdout
664
+ });
665
+
666
+ return new Promise((resolve) => {
667
+ rl.question('\nExport design to PNG? [Y/n]: ', (answer) => {
668
+ rl.close();
669
+ const normalized = answer.trim().toLowerCase();
670
+ resolve(normalized === '' || normalized === 'y' || normalized === 'yes');
671
+ });
672
+ });
673
+ }
725
674
  ```
726
675
 
727
- Use `ly.img.sticker` for raster stickers or `ly.img.vector.shape` for vector-based sticker assets.
676
+ ### Export to File
677
+
678
+ Export the design using `engine.block.export()` and save to the output directory.
679
+
680
+ ```typescript highlight-export
681
+ // Export the result to a file after user confirmation
682
+ const shouldExport = await confirmExport();
683
+ if (shouldExport) {
684
+ console.log('\n⏳ Exporting design...');
685
+ const outputDir = './output';
686
+ if (!existsSync(outputDir)) {
687
+ mkdirSync(outputDir, { recursive: true });
688
+ }
689
+
690
+ const blob = await engine.block.export(page, { mimeType: 'image/png' });
691
+ const buffer = Buffer.from(await blob.arrayBuffer());
692
+ const outputPath = `${outputDir}/shapes-and-stickers.png`;
693
+ writeFileSync(outputPath, buffer);
694
+
695
+ console.log(`\n✅ Exported result to ${outputPath}`);
696
+ } else {
697
+ console.log('\n⏭️ Export skipped.');
698
+ }
699
+ ```
700
+
701
+ ### Cleanup
702
+
703
+ Always dispose of the engine when done to free resources.
704
+
705
+ ```typescript highlight-cleanup
706
+ // Always dispose of the engine to free resources
707
+ engine.dispose();
708
+ console.log('🧹 Engine disposed');
709
+ ```
728
710
 
729
711
  ## Troubleshooting
730
712
 
@@ -753,35 +735,35 @@ If `createShape()` throws an error:
753
735
 
754
736
  ## API Reference
755
737
 
756
- | Method | Description |
757
- | ----------------------------------------- | ------------------------------------------------ |
758
- | `block.create('graphic')` | Create a graphic block for shapes |
759
- | `block.createShape(type)` | Create a shape of the specified type |
760
- | `block.supportsShape(block)` | Check if a block supports shapes |
761
- | `block.setShape(block, shape)` | Attach a shape to a graphic block |
762
- | `block.getShape(block)` | Get the shape attached to a block |
763
- | `block.findAllProperties(shape)` | Discover available shape properties |
764
- | `block.setInt(shape, property, value)` | Set integer property (points, sides) |
765
- | `block.setFloat(shape, property, value)` | Set float property (corner radius, diameter) |
766
- | `block.setString(shape, property, value)` | Set string property (vector path) |
767
- | `block.createFill(type)` | Create a fill for the shape |
768
- | `block.setFill(block, fill)` | Apply fill to a block |
769
- | `block.setColor(fill, property, color)` | Set fill color value |
770
- | `block.addImage(uri, options?)` | Convenience API for adding images/stickers |
771
- | `block.setKind(block, kind)` | Set block kind for categorization |
772
- | `block.setContentFillMode(block, mode)` | Set content fill mode ('Contain', 'Cover', etc.) |
773
- | `block.supportsContentFillMode(block)` | Check if block supports content fill mode |
774
- | `block.setPositionX(block, x)` | Set horizontal position |
775
- | `block.setPositionY(block, y)` | Set vertical position |
776
- | `block.setWidth(block, width)` | Set block width |
777
- | `block.setHeight(block, height)` | Set block height |
778
- | `block.appendChild(parent, child)` | Add block to parent |
779
- | `block.setStrokeEnabled(block, enabled)` | Enable or disable stroke |
780
- | `block.setStrokeWidth(block, width)` | Set stroke width |
781
- | `block.setStrokeColor(block, color)` | Set stroke color |
782
- | `block.isValid(block)` | Check if a block handle is valid |
783
- | `scene.zoomToBlock(block, options)` | Zoom view to fit a block |
784
- | `asset.findAssets(sourceId, query)` | Query assets from a source |
738
+ | Method | Description |
739
+ | -------------------------------------------- | ------------------------------------------------- |
740
+ | `block.create('graphic')` | Create a graphic block for shapes |
741
+ | `block.createShape(type)` | Create a shape of the specified type |
742
+ | `block.supportsShape(block)` | Check if a block supports shapes |
743
+ | `block.setShape(block, shape)` | Attach a shape to a graphic block |
744
+ | `block.getShape(block)` | Get the shape attached to a block |
745
+ | `block.findAllProperties(shape)` | Discover available shape properties |
746
+ | `block.setInt(shape, property, value)` | Set integer property (points, sides) |
747
+ | `block.setFloat(shape, property, value)` | Set float property (corner radius, diameter) |
748
+ | `block.setString(shape, property, value)` | Set string property (vector path) |
749
+ | `block.createFill(type)` | Create a fill for the shape |
750
+ | `block.setFill(block, fill)` | Apply fill to a block |
751
+ | `block.setColor(fill, property, color)` | Set fill color value |
752
+ | `block.addImage(uri, options?)` | Convenience API for adding images/stickers |
753
+ | `block.setKind(block, kind)` | Set block kind for categorization |
754
+ | `block.setContentFillMode(block, mode)` | Set content fill mode ('Contain', 'Cover', etc.) |
755
+ | `block.supportsContentFillMode(block)` | Check if block supports content fill mode |
756
+ | `block.setPositionX(block, x)` | Set horizontal position |
757
+ | `block.setPositionY(block, y)` | Set vertical position |
758
+ | `block.setWidth(block, width)` | Set block width |
759
+ | `block.setHeight(block, height)` | Set block height |
760
+ | `block.appendChild(parent, child)` | Add block to parent |
761
+ | `block.setStrokeEnabled(block, enabled)` | Enable or disable stroke |
762
+ | `block.setStrokeWidth(block, width)` | Set stroke width |
763
+ | `block.setStrokeColor(block, color)` | Set stroke color |
764
+ | `block.export(block, options)` | Export block to image/PDF blob |
765
+ | `block.isValid(block)` | Check if a block handle is valid |
766
+ | `engine.dispose()` | Dispose engine and free resources |
785
767
 
786
768
  ## Next Steps
787
769
 
@@ -789,11 +771,13 @@ If `createShape()` throws an error:
789
771
  - [Filters and Effects](./filters-and-effects.md) - Apply visual effects to design elements
790
772
  - [Position and Align](./insert-media/position-and-align.md) - Position elements precisely on the canvas
791
773
 
774
+
775
+
792
776
  ---
793
777
 
794
778
  ## More Resources
795
779
 
796
- - **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
780
+ - **[Node.js Documentation Index](https://img.ly/docs/cesdk/node.md)** - Browse all Node.js documentation
797
781
  - **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
798
- - **[Web Documentation](./js.md)** - Interactive documentation with examples
799
- - **[Support](mailto:support@img.ly)** - Contact IMG.LY support
782
+ - **[Web Documentation](./node.md)** - Interactive documentation with examples
783
+ - **[Support](mailto:support@img.ly)** - Contact IMG.LY support