@imgly/codesign-mcp 0.1.5 → 0.1.7

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 (1085) hide show
  1. package/README.md +56 -11
  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 +16 -30
  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 +136 -24
  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 +22 -4
  572. package/dist/config.d.ts.map +1 -1
  573. package/dist/config.js +32 -2
  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 +40 -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 +10 -2
  600. package/dist/engine/cesdk-adapter.d.ts.map +1 -1
  601. package/dist/engine/cesdk-adapter.js +17 -3
  602. package/dist/engine/cesdk-adapter.js.map +1 -1
  603. package/dist/engine/engine-capacity.d.ts +16 -0
  604. package/dist/engine/engine-capacity.d.ts.map +1 -0
  605. package/dist/engine/engine-capacity.js +48 -0
  606. package/dist/engine/engine-capacity.js.map +1 -0
  607. package/dist/engine/engine-slots.d.ts +48 -0
  608. package/dist/engine/engine-slots.d.ts.map +1 -0
  609. package/dist/engine/engine-slots.js +182 -0
  610. package/dist/engine/engine-slots.js.map +1 -0
  611. package/dist/engine/index.d.ts +1 -0
  612. package/dist/engine/index.d.ts.map +1 -1
  613. package/dist/engine/index.js +4 -0
  614. package/dist/engine/index.js.map +1 -1
  615. package/dist/engine/scene-resource-schemes.d.ts +2 -0
  616. package/dist/engine/scene-resource-schemes.d.ts.map +1 -0
  617. package/dist/engine/scene-resource-schemes.js +20 -0
  618. package/dist/engine/scene-resource-schemes.js.map +1 -0
  619. package/dist/http/server.d.ts +0 -6
  620. package/dist/http/server.d.ts.map +1 -1
  621. package/dist/http/server.js +1 -2
  622. package/dist/http/server.js.map +1 -1
  623. package/dist/server.d.ts +0 -4
  624. package/dist/server.d.ts.map +1 -1
  625. package/dist/server.js +4 -60
  626. package/dist/server.js.map +1 -1
  627. package/dist/tools/asset-generate.d.ts.map +1 -1
  628. package/dist/tools/asset-generate.js +1 -8
  629. package/dist/tools/asset-generate.js.map +1 -1
  630. package/dist/tools/edit.d.ts +3 -0
  631. package/dist/tools/edit.d.ts.map +1 -1
  632. package/dist/tools/edit.js +145 -96
  633. package/dist/tools/edit.js.map +1 -1
  634. package/dist/tools/engine.d.ts +13 -0
  635. package/dist/tools/engine.d.ts.map +1 -1
  636. package/dist/tools/engine.js +28 -0
  637. package/dist/tools/engine.js.map +1 -1
  638. package/dist/tools/export.d.ts +3 -0
  639. package/dist/tools/export.d.ts.map +1 -1
  640. package/dist/tools/export.js +146 -108
  641. package/dist/tools/export.js.map +1 -1
  642. package/dist/tools/import.d.ts +12 -0
  643. package/dist/tools/import.d.ts.map +1 -0
  644. package/dist/tools/import.js +144 -0
  645. package/dist/tools/import.js.map +1 -0
  646. package/dist/tools/index.d.ts +3 -0
  647. package/dist/tools/index.d.ts.map +1 -1
  648. package/dist/tools/index.js +44 -4
  649. package/dist/tools/index.js.map +1 -1
  650. package/dist/tools/load.d.ts +26 -0
  651. package/dist/tools/load.d.ts.map +1 -0
  652. package/dist/tools/load.js +400 -0
  653. package/dist/tools/load.js.map +1 -0
  654. package/dist/tools/preview.d.ts +3 -0
  655. package/dist/tools/preview.d.ts.map +1 -1
  656. package/dist/tools/preview.js +79 -44
  657. package/dist/tools/preview.js.map +1 -1
  658. package/dist/tools/result.d.ts +1 -1
  659. package/dist/tools/result.js +2 -2
  660. package/dist/tools/result.js.map +1 -1
  661. package/dist/tools/spans.d.ts +45 -0
  662. package/dist/tools/spans.d.ts.map +1 -0
  663. package/dist/tools/spans.js +77 -0
  664. package/dist/tools/spans.js.map +1 -0
  665. package/dist/tools/telemetry-wrapper.d.ts +4 -0
  666. package/dist/tools/telemetry-wrapper.d.ts.map +1 -0
  667. package/dist/tools/telemetry-wrapper.js +43 -0
  668. package/dist/tools/telemetry-wrapper.js.map +1 -0
  669. package/dist/viewer/cesdk-cdn.d.ts +16 -0
  670. package/dist/viewer/cesdk-cdn.d.ts.map +1 -0
  671. package/dist/viewer/cesdk-cdn.js +30 -0
  672. package/dist/viewer/cesdk-cdn.js.map +1 -0
  673. package/dist/viewer/router.d.ts +6 -0
  674. package/dist/viewer/router.d.ts.map +1 -1
  675. package/dist/viewer/router.js +4 -1
  676. package/dist/viewer/router.js.map +1 -1
  677. package/dist/viewer/spa-assets.generated.d.ts.map +1 -1
  678. package/dist/viewer/spa-assets.generated.js +2 -3
  679. package/dist/viewer/spa-assets.generated.js.map +1 -1
  680. package/dist/workspace/content-hash.d.ts +2 -0
  681. package/dist/workspace/content-hash.d.ts.map +1 -0
  682. package/dist/workspace/content-hash.js +15 -0
  683. package/dist/workspace/content-hash.js.map +1 -0
  684. package/package.json +19 -10
  685. package/assets/docs/guide/actions.md +0 -1038
  686. package/assets/docs/guide/animation/overview.md +0 -22
  687. package/assets/docs/guide/automation/batch-processing.md +0 -474
  688. package/assets/docs/guide/browser-support.md +0 -38
  689. package/assets/docs/guide/concepts/edit-modes.md +0 -431
  690. package/assets/docs/guide/concepts/headless-mode/browser.md +0 -291
  691. package/assets/docs/guide/create-audio/audio.md +0 -336
  692. package/assets/docs/guide/create-video/overview.md +0 -224
  693. package/assets/docs/guide/create-video/timeline-editor.md +0 -622
  694. package/assets/docs/guide/create-video/update-caption-presets.md +0 -676
  695. package/assets/docs/guide/edit-image/vectorize.md +0 -204
  696. package/assets/docs/guide/export-save-publish/export/to-html5.md +0 -474
  697. package/assets/docs/guide/export-save-publish/export/to-mp4.md +0 -364
  698. package/assets/docs/guide/get-started/vanilla-js/quickstart.md +0 -175
  699. package/assets/docs/guide/grid-and-rulers.md +0 -222
  700. package/assets/docs/guide/guides/text/rendering-internals.md +0 -796
  701. package/assets/docs/guide/import-media/asset-library.md +0 -23
  702. package/assets/docs/guide/import-media/asset-panel/basics.md +0 -324
  703. package/assets/docs/guide/import-media/asset-panel/customize.md +0 -478
  704. package/assets/docs/guide/import-media/asset-panel/thumbnails.md +0 -633
  705. package/assets/docs/guide/import-media/capture-from-camera/record-video.md +0 -137
  706. package/assets/docs/guide/import-media/capture-from-camera.md +0 -20
  707. package/assets/docs/guide/import-media/from-local-source/user-upload.md +0 -438
  708. package/assets/docs/guide/import-media/from-local-source.md +0 -20
  709. package/assets/docs/guide/import-media/from-remote-source/getty-images.md +0 -627
  710. package/assets/docs/guide/import-media/from-remote-source/imgly-premium-assets.md +0 -625
  711. package/assets/docs/guide/import-media/from-remote-source/pexels.md +0 -692
  712. package/assets/docs/guide/import-media/from-remote-source/soundstripe.md +0 -497
  713. package/assets/docs/guide/import-media/from-remote-source/third-party.md +0 -51
  714. package/assets/docs/guide/import-media/from-remote-source/unsplash.md +0 -914
  715. package/assets/docs/guide/import-media/from-remote-source/your-server.md +0 -764
  716. package/assets/docs/guide/open-the-editor/from-htmlcanvas.md +0 -228
  717. package/assets/docs/guide/open-the-editor/set-zoom-level.md +0 -303
  718. package/assets/docs/guide/plugins/asset-sources.md +0 -553
  719. package/assets/docs/guide/starterkits/3d-mockup-editor.md +0 -748
  720. package/assets/docs/guide/starterkits/advanced-editor.md +0 -698
  721. package/assets/docs/guide/starterkits/advanced-video-editor.md +0 -696
  722. package/assets/docs/guide/starterkits/ai-editor.md +0 -749
  723. package/assets/docs/guide/starterkits/airtable-image-editor.md +0 -672
  724. package/assets/docs/guide/starterkits/apparel-ui.md +0 -188
  725. package/assets/docs/guide/starterkits/assets.md +0 -27
  726. package/assets/docs/guide/starterkits/auto-resize.md +0 -586
  727. package/assets/docs/guide/starterkits/automated-video-generation.md +0 -692
  728. package/assets/docs/guide/starterkits/background-removal-editor.md +0 -480
  729. package/assets/docs/guide/starterkits/content-moderation.md +0 -863
  730. package/assets/docs/guide/starterkits/creative-automation.md +0 -28
  731. package/assets/docs/guide/starterkits/custom-built-uis.md +0 -26
  732. package/assets/docs/guide/starterkits/customization.md +0 -29
  733. package/assets/docs/guide/starterkits/cutout-lines-editor.md +0 -470
  734. package/assets/docs/guide/starterkits/data-merge.md +0 -850
  735. package/assets/docs/guide/starterkits/design-editor.md +0 -698
  736. package/assets/docs/guide/starterkits/design-generation.md +0 -719
  737. package/assets/docs/guide/starterkits/design-validation.md +0 -808
  738. package/assets/docs/guide/starterkits/editor-ui-configurations.md +0 -14
  739. package/assets/docs/guide/starterkits/export-options.md +0 -724
  740. package/assets/docs/guide/starterkits/export-using-renderer.md +0 -708
  741. package/assets/docs/guide/starterkits/extensibility.md +0 -28
  742. package/assets/docs/guide/starterkits/force-crop-editor.md +0 -675
  743. package/assets/docs/guide/starterkits/form-based-template-adoption.md +0 -522
  744. package/assets/docs/guide/starterkits/getty-images-editor.md +0 -700
  745. package/assets/docs/guide/starterkits/html5-ads-exporter.md +0 -719
  746. package/assets/docs/guide/starterkits/indesign-template-import.md +0 -580
  747. package/assets/docs/guide/starterkits/layouts-editor.md +0 -724
  748. package/assets/docs/guide/starterkits/mobile-ui.md +0 -185
  749. package/assets/docs/guide/starterkits/mockup-editor.md +0 -745
  750. package/assets/docs/guide/starterkits/multi-image-generation.md +0 -542
  751. package/assets/docs/guide/starterkits/page-sizes-editor.md +0 -657
  752. package/assets/docs/guide/starterkits/pexels-image-editor.md +0 -665
  753. package/assets/docs/guide/starterkits/photo-editor.md +0 -755
  754. package/assets/docs/guide/starterkits/photo-ui.md +0 -186
  755. package/assets/docs/guide/starterkits/photobook-ui.md +0 -188
  756. package/assets/docs/guide/starterkits/placeholders.md +0 -678
  757. package/assets/docs/guide/starterkits/player.md +0 -405
  758. package/assets/docs/guide/starterkits/plugins.md +0 -25
  759. package/assets/docs/guide/starterkits/postcard-editor.md +0 -202
  760. package/assets/docs/guide/starterkits/pptx-template-import.md +0 -581
  761. package/assets/docs/guide/starterkits/print-ready-pdf-editor.md +0 -746
  762. package/assets/docs/guide/starterkits/product-editor.md +0 -773
  763. package/assets/docs/guide/starterkits/psd-template-import.md +0 -580
  764. package/assets/docs/guide/starterkits/qr-code-editor.md +0 -470
  765. package/assets/docs/guide/starterkits/single-page-editor.md +0 -661
  766. package/assets/docs/guide/starterkits/start-with-image.md +0 -684
  767. package/assets/docs/guide/starterkits/start-with-video.md +0 -651
  768. package/assets/docs/guide/starterkits/t-shirt-designer.md +0 -742
  769. package/assets/docs/guide/starterkits/templating.md +0 -23
  770. package/assets/docs/guide/starterkits/theming.md +0 -662
  771. package/assets/docs/guide/starterkits/translation-internationalization.md +0 -662
  772. package/assets/docs/guide/starterkits/unsplash-editor.md +0 -839
  773. package/assets/docs/guide/starterkits/vectorizer-editor.md +0 -466
  774. package/assets/docs/guide/starterkits/version-history.md +0 -745
  775. package/assets/docs/guide/starterkits/video-animations.md +0 -853
  776. package/assets/docs/guide/starterkits/video-captions.md +0 -884
  777. package/assets/docs/guide/starterkits/video-editing.md +0 -25
  778. package/assets/docs/guide/starterkits/video-editor.md +0 -696
  779. package/assets/docs/guide/starterkits/video-export-options.md +0 -676
  780. package/assets/docs/guide/starterkits/viewer.md +0 -400
  781. package/assets/docs/guide/starterkits.md +0 -41
  782. package/assets/docs/guide/stickers-and-shapes/create-edit/vector-edit.md +0 -362
  783. package/assets/docs/guide/text/custom-fonts.md +0 -401
  784. package/assets/docs/guide/text/decorations.md +0 -330
  785. package/assets/docs/guide/text/enumerations.md +0 -258
  786. package/assets/docs/guide/to-v1-10.md +0 -131
  787. package/assets/docs/guide/to-v1-13.md +0 -165
  788. package/assets/docs/guide/to-v1-32.md +0 -110
  789. package/assets/docs/guide/to-v1-69.md +0 -468
  790. package/assets/docs/guide/to-v1-72.md +0 -193
  791. package/assets/docs/guide/use-templates/library.md +0 -450
  792. package/assets/docs/guide/user-interface/ai-integration/audio-generation.md +0 -428
  793. package/assets/docs/guide/user-interface/ai-integration/auto-captions.md +0 -337
  794. package/assets/docs/guide/user-interface/ai-integration/custom-provider.md +0 -853
  795. package/assets/docs/guide/user-interface/ai-integration/gateway-provider.md +0 -1045
  796. package/assets/docs/guide/user-interface/ai-integration/image-generation.md +0 -641
  797. package/assets/docs/guide/user-interface/ai-integration/integrate.md +0 -966
  798. package/assets/docs/guide/user-interface/ai-integration/proxy-server.md +0 -99
  799. package/assets/docs/guide/user-interface/ai-integration/text-generation.md +0 -498
  800. package/assets/docs/guide/user-interface/ai-integration/video-generation.md +0 -493
  801. package/assets/docs/guide/user-interface/ai-integration.md +0 -30
  802. package/assets/docs/guide/user-interface/appearance/change-ui-font.md +0 -316
  803. package/assets/docs/guide/user-interface/appearance/custom-labels.md +0 -509
  804. package/assets/docs/guide/user-interface/appearance/icons.md +0 -373
  805. package/assets/docs/guide/user-interface/appearance/theming.md +0 -665
  806. package/assets/docs/guide/user-interface/appearance.md +0 -23
  807. package/assets/docs/guide/user-interface/build-your-own-ui.md +0 -620
  808. package/assets/docs/guide/user-interface/customization/canvas-menu.md +0 -412
  809. package/assets/docs/guide/user-interface/customization/canvas.md +0 -281
  810. package/assets/docs/guide/user-interface/customization/color-palette.md +0 -413
  811. package/assets/docs/guide/user-interface/customization/crop-presets.md +0 -384
  812. package/assets/docs/guide/user-interface/customization/disable-or-enable.md +0 -676
  813. package/assets/docs/guide/user-interface/customization/dock.md +0 -399
  814. package/assets/docs/guide/user-interface/customization/force-crop.md +0 -289
  815. package/assets/docs/guide/user-interface/customization/inspector-bar.md +0 -371
  816. package/assets/docs/guide/user-interface/customization/navigation-bar.md +0 -516
  817. package/assets/docs/guide/user-interface/customization/page-format.md +0 -436
  818. package/assets/docs/guide/user-interface/customization/panel.md +0 -605
  819. package/assets/docs/guide/user-interface/customization/quick-start/add-action-buttons.md +0 -531
  820. package/assets/docs/guide/user-interface/customization/quick-start/add-dock-buttons.md +0 -358
  821. package/assets/docs/guide/user-interface/customization/quick-start/create-custom-components.md +0 -374
  822. package/assets/docs/guide/user-interface/customization/quick-start/reorder-components.md +0 -323
  823. package/assets/docs/guide/user-interface/customization/quick-start/show-hide-components.md +0 -294
  824. package/assets/docs/guide/user-interface/customization/quick-start.md +0 -12
  825. package/assets/docs/guide/user-interface/customization/reference/component-order-api.md +0 -519
  826. package/assets/docs/guide/user-interface/customization/reference/component-reference.md +0 -333
  827. package/assets/docs/guide/user-interface/customization/reference.md +0 -12
  828. package/assets/docs/guide/user-interface/customization.md +0 -39
  829. package/assets/docs/guide/user-interface/localization.md +0 -633
  830. package/assets/docs/guide/user-interface/overview.md +0 -167
  831. package/assets/docs/guide/user-interface/ui-extensions/add-custom-feature.md +0 -411
  832. package/assets/docs/guide/user-interface/ui-extensions/asset-library.md +0 -721
  833. package/assets/docs/guide/user-interface/ui-extensions/create-custom-panel.md +0 -331
  834. package/assets/docs/guide/user-interface/ui-extensions/customize-behaviour.md +0 -553
  835. package/assets/docs/guide/user-interface/ui-extensions/notifications-and-dialogs.md +0 -672
  836. package/assets/docs/guide/user-interface/ui-extensions/quick-actions.md +0 -415
  837. package/assets/docs/guide/user-interface/ui-extensions/register-new-component.md +0 -521
  838. package/assets/docs/guide/user-interface/ui-extensions.md +0 -26
  839. package/assets/docs/guide/user-interface.md +0 -25
  840. package/assets/prompts/evals-assetGenerate.md +0 -12
  841. package/assets/prompts/evals-brutalistCore.md +0 -34
  842. package/assets/prompts/evals-danskCatalogue.md +0 -31
  843. package/assets/prompts/evals-exportRoundTrip.md +0 -12
  844. package/assets/prompts/evals-inspectPriorCode.md +0 -16
  845. package/assets/prompts/evals-listProjectFiles.md +0 -6
  846. package/assets/prompts/evals-readAndExplainScript.md +0 -6
  847. package/assets/prompts/evals-resumeAcrossRestart.md +0 -15
  848. package/assets/prompts/evals-rewindRecovery.md +0 -10
  849. package/assets/prompts/evals-searchAcrossFiles.md +0 -6
  850. package/assets/prompts/evals-weddingCard.md +0 -20
  851. package/assets/prompts/explain.md +0 -6
  852. package/assets/prompts/review.md +0 -6
  853. package/dist/dashboard/router.d.ts +0 -3
  854. package/dist/dashboard/router.d.ts.map +0 -1
  855. package/dist/dashboard/router.js +0 -19
  856. package/dist/dashboard/router.js.map +0 -1
  857. package/dist/dashboard/spa-assets.generated.d.ts +0 -2
  858. package/dist/dashboard/spa-assets.generated.d.ts.map +0 -1
  859. package/dist/dashboard/spa-assets.generated.js +0 -220
  860. package/dist/dashboard/spa-assets.generated.js.map +0 -1
  861. package/dist/frontmatter.d.ts +0 -15
  862. package/dist/frontmatter.d.ts.map +0 -1
  863. package/dist/frontmatter.js +0 -46
  864. package/dist/frontmatter.js.map +0 -1
  865. package/dist/metrics/mount.d.ts +0 -11
  866. package/dist/metrics/mount.d.ts.map +0 -1
  867. package/dist/metrics/mount.js +0 -13
  868. package/dist/metrics/mount.js.map +0 -1
  869. package/dist/metrics/recorder.d.ts +0 -55
  870. package/dist/metrics/recorder.d.ts.map +0 -1
  871. package/dist/metrics/recorder.js +0 -97
  872. package/dist/metrics/recorder.js.map +0 -1
  873. package/dist/test/test/cli/dispatcher.test.d.ts +0 -2
  874. package/dist/test/test/cli/dispatcher.test.d.ts.map +0 -1
  875. package/dist/test/test/cli/dispatcher.test.js +0 -47
  876. package/dist/test/test/cli/dispatcher.test.js.map +0 -1
  877. package/dist/test/test/cli/redirect-console.test.d.ts +0 -2
  878. package/dist/test/test/cli/redirect-console.test.d.ts.map +0 -1
  879. package/dist/test/test/cli/redirect-console.test.js +0 -47
  880. package/dist/test/test/cli/redirect-console.test.js.map +0 -1
  881. package/dist/test/test/cli/resolve-license.test.d.ts +0 -2
  882. package/dist/test/test/cli/resolve-license.test.d.ts.map +0 -1
  883. package/dist/test/test/cli/resolve-license.test.js +0 -20
  884. package/dist/test/test/cli/resolve-license.test.js.map +0 -1
  885. package/dist/test/test/cli/stdio-license.test.d.ts +0 -2
  886. package/dist/test/test/cli/stdio-license.test.d.ts.map +0 -1
  887. package/dist/test/test/cli/stdio-license.test.js +0 -19
  888. package/dist/test/test/cli/stdio-license.test.js.map +0 -1
  889. package/dist/test/test/config.test.d.ts +0 -2
  890. package/dist/test/test/config.test.d.ts.map +0 -1
  891. package/dist/test/test/config.test.js +0 -91
  892. package/dist/test/test/config.test.js.map +0 -1
  893. package/dist/test/test/cross-ref.test.d.ts +0 -2
  894. package/dist/test/test/cross-ref.test.d.ts.map +0 -1
  895. package/dist/test/test/cross-ref.test.js +0 -39
  896. package/dist/test/test/cross-ref.test.js.map +0 -1
  897. package/dist/test/test/engine/asset-sources.test.d.ts +0 -2
  898. package/dist/test/test/engine/asset-sources.test.d.ts.map +0 -1
  899. package/dist/test/test/engine/asset-sources.test.js +0 -100
  900. package/dist/test/test/engine/asset-sources.test.js.map +0 -1
  901. package/dist/test/test/engine/mutex.test.d.ts +0 -2
  902. package/dist/test/test/engine/mutex.test.d.ts.map +0 -1
  903. package/dist/test/test/engine/mutex.test.js +0 -63
  904. package/dist/test/test/engine/mutex.test.js.map +0 -1
  905. package/dist/test/test/engine/session.test.d.ts +0 -2
  906. package/dist/test/test/engine/session.test.d.ts.map +0 -1
  907. package/dist/test/test/engine/session.test.js +0 -159
  908. package/dist/test/test/engine/session.test.js.map +0 -1
  909. package/dist/test/test/engine/unsplash-source.test.d.ts +0 -2
  910. package/dist/test/test/engine/unsplash-source.test.d.ts.map +0 -1
  911. package/dist/test/test/engine/unsplash-source.test.js +0 -129
  912. package/dist/test/test/engine/unsplash-source.test.js.map +0 -1
  913. package/dist/test/test/engine/uri-resolver.test.d.ts +0 -2
  914. package/dist/test/test/engine/uri-resolver.test.d.ts.map +0 -1
  915. package/dist/test/test/engine/uri-resolver.test.js +0 -38
  916. package/dist/test/test/engine/uri-resolver.test.js.map +0 -1
  917. package/dist/test/test/frontmatter.test.d.ts +0 -2
  918. package/dist/test/test/frontmatter.test.d.ts.map +0 -1
  919. package/dist/test/test/frontmatter.test.js +0 -55
  920. package/dist/test/test/frontmatter.test.js.map +0 -1
  921. package/dist/test/test/gateway/hosted-stub.test.d.ts +0 -2
  922. package/dist/test/test/gateway/hosted-stub.test.d.ts.map +0 -1
  923. package/dist/test/test/gateway/hosted-stub.test.js +0 -11
  924. package/dist/test/test/gateway/hosted-stub.test.js.map +0 -1
  925. package/dist/test/test/gateway/local.test.d.ts +0 -2
  926. package/dist/test/test/gateway/local.test.d.ts.map +0 -1
  927. package/dist/test/test/gateway/local.test.js +0 -29
  928. package/dist/test/test/gateway/local.test.js.map +0 -1
  929. package/dist/test/test/handbook-contract.test.d.ts +0 -2
  930. package/dist/test/test/handbook-contract.test.d.ts.map +0 -1
  931. package/dist/test/test/handbook-contract.test.js +0 -75
  932. package/dist/test/test/handbook-contract.test.js.map +0 -1
  933. package/dist/test/test/http/server.test.d.ts +0 -2
  934. package/dist/test/test/http/server.test.d.ts.map +0 -1
  935. package/dist/test/test/http/server.test.js +0 -374
  936. package/dist/test/test/http/server.test.js.map +0 -1
  937. package/dist/test/test/http/session-id-header.test.d.ts +0 -2
  938. package/dist/test/test/http/session-id-header.test.d.ts.map +0 -1
  939. package/dist/test/test/http/session-id-header.test.js +0 -76
  940. package/dist/test/test/http/session-id-header.test.js.map +0 -1
  941. package/dist/test/test/http/session-manager.test.d.ts +0 -2
  942. package/dist/test/test/http/session-manager.test.d.ts.map +0 -1
  943. package/dist/test/test/http/session-manager.test.js +0 -97
  944. package/dist/test/test/http/session-manager.test.js.map +0 -1
  945. package/dist/test/test/http/workspace-auth.test.d.ts +0 -2
  946. package/dist/test/test/http/workspace-auth.test.d.ts.map +0 -1
  947. package/dist/test/test/http/workspace-auth.test.js +0 -41
  948. package/dist/test/test/http/workspace-auth.test.js.map +0 -1
  949. package/dist/test/test/metrics/mount.test.d.ts +0 -2
  950. package/dist/test/test/metrics/mount.test.d.ts.map +0 -1
  951. package/dist/test/test/metrics/mount.test.js +0 -59
  952. package/dist/test/test/metrics/mount.test.js.map +0 -1
  953. package/dist/test/test/metrics/recorder.test.d.ts +0 -2
  954. package/dist/test/test/metrics/recorder.test.d.ts.map +0 -1
  955. package/dist/test/test/metrics/recorder.test.js +0 -118
  956. package/dist/test/test/metrics/recorder.test.js.map +0 -1
  957. package/dist/test/test/revisions/hash.test.d.ts +0 -2
  958. package/dist/test/test/revisions/hash.test.d.ts.map +0 -1
  959. package/dist/test/test/revisions/hash.test.js +0 -33
  960. package/dist/test/test/revisions/hash.test.js.map +0 -1
  961. package/dist/test/test/revisions/store.test.d.ts +0 -2
  962. package/dist/test/test/revisions/store.test.d.ts.map +0 -1
  963. package/dist/test/test/revisions/store.test.js +0 -315
  964. package/dist/test/test/revisions/store.test.js.map +0 -1
  965. package/dist/test/test/server.metrics.test.d.ts +0 -2
  966. package/dist/test/test/server.metrics.test.d.ts.map +0 -1
  967. package/dist/test/test/server.metrics.test.js +0 -87
  968. package/dist/test/test/server.metrics.test.js.map +0 -1
  969. package/dist/test/test/server.test.d.ts +0 -2
  970. package/dist/test/test/server.test.d.ts.map +0 -1
  971. package/dist/test/test/server.test.js +0 -186
  972. package/dist/test/test/server.test.js.map +0 -1
  973. package/dist/test/test/skill-tools.test.d.ts +0 -2
  974. package/dist/test/test/skill-tools.test.d.ts.map +0 -1
  975. package/dist/test/test/skill-tools.test.js +0 -84
  976. package/dist/test/test/skill-tools.test.js.map +0 -1
  977. package/dist/test/test/smoke.test.d.ts +0 -2
  978. package/dist/test/test/smoke.test.d.ts.map +0 -1
  979. package/dist/test/test/smoke.test.js +0 -8
  980. package/dist/test/test/smoke.test.js.map +0 -1
  981. package/dist/test/test/tools/asset-generate.test.d.ts +0 -2
  982. package/dist/test/test/tools/asset-generate.test.d.ts.map +0 -1
  983. package/dist/test/test/tools/asset-generate.test.js +0 -66
  984. package/dist/test/test/tools/asset-generate.test.js.map +0 -1
  985. package/dist/test/test/tools/asset-search.test.d.ts +0 -2
  986. package/dist/test/test/tools/asset-search.test.d.ts.map +0 -1
  987. package/dist/test/test/tools/asset-search.test.js +0 -121
  988. package/dist/test/test/tools/asset-search.test.js.map +0 -1
  989. package/dist/test/test/tools/edit.test.d.ts +0 -2
  990. package/dist/test/test/tools/edit.test.d.ts.map +0 -1
  991. package/dist/test/test/tools/edit.test.js +0 -267
  992. package/dist/test/test/tools/edit.test.js.map +0 -1
  993. package/dist/test/test/tools/export.test.d.ts +0 -2
  994. package/dist/test/test/tools/export.test.d.ts.map +0 -1
  995. package/dist/test/test/tools/export.test.js +0 -174
  996. package/dist/test/test/tools/export.test.js.map +0 -1
  997. package/dist/test/test/tools/history.test.d.ts +0 -2
  998. package/dist/test/test/tools/history.test.d.ts.map +0 -1
  999. package/dist/test/test/tools/history.test.js +0 -29
  1000. package/dist/test/test/tools/history.test.js.map +0 -1
  1001. package/dist/test/test/tools/index.test.d.ts +0 -2
  1002. package/dist/test/test/tools/index.test.d.ts.map +0 -1
  1003. package/dist/test/test/tools/index.test.js +0 -55
  1004. package/dist/test/test/tools/index.test.js.map +0 -1
  1005. package/dist/test/test/tools/inspect.test.d.ts +0 -2
  1006. package/dist/test/test/tools/inspect.test.d.ts.map +0 -1
  1007. package/dist/test/test/tools/inspect.test.js +0 -62
  1008. package/dist/test/test/tools/inspect.test.js.map +0 -1
  1009. package/dist/test/test/tools/list.test.d.ts +0 -2
  1010. package/dist/test/test/tools/list.test.d.ts.map +0 -1
  1011. package/dist/test/test/tools/list.test.js +0 -23
  1012. package/dist/test/test/tools/list.test.js.map +0 -1
  1013. package/dist/test/test/tools/metrics.test.d.ts +0 -2
  1014. package/dist/test/test/tools/metrics.test.d.ts.map +0 -1
  1015. package/dist/test/test/tools/metrics.test.js +0 -29
  1016. package/dist/test/test/tools/metrics.test.js.map +0 -1
  1017. package/dist/test/test/tools/open-editor.test.d.ts +0 -2
  1018. package/dist/test/test/tools/open-editor.test.d.ts.map +0 -1
  1019. package/dist/test/test/tools/open-editor.test.js +0 -53
  1020. package/dist/test/test/tools/open-editor.test.js.map +0 -1
  1021. package/dist/test/test/tools/preview.test.d.ts +0 -2
  1022. package/dist/test/test/tools/preview.test.d.ts.map +0 -1
  1023. package/dist/test/test/tools/preview.test.js +0 -75
  1024. package/dist/test/test/tools/preview.test.js.map +0 -1
  1025. package/dist/test/test/tools/rename.test.d.ts +0 -2
  1026. package/dist/test/test/tools/rename.test.d.ts.map +0 -1
  1027. package/dist/test/test/tools/rename.test.js +0 -16
  1028. package/dist/test/test/tools/rename.test.js.map +0 -1
  1029. package/dist/test/test/tools/save.test.d.ts +0 -2
  1030. package/dist/test/test/tools/save.test.d.ts.map +0 -1
  1031. package/dist/test/test/tools/save.test.js +0 -137
  1032. package/dist/test/test/tools/save.test.js.map +0 -1
  1033. package/dist/test/test/viewer/broadcaster.test.d.ts +0 -2
  1034. package/dist/test/test/viewer/broadcaster.test.d.ts.map +0 -1
  1035. package/dist/test/test/viewer/broadcaster.test.js +0 -53
  1036. package/dist/test/test/viewer/broadcaster.test.js.map +0 -1
  1037. package/dist/test/test/viewer/resource-route.test.d.ts +0 -2
  1038. package/dist/test/test/viewer/resource-route.test.d.ts.map +0 -1
  1039. package/dist/test/test/viewer/resource-route.test.js +0 -70
  1040. package/dist/test/test/viewer/resource-route.test.js.map +0 -1
  1041. package/dist/test/test/viewer/router.test.d.ts +0 -2
  1042. package/dist/test/test/viewer/router.test.d.ts.map +0 -1
  1043. package/dist/test/test/viewer/router.test.js +0 -227
  1044. package/dist/test/test/viewer/router.test.js.map +0 -1
  1045. package/dist/test/test/viewer/session-mount.test.d.ts +0 -2
  1046. package/dist/test/test/viewer/session-mount.test.d.ts.map +0 -1
  1047. package/dist/test/test/viewer/session-mount.test.js +0 -52
  1048. package/dist/test/test/viewer/session-mount.test.js.map +0 -1
  1049. package/dist/test/test/viewer/url-builder.test.d.ts +0 -2
  1050. package/dist/test/test/viewer/url-builder.test.d.ts.map +0 -1
  1051. package/dist/test/test/viewer/url-builder.test.js +0 -98
  1052. package/dist/test/test/viewer/url-builder.test.js.map +0 -1
  1053. package/dist/test/test/workspace/hosted-stub.test.d.ts +0 -2
  1054. package/dist/test/test/workspace/hosted-stub.test.d.ts.map +0 -1
  1055. package/dist/test/test/workspace/hosted-stub.test.js +0 -30
  1056. package/dist/test/test/workspace/hosted-stub.test.js.map +0 -1
  1057. package/dist/test/test/workspace/in-memory.test.d.ts +0 -2
  1058. package/dist/test/test/workspace/in-memory.test.d.ts.map +0 -1
  1059. package/dist/test/test/workspace/in-memory.test.js +0 -4
  1060. package/dist/test/test/workspace/in-memory.test.js.map +0 -1
  1061. package/dist/test/test/workspace/node-fs.test.d.ts +0 -2
  1062. package/dist/test/test/workspace/node-fs.test.d.ts.map +0 -1
  1063. package/dist/test/test/workspace/node-fs.test.js +0 -20
  1064. package/dist/test/test/workspace/node-fs.test.js.map +0 -1
  1065. package/dist/test/test/workspace/s3.test.d.ts +0 -2
  1066. package/dist/test/test/workspace/s3.test.d.ts.map +0 -1
  1067. package/dist/test/test/workspace/s3.test.js +0 -153
  1068. package/dist/test/test/workspace/s3.test.js.map +0 -1
  1069. package/dist/test/test/workspace/scoped.test.d.ts +0 -2
  1070. package/dist/test/test/workspace/scoped.test.d.ts.map +0 -1
  1071. package/dist/test/test/workspace/scoped.test.js +0 -59
  1072. package/dist/test/test/workspace/scoped.test.js.map +0 -1
  1073. package/dist/test/test/workspace/shared-contract.d.ts +0 -3
  1074. package/dist/test/test/workspace/shared-contract.d.ts.map +0 -1
  1075. package/dist/test/test/workspace/shared-contract.js +0 -92
  1076. package/dist/test/test/workspace/shared-contract.js.map +0 -1
  1077. package/dist/test/tsconfig.test.tsbuildinfo +0 -1
  1078. package/dist/test/vitest.config.d.ts +0 -3
  1079. package/dist/test/vitest.config.d.ts.map +0 -1
  1080. package/dist/test/vitest.config.js +0 -8
  1081. package/dist/test/vitest.config.js.map +0 -1
  1082. package/dist/tools/metrics.d.ts +0 -11
  1083. package/dist/tools/metrics.d.ts.map +0 -1
  1084. package/dist/tools/metrics.js +0 -28
  1085. package/dist/tools/metrics.js.map +0 -1
@@ -1,4 +1,4 @@
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 Text](./text.md) > [Add Text](./text/add.md)
4
4
 
@@ -6,42 +6,28 @@
6
6
 
7
7
  Create and configure text blocks in CE.SDK with custom fonts, rich text styling, and dynamic sizing options.
8
8
 
9
- ![Add Text example showing styled text blocks](https://img.ly/docs/cesdk/./assets/browser.hero.webp)
10
-
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-text-add-browser)
17
- > - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-text-add-browser)
18
- > - [Live demo](https://img.ly/docs/cesdk/examples/guides-text-add-browser/)
14
+ >
15
+ > - [View source on GitHub](https://github.com/imgly/cesdk-web-examples/tree/release-$UBQ_VERSION$/guides-text-add-server-js)
16
+ >
17
+ > - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-text-add-server-js)
19
18
 
20
19
  Text blocks are fundamental design elements for displaying titles, captions, labels, and body text. CE.SDK provides a range-based styling system that allows different formatting within a single text block, enabling rich text with multiple colors, font weights, and styles.
21
20
 
22
- ```typescript file=@cesdk_web_examples/guides-text-add-browser/browser.ts reference-only
23
- import type { EditorPlugin, EditorPluginContext } from '@cesdk/cesdk-js';
24
-
25
- import {
26
- BlurAssetSource,
27
- ColorPaletteAssetSource,
28
- CropPresetsAssetSource,
29
- DemoAssetSources,
30
- EffectsAssetSource,
31
- FiltersAssetSource,
32
- PagePresetsAssetSource,
33
- StickerAssetSource,
34
- TextAssetSource,
35
- TextComponentAssetSource,
36
- TypefaceAssetSource,
37
- UploadAssetSources,
38
- VectorShapeAssetSource
39
- } from '@cesdk/cesdk-js/plugins';
40
- import { DesignEditorConfig } from './design-editor/plugin';
41
- import packageJson from './package.json';
21
+ ```typescript file=@cesdk_web_examples/guides-text-add-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();
42
28
 
43
29
  /**
44
- * CE.SDK Browser Guide: Add Text
30
+ * CE.SDK Server Guide: Add Text
45
31
  *
46
32
  * Demonstrates text block creation and configuration:
47
33
  * - Creating text blocks
@@ -53,261 +39,239 @@ import packageJson from './package.json';
53
39
  * - Text alignment and spacing
54
40
  */
55
41
 
56
- class Example implements EditorPlugin {
57
- name = packageJson.name;
58
- version = packageJson.version;
59
-
60
- async initialize({ cesdk }: EditorPluginContext): Promise<void> {
61
- if (!cesdk) {
62
- throw new Error('CE.SDK instance is required for this plugin');
63
- }
64
-
65
- await cesdk.addPlugin(new DesignEditorConfig());
66
-
67
- // Add asset source plugins
68
- await cesdk.addPlugin(new BlurAssetSource());
69
- await cesdk.addPlugin(new ColorPaletteAssetSource());
70
- await cesdk.addPlugin(new CropPresetsAssetSource());
71
- await cesdk.addPlugin(
72
- new UploadAssetSources({ include: ['ly.img.image.upload'] })
73
- );
74
- await cesdk.addPlugin(
75
- new DemoAssetSources({
76
- include: [
77
- 'ly.img.templates.blank.*',
78
- 'ly.img.templates.presentation.*',
79
- 'ly.img.templates.print.*',
80
- 'ly.img.templates.social.*',
81
- 'ly.img.image.*'
82
- ]
83
- })
84
- );
85
- await cesdk.addPlugin(new EffectsAssetSource());
86
- await cesdk.addPlugin(new FiltersAssetSource());
87
- await cesdk.addPlugin(new PagePresetsAssetSource());
88
- await cesdk.addPlugin(new StickerAssetSource());
89
- await cesdk.addPlugin(new TextAssetSource());
90
- await cesdk.addPlugin(new TextComponentAssetSource());
91
- await cesdk.addPlugin(new TypefaceAssetSource());
92
- await cesdk.addPlugin(new VectorShapeAssetSource());
93
-
94
- await cesdk.actions.run('scene.create', {
95
- page: { width: 800, height: 900, unit: 'Pixel' }
96
- });
97
-
98
- const engine = cesdk.engine;
99
- const page = engine.block.findByType('page')[0];
100
- const pageWidth = engine.block.getWidth(page);
101
-
102
- // Document layout settings
103
- const margin = 40;
104
- const fontSize = 80;
105
- const lineSpacing = 100;
106
-
107
- // Create a title text block
108
- const titleBlock = engine.block.create('text');
109
- engine.block.appendChild(page, titleBlock);
110
-
111
- // Set the text content using replaceText
112
- engine.block.replaceText(titleBlock, 'Welcome to CE.SDK');
113
-
114
- // Configure auto-sizing so the block adjusts to content
115
- engine.block.setWidthMode(titleBlock, 'Auto');
116
- engine.block.setHeightMode(titleBlock, 'Auto');
117
-
118
- // Position at top of document
119
- engine.block.setPositionX(titleBlock, margin);
120
- engine.block.setPositionY(titleBlock, margin);
121
-
122
- // Apply a custom font to the title
123
- // Font URIs point to hosted font files (TTF, OTF, WOFF, WOFF2)
124
- const fontUri =
125
- 'https://cdn.img.ly/packages/imgly/cesdk-js/latest/assets/extensions/ly.img.cesdk.fonts/fonts/Caveat/Caveat-Bold.ttf';
126
- const typeface = {
127
- name: 'Caveat',
128
- fonts: [
129
- {
130
- uri: fontUri,
131
- subFamily: 'Bold',
132
- weight: 'bold' as const,
133
- style: 'normal' as const
134
- }
135
- ]
136
- };
137
- engine.block.setFont(titleBlock, fontUri, typeface);
138
-
139
- // Set font size (80pt for visibility)
140
- engine.block.setTextFontSize(titleBlock, fontSize);
141
-
142
- // Create a text block with rich text styling (multiple colors and weights)
143
- const richTextBlock = engine.block.create('text');
144
- engine.block.appendChild(page, richTextBlock);
145
- engine.block.replaceText(richTextBlock, 'Rich text with colors and styles');
146
-
147
- // Position below title
148
- engine.block.setPositionX(richTextBlock, margin);
149
- engine.block.setPositionY(richTextBlock, margin + lineSpacing);
150
- engine.block.setWidthMode(richTextBlock, 'Auto');
151
- engine.block.setHeightMode(richTextBlock, 'Auto');
152
- engine.block.setTextFontSize(richTextBlock, fontSize);
153
-
154
- // Apply different colors to specific ranges
155
- // "Rich" (0-4) in blue
156
- engine.block.setTextColor(
157
- richTextBlock,
158
- { r: 0.2, g: 0.4, b: 0.8, a: 1.0 },
159
- 0,
160
- 4
161
- );
162
-
163
- // "text" (5-9) in green
164
- engine.block.setTextColor(
165
- richTextBlock,
166
- { r: 0.2, g: 0.7, b: 0.3, a: 1.0 },
167
- 5,
168
- 9
169
- );
170
-
171
- // "colors" (15-21) in orange
172
- engine.block.setTextColor(
173
- richTextBlock,
174
- { r: 0.9, g: 0.5, b: 0.1, a: 1.0 },
175
- 15,
176
- 21
177
- );
178
-
179
- // "styles" (26-32) in purple
180
- engine.block.setTextColor(
181
- richTextBlock,
182
- { r: 0.6, g: 0.2, b: 0.8, a: 1.0 },
183
- 26,
184
- 32
185
- );
186
-
187
- // Create a text block demonstrating auto-sizing with fixed width
188
- const autoSizeBlock = engine.block.create('text');
189
- engine.block.appendChild(page, autoSizeBlock);
190
- engine.block.replaceText(autoSizeBlock, 'Auto-sizing text block');
191
-
192
- // Position below rich text
193
- engine.block.setPositionX(autoSizeBlock, margin);
194
- engine.block.setPositionY(autoSizeBlock, margin + lineSpacing * 2);
195
-
196
- // Set fixed width but auto height - text wraps and height adjusts
197
- engine.block.setWidth(autoSizeBlock, pageWidth - margin * 2);
198
- engine.block.setWidthMode(autoSizeBlock, 'Absolute');
199
- engine.block.setHeightMode(autoSizeBlock, 'Auto');
200
- engine.block.setTextFontSize(autoSizeBlock, fontSize);
201
-
202
- // Create a text block demonstrating text case transformations
203
- const caseBlock = engine.block.create('text');
204
- engine.block.appendChild(page, caseBlock);
205
- engine.block.replaceText(caseBlock, 'uppercase text');
206
-
207
- // Position below auto-size block
208
- engine.block.setPositionX(caseBlock, margin);
209
- engine.block.setPositionY(caseBlock, margin + lineSpacing * 3);
210
- engine.block.setWidthMode(caseBlock, 'Auto');
211
- engine.block.setHeightMode(caseBlock, 'Auto');
212
- engine.block.setTextFontSize(caseBlock, fontSize);
213
-
214
- // Transform the entire text to uppercase without changing the source
215
- engine.block.setTextCase(caseBlock, 'Uppercase');
216
-
217
- // Create a text block demonstrating bold/italic toggle
218
- const toggleBlock = engine.block.create('text');
219
- engine.block.appendChild(page, toggleBlock);
220
- engine.block.replaceText(toggleBlock, 'Toggle Bold and Italic');
221
-
222
- // Position below case block
223
- engine.block.setPositionX(toggleBlock, margin);
224
- engine.block.setPositionY(toggleBlock, margin + lineSpacing * 4);
225
- engine.block.setWidthMode(toggleBlock, 'Auto');
226
- engine.block.setHeightMode(toggleBlock, 'Auto');
227
- engine.block.setTextFontSize(toggleBlock, fontSize);
228
-
229
- // Set a font that supports bold/italic variants
230
- const robotoTypeface = {
231
- name: 'Roboto',
232
- fonts: [
233
- {
234
- uri: 'https://cdn.img.ly/packages/imgly/cesdk-js/latest/assets/extensions/ly.img.cesdk.fonts/fonts/Roboto/Roboto-Regular.ttf',
235
- subFamily: 'Regular',
236
- weight: 'normal' as const,
237
- style: 'normal' as const
238
- },
239
- {
240
- uri: 'https://cdn.img.ly/packages/imgly/cesdk-js/latest/assets/extensions/ly.img.cesdk.fonts/fonts/Roboto/Roboto-Bold.ttf',
241
- subFamily: 'Bold',
242
- weight: 'bold' as const,
243
- style: 'normal' as const
244
- },
245
- {
246
- uri: 'https://cdn.img.ly/packages/imgly/cesdk-js/latest/assets/extensions/ly.img.cesdk.fonts/fonts/Roboto/Roboto-Italic.ttf',
247
- subFamily: 'Italic',
248
- weight: 'normal' as const,
249
- style: 'italic' as const
250
- }
251
- ]
252
- };
253
- engine.block.setFont(
254
- toggleBlock,
255
- 'https://cdn.img.ly/packages/imgly/cesdk-js/latest/assets/extensions/ly.img.cesdk.fonts/fonts/Roboto/Roboto-Regular.ttf',
256
- robotoTypeface
257
- );
258
-
259
- // Toggle bold for "Bold" (7-11)
260
- engine.block.toggleBoldFont(toggleBlock, 7, 11);
261
-
262
- // Toggle italic for "Italic" (16-22)
263
- engine.block.toggleItalicFont(toggleBlock, 16, 22);
264
-
265
- // Create a text block to demonstrate text modification
266
- const modifyBlock = engine.block.create('text');
267
- engine.block.appendChild(page, modifyBlock);
268
- engine.block.replaceText(modifyBlock, 'Hello World');
269
-
270
- // Position below toggle block
271
- engine.block.setPositionX(modifyBlock, margin);
272
- engine.block.setPositionY(modifyBlock, margin + lineSpacing * 5);
273
- engine.block.setWidthMode(modifyBlock, 'Auto');
274
- engine.block.setHeightMode(modifyBlock, 'Auto');
275
- engine.block.setTextFontSize(modifyBlock, fontSize);
276
-
277
- // Replace "World" with "CE.SDK" (range 6-11)
278
- engine.block.replaceText(modifyBlock, 'CE.SDK', 6, 11);
279
- // Result: "Hello CE.SDK"
280
-
281
- // Create a centered text block with custom spacing
282
- const alignedBlock = engine.block.create('text');
283
- engine.block.appendChild(page, alignedBlock);
284
- engine.block.replaceText(alignedBlock, 'Centered Text\nWith Line Spacing');
285
-
286
- // Position at bottom of document
287
- engine.block.setPositionX(alignedBlock, margin);
288
- engine.block.setPositionY(alignedBlock, margin + lineSpacing * 6);
289
-
290
- // Set explicit dimensions for centered alignment
291
- engine.block.setWidth(alignedBlock, pageWidth - margin * 2);
292
- engine.block.setWidthMode(alignedBlock, 'Absolute');
293
- engine.block.setHeightMode(alignedBlock, 'Auto');
294
- engine.block.setTextFontSize(alignedBlock, fontSize);
295
-
296
- // Set horizontal alignment to center
297
- engine.block.setEnum(alignedBlock, 'text/horizontalAlignment', 'Center');
298
-
299
- // Adjust line height (1.5 = 150% of font size)
300
- engine.block.setFloat(alignedBlock, 'text/lineHeight', 1.5);
301
-
302
- // Adjust letter spacing (0.05 = 5% of font size)
303
- engine.block.setFloat(alignedBlock, 'text/letterSpacing', 0.05);
304
-
305
- // Select the title block to show in the editor
306
- engine.block.select(titleBlock);
42
+ // Initialize CE.SDK engine in headless mode
43
+ const engine = await CreativeEngine.init({
44
+ baseURL: process.env.IMGLY_LOCAL_ASSETS_URL
45
+ // license: process.env.CESDK_LICENSE, // Optional (trial mode available)
46
+ });
47
+
48
+ try {
49
+ // Create a design scene with specific page dimensions
50
+ const pageWidth = 800;
51
+ const pageHeight = 900;
52
+ engine.scene.create('VerticalStack', {
53
+ page: { size: { width: pageWidth, height: pageHeight } }
54
+ });
55
+ const page = engine.block.findByType('page')[0];
56
+
57
+ // Document layout settings
58
+ const margin = 40;
59
+ const fontSize = 14;
60
+ const lineSpacing = 100;
61
+
62
+ // Create a title text block
63
+ const titleBlock = engine.block.create('text');
64
+ engine.block.appendChild(page, titleBlock);
65
+
66
+ // Set the text content using replaceText
67
+ engine.block.replaceText(titleBlock, 'Welcome to CE.SDK');
68
+
69
+ // Configure auto-sizing so the block adjusts to content
70
+ engine.block.setWidthMode(titleBlock, 'Auto');
71
+ engine.block.setHeightMode(titleBlock, 'Auto');
72
+
73
+ // Position at top of document
74
+ engine.block.setPositionX(titleBlock, margin);
75
+ engine.block.setPositionY(titleBlock, margin);
76
+
77
+ // Apply a custom font to the title
78
+ // Font URIs point to hosted font files (TTF, OTF, WOFF, WOFF2)
79
+ const fontUri =
80
+ 'https://cdn.img.ly/packages/imgly/cesdk-js/latest/assets/extensions/ly.img.cesdk.fonts/fonts/Caveat/Caveat-Bold.ttf';
81
+ const typeface = {
82
+ name: 'Caveat',
83
+ fonts: [
84
+ {
85
+ uri: fontUri,
86
+ subFamily: 'Bold',
87
+ weight: 'bold' as const,
88
+ style: 'normal' as const
89
+ }
90
+ ]
91
+ };
92
+ engine.block.setFont(titleBlock, fontUri, typeface);
93
+
94
+ // Set font size (80pt for visibility)
95
+ engine.block.setTextFontSize(titleBlock, fontSize);
96
+
97
+ // Create a text block with rich text styling (multiple colors and weights)
98
+ const richTextBlock = engine.block.create('text');
99
+ engine.block.appendChild(page, richTextBlock);
100
+ engine.block.replaceText(richTextBlock, 'Rich text with colors and styles');
101
+
102
+ // Position below title
103
+ engine.block.setPositionX(richTextBlock, margin);
104
+ engine.block.setPositionY(richTextBlock, margin + lineSpacing);
105
+ engine.block.setWidthMode(richTextBlock, 'Auto');
106
+ engine.block.setHeightMode(richTextBlock, 'Auto');
107
+ engine.block.setTextFontSize(richTextBlock, fontSize);
108
+
109
+ // Apply different colors to specific ranges
110
+ // "Rich" (0-4) in blue
111
+ engine.block.setTextColor(
112
+ richTextBlock,
113
+ { r: 0.2, g: 0.4, b: 0.8, a: 1.0 },
114
+ 0,
115
+ 4
116
+ );
117
+
118
+ // "text" (5-9) in green
119
+ engine.block.setTextColor(
120
+ richTextBlock,
121
+ { r: 0.2, g: 0.7, b: 0.3, a: 1.0 },
122
+ 5,
123
+ 9
124
+ );
125
+
126
+ // "colors" (15-21) in orange
127
+ engine.block.setTextColor(
128
+ richTextBlock,
129
+ { r: 0.9, g: 0.5, b: 0.1, a: 1.0 },
130
+ 15,
131
+ 21
132
+ );
133
+
134
+ // "styles" (26-32) in purple
135
+ engine.block.setTextColor(
136
+ richTextBlock,
137
+ { r: 0.6, g: 0.2, b: 0.8, a: 1.0 },
138
+ 26,
139
+ 32
140
+ );
141
+
142
+ // Create a text block demonstrating auto-sizing with fixed width
143
+ const autoSizeBlock = engine.block.create('text');
144
+ engine.block.appendChild(page, autoSizeBlock);
145
+ engine.block.replaceText(autoSizeBlock, 'Auto-sizing text block');
146
+
147
+ // Position below rich text
148
+ engine.block.setPositionX(autoSizeBlock, margin);
149
+ engine.block.setPositionY(autoSizeBlock, margin + lineSpacing * 2);
150
+
151
+ // Set fixed width but auto height - text wraps and height adjusts
152
+ engine.block.setWidth(autoSizeBlock, pageWidth - margin * 2);
153
+ engine.block.setWidthMode(autoSizeBlock, 'Absolute');
154
+ engine.block.setHeightMode(autoSizeBlock, 'Auto');
155
+ engine.block.setTextFontSize(autoSizeBlock, fontSize);
156
+
157
+ // Create a text block demonstrating text case transformations
158
+ const caseBlock = engine.block.create('text');
159
+ engine.block.appendChild(page, caseBlock);
160
+ engine.block.replaceText(caseBlock, 'uppercase text');
161
+
162
+ // Position below auto-size block
163
+ engine.block.setPositionX(caseBlock, margin);
164
+ engine.block.setPositionY(caseBlock, margin + lineSpacing * 3);
165
+ engine.block.setWidthMode(caseBlock, 'Auto');
166
+ engine.block.setHeightMode(caseBlock, 'Auto');
167
+ engine.block.setTextFontSize(caseBlock, fontSize);
168
+
169
+ // Transform the entire text to uppercase without changing the source
170
+ engine.block.setTextCase(caseBlock, 'Uppercase');
171
+
172
+ // Create a text block demonstrating bold/italic toggle
173
+ const toggleBlock = engine.block.create('text');
174
+ engine.block.appendChild(page, toggleBlock);
175
+ engine.block.replaceText(toggleBlock, 'Toggle Bold and Italic');
176
+
177
+ // Position below case block
178
+ engine.block.setPositionX(toggleBlock, margin);
179
+ engine.block.setPositionY(toggleBlock, margin + lineSpacing * 4);
180
+ engine.block.setWidthMode(toggleBlock, 'Auto');
181
+ engine.block.setHeightMode(toggleBlock, 'Auto');
182
+ engine.block.setTextFontSize(toggleBlock, fontSize);
183
+
184
+ // Set a font that supports bold/italic variants
185
+ const robotoTypeface = {
186
+ name: 'Roboto',
187
+ fonts: [
188
+ {
189
+ uri: 'https://cdn.img.ly/packages/imgly/cesdk-js/latest/assets/extensions/ly.img.cesdk.fonts/fonts/Roboto/Roboto-Regular.ttf',
190
+ subFamily: 'Regular',
191
+ weight: 'normal' as const,
192
+ style: 'normal' as const
193
+ },
194
+ {
195
+ uri: 'https://cdn.img.ly/packages/imgly/cesdk-js/latest/assets/extensions/ly.img.cesdk.fonts/fonts/Roboto/Roboto-Bold.ttf',
196
+ subFamily: 'Bold',
197
+ weight: 'bold' as const,
198
+ style: 'normal' as const
199
+ },
200
+ {
201
+ uri: 'https://cdn.img.ly/packages/imgly/cesdk-js/latest/assets/extensions/ly.img.cesdk.fonts/fonts/Roboto/Roboto-Italic.ttf',
202
+ subFamily: 'Italic',
203
+ weight: 'normal' as const,
204
+ style: 'italic' as const
205
+ }
206
+ ]
207
+ };
208
+ engine.block.setFont(
209
+ toggleBlock,
210
+ 'https://cdn.img.ly/packages/imgly/cesdk-js/latest/assets/extensions/ly.img.cesdk.fonts/fonts/Roboto/Roboto-Regular.ttf',
211
+ robotoTypeface
212
+ );
213
+
214
+ // Toggle bold for "Bold" (7-11)
215
+ engine.block.toggleBoldFont(toggleBlock, 7, 11);
216
+
217
+ // Toggle italic for "Italic" (16-22)
218
+ engine.block.toggleItalicFont(toggleBlock, 16, 22);
219
+
220
+ // Create a text block to demonstrate text modification
221
+ const modifyBlock = engine.block.create('text');
222
+ engine.block.appendChild(page, modifyBlock);
223
+ engine.block.replaceText(modifyBlock, 'Hello World');
224
+
225
+ // Position below toggle block
226
+ engine.block.setPositionX(modifyBlock, margin);
227
+ engine.block.setPositionY(modifyBlock, margin + lineSpacing * 5);
228
+ engine.block.setWidthMode(modifyBlock, 'Auto');
229
+ engine.block.setHeightMode(modifyBlock, 'Auto');
230
+ engine.block.setTextFontSize(modifyBlock, fontSize);
231
+
232
+ // Replace "World" with "CE.SDK" (range 6-11)
233
+ engine.block.replaceText(modifyBlock, 'CE.SDK', 6, 11);
234
+ // Result: "Hello CE.SDK"
235
+
236
+ // Create a centered text block with custom spacing
237
+ const alignedBlock = engine.block.create('text');
238
+ engine.block.appendChild(page, alignedBlock);
239
+ engine.block.replaceText(alignedBlock, 'Centered Text\nWith Line Spacing');
240
+
241
+ // Position at bottom of document
242
+ engine.block.setPositionX(alignedBlock, margin);
243
+ engine.block.setPositionY(alignedBlock, margin + lineSpacing * 6);
244
+
245
+ // Set explicit dimensions for centered alignment
246
+ engine.block.setWidth(alignedBlock, pageWidth - margin * 2);
247
+ engine.block.setWidthMode(alignedBlock, 'Absolute');
248
+ engine.block.setHeightMode(alignedBlock, 'Auto');
249
+ engine.block.setTextFontSize(alignedBlock, fontSize);
250
+
251
+ // Set horizontal alignment to center
252
+ engine.block.setEnum(alignedBlock, 'text/horizontalAlignment', 'Center');
253
+
254
+ // Adjust line height (1.5 = 150% of font size)
255
+ engine.block.setFloat(alignedBlock, 'text/lineHeight', 1.5);
256
+
257
+ // Adjust letter spacing (0.05 = 5% of font size)
258
+ engine.block.setFloat(alignedBlock, 'text/letterSpacing', 0.05);
259
+
260
+ // Export the scene to PNG
261
+ const blob = await engine.block.export(page, { mimeType: 'image/png' });
262
+ const buffer = Buffer.from(await blob.arrayBuffer());
263
+
264
+ // Ensure output directory exists
265
+ if (!existsSync('output')) {
266
+ mkdirSync('output');
307
267
  }
308
- }
309
268
 
310
- export default Example;
269
+ // Save to file
270
+ writeFileSync('output/add-text.png', buffer);
271
+ console.log('Exported to output/add-text.png');
272
+ } finally {
273
+ engine.dispose();
274
+ }
311
275
  ```
312
276
 
313
277
  This guide covers how to create text blocks, apply fonts and typefaces, style text ranges with colors and weights, configure auto-sizing, and apply text transformations.
@@ -317,20 +281,20 @@ This guide covers how to create text blocks, apply fonts and typefaces, style te
317
281
  We create a text block using `engine.block.create('text')` and add it to the page hierarchy. The `replaceText()` method sets the initial content.
318
282
 
319
283
  ```typescript highlight-create-text
320
- // Create a title text block
321
- const titleBlock = engine.block.create('text');
322
- engine.block.appendChild(page, titleBlock);
284
+ // Create a title text block
285
+ const titleBlock = engine.block.create('text');
286
+ engine.block.appendChild(page, titleBlock);
323
287
 
324
- // Set the text content using replaceText
325
- engine.block.replaceText(titleBlock, 'Welcome to CE.SDK');
288
+ // Set the text content using replaceText
289
+ engine.block.replaceText(titleBlock, 'Welcome to CE.SDK');
326
290
 
327
- // Configure auto-sizing so the block adjusts to content
328
- engine.block.setWidthMode(titleBlock, 'Auto');
329
- engine.block.setHeightMode(titleBlock, 'Auto');
291
+ // Configure auto-sizing so the block adjusts to content
292
+ engine.block.setWidthMode(titleBlock, 'Auto');
293
+ engine.block.setHeightMode(titleBlock, 'Auto');
330
294
 
331
- // Position at top of document
332
- engine.block.setPositionX(titleBlock, margin);
333
- engine.block.setPositionY(titleBlock, margin);
295
+ // Position at top of document
296
+ engine.block.setPositionX(titleBlock, margin);
297
+ engine.block.setPositionY(titleBlock, margin);
334
298
  ```
335
299
 
336
300
  Text blocks default to auto-sizing, where both width and height adjust to fit the content. We position the block using `setPositionX()` and `setPositionY()`.
@@ -340,25 +304,25 @@ Text blocks default to auto-sizing, where both width and height adjust to fit th
340
304
  We set fonts for text blocks using `setFont()`, which requires a font file URI and a typeface configuration object. The typeface describes the font family and available variants.
341
305
 
342
306
  ```typescript highlight-set-font
343
- // Apply a custom font to the title
344
- // Font URIs point to hosted font files (TTF, OTF, WOFF, WOFF2)
345
- const fontUri =
346
- 'https://cdn.img.ly/packages/imgly/cesdk-js/latest/assets/extensions/ly.img.cesdk.fonts/fonts/Caveat/Caveat-Bold.ttf';
347
- const typeface = {
348
- name: 'Caveat',
349
- fonts: [
350
- {
351
- uri: fontUri,
352
- subFamily: 'Bold',
353
- weight: 'bold' as const,
354
- style: 'normal' as const
355
- }
356
- ]
357
- };
358
- engine.block.setFont(titleBlock, fontUri, typeface);
359
-
360
- // Set font size (80pt for visibility)
361
- engine.block.setTextFontSize(titleBlock, fontSize);
307
+ // Apply a custom font to the title
308
+ // Font URIs point to hosted font files (TTF, OTF, WOFF, WOFF2)
309
+ const fontUri =
310
+ 'https://cdn.img.ly/packages/imgly/cesdk-js/latest/assets/extensions/ly.img.cesdk.fonts/fonts/Caveat/Caveat-Bold.ttf';
311
+ const typeface = {
312
+ name: 'Caveat',
313
+ fonts: [
314
+ {
315
+ uri: fontUri,
316
+ subFamily: 'Bold',
317
+ weight: 'bold' as const,
318
+ style: 'normal' as const
319
+ }
320
+ ]
321
+ };
322
+ engine.block.setFont(titleBlock, fontUri, typeface);
323
+
324
+ // Set font size (80pt for visibility)
325
+ engine.block.setTextFontSize(titleBlock, fontSize);
362
326
  ```
363
327
 
364
328
  CE.SDK supports TTF, OTF, WOFF, and WOFF2 font formats. The typeface object includes a `name`, and a `fonts` array describing each variant with its URI, weight, style, and sub-family.
@@ -368,50 +332,50 @@ CE.SDK supports TTF, OTF, WOFF, and WOFF2 font formats. The typeface object incl
368
332
  We apply rich text formatting to specific character ranges using range-based APIs. Each method accepts start and end indices to target specific portions of the text.
369
333
 
370
334
  ```typescript highlight-rich-text-styling
371
- // Create a text block with rich text styling (multiple colors and weights)
372
- const richTextBlock = engine.block.create('text');
373
- engine.block.appendChild(page, richTextBlock);
374
- engine.block.replaceText(richTextBlock, 'Rich text with colors and styles');
375
-
376
- // Position below title
377
- engine.block.setPositionX(richTextBlock, margin);
378
- engine.block.setPositionY(richTextBlock, margin + lineSpacing);
379
- engine.block.setWidthMode(richTextBlock, 'Auto');
380
- engine.block.setHeightMode(richTextBlock, 'Auto');
381
- engine.block.setTextFontSize(richTextBlock, fontSize);
382
-
383
- // Apply different colors to specific ranges
384
- // "Rich" (0-4) in blue
385
- engine.block.setTextColor(
386
- richTextBlock,
387
- { r: 0.2, g: 0.4, b: 0.8, a: 1.0 },
388
- 0,
389
- 4
390
- );
391
-
392
- // "text" (5-9) in green
393
- engine.block.setTextColor(
394
- richTextBlock,
395
- { r: 0.2, g: 0.7, b: 0.3, a: 1.0 },
396
- 5,
397
- 9
398
- );
399
-
400
- // "colors" (15-21) in orange
401
- engine.block.setTextColor(
402
- richTextBlock,
403
- { r: 0.9, g: 0.5, b: 0.1, a: 1.0 },
404
- 15,
405
- 21
406
- );
407
-
408
- // "styles" (26-32) in purple
409
- engine.block.setTextColor(
410
- richTextBlock,
411
- { r: 0.6, g: 0.2, b: 0.8, a: 1.0 },
412
- 26,
413
- 32
414
- );
335
+ // Create a text block with rich text styling (multiple colors and weights)
336
+ const richTextBlock = engine.block.create('text');
337
+ engine.block.appendChild(page, richTextBlock);
338
+ engine.block.replaceText(richTextBlock, 'Rich text with colors and styles');
339
+
340
+ // Position below title
341
+ engine.block.setPositionX(richTextBlock, margin);
342
+ engine.block.setPositionY(richTextBlock, margin + lineSpacing);
343
+ engine.block.setWidthMode(richTextBlock, 'Auto');
344
+ engine.block.setHeightMode(richTextBlock, 'Auto');
345
+ engine.block.setTextFontSize(richTextBlock, fontSize);
346
+
347
+ // Apply different colors to specific ranges
348
+ // "Rich" (0-4) in blue
349
+ engine.block.setTextColor(
350
+ richTextBlock,
351
+ { r: 0.2, g: 0.4, b: 0.8, a: 1.0 },
352
+ 0,
353
+ 4
354
+ );
355
+
356
+ // "text" (5-9) in green
357
+ engine.block.setTextColor(
358
+ richTextBlock,
359
+ { r: 0.2, g: 0.7, b: 0.3, a: 1.0 },
360
+ 5,
361
+ 9
362
+ );
363
+
364
+ // "colors" (15-21) in orange
365
+ engine.block.setTextColor(
366
+ richTextBlock,
367
+ { r: 0.9, g: 0.5, b: 0.1, a: 1.0 },
368
+ 15,
369
+ 21
370
+ );
371
+
372
+ // "styles" (26-32) in purple
373
+ engine.block.setTextColor(
374
+ richTextBlock,
375
+ { r: 0.6, g: 0.2, b: 0.8, a: 1.0 },
376
+ 26,
377
+ 32
378
+ );
415
379
  ```
416
380
 
417
381
  The range indices use UTF-16 code unit positions. We can apply:
@@ -426,20 +390,20 @@ The range indices use UTF-16 code unit positions. We can apply:
426
390
  We control how text blocks resize using width and height modes. Setting `setHeightMode(block, 'Auto')` allows the block height to adjust based on content, while a fixed width causes text to wrap.
427
391
 
428
392
  ```typescript highlight-auto-sizing
429
- // Create a text block demonstrating auto-sizing with fixed width
430
- const autoSizeBlock = engine.block.create('text');
431
- engine.block.appendChild(page, autoSizeBlock);
432
- engine.block.replaceText(autoSizeBlock, 'Auto-sizing text block');
433
-
434
- // Position below rich text
435
- engine.block.setPositionX(autoSizeBlock, margin);
436
- engine.block.setPositionY(autoSizeBlock, margin + lineSpacing * 2);
437
-
438
- // Set fixed width but auto height - text wraps and height adjusts
439
- engine.block.setWidth(autoSizeBlock, pageWidth - margin * 2);
440
- engine.block.setWidthMode(autoSizeBlock, 'Absolute');
441
- engine.block.setHeightMode(autoSizeBlock, 'Auto');
442
- engine.block.setTextFontSize(autoSizeBlock, fontSize);
393
+ // Create a text block demonstrating auto-sizing with fixed width
394
+ const autoSizeBlock = engine.block.create('text');
395
+ engine.block.appendChild(page, autoSizeBlock);
396
+ engine.block.replaceText(autoSizeBlock, 'Auto-sizing text block');
397
+
398
+ // Position below rich text
399
+ engine.block.setPositionX(autoSizeBlock, margin);
400
+ engine.block.setPositionY(autoSizeBlock, margin + lineSpacing * 2);
401
+
402
+ // Set fixed width but auto height - text wraps and height adjusts
403
+ engine.block.setWidth(autoSizeBlock, pageWidth - margin * 2);
404
+ engine.block.setWidthMode(autoSizeBlock, 'Absolute');
405
+ engine.block.setHeightMode(autoSizeBlock, 'Auto');
406
+ engine.block.setTextFontSize(autoSizeBlock, fontSize);
443
407
  ```
444
408
 
445
409
  Available sizing modes include:
@@ -453,20 +417,20 @@ Available sizing modes include:
453
417
  We transform text appearance without changing the underlying content using `setTextCase()`. This applies visual transformations while preserving the original text.
454
418
 
455
419
  ```typescript highlight-text-case
456
- // Create a text block demonstrating text case transformations
457
- const caseBlock = engine.block.create('text');
458
- engine.block.appendChild(page, caseBlock);
459
- engine.block.replaceText(caseBlock, 'uppercase text');
460
-
461
- // Position below auto-size block
462
- engine.block.setPositionX(caseBlock, margin);
463
- engine.block.setPositionY(caseBlock, margin + lineSpacing * 3);
464
- engine.block.setWidthMode(caseBlock, 'Auto');
465
- engine.block.setHeightMode(caseBlock, 'Auto');
466
- engine.block.setTextFontSize(caseBlock, fontSize);
467
-
468
- // Transform the entire text to uppercase without changing the source
469
- engine.block.setTextCase(caseBlock, 'Uppercase');
420
+ // Create a text block demonstrating text case transformations
421
+ const caseBlock = engine.block.create('text');
422
+ engine.block.appendChild(page, caseBlock);
423
+ engine.block.replaceText(caseBlock, 'uppercase text');
424
+
425
+ // Position below auto-size block
426
+ engine.block.setPositionX(caseBlock, margin);
427
+ engine.block.setPositionY(caseBlock, margin + lineSpacing * 3);
428
+ engine.block.setWidthMode(caseBlock, 'Auto');
429
+ engine.block.setHeightMode(caseBlock, 'Auto');
430
+ engine.block.setTextFontSize(caseBlock, fontSize);
431
+
432
+ // Transform the entire text to uppercase without changing the source
433
+ engine.block.setTextCase(caseBlock, 'Uppercase');
470
434
  ```
471
435
 
472
436
  Available text cases include 'Normal', 'Uppercase', 'Lowercase', and 'Titlecase'.
@@ -476,29 +440,29 @@ Available text cases include 'Normal', 'Uppercase', 'Lowercase', and 'Titlecase'
476
440
  We configure text layout properties using `setEnum()` for alignment and `setFloat()` for spacing values.
477
441
 
478
442
  ```typescript highlight-text-alignment
479
- // Create a centered text block with custom spacing
480
- const alignedBlock = engine.block.create('text');
481
- engine.block.appendChild(page, alignedBlock);
482
- engine.block.replaceText(alignedBlock, 'Centered Text\nWith Line Spacing');
443
+ // Create a centered text block with custom spacing
444
+ const alignedBlock = engine.block.create('text');
445
+ engine.block.appendChild(page, alignedBlock);
446
+ engine.block.replaceText(alignedBlock, 'Centered Text\nWith Line Spacing');
483
447
 
484
- // Position at bottom of document
485
- engine.block.setPositionX(alignedBlock, margin);
486
- engine.block.setPositionY(alignedBlock, margin + lineSpacing * 6);
448
+ // Position at bottom of document
449
+ engine.block.setPositionX(alignedBlock, margin);
450
+ engine.block.setPositionY(alignedBlock, margin + lineSpacing * 6);
487
451
 
488
- // Set explicit dimensions for centered alignment
489
- engine.block.setWidth(alignedBlock, pageWidth - margin * 2);
490
- engine.block.setWidthMode(alignedBlock, 'Absolute');
491
- engine.block.setHeightMode(alignedBlock, 'Auto');
492
- engine.block.setTextFontSize(alignedBlock, fontSize);
452
+ // Set explicit dimensions for centered alignment
453
+ engine.block.setWidth(alignedBlock, pageWidth - margin * 2);
454
+ engine.block.setWidthMode(alignedBlock, 'Absolute');
455
+ engine.block.setHeightMode(alignedBlock, 'Auto');
456
+ engine.block.setTextFontSize(alignedBlock, fontSize);
493
457
 
494
- // Set horizontal alignment to center
495
- engine.block.setEnum(alignedBlock, 'text/horizontalAlignment', 'Center');
458
+ // Set horizontal alignment to center
459
+ engine.block.setEnum(alignedBlock, 'text/horizontalAlignment', 'Center');
496
460
 
497
- // Adjust line height (1.5 = 150% of font size)
498
- engine.block.setFloat(alignedBlock, 'text/lineHeight', 1.5);
461
+ // Adjust line height (1.5 = 150% of font size)
462
+ engine.block.setFloat(alignedBlock, 'text/lineHeight', 1.5);
499
463
 
500
- // Adjust letter spacing (0.05 = 5% of font size)
501
- engine.block.setFloat(alignedBlock, 'text/letterSpacing', 0.05);
464
+ // Adjust letter spacing (0.05 = 5% of font size)
465
+ engine.block.setFloat(alignedBlock, 'text/letterSpacing', 0.05);
502
466
  ```
503
467
 
504
468
  Horizontal alignment options include 'Left', 'Center', 'Right', and 'Auto'. Line height is a multiplier of the font size (1.5 = 150%), and letter spacing is a proportion of the font size.
@@ -508,53 +472,53 @@ Horizontal alignment options include 'Left', 'Center', 'Right', and 'Auto'. Line
508
472
  We use convenience methods to toggle bold and italic formatting. These methods switch between the normal and formatted states.
509
473
 
510
474
  ```typescript highlight-toggle-bold-italic
511
- // Create a text block demonstrating bold/italic toggle
512
- const toggleBlock = engine.block.create('text');
513
- engine.block.appendChild(page, toggleBlock);
514
- engine.block.replaceText(toggleBlock, 'Toggle Bold and Italic');
515
-
516
- // Position below case block
517
- engine.block.setPositionX(toggleBlock, margin);
518
- engine.block.setPositionY(toggleBlock, margin + lineSpacing * 4);
519
- engine.block.setWidthMode(toggleBlock, 'Auto');
520
- engine.block.setHeightMode(toggleBlock, 'Auto');
521
- engine.block.setTextFontSize(toggleBlock, fontSize);
522
-
523
- // Set a font that supports bold/italic variants
524
- const robotoTypeface = {
525
- name: 'Roboto',
526
- fonts: [
527
- {
528
- uri: 'https://cdn.img.ly/packages/imgly/cesdk-js/latest/assets/extensions/ly.img.cesdk.fonts/fonts/Roboto/Roboto-Regular.ttf',
529
- subFamily: 'Regular',
530
- weight: 'normal' as const,
531
- style: 'normal' as const
532
- },
533
- {
534
- uri: 'https://cdn.img.ly/packages/imgly/cesdk-js/latest/assets/extensions/ly.img.cesdk.fonts/fonts/Roboto/Roboto-Bold.ttf',
535
- subFamily: 'Bold',
536
- weight: 'bold' as const,
537
- style: 'normal' as const
538
- },
539
- {
540
- uri: 'https://cdn.img.ly/packages/imgly/cesdk-js/latest/assets/extensions/ly.img.cesdk.fonts/fonts/Roboto/Roboto-Italic.ttf',
541
- subFamily: 'Italic',
542
- weight: 'normal' as const,
543
- style: 'italic' as const
544
- }
545
- ]
546
- };
547
- engine.block.setFont(
548
- toggleBlock,
549
- 'https://cdn.img.ly/packages/imgly/cesdk-js/latest/assets/extensions/ly.img.cesdk.fonts/fonts/Roboto/Roboto-Regular.ttf',
550
- robotoTypeface
551
- );
552
-
553
- // Toggle bold for "Bold" (7-11)
554
- engine.block.toggleBoldFont(toggleBlock, 7, 11);
555
-
556
- // Toggle italic for "Italic" (16-22)
557
- engine.block.toggleItalicFont(toggleBlock, 16, 22);
475
+ // Create a text block demonstrating bold/italic toggle
476
+ const toggleBlock = engine.block.create('text');
477
+ engine.block.appendChild(page, toggleBlock);
478
+ engine.block.replaceText(toggleBlock, 'Toggle Bold and Italic');
479
+
480
+ // Position below case block
481
+ engine.block.setPositionX(toggleBlock, margin);
482
+ engine.block.setPositionY(toggleBlock, margin + lineSpacing * 4);
483
+ engine.block.setWidthMode(toggleBlock, 'Auto');
484
+ engine.block.setHeightMode(toggleBlock, 'Auto');
485
+ engine.block.setTextFontSize(toggleBlock, fontSize);
486
+
487
+ // Set a font that supports bold/italic variants
488
+ const robotoTypeface = {
489
+ name: 'Roboto',
490
+ fonts: [
491
+ {
492
+ uri: 'https://cdn.img.ly/packages/imgly/cesdk-js/latest/assets/extensions/ly.img.cesdk.fonts/fonts/Roboto/Roboto-Regular.ttf',
493
+ subFamily: 'Regular',
494
+ weight: 'normal' as const,
495
+ style: 'normal' as const
496
+ },
497
+ {
498
+ uri: 'https://cdn.img.ly/packages/imgly/cesdk-js/latest/assets/extensions/ly.img.cesdk.fonts/fonts/Roboto/Roboto-Bold.ttf',
499
+ subFamily: 'Bold',
500
+ weight: 'bold' as const,
501
+ style: 'normal' as const
502
+ },
503
+ {
504
+ uri: 'https://cdn.img.ly/packages/imgly/cesdk-js/latest/assets/extensions/ly.img.cesdk.fonts/fonts/Roboto/Roboto-Italic.ttf',
505
+ subFamily: 'Italic',
506
+ weight: 'normal' as const,
507
+ style: 'italic' as const
508
+ }
509
+ ]
510
+ };
511
+ engine.block.setFont(
512
+ toggleBlock,
513
+ 'https://cdn.img.ly/packages/imgly/cesdk-js/latest/assets/extensions/ly.img.cesdk.fonts/fonts/Roboto/Roboto-Regular.ttf',
514
+ robotoTypeface
515
+ );
516
+
517
+ // Toggle bold for "Bold" (7-11)
518
+ engine.block.toggleBoldFont(toggleBlock, 7, 11);
519
+
520
+ // Toggle italic for "Italic" (16-22)
521
+ engine.block.toggleItalicFont(toggleBlock, 16, 22);
558
522
  ```
559
523
 
560
524
  The `toggleBoldFont()` and `toggleItalicFont()` methods check if the font supports the variant before toggling. Use `canToggleBoldFont()` and `canToggleItalicFont()` to verify availability.
@@ -564,25 +528,46 @@ The `toggleBoldFont()` and `toggleItalicFont()` methods check if the font suppor
564
528
  We replace or remove text using range-based operations. The `replaceText()` method substitutes text at specific positions while preserving surrounding formatting.
565
529
 
566
530
  ```typescript highlight-modify-text
567
- // Create a text block to demonstrate text modification
568
- const modifyBlock = engine.block.create('text');
569
- engine.block.appendChild(page, modifyBlock);
570
- engine.block.replaceText(modifyBlock, 'Hello World');
571
-
572
- // Position below toggle block
573
- engine.block.setPositionX(modifyBlock, margin);
574
- engine.block.setPositionY(modifyBlock, margin + lineSpacing * 5);
575
- engine.block.setWidthMode(modifyBlock, 'Auto');
576
- engine.block.setHeightMode(modifyBlock, 'Auto');
577
- engine.block.setTextFontSize(modifyBlock, fontSize);
578
-
579
- // Replace "World" with "CE.SDK" (range 6-11)
580
- engine.block.replaceText(modifyBlock, 'CE.SDK', 6, 11);
581
- // Result: "Hello CE.SDK"
531
+ // Create a text block to demonstrate text modification
532
+ const modifyBlock = engine.block.create('text');
533
+ engine.block.appendChild(page, modifyBlock);
534
+ engine.block.replaceText(modifyBlock, 'Hello World');
535
+
536
+ // Position below toggle block
537
+ engine.block.setPositionX(modifyBlock, margin);
538
+ engine.block.setPositionY(modifyBlock, margin + lineSpacing * 5);
539
+ engine.block.setWidthMode(modifyBlock, 'Auto');
540
+ engine.block.setHeightMode(modifyBlock, 'Auto');
541
+ engine.block.setTextFontSize(modifyBlock, fontSize);
542
+
543
+ // Replace "World" with "CE.SDK" (range 6-11)
544
+ engine.block.replaceText(modifyBlock, 'CE.SDK', 6, 11);
545
+ // Result: "Hello CE.SDK"
582
546
  ```
583
547
 
584
548
  When range parameters are omitted, `replaceText()` replaces the entire text content. The `removeText()` method deletes text within a specified range.
585
549
 
550
+ ## Export the Result
551
+
552
+ We export the scene to an image file using `engine.block.export()`. The server environment allows saving directly to the filesystem.
553
+
554
+ ```typescript highlight-export
555
+ // Export the scene to PNG
556
+ const blob = await engine.block.export(page, { mimeType: 'image/png' });
557
+ const buffer = Buffer.from(await blob.arrayBuffer());
558
+
559
+ // Ensure output directory exists
560
+ if (!existsSync('output')) {
561
+ mkdirSync('output');
562
+ }
563
+
564
+ // Save to file
565
+ writeFileSync('output/add-text.png', buffer);
566
+ console.log('Exported to output/add-text.png');
567
+ ```
568
+
569
+ The export supports various formats including PNG, JPEG, and WebP. Server-side rendering enables batch processing and automated workflows.
570
+
586
571
  ## Troubleshooting
587
572
 
588
573
  ### Text Not Displaying
@@ -605,23 +590,24 @@ When range parameters are omitted, `replaceText()` replaces the entire text cont
605
590
 
606
591
  ## API Reference
607
592
 
608
- | Method | Description |
609
- | --------------------------------------------------------- | ----------------------------- |
610
- | `engine.block.create('text')` | Create a new text block |
611
- | `engine.block.replaceText(block, text, from, to)` | Set or replace text content |
612
- | `engine.block.removeText(block, from, to)` | Remove text range |
613
- | `engine.block.setFont(block, uri, typeface)` | Set font for entire block |
614
- | `engine.block.setTextColor(block, color, from, to)` | Set color for range |
615
- | `engine.block.setTextFontWeight(block, weight, from, to)` | Set font weight for range |
616
- | `engine.block.setTextFontStyle(block, style, from, to)` | Set font style for range |
617
- | `engine.block.setTextFontSize(block, size, from, to)` | Set font size for range |
618
- | `engine.block.setTextCase(block, case, from, to)` | Set text case transformation |
619
- | `engine.block.toggleBoldFont(block, from, to)` | Toggle bold weight |
620
- | `engine.block.toggleItalicFont(block, from, to)` | Toggle italic style |
621
- | `engine.block.setHeightMode(block, mode)` | Set height sizing mode |
622
- | `engine.block.setWidthMode(block, mode)` | Set width sizing mode |
623
- | `engine.block.setEnum(block, property, value)` | Set enum property (alignment) |
624
- | `engine.block.setFloat(block, property, value)` | Set float property (spacing) |
593
+ | Method | Description |
594
+ | --- | --- |
595
+ | `engine.block.create('text')` | Create a new text block |
596
+ | `engine.block.replaceText(block, text, from, to)` | Set or replace text content |
597
+ | `engine.block.removeText(block, from, to)` | Remove text range |
598
+ | `engine.block.setFont(block, uri, typeface)` | Set font for entire block |
599
+ | `engine.block.setTextColor(block, color, from, to)` | Set color for range |
600
+ | `engine.block.setTextFontWeight(block, weight, from, to)` | Set font weight for range |
601
+ | `engine.block.setTextFontStyle(block, style, from, to)` | Set font style for range |
602
+ | `engine.block.setTextFontSize(block, size, from, to)` | Set font size for range |
603
+ | `engine.block.setTextCase(block, case, from, to)` | Set text case transformation |
604
+ | `engine.block.toggleBoldFont(block, from, to)` | Toggle bold weight |
605
+ | `engine.block.toggleItalicFont(block, from, to)` | Toggle italic style |
606
+ | `engine.block.setHeightMode(block, mode)` | Set height sizing mode |
607
+ | `engine.block.setWidthMode(block, mode)` | Set width sizing mode |
608
+ | `engine.block.setEnum(block, property, value)` | Set enum property (alignment) |
609
+ | `engine.block.setFloat(block, property, value)` | Set float property (spacing) |
610
+ | `engine.block.export(block, options)` | Export block to image |
625
611
 
626
612
  ## Next Steps
627
613
 
@@ -631,11 +617,13 @@ When range parameters are omitted, `replaceText()` replaces the entire text cont
631
617
  - [Add Emojis](./text/emojis.md) - Display emoji characters with custom fonts
632
618
  - [Add Text Effects](./text/effects.md) - Apply visual effects to text blocks
633
619
 
620
+
621
+
634
622
  ---
635
623
 
636
624
  ## More Resources
637
625
 
638
- - **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
626
+ - **[Node.js Documentation Index](https://img.ly/docs/cesdk/node.md)** - Browse all Node.js documentation
639
627
  - **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
640
- - **[Web Documentation](./js.md)** - Interactive documentation with examples
641
- - **[Support](mailto:support@img.ly)** - Contact IMG.LY support
628
+ - **[Web Documentation](./node.md)** - Interactive documentation with examples
629
+ - **[Support](mailto:support@img.ly)** - Contact IMG.LY support