@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,396 +1,594 @@
1
- > This is one page of the CE.SDK Vanilla JS/TS documentation. For a complete overview, see the [Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md). For all docs in one file, see [llms-full.txt](./llms-full.txt.md).
1
+ > This is one page of the CE.SDK Node.js documentation. For a complete overview, see the [Node.js Documentation Index](https://img.ly/docs/cesdk/node.md). For all docs in one file, see [llms-full.txt](./llms-full.txt.md).
2
2
 
3
3
  **Navigation:** [Guides](./guides.md) > [Create and Edit Compositions](./create-composition.md) > [Design a Layout](./create-composition/layout.md)
4
4
 
5
5
  ---
6
6
 
7
- Create structured compositions using stack layouts that automatically arrange pages vertically or horizontally with consistent spacing.
8
-
9
- ![Design a Layout](https://img.ly/docs/cesdk/./assets/browser.hero.webp)
7
+ Create automatic stack layouts in CE.SDK that arrange pages vertically or horizontally with consistent spacing. Build structured compositions like collages, catalogs, or carousels without manually positioning each element.
10
8
 
11
9
  > **Reading time:** 10 minutes
12
10
  >
13
11
  > **Resources:**
14
12
  >
15
13
  > - [Download examples](https://github.com/imgly/cesdk-web-examples/archive/refs/tags/release-$UBQ_VERSION$.zip)
16
- > - [View source on GitHub](https://github.com/imgly/cesdk-web-examples/tree/release-$UBQ_VERSION$/guides-create-composition-layout-browser)
17
- > - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-create-composition-layout-browser)
18
- > - [Live demo](https://img.ly/docs/cesdk/examples/guides-create-composition-layout-browser/)
19
-
20
- Stack layouts arrange pages automatically with consistent spacing. Vertical stacks arrange pages top-to-bottom, while horizontal stacks arrange them left-to-right. This eliminates manual positioning for compositions like photo collages, product catalogs, or social media carousels.
21
-
22
- ```typescript file=@cesdk_web_examples/guides-create-composition-layout-browser/browser.ts reference-only
23
- import type { EditorPlugin, EditorPluginContext } from '@cesdk/cesdk-js';
24
- import {
25
- BlurAssetSource,
26
- ColorPaletteAssetSource,
27
- CropPresetsAssetSource,
28
- DemoAssetSources,
29
- EffectsAssetSource,
30
- FiltersAssetSource,
31
- PagePresetsAssetSource,
32
- StickerAssetSource,
33
- TextAssetSource,
34
- TextComponentAssetSource,
35
- TypefaceAssetSource,
36
- UploadAssetSources,
37
- VectorShapeAssetSource
38
- } from '@cesdk/cesdk-js/plugins';
39
- import { DesignEditorConfig } from './design-editor/plugin';
40
- import packageJson from './package.json';
41
-
42
- class Example implements EditorPlugin {
43
- name = packageJson.name;
44
- version = packageJson.version;
45
-
46
- async initialize({ cesdk }: EditorPluginContext): Promise<void> {
47
- if (!cesdk) throw new Error('CE.SDK instance is required');
48
-
49
- await cesdk.addPlugin(new DesignEditorConfig());
50
- // Add asset source plugins
51
- await cesdk.addPlugin(new BlurAssetSource());
52
- await cesdk.addPlugin(new ColorPaletteAssetSource());
53
- await cesdk.addPlugin(new CropPresetsAssetSource());
54
- await cesdk.addPlugin(
55
- new UploadAssetSources({ include: ['ly.img.image.upload'] })
56
- );
57
- await cesdk.addPlugin(
58
- new DemoAssetSources({
59
- include: [
60
- 'ly.img.templates.blank.*',
61
- 'ly.img.templates.presentation.*',
62
- 'ly.img.templates.print.*',
63
- 'ly.img.templates.social.*',
64
- 'ly.img.image.*'
65
- ]
66
- })
67
- );
68
- await cesdk.addPlugin(new EffectsAssetSource());
69
- await cesdk.addPlugin(new FiltersAssetSource());
70
- await cesdk.addPlugin(new PagePresetsAssetSource());
71
- await cesdk.addPlugin(new StickerAssetSource());
72
- await cesdk.addPlugin(new TextAssetSource());
73
- await cesdk.addPlugin(new TextComponentAssetSource());
74
- await cesdk.addPlugin(new TypefaceAssetSource());
75
- await cesdk.addPlugin(new VectorShapeAssetSource());
76
-
77
- const engine = cesdk.engine;
78
-
79
- // Create a scene with vertical stack layout
80
- // Pages arrange top-to-bottom automatically
81
- engine.scene.create('VerticalStack');
82
-
83
- // Get the stack container created with the scene
84
- const [stack] = engine.block.findByType('stack');
85
-
86
- // Create two pages that will stack vertically
87
- const page1 = engine.block.create('page');
88
- engine.block.setWidth(page1, 400);
89
- engine.block.setHeight(page1, 300);
90
- engine.block.appendChild(stack, page1);
91
-
92
- const page2 = engine.block.create('page');
93
- engine.block.setWidth(page2, 400);
94
- engine.block.setHeight(page2, 300);
95
- engine.block.appendChild(stack, page2);
96
-
97
- // Configure spacing between stacked pages
98
- engine.block.setFloat(stack, 'stack/spacing', 20);
99
- engine.block.setBool(stack, 'stack/spacingInScreenspace', true);
100
-
101
- // Add image content to page 1
102
- const imageUri = 'https://img.ly/static/ubq_samples/sample_1.jpg';
103
- const block1 = await engine.block.addImage(imageUri, {
104
- size: { width: 350, height: 250 }
105
- });
106
- engine.block.setPositionX(block1, 25);
107
- engine.block.setPositionY(block1, 25);
108
- engine.block.appendChild(page1, block1);
109
-
110
- // Add a colored rectangle to page 2
111
- const block2 = engine.block.create('graphic');
112
- const shape2 = engine.block.createShape('rect');
113
- engine.block.setShape(block2, shape2);
114
- engine.block.setWidth(block2, 350);
115
- engine.block.setHeight(block2, 250);
116
- engine.block.setPositionX(block2, 25);
117
- engine.block.setPositionY(block2, 25);
118
- const fill2 = engine.block.createFill('color');
119
- engine.block.setColor(fill2, 'fill/color/value', {
120
- r: 0.3,
121
- g: 0.6,
122
- b: 0.9,
123
- a: 1.0
124
- });
125
- engine.block.setFill(block2, fill2);
126
- engine.block.appendChild(page2, block2);
127
-
128
- // Switch to horizontal stack layout
129
- // Pages now arrange left-to-right
130
- engine.scene.setLayout('HorizontalStack');
131
-
132
- // Verify the layout type
133
- const currentLayout = engine.scene.getLayout();
134
- console.log('Current layout:', currentLayout);
135
-
136
- // Add a new page to the existing stack
137
- // The page automatically appears at the end
138
- const page3 = engine.block.create('page');
139
- engine.block.setWidth(page3, 400);
140
- engine.block.setHeight(page3, 300);
141
- engine.block.appendChild(stack, page3);
142
-
143
- // Add content to the new page
144
- const block3 = engine.block.create('graphic');
145
- const shape3 = engine.block.createShape('rect');
146
- engine.block.setShape(block3, shape3);
147
- engine.block.setWidth(block3, 350);
148
- engine.block.setHeight(block3, 250);
149
- engine.block.setPositionX(block3, 25);
150
- engine.block.setPositionY(block3, 25);
151
- const fill3 = engine.block.createFill('color');
152
- engine.block.setColor(fill3, 'fill/color/value', {
153
- r: 0.9,
154
- g: 0.5,
155
- b: 0.3,
156
- a: 1.0
157
- });
158
- engine.block.setFill(block3, fill3);
159
- engine.block.appendChild(page3, block3);
14
+ >
15
+ > - [View source on GitHub](https://github.com/imgly/cesdk-web-examples/tree/release-$UBQ_VERSION$/guides-create-composition-layout-server-js)
16
+ >
17
+ > - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-create-composition-layout-server-js)
18
+
19
+ CE.SDK provides stack layouts that automatically arrange pages with consistent spacing. Vertical stacks arrange pages top-to-bottom, horizontal stacks arrange left-to-right. This eliminates manual positioning for compositions like photo collages, product catalogs, social media carousels, and magazine layouts.
20
+
21
+ ```typescript file=@cesdk_web_examples/guides-create-composition-layout-server-js/server-js.ts reference-only
22
+ import CreativeEngine from '@cesdk/node';
23
+ import { config } from 'dotenv';
24
+ import { writeFileSync, mkdirSync, existsSync } from 'fs';
25
+
26
+ // Load environment variables
27
+ config();
28
+
29
+ /**
30
+ * CE.SDK Server Guide: Design a Layout
31
+ *
32
+ * Demonstrates:
33
+ * - Creating vertical stack layouts (top-to-bottom arrangement)
34
+ * - Creating horizontal stack layouts (left-to-right arrangement)
35
+ * - Adding blocks to stacks for automatic positioning
36
+ * - Configuring spacing between stacked blocks
37
+ * - Reordering blocks within stacks
38
+ * - Switching between stack and free layouts
39
+ * - Building a practical photo collage example
40
+ */
41
+
42
+ // Initialize CE.SDK engine in headless mode
43
+ const engine = await CreativeEngine.init({
44
+ baseURL: process.env.IMGLY_LOCAL_ASSETS_URL
45
+ // license: process.env.CESDK_LICENSE, // Optional (trial mode available)
46
+ });
160
47
 
161
- // Reorder pages using insertChild
162
- // Move page3 to the first position
163
- engine.block.insertChild(stack, page3, 0);
48
+ try {
49
+ // ===== VERTICAL STACK LAYOUT =====
50
+ console.log('--- Vertical Stack Layout ---');
51
+
52
+ // Create a scene with vertical stack layout
53
+ // Pages and blocks will arrange top-to-bottom automatically
54
+ const verticalScene = engine.scene.create('VerticalStack');
55
+ console.log('Created VerticalStack scene:', verticalScene);
56
+
57
+ // Get the stack container to add pages
58
+ const [stack] = engine.block.findByType('stack');
59
+
60
+ // Create first page
61
+ const page1 = engine.block.create('page');
62
+ engine.block.setWidth(page1, 400);
63
+ engine.block.setHeight(page1, 300);
64
+ engine.block.appendChild(stack, page1);
65
+
66
+ // Create second page - appears below page1
67
+ const page2 = engine.block.create('page');
68
+ engine.block.setWidth(page2, 400);
69
+ engine.block.setHeight(page2, 300);
70
+ engine.block.appendChild(stack, page2);
71
+
72
+ // Configure spacing between stacked pages (in screen space pixels)
73
+ engine.block.setFloat(stack, 'stack/spacing', 20);
74
+ engine.block.setBool(stack, 'stack/spacingInScreenspace', true);
75
+
76
+ const spacing = engine.block.getFloat(stack, 'stack/spacing');
77
+ console.log(`Stack spacing: ${spacing}px`);
78
+
79
+ // ===== HORIZONTAL STACK LAYOUT =====
80
+ console.log('\n--- Horizontal Stack Layout ---');
81
+
82
+ // Switch to horizontal stack layout
83
+ // Pages will now arrange left-to-right
84
+ engine.scene.setLayout('HorizontalStack');
85
+ console.log('Changed to HorizontalStack layout');
86
+
87
+ // Verify the layout change
88
+ const currentLayout = engine.scene.getLayout();
89
+ console.log('Current layout:', currentLayout);
90
+
91
+ // Pages are automatically rearranged horizontally
92
+ // Useful for carousels, timelines, or horizontal galleries
93
+
94
+ // ===== ADD BLOCKS TO PAGES =====
95
+ console.log('\n--- Adding Blocks to Pages ---');
96
+
97
+ // Add graphic blocks to each page
98
+ // Blocks must have a shape and fill to be visible
99
+
100
+ // Sample image URL for demonstrations
101
+ const imageUri = 'https://img.ly/static/ubq_samples/sample_1.jpg';
102
+
103
+ // Add an image block to page 1
104
+ const block1 = await engine.block.addImage(imageUri, {
105
+ size: { width: 350, height: 250 }
106
+ });
107
+ engine.block.setPositionX(block1, 25);
108
+ engine.block.setPositionY(block1, 25);
109
+ engine.block.appendChild(page1, block1);
110
+ console.log('Added image block to page 1');
111
+
112
+ // Add a colored rectangle to page 2
113
+ const block2 = engine.block.create('graphic');
114
+ const shape2 = engine.block.createShape('rect');
115
+ engine.block.setShape(block2, shape2);
116
+ engine.block.setWidth(block2, 350);
117
+ engine.block.setHeight(block2, 250);
118
+ engine.block.setPositionX(block2, 25);
119
+ engine.block.setPositionY(block2, 25);
120
+ const fill2 = engine.block.createFill('color');
121
+ engine.block.setColor(fill2, 'fill/color/value', {
122
+ r: 0.3,
123
+ g: 0.6,
124
+ b: 0.9,
125
+ a: 1.0
126
+ });
127
+ engine.block.setFill(block2, fill2);
128
+ engine.block.appendChild(page2, block2);
129
+ console.log('Added colored block to page 2');
130
+
131
+ // ===== ADD NEW PAGE TO EXISTING STACK =====
132
+ console.log('\n--- Adding Page to Existing Stack ---');
133
+
134
+ // Add a new page to the existing stack layout
135
+ // The page automatically appears at the end of the stack
136
+ const page3 = engine.block.create('page');
137
+ engine.block.setWidth(page3, 400);
138
+ engine.block.setHeight(page3, 300);
139
+ engine.block.appendChild(stack, page3);
140
+ console.log('Added page 3 to stack');
141
+
142
+ // Add content to page 3
143
+ const block3 = engine.block.create('graphic');
144
+ const shape3 = engine.block.createShape('rect');
145
+ engine.block.setShape(block3, shape3);
146
+ engine.block.setWidth(block3, 350);
147
+ engine.block.setHeight(block3, 250);
148
+ engine.block.setPositionX(block3, 25);
149
+ engine.block.setPositionY(block3, 25);
150
+ const fill3 = engine.block.createFill('color');
151
+ engine.block.setColor(fill3, 'fill/color/value', {
152
+ r: 0.9,
153
+ g: 0.5,
154
+ b: 0.3,
155
+ a: 1.0
156
+ });
157
+ engine.block.setFill(block3, fill3);
158
+ engine.block.appendChild(page3, block3);
159
+
160
+ // Count pages in stack
161
+ const pages = engine.block.getChildren(stack);
162
+ console.log(`Stack now has ${pages.length} pages`);
163
+
164
+ // ===== REORDER PAGES IN STACK =====
165
+ console.log('\n--- Reordering Pages ---');
166
+
167
+ // Reorder pages using insertChild
168
+ // Move page3 to the first position (index 0)
169
+ engine.block.insertChild(stack, page3, 0);
170
+ console.log('Moved page 3 to first position');
171
+
172
+ // Verify the new order by listing children
173
+ const reorderedPages = engine.block.getChildren(stack);
174
+ console.log('Page order after reordering:', reorderedPages);
175
+
176
+ // ===== CHANGE STACK SPACING =====
177
+ console.log('\n--- Changing Stack Spacing ---');
178
+
179
+ // Update spacing between stacked pages
180
+ engine.block.setFloat(stack, 'stack/spacing', 40);
181
+ const newSpacing = engine.block.getFloat(stack, 'stack/spacing');
182
+ console.log(`Updated stack spacing to: ${newSpacing}px`);
183
+
184
+ // Spacing updates immediately - pages reposition automatically
185
+
186
+ // ===== SWITCH TO FREE LAYOUT =====
187
+ console.log('\n--- Switching to Free Layout ---');
188
+
189
+ // Check current layout type
190
+ const layoutBefore = engine.scene.getLayout();
191
+ console.log('Current layout:', layoutBefore);
192
+
193
+ // Convert to free layout for manual positioning
194
+ engine.scene.setLayout('Free');
195
+ console.log('Switched to Free layout');
196
+
197
+ // In free layout, pages keep their positions but stop auto-arranging
198
+ // Now you can position pages manually
199
+ const [firstPage] = engine.block.findByType('page');
200
+ engine.block.setPositionX(firstPage, 50);
201
+ engine.block.setPositionY(firstPage, 50);
202
+ console.log('Manually positioned first page');
203
+
204
+ // Verify layout change
205
+ const layoutAfter = engine.scene.getLayout();
206
+ console.log('Layout after switch:', layoutAfter);
207
+
208
+ // ===== PHOTO COLLAGE EXAMPLE =====
209
+ console.log('\n--- Photo Collage Example ---');
210
+
211
+ // Create a new vertical stack scene for a photo collage
212
+ engine.scene.create('VerticalStack', {
213
+ page: { size: { width: 600, height: 200 } }
214
+ });
215
+
216
+ // Get the new stack
217
+ const [collageStack] = engine.block.findByType('stack');
218
+
219
+ // Set tight spacing for collage effect
220
+ engine.block.setFloat(collageStack, 'stack/spacing', 10);
221
+ engine.block.setBool(collageStack, 'stack/spacingInScreenspace', true);
222
+
223
+ // Get the first page created with the scene
224
+ const [collagePage1] = engine.block.findByType('page');
225
+
226
+ // Create additional pages for the collage
227
+ const collagePage2 = engine.block.create('page');
228
+ engine.block.setWidth(collagePage2, 600);
229
+ engine.block.setHeight(collagePage2, 200);
230
+ engine.block.appendChild(collageStack, collagePage2);
231
+
232
+ const collagePage3 = engine.block.create('page');
233
+ engine.block.setWidth(collagePage3, 600);
234
+ engine.block.setHeight(collagePage3, 200);
235
+ engine.block.appendChild(collageStack, collagePage3);
236
+
237
+ // Add images to each collage page
238
+ const imageUrls = [
239
+ 'https://img.ly/static/ubq_samples/sample_1.jpg',
240
+ 'https://img.ly/static/ubq_samples/sample_2.jpg',
241
+ 'https://img.ly/static/ubq_samples/sample_3.jpg'
242
+ ];
243
+
244
+ const collagePages = [collagePage1, collagePage2, collagePage3];
245
+
246
+ for (let i = 0; i < collagePages.length; i++) {
247
+ const photoBlock = await engine.block.addImage(imageUrls[i], {
248
+ size: { width: 580, height: 180 }
249
+ });
250
+ engine.block.setPositionX(photoBlock, 10);
251
+ engine.block.setPositionY(photoBlock, 10);
252
+ engine.block.appendChild(collagePages[i], photoBlock);
253
+ }
164
254
 
165
- // Verify the new order
166
- const pageOrder = engine.block.getChildren(stack);
167
- console.log('Page order after reordering:', pageOrder);
255
+ console.log('Created photo collage with 3 images');
168
256
 
169
- // Update spacing between stacked pages
170
- engine.block.setFloat(stack, 'stack/spacing', 40);
257
+ // Export the collage result to PNG
258
+ const outputDir = './output';
259
+ if (!existsSync(outputDir)) {
260
+ mkdirSync(outputDir, { recursive: true });
261
+ }
171
262
 
172
- // Verify the spacing value
173
- const updatedSpacing = engine.block.getFloat(stack, 'stack/spacing');
174
- console.log('Updated spacing:', updatedSpacing);
263
+ const blob = await engine.block.export(collagePage1, {
264
+ mimeType: 'image/png'
265
+ });
266
+ const buffer = Buffer.from(await blob.arrayBuffer());
267
+ writeFileSync(`${outputDir}/layout-collage.png`, buffer);
175
268
 
176
- // Zoom to show all pages in the stack
177
- await engine.scene.zoomToBlock(stack, { padding: 50 });
178
- }
269
+ console.log('\nExported collage to output/layout-collage.png');
270
+ } finally {
271
+ // Always dispose the engine to free resources
272
+ engine.dispose();
179
273
  }
180
-
181
- export default Example;
182
274
  ```
183
275
 
184
- This guide covers how to:
276
+ This guide covers how to create vertical and horizontal stack layouts, add pages to stacks, configure spacing, reorder pages, and switch between automatic and manual positioning modes.
277
+
278
+ ## Setting Up the Engine
279
+
280
+ We initialize the headless CE.SDK engine for server-side layout operations.
185
281
 
186
- - Create vertical and horizontal stack layouts
187
- - Add pages and blocks to stacks
188
- - Configure spacing between stacked pages
189
- - Reorder pages within a stack
190
- - Switch between stack and free layouts
282
+ ```typescript highlight=highlight-setup
283
+ // Initialize CE.SDK engine in headless mode
284
+ const engine = await CreativeEngine.init({
285
+ baseURL: process.env.IMGLY_LOCAL_ASSETS_URL
286
+ // license: process.env.CESDK_LICENSE, // Optional (trial mode available)
287
+ });
288
+ ```
191
289
 
192
290
  ## Create a Vertical Stack Layout
193
291
 
194
- Vertical stacks arrange pages from top to bottom. Create a scene with `VerticalStack` layout, then add pages to the stack container.
292
+ Vertical stack layouts arrange pages from top to bottom. When you add pages to the stack, they automatically position below each other with the configured spacing.
195
293
 
196
294
  ```typescript highlight=highlight-vertical-stack
197
- // Create a scene with vertical stack layout
198
- // Pages arrange top-to-bottom automatically
199
- engine.scene.create('VerticalStack');
200
-
201
- // Get the stack container created with the scene
202
- const [stack] = engine.block.findByType('stack');
203
-
204
- // Create two pages that will stack vertically
205
- const page1 = engine.block.create('page');
206
- engine.block.setWidth(page1, 400);
207
- engine.block.setHeight(page1, 300);
208
- engine.block.appendChild(stack, page1);
209
-
210
- const page2 = engine.block.create('page');
211
- engine.block.setWidth(page2, 400);
212
- engine.block.setHeight(page2, 300);
213
- engine.block.appendChild(stack, page2);
214
-
215
- // Configure spacing between stacked pages
216
- engine.block.setFloat(stack, 'stack/spacing', 20);
217
- engine.block.setBool(stack, 'stack/spacingInScreenspace', true);
295
+ // Create a scene with vertical stack layout
296
+ // Pages and blocks will arrange top-to-bottom automatically
297
+ const verticalScene = engine.scene.create('VerticalStack');
298
+ console.log('Created VerticalStack scene:', verticalScene);
299
+
300
+ // Get the stack container to add pages
301
+ const [stack] = engine.block.findByType('stack');
302
+
303
+ // Create first page
304
+ const page1 = engine.block.create('page');
305
+ engine.block.setWidth(page1, 400);
306
+ engine.block.setHeight(page1, 300);
307
+ engine.block.appendChild(stack, page1);
308
+
309
+ // Create second page - appears below page1
310
+ const page2 = engine.block.create('page');
311
+ engine.block.setWidth(page2, 400);
312
+ engine.block.setHeight(page2, 300);
313
+ engine.block.appendChild(stack, page2);
314
+
315
+ // Configure spacing between stacked pages (in screen space pixels)
316
+ engine.block.setFloat(stack, 'stack/spacing', 20);
317
+ engine.block.setBool(stack, 'stack/spacingInScreenspace', true);
318
+
319
+ const spacing = engine.block.getFloat(stack, 'stack/spacing');
320
+ console.log(`Stack spacing: ${spacing}px`);
218
321
  ```
219
322
 
220
- When you create a scene with `VerticalStack` layout, CE.SDK automatically creates a stack container. Pages added to this container are positioned vertically with the configured spacing. The `spacingInScreenspace` property ensures spacing remains consistent regardless of zoom level.
323
+ Pages added with `appendChild` appear at the bottom of the stack. The `stack/spacing` property controls the gap between pages, and `stack/spacingInScreenspace` determines whether spacing is in screen pixels or design units.
221
324
 
222
- ## Add Blocks to Pages
325
+ ## Create a Horizontal Stack Layout
223
326
 
224
- Each page can contain multiple blocks. Create blocks with shapes and fills, position them within the page, then append them to the page.
327
+ Horizontal stack layouts arrange pages from left to right. Switch between layout types using `engine.scene.setLayout()`.
225
328
 
226
- ```typescript highlight=highlight-add-blocks
227
- // Add image content to page 1
228
- const imageUri = 'https://img.ly/static/ubq_samples/sample_1.jpg';
229
- const block1 = await engine.block.addImage(imageUri, {
230
- size: { width: 350, height: 250 }
231
- });
232
- engine.block.setPositionX(block1, 25);
233
- engine.block.setPositionY(block1, 25);
234
- engine.block.appendChild(page1, block1);
235
-
236
- // Add a colored rectangle to page 2
237
- const block2 = engine.block.create('graphic');
238
- const shape2 = engine.block.createShape('rect');
239
- engine.block.setShape(block2, shape2);
240
- engine.block.setWidth(block2, 350);
241
- engine.block.setHeight(block2, 250);
242
- engine.block.setPositionX(block2, 25);
243
- engine.block.setPositionY(block2, 25);
244
- const fill2 = engine.block.createFill('color');
245
- engine.block.setColor(fill2, 'fill/color/value', {
246
- r: 0.3,
247
- g: 0.6,
248
- b: 0.9,
249
- a: 1.0
250
- });
251
- engine.block.setFill(block2, fill2);
252
- engine.block.appendChild(page2, block2);
253
- ```
329
+ ```typescript highlight=highlight-horizontal-stack
330
+ // Switch to horizontal stack layout
331
+ // Pages will now arrange left-to-right
332
+ engine.scene.setLayout('HorizontalStack');
333
+ console.log('Changed to HorizontalStack layout');
254
334
 
255
- Blocks require a shape and fill to be visible. Use `addImage()` for image content, or create graphic blocks with custom shapes and color fills. Position blocks within their parent page using `setPositionX()` and `setPositionY()`.
335
+ // Verify the layout change
336
+ const currentLayout = engine.scene.getLayout();
337
+ console.log('Current layout:', currentLayout);
256
338
 
257
- ## Switch to Horizontal Layout
339
+ // Pages are automatically rearranged horizontally
340
+ // Useful for carousels, timelines, or horizontal galleries
341
+ ```
258
342
 
259
- Change the layout direction at any time using `setLayout()`. Horizontal stacks arrange pages left-to-right instead of top-to-bottom.
343
+ Horizontal layouts are useful for carousels, timelines, or horizontal galleries. The same spacing configuration applies—pages automatically reposition when you change the layout type.
260
344
 
261
- ```typescript highlight=highlight-horizontal-stack
262
- // Switch to horizontal stack layout
263
- // Pages now arrange left-to-right
264
- engine.scene.setLayout('HorizontalStack');
345
+ ## Add Blocks to Pages
265
346
 
266
- // Verify the layout type
267
- const currentLayout = engine.scene.getLayout();
268
- console.log('Current layout:', currentLayout);
347
+ Once you have pages in your stack, add graphic blocks to display content. Each block needs a shape and fill to be visible.
348
+
349
+ ```typescript highlight=highlight-add-blocks
350
+ // Add graphic blocks to each page
351
+ // Blocks must have a shape and fill to be visible
352
+
353
+ // Sample image URL for demonstrations
354
+ const imageUri = 'https://img.ly/static/ubq_samples/sample_1.jpg';
355
+
356
+ // Add an image block to page 1
357
+ const block1 = await engine.block.addImage(imageUri, {
358
+ size: { width: 350, height: 250 }
359
+ });
360
+ engine.block.setPositionX(block1, 25);
361
+ engine.block.setPositionY(block1, 25);
362
+ engine.block.appendChild(page1, block1);
363
+ console.log('Added image block to page 1');
364
+
365
+ // Add a colored rectangle to page 2
366
+ const block2 = engine.block.create('graphic');
367
+ const shape2 = engine.block.createShape('rect');
368
+ engine.block.setShape(block2, shape2);
369
+ engine.block.setWidth(block2, 350);
370
+ engine.block.setHeight(block2, 250);
371
+ engine.block.setPositionX(block2, 25);
372
+ engine.block.setPositionY(block2, 25);
373
+ const fill2 = engine.block.createFill('color');
374
+ engine.block.setColor(fill2, 'fill/color/value', {
375
+ r: 0.3,
376
+ g: 0.6,
377
+ b: 0.9,
378
+ a: 1.0
379
+ });
380
+ engine.block.setFill(block2, fill2);
381
+ engine.block.appendChild(page2, block2);
382
+ console.log('Added colored block to page 2');
269
383
  ```
270
384
 
271
- Horizontal layouts work well for carousels, timelines, and horizontal galleries. Existing pages automatically reposition when you change the layout type.
385
+ Position blocks within their parent page using `setPositionX()` and `setPositionY()`. The block's position is relative to the page's top-left corner.
272
386
 
273
- ## Add Pages to Existing Stacks
387
+ ## Add Pages to an Existing Stack
274
388
 
275
- Add new pages to an existing stack at any time. Pages automatically appear at the end of the stack with proper spacing.
389
+ After creating a composition, you can add more pages to the stack. New pages automatically appear at the end.
276
390
 
277
391
  ```typescript highlight=highlight-add-page
278
- // Add a new page to the existing stack
279
- // The page automatically appears at the end
280
- const page3 = engine.block.create('page');
281
- engine.block.setWidth(page3, 400);
282
- engine.block.setHeight(page3, 300);
283
- engine.block.appendChild(stack, page3);
284
-
285
- // Add content to the new page
286
- const block3 = engine.block.create('graphic');
287
- const shape3 = engine.block.createShape('rect');
288
- engine.block.setShape(block3, shape3);
289
- engine.block.setWidth(block3, 350);
290
- engine.block.setHeight(block3, 250);
291
- engine.block.setPositionX(block3, 25);
292
- engine.block.setPositionY(block3, 25);
293
- const fill3 = engine.block.createFill('color');
294
- engine.block.setColor(fill3, 'fill/color/value', {
295
- r: 0.9,
296
- g: 0.5,
297
- b: 0.3,
298
- a: 1.0
299
- });
300
- engine.block.setFill(block3, fill3);
301
- engine.block.appendChild(page3, block3);
392
+ // Add a new page to the existing stack layout
393
+ // The page automatically appears at the end of the stack
394
+ const page3 = engine.block.create('page');
395
+ engine.block.setWidth(page3, 400);
396
+ engine.block.setHeight(page3, 300);
397
+ engine.block.appendChild(stack, page3);
398
+ console.log('Added page 3 to stack');
399
+
400
+ // Add content to page 3
401
+ const block3 = engine.block.create('graphic');
402
+ const shape3 = engine.block.createShape('rect');
403
+ engine.block.setShape(block3, shape3);
404
+ engine.block.setWidth(block3, 350);
405
+ engine.block.setHeight(block3, 250);
406
+ engine.block.setPositionX(block3, 25);
407
+ engine.block.setPositionY(block3, 25);
408
+ const fill3 = engine.block.createFill('color');
409
+ engine.block.setColor(fill3, 'fill/color/value', {
410
+ r: 0.9,
411
+ g: 0.5,
412
+ b: 0.3,
413
+ a: 1.0
414
+ });
415
+ engine.block.setFill(block3, fill3);
416
+ engine.block.appendChild(page3, block3);
417
+
418
+ // Count pages in stack
419
+ const pages = engine.block.getChildren(stack);
420
+ console.log(`Stack now has ${pages.length} pages`);
302
421
  ```
303
422
 
304
- The stack container manages positioning automatically. You can add content to the new page before or after appending it to the stack.
423
+ Use `getChildren()` to see all pages in the stack. The insertion order determines the visual order in the layout.
305
424
 
306
- ## Reorder Pages
425
+ ## Reorder Pages in the Stack
307
426
 
308
- Change page order using `insertChild()` to place a page at a specific index within the stack.
427
+ Change the position of pages using `insertChild()`. This lets you move pages to any position in the stack.
309
428
 
310
429
  ```typescript highlight=highlight-reorder
311
- // Reorder pages using insertChild
312
- // Move page3 to the first position
313
- engine.block.insertChild(stack, page3, 0);
314
-
315
- // Verify the new order
316
- const pageOrder = engine.block.getChildren(stack);
317
- console.log('Page order after reordering:', pageOrder);
430
+ // Reorder pages using insertChild
431
+ // Move page3 to the first position (index 0)
432
+ engine.block.insertChild(stack, page3, 0);
433
+ console.log('Moved page 3 to first position');
434
+
435
+ // Verify the new order by listing children
436
+ const reorderedPages = engine.block.getChildren(stack);
437
+ console.log('Page order after reordering:', reorderedPages);
318
438
  ```
319
439
 
320
- Removing a page from its current position and reinserting it at index 0 moves it to the first position. All other pages shift to accommodate the change.
440
+ The second parameter specifies the target index. Index 0 places the page first, and higher indices move it further down (or right in horizontal layouts).
321
441
 
322
442
  ## Change Stack Spacing
323
443
 
324
- Adjust spacing between pages using the `stack/spacing` property on the stack block.
444
+ Adjust the spacing between pages at any time. Changes apply immediately and pages reposition automatically.
325
445
 
326
446
  ```typescript highlight=highlight-spacing
327
- // Update spacing between stacked pages
328
- engine.block.setFloat(stack, 'stack/spacing', 40);
447
+ // Update spacing between stacked pages
448
+ engine.block.setFloat(stack, 'stack/spacing', 40);
449
+ const newSpacing = engine.block.getFloat(stack, 'stack/spacing');
450
+ console.log(`Updated stack spacing to: ${newSpacing}px`);
329
451
 
330
- // Verify the spacing value
331
- const updatedSpacing = engine.block.getFloat(stack, 'stack/spacing');
332
- console.log('Updated spacing:', updatedSpacing);
452
+ // Spacing updates immediately - pages reposition automatically
333
453
  ```
334
454
 
335
- Spacing updates immediately and pages reposition automatically. Use `getFloat()` to verify the current spacing value.
455
+ Use `getFloat()` to read the current spacing value. Larger spacing creates more separation between pages; zero spacing creates a seamless grid.
336
456
 
337
457
  ## Switch to Free Layout
338
458
 
339
- For manual positioning, switch to `Free` layout. Pages keep their positions but stop auto-arranging.
459
+ Stack layouts automatically position pages. For manual control, switch to Free layout.
460
+
461
+ ```typescript highlight=highlight-free-layout
462
+ // Check current layout type
463
+ const layoutBefore = engine.scene.getLayout();
464
+ console.log('Current layout:', layoutBefore);
340
465
 
341
- ```typescript
342
- // Check current layout type
343
- const layout = engine.scene.getLayout();
466
+ // Convert to free layout for manual positioning
467
+ engine.scene.setLayout('Free');
468
+ console.log('Switched to Free layout');
344
469
 
345
- // Convert to free layout for manual positioning
346
- engine.scene.setLayout('Free');
470
+ // In free layout, pages keep their positions but stop auto-arranging
471
+ // Now you can position pages manually
472
+ const [firstPage] = engine.block.findByType('page');
473
+ engine.block.setPositionX(firstPage, 50);
474
+ engine.block.setPositionY(firstPage, 50);
475
+ console.log('Manually positioned first page');
347
476
 
348
- // Now position pages manually
349
- const [page] = engine.block.findByType('page');
350
- engine.block.setPositionX(page, 100);
351
- engine.block.setPositionY(page, 200);
477
+ // Verify layout change
478
+ const layoutAfter = engine.scene.getLayout();
479
+ console.log('Layout after switch:', layoutAfter);
352
480
  ```
353
481
 
354
- Free layout gives full control over page positions. Use this when you need precise positioning that stack layouts cannot provide.
482
+ In Free layout, pages keep their current positions but stop auto-arranging. You can then use `setPositionX()` and `setPositionY()` to position pages manually.
483
+
484
+ ## Build a Photo Collage
485
+
486
+ This practical example creates a vertical photo collage with three images and tight spacing.
487
+
488
+ ```typescript highlight=highlight-collage
489
+ // Create a new vertical stack scene for a photo collage
490
+ engine.scene.create('VerticalStack', {
491
+ page: { size: { width: 600, height: 200 } }
492
+ });
493
+
494
+ // Get the new stack
495
+ const [collageStack] = engine.block.findByType('stack');
496
+
497
+ // Set tight spacing for collage effect
498
+ engine.block.setFloat(collageStack, 'stack/spacing', 10);
499
+ engine.block.setBool(collageStack, 'stack/spacingInScreenspace', true);
500
+
501
+ // Get the first page created with the scene
502
+ const [collagePage1] = engine.block.findByType('page');
503
+
504
+ // Create additional pages for the collage
505
+ const collagePage2 = engine.block.create('page');
506
+ engine.block.setWidth(collagePage2, 600);
507
+ engine.block.setHeight(collagePage2, 200);
508
+ engine.block.appendChild(collageStack, collagePage2);
509
+
510
+ const collagePage3 = engine.block.create('page');
511
+ engine.block.setWidth(collagePage3, 600);
512
+ engine.block.setHeight(collagePage3, 200);
513
+ engine.block.appendChild(collageStack, collagePage3);
514
+
515
+ // Add images to each collage page
516
+ const imageUrls = [
517
+ 'https://img.ly/static/ubq_samples/sample_1.jpg',
518
+ 'https://img.ly/static/ubq_samples/sample_2.jpg',
519
+ 'https://img.ly/static/ubq_samples/sample_3.jpg'
520
+ ];
521
+
522
+ const collagePages = [collagePage1, collagePage2, collagePage3];
523
+
524
+ for (let i = 0; i < collagePages.length; i++) {
525
+ const photoBlock = await engine.block.addImage(imageUrls[i], {
526
+ size: { width: 580, height: 180 }
527
+ });
528
+ engine.block.setPositionX(photoBlock, 10);
529
+ engine.block.setPositionY(photoBlock, 10);
530
+ engine.block.appendChild(collagePages[i], photoBlock);
531
+ }
532
+
533
+ console.log('Created photo collage with 3 images');
534
+ ```
535
+
536
+ The collage uses a vertical stack with 10px spacing. Each page contains an image that fills most of the page area, creating a cohesive photo strip effect.
537
+
538
+ ## Exporting the Result
539
+
540
+ After building the layout, export pages as images to verify the composition.
541
+
542
+ ```typescript highlight=highlight-export
543
+ // Export the collage result to PNG
544
+ const outputDir = './output';
545
+ if (!existsSync(outputDir)) {
546
+ mkdirSync(outputDir, { recursive: true });
547
+ }
548
+
549
+ const blob = await engine.block.export(collagePage1, {
550
+ mimeType: 'image/png'
551
+ });
552
+ const buffer = Buffer.from(await blob.arrayBuffer());
553
+ writeFileSync(`${outputDir}/layout-collage.png`, buffer);
554
+
555
+ console.log('\nExported collage to output/layout-collage.png');
556
+ ```
355
557
 
356
558
  ## Troubleshooting
357
559
 
358
- **Pages not arranging automatically** Verify the scene layout type is `VerticalStack` or `HorizontalStack` using `getLayout()`.
560
+ **Pages not arranging automatically**: Verify the scene layout type is `VerticalStack` or `HorizontalStack` using `engine.scene.getLayout()`.
359
561
 
360
- **Spacing not applying** Check that you're setting spacing on the stack block, not the scene. Use `findByType('stack')` to get the stack container.
562
+ **Spacing not applying**: Check the spacing value with `engine.block.getFloat(stack, 'stack/spacing')`. Ensure you're setting spacing on the stack block, not the scene.
361
563
 
362
- **Pages overlapping** Ensure pages are direct children of the stack container. Nested pages won't auto-arrange properly.
564
+ **Pages overlapping**: Ensure pages are direct children of the stack block. Use `engine.block.findByType('stack')` to get the correct parent.
363
565
 
364
- **Can't position manually** Stack layouts override manual positions. Switch to `Free` layout for manual control.
566
+ **Can't position pages manually**: Stack layouts override manual positions. Switch to `Free` layout with `engine.scene.setLayout('Free')`.
365
567
 
366
- **Wrong stacking order** Child order determines position. Use `insertChild()` to move pages to specific positions.
568
+ **Wrong page order**: Child order determines visual position. Use `insertChild(stack, page, index)` to move pages to specific positions.
367
569
 
368
570
  ## API Reference
369
571
 
370
- | Method | Description |
371
- | --------------------------------------------------- | --------------------------------------------------------------------------------------- |
372
- | `engine.scene.create(layout)` | Create a scene with specified layout (`'Free'`, `'VerticalStack'`, `'HorizontalStack'`) |
373
- | `engine.scene.setLayout(layout)` | Change the layout type of the current scene |
374
- | `engine.scene.getLayout()` | Get the current layout type |
375
- | `engine.block.findByType('stack')` | Find the stack container block |
376
- | `engine.block.setFloat(id, 'stack/spacing', value)` | Set spacing between stacked pages |
377
- | `engine.block.getFloat(id, 'stack/spacing')` | Get current spacing value |
378
- | `engine.block.appendChild(parent, child)` | Add a page to the stack |
379
- | `engine.block.insertChild(parent, child, index)` | Insert a page at a specific position |
380
- | `engine.block.getChildren(id)` | Get child blocks in order |
381
-
382
- ## Next Steps
383
-
384
- - [Auto-resize](./automation/auto-resize.md) — Make blocks fit parent containers
385
- - [Manual Positioning](./edit-image/transform/move.md) — Position blocks in free layouts
386
- - [Layer Hierarchies](./create-composition/layer-management.md) — Organize blocks in hierarchical structures
387
- - [Create a Collage](./create-composition/collage.md) — Build photo collages with templates
572
+ | Method | Description |
573
+ | --- | --- |
574
+ | `engine.scene.create(layout, options)` | Create a scene with specified layout type |
575
+ | `engine.scene.getLayout()` | Get the current scene layout type |
576
+ | `engine.scene.setLayout(layout)` | Change the scene layout type |
577
+ | `engine.block.findByType('stack')` | Find the stack container block |
578
+ | `engine.block.setFloat(id, 'stack/spacing', value)` | Set spacing between stacked pages |
579
+ | `engine.block.getFloat(id, 'stack/spacing')` | Get current spacing value |
580
+ | `engine.block.setBool(id, 'stack/spacingInScreenspace', value)` | Set whether spacing is in screen pixels |
581
+ | `engine.block.appendChild(parent, child)` | Add page to stack (positions automatically) |
582
+ | `engine.block.insertChild(parent, child, index)` | Insert page at specific position in stack |
583
+ | `engine.block.getChildren(id)` | Get all child pages of a stack |
584
+
585
+
388
586
 
389
587
  ---
390
588
 
391
589
  ## More Resources
392
590
 
393
- - **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
591
+ - **[Node.js Documentation Index](https://img.ly/docs/cesdk/node.md)** - Browse all Node.js documentation
394
592
  - **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
395
- - **[Web Documentation](./js.md)** - Interactive documentation with examples
396
- - **[Support](mailto:support@img.ly)** - Contact IMG.LY support
593
+ - **[Web Documentation](./node.md)** - Interactive documentation with examples
594
+ - **[Support](mailto:support@img.ly)** - Contact IMG.LY support