@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) > [Colors](./colors.md) > [For Print](./colors/for-print.md) > [Spot Colors](./colors/for-print/spot.md)
4
4
 
@@ -6,42 +6,21 @@
6
6
 
7
7
  Define and manage spot colors programmatically for professional print workflows with exact color matching through premixed inks.
8
8
 
9
- ![Spot Colors example showing blocks with various spot color fills and tints](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-colors-for-print-spot-browser)
17
- > - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-colors-for-print-spot-browser)
18
- > - [Live demo](https://img.ly/docs/cesdk/examples/guides-colors-for-print-spot-browser/)
14
+ >
15
+ > - [View source on GitHub](https://github.com/imgly/cesdk-web-examples/tree/release-$UBQ_VERSION$/guides-colors-for-print-spot-server-js)
16
+ >
17
+ > - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-colors-for-print-spot-server-js)
19
18
 
20
19
  Spot colors are named colors reproduced using premixed inks in print production, providing exact color matching that CMYK process colors cannot guarantee. CE.SDK maintains a registry of spot color definitions at the editor level, where each spot color has a name and screen approximations (RGB and/or CMYK) for display purposes. The actual premixed ink is used during printing based on the color name.
21
20
 
22
- ```typescript file=@cesdk_web_examples/guides-colors-for-print-spot-browser/browser.ts reference-only
23
- import type {
24
- EditorPlugin,
25
- EditorPluginContext,
26
- SpotColor
27
- } from '@cesdk/cesdk-js';
28
- import {
29
- BlurAssetSource,
30
- ColorPaletteAssetSource,
31
- CropPresetsAssetSource,
32
- DemoAssetSources,
33
- EffectsAssetSource,
34
- FiltersAssetSource,
35
- PagePresetsAssetSource,
36
- StickerAssetSource,
37
- TextAssetSource,
38
- TextComponentAssetSource,
39
- TypefaceAssetSource,
40
- UploadAssetSources,
41
- VectorShapeAssetSource
42
- } from '@cesdk/cesdk-js/plugins';
43
- import { DesignEditorConfig } from './design-editor/plugin';
44
- import packageJson from './package.json';
21
+ ```typescript file=@cesdk_web_examples/guides-colors-for-print-spot-server-js/server-js.ts reference-only
22
+ import CreativeEngine from '@cesdk/node';
23
+ import type { SpotColor } from '@cesdk/node';
45
24
 
46
25
  // Type guard to check if a color is a SpotColor
47
26
  // Color can be RGBAColor, CMYKColor, or SpotColor
@@ -55,8 +34,14 @@ const isSpotColor = (color: unknown): color is SpotColor => {
55
34
  );
56
35
  };
57
36
 
37
+ import { config } from 'dotenv';
38
+ import { writeFileSync, mkdirSync, existsSync } from 'fs';
39
+
40
+ // Load environment variables
41
+ config();
42
+
58
43
  /**
59
- * CE.SDK Plugin: Spot Colors Guide
44
+ * CE.SDK Server Guide: Spot Colors
60
45
  *
61
46
  * This example demonstrates:
62
47
  * - Defining spot colors with RGB and CMYK approximations
@@ -65,349 +50,288 @@ const isSpotColor = (color: unknown): color is SpotColor => {
65
50
  * - Querying and updating spot color definitions
66
51
  * - Removing spot colors and handling the magenta fallback
67
52
  * - Assigning spot colors to cutout types
53
+ * - Exporting designs with spot colors for print
68
54
  */
69
- class Example implements EditorPlugin {
70
- name = packageJson.name;
71
-
72
- version = packageJson.version;
73
-
74
- async initialize({ cesdk }: EditorPluginContext): Promise<void> {
75
- if (!cesdk) {
76
- throw new Error('CE.SDK instance is required for this plugin');
77
- }
78
-
79
- await cesdk.addPlugin(new DesignEditorConfig());
80
- // Add asset source plugins
81
- await cesdk.addPlugin(new BlurAssetSource());
82
- await cesdk.addPlugin(new ColorPaletteAssetSource());
83
- await cesdk.addPlugin(new CropPresetsAssetSource());
84
- await cesdk.addPlugin(
85
- new UploadAssetSources({ include: ['ly.img.image.upload'] })
86
- );
87
- await cesdk.addPlugin(
88
- new DemoAssetSources({
89
- include: [
90
- 'ly.img.templates.blank.*',
91
- 'ly.img.templates.presentation.*',
92
- 'ly.img.templates.print.*',
93
- 'ly.img.templates.social.*',
94
- 'ly.img.image.*'
95
- ]
96
- })
97
- );
98
- await cesdk.addPlugin(new EffectsAssetSource());
99
- await cesdk.addPlugin(new FiltersAssetSource());
100
- await cesdk.addPlugin(new PagePresetsAssetSource());
101
- await cesdk.addPlugin(new StickerAssetSource());
102
- await cesdk.addPlugin(new TextAssetSource());
103
- await cesdk.addPlugin(new TextComponentAssetSource());
104
- await cesdk.addPlugin(new TypefaceAssetSource());
105
- await cesdk.addPlugin(new VectorShapeAssetSource());
106
-
107
- // Create a design scene using CE.SDK convenience method
108
- await cesdk.actions.run('scene.create', {
109
- page: { width: 800, height: 600, unit: 'Pixel' }
110
- });
111
-
112
- const engine = cesdk.engine;
113
-
114
- // Get the page
115
- const pages = engine.block.findByType('page');
116
- const page = pages[0];
117
- if (!page) {
118
- throw new Error('No page found');
119
- }
120
-
121
- // Set page background to light gray for visibility
122
- const pageFill = engine.block.getFill(page);
123
- engine.block.setColor(pageFill, 'fill/color/value', {
124
- r: 0.95,
125
- g: 0.95,
126
- b: 0.95,
127
- a: 1.0
128
- });
129
-
130
- // Helper function to create a graphic block with a color fill
131
- const createColorBlock = (
132
- x: number,
133
- y: number,
134
- width: number,
135
- height: number,
136
- shape: 'rect' | 'ellipse' = 'rect'
137
- ): { block: number; fill: number } => {
138
- const block = engine.block.create('graphic');
139
- const blockShape = engine.block.createShape(shape);
140
- engine.block.setShape(block, blockShape);
141
- engine.block.setWidth(block, width);
142
- engine.block.setHeight(block, height);
143
- engine.block.setPositionX(block, x);
144
- engine.block.setPositionY(block, y);
145
- engine.block.appendChild(page, block);
146
-
147
- const colorFill = engine.block.createFill('color');
148
- engine.block.setFill(block, colorFill);
149
-
150
- return { block, fill: colorFill };
151
- };
152
-
153
- // Define a spot color with RGB approximation
154
- // RGB values range from 0.0 to 1.0
155
- engine.editor.setSpotColorRGB('Brand-Primary', 0.8, 0.1, 0.2);
156
-
157
- // Add CMYK approximation for the same spot color
158
- // This provides print-accurate preview in addition to screen display
159
- engine.editor.setSpotColorCMYK('Brand-Primary', 0.05, 0.95, 0.85, 0.0);
160
-
161
- // Define another spot color with both approximations
162
- engine.editor.setSpotColorRGB('Brand-Accent', 0.2, 0.4, 0.8);
163
- engine.editor.setSpotColorCMYK('Brand-Accent', 0.75, 0.5, 0.0, 0.0);
164
-
165
- // Apply spot colors to fills using SpotColor objects
166
- // The tint property (0.0 to 1.0) controls color intensity
167
- // The externalReference field stores metadata like color system origin
168
- const brandPrimary: SpotColor = {
169
- name: 'Brand-Primary',
170
- tint: 1.0,
171
- externalReference: ''
172
- };
173
-
174
- // Create a block and apply the Brand-Primary spot color
175
- const { fill: primaryFill } = createColorBlock(50, 50, 150, 150);
176
- engine.block.setColor(primaryFill, 'fill/color/value', brandPrimary);
177
-
178
- // Apply Brand-Accent to another block
179
- const brandAccent: SpotColor = {
180
- name: 'Brand-Accent',
181
- tint: 1.0,
182
- externalReference: ''
183
- };
184
- const { fill: accentFill } = createColorBlock(220, 50, 150, 150);
185
- engine.block.setColor(accentFill, 'fill/color/value', brandAccent);
186
-
187
- // Use tints for lighter variations without defining new spot colors
188
- // Tint of 0.5 gives 50% color intensity
189
- const brandPrimaryHalfTint: SpotColor = {
190
- name: 'Brand-Primary',
191
- tint: 0.5,
192
- externalReference: ''
193
- };
194
- const { fill: tintedFill } = createColorBlock(390, 50, 150, 150, 'ellipse');
195
- engine.block.setColor(tintedFill, 'fill/color/value', brandPrimaryHalfTint);
196
-
197
- // Create a gradient of tints
198
- const brandAccentLightTint: SpotColor = {
199
- name: 'Brand-Accent',
200
- tint: 0.3,
201
- externalReference: ''
202
- };
203
- const { fill: lightTintFill } = createColorBlock(560, 50, 150, 150);
204
- engine.block.setColor(
205
- lightTintFill,
206
- 'fill/color/value',
207
- brandAccentLightTint
208
- );
209
55
 
210
- // Apply spot colors to strokes and shadows
211
- const { block: strokeBlock, fill: strokeBlockFill } = createColorBlock(
212
- 50,
213
- 220,
214
- 150,
215
- 150
216
- );
217
- // Set fill to white
218
- engine.block.setColor(strokeBlockFill, 'fill/color/value', {
219
- r: 1.0,
220
- g: 1.0,
221
- b: 1.0,
222
- a: 1.0
223
- });
224
-
225
- // Enable stroke and apply spot color
226
- engine.block.setStrokeEnabled(strokeBlock, true);
227
- engine.block.setStrokeWidth(strokeBlock, 8);
228
- const strokeColor: SpotColor = {
229
- name: 'Brand-Primary',
230
- tint: 1.0,
231
- externalReference: ''
232
- };
233
- engine.block.setColor(strokeBlock, 'stroke/color', strokeColor);
234
-
235
- // Apply spot color to drop shadow
236
- const { block: shadowBlock, fill: shadowBlockFill } = createColorBlock(
237
- 220,
238
- 220,
239
- 150,
240
- 150
241
- );
242
- engine.block.setColor(shadowBlockFill, 'fill/color/value', {
243
- r: 0.95,
244
- g: 0.95,
245
- b: 0.95,
246
- a: 1.0
247
- });
248
-
249
- engine.block.setDropShadowEnabled(shadowBlock, true);
250
- engine.block.setDropShadowOffsetX(shadowBlock, 10);
251
- engine.block.setDropShadowOffsetY(shadowBlock, 10);
252
- engine.block.setDropShadowBlurRadiusX(shadowBlock, 15);
253
- engine.block.setDropShadowBlurRadiusY(shadowBlock, 15);
254
- const shadowColor: SpotColor = {
255
- name: 'Brand-Accent',
256
- tint: 0.8,
257
- externalReference: ''
258
- };
259
- engine.block.setColor(shadowBlock, 'dropShadow/color', shadowColor);
260
-
261
- // Query all defined spot colors
262
- const spotColors = engine.editor.findAllSpotColors();
263
- // eslint-disable-next-line no-console
264
- console.log('Defined spot colors:', spotColors);
265
-
266
- // Query RGB approximation for a spot color
267
- const rgbaApprox = engine.editor.getSpotColorRGBA('Brand-Primary');
268
- // eslint-disable-next-line no-console
269
- console.log('Brand-Primary RGB approximation:', rgbaApprox);
270
-
271
- // Query CMYK approximation for a spot color
272
- const cmykApprox = engine.editor.getSpotColorCMYK('Brand-Primary');
273
- // eslint-disable-next-line no-console
274
- console.log('Brand-Primary CMYK approximation:', cmykApprox);
275
-
276
- // Read back the color from a block and check if it's a spot color
277
- const retrievedColor = engine.block.getColor(
278
- primaryFill,
279
- 'fill/color/value'
56
+ // Initialize CE.SDK engine with baseURL for asset loading
57
+ const engine = await CreativeEngine.init({
58
+ // license: process.env.CESDK_LICENSE,
59
+ baseURL: process.env.IMGLY_LOCAL_ASSETS_URL
60
+ });
61
+
62
+ try {
63
+ // Create a scene with a page
64
+ const scene = engine.scene.create();
65
+ const page = engine.block.create('page');
66
+ engine.block.setWidth(page, 800);
67
+ engine.block.setHeight(page, 600);
68
+ engine.block.appendChild(scene, page);
69
+
70
+ // Set page background to light gray for visibility
71
+ const pageFill = engine.block.getFill(page);
72
+ engine.block.setColor(pageFill, 'fill/color/value', {
73
+ r: 0.95,
74
+ g: 0.95,
75
+ b: 0.95,
76
+ a: 1.0
77
+ });
78
+
79
+ // Helper function to create a graphic block with a color fill
80
+ const createColorBlock = (
81
+ x: number,
82
+ y: number,
83
+ width: number,
84
+ height: number,
85
+ shape: 'rect' | 'ellipse' = 'rect'
86
+ ): { block: number; fill: number } => {
87
+ const block = engine.block.create('graphic');
88
+ const blockShape = engine.block.createShape(shape);
89
+ engine.block.setShape(block, blockShape);
90
+ engine.block.setWidth(block, width);
91
+ engine.block.setHeight(block, height);
92
+ engine.block.setPositionX(block, x);
93
+ engine.block.setPositionY(block, y);
94
+ engine.block.appendChild(page, block);
95
+
96
+ const colorFill = engine.block.createFill('color');
97
+ engine.block.setFill(block, colorFill);
98
+
99
+ return { block, fill: colorFill };
100
+ };
101
+
102
+ // Define a spot color with RGB approximation
103
+ // RGB values range from 0.0 to 1.0
104
+ engine.editor.setSpotColorRGB('Brand-Primary', 0.8, 0.1, 0.2);
105
+
106
+ // Add CMYK approximation for the same spot color
107
+ // This provides print-accurate preview in addition to screen display
108
+ engine.editor.setSpotColorCMYK('Brand-Primary', 0.05, 0.95, 0.85, 0.0);
109
+
110
+ // Define another spot color with both approximations
111
+ engine.editor.setSpotColorRGB('Brand-Accent', 0.2, 0.4, 0.8);
112
+ engine.editor.setSpotColorCMYK('Brand-Accent', 0.75, 0.5, 0.0, 0.0);
113
+
114
+ // Apply spot colors to fills using SpotColor objects
115
+ // The tint property (0.0 to 1.0) controls color intensity
116
+ // The externalReference field stores metadata like color system origin
117
+ const brandPrimary: SpotColor = {
118
+ name: 'Brand-Primary',
119
+ tint: 1.0,
120
+ externalReference: ''
121
+ };
122
+
123
+ // Create a block and apply the Brand-Primary spot color
124
+ const { fill: primaryFill } = createColorBlock(50, 50, 150, 150);
125
+ engine.block.setColor(primaryFill, 'fill/color/value', brandPrimary);
126
+
127
+ // Apply Brand-Accent to another block
128
+ const brandAccent: SpotColor = {
129
+ name: 'Brand-Accent',
130
+ tint: 1.0,
131
+ externalReference: ''
132
+ };
133
+ const { fill: accentFill } = createColorBlock(220, 50, 150, 150);
134
+ engine.block.setColor(accentFill, 'fill/color/value', brandAccent);
135
+
136
+ // Use tints for lighter variations without defining new spot colors
137
+ // Tint of 0.5 gives 50% color intensity
138
+ const brandPrimaryHalfTint: SpotColor = {
139
+ name: 'Brand-Primary',
140
+ tint: 0.5,
141
+ externalReference: ''
142
+ };
143
+ const { fill: tintedFill } = createColorBlock(390, 50, 150, 150, 'ellipse');
144
+ engine.block.setColor(tintedFill, 'fill/color/value', brandPrimaryHalfTint);
145
+
146
+ // Create a gradient of tints
147
+ const brandAccentLightTint: SpotColor = {
148
+ name: 'Brand-Accent',
149
+ tint: 0.3,
150
+ externalReference: ''
151
+ };
152
+ const { fill: lightTintFill } = createColorBlock(560, 50, 150, 150);
153
+ engine.block.setColor(
154
+ lightTintFill,
155
+ 'fill/color/value',
156
+ brandAccentLightTint
157
+ );
158
+
159
+ // Apply spot colors to strokes and shadows
160
+ const { block: strokeBlock, fill: strokeBlockFill } = createColorBlock(
161
+ 50,
162
+ 220,
163
+ 150,
164
+ 150
165
+ );
166
+ // Set fill to white
167
+ engine.block.setColor(strokeBlockFill, 'fill/color/value', {
168
+ r: 1.0,
169
+ g: 1.0,
170
+ b: 1.0,
171
+ a: 1.0
172
+ });
173
+
174
+ // Enable stroke and apply spot color
175
+ engine.block.setStrokeEnabled(strokeBlock, true);
176
+ engine.block.setStrokeWidth(strokeBlock, 8);
177
+ const strokeColor: SpotColor = {
178
+ name: 'Brand-Primary',
179
+ tint: 1.0,
180
+ externalReference: ''
181
+ };
182
+ engine.block.setColor(strokeBlock, 'stroke/color', strokeColor);
183
+
184
+ // Apply spot color to drop shadow
185
+ const { block: shadowBlock, fill: shadowBlockFill } = createColorBlock(
186
+ 220,
187
+ 220,
188
+ 150,
189
+ 150
190
+ );
191
+ engine.block.setColor(shadowBlockFill, 'fill/color/value', {
192
+ r: 0.95,
193
+ g: 0.95,
194
+ b: 0.95,
195
+ a: 1.0
196
+ });
197
+
198
+ engine.block.setDropShadowEnabled(shadowBlock, true);
199
+ engine.block.setDropShadowOffsetX(shadowBlock, 10);
200
+ engine.block.setDropShadowOffsetY(shadowBlock, 10);
201
+ engine.block.setDropShadowBlurRadiusX(shadowBlock, 15);
202
+ engine.block.setDropShadowBlurRadiusY(shadowBlock, 15);
203
+ const shadowColor: SpotColor = {
204
+ name: 'Brand-Accent',
205
+ tint: 0.8,
206
+ externalReference: ''
207
+ };
208
+ engine.block.setColor(shadowBlock, 'dropShadow/color', shadowColor);
209
+
210
+ // Query all defined spot colors
211
+ const spotColors = engine.editor.findAllSpotColors();
212
+ console.log('Defined spot colors:', spotColors);
213
+
214
+ // Query RGB approximation for a spot color
215
+ const rgbaApprox = engine.editor.getSpotColorRGBA('Brand-Primary');
216
+ console.log('Brand-Primary RGB approximation:', rgbaApprox);
217
+
218
+ // Query CMYK approximation for a spot color
219
+ const cmykApprox = engine.editor.getSpotColorCMYK('Brand-Primary');
220
+ console.log('Brand-Primary CMYK approximation:', cmykApprox);
221
+
222
+ // Read back the color from a block and check if it's a spot color
223
+ const retrievedColor = engine.block.getColor(primaryFill, 'fill/color/value');
224
+ if (isSpotColor(retrievedColor)) {
225
+ console.log(
226
+ `Retrieved SpotColor - Name: ${retrievedColor.name}, Tint: ${retrievedColor.tint}`
280
227
  );
281
- if (isSpotColor(retrievedColor)) {
282
- // eslint-disable-next-line no-console
283
- console.log(
284
- `Retrieved SpotColor - Name: ${retrievedColor.name}, Tint: ${retrievedColor.tint}`
285
- );
286
- }
287
-
288
- // Update an existing spot color's approximation
289
- // This changes how the color appears on screen without affecting the color name
290
- engine.editor.setSpotColorRGB('Brand-Accent', 0.3, 0.5, 0.9);
291
- // eslint-disable-next-line no-console
292
- console.log('Updated Brand-Accent RGB approximation');
293
-
294
- // Show the updated color in a new block
295
- const { fill: updatedFill } = createColorBlock(390, 220, 150, 150);
296
- const updatedAccent: SpotColor = {
297
- name: 'Brand-Accent',
298
- tint: 1.0,
299
- externalReference: ''
300
- };
301
- engine.block.setColor(updatedFill, 'fill/color/value', updatedAccent);
302
-
303
- // Define a temporary spot color
304
- engine.editor.setSpotColorRGB('Temporary-Color', 0.5, 0.8, 0.3);
305
-
306
- // Create a block using the temporary color
307
- const { fill: tempFill } = createColorBlock(560, 220, 150, 150);
308
- const tempColor: SpotColor = {
309
- name: 'Temporary-Color',
310
- tint: 1.0,
311
- externalReference: ''
312
- };
313
- engine.block.setColor(tempFill, 'fill/color/value', tempColor);
314
-
315
- // Remove the spot color definition
316
- // Blocks using this color will display magenta (default fallback)
317
- engine.editor.removeSpotColor('Temporary-Color');
318
-
319
- // eslint-disable-next-line no-console
320
- console.log('Removed Temporary-Color - block now shows magenta fallback');
321
-
322
- // Verify the color is no longer defined
323
- const remainingSpotColors = engine.editor.findAllSpotColors();
324
- // eslint-disable-next-line no-console
325
- console.log('Remaining spot colors:', remainingSpotColors);
326
-
327
- // Assign spot colors to cutout types for die-cutting operations
328
- // First define a spot color for the die line
329
- engine.editor.setSpotColorRGB('DieLine', 1.0, 0.0, 1.0);
330
- engine.editor.setSpotColorCMYK('DieLine', 0.0, 1.0, 0.0, 0.0);
331
-
332
- // Associate the spot color with a cutout type
333
- // CutoutType can be 'Solid' or 'Dashed'
334
- engine.editor.setSpotColorForCutoutType('Solid', 'DieLine');
335
-
336
- // Query the assigned spot color
337
- const cutoutSpotColor = engine.editor.getSpotColorForCutoutType('Solid');
338
- // eslint-disable-next-line no-console
339
- console.log('Cutout type Solid uses spot color:', cutoutSpotColor);
340
-
341
- // Create a legend block with text
342
- const textBlock = engine.block.create('text');
343
- engine.block.replaceText(textBlock, 'Spot Colors Demo');
344
- engine.block.setTextFontSize(textBlock, 36);
345
- engine.block.setWidthMode(textBlock, 'Auto');
346
- engine.block.setHeightMode(textBlock, 'Auto');
347
- engine.block.setPositionX(textBlock, 50);
348
- engine.block.setPositionY(textBlock, 400);
349
- engine.block.appendChild(page, textBlock);
350
-
351
- // Create smaller label texts
352
- const labels = [
353
- { text: 'Brand-Primary', x: 50, y: 205 },
354
- { text: 'Brand-Accent', x: 220, y: 205 },
355
- { text: 'Primary 50%', x: 390, y: 205 },
356
- { text: 'Accent 30%', x: 560, y: 205 },
357
- { text: 'Stroke', x: 50, y: 375 },
358
- { text: 'Shadow', x: 220, y: 375 },
359
- { text: 'Updated', x: 390, y: 375 },
360
- { text: 'Removed', x: 560, y: 375 }
361
- ];
362
-
363
- for (const label of labels) {
364
- const labelBlock = engine.block.create('text');
365
- engine.block.replaceText(labelBlock, label.text);
366
- engine.block.setTextFontSize(labelBlock, 14);
367
- engine.block.setWidthMode(labelBlock, 'Auto');
368
- engine.block.setHeightMode(labelBlock, 'Auto');
369
- engine.block.setPositionX(labelBlock, label.x);
370
- engine.block.setPositionY(labelBlock, label.y);
371
- engine.block.appendChild(page, labelBlock);
372
- }
373
-
374
- // Zoom to fit all content
375
- await engine.scene.zoomToBlock(page, {
376
- padding: {
377
- left: 40,
378
- top: 40,
379
- right: 40,
380
- bottom: 40
381
- }
382
- });
383
228
  }
384
- }
385
229
 
386
- export default Example;
230
+ // Update an existing spot color's approximation
231
+ // This changes how the color appears on screen without affecting the color name
232
+ engine.editor.setSpotColorRGB('Brand-Accent', 0.3, 0.5, 0.9);
233
+ console.log('Updated Brand-Accent RGB approximation');
234
+
235
+ // Show the updated color in a new block
236
+ const { fill: updatedFill } = createColorBlock(390, 220, 150, 150);
237
+ const updatedAccent: SpotColor = {
238
+ name: 'Brand-Accent',
239
+ tint: 1.0,
240
+ externalReference: ''
241
+ };
242
+ engine.block.setColor(updatedFill, 'fill/color/value', updatedAccent);
243
+
244
+ // Define a temporary spot color
245
+ engine.editor.setSpotColorRGB('Temporary-Color', 0.5, 0.8, 0.3);
246
+
247
+ // Create a block using the temporary color
248
+ const { fill: tempFill } = createColorBlock(560, 220, 150, 150);
249
+ const tempColor: SpotColor = {
250
+ name: 'Temporary-Color',
251
+ tint: 1.0,
252
+ externalReference: ''
253
+ };
254
+ engine.block.setColor(tempFill, 'fill/color/value', tempColor);
255
+
256
+ // Remove the spot color definition
257
+ // Blocks using this color will display magenta (default fallback)
258
+ engine.editor.removeSpotColor('Temporary-Color');
259
+
260
+ console.log('Removed Temporary-Color - block now shows magenta fallback');
261
+
262
+ // Verify the color is no longer defined
263
+ const remainingSpotColors = engine.editor.findAllSpotColors();
264
+ console.log('Remaining spot colors:', remainingSpotColors);
265
+
266
+ // Assign spot colors to cutout types for die-cutting operations
267
+ // First define a spot color for the die line
268
+ engine.editor.setSpotColorRGB('DieLine', 1.0, 0.0, 1.0);
269
+ engine.editor.setSpotColorCMYK('DieLine', 0.0, 1.0, 0.0, 0.0);
270
+
271
+ // Associate the spot color with a cutout type
272
+ // CutoutType can be 'Solid' or 'Dashed'
273
+ engine.editor.setSpotColorForCutoutType('Solid', 'DieLine');
274
+
275
+ // Query the assigned spot color
276
+ const cutoutSpotColor = engine.editor.getSpotColorForCutoutType('Solid');
277
+ console.log('Cutout type Solid uses spot color:', cutoutSpotColor);
278
+
279
+ // Export the design
280
+ const outputDir = './output';
281
+ if (!existsSync(outputDir)) {
282
+ mkdirSync(outputDir, { recursive: true });
283
+ }
284
+
285
+ // Export as PNG for preview
286
+ const pngBlob = await engine.block.export(page, { mimeType: 'image/png' });
287
+ const pngBuffer = Buffer.from(await pngBlob.arrayBuffer());
288
+ writeFileSync(`${outputDir}/spot-colors.png`, pngBuffer);
289
+ console.log(`\nPNG exported: ${outputDir}/spot-colors.png`);
290
+
291
+ // Export as PDF for print (preserves spot colors)
292
+ const pdfBlob = await engine.block.export(page, {
293
+ mimeType: 'application/pdf'
294
+ });
295
+ const pdfBuffer = Buffer.from(await pdfBlob.arrayBuffer());
296
+ writeFileSync(`${outputDir}/spot-colors.pdf`, pdfBuffer);
297
+ console.log(`PDF exported: ${outputDir}/spot-colors.pdf`);
298
+
299
+ console.log('\nSpot Colors example completed successfully!');
300
+ } finally {
301
+ // Always dispose the engine to free resources
302
+ engine.dispose();
303
+ }
387
304
  ```
388
305
 
389
- This guide covers how to define spot colors with RGB and CMYK approximations, apply them to design elements with varying tints, query and update definitions, and assign spot colors to cutout types for die-cutting operations.
306
+ This guide covers how to define spot colors with RGB and CMYK approximations, apply them to design elements with varying tints, query and update definitions, assign spot colors to cutout types for die-cutting operations, and export designs with spot colors for print production.
390
307
 
391
- ## Understanding Spot Colors
308
+ ## Setup
309
+
310
+ Initialize the CE.SDK engine for server-side spot color management:
392
311
 
393
- Spot colors differ from CMYK process colors in several important ways:
312
+ ```typescript highlight-setup
313
+ // Initialize CE.SDK engine with baseURL for asset loading
314
+ const engine = await CreativeEngine.init({
315
+ // license: process.env.CESDK_LICENSE,
316
+ baseURL: process.env.IMGLY_LOCAL_ASSETS_URL
317
+ });
318
+ ```
319
+
320
+ ## Understanding Spot Colors
394
321
 
395
- - **Exact color matching** - Premixed inks guarantee consistent color reproduction across print runs
396
- - **Brand consistency** - Essential for logos and brand colors (e.g., Pantone colors)
397
- - **Specialty effects** - Enable metallic, fluorescent, and other specialty inks
398
- - **Color gamut** - Some colors are unreproducible with CMYK process inks
322
+ A spot color in CE.SDK consists of:
399
323
 
400
- In CE.SDK, spot colors have three components:
324
+ - **Name**: A unique identifier for the spot color (e.g., "Brand-Red-185", "Brand-Primary")
325
+ - **Tint**: A value from 0.0 to 1.0 controlling color intensity
326
+ - **External Reference**: Optional metadata linking to external color systems
401
327
 
402
- - **Name** - The identifier used in print output (e.g., "Pantone-485-C")
403
- - **Approximations** - RGB and/or CMYK values for screen display
404
- - **Tint** - A value from 0.0 to 1.0 controlling color intensity
328
+ Screen approximations (RGB and CMYK values) are stored separately and define how the spot color appears on screen during design. The actual printed color comes from the premixed ink specified by the spot color name.
405
329
 
406
- ## Define Spot Colors
330
+ ## Defining Spot Colors
407
331
 
408
332
  ### RGB Approximation
409
333
 
410
- We register spot colors using `engine.editor.setSpotColorRGB()`. This creates a new spot color if the name doesn't exist, or updates the approximation if it does.
334
+ Define how a spot color should appear on screen using RGB values:
411
335
 
412
336
  ```typescript highlight-define-spot-rgb
413
337
  // Define a spot color with RGB approximation
@@ -415,184 +339,170 @@ We register spot colors using `engine.editor.setSpotColorRGB()`. This creates a
415
339
  engine.editor.setSpotColorRGB('Brand-Primary', 0.8, 0.1, 0.2);
416
340
  ```
417
341
 
418
- RGB approximations display the spot color on screen during editing. The values range from 0.0 to 1.0 for each channel.
342
+ RGB values range from 0.0 to 1.0. This approximation is used for screen display in applications that work in RGB color space.
419
343
 
420
344
  ### CMYK Approximation
421
345
 
422
- We can add a CMYK approximation using `engine.editor.setSpotColorCMYK()`. This provides print-accurate previews alongside the RGB screen display.
346
+ Add a CMYK approximation for print preview accuracy:
423
347
 
424
348
  ```typescript highlight-define-spot-cmyk
425
- // Add CMYK approximation for the same spot color
426
- // This provides print-accurate preview in addition to screen display
427
- engine.editor.setSpotColorCMYK('Brand-Primary', 0.05, 0.95, 0.85, 0.0);
349
+ // Add CMYK approximation for the same spot color
350
+ // This provides print-accurate preview in addition to screen display
351
+ engine.editor.setSpotColorCMYK('Brand-Primary', 0.05, 0.95, 0.85, 0.0);
428
352
 
429
- // Define another spot color with both approximations
430
- engine.editor.setSpotColorRGB('Brand-Accent', 0.2, 0.4, 0.8);
431
- engine.editor.setSpotColorCMYK('Brand-Accent', 0.75, 0.5, 0.0, 0.0);
353
+ // Define another spot color with both approximations
354
+ engine.editor.setSpotColorRGB('Brand-Accent', 0.2, 0.4, 0.8);
355
+ engine.editor.setSpotColorCMYK('Brand-Accent', 0.75, 0.5, 0.0, 0.0);
432
356
  ```
433
357
 
434
- For best results, provide both RGB and CMYK approximations for each spot color. RGB displays on screen while CMYK enables accurate print preview.
358
+ CMYK values also range from 0.0 to 1.0. Having both RGB and CMYK approximations ensures accurate preview in both screen-based and print-oriented workflows.
435
359
 
436
- ## Apply Spot Colors to Design Elements
360
+ ## Applying Spot Colors
437
361
 
438
- We apply spot colors to blocks using `engine.block.setColor()` with a SpotColor object containing `name`, `tint`, and `externalReference`.
362
+ ### To Fills
439
363
 
440
- ```typescript highlight-apply-spot-fill
441
- // Apply spot colors to fills using SpotColor objects
442
- // The tint property (0.0 to 1.0) controls color intensity
443
- // The externalReference field stores metadata like color system origin
444
- const brandPrimary: SpotColor = {
445
- name: 'Brand-Primary',
446
- tint: 1.0,
447
- externalReference: ''
448
- };
364
+ Apply spot colors to block fills using the `SpotColor` type:
449
365
 
450
- // Create a block and apply the Brand-Primary spot color
451
- const { fill: primaryFill } = createColorBlock(50, 50, 150, 150);
452
- engine.block.setColor(primaryFill, 'fill/color/value', brandPrimary);
366
+ ```typescript highlight-apply-spot-fill
367
+ // Apply spot colors to fills using SpotColor objects
368
+ // The tint property (0.0 to 1.0) controls color intensity
369
+ // The externalReference field stores metadata like color system origin
370
+ const brandPrimary: SpotColor = {
371
+ name: 'Brand-Primary',
372
+ tint: 1.0,
373
+ externalReference: ''
374
+ };
375
+
376
+ // Create a block and apply the Brand-Primary spot color
377
+ const { fill: primaryFill } = createColorBlock(50, 50, 150, 150);
378
+ engine.block.setColor(primaryFill, 'fill/color/value', brandPrimary);
453
379
  ```
454
380
 
455
- The SpotColor object has these properties:
456
-
457
- - **name** - Must match a defined spot color exactly (case-sensitive)
458
- - **tint** - Controls intensity from 0.0 (transparent) to 1.0 (full strength)
459
- - **externalReference** - Optional metadata like the color system origin (e.g., "Pantone")
381
+ The `SpotColor` object contains:
460
382
 
461
- > **Note:** The spot color must be defined before applying it to blocks. Undefined spot colors display as magenta—the default fallback color.
383
+ - `name`: References a defined spot color
384
+ - `tint`: Controls intensity (1.0 = full strength)
385
+ - `externalReference`: Optional metadata for color system integration
462
386
 
463
387
  ### Using Tints
464
388
 
465
- Tints create lighter variations without defining separate spot colors for each shade. A tint of 0.5 gives 50% color intensity.
389
+ Create lighter variations without defining new spot colors:
466
390
 
467
391
  ```typescript highlight-tint
468
- // Use tints for lighter variations without defining new spot colors
469
- // Tint of 0.5 gives 50% color intensity
470
- const brandPrimaryHalfTint: SpotColor = {
471
- name: 'Brand-Primary',
472
- tint: 0.5,
473
- externalReference: ''
474
- };
475
- const { fill: tintedFill } = createColorBlock(390, 50, 150, 150, 'ellipse');
476
- engine.block.setColor(tintedFill, 'fill/color/value', brandPrimaryHalfTint);
477
-
478
- // Create a gradient of tints
479
- const brandAccentLightTint: SpotColor = {
480
- name: 'Brand-Accent',
481
- tint: 0.3,
482
- externalReference: ''
483
- };
484
- const { fill: lightTintFill } = createColorBlock(560, 50, 150, 150);
485
- engine.block.setColor(lightTintFill, 'fill/color/value', brandAccentLightTint);
392
+ // Use tints for lighter variations without defining new spot colors
393
+ // Tint of 0.5 gives 50% color intensity
394
+ const brandPrimaryHalfTint: SpotColor = {
395
+ name: 'Brand-Primary',
396
+ tint: 0.5,
397
+ externalReference: ''
398
+ };
399
+ const { fill: tintedFill } = createColorBlock(390, 50, 150, 150, 'ellipse');
400
+ engine.block.setColor(tintedFill, 'fill/color/value', brandPrimaryHalfTint);
401
+
402
+ // Create a gradient of tints
403
+ const brandAccentLightTint: SpotColor = {
404
+ name: 'Brand-Accent',
405
+ tint: 0.3,
406
+ externalReference: ''
407
+ };
408
+ const { fill: lightTintFill } = createColorBlock(560, 50, 150, 150);
409
+ engine.block.setColor(
410
+ lightTintFill,
411
+ 'fill/color/value',
412
+ brandAccentLightTint
413
+ );
486
414
  ```
487
415
 
488
- Use tints for:
489
-
490
- - Color variations in design systems
491
- - Lighter backgrounds using brand colors
492
- - Gradient-like effects with consistent spot color names
416
+ Tints are particularly useful for creating consistent color hierarchies in designs while maintaining a single spot color definition for print production.
493
417
 
494
- ### Strokes and Shadows
418
+ ### To Strokes and Shadows
495
419
 
496
- Spot colors work with any color property, including strokes and drop shadows.
420
+ Spot colors work with all color properties:
497
421
 
498
422
  ```typescript highlight-stroke-shadow
499
- // Apply spot colors to strokes and shadows
500
- const { block: strokeBlock, fill: strokeBlockFill } = createColorBlock(
501
- 50,
502
- 220,
503
- 150,
504
- 150
505
- );
506
- // Set fill to white
507
- engine.block.setColor(strokeBlockFill, 'fill/color/value', {
508
- r: 1.0,
509
- g: 1.0,
510
- b: 1.0,
511
- a: 1.0
512
- });
513
-
514
- // Enable stroke and apply spot color
515
- engine.block.setStrokeEnabled(strokeBlock, true);
516
- engine.block.setStrokeWidth(strokeBlock, 8);
517
- const strokeColor: SpotColor = {
518
- name: 'Brand-Primary',
519
- tint: 1.0,
520
- externalReference: ''
521
- };
522
- engine.block.setColor(strokeBlock, 'stroke/color', strokeColor);
523
-
524
- // Apply spot color to drop shadow
525
- const { block: shadowBlock, fill: shadowBlockFill } = createColorBlock(
526
- 220,
527
- 220,
528
- 150,
529
- 150
530
- );
531
- engine.block.setColor(shadowBlockFill, 'fill/color/value', {
532
- r: 0.95,
533
- g: 0.95,
534
- b: 0.95,
535
- a: 1.0
536
- });
537
-
538
- engine.block.setDropShadowEnabled(shadowBlock, true);
539
- engine.block.setDropShadowOffsetX(shadowBlock, 10);
540
- engine.block.setDropShadowOffsetY(shadowBlock, 10);
541
- engine.block.setDropShadowBlurRadiusX(shadowBlock, 15);
542
- engine.block.setDropShadowBlurRadiusY(shadowBlock, 15);
543
- const shadowColor: SpotColor = {
544
- name: 'Brand-Accent',
545
- tint: 0.8,
546
- externalReference: ''
547
- };
548
- engine.block.setColor(shadowBlock, 'dropShadow/color', shadowColor);
423
+ // Apply spot colors to strokes and shadows
424
+ const { block: strokeBlock, fill: strokeBlockFill } = createColorBlock(
425
+ 50,
426
+ 220,
427
+ 150,
428
+ 150
429
+ );
430
+ // Set fill to white
431
+ engine.block.setColor(strokeBlockFill, 'fill/color/value', {
432
+ r: 1.0,
433
+ g: 1.0,
434
+ b: 1.0,
435
+ a: 1.0
436
+ });
437
+
438
+ // Enable stroke and apply spot color
439
+ engine.block.setStrokeEnabled(strokeBlock, true);
440
+ engine.block.setStrokeWidth(strokeBlock, 8);
441
+ const strokeColor: SpotColor = {
442
+ name: 'Brand-Primary',
443
+ tint: 1.0,
444
+ externalReference: ''
445
+ };
446
+ engine.block.setColor(strokeBlock, 'stroke/color', strokeColor);
447
+
448
+ // Apply spot color to drop shadow
449
+ const { block: shadowBlock, fill: shadowBlockFill } = createColorBlock(
450
+ 220,
451
+ 220,
452
+ 150,
453
+ 150
454
+ );
455
+ engine.block.setColor(shadowBlockFill, 'fill/color/value', {
456
+ r: 0.95,
457
+ g: 0.95,
458
+ b: 0.95,
459
+ a: 1.0
460
+ });
461
+
462
+ engine.block.setDropShadowEnabled(shadowBlock, true);
463
+ engine.block.setDropShadowOffsetX(shadowBlock, 10);
464
+ engine.block.setDropShadowOffsetY(shadowBlock, 10);
465
+ engine.block.setDropShadowBlurRadiusX(shadowBlock, 15);
466
+ engine.block.setDropShadowBlurRadiusY(shadowBlock, 15);
467
+ const shadowColor: SpotColor = {
468
+ name: 'Brand-Accent',
469
+ tint: 0.8,
470
+ externalReference: ''
471
+ };
472
+ engine.block.setColor(shadowBlock, 'dropShadow/color', shadowColor);
549
473
  ```
550
474
 
551
- The `stroke/color` and `dropShadow/color` properties accept the same SpotColor objects as fill colors.
552
-
553
- ## Query Spot Color Definitions
475
+ ## Querying Spot Colors
554
476
 
555
- ### List Defined Spot Colors
477
+ ### List All Spot Colors
556
478
 
557
- We retrieve all defined spot colors with `engine.editor.findAllSpotColors()`.
479
+ Retrieve all defined spot colors in the current editor session:
558
480
 
559
481
  ```typescript highlight-query-spot
560
- // Query all defined spot colors
561
- const spotColors = engine.editor.findAllSpotColors();
562
- // eslint-disable-next-line no-console
563
- console.log('Defined spot colors:', spotColors);
564
-
565
- // Query RGB approximation for a spot color
566
- const rgbaApprox = engine.editor.getSpotColorRGBA('Brand-Primary');
567
- // eslint-disable-next-line no-console
568
- console.log('Brand-Primary RGB approximation:', rgbaApprox);
569
-
570
- // Query CMYK approximation for a spot color
571
- const cmykApprox = engine.editor.getSpotColorCMYK('Brand-Primary');
572
- // eslint-disable-next-line no-console
573
- console.log('Brand-Primary CMYK approximation:', cmykApprox);
574
-
575
- // Read back the color from a block and check if it's a spot color
576
- const retrievedColor = engine.block.getColor(primaryFill, 'fill/color/value');
577
- if (isSpotColor(retrievedColor)) {
578
- // eslint-disable-next-line no-console
579
- console.log(
580
- `Retrieved SpotColor - Name: ${retrievedColor.name}, Tint: ${retrievedColor.tint}`
581
- );
582
- }
482
+ // Query all defined spot colors
483
+ const spotColors = engine.editor.findAllSpotColors();
484
+ console.log('Defined spot colors:', spotColors);
485
+
486
+ // Query RGB approximation for a spot color
487
+ const rgbaApprox = engine.editor.getSpotColorRGBA('Brand-Primary');
488
+ console.log('Brand-Primary RGB approximation:', rgbaApprox);
489
+
490
+ // Query CMYK approximation for a spot color
491
+ const cmykApprox = engine.editor.getSpotColorCMYK('Brand-Primary');
492
+ console.log('Brand-Primary CMYK approximation:', cmykApprox);
493
+
494
+ // Read back the color from a block and check if it's a spot color
495
+ const retrievedColor = engine.block.getColor(primaryFill, 'fill/color/value');
496
+ if (isSpotColor(retrievedColor)) {
497
+ console.log(
498
+ `Retrieved SpotColor - Name: ${retrievedColor.name}, Tint: ${retrievedColor.tint}`
499
+ );
500
+ }
583
501
  ```
584
502
 
585
- This returns an array of spot color names currently registered in the editor.
586
-
587
- ### Get Color Approximations
588
-
589
- Query individual color approximations with `engine.editor.getSpotColorRGBA()` or `engine.editor.getSpotColorCMYK()`.
590
-
591
- Querying an undefined spot color returns magenta values—use this to detect missing definitions.
592
-
593
- ### Read Colors from Blocks
503
+ ### Reading Back Colors
594
504
 
595
- When reading a color back from a block, `engine.block.getColor()` can return an `RGBAColor`, `CMYKColor`, or `SpotColor`. Use a type guard to check if it's a SpotColor:
505
+ When reading colors from blocks, `engine.block.getColor()` can return an `RGBAColor`, `CMYKColor`, or `SpotColor`. Use a type guard to check if the color is a spot color:
596
506
 
597
507
  ```typescript
598
508
  const isSpotColor = (color: unknown): color is SpotColor => {
@@ -605,96 +515,118 @@ const isSpotColor = (color: unknown): color is SpotColor => {
605
515
  );
606
516
  };
607
517
 
608
- const retrievedColor = engine.block.getColor(fill, 'fill/color/value');
609
- if (isSpotColor(retrievedColor)) {
610
- console.log(`Name: ${retrievedColor.name}, Tint: ${retrievedColor.tint}`);
518
+ const color = engine.block.getColor(fill, 'fill/color/value');
519
+ if (isSpotColor(color)) {
520
+ console.log(`Spot color: ${color.name} at ${color.tint * 100}% tint`);
611
521
  }
612
522
  ```
613
523
 
614
- ## Update and Remove Spot Colors
524
+ ## Updating Spot Colors
615
525
 
616
- ### Update Approximations
617
-
618
- We update spot colors by calling the set methods again with the same name. This changes how the color appears on screen without affecting the color name in the print output.
526
+ Modify a spot color's screen approximation. All blocks using this spot color will automatically display the updated appearance:
619
527
 
620
528
  ```typescript highlight-update-spot
621
- // Update an existing spot color's approximation
622
- // This changes how the color appears on screen without affecting the color name
623
- engine.editor.setSpotColorRGB('Brand-Accent', 0.3, 0.5, 0.9);
624
- // eslint-disable-next-line no-console
625
- console.log('Updated Brand-Accent RGB approximation');
626
-
627
- // Show the updated color in a new block
628
- const { fill: updatedFill } = createColorBlock(390, 220, 150, 150);
629
- const updatedAccent: SpotColor = {
630
- name: 'Brand-Accent',
631
- tint: 1.0,
632
- externalReference: ''
633
- };
634
- engine.block.setColor(updatedFill, 'fill/color/value', updatedAccent);
529
+ // Update an existing spot color's approximation
530
+ // This changes how the color appears on screen without affecting the color name
531
+ engine.editor.setSpotColorRGB('Brand-Accent', 0.3, 0.5, 0.9);
532
+ console.log('Updated Brand-Accent RGB approximation');
533
+
534
+ // Show the updated color in a new block
535
+ const { fill: updatedFill } = createColorBlock(390, 220, 150, 150);
536
+ const updatedAccent: SpotColor = {
537
+ name: 'Brand-Accent',
538
+ tint: 1.0,
539
+ externalReference: ''
540
+ };
541
+ engine.block.setColor(updatedFill, 'fill/color/value', updatedAccent);
635
542
  ```
636
543
 
637
- Existing blocks using that spot color automatically reflect the updated approximation.
544
+ This updates only the screen preview. The actual printed output depends on the physical premixed ink identified by the spot color name.
638
545
 
639
- ### Remove Spot Colors
546
+ ## Removing Spot Colors
640
547
 
641
- We remove spot colors with `engine.editor.removeSpotColor()` when they're no longer needed.
548
+ Remove a spot color definition when it's no longer needed:
642
549
 
643
550
  ```typescript highlight-remove-spot
644
- // Define a temporary spot color
645
- engine.editor.setSpotColorRGB('Temporary-Color', 0.5, 0.8, 0.3);
646
-
647
- // Create a block using the temporary color
648
- const { fill: tempFill } = createColorBlock(560, 220, 150, 150);
649
- const tempColor: SpotColor = {
650
- name: 'Temporary-Color',
651
- tint: 1.0,
652
- externalReference: ''
653
- };
654
- engine.block.setColor(tempFill, 'fill/color/value', tempColor);
551
+ // Define a temporary spot color
552
+ engine.editor.setSpotColorRGB('Temporary-Color', 0.5, 0.8, 0.3);
553
+
554
+ // Create a block using the temporary color
555
+ const { fill: tempFill } = createColorBlock(560, 220, 150, 150);
556
+ const tempColor: SpotColor = {
557
+ name: 'Temporary-Color',
558
+ tint: 1.0,
559
+ externalReference: ''
560
+ };
561
+ engine.block.setColor(tempFill, 'fill/color/value', tempColor);
562
+
563
+ // Remove the spot color definition
564
+ // Blocks using this color will display magenta (default fallback)
565
+ engine.editor.removeSpotColor('Temporary-Color');
566
+
567
+ console.log('Removed Temporary-Color - block now shows magenta fallback');
568
+
569
+ // Verify the color is no longer defined
570
+ const remainingSpotColors = engine.editor.findAllSpotColors();
571
+ console.log('Remaining spot colors:', remainingSpotColors);
572
+ ```
655
573
 
656
- // Remove the spot color definition
657
- // Blocks using this color will display magenta (default fallback)
658
- engine.editor.removeSpotColor('Temporary-Color');
574
+ Blocks that reference a removed spot color will display in magenta (the default fallback color) to indicate the missing definition.
659
575
 
660
- // eslint-disable-next-line no-console
661
- console.log('Removed Temporary-Color - block now shows magenta fallback');
576
+ ## Spot Colors for Cutouts
662
577
 
663
- // Verify the color is no longer defined
664
- const remainingSpotColors = engine.editor.findAllSpotColors();
665
- // eslint-disable-next-line no-console
666
- console.log('Remaining spot colors:', remainingSpotColors);
578
+ Assign spot colors to cutout types for die-cutting operations in packaging and label production:
579
+
580
+ ```typescript highlight-cutout
581
+ // Assign spot colors to cutout types for die-cutting operations
582
+ // First define a spot color for the die line
583
+ engine.editor.setSpotColorRGB('DieLine', 1.0, 0.0, 1.0);
584
+ engine.editor.setSpotColorCMYK('DieLine', 0.0, 1.0, 0.0, 0.0);
585
+
586
+ // Associate the spot color with a cutout type
587
+ // CutoutType can be 'Solid' or 'Dashed'
588
+ engine.editor.setSpotColorForCutoutType('Solid', 'DieLine');
589
+
590
+ // Query the assigned spot color
591
+ const cutoutSpotColor = engine.editor.getSpotColorForCutoutType('Solid');
592
+ console.log('Cutout type Solid uses spot color:', cutoutSpotColor);
667
593
  ```
668
594
 
669
- Removing a spot color doesn't affect blocks already using it—they display magenta until redefined or until you apply a different color.
595
+ Available cutout types are `'Solid'` and `'Dashed'`, representing different die-line styles used in print finishing.
670
596
 
671
- ## Spot Colors for Cutouts
597
+ ## Exporting with Spot Colors
672
598
 
673
- CE.SDK supports assigning spot colors to cutout types for die-cutting, embossing, and other print finishing operations.
599
+ Export designs while preserving spot color information:
674
600
 
675
- ```typescript highlight-cutout
676
- // Assign spot colors to cutout types for die-cutting operations
677
- // First define a spot color for the die line
678
- engine.editor.setSpotColorRGB('DieLine', 1.0, 0.0, 1.0);
679
- engine.editor.setSpotColorCMYK('DieLine', 0.0, 1.0, 0.0, 0.0);
680
-
681
- // Associate the spot color with a cutout type
682
- // CutoutType can be 'Solid' or 'Dashed'
683
- engine.editor.setSpotColorForCutoutType('Solid', 'DieLine');
684
-
685
- // Query the assigned spot color
686
- const cutoutSpotColor = engine.editor.getSpotColorForCutoutType('Solid');
687
- // eslint-disable-next-line no-console
688
- console.log('Cutout type Solid uses spot color:', cutoutSpotColor);
601
+ ```typescript highlight-export
602
+ // Export the design
603
+ const outputDir = './output';
604
+ if (!existsSync(outputDir)) {
605
+ mkdirSync(outputDir, { recursive: true });
606
+ }
607
+
608
+ // Export as PNG for preview
609
+ const pngBlob = await engine.block.export(page, { mimeType: 'image/png' });
610
+ const pngBuffer = Buffer.from(await pngBlob.arrayBuffer());
611
+ writeFileSync(`${outputDir}/spot-colors.png`, pngBuffer);
612
+ console.log(`\nPNG exported: ${outputDir}/spot-colors.png`);
613
+
614
+ // Export as PDF for print (preserves spot colors)
615
+ const pdfBlob = await engine.block.export(page, {
616
+ mimeType: 'application/pdf'
617
+ });
618
+ const pdfBuffer = Buffer.from(await pdfBlob.arrayBuffer());
619
+ writeFileSync(`${outputDir}/spot-colors.pdf`, pdfBuffer);
620
+ console.log(`PDF exported: ${outputDir}/spot-colors.pdf`);
689
621
  ```
690
622
 
691
- Use `engine.editor.setSpotColorForCutoutType()` to associate a spot color with a specific cutout type. Available cutout types are `'Solid'` and `'Dashed'`, representing different die-line styles used in print finishing. All cutout blocks of that type automatically use the assigned spot color in the output. Query the assignment with `engine.editor.getSpotColorForCutoutType()`.
623
+ When exporting to PDF, spot colors are embedded as named separations that RIP software can extract for plate generation. PNG exports use the RGB approximation for raster output.
692
624
 
693
625
  ## Best Practices
694
626
 
695
627
  **Define early** - Register spot colors at initialization before applying them to blocks. Undefined colors display as magenta, which can confuse users.
696
628
 
697
- **Use descriptive names** - Match your print vendor's reference (e.g., "Pantone-485-C") to ensure correct ink matching in production.
629
+ **Use descriptive names** - Match your print vendor's reference (e.g., "Brand-Red-485") to ensure correct ink matching in production.
698
630
 
699
631
  **Provide both approximations** - RGB for screen display, CMYK for print-accurate previews. This gives designers the best experience across different workflows.
700
632
 
@@ -722,18 +654,18 @@ Ensure you're using the exact name string. Note that removing a spot color doesn
722
654
 
723
655
  ## API Reference
724
656
 
725
- | Method | Description |
726
- | ------------------------------------------------------ | ------------------------------------------------ |
727
- | `engine.editor.setSpotColorRGB(name, r, g, b)` | Define/update spot color with RGB approximation |
728
- | `engine.editor.setSpotColorCMYK(name, c, m, y, k)` | Define/update spot color with CMYK approximation |
729
- | `engine.editor.findAllSpotColors()` | Get array of all defined spot color names |
730
- | `engine.editor.getSpotColorRGBA(name)` | Query RGB approximation for a spot color |
731
- | `engine.editor.getSpotColorCMYK(name)` | Query CMYK approximation for a spot color |
732
- | `engine.editor.removeSpotColor(name)` | Remove a spot color from the registry |
733
- | `engine.editor.setSpotColorForCutoutType(type, color)` | Assign spot color to a cutout type |
734
- | `engine.editor.getSpotColorForCutoutType(type)` | Get spot color assigned to a cutout type |
735
- | `engine.block.setColor(block, property, color)` | Apply color (including SpotColor) to a property |
736
- | `engine.block.getColor(block, property)` | Read color from a block property |
657
+ | Method | Description |
658
+ | ------------------------------------------------- | ------------------------------------------------ |
659
+ | `engine.editor.setSpotColorRGB(name, r, g, b)` | Define/update spot color with RGB approximation |
660
+ | `engine.editor.setSpotColorCMYK(name, c, m, y, k)` | Define/update spot color with CMYK approximation |
661
+ | `engine.editor.findAllSpotColors()` | Get array of all defined spot color names |
662
+ | `engine.editor.getSpotColorRGBA(name)` | Query RGB approximation for a spot color |
663
+ | `engine.editor.getSpotColorCMYK(name)` | Query CMYK approximation for a spot color |
664
+ | `engine.editor.removeSpotColor(name)` | Remove a spot color from the registry |
665
+ | `engine.editor.setSpotColorForCutoutType(type, color)` | Assign spot color to a cutout type |
666
+ | `engine.editor.getSpotColorForCutoutType(type)` | Get spot color assigned to a cutout type |
667
+ | `engine.block.setColor(block, property, color)` | Apply color (including SpotColor) to a property |
668
+ | `engine.block.getColor(block, property)` | Read color from a block property |
737
669
 
738
670
  ## Next Steps
739
671
 
@@ -741,11 +673,22 @@ Ensure you're using the exact name string. Note that removing a spot color doesn
741
673
  - [Apply Colors](./colors/apply.md) - Apply colors to fills, strokes, and shadows
742
674
  - [CMYK Colors](./colors/for-print/cmyk.md) - Work with CMYK process colors
743
675
 
676
+ ## Cleanup
677
+
678
+ Always dispose the engine when done to free resources:
679
+
680
+ ```typescript highlight-cleanup
681
+ // Always dispose the engine to free resources
682
+ engine.dispose();
683
+ ```
684
+
685
+
686
+
744
687
  ---
745
688
 
746
689
  ## More Resources
747
690
 
748
- - **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
691
+ - **[Node.js Documentation Index](https://img.ly/docs/cesdk/node.md)** - Browse all Node.js documentation
749
692
  - **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
750
- - **[Web Documentation](./js.md)** - Interactive documentation with examples
751
- - **[Support](mailto:support@img.ly)** - Contact IMG.LY support
693
+ - **[Web Documentation](./node.md)** - Interactive documentation with examples
694
+ - **[Support](mailto:support@img.ly)** - Contact IMG.LY support