@imgly/codesign-mcp 0.1.5 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (973) hide show
  1. package/README.md +51 -1
  2. package/assets/docs/guide/SKILL.md +45 -53
  3. package/assets/docs/guide/animation/create/base.md +234 -243
  4. package/assets/docs/guide/animation/create/text.md +250 -231
  5. package/assets/docs/guide/animation/create.md +197 -231
  6. package/assets/docs/guide/animation/edit.md +196 -271
  7. package/assets/docs/guide/animation/types.md +182 -185
  8. package/assets/docs/guide/animation.md +9 -6
  9. package/assets/docs/guide/api/AssetAPI.md +7 -53
  10. package/assets/docs/guide/api/BlockAPI.md +725 -648
  11. package/assets/docs/guide/api/CreativeEngine.md +7 -16
  12. package/assets/docs/guide/api/EditorAPI.md +32 -93
  13. package/assets/docs/guide/api/EventAPI.md +1 -2
  14. package/assets/docs/guide/api/SceneAPI.md +47 -98
  15. package/assets/docs/guide/api/VariableAPI.md +1 -4
  16. package/assets/docs/guide/api/node/classes/assetapi.md +1090 -0
  17. package/assets/docs/guide/api/node/classes/blockapi.md +12965 -0
  18. package/assets/docs/guide/api/node/classes/creativeengine.md +319 -0
  19. package/assets/docs/guide/api/node/classes/editorapi.md +3417 -0
  20. package/assets/docs/guide/api/node/classes/engineactions.md +319 -0
  21. package/assets/docs/guide/api/node/classes/eventapi.md +56 -0
  22. package/assets/docs/guide/api/node/classes/sceneapi.md +1370 -0
  23. package/assets/docs/guide/api/node/classes/variableapi.md +143 -0
  24. package/assets/docs/guide/api/node/enumerations/compressionformat.md +23 -0
  25. package/assets/docs/guide/api/node/enumerations/compressionlevel.md +24 -0
  26. package/assets/docs/guide/api/node/functions/iscmykcolor.md +30 -0
  27. package/assets/docs/guide/api/node/functions/isrgbacolor.md +30 -0
  28. package/assets/docs/guide/api/node/functions/isspotcolor.md +30 -0
  29. package/assets/docs/guide/api/node/interfaces/addvideooptions.md +31 -0
  30. package/assets/docs/guide/api/node/interfaces/applyassetoptions.md +31 -0
  31. package/assets/docs/guide/api/node/interfaces/asset.md +30 -0
  32. package/assets/docs/guide/api/node/interfaces/assetbooleanproperty.md +25 -0
  33. package/assets/docs/guide/api/node/interfaces/assetcmykcolor.md +26 -0
  34. package/assets/docs/guide/api/node/interfaces/assetcolorproperty.md +25 -0
  35. package/assets/docs/guide/api/node/interfaces/assetcontentaspectratio.md +23 -0
  36. package/assets/docs/guide/api/node/interfaces/assetdefinition.md +31 -0
  37. package/assets/docs/guide/api/node/interfaces/assetenumproperty.md +26 -0
  38. package/assets/docs/guide/api/node/interfaces/assetfixedaspectratio.md +24 -0
  39. package/assets/docs/guide/api/node/interfaces/assetfixedsize.md +25 -0
  40. package/assets/docs/guide/api/node/interfaces/assetfreeaspectratio.md +22 -0
  41. package/assets/docs/guide/api/node/interfaces/assetnumberproperty.md +28 -0
  42. package/assets/docs/guide/api/node/interfaces/assetpayload.md +27 -0
  43. package/assets/docs/guide/api/node/interfaces/assetquerydata.md +32 -0
  44. package/assets/docs/guide/api/node/interfaces/assetresult.md +46 -0
  45. package/assets/docs/guide/api/node/interfaces/assetrgbcolor.md +25 -0
  46. package/assets/docs/guide/api/node/interfaces/assetsource.md +111 -0
  47. package/assets/docs/guide/api/node/interfaces/assetspotcolor.md +25 -0
  48. package/assets/docs/guide/api/node/interfaces/assetsqueryresult.md +31 -0
  49. package/assets/docs/guide/api/node/interfaces/assetstringproperty.md +25 -0
  50. package/assets/docs/guide/api/node/interfaces/assetstylepreset.md +39 -0
  51. package/assets/docs/guide/api/node/interfaces/assetstylepresetanimation.md +23 -0
  52. package/assets/docs/guide/api/node/interfaces/audiotrackinfo.md +32 -0
  53. package/assets/docs/guide/api/node/interfaces/blockevent.md +26 -0
  54. package/assets/docs/guide/api/node/interfaces/blockstateerror.md +26 -0
  55. package/assets/docs/guide/api/node/interfaces/blockstatepending.md +26 -0
  56. package/assets/docs/guide/api/node/interfaces/blockstateready.md +25 -0
  57. package/assets/docs/guide/api/node/interfaces/buffer.md +26 -0
  58. package/assets/docs/guide/api/node/interfaces/characterinkbox.md +29 -0
  59. package/assets/docs/guide/api/node/interfaces/cmykcolor.md +34 -0
  60. package/assets/docs/guide/api/node/interfaces/completeassetresult.md +46 -0
  61. package/assets/docs/guide/api/node/interfaces/configuration.md +38 -0
  62. package/assets/docs/guide/api/node/interfaces/dominantcolor.md +25 -0
  63. package/assets/docs/guide/api/node/interfaces/dominantcolorsoptions.md +23 -0
  64. package/assets/docs/guide/api/node/interfaces/engineactioninfo.md +24 -0
  65. package/assets/docs/guide/api/node/interfaces/engineactionsregistry.md +18 -0
  66. package/assets/docs/guide/api/node/interfaces/engineplugin.md +30 -0
  67. package/assets/docs/guide/api/node/interfaces/font.md +27 -0
  68. package/assets/docs/guide/api/node/interfaces/fontmetrics.md +32 -0
  69. package/assets/docs/guide/api/node/interfaces/gradientcolorstop.md +28 -0
  70. package/assets/docs/guide/api/node/interfaces/logger.md +39 -0
  71. package/assets/docs/guide/api/node/interfaces/pageduration.md +23 -0
  72. package/assets/docs/guide/api/node/interfaces/range.md +23 -0
  73. package/assets/docs/guide/api/node/interfaces/rgbacolor.md +32 -0
  74. package/assets/docs/guide/api/node/interfaces/rgbcolor.md +30 -0
  75. package/assets/docs/guide/api/node/interfaces/settings.md +126 -0
  76. package/assets/docs/guide/api/node/interfaces/size2.md +21 -0
  77. package/assets/docs/guide/api/node/interfaces/source.md +24 -0
  78. package/assets/docs/guide/api/node/interfaces/spotcolor.md +30 -0
  79. package/assets/docs/guide/api/node/interfaces/textdecorationconfig.md +31 -0
  80. package/assets/docs/guide/api/node/interfaces/textfontsizeoptions.md +24 -0
  81. package/assets/docs/guide/api/node/interfaces/textruninfo.md +33 -0
  82. package/assets/docs/guide/api/node/interfaces/transientresource.md +26 -0
  83. package/assets/docs/guide/api/node/interfaces/typeface.md +23 -0
  84. package/assets/docs/guide/api/node/interfaces/vec2.md +21 -0
  85. package/assets/docs/guide/api/node/interfaces/vec3.md +22 -0
  86. package/assets/docs/guide/api/node/type-aliases/addimageoptions.md +36 -0
  87. package/assets/docs/guide/api/node/type-aliases/animationbaselinedirection.md +18 -0
  88. package/assets/docs/guide/api/node/type-aliases/animationblockswipetextdirection.md +18 -0
  89. package/assets/docs/guide/api/node/type-aliases/animationeasing.md +18 -0
  90. package/assets/docs/guide/api/node/type-aliases/animationentry.md +28 -0
  91. package/assets/docs/guide/api/node/type-aliases/animationgrowdirection.md +18 -0
  92. package/assets/docs/guide/api/node/type-aliases/animationjumploopdirection.md +18 -0
  93. package/assets/docs/guide/api/node/type-aliases/animationkenburnsdirection.md +18 -0
  94. package/assets/docs/guide/api/node/type-aliases/animationmergetextdirection.md +18 -0
  95. package/assets/docs/guide/api/node/type-aliases/animationoptions.md +28 -0
  96. package/assets/docs/guide/api/node/type-aliases/animationspindirection.md +18 -0
  97. package/assets/docs/guide/api/node/type-aliases/animationspinloopdirection.md +18 -0
  98. package/assets/docs/guide/api/node/type-aliases/animationtype.md +24 -0
  99. package/assets/docs/guide/api/node/type-aliases/animationtypelonghand.md +21 -0
  100. package/assets/docs/guide/api/node/type-aliases/animationtypeshorthand.md +18 -0
  101. package/assets/docs/guide/api/node/type-aliases/animationtypewritertextwritingstyle.md +18 -0
  102. package/assets/docs/guide/api/node/type-aliases/animationwipedirection.md +18 -0
  103. package/assets/docs/guide/api/node/type-aliases/applicationmimetype.md +20 -0
  104. package/assets/docs/guide/api/node/type-aliases/assetcolor.md +23 -0
  105. package/assets/docs/guide/api/node/type-aliases/assetfilter.md +47 -0
  106. package/assets/docs/guide/api/node/type-aliases/assetgroups.md +25 -0
  107. package/assets/docs/guide/api/node/type-aliases/assetmetadata.md +42 -0
  108. package/assets/docs/guide/api/node/type-aliases/assetproperty.md +25 -0
  109. package/assets/docs/guide/api/node/type-aliases/assetpropertyfilter.md +41 -0
  110. package/assets/docs/guide/api/node/type-aliases/assetpropertypath.md +26 -0
  111. package/assets/docs/guide/api/node/type-aliases/assetstylepresetanimationproperties.md +34 -0
  112. package/assets/docs/guide/api/node/type-aliases/assetstylepresetproperties.md +29 -0
  113. package/assets/docs/guide/api/node/type-aliases/assetstylepresetpropertyvalue.md +29 -0
  114. package/assets/docs/guide/api/node/type-aliases/assetstylepresetscalableproperty.md +28 -0
  115. package/assets/docs/guide/api/node/type-aliases/assettransformpreset.md +24 -0
  116. package/assets/docs/guide/api/node/type-aliases/asyncuriresolver.md +36 -0
  117. package/assets/docs/guide/api/node/type-aliases/audioexportoptions.md +43 -0
  118. package/assets/docs/guide/api/node/type-aliases/audiofromvideooptions.md +27 -0
  119. package/assets/docs/guide/api/node/type-aliases/audiomimetype.md +20 -0
  120. package/assets/docs/guide/api/node/type-aliases/blendmode.md +18 -0
  121. package/assets/docs/guide/api/node/type-aliases/blockenumtype.md +63 -0
  122. package/assets/docs/guide/api/node/type-aliases/blockstate.md +26 -0
  123. package/assets/docs/guide/api/node/type-aliases/blurtype.md +24 -0
  124. package/assets/docs/guide/api/node/type-aliases/blurtypelonghand.md +21 -0
  125. package/assets/docs/guide/api/node/type-aliases/blurtypeshorthand.md +18 -0
  126. package/assets/docs/guide/api/node/type-aliases/booleanoperation.md +27 -0
  127. package/assets/docs/guide/api/node/type-aliases/boolpropertyname.md +79 -0
  128. package/assets/docs/guide/api/node/type-aliases/cameraclampingovershootmode.md +18 -0
  129. package/assets/docs/guide/api/node/type-aliases/captionhorizontalalignment.md +18 -0
  130. package/assets/docs/guide/api/node/type-aliases/captionverticalalignment.md +18 -0
  131. package/assets/docs/guide/api/node/type-aliases/cmyk.md +23 -0
  132. package/assets/docs/guide/api/node/type-aliases/color.md +23 -0
  133. package/assets/docs/guide/api/node/type-aliases/colorpickercolormode.md +18 -0
  134. package/assets/docs/guide/api/node/type-aliases/colorpropertyname.md +31 -0
  135. package/assets/docs/guide/api/node/type-aliases/colorspace.md +20 -0
  136. package/assets/docs/guide/api/node/type-aliases/contentfillmode.md +18 -0
  137. package/assets/docs/guide/api/node/type-aliases/controlgizmomovehandlevisibility.md +18 -0
  138. package/assets/docs/guide/api/node/type-aliases/controlgizmoresizehandlesvisibility.md +18 -0
  139. package/assets/docs/guide/api/node/type-aliases/controlgizmorotatehandlesvisibility.md +18 -0
  140. package/assets/docs/guide/api/node/type-aliases/controlgizmoscalehandlesvisibility.md +18 -0
  141. package/assets/docs/guide/api/node/type-aliases/createsceneoptions.md +30 -0
  142. package/assets/docs/guide/api/node/type-aliases/cutoutoperation.md +20 -0
  143. package/assets/docs/guide/api/node/type-aliases/cutouttype.md +18 -0
  144. package/assets/docs/guide/api/node/type-aliases/defaultassetsourceid.md +37 -0
  145. package/assets/docs/guide/api/node/type-aliases/demoassetsourceid.md +33 -0
  146. package/assets/docs/guide/api/node/type-aliases/designblockid.md +20 -0
  147. package/assets/docs/guide/api/node/type-aliases/designblocktype.md +24 -0
  148. package/assets/docs/guide/api/node/type-aliases/designblocktypelonghand.md +21 -0
  149. package/assets/docs/guide/api/node/type-aliases/designblocktypeshorthand.md +18 -0
  150. package/assets/docs/guide/api/node/type-aliases/designunit.md +18 -0
  151. package/assets/docs/guide/api/node/type-aliases/doubleclickselectionmode.md +18 -0
  152. package/assets/docs/guide/api/node/type-aliases/doublepropertyname.md +26 -0
  153. package/assets/docs/guide/api/node/type-aliases/dropshadowoptions.md +32 -0
  154. package/assets/docs/guide/api/node/type-aliases/editmode.md +27 -0
  155. package/assets/docs/guide/api/node/type-aliases/effecttype.md +24 -0
  156. package/assets/docs/guide/api/node/type-aliases/effecttypelonghand.md +21 -0
  157. package/assets/docs/guide/api/node/type-aliases/effecttypeshorthand.md +18 -0
  158. package/assets/docs/guide/api/node/type-aliases/engineactionid.md +20 -0
  159. package/assets/docs/guide/api/node/type-aliases/enginecustomactionfunction.md +30 -0
  160. package/assets/docs/guide/api/node/type-aliases/engineplugincontext.md +30 -0
  161. package/assets/docs/guide/api/node/type-aliases/enumpropertyname.md +59 -0
  162. package/assets/docs/guide/api/node/type-aliases/enumvalues.md +59 -0
  163. package/assets/docs/guide/api/node/type-aliases/exportoptions.md +57 -0
  164. package/assets/docs/guide/api/node/type-aliases/fillpixelstreamorientation.md +18 -0
  165. package/assets/docs/guide/api/node/type-aliases/filltype.md +24 -0
  166. package/assets/docs/guide/api/node/type-aliases/filltypelonghand.md +21 -0
  167. package/assets/docs/guide/api/node/type-aliases/filltypeshorthand.md +18 -0
  168. package/assets/docs/guide/api/node/type-aliases/floatpropertyname.md +184 -0
  169. package/assets/docs/guide/api/node/type-aliases/fontsizeunit.md +23 -0
  170. package/assets/docs/guide/api/node/type-aliases/fontstyle.md +20 -0
  171. package/assets/docs/guide/api/node/type-aliases/fontweight.md +30 -0
  172. package/assets/docs/guide/api/node/type-aliases/gradientstoprgba.md +23 -0
  173. package/assets/docs/guide/api/node/type-aliases/heightmode.md +18 -0
  174. package/assets/docs/guide/api/node/type-aliases/hexcolorstring.md +20 -0
  175. package/assets/docs/guide/api/node/type-aliases/historyid.md +20 -0
  176. package/assets/docs/guide/api/node/type-aliases/historyupdate.md +25 -0
  177. package/assets/docs/guide/api/node/type-aliases/horizontalblockalignment.md +18 -0
  178. package/assets/docs/guide/api/node/type-aliases/horizontalcontentfillalignment.md +18 -0
  179. package/assets/docs/guide/api/node/type-aliases/horizontaltextalignment.md +18 -0
  180. package/assets/docs/guide/api/node/type-aliases/imagemimetype.md +25 -0
  181. package/assets/docs/guide/api/node/type-aliases/intpropertyname.md +26 -0
  182. package/assets/docs/guide/api/node/type-aliases/liststyle.md +20 -0
  183. package/assets/docs/guide/api/node/type-aliases/locale.md +20 -0
  184. package/assets/docs/guide/api/node/type-aliases/loglevel.md +24 -0
  185. package/assets/docs/guide/api/node/type-aliases/mimetype.md +20 -0
  186. package/assets/docs/guide/api/node/type-aliases/objecttype.md +24 -0
  187. package/assets/docs/guide/api/node/type-aliases/objecttypelonghand.md +27 -0
  188. package/assets/docs/guide/api/node/type-aliases/objecttypeshorthand.md +27 -0
  189. package/assets/docs/guide/api/node/type-aliases/optionalprefix.md +24 -0
  190. package/assets/docs/guide/api/node/type-aliases/pageguidessource.md +18 -0
  191. package/assets/docs/guide/api/node/type-aliases/palettecolor.md +24 -0
  192. package/assets/docs/guide/api/node/type-aliases/positionmode.md +20 -0
  193. package/assets/docs/guide/api/node/type-aliases/positionxmode.md +18 -0
  194. package/assets/docs/guide/api/node/type-aliases/positionymode.md +18 -0
  195. package/assets/docs/guide/api/node/type-aliases/propertytype.md +31 -0
  196. package/assets/docs/guide/api/node/type-aliases/rgba.md +23 -0
  197. package/assets/docs/guide/api/node/type-aliases/rolestring.md +23 -0
  198. package/assets/docs/guide/api/node/type-aliases/scenefontsizeunit.md +18 -0
  199. package/assets/docs/guide/api/node/type-aliases/scenelayout.md +18 -0
  200. package/assets/docs/guide/api/node/type-aliases/scenemode.md +18 -0
  201. package/assets/docs/guide/api/node/type-aliases/scope.md +50 -0
  202. package/assets/docs/guide/api/node/type-aliases/settingboolpropertyname.md +62 -0
  203. package/assets/docs/guide/api/node/type-aliases/settingcolorpropertyname.md +38 -0
  204. package/assets/docs/guide/api/node/type-aliases/settingenumpropertyname.md +29 -0
  205. package/assets/docs/guide/api/node/type-aliases/settingenumtype.md +33 -0
  206. package/assets/docs/guide/api/node/type-aliases/settingenumvalues.md +29 -0
  207. package/assets/docs/guide/api/node/type-aliases/settingfloatpropertyname.md +25 -0
  208. package/assets/docs/guide/api/node/type-aliases/settingintpropertyname.md +18 -0
  209. package/assets/docs/guide/api/node/type-aliases/settingkey.md +20 -0
  210. package/assets/docs/guide/api/node/type-aliases/settingsbool.md +18 -0
  211. package/assets/docs/guide/api/node/type-aliases/settingscolor.md +20 -0
  212. package/assets/docs/guide/api/node/type-aliases/settingscolorrgba.md +24 -0
  213. package/assets/docs/guide/api/node/type-aliases/settingsenum.md +18 -0
  214. package/assets/docs/guide/api/node/type-aliases/settingsfloat.md +18 -0
  215. package/assets/docs/guide/api/node/type-aliases/settingsint.md +18 -0
  216. package/assets/docs/guide/api/node/type-aliases/settingsstring.md +18 -0
  217. package/assets/docs/guide/api/node/type-aliases/settingstringpropertyname.md +28 -0
  218. package/assets/docs/guide/api/node/type-aliases/settingtype.md +20 -0
  219. package/assets/docs/guide/api/node/type-aliases/settingvaluetype.md +26 -0
  220. package/assets/docs/guide/api/node/type-aliases/shapetype.md +24 -0
  221. package/assets/docs/guide/api/node/type-aliases/shapetypelonghand.md +21 -0
  222. package/assets/docs/guide/api/node/type-aliases/shapetypeshorthand.md +18 -0
  223. package/assets/docs/guide/api/node/type-aliases/shapevectorpathfillrule.md +18 -0
  224. package/assets/docs/guide/api/node/type-aliases/sizemode.md +20 -0
  225. package/assets/docs/guide/api/node/type-aliases/sortingorder.md +21 -0
  226. package/assets/docs/guide/api/node/type-aliases/sourcesetpropertyname.md +18 -0
  227. package/assets/docs/guide/api/node/type-aliases/splitoptions.md +28 -0
  228. package/assets/docs/guide/api/node/type-aliases/stringpropertyname.md +43 -0
  229. package/assets/docs/guide/api/node/type-aliases/strokecap.md +18 -0
  230. package/assets/docs/guide/api/node/type-aliases/strokecornergeometry.md +18 -0
  231. package/assets/docs/guide/api/node/type-aliases/strokedashendcap.md +18 -0
  232. package/assets/docs/guide/api/node/type-aliases/strokedashstartcap.md +18 -0
  233. package/assets/docs/guide/api/node/type-aliases/strokeendcap.md +18 -0
  234. package/assets/docs/guide/api/node/type-aliases/strokeposition.md +18 -0
  235. package/assets/docs/guide/api/node/type-aliases/strokestartcap.md +18 -0
  236. package/assets/docs/guide/api/node/type-aliases/strokestyle.md +18 -0
  237. package/assets/docs/guide/api/node/type-aliases/syncuriresolver.md +31 -0
  238. package/assets/docs/guide/api/node/type-aliases/textanimationwritingstyle.md +18 -0
  239. package/assets/docs/guide/api/node/type-aliases/textcase.md +20 -0
  240. package/assets/docs/guide/api/node/type-aliases/textdecorationline.md +27 -0
  241. package/assets/docs/guide/api/node/type-aliases/textdecorationstyle.md +26 -0
  242. package/assets/docs/guide/api/node/type-aliases/textverticalalignment.md +18 -0
  243. package/assets/docs/guide/api/node/type-aliases/timelinetrackvisibility.md +18 -0
  244. package/assets/docs/guide/api/node/type-aliases/touchpinchaction.md +18 -0
  245. package/assets/docs/guide/api/node/type-aliases/touchrotateaction.md +18 -0
  246. package/assets/docs/guide/api/node/type-aliases/typefacedefinition.md +41 -0
  247. package/assets/docs/guide/api/node/type-aliases/verticalblockalignment.md +18 -0
  248. package/assets/docs/guide/api/node/type-aliases/verticalcontentfillalignment.md +18 -0
  249. package/assets/docs/guide/api/node/type-aliases/videoexportoptions.md +54 -0
  250. package/assets/docs/guide/api/node/type-aliases/videomimetype.md +20 -0
  251. package/assets/docs/guide/api/node/type-aliases/widthmode.md +18 -0
  252. package/assets/docs/guide/api/node/type-aliases/xywh.md +23 -0
  253. package/assets/docs/guide/api/node/type-aliases/zoomautofitaxis.md +20 -0
  254. package/assets/docs/guide/api/node/type-aliases/zoomoptions.md +27 -0
  255. package/assets/docs/guide/api/node/variables/animation_types.md +21 -0
  256. package/assets/docs/guide/api/node/variables/animationbaselinedirectionvalues.md +18 -0
  257. package/assets/docs/guide/api/node/variables/animationblockswipetextdirectionvalues.md +18 -0
  258. package/assets/docs/guide/api/node/variables/animationeasingvalues.md +18 -0
  259. package/assets/docs/guide/api/node/variables/animationgrowdirectionvalues.md +18 -0
  260. package/assets/docs/guide/api/node/variables/animationjumploopdirectionvalues.md +18 -0
  261. package/assets/docs/guide/api/node/variables/animationkenburnsdirectionvalues.md +18 -0
  262. package/assets/docs/guide/api/node/variables/animationmergetextdirectionvalues.md +18 -0
  263. package/assets/docs/guide/api/node/variables/animationspindirectionvalues.md +18 -0
  264. package/assets/docs/guide/api/node/variables/animationspinloopdirectionvalues.md +18 -0
  265. package/assets/docs/guide/api/node/variables/animationtypewritertextwritingstylevalues.md +18 -0
  266. package/assets/docs/guide/api/node/variables/animationwipedirectionvalues.md +18 -0
  267. package/assets/docs/guide/api/node/variables/blendmodevalues.md +18 -0
  268. package/assets/docs/guide/api/node/variables/blur_types.md +21 -0
  269. package/assets/docs/guide/api/node/variables/cameraclampingovershootmodevalues.md +18 -0
  270. package/assets/docs/guide/api/node/variables/captionhorizontalalignmentvalues.md +18 -0
  271. package/assets/docs/guide/api/node/variables/captionverticalalignmentvalues.md +18 -0
  272. package/assets/docs/guide/api/node/variables/colorpickercolormodevalues.md +18 -0
  273. package/assets/docs/guide/api/node/variables/contentfillmodevalues.md +18 -0
  274. package/assets/docs/guide/api/node/variables/controlgizmomovehandlevisibilityvalues.md +18 -0
  275. package/assets/docs/guide/api/node/variables/controlgizmoresizehandlesvisibilityvalues.md +18 -0
  276. package/assets/docs/guide/api/node/variables/controlgizmorotatehandlesvisibilityvalues.md +18 -0
  277. package/assets/docs/guide/api/node/variables/controlgizmoscalehandlesvisibilityvalues.md +18 -0
  278. package/assets/docs/guide/api/node/variables/cutouttypevalues.md +18 -0
  279. package/assets/docs/guide/api/node/variables/design_block_types.md +21 -0
  280. package/assets/docs/guide/api/node/variables/doubleclickselectionmodevalues.md +18 -0
  281. package/assets/docs/guide/api/node/variables/effect_types.md +21 -0
  282. package/assets/docs/guide/api/node/variables/fill_types.md +21 -0
  283. package/assets/docs/guide/api/node/variables/fillpixelstreamorientationvalues.md +18 -0
  284. package/assets/docs/guide/api/node/variables/heightmodevalues.md +18 -0
  285. package/assets/docs/guide/api/node/variables/horizontalcontentfillalignmentvalues.md +18 -0
  286. package/assets/docs/guide/api/node/variables/loglevel.md +37 -0
  287. package/assets/docs/guide/api/node/variables/mimetype.md +41 -0
  288. package/assets/docs/guide/api/node/variables/pageguidessourcevalues.md +18 -0
  289. package/assets/docs/guide/api/node/variables/positionxmodevalues.md +18 -0
  290. package/assets/docs/guide/api/node/variables/positionymodevalues.md +18 -0
  291. package/assets/docs/guide/api/node/variables/scenedesignunitvalues.md +18 -0
  292. package/assets/docs/guide/api/node/variables/scenefontsizeunitvalues.md +18 -0
  293. package/assets/docs/guide/api/node/variables/scenelayoutvalues.md +18 -0
  294. package/assets/docs/guide/api/node/variables/scenemodevalues.md +18 -0
  295. package/assets/docs/guide/api/node/variables/shape_types.md +21 -0
  296. package/assets/docs/guide/api/node/variables/shapevectorpathfillrulevalues.md +18 -0
  297. package/assets/docs/guide/api/node/variables/strokecapvalues.md +18 -0
  298. package/assets/docs/guide/api/node/variables/strokecornergeometryvalues.md +18 -0
  299. package/assets/docs/guide/api/node/variables/strokedashendcapvalues.md +18 -0
  300. package/assets/docs/guide/api/node/variables/strokedashstartcapvalues.md +18 -0
  301. package/assets/docs/guide/api/node/variables/strokeendcapvalues.md +18 -0
  302. package/assets/docs/guide/api/node/variables/strokepositionvalues.md +18 -0
  303. package/assets/docs/guide/api/node/variables/strokestartcapvalues.md +18 -0
  304. package/assets/docs/guide/api/node/variables/strokestylevalues.md +18 -0
  305. package/assets/docs/guide/api/node/variables/textanimationwritingstylevalues.md +18 -0
  306. package/assets/docs/guide/api/node/variables/texthorizontalalignmentvalues.md +18 -0
  307. package/assets/docs/guide/api/node/variables/textverticalalignmentvalues.md +18 -0
  308. package/assets/docs/guide/api/node/variables/timelinetrackvisibilityvalues.md +18 -0
  309. package/assets/docs/guide/api/node/variables/touchpinchactionvalues.md +18 -0
  310. package/assets/docs/guide/api/node/variables/touchrotateactionvalues.md +18 -0
  311. package/assets/docs/guide/api/node/variables/verticalcontentfillalignmentvalues.md +18 -0
  312. package/assets/docs/guide/api/node/variables/widthmodevalues.md +18 -0
  313. package/assets/docs/guide/api/types.md +5 -9
  314. package/assets/docs/guide/api-reference/overview.md +7 -7
  315. package/assets/docs/guide/automation/auto-resize.md +263 -300
  316. package/assets/docs/guide/automation/data-merge.md +246 -275
  317. package/assets/docs/guide/automation/design-generation.md +102 -31
  318. package/assets/docs/guide/automation/multi-image-generation.md +758 -0
  319. package/assets/docs/guide/automation/overview.md +21 -4
  320. package/assets/docs/guide/automation.md +10 -5
  321. package/assets/docs/guide/capabilities.md +6 -4
  322. package/assets/docs/guide/colors/adjust.md +247 -249
  323. package/assets/docs/guide/colors/apply.md +127 -138
  324. package/assets/docs/guide/colors/basics.md +126 -150
  325. package/assets/docs/guide/colors/conversion.md +171 -177
  326. package/assets/docs/guide/colors/create-color-palette.md +244 -245
  327. package/assets/docs/guide/colors/extract-colors.md +144 -0
  328. package/assets/docs/guide/colors/for-print/cmyk.md +292 -352
  329. package/assets/docs/guide/colors/for-print/spot.md +521 -578
  330. package/assets/docs/guide/colors/for-print.md +9 -4
  331. package/assets/docs/guide/colors/for-screen/p3.md +12 -10
  332. package/assets/docs/guide/colors/for-screen/srgb.md +107 -133
  333. package/assets/docs/guide/colors/for-screen.md +9 -4
  334. package/assets/docs/guide/colors/overview.md +6 -4
  335. package/assets/docs/guide/colors/replace.md +381 -419
  336. package/assets/docs/guide/colors.md +9 -4
  337. package/assets/docs/guide/compatibility.md +7 -5
  338. package/assets/docs/guide/concepts/architecture.md +17 -15
  339. package/assets/docs/guide/concepts/assets.md +152 -140
  340. package/assets/docs/guide/concepts/blocks.md +227 -323
  341. package/assets/docs/guide/concepts/buffers.md +147 -276
  342. package/assets/docs/guide/concepts/design-units.md +95 -145
  343. package/assets/docs/guide/concepts/editing-workflow.md +69 -183
  344. package/assets/docs/guide/concepts/events.md +80 -122
  345. package/assets/docs/guide/concepts/headless-mode.md +237 -0
  346. package/assets/docs/guide/concepts/pages.md +137 -127
  347. package/assets/docs/guide/concepts/resources.md +156 -217
  348. package/assets/docs/guide/concepts/scenes.md +191 -210
  349. package/assets/docs/guide/concepts/templating.md +118 -74
  350. package/assets/docs/guide/concepts/terminology.md +49 -47
  351. package/assets/docs/guide/concepts/undo-and-history.md +229 -303
  352. package/assets/docs/guide/concepts.md +9 -7
  353. package/assets/docs/guide/configuration.md +252 -380
  354. package/assets/docs/guide/conversion/overview.md +33 -4
  355. package/assets/docs/guide/conversion/to-base64.md +127 -167
  356. package/assets/docs/guide/conversion/to-pdf.md +24 -474
  357. package/assets/docs/guide/conversion/to-png.md +168 -211
  358. package/assets/docs/guide/conversion.md +9 -4
  359. package/assets/docs/guide/create-audio/audio/add-music.md +301 -327
  360. package/assets/docs/guide/create-audio/audio/add-sound-effects.md +475 -359
  361. package/assets/docs/guide/create-audio/audio/loop.md +232 -272
  362. package/assets/docs/guide/create-composition/add-background.md +237 -239
  363. package/assets/docs/guide/create-composition/blend-modes.md +118 -209
  364. package/assets/docs/guide/create-composition/collage.md +538 -320
  365. package/assets/docs/guide/create-composition/group-and-ungroup.md +216 -261
  366. package/assets/docs/guide/create-composition/layer-management.md +219 -257
  367. package/assets/docs/guide/create-composition/layout.md +513 -315
  368. package/assets/docs/guide/create-composition/lock-design.md +90 -109
  369. package/assets/docs/guide/create-composition/multi-page.md +133 -113
  370. package/assets/docs/guide/create-composition/overview.md +16 -4
  371. package/assets/docs/guide/create-composition/programmatic.md +288 -344
  372. package/assets/docs/guide/create-composition.md +10 -5
  373. package/assets/docs/guide/create-templates/add-dynamic-content/placeholders.md +443 -569
  374. package/assets/docs/guide/create-templates/add-dynamic-content/set-editing-constraints.md +567 -470
  375. package/assets/docs/guide/create-templates/add-dynamic-content/text-variables.md +179 -516
  376. package/assets/docs/guide/create-templates/add-dynamic-content.md +226 -224
  377. package/assets/docs/guide/create-templates/add-to-template-library.md +183 -193
  378. package/assets/docs/guide/create-templates/edit-or-remove.md +297 -303
  379. package/assets/docs/guide/create-templates/from-scratch.md +207 -268
  380. package/assets/docs/guide/create-templates/import/from-scene-file.md +158 -236
  381. package/assets/docs/guide/create-templates/import.md +145 -161
  382. package/assets/docs/guide/create-templates/lock.md +42 -295
  383. package/assets/docs/guide/create-templates/overview.md +33 -4
  384. package/assets/docs/guide/create-templates.md +9 -5
  385. package/assets/docs/guide/create-video/audio/adjust-speed.md +157 -207
  386. package/assets/docs/guide/create-video/audio/adjust-volume.md +116 -227
  387. package/assets/docs/guide/create-video/control.md +352 -193
  388. package/assets/docs/guide/create-video/limitations.md +175 -280
  389. package/assets/docs/guide/create-video.md +11 -10
  390. package/assets/docs/guide/edit-image/add-watermark.md +283 -330
  391. package/assets/docs/guide/edit-image/overview.md +29 -4
  392. package/assets/docs/guide/edit-image/remove-bg.md +283 -337
  393. package/assets/docs/guide/edit-image/replace-colors.md +424 -502
  394. package/assets/docs/guide/edit-image/transform/crop.md +463 -402
  395. package/assets/docs/guide/edit-image/transform/flip.md +353 -0
  396. package/assets/docs/guide/edit-image/transform/move.md +143 -100
  397. package/assets/docs/guide/edit-image/transform/resize.md +118 -88
  398. package/assets/docs/guide/edit-image/transform/rotate.md +132 -165
  399. package/assets/docs/guide/edit-image/transform/scale.md +230 -228
  400. package/assets/docs/guide/edit-image/transform.md +10 -5
  401. package/assets/docs/guide/edit-image.md +11 -7
  402. package/assets/docs/guide/edit-video/add-captions.md +344 -421
  403. package/assets/docs/guide/edit-video/add-watermark.md +312 -258
  404. package/assets/docs/guide/edit-video/join-and-arrange.md +237 -371
  405. package/assets/docs/guide/edit-video/redaction.md +419 -385
  406. package/assets/docs/guide/edit-video/split.md +243 -493
  407. package/assets/docs/guide/edit-video/transform/crop.md +21 -352
  408. package/assets/docs/guide/edit-video/transform/flip.md +102 -76
  409. package/assets/docs/guide/edit-video/transform/move.md +258 -310
  410. package/assets/docs/guide/edit-video/transform/resize.md +264 -428
  411. package/assets/docs/guide/edit-video/transform/rotate.md +265 -228
  412. package/assets/docs/guide/edit-video/transform/scale.md +320 -417
  413. package/assets/docs/guide/edit-video/transform.md +10 -6
  414. package/assets/docs/guide/edit-video/trim.md +448 -494
  415. package/assets/docs/guide/engine-interface.md +51 -62
  416. package/assets/docs/guide/export-save-publish/create-thumbnail.md +148 -184
  417. package/assets/docs/guide/export-save-publish/export/compress.md +161 -559
  418. package/assets/docs/guide/export-save-publish/export/overview.md +224 -373
  419. package/assets/docs/guide/export-save-publish/export/partial-export.md +386 -577
  420. package/assets/docs/guide/export-save-publish/export/size-limits.md +215 -310
  421. package/assets/docs/guide/export-save-publish/export/to-jpeg.md +132 -213
  422. package/assets/docs/guide/export-save-publish/export/to-pdf.md +139 -267
  423. package/assets/docs/guide/export-save-publish/export/to-png.md +121 -165
  424. package/assets/docs/guide/export-save-publish/export/to-raw-data.md +187 -234
  425. package/assets/docs/guide/export-save-publish/export/to-webp.md +160 -190
  426. package/assets/docs/guide/export-save-publish/export/with-color-mask.md +359 -203
  427. package/assets/docs/guide/export-save-publish/export.md +14 -11
  428. package/assets/docs/guide/export-save-publish/for-printing.md +141 -237
  429. package/assets/docs/guide/export-save-publish/for-social-media.md +124 -261
  430. package/assets/docs/guide/export-save-publish/pre-export-validation.md +436 -522
  431. package/assets/docs/guide/export-save-publish/save.md +167 -226
  432. package/assets/docs/guide/export-save-publish/store-custom-metadata.md +97 -162
  433. package/assets/docs/guide/file-format-support.md +9 -9
  434. package/assets/docs/guide/fills/color.md +370 -347
  435. package/assets/docs/guide/fills/image.md +167 -196
  436. package/assets/docs/guide/fills/overview.md +6 -4
  437. package/assets/docs/guide/fills/video.md +286 -438
  438. package/assets/docs/guide/fills.md +12 -8
  439. package/assets/docs/guide/filters-and-effects/apply.md +598 -664
  440. package/assets/docs/guide/filters-and-effects/blur.md +261 -159
  441. package/assets/docs/guide/filters-and-effects/chroma-key-green-screen.md +194 -293
  442. package/assets/docs/guide/filters-and-effects/create-custom-filters.md +548 -466
  443. package/assets/docs/guide/filters-and-effects/create-custom-lut-filter.md +176 -244
  444. package/assets/docs/guide/filters-and-effects/distortion.md +317 -384
  445. package/assets/docs/guide/filters-and-effects/duotone.md +221 -217
  446. package/assets/docs/guide/filters-and-effects/gradients.md +670 -813
  447. package/assets/docs/guide/filters-and-effects/overview.md +7 -7
  448. package/assets/docs/guide/filters-and-effects/support.md +97 -132
  449. package/assets/docs/guide/filters-and-effects.md +11 -6
  450. package/assets/docs/guide/get-started/agent-skills.md +20 -18
  451. package/assets/docs/guide/get-started/build-with-ai.md +7 -4
  452. package/assets/docs/guide/get-started/bun.md +219 -0
  453. package/assets/docs/guide/get-started/deno.md +161 -0
  454. package/assets/docs/guide/get-started/mcp-server.md +6 -4
  455. package/assets/docs/guide/get-started/overview.md +11 -6
  456. package/assets/docs/guide/get-started/vanilla-aws-lambda.md +506 -0
  457. package/assets/docs/guide/get-started/vanilla-clone-github-project.md +124 -0
  458. package/assets/docs/guide/get-started/vanilla.md +235 -0
  459. package/assets/docs/guide/guides/export-save-publish/export/audio.md +80 -66
  460. package/assets/docs/guide/guides.md +10 -9
  461. package/assets/docs/guide/import-media/asset-panel/refresh-assets.md +259 -288
  462. package/assets/docs/guide/import-media/concepts.md +20 -38
  463. package/assets/docs/guide/import-media/content-json-schema.md +145 -125
  464. package/assets/docs/guide/import-media/default-assets.md +113 -161
  465. package/assets/docs/guide/import-media/edit-or-remove-assets.md +391 -395
  466. package/assets/docs/guide/import-media/file-format-support.md +78 -61
  467. package/assets/docs/guide/import-media/from-remote-source/asset-versioning.md +273 -244
  468. package/assets/docs/guide/import-media/from-remote-source/remote-asset.md +152 -222
  469. package/assets/docs/guide/import-media/from-remote-source.md +9 -11
  470. package/assets/docs/guide/import-media/overview.md +5 -5
  471. package/assets/docs/guide/import-media/retrieve-mimetype.md +216 -108
  472. package/assets/docs/guide/import-media/size-limits.md +6 -4
  473. package/assets/docs/guide/import-media/source-sets.md +190 -251
  474. package/assets/docs/guide/import-media.md +10 -8
  475. package/assets/docs/guide/insert-media/audio.md +202 -195
  476. package/assets/docs/guide/insert-media/images.md +190 -188
  477. package/assets/docs/guide/insert-media/position-and-align.md +284 -551
  478. package/assets/docs/guide/insert-media/shapes-or-stickers.md +402 -418
  479. package/assets/docs/guide/insert-media/videos.md +236 -203
  480. package/assets/docs/guide/insert-media.md +10 -5
  481. package/assets/docs/guide/key-capabilities.md +36 -4
  482. package/assets/docs/guide/key-concepts.md +6 -4
  483. package/assets/docs/guide/licensing.md +6 -4
  484. package/assets/docs/guide/llms-txt.md +11 -7
  485. package/assets/docs/guide/open-the-editor/blank-canvas.md +102 -63
  486. package/assets/docs/guide/open-the-editor/from-image.md +157 -127
  487. package/assets/docs/guide/open-the-editor/from-template.md +131 -92
  488. package/assets/docs/guide/open-the-editor/from-video.md +204 -212
  489. package/assets/docs/guide/open-the-editor/import-design/from-archive.md +310 -360
  490. package/assets/docs/guide/open-the-editor/import-design/from-indesign.md +716 -513
  491. package/assets/docs/guide/open-the-editor/import-design/from-photoshop.md +667 -695
  492. package/assets/docs/guide/open-the-editor/import-design.md +228 -266
  493. package/assets/docs/guide/open-the-editor/load-scene.md +72 -68
  494. package/assets/docs/guide/open-the-editor/overview.md +6 -4
  495. package/assets/docs/guide/open-the-editor/uri-resolver.md +160 -251
  496. package/assets/docs/guide/open-the-editor.md +11 -9
  497. package/assets/docs/guide/outlines/overview.md +12 -4
  498. package/assets/docs/guide/outlines/shadows-and-glows.md +105 -410
  499. package/assets/docs/guide/outlines/strokes.md +218 -166
  500. package/assets/docs/guide/outlines.md +9 -4
  501. package/assets/docs/guide/overview.md +14 -6
  502. package/assets/docs/guide/performance.md +220 -113
  503. package/assets/docs/guide/plugins/print-ready-pdf.md +273 -368
  504. package/assets/docs/guide/plugins.md +10 -16
  505. package/assets/docs/guide/rules/asset-handling.md +7 -18
  506. package/assets/docs/guide/rules/common-pitfalls.md +25 -42
  507. package/assets/docs/guide/rules/content-fill-mode.md +4 -4
  508. package/assets/docs/guide/rules/enforce-brand-guidelines.md +398 -567
  509. package/assets/docs/guide/rules/lock-content.md +188 -231
  510. package/assets/docs/guide/rules/moderate-content.md +580 -571
  511. package/assets/docs/guide/rules/overview.md +345 -380
  512. package/assets/docs/guide/rules/silent-init-errors.md +4 -1
  513. package/assets/docs/guide/rules/verify-properties-before-use.md +2 -11
  514. package/assets/docs/guide/rules.md +10 -5
  515. package/assets/docs/guide/security.md +7 -5
  516. package/assets/docs/guide/serve-assets.md +57 -284
  517. package/assets/docs/guide/settings.md +96 -74
  518. package/assets/docs/guide/shapes.md +10 -5
  519. package/assets/docs/guide/stickers-and-shapes/combine.md +397 -583
  520. package/assets/docs/guide/stickers-and-shapes/create-cutout.md +181 -268
  521. package/assets/docs/guide/stickers-and-shapes/create-edit/create-shapes.md +418 -431
  522. package/assets/docs/guide/stickers-and-shapes/create-edit/create-stickers.md +147 -226
  523. package/assets/docs/guide/stickers-and-shapes/create-edit/edit-shapes.md +138 -123
  524. package/assets/docs/guide/stickers-and-shapes/insert-qr-code.md +151 -149
  525. package/assets/docs/guide/stickers.md +9 -4
  526. package/assets/docs/guide/text/add.md +470 -482
  527. package/assets/docs/guide/text/adjust-spacing.md +179 -214
  528. package/assets/docs/guide/text/auto-size.md +210 -271
  529. package/assets/docs/guide/text/edit.md +294 -309
  530. package/assets/docs/guide/text/effects.md +154 -190
  531. package/assets/docs/guide/text/emojis.md +199 -232
  532. package/assets/docs/guide/text/language-support.md +369 -382
  533. package/assets/docs/guide/text/overview.md +41 -4
  534. package/assets/docs/guide/text/styling.md +239 -273
  535. package/assets/docs/guide/text/text-designs.md +405 -544
  536. package/assets/docs/guide/text.md +10 -9
  537. package/assets/docs/guide/to-v1-19.md +12 -10
  538. package/assets/docs/guide/upgrade.md +8 -9
  539. package/assets/docs/guide/use-templates/apply-template.md +174 -163
  540. package/assets/docs/guide/use-templates/generate.md +171 -152
  541. package/assets/docs/guide/use-templates/overview.md +32 -4
  542. package/assets/docs/guide/use-templates/programmatic.md +266 -301
  543. package/assets/docs/guide/use-templates/replace-content.md +181 -171
  544. package/assets/docs/guide/what-is-cesdk.md +71 -282
  545. package/assets/docs/handbook/SKILL.md +24 -0
  546. package/dist/assets/inline.generated.d.ts.map +1 -1
  547. package/dist/assets/inline.generated.js +544 -406
  548. package/dist/assets/inline.generated.js.map +1 -1
  549. package/dist/assets/load-browser.d.ts +1 -1
  550. package/dist/assets/load-browser.js +1 -1
  551. package/dist/assets/load-browser.js.map +1 -1
  552. package/dist/assets/load-node.d.ts +1 -1
  553. package/dist/assets/load-node.js +1 -1
  554. package/dist/assets/load-node.js.map +1 -1
  555. package/dist/cli/http.d.ts.map +1 -1
  556. package/dist/cli/http.js +4 -28
  557. package/dist/cli/http.js.map +1 -1
  558. package/dist/cli/redirect-console.d.ts +1 -1
  559. package/dist/cli/redirect-console.d.ts.map +1 -1
  560. package/dist/cli/redirect-console.js +12 -3
  561. package/dist/cli/redirect-console.js.map +1 -1
  562. package/dist/cli/resolve-license.d.ts.map +1 -1
  563. package/dist/cli/resolve-license.js +8 -6
  564. package/dist/cli/resolve-license.js.map +1 -1
  565. package/dist/cli/stdio.d.ts +9 -0
  566. package/dist/cli/stdio.d.ts.map +1 -1
  567. package/dist/cli/stdio.js +48 -4
  568. package/dist/cli/stdio.js.map +1 -1
  569. package/dist/cli.js +10 -1
  570. package/dist/cli.js.map +1 -1
  571. package/dist/config.d.ts +11 -2
  572. package/dist/config.d.ts.map +1 -1
  573. package/dist/config.js +20 -1
  574. package/dist/config.js.map +1 -1
  575. package/dist/diagnostics/bundle.d.ts +10 -0
  576. package/dist/diagnostics/bundle.d.ts.map +1 -0
  577. package/dist/diagnostics/bundle.js +148 -0
  578. package/dist/diagnostics/bundle.js.map +1 -0
  579. package/dist/diagnostics/compose.d.ts +3 -0
  580. package/dist/diagnostics/compose.d.ts.map +1 -0
  581. package/dist/diagnostics/compose.js +15 -0
  582. package/dist/diagnostics/compose.js.map +1 -0
  583. package/dist/diagnostics/events.d.ts +34 -0
  584. package/dist/diagnostics/events.d.ts.map +1 -0
  585. package/dist/diagnostics/events.js +3 -0
  586. package/dist/diagnostics/events.js.map +1 -0
  587. package/dist/diagnostics/file-sink.d.ts +38 -0
  588. package/dist/diagnostics/file-sink.d.ts.map +1 -0
  589. package/dist/diagnostics/file-sink.js +157 -0
  590. package/dist/diagnostics/file-sink.js.map +1 -0
  591. package/dist/diagnostics/redact.d.ts +7 -0
  592. package/dist/diagnostics/redact.d.ts.map +1 -0
  593. package/dist/diagnostics/redact.js +43 -0
  594. package/dist/diagnostics/redact.js.map +1 -0
  595. package/dist/diagnostics/tool-call-adapter.d.ts +4 -0
  596. package/dist/diagnostics/tool-call-adapter.d.ts.map +1 -0
  597. package/dist/diagnostics/tool-call-adapter.js +21 -0
  598. package/dist/diagnostics/tool-call-adapter.js.map +1 -0
  599. package/dist/engine/cesdk-adapter.d.ts +5 -1
  600. package/dist/engine/cesdk-adapter.d.ts.map +1 -1
  601. package/dist/engine/cesdk-adapter.js +9 -2
  602. package/dist/engine/cesdk-adapter.js.map +1 -1
  603. package/dist/engine/index.d.ts +1 -0
  604. package/dist/engine/index.d.ts.map +1 -1
  605. package/dist/engine/index.js +4 -0
  606. package/dist/engine/index.js.map +1 -1
  607. package/dist/engine/scene-resource-schemes.d.ts +2 -0
  608. package/dist/engine/scene-resource-schemes.d.ts.map +1 -0
  609. package/dist/engine/scene-resource-schemes.js +20 -0
  610. package/dist/engine/scene-resource-schemes.js.map +1 -0
  611. package/dist/http/server.d.ts +0 -6
  612. package/dist/http/server.d.ts.map +1 -1
  613. package/dist/http/server.js +1 -2
  614. package/dist/http/server.js.map +1 -1
  615. package/dist/server.d.ts +0 -4
  616. package/dist/server.d.ts.map +1 -1
  617. package/dist/server.js +4 -60
  618. package/dist/server.js.map +1 -1
  619. package/dist/test/scripts/changelog-add.d.ts +8 -0
  620. package/dist/test/scripts/changelog-add.d.ts.map +1 -0
  621. package/dist/test/scripts/changelog-add.js +50 -0
  622. package/dist/test/scripts/changelog-add.js.map +1 -0
  623. package/dist/test/scripts/changelog-collate.d.ts +38 -0
  624. package/dist/test/scripts/changelog-collate.d.ts.map +1 -0
  625. package/dist/test/scripts/changelog-collate.js +171 -0
  626. package/dist/test/scripts/changelog-collate.js.map +1 -0
  627. package/dist/test/test/changelog.test.d.ts +2 -0
  628. package/dist/test/test/changelog.test.d.ts.map +1 -0
  629. package/dist/test/test/changelog.test.js +293 -0
  630. package/dist/test/test/changelog.test.js.map +1 -0
  631. package/dist/test/test/cli/dispatcher.test.js +10 -3
  632. package/dist/test/test/cli/dispatcher.test.js.map +1 -1
  633. package/dist/test/test/cli/redirect-console.test.js +31 -0
  634. package/dist/test/test/cli/redirect-console.test.js.map +1 -1
  635. package/dist/test/test/cli/resolve-license.test.js +10 -1
  636. package/dist/test/test/cli/resolve-license.test.js.map +1 -1
  637. package/dist/test/test/cli/stdio-diagnostics.test.d.ts +2 -0
  638. package/dist/test/test/cli/stdio-diagnostics.test.d.ts.map +1 -0
  639. package/dist/test/test/cli/stdio-diagnostics.test.js +31 -0
  640. package/dist/test/test/cli/stdio-diagnostics.test.js.map +1 -0
  641. package/dist/test/test/config.test.js +17 -13
  642. package/dist/test/test/config.test.js.map +1 -1
  643. package/dist/test/test/diagnostics/bundle.test.d.ts +2 -0
  644. package/dist/test/test/diagnostics/bundle.test.d.ts.map +1 -0
  645. package/dist/test/test/diagnostics/bundle.test.js +53 -0
  646. package/dist/test/test/diagnostics/bundle.test.js.map +1 -0
  647. package/dist/test/test/diagnostics/compose.test.d.ts +2 -0
  648. package/dist/test/test/diagnostics/compose.test.d.ts.map +1 -0
  649. package/dist/test/test/diagnostics/compose.test.js +31 -0
  650. package/dist/test/test/diagnostics/compose.test.js.map +1 -0
  651. package/dist/test/test/diagnostics/file-sink.test.d.ts +2 -0
  652. package/dist/test/test/diagnostics/file-sink.test.d.ts.map +1 -0
  653. package/dist/test/test/diagnostics/file-sink.test.js +113 -0
  654. package/dist/test/test/diagnostics/file-sink.test.js.map +1 -0
  655. package/dist/test/test/diagnostics/redact.test.d.ts +2 -0
  656. package/dist/test/test/diagnostics/redact.test.d.ts.map +1 -0
  657. package/dist/test/test/diagnostics/redact.test.js +59 -0
  658. package/dist/test/test/diagnostics/redact.test.js.map +1 -0
  659. package/dist/test/test/diagnostics/tool-call-adapter.test.d.ts +2 -0
  660. package/dist/test/test/diagnostics/tool-call-adapter.test.d.ts.map +1 -0
  661. package/dist/test/test/diagnostics/tool-call-adapter.test.js +34 -0
  662. package/dist/test/test/diagnostics/tool-call-adapter.test.js.map +1 -0
  663. package/dist/test/test/engine/cesdk-adapter.test.d.ts +2 -0
  664. package/dist/test/test/engine/cesdk-adapter.test.d.ts.map +1 -0
  665. package/dist/test/test/engine/cesdk-adapter.test.js +32 -0
  666. package/dist/test/test/engine/cesdk-adapter.test.js.map +1 -0
  667. package/dist/test/test/handbook-contract.test.js +6 -2
  668. package/dist/test/test/handbook-contract.test.js.map +1 -1
  669. package/dist/test/test/http/server.test.js +0 -36
  670. package/dist/test/test/http/server.test.js.map +1 -1
  671. package/dist/test/test/http/workspace-auth.test.js +0 -1
  672. package/dist/test/test/http/workspace-auth.test.js.map +1 -1
  673. package/dist/test/test/server.test.js +0 -40
  674. package/dist/test/test/server.test.js.map +1 -1
  675. package/dist/test/test/tools/edit-harness.d.ts +14 -0
  676. package/dist/test/test/tools/edit-harness.d.ts.map +1 -0
  677. package/dist/test/test/tools/edit-harness.js +30 -0
  678. package/dist/test/test/tools/edit-harness.js.map +1 -0
  679. package/dist/test/test/tools/edit.telemetry.test.d.ts +2 -0
  680. package/dist/test/test/tools/edit.telemetry.test.d.ts.map +1 -0
  681. package/dist/test/test/tools/edit.telemetry.test.js +46 -0
  682. package/dist/test/test/tools/edit.telemetry.test.js.map +1 -0
  683. package/dist/test/test/tools/export-harness.d.ts +13 -0
  684. package/dist/test/test/tools/export-harness.d.ts.map +1 -0
  685. package/dist/test/test/tools/export-harness.js +27 -0
  686. package/dist/test/test/tools/export-harness.js.map +1 -0
  687. package/dist/test/test/tools/export.telemetry.test.d.ts +2 -0
  688. package/dist/test/test/tools/export.telemetry.test.d.ts.map +1 -0
  689. package/dist/test/test/tools/export.telemetry.test.js +65 -0
  690. package/dist/test/test/tools/export.telemetry.test.js.map +1 -0
  691. package/dist/test/test/tools/import.test.d.ts +2 -0
  692. package/dist/test/test/tools/import.test.d.ts.map +1 -0
  693. package/dist/test/test/tools/import.test.js +122 -0
  694. package/dist/test/test/tools/import.test.js.map +1 -0
  695. package/dist/test/test/tools/index.test.js +78 -16
  696. package/dist/test/test/tools/index.test.js.map +1 -1
  697. package/dist/test/test/tools/load.integration.test.d.ts +2 -0
  698. package/dist/test/test/tools/load.integration.test.d.ts.map +1 -0
  699. package/dist/test/test/tools/load.integration.test.js +165 -0
  700. package/dist/test/test/tools/load.integration.test.js.map +1 -0
  701. package/dist/test/test/tools/load.test.d.ts +2 -0
  702. package/dist/test/test/tools/load.test.d.ts.map +1 -0
  703. package/dist/test/test/tools/load.test.js +387 -0
  704. package/dist/test/test/tools/load.test.js.map +1 -0
  705. package/dist/test/test/tools/preview-harness.d.ts +9 -0
  706. package/dist/test/test/tools/preview-harness.d.ts.map +1 -0
  707. package/dist/test/test/tools/preview-harness.js +23 -0
  708. package/dist/test/test/tools/preview-harness.js.map +1 -0
  709. package/dist/test/test/tools/preview.telemetry.test.d.ts +2 -0
  710. package/dist/test/test/tools/preview.telemetry.test.d.ts.map +1 -0
  711. package/dist/test/test/tools/preview.telemetry.test.js +36 -0
  712. package/dist/test/test/tools/preview.telemetry.test.js.map +1 -0
  713. package/dist/test/test/tools/schema-best-practices.d.ts +13 -0
  714. package/dist/test/test/tools/schema-best-practices.d.ts.map +1 -0
  715. package/dist/test/test/tools/schema-best-practices.js +169 -0
  716. package/dist/test/test/tools/schema-best-practices.js.map +1 -0
  717. package/dist/test/test/tools/schema-best-practices.test.d.ts +3 -0
  718. package/dist/test/test/tools/schema-best-practices.test.d.ts.map +1 -0
  719. package/dist/test/test/tools/schema-best-practices.test.js +194 -0
  720. package/dist/test/test/tools/schema-best-practices.test.js.map +1 -0
  721. package/dist/test/test/tools/spans.test.d.ts +2 -0
  722. package/dist/test/test/tools/spans.test.d.ts.map +1 -0
  723. package/dist/test/test/tools/spans.test.js +84 -0
  724. package/dist/test/test/tools/spans.test.js.map +1 -0
  725. package/dist/test/test/viewer/cesdk-cdn.test.d.ts +2 -0
  726. package/dist/test/test/viewer/cesdk-cdn.test.d.ts.map +1 -0
  727. package/dist/test/test/viewer/cesdk-cdn.test.js +19 -0
  728. package/dist/test/test/viewer/cesdk-cdn.test.js.map +1 -0
  729. package/dist/test/test/viewer/config-route.test.d.ts +2 -0
  730. package/dist/test/test/viewer/config-route.test.d.ts.map +1 -0
  731. package/dist/test/test/viewer/config-route.test.js +28 -0
  732. package/dist/test/test/viewer/config-route.test.js.map +1 -0
  733. package/dist/test/test/viewer/spa-version.test.d.ts +2 -0
  734. package/dist/test/test/viewer/spa-version.test.d.ts.map +1 -0
  735. package/dist/test/test/viewer/spa-version.test.js +14 -0
  736. package/dist/test/test/viewer/spa-version.test.js.map +1 -0
  737. package/dist/test/test/workspace/content-hash.test.d.ts +2 -0
  738. package/dist/test/test/workspace/content-hash.test.d.ts.map +1 -0
  739. package/dist/test/test/workspace/content-hash.test.js +17 -0
  740. package/dist/test/test/workspace/content-hash.test.js.map +1 -0
  741. package/dist/test/tsconfig.test.tsbuildinfo +1 -1
  742. package/dist/test/vitest.config.js +1 -1
  743. package/dist/test/vitest.config.js.map +1 -1
  744. package/dist/tools/asset-generate.d.ts.map +1 -1
  745. package/dist/tools/asset-generate.js +1 -8
  746. package/dist/tools/asset-generate.js.map +1 -1
  747. package/dist/tools/edit.d.ts +3 -0
  748. package/dist/tools/edit.d.ts.map +1 -1
  749. package/dist/tools/edit.js +145 -96
  750. package/dist/tools/edit.js.map +1 -1
  751. package/dist/tools/export.d.ts +3 -0
  752. package/dist/tools/export.d.ts.map +1 -1
  753. package/dist/tools/export.js +146 -108
  754. package/dist/tools/export.js.map +1 -1
  755. package/dist/tools/import.d.ts +12 -0
  756. package/dist/tools/import.d.ts.map +1 -0
  757. package/dist/tools/import.js +144 -0
  758. package/dist/tools/import.js.map +1 -0
  759. package/dist/tools/index.d.ts +3 -0
  760. package/dist/tools/index.d.ts.map +1 -1
  761. package/dist/tools/index.js +44 -4
  762. package/dist/tools/index.js.map +1 -1
  763. package/dist/tools/load.d.ts +26 -0
  764. package/dist/tools/load.d.ts.map +1 -0
  765. package/dist/tools/load.js +400 -0
  766. package/dist/tools/load.js.map +1 -0
  767. package/dist/tools/preview.d.ts +3 -0
  768. package/dist/tools/preview.d.ts.map +1 -1
  769. package/dist/tools/preview.js +79 -44
  770. package/dist/tools/preview.js.map +1 -1
  771. package/dist/tools/result.d.ts +1 -1
  772. package/dist/tools/result.js +2 -2
  773. package/dist/tools/result.js.map +1 -1
  774. package/dist/tools/spans.d.ts +45 -0
  775. package/dist/tools/spans.d.ts.map +1 -0
  776. package/dist/tools/spans.js +77 -0
  777. package/dist/tools/spans.js.map +1 -0
  778. package/dist/tools/telemetry-wrapper.d.ts +4 -0
  779. package/dist/tools/telemetry-wrapper.d.ts.map +1 -0
  780. package/dist/tools/telemetry-wrapper.js +43 -0
  781. package/dist/tools/telemetry-wrapper.js.map +1 -0
  782. package/dist/viewer/cesdk-cdn.d.ts +16 -0
  783. package/dist/viewer/cesdk-cdn.d.ts.map +1 -0
  784. package/dist/viewer/cesdk-cdn.js +30 -0
  785. package/dist/viewer/cesdk-cdn.js.map +1 -0
  786. package/dist/viewer/router.d.ts +6 -0
  787. package/dist/viewer/router.d.ts.map +1 -1
  788. package/dist/viewer/router.js +4 -1
  789. package/dist/viewer/router.js.map +1 -1
  790. package/dist/viewer/spa-assets.generated.d.ts.map +1 -1
  791. package/dist/viewer/spa-assets.generated.js +2 -3
  792. package/dist/viewer/spa-assets.generated.js.map +1 -1
  793. package/dist/workspace/content-hash.d.ts +2 -0
  794. package/dist/workspace/content-hash.d.ts.map +1 -0
  795. package/dist/workspace/content-hash.js +15 -0
  796. package/dist/workspace/content-hash.js.map +1 -0
  797. package/package.json +18 -9
  798. package/assets/docs/guide/actions.md +0 -1038
  799. package/assets/docs/guide/animation/overview.md +0 -22
  800. package/assets/docs/guide/automation/batch-processing.md +0 -474
  801. package/assets/docs/guide/browser-support.md +0 -38
  802. package/assets/docs/guide/concepts/edit-modes.md +0 -431
  803. package/assets/docs/guide/concepts/headless-mode/browser.md +0 -291
  804. package/assets/docs/guide/create-audio/audio.md +0 -336
  805. package/assets/docs/guide/create-video/overview.md +0 -224
  806. package/assets/docs/guide/create-video/timeline-editor.md +0 -622
  807. package/assets/docs/guide/create-video/update-caption-presets.md +0 -676
  808. package/assets/docs/guide/edit-image/vectorize.md +0 -204
  809. package/assets/docs/guide/export-save-publish/export/to-html5.md +0 -474
  810. package/assets/docs/guide/export-save-publish/export/to-mp4.md +0 -364
  811. package/assets/docs/guide/get-started/vanilla-js/quickstart.md +0 -175
  812. package/assets/docs/guide/grid-and-rulers.md +0 -222
  813. package/assets/docs/guide/guides/text/rendering-internals.md +0 -796
  814. package/assets/docs/guide/import-media/asset-library.md +0 -23
  815. package/assets/docs/guide/import-media/asset-panel/basics.md +0 -324
  816. package/assets/docs/guide/import-media/asset-panel/customize.md +0 -478
  817. package/assets/docs/guide/import-media/asset-panel/thumbnails.md +0 -633
  818. package/assets/docs/guide/import-media/capture-from-camera/record-video.md +0 -137
  819. package/assets/docs/guide/import-media/capture-from-camera.md +0 -20
  820. package/assets/docs/guide/import-media/from-local-source/user-upload.md +0 -438
  821. package/assets/docs/guide/import-media/from-local-source.md +0 -20
  822. package/assets/docs/guide/import-media/from-remote-source/getty-images.md +0 -627
  823. package/assets/docs/guide/import-media/from-remote-source/imgly-premium-assets.md +0 -625
  824. package/assets/docs/guide/import-media/from-remote-source/pexels.md +0 -692
  825. package/assets/docs/guide/import-media/from-remote-source/soundstripe.md +0 -497
  826. package/assets/docs/guide/import-media/from-remote-source/third-party.md +0 -51
  827. package/assets/docs/guide/import-media/from-remote-source/unsplash.md +0 -914
  828. package/assets/docs/guide/import-media/from-remote-source/your-server.md +0 -764
  829. package/assets/docs/guide/open-the-editor/from-htmlcanvas.md +0 -228
  830. package/assets/docs/guide/open-the-editor/set-zoom-level.md +0 -303
  831. package/assets/docs/guide/plugins/asset-sources.md +0 -553
  832. package/assets/docs/guide/starterkits/3d-mockup-editor.md +0 -748
  833. package/assets/docs/guide/starterkits/advanced-editor.md +0 -698
  834. package/assets/docs/guide/starterkits/advanced-video-editor.md +0 -696
  835. package/assets/docs/guide/starterkits/ai-editor.md +0 -749
  836. package/assets/docs/guide/starterkits/airtable-image-editor.md +0 -672
  837. package/assets/docs/guide/starterkits/apparel-ui.md +0 -188
  838. package/assets/docs/guide/starterkits/assets.md +0 -27
  839. package/assets/docs/guide/starterkits/auto-resize.md +0 -586
  840. package/assets/docs/guide/starterkits/automated-video-generation.md +0 -692
  841. package/assets/docs/guide/starterkits/background-removal-editor.md +0 -480
  842. package/assets/docs/guide/starterkits/content-moderation.md +0 -863
  843. package/assets/docs/guide/starterkits/creative-automation.md +0 -28
  844. package/assets/docs/guide/starterkits/custom-built-uis.md +0 -26
  845. package/assets/docs/guide/starterkits/customization.md +0 -29
  846. package/assets/docs/guide/starterkits/cutout-lines-editor.md +0 -470
  847. package/assets/docs/guide/starterkits/data-merge.md +0 -850
  848. package/assets/docs/guide/starterkits/design-editor.md +0 -698
  849. package/assets/docs/guide/starterkits/design-generation.md +0 -719
  850. package/assets/docs/guide/starterkits/design-validation.md +0 -808
  851. package/assets/docs/guide/starterkits/editor-ui-configurations.md +0 -14
  852. package/assets/docs/guide/starterkits/export-options.md +0 -724
  853. package/assets/docs/guide/starterkits/export-using-renderer.md +0 -708
  854. package/assets/docs/guide/starterkits/extensibility.md +0 -28
  855. package/assets/docs/guide/starterkits/force-crop-editor.md +0 -675
  856. package/assets/docs/guide/starterkits/form-based-template-adoption.md +0 -522
  857. package/assets/docs/guide/starterkits/getty-images-editor.md +0 -700
  858. package/assets/docs/guide/starterkits/html5-ads-exporter.md +0 -719
  859. package/assets/docs/guide/starterkits/indesign-template-import.md +0 -580
  860. package/assets/docs/guide/starterkits/layouts-editor.md +0 -724
  861. package/assets/docs/guide/starterkits/mobile-ui.md +0 -185
  862. package/assets/docs/guide/starterkits/mockup-editor.md +0 -745
  863. package/assets/docs/guide/starterkits/multi-image-generation.md +0 -542
  864. package/assets/docs/guide/starterkits/page-sizes-editor.md +0 -657
  865. package/assets/docs/guide/starterkits/pexels-image-editor.md +0 -665
  866. package/assets/docs/guide/starterkits/photo-editor.md +0 -755
  867. package/assets/docs/guide/starterkits/photo-ui.md +0 -186
  868. package/assets/docs/guide/starterkits/photobook-ui.md +0 -188
  869. package/assets/docs/guide/starterkits/placeholders.md +0 -678
  870. package/assets/docs/guide/starterkits/player.md +0 -405
  871. package/assets/docs/guide/starterkits/plugins.md +0 -25
  872. package/assets/docs/guide/starterkits/postcard-editor.md +0 -202
  873. package/assets/docs/guide/starterkits/pptx-template-import.md +0 -581
  874. package/assets/docs/guide/starterkits/print-ready-pdf-editor.md +0 -746
  875. package/assets/docs/guide/starterkits/product-editor.md +0 -773
  876. package/assets/docs/guide/starterkits/psd-template-import.md +0 -580
  877. package/assets/docs/guide/starterkits/qr-code-editor.md +0 -470
  878. package/assets/docs/guide/starterkits/single-page-editor.md +0 -661
  879. package/assets/docs/guide/starterkits/start-with-image.md +0 -684
  880. package/assets/docs/guide/starterkits/start-with-video.md +0 -651
  881. package/assets/docs/guide/starterkits/t-shirt-designer.md +0 -742
  882. package/assets/docs/guide/starterkits/templating.md +0 -23
  883. package/assets/docs/guide/starterkits/theming.md +0 -662
  884. package/assets/docs/guide/starterkits/translation-internationalization.md +0 -662
  885. package/assets/docs/guide/starterkits/unsplash-editor.md +0 -839
  886. package/assets/docs/guide/starterkits/vectorizer-editor.md +0 -466
  887. package/assets/docs/guide/starterkits/version-history.md +0 -745
  888. package/assets/docs/guide/starterkits/video-animations.md +0 -853
  889. package/assets/docs/guide/starterkits/video-captions.md +0 -884
  890. package/assets/docs/guide/starterkits/video-editing.md +0 -25
  891. package/assets/docs/guide/starterkits/video-editor.md +0 -696
  892. package/assets/docs/guide/starterkits/video-export-options.md +0 -676
  893. package/assets/docs/guide/starterkits/viewer.md +0 -400
  894. package/assets/docs/guide/starterkits.md +0 -41
  895. package/assets/docs/guide/stickers-and-shapes/create-edit/vector-edit.md +0 -362
  896. package/assets/docs/guide/text/custom-fonts.md +0 -401
  897. package/assets/docs/guide/text/decorations.md +0 -330
  898. package/assets/docs/guide/text/enumerations.md +0 -258
  899. package/assets/docs/guide/to-v1-10.md +0 -131
  900. package/assets/docs/guide/to-v1-13.md +0 -165
  901. package/assets/docs/guide/to-v1-32.md +0 -110
  902. package/assets/docs/guide/to-v1-69.md +0 -468
  903. package/assets/docs/guide/to-v1-72.md +0 -193
  904. package/assets/docs/guide/use-templates/library.md +0 -450
  905. package/assets/docs/guide/user-interface/ai-integration/audio-generation.md +0 -428
  906. package/assets/docs/guide/user-interface/ai-integration/auto-captions.md +0 -337
  907. package/assets/docs/guide/user-interface/ai-integration/custom-provider.md +0 -853
  908. package/assets/docs/guide/user-interface/ai-integration/gateway-provider.md +0 -1045
  909. package/assets/docs/guide/user-interface/ai-integration/image-generation.md +0 -641
  910. package/assets/docs/guide/user-interface/ai-integration/integrate.md +0 -966
  911. package/assets/docs/guide/user-interface/ai-integration/proxy-server.md +0 -99
  912. package/assets/docs/guide/user-interface/ai-integration/text-generation.md +0 -498
  913. package/assets/docs/guide/user-interface/ai-integration/video-generation.md +0 -493
  914. package/assets/docs/guide/user-interface/ai-integration.md +0 -30
  915. package/assets/docs/guide/user-interface/appearance/change-ui-font.md +0 -316
  916. package/assets/docs/guide/user-interface/appearance/custom-labels.md +0 -509
  917. package/assets/docs/guide/user-interface/appearance/icons.md +0 -373
  918. package/assets/docs/guide/user-interface/appearance/theming.md +0 -665
  919. package/assets/docs/guide/user-interface/appearance.md +0 -23
  920. package/assets/docs/guide/user-interface/build-your-own-ui.md +0 -620
  921. package/assets/docs/guide/user-interface/customization/canvas-menu.md +0 -412
  922. package/assets/docs/guide/user-interface/customization/canvas.md +0 -281
  923. package/assets/docs/guide/user-interface/customization/color-palette.md +0 -413
  924. package/assets/docs/guide/user-interface/customization/crop-presets.md +0 -384
  925. package/assets/docs/guide/user-interface/customization/disable-or-enable.md +0 -676
  926. package/assets/docs/guide/user-interface/customization/dock.md +0 -399
  927. package/assets/docs/guide/user-interface/customization/force-crop.md +0 -289
  928. package/assets/docs/guide/user-interface/customization/inspector-bar.md +0 -371
  929. package/assets/docs/guide/user-interface/customization/navigation-bar.md +0 -516
  930. package/assets/docs/guide/user-interface/customization/page-format.md +0 -436
  931. package/assets/docs/guide/user-interface/customization/panel.md +0 -605
  932. package/assets/docs/guide/user-interface/customization/quick-start/add-action-buttons.md +0 -531
  933. package/assets/docs/guide/user-interface/customization/quick-start/add-dock-buttons.md +0 -358
  934. package/assets/docs/guide/user-interface/customization/quick-start/create-custom-components.md +0 -374
  935. package/assets/docs/guide/user-interface/customization/quick-start/reorder-components.md +0 -323
  936. package/assets/docs/guide/user-interface/customization/quick-start/show-hide-components.md +0 -294
  937. package/assets/docs/guide/user-interface/customization/quick-start.md +0 -12
  938. package/assets/docs/guide/user-interface/customization/reference/component-order-api.md +0 -519
  939. package/assets/docs/guide/user-interface/customization/reference/component-reference.md +0 -333
  940. package/assets/docs/guide/user-interface/customization/reference.md +0 -12
  941. package/assets/docs/guide/user-interface/customization.md +0 -39
  942. package/assets/docs/guide/user-interface/localization.md +0 -633
  943. package/assets/docs/guide/user-interface/overview.md +0 -167
  944. package/assets/docs/guide/user-interface/ui-extensions/add-custom-feature.md +0 -411
  945. package/assets/docs/guide/user-interface/ui-extensions/asset-library.md +0 -721
  946. package/assets/docs/guide/user-interface/ui-extensions/create-custom-panel.md +0 -331
  947. package/assets/docs/guide/user-interface/ui-extensions/customize-behaviour.md +0 -553
  948. package/assets/docs/guide/user-interface/ui-extensions/notifications-and-dialogs.md +0 -672
  949. package/assets/docs/guide/user-interface/ui-extensions/quick-actions.md +0 -415
  950. package/assets/docs/guide/user-interface/ui-extensions/register-new-component.md +0 -521
  951. package/assets/docs/guide/user-interface/ui-extensions.md +0 -26
  952. package/assets/docs/guide/user-interface.md +0 -25
  953. package/assets/prompts/evals-assetGenerate.md +0 -12
  954. package/assets/prompts/evals-brutalistCore.md +0 -34
  955. package/assets/prompts/evals-danskCatalogue.md +0 -31
  956. package/assets/prompts/evals-exportRoundTrip.md +0 -12
  957. package/assets/prompts/evals-inspectPriorCode.md +0 -16
  958. package/assets/prompts/evals-listProjectFiles.md +0 -6
  959. package/assets/prompts/evals-readAndExplainScript.md +0 -6
  960. package/assets/prompts/evals-resumeAcrossRestart.md +0 -15
  961. package/assets/prompts/evals-rewindRecovery.md +0 -10
  962. package/assets/prompts/evals-searchAcrossFiles.md +0 -6
  963. package/assets/prompts/evals-weddingCard.md +0 -20
  964. package/assets/prompts/explain.md +0 -6
  965. package/assets/prompts/review.md +0 -6
  966. package/dist/frontmatter.d.ts +0 -15
  967. package/dist/frontmatter.d.ts.map +0 -1
  968. package/dist/frontmatter.js +0 -46
  969. package/dist/frontmatter.js.map +0 -1
  970. package/dist/test/test/frontmatter.test.d.ts +0 -2
  971. package/dist/test/test/frontmatter.test.d.ts.map +0 -1
  972. package/dist/test/test/frontmatter.test.js +0 -55
  973. package/dist/test/test/frontmatter.test.js.map +0 -1
@@ -1,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