@imgly/codesign-mcp 0.1.5 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1085) hide show
  1. package/README.md +56 -11
  2. package/assets/docs/guide/SKILL.md +45 -53
  3. package/assets/docs/guide/animation/create/base.md +234 -243
  4. package/assets/docs/guide/animation/create/text.md +250 -231
  5. package/assets/docs/guide/animation/create.md +197 -231
  6. package/assets/docs/guide/animation/edit.md +196 -271
  7. package/assets/docs/guide/animation/types.md +182 -185
  8. package/assets/docs/guide/animation.md +9 -6
  9. package/assets/docs/guide/api/AssetAPI.md +7 -53
  10. package/assets/docs/guide/api/BlockAPI.md +725 -648
  11. package/assets/docs/guide/api/CreativeEngine.md +7 -16
  12. package/assets/docs/guide/api/EditorAPI.md +32 -93
  13. package/assets/docs/guide/api/EventAPI.md +1 -2
  14. package/assets/docs/guide/api/SceneAPI.md +47 -98
  15. package/assets/docs/guide/api/VariableAPI.md +1 -4
  16. package/assets/docs/guide/api/node/classes/assetapi.md +1090 -0
  17. package/assets/docs/guide/api/node/classes/blockapi.md +12965 -0
  18. package/assets/docs/guide/api/node/classes/creativeengine.md +319 -0
  19. package/assets/docs/guide/api/node/classes/editorapi.md +3417 -0
  20. package/assets/docs/guide/api/node/classes/engineactions.md +319 -0
  21. package/assets/docs/guide/api/node/classes/eventapi.md +56 -0
  22. package/assets/docs/guide/api/node/classes/sceneapi.md +1370 -0
  23. package/assets/docs/guide/api/node/classes/variableapi.md +143 -0
  24. package/assets/docs/guide/api/node/enumerations/compressionformat.md +23 -0
  25. package/assets/docs/guide/api/node/enumerations/compressionlevel.md +24 -0
  26. package/assets/docs/guide/api/node/functions/iscmykcolor.md +30 -0
  27. package/assets/docs/guide/api/node/functions/isrgbacolor.md +30 -0
  28. package/assets/docs/guide/api/node/functions/isspotcolor.md +30 -0
  29. package/assets/docs/guide/api/node/interfaces/addvideooptions.md +31 -0
  30. package/assets/docs/guide/api/node/interfaces/applyassetoptions.md +31 -0
  31. package/assets/docs/guide/api/node/interfaces/asset.md +30 -0
  32. package/assets/docs/guide/api/node/interfaces/assetbooleanproperty.md +25 -0
  33. package/assets/docs/guide/api/node/interfaces/assetcmykcolor.md +26 -0
  34. package/assets/docs/guide/api/node/interfaces/assetcolorproperty.md +25 -0
  35. package/assets/docs/guide/api/node/interfaces/assetcontentaspectratio.md +23 -0
  36. package/assets/docs/guide/api/node/interfaces/assetdefinition.md +31 -0
  37. package/assets/docs/guide/api/node/interfaces/assetenumproperty.md +26 -0
  38. package/assets/docs/guide/api/node/interfaces/assetfixedaspectratio.md +24 -0
  39. package/assets/docs/guide/api/node/interfaces/assetfixedsize.md +25 -0
  40. package/assets/docs/guide/api/node/interfaces/assetfreeaspectratio.md +22 -0
  41. package/assets/docs/guide/api/node/interfaces/assetnumberproperty.md +28 -0
  42. package/assets/docs/guide/api/node/interfaces/assetpayload.md +27 -0
  43. package/assets/docs/guide/api/node/interfaces/assetquerydata.md +32 -0
  44. package/assets/docs/guide/api/node/interfaces/assetresult.md +46 -0
  45. package/assets/docs/guide/api/node/interfaces/assetrgbcolor.md +25 -0
  46. package/assets/docs/guide/api/node/interfaces/assetsource.md +111 -0
  47. package/assets/docs/guide/api/node/interfaces/assetspotcolor.md +25 -0
  48. package/assets/docs/guide/api/node/interfaces/assetsqueryresult.md +31 -0
  49. package/assets/docs/guide/api/node/interfaces/assetstringproperty.md +25 -0
  50. package/assets/docs/guide/api/node/interfaces/assetstylepreset.md +39 -0
  51. package/assets/docs/guide/api/node/interfaces/assetstylepresetanimation.md +23 -0
  52. package/assets/docs/guide/api/node/interfaces/audiotrackinfo.md +32 -0
  53. package/assets/docs/guide/api/node/interfaces/blockevent.md +26 -0
  54. package/assets/docs/guide/api/node/interfaces/blockstateerror.md +26 -0
  55. package/assets/docs/guide/api/node/interfaces/blockstatepending.md +26 -0
  56. package/assets/docs/guide/api/node/interfaces/blockstateready.md +25 -0
  57. package/assets/docs/guide/api/node/interfaces/buffer.md +26 -0
  58. package/assets/docs/guide/api/node/interfaces/characterinkbox.md +29 -0
  59. package/assets/docs/guide/api/node/interfaces/cmykcolor.md +34 -0
  60. package/assets/docs/guide/api/node/interfaces/completeassetresult.md +46 -0
  61. package/assets/docs/guide/api/node/interfaces/configuration.md +38 -0
  62. package/assets/docs/guide/api/node/interfaces/dominantcolor.md +25 -0
  63. package/assets/docs/guide/api/node/interfaces/dominantcolorsoptions.md +23 -0
  64. package/assets/docs/guide/api/node/interfaces/engineactioninfo.md +24 -0
  65. package/assets/docs/guide/api/node/interfaces/engineactionsregistry.md +18 -0
  66. package/assets/docs/guide/api/node/interfaces/engineplugin.md +30 -0
  67. package/assets/docs/guide/api/node/interfaces/font.md +27 -0
  68. package/assets/docs/guide/api/node/interfaces/fontmetrics.md +32 -0
  69. package/assets/docs/guide/api/node/interfaces/gradientcolorstop.md +28 -0
  70. package/assets/docs/guide/api/node/interfaces/logger.md +39 -0
  71. package/assets/docs/guide/api/node/interfaces/pageduration.md +23 -0
  72. package/assets/docs/guide/api/node/interfaces/range.md +23 -0
  73. package/assets/docs/guide/api/node/interfaces/rgbacolor.md +32 -0
  74. package/assets/docs/guide/api/node/interfaces/rgbcolor.md +30 -0
  75. package/assets/docs/guide/api/node/interfaces/settings.md +126 -0
  76. package/assets/docs/guide/api/node/interfaces/size2.md +21 -0
  77. package/assets/docs/guide/api/node/interfaces/source.md +24 -0
  78. package/assets/docs/guide/api/node/interfaces/spotcolor.md +30 -0
  79. package/assets/docs/guide/api/node/interfaces/textdecorationconfig.md +31 -0
  80. package/assets/docs/guide/api/node/interfaces/textfontsizeoptions.md +24 -0
  81. package/assets/docs/guide/api/node/interfaces/textruninfo.md +33 -0
  82. package/assets/docs/guide/api/node/interfaces/transientresource.md +26 -0
  83. package/assets/docs/guide/api/node/interfaces/typeface.md +23 -0
  84. package/assets/docs/guide/api/node/interfaces/vec2.md +21 -0
  85. package/assets/docs/guide/api/node/interfaces/vec3.md +22 -0
  86. package/assets/docs/guide/api/node/type-aliases/addimageoptions.md +36 -0
  87. package/assets/docs/guide/api/node/type-aliases/animationbaselinedirection.md +18 -0
  88. package/assets/docs/guide/api/node/type-aliases/animationblockswipetextdirection.md +18 -0
  89. package/assets/docs/guide/api/node/type-aliases/animationeasing.md +18 -0
  90. package/assets/docs/guide/api/node/type-aliases/animationentry.md +28 -0
  91. package/assets/docs/guide/api/node/type-aliases/animationgrowdirection.md +18 -0
  92. package/assets/docs/guide/api/node/type-aliases/animationjumploopdirection.md +18 -0
  93. package/assets/docs/guide/api/node/type-aliases/animationkenburnsdirection.md +18 -0
  94. package/assets/docs/guide/api/node/type-aliases/animationmergetextdirection.md +18 -0
  95. package/assets/docs/guide/api/node/type-aliases/animationoptions.md +28 -0
  96. package/assets/docs/guide/api/node/type-aliases/animationspindirection.md +18 -0
  97. package/assets/docs/guide/api/node/type-aliases/animationspinloopdirection.md +18 -0
  98. package/assets/docs/guide/api/node/type-aliases/animationtype.md +24 -0
  99. package/assets/docs/guide/api/node/type-aliases/animationtypelonghand.md +21 -0
  100. package/assets/docs/guide/api/node/type-aliases/animationtypeshorthand.md +18 -0
  101. package/assets/docs/guide/api/node/type-aliases/animationtypewritertextwritingstyle.md +18 -0
  102. package/assets/docs/guide/api/node/type-aliases/animationwipedirection.md +18 -0
  103. package/assets/docs/guide/api/node/type-aliases/applicationmimetype.md +20 -0
  104. package/assets/docs/guide/api/node/type-aliases/assetcolor.md +23 -0
  105. package/assets/docs/guide/api/node/type-aliases/assetfilter.md +47 -0
  106. package/assets/docs/guide/api/node/type-aliases/assetgroups.md +25 -0
  107. package/assets/docs/guide/api/node/type-aliases/assetmetadata.md +42 -0
  108. package/assets/docs/guide/api/node/type-aliases/assetproperty.md +25 -0
  109. package/assets/docs/guide/api/node/type-aliases/assetpropertyfilter.md +41 -0
  110. package/assets/docs/guide/api/node/type-aliases/assetpropertypath.md +26 -0
  111. package/assets/docs/guide/api/node/type-aliases/assetstylepresetanimationproperties.md +34 -0
  112. package/assets/docs/guide/api/node/type-aliases/assetstylepresetproperties.md +29 -0
  113. package/assets/docs/guide/api/node/type-aliases/assetstylepresetpropertyvalue.md +29 -0
  114. package/assets/docs/guide/api/node/type-aliases/assetstylepresetscalableproperty.md +28 -0
  115. package/assets/docs/guide/api/node/type-aliases/assettransformpreset.md +24 -0
  116. package/assets/docs/guide/api/node/type-aliases/asyncuriresolver.md +36 -0
  117. package/assets/docs/guide/api/node/type-aliases/audioexportoptions.md +43 -0
  118. package/assets/docs/guide/api/node/type-aliases/audiofromvideooptions.md +27 -0
  119. package/assets/docs/guide/api/node/type-aliases/audiomimetype.md +20 -0
  120. package/assets/docs/guide/api/node/type-aliases/blendmode.md +18 -0
  121. package/assets/docs/guide/api/node/type-aliases/blockenumtype.md +63 -0
  122. package/assets/docs/guide/api/node/type-aliases/blockstate.md +26 -0
  123. package/assets/docs/guide/api/node/type-aliases/blurtype.md +24 -0
  124. package/assets/docs/guide/api/node/type-aliases/blurtypelonghand.md +21 -0
  125. package/assets/docs/guide/api/node/type-aliases/blurtypeshorthand.md +18 -0
  126. package/assets/docs/guide/api/node/type-aliases/booleanoperation.md +27 -0
  127. package/assets/docs/guide/api/node/type-aliases/boolpropertyname.md +79 -0
  128. package/assets/docs/guide/api/node/type-aliases/cameraclampingovershootmode.md +18 -0
  129. package/assets/docs/guide/api/node/type-aliases/captionhorizontalalignment.md +18 -0
  130. package/assets/docs/guide/api/node/type-aliases/captionverticalalignment.md +18 -0
  131. package/assets/docs/guide/api/node/type-aliases/cmyk.md +23 -0
  132. package/assets/docs/guide/api/node/type-aliases/color.md +23 -0
  133. package/assets/docs/guide/api/node/type-aliases/colorpickercolormode.md +18 -0
  134. package/assets/docs/guide/api/node/type-aliases/colorpropertyname.md +31 -0
  135. package/assets/docs/guide/api/node/type-aliases/colorspace.md +20 -0
  136. package/assets/docs/guide/api/node/type-aliases/contentfillmode.md +18 -0
  137. package/assets/docs/guide/api/node/type-aliases/controlgizmomovehandlevisibility.md +18 -0
  138. package/assets/docs/guide/api/node/type-aliases/controlgizmoresizehandlesvisibility.md +18 -0
  139. package/assets/docs/guide/api/node/type-aliases/controlgizmorotatehandlesvisibility.md +18 -0
  140. package/assets/docs/guide/api/node/type-aliases/controlgizmoscalehandlesvisibility.md +18 -0
  141. package/assets/docs/guide/api/node/type-aliases/createsceneoptions.md +30 -0
  142. package/assets/docs/guide/api/node/type-aliases/cutoutoperation.md +20 -0
  143. package/assets/docs/guide/api/node/type-aliases/cutouttype.md +18 -0
  144. package/assets/docs/guide/api/node/type-aliases/defaultassetsourceid.md +37 -0
  145. package/assets/docs/guide/api/node/type-aliases/demoassetsourceid.md +33 -0
  146. package/assets/docs/guide/api/node/type-aliases/designblockid.md +20 -0
  147. package/assets/docs/guide/api/node/type-aliases/designblocktype.md +24 -0
  148. package/assets/docs/guide/api/node/type-aliases/designblocktypelonghand.md +21 -0
  149. package/assets/docs/guide/api/node/type-aliases/designblocktypeshorthand.md +18 -0
  150. package/assets/docs/guide/api/node/type-aliases/designunit.md +18 -0
  151. package/assets/docs/guide/api/node/type-aliases/doubleclickselectionmode.md +18 -0
  152. package/assets/docs/guide/api/node/type-aliases/doublepropertyname.md +26 -0
  153. package/assets/docs/guide/api/node/type-aliases/dropshadowoptions.md +32 -0
  154. package/assets/docs/guide/api/node/type-aliases/editmode.md +27 -0
  155. package/assets/docs/guide/api/node/type-aliases/effecttype.md +24 -0
  156. package/assets/docs/guide/api/node/type-aliases/effecttypelonghand.md +21 -0
  157. package/assets/docs/guide/api/node/type-aliases/effecttypeshorthand.md +18 -0
  158. package/assets/docs/guide/api/node/type-aliases/engineactionid.md +20 -0
  159. package/assets/docs/guide/api/node/type-aliases/enginecustomactionfunction.md +30 -0
  160. package/assets/docs/guide/api/node/type-aliases/engineplugincontext.md +30 -0
  161. package/assets/docs/guide/api/node/type-aliases/enumpropertyname.md +59 -0
  162. package/assets/docs/guide/api/node/type-aliases/enumvalues.md +59 -0
  163. package/assets/docs/guide/api/node/type-aliases/exportoptions.md +57 -0
  164. package/assets/docs/guide/api/node/type-aliases/fillpixelstreamorientation.md +18 -0
  165. package/assets/docs/guide/api/node/type-aliases/filltype.md +24 -0
  166. package/assets/docs/guide/api/node/type-aliases/filltypelonghand.md +21 -0
  167. package/assets/docs/guide/api/node/type-aliases/filltypeshorthand.md +18 -0
  168. package/assets/docs/guide/api/node/type-aliases/floatpropertyname.md +184 -0
  169. package/assets/docs/guide/api/node/type-aliases/fontsizeunit.md +23 -0
  170. package/assets/docs/guide/api/node/type-aliases/fontstyle.md +20 -0
  171. package/assets/docs/guide/api/node/type-aliases/fontweight.md +30 -0
  172. package/assets/docs/guide/api/node/type-aliases/gradientstoprgba.md +23 -0
  173. package/assets/docs/guide/api/node/type-aliases/heightmode.md +18 -0
  174. package/assets/docs/guide/api/node/type-aliases/hexcolorstring.md +20 -0
  175. package/assets/docs/guide/api/node/type-aliases/historyid.md +20 -0
  176. package/assets/docs/guide/api/node/type-aliases/historyupdate.md +25 -0
  177. package/assets/docs/guide/api/node/type-aliases/horizontalblockalignment.md +18 -0
  178. package/assets/docs/guide/api/node/type-aliases/horizontalcontentfillalignment.md +18 -0
  179. package/assets/docs/guide/api/node/type-aliases/horizontaltextalignment.md +18 -0
  180. package/assets/docs/guide/api/node/type-aliases/imagemimetype.md +25 -0
  181. package/assets/docs/guide/api/node/type-aliases/intpropertyname.md +26 -0
  182. package/assets/docs/guide/api/node/type-aliases/liststyle.md +20 -0
  183. package/assets/docs/guide/api/node/type-aliases/locale.md +20 -0
  184. package/assets/docs/guide/api/node/type-aliases/loglevel.md +24 -0
  185. package/assets/docs/guide/api/node/type-aliases/mimetype.md +20 -0
  186. package/assets/docs/guide/api/node/type-aliases/objecttype.md +24 -0
  187. package/assets/docs/guide/api/node/type-aliases/objecttypelonghand.md +27 -0
  188. package/assets/docs/guide/api/node/type-aliases/objecttypeshorthand.md +27 -0
  189. package/assets/docs/guide/api/node/type-aliases/optionalprefix.md +24 -0
  190. package/assets/docs/guide/api/node/type-aliases/pageguidessource.md +18 -0
  191. package/assets/docs/guide/api/node/type-aliases/palettecolor.md +24 -0
  192. package/assets/docs/guide/api/node/type-aliases/positionmode.md +20 -0
  193. package/assets/docs/guide/api/node/type-aliases/positionxmode.md +18 -0
  194. package/assets/docs/guide/api/node/type-aliases/positionymode.md +18 -0
  195. package/assets/docs/guide/api/node/type-aliases/propertytype.md +31 -0
  196. package/assets/docs/guide/api/node/type-aliases/rgba.md +23 -0
  197. package/assets/docs/guide/api/node/type-aliases/rolestring.md +23 -0
  198. package/assets/docs/guide/api/node/type-aliases/scenefontsizeunit.md +18 -0
  199. package/assets/docs/guide/api/node/type-aliases/scenelayout.md +18 -0
  200. package/assets/docs/guide/api/node/type-aliases/scenemode.md +18 -0
  201. package/assets/docs/guide/api/node/type-aliases/scope.md +50 -0
  202. package/assets/docs/guide/api/node/type-aliases/settingboolpropertyname.md +62 -0
  203. package/assets/docs/guide/api/node/type-aliases/settingcolorpropertyname.md +38 -0
  204. package/assets/docs/guide/api/node/type-aliases/settingenumpropertyname.md +29 -0
  205. package/assets/docs/guide/api/node/type-aliases/settingenumtype.md +33 -0
  206. package/assets/docs/guide/api/node/type-aliases/settingenumvalues.md +29 -0
  207. package/assets/docs/guide/api/node/type-aliases/settingfloatpropertyname.md +25 -0
  208. package/assets/docs/guide/api/node/type-aliases/settingintpropertyname.md +18 -0
  209. package/assets/docs/guide/api/node/type-aliases/settingkey.md +20 -0
  210. package/assets/docs/guide/api/node/type-aliases/settingsbool.md +18 -0
  211. package/assets/docs/guide/api/node/type-aliases/settingscolor.md +20 -0
  212. package/assets/docs/guide/api/node/type-aliases/settingscolorrgba.md +24 -0
  213. package/assets/docs/guide/api/node/type-aliases/settingsenum.md +18 -0
  214. package/assets/docs/guide/api/node/type-aliases/settingsfloat.md +18 -0
  215. package/assets/docs/guide/api/node/type-aliases/settingsint.md +18 -0
  216. package/assets/docs/guide/api/node/type-aliases/settingsstring.md +18 -0
  217. package/assets/docs/guide/api/node/type-aliases/settingstringpropertyname.md +28 -0
  218. package/assets/docs/guide/api/node/type-aliases/settingtype.md +20 -0
  219. package/assets/docs/guide/api/node/type-aliases/settingvaluetype.md +26 -0
  220. package/assets/docs/guide/api/node/type-aliases/shapetype.md +24 -0
  221. package/assets/docs/guide/api/node/type-aliases/shapetypelonghand.md +21 -0
  222. package/assets/docs/guide/api/node/type-aliases/shapetypeshorthand.md +18 -0
  223. package/assets/docs/guide/api/node/type-aliases/shapevectorpathfillrule.md +18 -0
  224. package/assets/docs/guide/api/node/type-aliases/sizemode.md +20 -0
  225. package/assets/docs/guide/api/node/type-aliases/sortingorder.md +21 -0
  226. package/assets/docs/guide/api/node/type-aliases/sourcesetpropertyname.md +18 -0
  227. package/assets/docs/guide/api/node/type-aliases/splitoptions.md +28 -0
  228. package/assets/docs/guide/api/node/type-aliases/stringpropertyname.md +43 -0
  229. package/assets/docs/guide/api/node/type-aliases/strokecap.md +18 -0
  230. package/assets/docs/guide/api/node/type-aliases/strokecornergeometry.md +18 -0
  231. package/assets/docs/guide/api/node/type-aliases/strokedashendcap.md +18 -0
  232. package/assets/docs/guide/api/node/type-aliases/strokedashstartcap.md +18 -0
  233. package/assets/docs/guide/api/node/type-aliases/strokeendcap.md +18 -0
  234. package/assets/docs/guide/api/node/type-aliases/strokeposition.md +18 -0
  235. package/assets/docs/guide/api/node/type-aliases/strokestartcap.md +18 -0
  236. package/assets/docs/guide/api/node/type-aliases/strokestyle.md +18 -0
  237. package/assets/docs/guide/api/node/type-aliases/syncuriresolver.md +31 -0
  238. package/assets/docs/guide/api/node/type-aliases/textanimationwritingstyle.md +18 -0
  239. package/assets/docs/guide/api/node/type-aliases/textcase.md +20 -0
  240. package/assets/docs/guide/api/node/type-aliases/textdecorationline.md +27 -0
  241. package/assets/docs/guide/api/node/type-aliases/textdecorationstyle.md +26 -0
  242. package/assets/docs/guide/api/node/type-aliases/textverticalalignment.md +18 -0
  243. package/assets/docs/guide/api/node/type-aliases/timelinetrackvisibility.md +18 -0
  244. package/assets/docs/guide/api/node/type-aliases/touchpinchaction.md +18 -0
  245. package/assets/docs/guide/api/node/type-aliases/touchrotateaction.md +18 -0
  246. package/assets/docs/guide/api/node/type-aliases/typefacedefinition.md +41 -0
  247. package/assets/docs/guide/api/node/type-aliases/verticalblockalignment.md +18 -0
  248. package/assets/docs/guide/api/node/type-aliases/verticalcontentfillalignment.md +18 -0
  249. package/assets/docs/guide/api/node/type-aliases/videoexportoptions.md +54 -0
  250. package/assets/docs/guide/api/node/type-aliases/videomimetype.md +20 -0
  251. package/assets/docs/guide/api/node/type-aliases/widthmode.md +18 -0
  252. package/assets/docs/guide/api/node/type-aliases/xywh.md +23 -0
  253. package/assets/docs/guide/api/node/type-aliases/zoomautofitaxis.md +20 -0
  254. package/assets/docs/guide/api/node/type-aliases/zoomoptions.md +27 -0
  255. package/assets/docs/guide/api/node/variables/animation_types.md +21 -0
  256. package/assets/docs/guide/api/node/variables/animationbaselinedirectionvalues.md +18 -0
  257. package/assets/docs/guide/api/node/variables/animationblockswipetextdirectionvalues.md +18 -0
  258. package/assets/docs/guide/api/node/variables/animationeasingvalues.md +18 -0
  259. package/assets/docs/guide/api/node/variables/animationgrowdirectionvalues.md +18 -0
  260. package/assets/docs/guide/api/node/variables/animationjumploopdirectionvalues.md +18 -0
  261. package/assets/docs/guide/api/node/variables/animationkenburnsdirectionvalues.md +18 -0
  262. package/assets/docs/guide/api/node/variables/animationmergetextdirectionvalues.md +18 -0
  263. package/assets/docs/guide/api/node/variables/animationspindirectionvalues.md +18 -0
  264. package/assets/docs/guide/api/node/variables/animationspinloopdirectionvalues.md +18 -0
  265. package/assets/docs/guide/api/node/variables/animationtypewritertextwritingstylevalues.md +18 -0
  266. package/assets/docs/guide/api/node/variables/animationwipedirectionvalues.md +18 -0
  267. package/assets/docs/guide/api/node/variables/blendmodevalues.md +18 -0
  268. package/assets/docs/guide/api/node/variables/blur_types.md +21 -0
  269. package/assets/docs/guide/api/node/variables/cameraclampingovershootmodevalues.md +18 -0
  270. package/assets/docs/guide/api/node/variables/captionhorizontalalignmentvalues.md +18 -0
  271. package/assets/docs/guide/api/node/variables/captionverticalalignmentvalues.md +18 -0
  272. package/assets/docs/guide/api/node/variables/colorpickercolormodevalues.md +18 -0
  273. package/assets/docs/guide/api/node/variables/contentfillmodevalues.md +18 -0
  274. package/assets/docs/guide/api/node/variables/controlgizmomovehandlevisibilityvalues.md +18 -0
  275. package/assets/docs/guide/api/node/variables/controlgizmoresizehandlesvisibilityvalues.md +18 -0
  276. package/assets/docs/guide/api/node/variables/controlgizmorotatehandlesvisibilityvalues.md +18 -0
  277. package/assets/docs/guide/api/node/variables/controlgizmoscalehandlesvisibilityvalues.md +18 -0
  278. package/assets/docs/guide/api/node/variables/cutouttypevalues.md +18 -0
  279. package/assets/docs/guide/api/node/variables/design_block_types.md +21 -0
  280. package/assets/docs/guide/api/node/variables/doubleclickselectionmodevalues.md +18 -0
  281. package/assets/docs/guide/api/node/variables/effect_types.md +21 -0
  282. package/assets/docs/guide/api/node/variables/fill_types.md +21 -0
  283. package/assets/docs/guide/api/node/variables/fillpixelstreamorientationvalues.md +18 -0
  284. package/assets/docs/guide/api/node/variables/heightmodevalues.md +18 -0
  285. package/assets/docs/guide/api/node/variables/horizontalcontentfillalignmentvalues.md +18 -0
  286. package/assets/docs/guide/api/node/variables/loglevel.md +37 -0
  287. package/assets/docs/guide/api/node/variables/mimetype.md +41 -0
  288. package/assets/docs/guide/api/node/variables/pageguidessourcevalues.md +18 -0
  289. package/assets/docs/guide/api/node/variables/positionxmodevalues.md +18 -0
  290. package/assets/docs/guide/api/node/variables/positionymodevalues.md +18 -0
  291. package/assets/docs/guide/api/node/variables/scenedesignunitvalues.md +18 -0
  292. package/assets/docs/guide/api/node/variables/scenefontsizeunitvalues.md +18 -0
  293. package/assets/docs/guide/api/node/variables/scenelayoutvalues.md +18 -0
  294. package/assets/docs/guide/api/node/variables/scenemodevalues.md +18 -0
  295. package/assets/docs/guide/api/node/variables/shape_types.md +21 -0
  296. package/assets/docs/guide/api/node/variables/shapevectorpathfillrulevalues.md +18 -0
  297. package/assets/docs/guide/api/node/variables/strokecapvalues.md +18 -0
  298. package/assets/docs/guide/api/node/variables/strokecornergeometryvalues.md +18 -0
  299. package/assets/docs/guide/api/node/variables/strokedashendcapvalues.md +18 -0
  300. package/assets/docs/guide/api/node/variables/strokedashstartcapvalues.md +18 -0
  301. package/assets/docs/guide/api/node/variables/strokeendcapvalues.md +18 -0
  302. package/assets/docs/guide/api/node/variables/strokepositionvalues.md +18 -0
  303. package/assets/docs/guide/api/node/variables/strokestartcapvalues.md +18 -0
  304. package/assets/docs/guide/api/node/variables/strokestylevalues.md +18 -0
  305. package/assets/docs/guide/api/node/variables/textanimationwritingstylevalues.md +18 -0
  306. package/assets/docs/guide/api/node/variables/texthorizontalalignmentvalues.md +18 -0
  307. package/assets/docs/guide/api/node/variables/textverticalalignmentvalues.md +18 -0
  308. package/assets/docs/guide/api/node/variables/timelinetrackvisibilityvalues.md +18 -0
  309. package/assets/docs/guide/api/node/variables/touchpinchactionvalues.md +18 -0
  310. package/assets/docs/guide/api/node/variables/touchrotateactionvalues.md +18 -0
  311. package/assets/docs/guide/api/node/variables/verticalcontentfillalignmentvalues.md +18 -0
  312. package/assets/docs/guide/api/node/variables/widthmodevalues.md +18 -0
  313. package/assets/docs/guide/api/types.md +5 -9
  314. package/assets/docs/guide/api-reference/overview.md +7 -7
  315. package/assets/docs/guide/automation/auto-resize.md +263 -300
  316. package/assets/docs/guide/automation/data-merge.md +246 -275
  317. package/assets/docs/guide/automation/design-generation.md +102 -31
  318. package/assets/docs/guide/automation/multi-image-generation.md +758 -0
  319. package/assets/docs/guide/automation/overview.md +21 -4
  320. package/assets/docs/guide/automation.md +10 -5
  321. package/assets/docs/guide/capabilities.md +6 -4
  322. package/assets/docs/guide/colors/adjust.md +247 -249
  323. package/assets/docs/guide/colors/apply.md +127 -138
  324. package/assets/docs/guide/colors/basics.md +126 -150
  325. package/assets/docs/guide/colors/conversion.md +171 -177
  326. package/assets/docs/guide/colors/create-color-palette.md +244 -245
  327. package/assets/docs/guide/colors/extract-colors.md +144 -0
  328. package/assets/docs/guide/colors/for-print/cmyk.md +292 -352
  329. package/assets/docs/guide/colors/for-print/spot.md +521 -578
  330. package/assets/docs/guide/colors/for-print.md +9 -4
  331. package/assets/docs/guide/colors/for-screen/p3.md +12 -10
  332. package/assets/docs/guide/colors/for-screen/srgb.md +107 -133
  333. package/assets/docs/guide/colors/for-screen.md +9 -4
  334. package/assets/docs/guide/colors/overview.md +6 -4
  335. package/assets/docs/guide/colors/replace.md +381 -419
  336. package/assets/docs/guide/colors.md +9 -4
  337. package/assets/docs/guide/compatibility.md +7 -5
  338. package/assets/docs/guide/concepts/architecture.md +17 -15
  339. package/assets/docs/guide/concepts/assets.md +152 -140
  340. package/assets/docs/guide/concepts/blocks.md +227 -323
  341. package/assets/docs/guide/concepts/buffers.md +147 -276
  342. package/assets/docs/guide/concepts/design-units.md +95 -145
  343. package/assets/docs/guide/concepts/editing-workflow.md +69 -183
  344. package/assets/docs/guide/concepts/events.md +80 -122
  345. package/assets/docs/guide/concepts/headless-mode.md +237 -0
  346. package/assets/docs/guide/concepts/pages.md +137 -127
  347. package/assets/docs/guide/concepts/resources.md +156 -217
  348. package/assets/docs/guide/concepts/scenes.md +191 -210
  349. package/assets/docs/guide/concepts/templating.md +118 -74
  350. package/assets/docs/guide/concepts/terminology.md +49 -47
  351. package/assets/docs/guide/concepts/undo-and-history.md +229 -303
  352. package/assets/docs/guide/concepts.md +9 -7
  353. package/assets/docs/guide/configuration.md +252 -380
  354. package/assets/docs/guide/conversion/overview.md +33 -4
  355. package/assets/docs/guide/conversion/to-base64.md +127 -167
  356. package/assets/docs/guide/conversion/to-pdf.md +24 -474
  357. package/assets/docs/guide/conversion/to-png.md +168 -211
  358. package/assets/docs/guide/conversion.md +9 -4
  359. package/assets/docs/guide/create-audio/audio/add-music.md +301 -327
  360. package/assets/docs/guide/create-audio/audio/add-sound-effects.md +475 -359
  361. package/assets/docs/guide/create-audio/audio/loop.md +232 -272
  362. package/assets/docs/guide/create-composition/add-background.md +237 -239
  363. package/assets/docs/guide/create-composition/blend-modes.md +118 -209
  364. package/assets/docs/guide/create-composition/collage.md +538 -320
  365. package/assets/docs/guide/create-composition/group-and-ungroup.md +216 -261
  366. package/assets/docs/guide/create-composition/layer-management.md +219 -257
  367. package/assets/docs/guide/create-composition/layout.md +513 -315
  368. package/assets/docs/guide/create-composition/lock-design.md +90 -109
  369. package/assets/docs/guide/create-composition/multi-page.md +133 -113
  370. package/assets/docs/guide/create-composition/overview.md +16 -4
  371. package/assets/docs/guide/create-composition/programmatic.md +288 -344
  372. package/assets/docs/guide/create-composition.md +10 -5
  373. package/assets/docs/guide/create-templates/add-dynamic-content/placeholders.md +443 -569
  374. package/assets/docs/guide/create-templates/add-dynamic-content/set-editing-constraints.md +567 -470
  375. package/assets/docs/guide/create-templates/add-dynamic-content/text-variables.md +179 -516
  376. package/assets/docs/guide/create-templates/add-dynamic-content.md +226 -224
  377. package/assets/docs/guide/create-templates/add-to-template-library.md +183 -193
  378. package/assets/docs/guide/create-templates/edit-or-remove.md +297 -303
  379. package/assets/docs/guide/create-templates/from-scratch.md +207 -268
  380. package/assets/docs/guide/create-templates/import/from-scene-file.md +158 -236
  381. package/assets/docs/guide/create-templates/import.md +145 -161
  382. package/assets/docs/guide/create-templates/lock.md +42 -295
  383. package/assets/docs/guide/create-templates/overview.md +33 -4
  384. package/assets/docs/guide/create-templates.md +9 -5
  385. package/assets/docs/guide/create-video/audio/adjust-speed.md +157 -207
  386. package/assets/docs/guide/create-video/audio/adjust-volume.md +116 -227
  387. package/assets/docs/guide/create-video/control.md +352 -193
  388. package/assets/docs/guide/create-video/limitations.md +175 -280
  389. package/assets/docs/guide/create-video.md +11 -10
  390. package/assets/docs/guide/edit-image/add-watermark.md +283 -330
  391. package/assets/docs/guide/edit-image/overview.md +29 -4
  392. package/assets/docs/guide/edit-image/remove-bg.md +283 -337
  393. package/assets/docs/guide/edit-image/replace-colors.md +424 -502
  394. package/assets/docs/guide/edit-image/transform/crop.md +463 -402
  395. package/assets/docs/guide/edit-image/transform/flip.md +353 -0
  396. package/assets/docs/guide/edit-image/transform/move.md +143 -100
  397. package/assets/docs/guide/edit-image/transform/resize.md +118 -88
  398. package/assets/docs/guide/edit-image/transform/rotate.md +132 -165
  399. package/assets/docs/guide/edit-image/transform/scale.md +230 -228
  400. package/assets/docs/guide/edit-image/transform.md +10 -5
  401. package/assets/docs/guide/edit-image.md +11 -7
  402. package/assets/docs/guide/edit-video/add-captions.md +344 -421
  403. package/assets/docs/guide/edit-video/add-watermark.md +312 -258
  404. package/assets/docs/guide/edit-video/join-and-arrange.md +237 -371
  405. package/assets/docs/guide/edit-video/redaction.md +419 -385
  406. package/assets/docs/guide/edit-video/split.md +243 -493
  407. package/assets/docs/guide/edit-video/transform/crop.md +21 -352
  408. package/assets/docs/guide/edit-video/transform/flip.md +102 -76
  409. package/assets/docs/guide/edit-video/transform/move.md +258 -310
  410. package/assets/docs/guide/edit-video/transform/resize.md +264 -428
  411. package/assets/docs/guide/edit-video/transform/rotate.md +265 -228
  412. package/assets/docs/guide/edit-video/transform/scale.md +320 -417
  413. package/assets/docs/guide/edit-video/transform.md +10 -6
  414. package/assets/docs/guide/edit-video/trim.md +448 -494
  415. package/assets/docs/guide/engine-interface.md +51 -62
  416. package/assets/docs/guide/export-save-publish/create-thumbnail.md +148 -184
  417. package/assets/docs/guide/export-save-publish/export/compress.md +161 -559
  418. package/assets/docs/guide/export-save-publish/export/overview.md +224 -373
  419. package/assets/docs/guide/export-save-publish/export/partial-export.md +386 -577
  420. package/assets/docs/guide/export-save-publish/export/size-limits.md +215 -310
  421. package/assets/docs/guide/export-save-publish/export/to-jpeg.md +132 -213
  422. package/assets/docs/guide/export-save-publish/export/to-pdf.md +139 -267
  423. package/assets/docs/guide/export-save-publish/export/to-png.md +121 -165
  424. package/assets/docs/guide/export-save-publish/export/to-raw-data.md +187 -234
  425. package/assets/docs/guide/export-save-publish/export/to-webp.md +160 -190
  426. package/assets/docs/guide/export-save-publish/export/with-color-mask.md +359 -203
  427. package/assets/docs/guide/export-save-publish/export.md +14 -11
  428. package/assets/docs/guide/export-save-publish/for-printing.md +141 -237
  429. package/assets/docs/guide/export-save-publish/for-social-media.md +124 -261
  430. package/assets/docs/guide/export-save-publish/pre-export-validation.md +436 -522
  431. package/assets/docs/guide/export-save-publish/save.md +167 -226
  432. package/assets/docs/guide/export-save-publish/store-custom-metadata.md +97 -162
  433. package/assets/docs/guide/file-format-support.md +9 -9
  434. package/assets/docs/guide/fills/color.md +370 -347
  435. package/assets/docs/guide/fills/image.md +167 -196
  436. package/assets/docs/guide/fills/overview.md +6 -4
  437. package/assets/docs/guide/fills/video.md +286 -438
  438. package/assets/docs/guide/fills.md +12 -8
  439. package/assets/docs/guide/filters-and-effects/apply.md +598 -664
  440. package/assets/docs/guide/filters-and-effects/blur.md +261 -159
  441. package/assets/docs/guide/filters-and-effects/chroma-key-green-screen.md +194 -293
  442. package/assets/docs/guide/filters-and-effects/create-custom-filters.md +548 -466
  443. package/assets/docs/guide/filters-and-effects/create-custom-lut-filter.md +176 -244
  444. package/assets/docs/guide/filters-and-effects/distortion.md +317 -384
  445. package/assets/docs/guide/filters-and-effects/duotone.md +221 -217
  446. package/assets/docs/guide/filters-and-effects/gradients.md +670 -813
  447. package/assets/docs/guide/filters-and-effects/overview.md +7 -7
  448. package/assets/docs/guide/filters-and-effects/support.md +97 -132
  449. package/assets/docs/guide/filters-and-effects.md +11 -6
  450. package/assets/docs/guide/get-started/agent-skills.md +20 -18
  451. package/assets/docs/guide/get-started/build-with-ai.md +7 -4
  452. package/assets/docs/guide/get-started/bun.md +219 -0
  453. package/assets/docs/guide/get-started/deno.md +161 -0
  454. package/assets/docs/guide/get-started/mcp-server.md +6 -4
  455. package/assets/docs/guide/get-started/overview.md +11 -6
  456. package/assets/docs/guide/get-started/vanilla-aws-lambda.md +506 -0
  457. package/assets/docs/guide/get-started/vanilla-clone-github-project.md +124 -0
  458. package/assets/docs/guide/get-started/vanilla.md +235 -0
  459. package/assets/docs/guide/guides/export-save-publish/export/audio.md +80 -66
  460. package/assets/docs/guide/guides.md +10 -9
  461. package/assets/docs/guide/import-media/asset-panel/refresh-assets.md +259 -288
  462. package/assets/docs/guide/import-media/concepts.md +20 -38
  463. package/assets/docs/guide/import-media/content-json-schema.md +145 -125
  464. package/assets/docs/guide/import-media/default-assets.md +113 -161
  465. package/assets/docs/guide/import-media/edit-or-remove-assets.md +391 -395
  466. package/assets/docs/guide/import-media/file-format-support.md +78 -61
  467. package/assets/docs/guide/import-media/from-remote-source/asset-versioning.md +273 -244
  468. package/assets/docs/guide/import-media/from-remote-source/remote-asset.md +152 -222
  469. package/assets/docs/guide/import-media/from-remote-source.md +9 -11
  470. package/assets/docs/guide/import-media/overview.md +5 -5
  471. package/assets/docs/guide/import-media/retrieve-mimetype.md +216 -108
  472. package/assets/docs/guide/import-media/size-limits.md +6 -4
  473. package/assets/docs/guide/import-media/source-sets.md +190 -251
  474. package/assets/docs/guide/import-media.md +10 -8
  475. package/assets/docs/guide/insert-media/audio.md +202 -195
  476. package/assets/docs/guide/insert-media/images.md +190 -188
  477. package/assets/docs/guide/insert-media/position-and-align.md +284 -551
  478. package/assets/docs/guide/insert-media/shapes-or-stickers.md +402 -418
  479. package/assets/docs/guide/insert-media/videos.md +236 -203
  480. package/assets/docs/guide/insert-media.md +10 -5
  481. package/assets/docs/guide/key-capabilities.md +36 -4
  482. package/assets/docs/guide/key-concepts.md +6 -4
  483. package/assets/docs/guide/licensing.md +6 -4
  484. package/assets/docs/guide/llms-txt.md +11 -7
  485. package/assets/docs/guide/open-the-editor/blank-canvas.md +102 -63
  486. package/assets/docs/guide/open-the-editor/from-image.md +157 -127
  487. package/assets/docs/guide/open-the-editor/from-template.md +131 -92
  488. package/assets/docs/guide/open-the-editor/from-video.md +204 -212
  489. package/assets/docs/guide/open-the-editor/import-design/from-archive.md +310 -360
  490. package/assets/docs/guide/open-the-editor/import-design/from-indesign.md +716 -513
  491. package/assets/docs/guide/open-the-editor/import-design/from-photoshop.md +667 -695
  492. package/assets/docs/guide/open-the-editor/import-design.md +228 -266
  493. package/assets/docs/guide/open-the-editor/load-scene.md +72 -68
  494. package/assets/docs/guide/open-the-editor/overview.md +6 -4
  495. package/assets/docs/guide/open-the-editor/uri-resolver.md +160 -251
  496. package/assets/docs/guide/open-the-editor.md +11 -9
  497. package/assets/docs/guide/outlines/overview.md +12 -4
  498. package/assets/docs/guide/outlines/shadows-and-glows.md +105 -410
  499. package/assets/docs/guide/outlines/strokes.md +218 -166
  500. package/assets/docs/guide/outlines.md +9 -4
  501. package/assets/docs/guide/overview.md +14 -6
  502. package/assets/docs/guide/performance.md +220 -113
  503. package/assets/docs/guide/plugins/print-ready-pdf.md +273 -368
  504. package/assets/docs/guide/plugins.md +10 -16
  505. package/assets/docs/guide/rules/asset-handling.md +7 -18
  506. package/assets/docs/guide/rules/common-pitfalls.md +25 -42
  507. package/assets/docs/guide/rules/content-fill-mode.md +4 -4
  508. package/assets/docs/guide/rules/enforce-brand-guidelines.md +398 -567
  509. package/assets/docs/guide/rules/lock-content.md +188 -231
  510. package/assets/docs/guide/rules/moderate-content.md +580 -571
  511. package/assets/docs/guide/rules/overview.md +345 -380
  512. package/assets/docs/guide/rules/silent-init-errors.md +4 -1
  513. package/assets/docs/guide/rules/verify-properties-before-use.md +2 -11
  514. package/assets/docs/guide/rules.md +10 -5
  515. package/assets/docs/guide/security.md +7 -5
  516. package/assets/docs/guide/serve-assets.md +57 -284
  517. package/assets/docs/guide/settings.md +96 -74
  518. package/assets/docs/guide/shapes.md +10 -5
  519. package/assets/docs/guide/stickers-and-shapes/combine.md +397 -583
  520. package/assets/docs/guide/stickers-and-shapes/create-cutout.md +181 -268
  521. package/assets/docs/guide/stickers-and-shapes/create-edit/create-shapes.md +418 -431
  522. package/assets/docs/guide/stickers-and-shapes/create-edit/create-stickers.md +147 -226
  523. package/assets/docs/guide/stickers-and-shapes/create-edit/edit-shapes.md +138 -123
  524. package/assets/docs/guide/stickers-and-shapes/insert-qr-code.md +151 -149
  525. package/assets/docs/guide/stickers.md +9 -4
  526. package/assets/docs/guide/text/add.md +470 -482
  527. package/assets/docs/guide/text/adjust-spacing.md +179 -214
  528. package/assets/docs/guide/text/auto-size.md +210 -271
  529. package/assets/docs/guide/text/edit.md +294 -309
  530. package/assets/docs/guide/text/effects.md +154 -190
  531. package/assets/docs/guide/text/emojis.md +199 -232
  532. package/assets/docs/guide/text/language-support.md +369 -382
  533. package/assets/docs/guide/text/overview.md +41 -4
  534. package/assets/docs/guide/text/styling.md +239 -273
  535. package/assets/docs/guide/text/text-designs.md +405 -544
  536. package/assets/docs/guide/text.md +10 -9
  537. package/assets/docs/guide/to-v1-19.md +12 -10
  538. package/assets/docs/guide/upgrade.md +8 -9
  539. package/assets/docs/guide/use-templates/apply-template.md +174 -163
  540. package/assets/docs/guide/use-templates/generate.md +171 -152
  541. package/assets/docs/guide/use-templates/overview.md +32 -4
  542. package/assets/docs/guide/use-templates/programmatic.md +266 -301
  543. package/assets/docs/guide/use-templates/replace-content.md +181 -171
  544. package/assets/docs/guide/what-is-cesdk.md +71 -282
  545. package/assets/docs/handbook/SKILL.md +24 -0
  546. package/dist/assets/inline.generated.d.ts.map +1 -1
  547. package/dist/assets/inline.generated.js +544 -406
  548. package/dist/assets/inline.generated.js.map +1 -1
  549. package/dist/assets/load-browser.d.ts +1 -1
  550. package/dist/assets/load-browser.js +1 -1
  551. package/dist/assets/load-browser.js.map +1 -1
  552. package/dist/assets/load-node.d.ts +1 -1
  553. package/dist/assets/load-node.js +1 -1
  554. package/dist/assets/load-node.js.map +1 -1
  555. package/dist/cli/http.d.ts.map +1 -1
  556. package/dist/cli/http.js +16 -30
  557. package/dist/cli/http.js.map +1 -1
  558. package/dist/cli/redirect-console.d.ts +1 -1
  559. package/dist/cli/redirect-console.d.ts.map +1 -1
  560. package/dist/cli/redirect-console.js +12 -3
  561. package/dist/cli/redirect-console.js.map +1 -1
  562. package/dist/cli/resolve-license.d.ts.map +1 -1
  563. package/dist/cli/resolve-license.js +8 -6
  564. package/dist/cli/resolve-license.js.map +1 -1
  565. package/dist/cli/stdio.d.ts +9 -0
  566. package/dist/cli/stdio.d.ts.map +1 -1
  567. package/dist/cli/stdio.js +136 -24
  568. package/dist/cli/stdio.js.map +1 -1
  569. package/dist/cli.js +10 -1
  570. package/dist/cli.js.map +1 -1
  571. package/dist/config.d.ts +22 -4
  572. package/dist/config.d.ts.map +1 -1
  573. package/dist/config.js +32 -2
  574. package/dist/config.js.map +1 -1
  575. package/dist/diagnostics/bundle.d.ts +10 -0
  576. package/dist/diagnostics/bundle.d.ts.map +1 -0
  577. package/dist/diagnostics/bundle.js +148 -0
  578. package/dist/diagnostics/bundle.js.map +1 -0
  579. package/dist/diagnostics/compose.d.ts +3 -0
  580. package/dist/diagnostics/compose.d.ts.map +1 -0
  581. package/dist/diagnostics/compose.js +15 -0
  582. package/dist/diagnostics/compose.js.map +1 -0
  583. package/dist/diagnostics/events.d.ts +40 -0
  584. package/dist/diagnostics/events.d.ts.map +1 -0
  585. package/dist/diagnostics/events.js +3 -0
  586. package/dist/diagnostics/events.js.map +1 -0
  587. package/dist/diagnostics/file-sink.d.ts +38 -0
  588. package/dist/diagnostics/file-sink.d.ts.map +1 -0
  589. package/dist/diagnostics/file-sink.js +157 -0
  590. package/dist/diagnostics/file-sink.js.map +1 -0
  591. package/dist/diagnostics/redact.d.ts +7 -0
  592. package/dist/diagnostics/redact.d.ts.map +1 -0
  593. package/dist/diagnostics/redact.js +43 -0
  594. package/dist/diagnostics/redact.js.map +1 -0
  595. package/dist/diagnostics/tool-call-adapter.d.ts +4 -0
  596. package/dist/diagnostics/tool-call-adapter.d.ts.map +1 -0
  597. package/dist/diagnostics/tool-call-adapter.js +21 -0
  598. package/dist/diagnostics/tool-call-adapter.js.map +1 -0
  599. package/dist/engine/cesdk-adapter.d.ts +10 -2
  600. package/dist/engine/cesdk-adapter.d.ts.map +1 -1
  601. package/dist/engine/cesdk-adapter.js +17 -3
  602. package/dist/engine/cesdk-adapter.js.map +1 -1
  603. package/dist/engine/engine-capacity.d.ts +16 -0
  604. package/dist/engine/engine-capacity.d.ts.map +1 -0
  605. package/dist/engine/engine-capacity.js +48 -0
  606. package/dist/engine/engine-capacity.js.map +1 -0
  607. package/dist/engine/engine-slots.d.ts +48 -0
  608. package/dist/engine/engine-slots.d.ts.map +1 -0
  609. package/dist/engine/engine-slots.js +182 -0
  610. package/dist/engine/engine-slots.js.map +1 -0
  611. package/dist/engine/index.d.ts +1 -0
  612. package/dist/engine/index.d.ts.map +1 -1
  613. package/dist/engine/index.js +4 -0
  614. package/dist/engine/index.js.map +1 -1
  615. package/dist/engine/scene-resource-schemes.d.ts +2 -0
  616. package/dist/engine/scene-resource-schemes.d.ts.map +1 -0
  617. package/dist/engine/scene-resource-schemes.js +20 -0
  618. package/dist/engine/scene-resource-schemes.js.map +1 -0
  619. package/dist/http/server.d.ts +0 -6
  620. package/dist/http/server.d.ts.map +1 -1
  621. package/dist/http/server.js +1 -2
  622. package/dist/http/server.js.map +1 -1
  623. package/dist/server.d.ts +0 -4
  624. package/dist/server.d.ts.map +1 -1
  625. package/dist/server.js +4 -60
  626. package/dist/server.js.map +1 -1
  627. package/dist/tools/asset-generate.d.ts.map +1 -1
  628. package/dist/tools/asset-generate.js +1 -8
  629. package/dist/tools/asset-generate.js.map +1 -1
  630. package/dist/tools/edit.d.ts +3 -0
  631. package/dist/tools/edit.d.ts.map +1 -1
  632. package/dist/tools/edit.js +145 -96
  633. package/dist/tools/edit.js.map +1 -1
  634. package/dist/tools/engine.d.ts +13 -0
  635. package/dist/tools/engine.d.ts.map +1 -1
  636. package/dist/tools/engine.js +28 -0
  637. package/dist/tools/engine.js.map +1 -1
  638. package/dist/tools/export.d.ts +3 -0
  639. package/dist/tools/export.d.ts.map +1 -1
  640. package/dist/tools/export.js +146 -108
  641. package/dist/tools/export.js.map +1 -1
  642. package/dist/tools/import.d.ts +12 -0
  643. package/dist/tools/import.d.ts.map +1 -0
  644. package/dist/tools/import.js +144 -0
  645. package/dist/tools/import.js.map +1 -0
  646. package/dist/tools/index.d.ts +3 -0
  647. package/dist/tools/index.d.ts.map +1 -1
  648. package/dist/tools/index.js +44 -4
  649. package/dist/tools/index.js.map +1 -1
  650. package/dist/tools/load.d.ts +26 -0
  651. package/dist/tools/load.d.ts.map +1 -0
  652. package/dist/tools/load.js +400 -0
  653. package/dist/tools/load.js.map +1 -0
  654. package/dist/tools/preview.d.ts +3 -0
  655. package/dist/tools/preview.d.ts.map +1 -1
  656. package/dist/tools/preview.js +79 -44
  657. package/dist/tools/preview.js.map +1 -1
  658. package/dist/tools/result.d.ts +1 -1
  659. package/dist/tools/result.js +2 -2
  660. package/dist/tools/result.js.map +1 -1
  661. package/dist/tools/spans.d.ts +45 -0
  662. package/dist/tools/spans.d.ts.map +1 -0
  663. package/dist/tools/spans.js +77 -0
  664. package/dist/tools/spans.js.map +1 -0
  665. package/dist/tools/telemetry-wrapper.d.ts +4 -0
  666. package/dist/tools/telemetry-wrapper.d.ts.map +1 -0
  667. package/dist/tools/telemetry-wrapper.js +43 -0
  668. package/dist/tools/telemetry-wrapper.js.map +1 -0
  669. package/dist/viewer/cesdk-cdn.d.ts +16 -0
  670. package/dist/viewer/cesdk-cdn.d.ts.map +1 -0
  671. package/dist/viewer/cesdk-cdn.js +30 -0
  672. package/dist/viewer/cesdk-cdn.js.map +1 -0
  673. package/dist/viewer/router.d.ts +6 -0
  674. package/dist/viewer/router.d.ts.map +1 -1
  675. package/dist/viewer/router.js +4 -1
  676. package/dist/viewer/router.js.map +1 -1
  677. package/dist/viewer/spa-assets.generated.d.ts.map +1 -1
  678. package/dist/viewer/spa-assets.generated.js +2 -3
  679. package/dist/viewer/spa-assets.generated.js.map +1 -1
  680. package/dist/workspace/content-hash.d.ts +2 -0
  681. package/dist/workspace/content-hash.d.ts.map +1 -0
  682. package/dist/workspace/content-hash.js +15 -0
  683. package/dist/workspace/content-hash.js.map +1 -0
  684. package/package.json +19 -10
  685. package/assets/docs/guide/actions.md +0 -1038
  686. package/assets/docs/guide/animation/overview.md +0 -22
  687. package/assets/docs/guide/automation/batch-processing.md +0 -474
  688. package/assets/docs/guide/browser-support.md +0 -38
  689. package/assets/docs/guide/concepts/edit-modes.md +0 -431
  690. package/assets/docs/guide/concepts/headless-mode/browser.md +0 -291
  691. package/assets/docs/guide/create-audio/audio.md +0 -336
  692. package/assets/docs/guide/create-video/overview.md +0 -224
  693. package/assets/docs/guide/create-video/timeline-editor.md +0 -622
  694. package/assets/docs/guide/create-video/update-caption-presets.md +0 -676
  695. package/assets/docs/guide/edit-image/vectorize.md +0 -204
  696. package/assets/docs/guide/export-save-publish/export/to-html5.md +0 -474
  697. package/assets/docs/guide/export-save-publish/export/to-mp4.md +0 -364
  698. package/assets/docs/guide/get-started/vanilla-js/quickstart.md +0 -175
  699. package/assets/docs/guide/grid-and-rulers.md +0 -222
  700. package/assets/docs/guide/guides/text/rendering-internals.md +0 -796
  701. package/assets/docs/guide/import-media/asset-library.md +0 -23
  702. package/assets/docs/guide/import-media/asset-panel/basics.md +0 -324
  703. package/assets/docs/guide/import-media/asset-panel/customize.md +0 -478
  704. package/assets/docs/guide/import-media/asset-panel/thumbnails.md +0 -633
  705. package/assets/docs/guide/import-media/capture-from-camera/record-video.md +0 -137
  706. package/assets/docs/guide/import-media/capture-from-camera.md +0 -20
  707. package/assets/docs/guide/import-media/from-local-source/user-upload.md +0 -438
  708. package/assets/docs/guide/import-media/from-local-source.md +0 -20
  709. package/assets/docs/guide/import-media/from-remote-source/getty-images.md +0 -627
  710. package/assets/docs/guide/import-media/from-remote-source/imgly-premium-assets.md +0 -625
  711. package/assets/docs/guide/import-media/from-remote-source/pexels.md +0 -692
  712. package/assets/docs/guide/import-media/from-remote-source/soundstripe.md +0 -497
  713. package/assets/docs/guide/import-media/from-remote-source/third-party.md +0 -51
  714. package/assets/docs/guide/import-media/from-remote-source/unsplash.md +0 -914
  715. package/assets/docs/guide/import-media/from-remote-source/your-server.md +0 -764
  716. package/assets/docs/guide/open-the-editor/from-htmlcanvas.md +0 -228
  717. package/assets/docs/guide/open-the-editor/set-zoom-level.md +0 -303
  718. package/assets/docs/guide/plugins/asset-sources.md +0 -553
  719. package/assets/docs/guide/starterkits/3d-mockup-editor.md +0 -748
  720. package/assets/docs/guide/starterkits/advanced-editor.md +0 -698
  721. package/assets/docs/guide/starterkits/advanced-video-editor.md +0 -696
  722. package/assets/docs/guide/starterkits/ai-editor.md +0 -749
  723. package/assets/docs/guide/starterkits/airtable-image-editor.md +0 -672
  724. package/assets/docs/guide/starterkits/apparel-ui.md +0 -188
  725. package/assets/docs/guide/starterkits/assets.md +0 -27
  726. package/assets/docs/guide/starterkits/auto-resize.md +0 -586
  727. package/assets/docs/guide/starterkits/automated-video-generation.md +0 -692
  728. package/assets/docs/guide/starterkits/background-removal-editor.md +0 -480
  729. package/assets/docs/guide/starterkits/content-moderation.md +0 -863
  730. package/assets/docs/guide/starterkits/creative-automation.md +0 -28
  731. package/assets/docs/guide/starterkits/custom-built-uis.md +0 -26
  732. package/assets/docs/guide/starterkits/customization.md +0 -29
  733. package/assets/docs/guide/starterkits/cutout-lines-editor.md +0 -470
  734. package/assets/docs/guide/starterkits/data-merge.md +0 -850
  735. package/assets/docs/guide/starterkits/design-editor.md +0 -698
  736. package/assets/docs/guide/starterkits/design-generation.md +0 -719
  737. package/assets/docs/guide/starterkits/design-validation.md +0 -808
  738. package/assets/docs/guide/starterkits/editor-ui-configurations.md +0 -14
  739. package/assets/docs/guide/starterkits/export-options.md +0 -724
  740. package/assets/docs/guide/starterkits/export-using-renderer.md +0 -708
  741. package/assets/docs/guide/starterkits/extensibility.md +0 -28
  742. package/assets/docs/guide/starterkits/force-crop-editor.md +0 -675
  743. package/assets/docs/guide/starterkits/form-based-template-adoption.md +0 -522
  744. package/assets/docs/guide/starterkits/getty-images-editor.md +0 -700
  745. package/assets/docs/guide/starterkits/html5-ads-exporter.md +0 -719
  746. package/assets/docs/guide/starterkits/indesign-template-import.md +0 -580
  747. package/assets/docs/guide/starterkits/layouts-editor.md +0 -724
  748. package/assets/docs/guide/starterkits/mobile-ui.md +0 -185
  749. package/assets/docs/guide/starterkits/mockup-editor.md +0 -745
  750. package/assets/docs/guide/starterkits/multi-image-generation.md +0 -542
  751. package/assets/docs/guide/starterkits/page-sizes-editor.md +0 -657
  752. package/assets/docs/guide/starterkits/pexels-image-editor.md +0 -665
  753. package/assets/docs/guide/starterkits/photo-editor.md +0 -755
  754. package/assets/docs/guide/starterkits/photo-ui.md +0 -186
  755. package/assets/docs/guide/starterkits/photobook-ui.md +0 -188
  756. package/assets/docs/guide/starterkits/placeholders.md +0 -678
  757. package/assets/docs/guide/starterkits/player.md +0 -405
  758. package/assets/docs/guide/starterkits/plugins.md +0 -25
  759. package/assets/docs/guide/starterkits/postcard-editor.md +0 -202
  760. package/assets/docs/guide/starterkits/pptx-template-import.md +0 -581
  761. package/assets/docs/guide/starterkits/print-ready-pdf-editor.md +0 -746
  762. package/assets/docs/guide/starterkits/product-editor.md +0 -773
  763. package/assets/docs/guide/starterkits/psd-template-import.md +0 -580
  764. package/assets/docs/guide/starterkits/qr-code-editor.md +0 -470
  765. package/assets/docs/guide/starterkits/single-page-editor.md +0 -661
  766. package/assets/docs/guide/starterkits/start-with-image.md +0 -684
  767. package/assets/docs/guide/starterkits/start-with-video.md +0 -651
  768. package/assets/docs/guide/starterkits/t-shirt-designer.md +0 -742
  769. package/assets/docs/guide/starterkits/templating.md +0 -23
  770. package/assets/docs/guide/starterkits/theming.md +0 -662
  771. package/assets/docs/guide/starterkits/translation-internationalization.md +0 -662
  772. package/assets/docs/guide/starterkits/unsplash-editor.md +0 -839
  773. package/assets/docs/guide/starterkits/vectorizer-editor.md +0 -466
  774. package/assets/docs/guide/starterkits/version-history.md +0 -745
  775. package/assets/docs/guide/starterkits/video-animations.md +0 -853
  776. package/assets/docs/guide/starterkits/video-captions.md +0 -884
  777. package/assets/docs/guide/starterkits/video-editing.md +0 -25
  778. package/assets/docs/guide/starterkits/video-editor.md +0 -696
  779. package/assets/docs/guide/starterkits/video-export-options.md +0 -676
  780. package/assets/docs/guide/starterkits/viewer.md +0 -400
  781. package/assets/docs/guide/starterkits.md +0 -41
  782. package/assets/docs/guide/stickers-and-shapes/create-edit/vector-edit.md +0 -362
  783. package/assets/docs/guide/text/custom-fonts.md +0 -401
  784. package/assets/docs/guide/text/decorations.md +0 -330
  785. package/assets/docs/guide/text/enumerations.md +0 -258
  786. package/assets/docs/guide/to-v1-10.md +0 -131
  787. package/assets/docs/guide/to-v1-13.md +0 -165
  788. package/assets/docs/guide/to-v1-32.md +0 -110
  789. package/assets/docs/guide/to-v1-69.md +0 -468
  790. package/assets/docs/guide/to-v1-72.md +0 -193
  791. package/assets/docs/guide/use-templates/library.md +0 -450
  792. package/assets/docs/guide/user-interface/ai-integration/audio-generation.md +0 -428
  793. package/assets/docs/guide/user-interface/ai-integration/auto-captions.md +0 -337
  794. package/assets/docs/guide/user-interface/ai-integration/custom-provider.md +0 -853
  795. package/assets/docs/guide/user-interface/ai-integration/gateway-provider.md +0 -1045
  796. package/assets/docs/guide/user-interface/ai-integration/image-generation.md +0 -641
  797. package/assets/docs/guide/user-interface/ai-integration/integrate.md +0 -966
  798. package/assets/docs/guide/user-interface/ai-integration/proxy-server.md +0 -99
  799. package/assets/docs/guide/user-interface/ai-integration/text-generation.md +0 -498
  800. package/assets/docs/guide/user-interface/ai-integration/video-generation.md +0 -493
  801. package/assets/docs/guide/user-interface/ai-integration.md +0 -30
  802. package/assets/docs/guide/user-interface/appearance/change-ui-font.md +0 -316
  803. package/assets/docs/guide/user-interface/appearance/custom-labels.md +0 -509
  804. package/assets/docs/guide/user-interface/appearance/icons.md +0 -373
  805. package/assets/docs/guide/user-interface/appearance/theming.md +0 -665
  806. package/assets/docs/guide/user-interface/appearance.md +0 -23
  807. package/assets/docs/guide/user-interface/build-your-own-ui.md +0 -620
  808. package/assets/docs/guide/user-interface/customization/canvas-menu.md +0 -412
  809. package/assets/docs/guide/user-interface/customization/canvas.md +0 -281
  810. package/assets/docs/guide/user-interface/customization/color-palette.md +0 -413
  811. package/assets/docs/guide/user-interface/customization/crop-presets.md +0 -384
  812. package/assets/docs/guide/user-interface/customization/disable-or-enable.md +0 -676
  813. package/assets/docs/guide/user-interface/customization/dock.md +0 -399
  814. package/assets/docs/guide/user-interface/customization/force-crop.md +0 -289
  815. package/assets/docs/guide/user-interface/customization/inspector-bar.md +0 -371
  816. package/assets/docs/guide/user-interface/customization/navigation-bar.md +0 -516
  817. package/assets/docs/guide/user-interface/customization/page-format.md +0 -436
  818. package/assets/docs/guide/user-interface/customization/panel.md +0 -605
  819. package/assets/docs/guide/user-interface/customization/quick-start/add-action-buttons.md +0 -531
  820. package/assets/docs/guide/user-interface/customization/quick-start/add-dock-buttons.md +0 -358
  821. package/assets/docs/guide/user-interface/customization/quick-start/create-custom-components.md +0 -374
  822. package/assets/docs/guide/user-interface/customization/quick-start/reorder-components.md +0 -323
  823. package/assets/docs/guide/user-interface/customization/quick-start/show-hide-components.md +0 -294
  824. package/assets/docs/guide/user-interface/customization/quick-start.md +0 -12
  825. package/assets/docs/guide/user-interface/customization/reference/component-order-api.md +0 -519
  826. package/assets/docs/guide/user-interface/customization/reference/component-reference.md +0 -333
  827. package/assets/docs/guide/user-interface/customization/reference.md +0 -12
  828. package/assets/docs/guide/user-interface/customization.md +0 -39
  829. package/assets/docs/guide/user-interface/localization.md +0 -633
  830. package/assets/docs/guide/user-interface/overview.md +0 -167
  831. package/assets/docs/guide/user-interface/ui-extensions/add-custom-feature.md +0 -411
  832. package/assets/docs/guide/user-interface/ui-extensions/asset-library.md +0 -721
  833. package/assets/docs/guide/user-interface/ui-extensions/create-custom-panel.md +0 -331
  834. package/assets/docs/guide/user-interface/ui-extensions/customize-behaviour.md +0 -553
  835. package/assets/docs/guide/user-interface/ui-extensions/notifications-and-dialogs.md +0 -672
  836. package/assets/docs/guide/user-interface/ui-extensions/quick-actions.md +0 -415
  837. package/assets/docs/guide/user-interface/ui-extensions/register-new-component.md +0 -521
  838. package/assets/docs/guide/user-interface/ui-extensions.md +0 -26
  839. package/assets/docs/guide/user-interface.md +0 -25
  840. package/assets/prompts/evals-assetGenerate.md +0 -12
  841. package/assets/prompts/evals-brutalistCore.md +0 -34
  842. package/assets/prompts/evals-danskCatalogue.md +0 -31
  843. package/assets/prompts/evals-exportRoundTrip.md +0 -12
  844. package/assets/prompts/evals-inspectPriorCode.md +0 -16
  845. package/assets/prompts/evals-listProjectFiles.md +0 -6
  846. package/assets/prompts/evals-readAndExplainScript.md +0 -6
  847. package/assets/prompts/evals-resumeAcrossRestart.md +0 -15
  848. package/assets/prompts/evals-rewindRecovery.md +0 -10
  849. package/assets/prompts/evals-searchAcrossFiles.md +0 -6
  850. package/assets/prompts/evals-weddingCard.md +0 -20
  851. package/assets/prompts/explain.md +0 -6
  852. package/assets/prompts/review.md +0 -6
  853. package/dist/dashboard/router.d.ts +0 -3
  854. package/dist/dashboard/router.d.ts.map +0 -1
  855. package/dist/dashboard/router.js +0 -19
  856. package/dist/dashboard/router.js.map +0 -1
  857. package/dist/dashboard/spa-assets.generated.d.ts +0 -2
  858. package/dist/dashboard/spa-assets.generated.d.ts.map +0 -1
  859. package/dist/dashboard/spa-assets.generated.js +0 -220
  860. package/dist/dashboard/spa-assets.generated.js.map +0 -1
  861. package/dist/frontmatter.d.ts +0 -15
  862. package/dist/frontmatter.d.ts.map +0 -1
  863. package/dist/frontmatter.js +0 -46
  864. package/dist/frontmatter.js.map +0 -1
  865. package/dist/metrics/mount.d.ts +0 -11
  866. package/dist/metrics/mount.d.ts.map +0 -1
  867. package/dist/metrics/mount.js +0 -13
  868. package/dist/metrics/mount.js.map +0 -1
  869. package/dist/metrics/recorder.d.ts +0 -55
  870. package/dist/metrics/recorder.d.ts.map +0 -1
  871. package/dist/metrics/recorder.js +0 -97
  872. package/dist/metrics/recorder.js.map +0 -1
  873. package/dist/test/test/cli/dispatcher.test.d.ts +0 -2
  874. package/dist/test/test/cli/dispatcher.test.d.ts.map +0 -1
  875. package/dist/test/test/cli/dispatcher.test.js +0 -47
  876. package/dist/test/test/cli/dispatcher.test.js.map +0 -1
  877. package/dist/test/test/cli/redirect-console.test.d.ts +0 -2
  878. package/dist/test/test/cli/redirect-console.test.d.ts.map +0 -1
  879. package/dist/test/test/cli/redirect-console.test.js +0 -47
  880. package/dist/test/test/cli/redirect-console.test.js.map +0 -1
  881. package/dist/test/test/cli/resolve-license.test.d.ts +0 -2
  882. package/dist/test/test/cli/resolve-license.test.d.ts.map +0 -1
  883. package/dist/test/test/cli/resolve-license.test.js +0 -20
  884. package/dist/test/test/cli/resolve-license.test.js.map +0 -1
  885. package/dist/test/test/cli/stdio-license.test.d.ts +0 -2
  886. package/dist/test/test/cli/stdio-license.test.d.ts.map +0 -1
  887. package/dist/test/test/cli/stdio-license.test.js +0 -19
  888. package/dist/test/test/cli/stdio-license.test.js.map +0 -1
  889. package/dist/test/test/config.test.d.ts +0 -2
  890. package/dist/test/test/config.test.d.ts.map +0 -1
  891. package/dist/test/test/config.test.js +0 -91
  892. package/dist/test/test/config.test.js.map +0 -1
  893. package/dist/test/test/cross-ref.test.d.ts +0 -2
  894. package/dist/test/test/cross-ref.test.d.ts.map +0 -1
  895. package/dist/test/test/cross-ref.test.js +0 -39
  896. package/dist/test/test/cross-ref.test.js.map +0 -1
  897. package/dist/test/test/engine/asset-sources.test.d.ts +0 -2
  898. package/dist/test/test/engine/asset-sources.test.d.ts.map +0 -1
  899. package/dist/test/test/engine/asset-sources.test.js +0 -100
  900. package/dist/test/test/engine/asset-sources.test.js.map +0 -1
  901. package/dist/test/test/engine/mutex.test.d.ts +0 -2
  902. package/dist/test/test/engine/mutex.test.d.ts.map +0 -1
  903. package/dist/test/test/engine/mutex.test.js +0 -63
  904. package/dist/test/test/engine/mutex.test.js.map +0 -1
  905. package/dist/test/test/engine/session.test.d.ts +0 -2
  906. package/dist/test/test/engine/session.test.d.ts.map +0 -1
  907. package/dist/test/test/engine/session.test.js +0 -159
  908. package/dist/test/test/engine/session.test.js.map +0 -1
  909. package/dist/test/test/engine/unsplash-source.test.d.ts +0 -2
  910. package/dist/test/test/engine/unsplash-source.test.d.ts.map +0 -1
  911. package/dist/test/test/engine/unsplash-source.test.js +0 -129
  912. package/dist/test/test/engine/unsplash-source.test.js.map +0 -1
  913. package/dist/test/test/engine/uri-resolver.test.d.ts +0 -2
  914. package/dist/test/test/engine/uri-resolver.test.d.ts.map +0 -1
  915. package/dist/test/test/engine/uri-resolver.test.js +0 -38
  916. package/dist/test/test/engine/uri-resolver.test.js.map +0 -1
  917. package/dist/test/test/frontmatter.test.d.ts +0 -2
  918. package/dist/test/test/frontmatter.test.d.ts.map +0 -1
  919. package/dist/test/test/frontmatter.test.js +0 -55
  920. package/dist/test/test/frontmatter.test.js.map +0 -1
  921. package/dist/test/test/gateway/hosted-stub.test.d.ts +0 -2
  922. package/dist/test/test/gateway/hosted-stub.test.d.ts.map +0 -1
  923. package/dist/test/test/gateway/hosted-stub.test.js +0 -11
  924. package/dist/test/test/gateway/hosted-stub.test.js.map +0 -1
  925. package/dist/test/test/gateway/local.test.d.ts +0 -2
  926. package/dist/test/test/gateway/local.test.d.ts.map +0 -1
  927. package/dist/test/test/gateway/local.test.js +0 -29
  928. package/dist/test/test/gateway/local.test.js.map +0 -1
  929. package/dist/test/test/handbook-contract.test.d.ts +0 -2
  930. package/dist/test/test/handbook-contract.test.d.ts.map +0 -1
  931. package/dist/test/test/handbook-contract.test.js +0 -75
  932. package/dist/test/test/handbook-contract.test.js.map +0 -1
  933. package/dist/test/test/http/server.test.d.ts +0 -2
  934. package/dist/test/test/http/server.test.d.ts.map +0 -1
  935. package/dist/test/test/http/server.test.js +0 -374
  936. package/dist/test/test/http/server.test.js.map +0 -1
  937. package/dist/test/test/http/session-id-header.test.d.ts +0 -2
  938. package/dist/test/test/http/session-id-header.test.d.ts.map +0 -1
  939. package/dist/test/test/http/session-id-header.test.js +0 -76
  940. package/dist/test/test/http/session-id-header.test.js.map +0 -1
  941. package/dist/test/test/http/session-manager.test.d.ts +0 -2
  942. package/dist/test/test/http/session-manager.test.d.ts.map +0 -1
  943. package/dist/test/test/http/session-manager.test.js +0 -97
  944. package/dist/test/test/http/session-manager.test.js.map +0 -1
  945. package/dist/test/test/http/workspace-auth.test.d.ts +0 -2
  946. package/dist/test/test/http/workspace-auth.test.d.ts.map +0 -1
  947. package/dist/test/test/http/workspace-auth.test.js +0 -41
  948. package/dist/test/test/http/workspace-auth.test.js.map +0 -1
  949. package/dist/test/test/metrics/mount.test.d.ts +0 -2
  950. package/dist/test/test/metrics/mount.test.d.ts.map +0 -1
  951. package/dist/test/test/metrics/mount.test.js +0 -59
  952. package/dist/test/test/metrics/mount.test.js.map +0 -1
  953. package/dist/test/test/metrics/recorder.test.d.ts +0 -2
  954. package/dist/test/test/metrics/recorder.test.d.ts.map +0 -1
  955. package/dist/test/test/metrics/recorder.test.js +0 -118
  956. package/dist/test/test/metrics/recorder.test.js.map +0 -1
  957. package/dist/test/test/revisions/hash.test.d.ts +0 -2
  958. package/dist/test/test/revisions/hash.test.d.ts.map +0 -1
  959. package/dist/test/test/revisions/hash.test.js +0 -33
  960. package/dist/test/test/revisions/hash.test.js.map +0 -1
  961. package/dist/test/test/revisions/store.test.d.ts +0 -2
  962. package/dist/test/test/revisions/store.test.d.ts.map +0 -1
  963. package/dist/test/test/revisions/store.test.js +0 -315
  964. package/dist/test/test/revisions/store.test.js.map +0 -1
  965. package/dist/test/test/server.metrics.test.d.ts +0 -2
  966. package/dist/test/test/server.metrics.test.d.ts.map +0 -1
  967. package/dist/test/test/server.metrics.test.js +0 -87
  968. package/dist/test/test/server.metrics.test.js.map +0 -1
  969. package/dist/test/test/server.test.d.ts +0 -2
  970. package/dist/test/test/server.test.d.ts.map +0 -1
  971. package/dist/test/test/server.test.js +0 -186
  972. package/dist/test/test/server.test.js.map +0 -1
  973. package/dist/test/test/skill-tools.test.d.ts +0 -2
  974. package/dist/test/test/skill-tools.test.d.ts.map +0 -1
  975. package/dist/test/test/skill-tools.test.js +0 -84
  976. package/dist/test/test/skill-tools.test.js.map +0 -1
  977. package/dist/test/test/smoke.test.d.ts +0 -2
  978. package/dist/test/test/smoke.test.d.ts.map +0 -1
  979. package/dist/test/test/smoke.test.js +0 -8
  980. package/dist/test/test/smoke.test.js.map +0 -1
  981. package/dist/test/test/tools/asset-generate.test.d.ts +0 -2
  982. package/dist/test/test/tools/asset-generate.test.d.ts.map +0 -1
  983. package/dist/test/test/tools/asset-generate.test.js +0 -66
  984. package/dist/test/test/tools/asset-generate.test.js.map +0 -1
  985. package/dist/test/test/tools/asset-search.test.d.ts +0 -2
  986. package/dist/test/test/tools/asset-search.test.d.ts.map +0 -1
  987. package/dist/test/test/tools/asset-search.test.js +0 -121
  988. package/dist/test/test/tools/asset-search.test.js.map +0 -1
  989. package/dist/test/test/tools/edit.test.d.ts +0 -2
  990. package/dist/test/test/tools/edit.test.d.ts.map +0 -1
  991. package/dist/test/test/tools/edit.test.js +0 -267
  992. package/dist/test/test/tools/edit.test.js.map +0 -1
  993. package/dist/test/test/tools/export.test.d.ts +0 -2
  994. package/dist/test/test/tools/export.test.d.ts.map +0 -1
  995. package/dist/test/test/tools/export.test.js +0 -174
  996. package/dist/test/test/tools/export.test.js.map +0 -1
  997. package/dist/test/test/tools/history.test.d.ts +0 -2
  998. package/dist/test/test/tools/history.test.d.ts.map +0 -1
  999. package/dist/test/test/tools/history.test.js +0 -29
  1000. package/dist/test/test/tools/history.test.js.map +0 -1
  1001. package/dist/test/test/tools/index.test.d.ts +0 -2
  1002. package/dist/test/test/tools/index.test.d.ts.map +0 -1
  1003. package/dist/test/test/tools/index.test.js +0 -55
  1004. package/dist/test/test/tools/index.test.js.map +0 -1
  1005. package/dist/test/test/tools/inspect.test.d.ts +0 -2
  1006. package/dist/test/test/tools/inspect.test.d.ts.map +0 -1
  1007. package/dist/test/test/tools/inspect.test.js +0 -62
  1008. package/dist/test/test/tools/inspect.test.js.map +0 -1
  1009. package/dist/test/test/tools/list.test.d.ts +0 -2
  1010. package/dist/test/test/tools/list.test.d.ts.map +0 -1
  1011. package/dist/test/test/tools/list.test.js +0 -23
  1012. package/dist/test/test/tools/list.test.js.map +0 -1
  1013. package/dist/test/test/tools/metrics.test.d.ts +0 -2
  1014. package/dist/test/test/tools/metrics.test.d.ts.map +0 -1
  1015. package/dist/test/test/tools/metrics.test.js +0 -29
  1016. package/dist/test/test/tools/metrics.test.js.map +0 -1
  1017. package/dist/test/test/tools/open-editor.test.d.ts +0 -2
  1018. package/dist/test/test/tools/open-editor.test.d.ts.map +0 -1
  1019. package/dist/test/test/tools/open-editor.test.js +0 -53
  1020. package/dist/test/test/tools/open-editor.test.js.map +0 -1
  1021. package/dist/test/test/tools/preview.test.d.ts +0 -2
  1022. package/dist/test/test/tools/preview.test.d.ts.map +0 -1
  1023. package/dist/test/test/tools/preview.test.js +0 -75
  1024. package/dist/test/test/tools/preview.test.js.map +0 -1
  1025. package/dist/test/test/tools/rename.test.d.ts +0 -2
  1026. package/dist/test/test/tools/rename.test.d.ts.map +0 -1
  1027. package/dist/test/test/tools/rename.test.js +0 -16
  1028. package/dist/test/test/tools/rename.test.js.map +0 -1
  1029. package/dist/test/test/tools/save.test.d.ts +0 -2
  1030. package/dist/test/test/tools/save.test.d.ts.map +0 -1
  1031. package/dist/test/test/tools/save.test.js +0 -137
  1032. package/dist/test/test/tools/save.test.js.map +0 -1
  1033. package/dist/test/test/viewer/broadcaster.test.d.ts +0 -2
  1034. package/dist/test/test/viewer/broadcaster.test.d.ts.map +0 -1
  1035. package/dist/test/test/viewer/broadcaster.test.js +0 -53
  1036. package/dist/test/test/viewer/broadcaster.test.js.map +0 -1
  1037. package/dist/test/test/viewer/resource-route.test.d.ts +0 -2
  1038. package/dist/test/test/viewer/resource-route.test.d.ts.map +0 -1
  1039. package/dist/test/test/viewer/resource-route.test.js +0 -70
  1040. package/dist/test/test/viewer/resource-route.test.js.map +0 -1
  1041. package/dist/test/test/viewer/router.test.d.ts +0 -2
  1042. package/dist/test/test/viewer/router.test.d.ts.map +0 -1
  1043. package/dist/test/test/viewer/router.test.js +0 -227
  1044. package/dist/test/test/viewer/router.test.js.map +0 -1
  1045. package/dist/test/test/viewer/session-mount.test.d.ts +0 -2
  1046. package/dist/test/test/viewer/session-mount.test.d.ts.map +0 -1
  1047. package/dist/test/test/viewer/session-mount.test.js +0 -52
  1048. package/dist/test/test/viewer/session-mount.test.js.map +0 -1
  1049. package/dist/test/test/viewer/url-builder.test.d.ts +0 -2
  1050. package/dist/test/test/viewer/url-builder.test.d.ts.map +0 -1
  1051. package/dist/test/test/viewer/url-builder.test.js +0 -98
  1052. package/dist/test/test/viewer/url-builder.test.js.map +0 -1
  1053. package/dist/test/test/workspace/hosted-stub.test.d.ts +0 -2
  1054. package/dist/test/test/workspace/hosted-stub.test.d.ts.map +0 -1
  1055. package/dist/test/test/workspace/hosted-stub.test.js +0 -30
  1056. package/dist/test/test/workspace/hosted-stub.test.js.map +0 -1
  1057. package/dist/test/test/workspace/in-memory.test.d.ts +0 -2
  1058. package/dist/test/test/workspace/in-memory.test.d.ts.map +0 -1
  1059. package/dist/test/test/workspace/in-memory.test.js +0 -4
  1060. package/dist/test/test/workspace/in-memory.test.js.map +0 -1
  1061. package/dist/test/test/workspace/node-fs.test.d.ts +0 -2
  1062. package/dist/test/test/workspace/node-fs.test.d.ts.map +0 -1
  1063. package/dist/test/test/workspace/node-fs.test.js +0 -20
  1064. package/dist/test/test/workspace/node-fs.test.js.map +0 -1
  1065. package/dist/test/test/workspace/s3.test.d.ts +0 -2
  1066. package/dist/test/test/workspace/s3.test.d.ts.map +0 -1
  1067. package/dist/test/test/workspace/s3.test.js +0 -153
  1068. package/dist/test/test/workspace/s3.test.js.map +0 -1
  1069. package/dist/test/test/workspace/scoped.test.d.ts +0 -2
  1070. package/dist/test/test/workspace/scoped.test.d.ts.map +0 -1
  1071. package/dist/test/test/workspace/scoped.test.js +0 -59
  1072. package/dist/test/test/workspace/scoped.test.js.map +0 -1
  1073. package/dist/test/test/workspace/shared-contract.d.ts +0 -3
  1074. package/dist/test/test/workspace/shared-contract.d.ts.map +0 -1
  1075. package/dist/test/test/workspace/shared-contract.js +0 -92
  1076. package/dist/test/test/workspace/shared-contract.js.map +0 -1
  1077. package/dist/test/tsconfig.test.tsbuildinfo +0 -1
  1078. package/dist/test/vitest.config.d.ts +0 -3
  1079. package/dist/test/vitest.config.d.ts.map +0 -1
  1080. package/dist/test/vitest.config.js +0 -8
  1081. package/dist/test/vitest.config.js.map +0 -1
  1082. package/dist/tools/metrics.d.ts +0 -11
  1083. package/dist/tools/metrics.d.ts.map +0 -1
  1084. package/dist/tools/metrics.js +0 -28
  1085. package/dist/tools/metrics.js.map +0 -1
@@ -1,4 +1,4 @@
1
- > This is one page of the CE.SDK Vanilla JS/TS documentation. For a complete overview, see the [Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md). For all docs in one file, see [llms-full.txt](./llms-full.txt.md).
1
+ > This is one page of the CE.SDK Node.js documentation. For a complete overview, see the [Node.js Documentation Index](https://img.ly/docs/cesdk/node.md). For all docs in one file, see [llms-full.txt](./llms-full.txt.md).
2
2
 
3
3
  **Navigation:** [Guides](./guides.md) > [Fills](./fills.md) > [Gradient](./filters-and-effects/gradients.md)
4
4
 
@@ -8,657 +8,515 @@ Create smooth color transitions in shapes, text, and design blocks using
8
8
  CE.SDK's gradient fill system with support for linear, radial, and conical
9
9
  gradients.
10
10
 
11
- ![Gradient Fills example showing linear, radial, and conical gradient transitions](https://img.ly/docs/cesdk/./assets/browser.hero.webp)
12
-
13
11
  > **Reading time:** 20 minutes
14
12
  >
15
13
  > **Resources:**
16
14
  >
17
15
  > - [Download examples](https://github.com/imgly/cesdk-web-examples/archive/refs/tags/release-$UBQ_VERSION$.zip)
18
- > - [View source on GitHub](https://github.com/imgly/cesdk-web-examples/tree/release-$UBQ_VERSION$/guides-fills-gradient-browser)
19
- > - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-fills-gradient-browser)
20
- > - [Live demo](https://img.ly/docs/cesdk/examples/guides-fills-gradient-browser/)
16
+ >
17
+ > - [View source on GitHub](https://github.com/imgly/cesdk-web-examples/tree/release-$UBQ_VERSION$/guides-fills-gradient-server-js)
18
+ >
19
+ > - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-fills-gradient-server-js)
21
20
 
22
21
  Gradient fills are one of the fundamental fill types in CE.SDK, allowing you to paint design blocks with smooth color transitions. Unlike solid color fills that apply a uniform color or image fills that display photo content, gradient fills create dynamic visual effects with depth and visual interest. The gradient fill system supports three types: linear gradients that transition along a straight line, radial gradients that emanate from a center point, and conical gradients that rotate around a center point like a color wheel.
23
22
 
24
- ```typescript file=@cesdk_web_examples/guides-fills-gradient-browser/browser.ts reference-only
25
- import type { EditorPlugin, EditorPluginContext } from '@cesdk/cesdk-js';
26
- import {
27
- BlurAssetSource,
28
- ColorPaletteAssetSource,
29
- CropPresetsAssetSource,
30
- DemoAssetSources,
31
- EffectsAssetSource,
32
- FiltersAssetSource,
33
- PagePresetsAssetSource,
34
- StickerAssetSource,
35
- TextAssetSource,
36
- TextComponentAssetSource,
37
- TypefaceAssetSource,
38
- UploadAssetSources,
39
- VectorShapeAssetSource
40
- } from '@cesdk/cesdk-js/plugins';
41
- import { DesignEditorConfig } from './design-editor/plugin';
42
- import packageJson from './package.json';
43
- import { calculateGridLayout } from './utils';
23
+ ```typescript file=@cesdk_web_examples/guides-fills-gradient-server-js/server-js.ts reference-only
24
+ import CreativeEngine from '@cesdk/node';
25
+ import { config } from 'dotenv';
26
+ import { writeFileSync, mkdirSync } from 'fs';
27
+
28
+ // Load environment variables
29
+ config();
44
30
 
45
31
  /**
46
- * CE.SDK Plugin: Gradient Fills Guide
32
+ * CE.SDK Server Guide: Gradient Fills
47
33
  *
48
- * This example demonstrates:
34
+ * Demonstrates programmatic gradient fill creation and configuration:
49
35
  * - Creating linear, radial, and conical gradient fills
50
36
  * - Configuring gradient color stops
51
37
  * - Positioning gradients
52
38
  * - Using different color spaces in gradients
53
- * - Advanced gradient techniques
39
+ * - Exporting scenes with gradient fills
54
40
  */
55
- class Example implements EditorPlugin {
56
- name = packageJson.name;
57
41
 
58
- version = packageJson.version;
59
-
60
- async initialize({ cesdk }: EditorPluginContext): Promise<void> {
61
- if (!cesdk) {
62
- throw new Error('CE.SDK instance is required for this plugin');
42
+ // Initialize CE.SDK engine in headless mode
43
+ const engine = await CreativeEngine.init({
44
+ baseURL: process.env.IMGLY_LOCAL_ASSETS_URL
45
+ // license: process.env.CESDK_LICENSE, // Optional (trial mode available)
46
+ });
47
+
48
+ try {
49
+ // Create a design scene with specific page dimensions
50
+ engine.scene.create('VerticalStack', {
51
+ page: { size: { width: 1200, height: 900 } }
52
+ });
53
+ const page = engine.block.findByType('page')[0];
54
+
55
+ // Set page background to light gray
56
+ const pageFill = engine.block.getFill(page);
57
+ engine.block.setColor(pageFill, 'fill/color/value', {
58
+ r: 0.95,
59
+ g: 0.95,
60
+ b: 0.95,
61
+ a: 1.0
62
+ });
63
+
64
+ // Helper function to create a shape with a gradient fill
65
+ const createShapeWithFill = (
66
+ fillType: 'gradient/linear' | 'gradient/radial' | 'gradient/conical'
67
+ ): { block: number; fill: number } => {
68
+ const block = engine.block.create('graphic');
69
+ const shape = engine.block.createShape('rect');
70
+ engine.block.setShape(block, shape);
71
+
72
+ // Set size
73
+ engine.block.setWidth(block, 200);
74
+ engine.block.setHeight(block, 200);
75
+
76
+ // Append to page
77
+ engine.block.appendChild(page, block);
78
+
79
+ // Check if block supports fills
80
+ const canHaveFill = engine.block.supportsFill(block);
81
+ if (!canHaveFill) {
82
+ throw new Error('Block does not support fills');
63
83
  }
64
84
 
65
- await cesdk.addPlugin(new DesignEditorConfig());
66
- // Add asset source plugins
67
- await cesdk.addPlugin(new BlurAssetSource());
68
- await cesdk.addPlugin(new ColorPaletteAssetSource());
69
- await cesdk.addPlugin(new CropPresetsAssetSource());
70
- await cesdk.addPlugin(
71
- new UploadAssetSources({ include: ['ly.img.image.upload'] })
72
- );
73
- await cesdk.addPlugin(
74
- new DemoAssetSources({
75
- include: [
76
- 'ly.img.templates.blank.*',
77
- 'ly.img.templates.presentation.*',
78
- 'ly.img.templates.print.*',
79
- 'ly.img.templates.social.*',
80
- 'ly.img.image.*'
81
- ]
82
- })
83
- );
84
- await cesdk.addPlugin(new EffectsAssetSource());
85
- await cesdk.addPlugin(new FiltersAssetSource());
86
- await cesdk.addPlugin(new PagePresetsAssetSource());
87
- await cesdk.addPlugin(new StickerAssetSource());
88
- await cesdk.addPlugin(new TextAssetSource());
89
- await cesdk.addPlugin(new TextComponentAssetSource());
90
- await cesdk.addPlugin(new TypefaceAssetSource());
91
- await cesdk.addPlugin(new VectorShapeAssetSource());
92
-
93
- // Fill features are enabled by default in CE.SDK
94
- // You can check and control fill feature availability:
95
- const engine = cesdk.engine;
96
- const isFillEnabled = cesdk.feature.isEnabled('ly.img.fill', { engine });
97
- console.log('Fill feature enabled:', isFillEnabled);
98
-
99
- // Create a design scene using CE.SDK cesdk method
100
- await cesdk.actions.run('scene.create', {
101
- page: { width: 1200, height: 900, unit: 'Pixel' }
102
- });
103
-
104
- // Get the page
105
- const pages = engine.block.findByType('page');
106
- const page = pages[0];
107
- if (!page) {
108
- throw new Error('No page found');
85
+ // Create gradient fill
86
+ const gradientFill = engine.block.createFill(fillType);
87
+
88
+ // Apply the fill to the block
89
+ engine.block.setFill(block, gradientFill);
90
+
91
+ return { block, fill: gradientFill };
92
+ };
93
+
94
+ // =============================================================================
95
+ // Example 1: Linear Gradient (Vertical)
96
+ // =============================================================================
97
+ const { block: linearVerticalBlock, fill: linearVertical } =
98
+ createShapeWithFill('gradient/linear');
99
+
100
+ engine.block.setGradientColorStops(linearVertical, 'fill/gradient/colors', [
101
+ { color: { r: 1.0, g: 0.8, b: 0.2, a: 1.0 }, stop: 0 },
102
+ { color: { r: 0.3, g: 0.4, b: 0.7, a: 1.0 }, stop: 1 }
103
+ ]);
104
+
105
+ // Set vertical gradient (top to bottom)
106
+ engine.block.setFloat(
107
+ linearVertical,
108
+ 'fill/gradient/linear/startPointX',
109
+ 0.5
110
+ );
111
+ engine.block.setFloat(linearVertical, 'fill/gradient/linear/startPointY', 0);
112
+ engine.block.setFloat(linearVertical, 'fill/gradient/linear/endPointX', 0.5);
113
+ engine.block.setFloat(linearVertical, 'fill/gradient/linear/endPointY', 1);
114
+
115
+ // =============================================================================
116
+ // Example 2: Linear Gradient (Horizontal)
117
+ // =============================================================================
118
+ const { block: linearHorizontalBlock, fill: linearHorizontal } =
119
+ createShapeWithFill('gradient/linear');
120
+
121
+ engine.block.setGradientColorStops(linearHorizontal, 'fill/gradient/colors', [
122
+ { color: { r: 0.8, g: 0.2, b: 0.4, a: 1.0 }, stop: 0 },
123
+ { color: { r: 0.2, g: 0.8, b: 0.6, a: 1.0 }, stop: 1 }
124
+ ]);
125
+
126
+ // Set horizontal gradient (left to right)
127
+ engine.block.setFloat(
128
+ linearHorizontal,
129
+ 'fill/gradient/linear/startPointX',
130
+ 0
131
+ );
132
+ engine.block.setFloat(
133
+ linearHorizontal,
134
+ 'fill/gradient/linear/startPointY',
135
+ 0.5
136
+ );
137
+ engine.block.setFloat(linearHorizontal, 'fill/gradient/linear/endPointX', 1);
138
+ engine.block.setFloat(
139
+ linearHorizontal,
140
+ 'fill/gradient/linear/endPointY',
141
+ 0.5
142
+ );
143
+
144
+ // =============================================================================
145
+ // Example 3: Linear Gradient (Diagonal)
146
+ // =============================================================================
147
+ const { block: linearDiagonalBlock, fill: linearDiagonal } =
148
+ createShapeWithFill('gradient/linear');
149
+
150
+ engine.block.setGradientColorStops(linearDiagonal, 'fill/gradient/colors', [
151
+ { color: { r: 0.5, g: 0.2, b: 0.8, a: 1.0 }, stop: 0 },
152
+ { color: { r: 0.9, g: 0.6, b: 0.2, a: 1.0 }, stop: 1 }
153
+ ]);
154
+
155
+ // Set diagonal gradient (top-left to bottom-right)
156
+ engine.block.setFloat(linearDiagonal, 'fill/gradient/linear/startPointX', 0);
157
+ engine.block.setFloat(linearDiagonal, 'fill/gradient/linear/startPointY', 0);
158
+ engine.block.setFloat(linearDiagonal, 'fill/gradient/linear/endPointX', 1);
159
+ engine.block.setFloat(linearDiagonal, 'fill/gradient/linear/endPointY', 1);
160
+
161
+ // =============================================================================
162
+ // Example 4: Multi-Stop Linear Gradient (Aurora Effect)
163
+ // =============================================================================
164
+ const { block: auroraGradientBlock, fill: auroraGradient } =
165
+ createShapeWithFill('gradient/linear');
166
+
167
+ engine.block.setGradientColorStops(auroraGradient, 'fill/gradient/colors', [
168
+ { color: { r: 0.4, g: 0.1, b: 0.8, a: 1 }, stop: 0 },
169
+ { color: { r: 0.8, g: 0.2, b: 0.6, a: 1 }, stop: 0.3 },
170
+ { color: { r: 1.0, g: 0.5, b: 0.3, a: 1 }, stop: 0.6 },
171
+ { color: { r: 1.0, g: 0.8, b: 0.2, a: 1 }, stop: 1 }
172
+ ]);
173
+
174
+ engine.block.setFloat(auroraGradient, 'fill/gradient/linear/startPointX', 0);
175
+ engine.block.setFloat(
176
+ auroraGradient,
177
+ 'fill/gradient/linear/startPointY',
178
+ 0.5
179
+ );
180
+ engine.block.setFloat(auroraGradient, 'fill/gradient/linear/endPointX', 1);
181
+ engine.block.setFloat(auroraGradient, 'fill/gradient/linear/endPointY', 0.5);
182
+
183
+ // =============================================================================
184
+ // Example 5: Radial Gradient (Centered)
185
+ // =============================================================================
186
+ const { block: radialCenteredBlock, fill: radialCentered } =
187
+ createShapeWithFill('gradient/radial');
188
+
189
+ engine.block.setGradientColorStops(radialCentered, 'fill/gradient/colors', [
190
+ { color: { r: 1.0, g: 1.0, b: 1.0, a: 0.3 }, stop: 0 },
191
+ { color: { r: 0.2, g: 0.4, b: 0.8, a: 1.0 }, stop: 1 }
192
+ ]);
193
+
194
+ // Set center point (middle of block)
195
+ engine.block.setFloat(
196
+ radialCentered,
197
+ 'fill/gradient/radial/centerPointX',
198
+ 0.5
199
+ );
200
+ engine.block.setFloat(
201
+ radialCentered,
202
+ 'fill/gradient/radial/centerPointY',
203
+ 0.5
204
+ );
205
+ engine.block.setFloat(radialCentered, 'fill/gradient/radial/radius', 0.8);
206
+
207
+ // =============================================================================
208
+ // Example 6: Radial Gradient (Top-Left Highlight)
209
+ // =============================================================================
210
+ const { block: radialHighlightBlock, fill: radialHighlight } =
211
+ createShapeWithFill('gradient/radial');
212
+
213
+ engine.block.setGradientColorStops(radialHighlight, 'fill/gradient/colors', [
214
+ { color: { r: 1.0, g: 1.0, b: 1.0, a: 0.3 }, stop: 0 },
215
+ { color: { r: 0.2, g: 0.4, b: 0.8, a: 1.0 }, stop: 1 }
216
+ ]);
217
+
218
+ // Set top-left highlight
219
+ engine.block.setFloat(
220
+ radialHighlight,
221
+ 'fill/gradient/radial/centerPointX',
222
+ 0
223
+ );
224
+ engine.block.setFloat(
225
+ radialHighlight,
226
+ 'fill/gradient/radial/centerPointY',
227
+ 0
228
+ );
229
+ engine.block.setFloat(radialHighlight, 'fill/gradient/radial/radius', 1.0);
230
+
231
+ // =============================================================================
232
+ // Example 7: Radial Gradient (Vignette Effect)
233
+ // =============================================================================
234
+ const { block: radialVignetteBlock, fill: radialVignette } =
235
+ createShapeWithFill('gradient/radial');
236
+
237
+ engine.block.setGradientColorStops(radialVignette, 'fill/gradient/colors', [
238
+ { color: { r: 0.9, g: 0.9, b: 0.9, a: 1.0 }, stop: 0 },
239
+ { color: { r: 0.1, g: 0.1, b: 0.1, a: 1.0 }, stop: 1 }
240
+ ]);
241
+
242
+ // Centered vignette
243
+ engine.block.setFloat(
244
+ radialVignette,
245
+ 'fill/gradient/radial/centerPointX',
246
+ 0.5
247
+ );
248
+ engine.block.setFloat(
249
+ radialVignette,
250
+ 'fill/gradient/radial/centerPointY',
251
+ 0.5
252
+ );
253
+ engine.block.setFloat(radialVignette, 'fill/gradient/radial/radius', 0.6);
254
+
255
+ // =============================================================================
256
+ // Example 8: Conical Gradient (Color Wheel)
257
+ // =============================================================================
258
+ const { block: conicalColorWheelBlock, fill: conicalColorWheel } =
259
+ createShapeWithFill('gradient/conical');
260
+
261
+ engine.block.setGradientColorStops(
262
+ conicalColorWheel,
263
+ 'fill/gradient/colors',
264
+ [
265
+ { color: { r: 1.0, g: 0.0, b: 0.0, a: 1 }, stop: 0 },
266
+ { color: { r: 1.0, g: 1.0, b: 0.0, a: 1 }, stop: 0.25 },
267
+ { color: { r: 0.0, g: 1.0, b: 0.0, a: 1 }, stop: 0.5 },
268
+ { color: { r: 0.0, g: 0.0, b: 1.0, a: 1 }, stop: 0.75 },
269
+ { color: { r: 1.0, g: 0.0, b: 0.0, a: 1 }, stop: 1 }
270
+ ]
271
+ );
272
+
273
+ // Set center point (middle of block)
274
+ engine.block.setFloat(
275
+ conicalColorWheel,
276
+ 'fill/gradient/conical/centerPointX',
277
+ 0.5
278
+ );
279
+ engine.block.setFloat(
280
+ conicalColorWheel,
281
+ 'fill/gradient/conical/centerPointY',
282
+ 0.5
283
+ );
284
+
285
+ // =============================================================================
286
+ // Example 9: Conical Gradient (Loading Spinner)
287
+ // =============================================================================
288
+ const { block: conicalSpinnerBlock, fill: conicalSpinner } =
289
+ createShapeWithFill('gradient/conical');
290
+
291
+ engine.block.setGradientColorStops(conicalSpinner, 'fill/gradient/colors', [
292
+ { color: { r: 0.2, g: 0.4, b: 0.8, a: 1 }, stop: 0 },
293
+ { color: { r: 0.2, g: 0.4, b: 0.8, a: 0 }, stop: 0.75 },
294
+ { color: { r: 0.2, g: 0.4, b: 0.8, a: 1 }, stop: 1 }
295
+ ]);
296
+
297
+ engine.block.setFloat(
298
+ conicalSpinner,
299
+ 'fill/gradient/conical/centerPointX',
300
+ 0.5
301
+ );
302
+ engine.block.setFloat(
303
+ conicalSpinner,
304
+ 'fill/gradient/conical/centerPointY',
305
+ 0.5
306
+ );
307
+
308
+ // =============================================================================
309
+ // Example 10: Gradient with CMYK Colors
310
+ // =============================================================================
311
+ const { block: cmykGradientBlock, fill: cmykGradient } =
312
+ createShapeWithFill('gradient/linear');
313
+
314
+ // CMYK color stops for print
315
+ engine.block.setGradientColorStops(cmykGradient, 'fill/gradient/colors', [
316
+ { color: { c: 0.0, m: 1.0, y: 1.0, k: 0.0, tint: 1.0 }, stop: 0 },
317
+ { color: { c: 1.0, m: 0.0, y: 1.0, k: 0.0, tint: 1.0 }, stop: 1 }
318
+ ]);
319
+
320
+ engine.block.setFloat(cmykGradient, 'fill/gradient/linear/startPointX', 0);
321
+ engine.block.setFloat(cmykGradient, 'fill/gradient/linear/startPointY', 0.5);
322
+ engine.block.setFloat(cmykGradient, 'fill/gradient/linear/endPointX', 1);
323
+ engine.block.setFloat(cmykGradient, 'fill/gradient/linear/endPointY', 0.5);
324
+
325
+ // =============================================================================
326
+ // Example 11: Gradient with Spot Colors
327
+ // =============================================================================
328
+ // First define spot colors
329
+ engine.editor.setSpotColorRGB('BrandPrimary', 0.2, 0.4, 0.8);
330
+ engine.editor.setSpotColorRGB('BrandSecondary', 1.0, 0.6, 0.0);
331
+
332
+ const { block: spotGradientBlock, fill: spotGradient } =
333
+ createShapeWithFill('gradient/linear');
334
+
335
+ engine.block.setGradientColorStops(spotGradient, 'fill/gradient/colors', [
336
+ {
337
+ color: { name: 'BrandPrimary', tint: 1.0, externalReference: '' },
338
+ stop: 0
339
+ },
340
+ {
341
+ color: { name: 'BrandSecondary', tint: 1.0, externalReference: '' },
342
+ stop: 1
109
343
  }
344
+ ]);
110
345
 
111
- // Set page background to light gray
112
- const pageFill = engine.block.getFill(page);
113
- engine.block.setColor(pageFill, 'fill/color/value', {
114
- r: 0.95,
115
- g: 0.95,
116
- b: 0.95,
117
- a: 1.0
118
- });
119
-
120
- // Calculate responsive grid layout based on page dimensions
121
- const pageWidth = engine.block.getWidth(page);
122
- const pageHeight = engine.block.getHeight(page);
123
- const layout = calculateGridLayout(pageWidth, pageHeight, 15);
124
- const { blockWidth, blockHeight, getPosition } = layout;
125
-
126
- // Helper function to create a shape with a fill
127
- const createShapeWithFill = (
128
- fillType: 'gradient/linear' | 'gradient/radial' | 'gradient/conical'
129
- ): { block: number; fill: number } => {
130
- const block = engine.block.create('graphic');
131
- const shape = engine.block.createShape('rect');
132
- engine.block.setShape(block, shape);
133
-
134
- // Set size
135
- engine.block.setWidth(block, blockWidth);
136
- engine.block.setHeight(block, blockHeight);
137
-
138
- // Append to page
139
- engine.block.appendChild(page, block);
140
-
141
- // Check if block supports fills
142
- const canHaveFill = engine.block.supportsFill(block);
143
- if (!canHaveFill) {
144
- throw new Error('Block does not support fills');
145
- }
146
-
147
- // Create gradient fill
148
- const gradientFill = engine.block.createFill(fillType);
149
-
150
- // Apply the fill to the block
151
- engine.block.setFill(block, gradientFill);
152
-
153
- return { block, fill: gradientFill };
154
- };
155
-
156
- // =============================================================================
157
- // Example 1: Linear Gradient (Vertical)
158
- // =============================================================================
159
- const { block: linearVerticalBlock, fill: linearVertical } =
160
- createShapeWithFill('gradient/linear');
161
-
162
- engine.block.setGradientColorStops(linearVertical, 'fill/gradient/colors', [
163
- { color: { r: 1.0, g: 0.8, b: 0.2, a: 1.0 }, stop: 0 },
164
- { color: { r: 0.3, g: 0.4, b: 0.7, a: 1.0 }, stop: 1 }
165
- ]);
166
-
167
- // Set vertical gradient (top to bottom)
168
- engine.block.setFloat(
169
- linearVertical,
170
- 'fill/gradient/linear/startPointX',
171
- 0.5
172
- );
173
- engine.block.setFloat(
174
- linearVertical,
175
- 'fill/gradient/linear/startPointY',
176
- 0
177
- );
178
- engine.block.setFloat(
179
- linearVertical,
180
- 'fill/gradient/linear/endPointX',
181
- 0.5
182
- );
183
- engine.block.setFloat(linearVertical, 'fill/gradient/linear/endPointY', 1);
184
-
185
- // =============================================================================
186
- // Example 2: Linear Gradient (Horizontal)
187
- // =============================================================================
188
- const { block: linearHorizontalBlock, fill: linearHorizontal } =
189
- createShapeWithFill('gradient/linear');
190
-
191
- engine.block.setGradientColorStops(
192
- linearHorizontal,
193
- 'fill/gradient/colors',
194
- [
195
- { color: { r: 0.8, g: 0.2, b: 0.4, a: 1.0 }, stop: 0 },
196
- { color: { r: 0.2, g: 0.8, b: 0.6, a: 1.0 }, stop: 1 }
197
- ]
198
- );
199
-
200
- // Set horizontal gradient (left to right)
201
- engine.block.setFloat(
202
- linearHorizontal,
203
- 'fill/gradient/linear/startPointX',
204
- 0
205
- );
206
- engine.block.setFloat(
207
- linearHorizontal,
208
- 'fill/gradient/linear/startPointY',
209
- 0.5
210
- );
211
- engine.block.setFloat(
212
- linearHorizontal,
213
- 'fill/gradient/linear/endPointX',
214
- 1
215
- );
216
- engine.block.setFloat(
217
- linearHorizontal,
218
- 'fill/gradient/linear/endPointY',
219
- 0.5
220
- );
221
-
222
- // =============================================================================
223
- // Example 3: Linear Gradient (Diagonal)
224
- // =============================================================================
225
- const { block: linearDiagonalBlock, fill: linearDiagonal } =
226
- createShapeWithFill('gradient/linear');
227
-
228
- engine.block.setGradientColorStops(linearDiagonal, 'fill/gradient/colors', [
229
- { color: { r: 0.5, g: 0.2, b: 0.8, a: 1.0 }, stop: 0 },
230
- { color: { r: 0.9, g: 0.6, b: 0.2, a: 1.0 }, stop: 1 }
231
- ]);
232
-
233
- // Set diagonal gradient (top-left to bottom-right)
234
- engine.block.setFloat(
235
- linearDiagonal,
236
- 'fill/gradient/linear/startPointX',
237
- 0
238
- );
239
- engine.block.setFloat(
240
- linearDiagonal,
241
- 'fill/gradient/linear/startPointY',
242
- 0
243
- );
244
- engine.block.setFloat(linearDiagonal, 'fill/gradient/linear/endPointX', 1);
245
- engine.block.setFloat(linearDiagonal, 'fill/gradient/linear/endPointY', 1);
246
-
247
- // =============================================================================
248
- // Example 4: Multi-Stop Linear Gradient (Aurora Effect)
249
- // =============================================================================
250
- const { block: auroraGradientBlock, fill: auroraGradient } =
251
- createShapeWithFill('gradient/linear');
252
-
253
- engine.block.setGradientColorStops(auroraGradient, 'fill/gradient/colors', [
254
- { color: { r: 0.4, g: 0.1, b: 0.8, a: 1 }, stop: 0 },
255
- { color: { r: 0.8, g: 0.2, b: 0.6, a: 1 }, stop: 0.3 },
256
- { color: { r: 1.0, g: 0.5, b: 0.3, a: 1 }, stop: 0.6 },
257
- { color: { r: 1.0, g: 0.8, b: 0.2, a: 1 }, stop: 1 }
258
- ]);
259
-
260
- engine.block.setFloat(
261
- auroraGradient,
262
- 'fill/gradient/linear/startPointX',
263
- 0
264
- );
265
- engine.block.setFloat(
266
- auroraGradient,
267
- 'fill/gradient/linear/startPointY',
268
- 0.5
269
- );
270
- engine.block.setFloat(auroraGradient, 'fill/gradient/linear/endPointX', 1);
271
- engine.block.setFloat(
272
- auroraGradient,
273
- 'fill/gradient/linear/endPointY',
274
- 0.5
275
- );
276
-
277
- // =============================================================================
278
- // Example 5: Radial Gradient (Centered)
279
- // =============================================================================
280
- const { block: radialCenteredBlock, fill: radialCentered } =
281
- createShapeWithFill('gradient/radial');
282
-
283
- engine.block.setGradientColorStops(radialCentered, 'fill/gradient/colors', [
284
- { color: { r: 1.0, g: 1.0, b: 1.0, a: 0.3 }, stop: 0 },
285
- { color: { r: 0.2, g: 0.4, b: 0.8, a: 1.0 }, stop: 1 }
286
- ]);
287
-
288
- // Set center point (middle of block)
289
- engine.block.setFloat(
290
- radialCentered,
291
- 'fill/gradient/radial/centerPointX',
292
- 0.5
293
- );
294
- engine.block.setFloat(
295
- radialCentered,
296
- 'fill/gradient/radial/centerPointY',
297
- 0.5
298
- );
299
- engine.block.setFloat(radialCentered, 'fill/gradient/radial/radius', 0.8);
300
-
301
- // =============================================================================
302
- // Example 6: Radial Gradient (Top-Left Highlight)
303
- // =============================================================================
304
- const { block: radialHighlightBlock, fill: radialHighlight } =
305
- createShapeWithFill('gradient/radial');
306
-
307
- engine.block.setGradientColorStops(
308
- radialHighlight,
309
- 'fill/gradient/colors',
310
- [
311
- { color: { r: 1.0, g: 1.0, b: 1.0, a: 0.3 }, stop: 0 },
312
- { color: { r: 0.2, g: 0.4, b: 0.8, a: 1.0 }, stop: 1 }
313
- ]
314
- );
315
-
316
- // Set top-left highlight
317
- engine.block.setFloat(
318
- radialHighlight,
319
- 'fill/gradient/radial/centerPointX',
320
- 0
321
- );
322
- engine.block.setFloat(
323
- radialHighlight,
324
- 'fill/gradient/radial/centerPointY',
325
- 0
326
- );
327
- engine.block.setFloat(radialHighlight, 'fill/gradient/radial/radius', 1.0);
328
-
329
- // =============================================================================
330
- // Example 7: Radial Gradient (Vignette Effect)
331
- // =============================================================================
332
- const { block: radialVignetteBlock, fill: radialVignette } =
333
- createShapeWithFill('gradient/radial');
334
-
335
- engine.block.setGradientColorStops(radialVignette, 'fill/gradient/colors', [
336
- { color: { r: 0.9, g: 0.9, b: 0.9, a: 1.0 }, stop: 0 },
337
- { color: { r: 0.1, g: 0.1, b: 0.1, a: 1.0 }, stop: 1 }
338
- ]);
339
-
340
- // Centered vignette
341
- engine.block.setFloat(
342
- radialVignette,
343
- 'fill/gradient/radial/centerPointX',
344
- 0.5
345
- );
346
- engine.block.setFloat(
347
- radialVignette,
348
- 'fill/gradient/radial/centerPointY',
349
- 0.5
350
- );
351
- engine.block.setFloat(radialVignette, 'fill/gradient/radial/radius', 0.6);
352
-
353
- // =============================================================================
354
- // Example 8: Conical Gradient (Color Wheel)
355
- // =============================================================================
356
- const { block: conicalColorWheelBlock, fill: conicalColorWheel } =
357
- createShapeWithFill('gradient/conical');
358
-
359
- engine.block.setGradientColorStops(
360
- conicalColorWheel,
361
- 'fill/gradient/colors',
362
- [
363
- { color: { r: 1.0, g: 0.0, b: 0.0, a: 1 }, stop: 0 },
364
- { color: { r: 1.0, g: 1.0, b: 0.0, a: 1 }, stop: 0.25 },
365
- { color: { r: 0.0, g: 1.0, b: 0.0, a: 1 }, stop: 0.5 },
366
- { color: { r: 0.0, g: 0.0, b: 1.0, a: 1 }, stop: 0.75 },
367
- { color: { r: 1.0, g: 0.0, b: 0.0, a: 1 }, stop: 1 }
368
- ]
369
- );
370
-
371
- // Set center point (middle of block)
372
- engine.block.setFloat(
373
- conicalColorWheel,
374
- 'fill/gradient/conical/centerPointX',
375
- 0.5
376
- );
377
- engine.block.setFloat(
378
- conicalColorWheel,
379
- 'fill/gradient/conical/centerPointY',
380
- 0.5
381
- );
382
-
383
- // =============================================================================
384
- // Example 9: Conical Gradient (Loading Spinner)
385
- // =============================================================================
386
- const { block: conicalSpinnerBlock, fill: conicalSpinner } =
387
- createShapeWithFill('gradient/conical');
388
-
389
- engine.block.setGradientColorStops(conicalSpinner, 'fill/gradient/colors', [
390
- { color: { r: 0.2, g: 0.4, b: 0.8, a: 1 }, stop: 0 },
391
- { color: { r: 0.2, g: 0.4, b: 0.8, a: 0 }, stop: 0.75 },
392
- { color: { r: 0.2, g: 0.4, b: 0.8, a: 1 }, stop: 1 }
393
- ]);
394
-
395
- engine.block.setFloat(
396
- conicalSpinner,
397
- 'fill/gradient/conical/centerPointX',
398
- 0.5
399
- );
400
- engine.block.setFloat(
401
- conicalSpinner,
402
- 'fill/gradient/conical/centerPointY',
403
- 0.5
404
- );
405
-
406
- // =============================================================================
407
- // Example 10: Gradient with CMYK Colors
408
- // =============================================================================
409
- const { block: cmykGradientBlock, fill: cmykGradient } =
410
- createShapeWithFill('gradient/linear');
411
-
412
- // CMYK color stops for print
413
- engine.block.setGradientColorStops(cmykGradient, 'fill/gradient/colors', [
414
- { color: { c: 0.0, m: 1.0, y: 1.0, k: 0.0, tint: 1.0 }, stop: 0 },
415
- { color: { c: 1.0, m: 0.0, y: 1.0, k: 0.0, tint: 1.0 }, stop: 1 }
416
- ]);
417
-
418
- engine.block.setFloat(cmykGradient, 'fill/gradient/linear/startPointX', 0);
419
- engine.block.setFloat(
420
- cmykGradient,
421
- 'fill/gradient/linear/startPointY',
422
- 0.5
423
- );
424
- engine.block.setFloat(cmykGradient, 'fill/gradient/linear/endPointX', 1);
425
- engine.block.setFloat(cmykGradient, 'fill/gradient/linear/endPointY', 0.5);
426
-
427
- // =============================================================================
428
- // Example 11: Gradient with Spot Colors
429
- // =============================================================================
430
- // First define spot colors
431
- engine.editor.setSpotColorRGB('BrandPrimary', 0.2, 0.4, 0.8);
432
- engine.editor.setSpotColorRGB('BrandSecondary', 1.0, 0.6, 0.0);
433
-
434
- const { block: spotGradientBlock, fill: spotGradient } =
435
- createShapeWithFill('gradient/linear');
436
-
437
- engine.block.setGradientColorStops(spotGradient, 'fill/gradient/colors', [
438
- {
439
- color: { name: 'BrandPrimary', tint: 1.0, externalReference: '' },
440
- stop: 0
441
- },
442
- {
443
- color: { name: 'BrandSecondary', tint: 1.0, externalReference: '' },
444
- stop: 1
445
- }
446
- ]);
447
-
448
- engine.block.setFloat(spotGradient, 'fill/gradient/linear/startPointX', 0);
449
- engine.block.setFloat(spotGradient, 'fill/gradient/linear/startPointY', 0);
450
- engine.block.setFloat(spotGradient, 'fill/gradient/linear/endPointX', 1);
451
- engine.block.setFloat(spotGradient, 'fill/gradient/linear/endPointY', 1);
452
-
453
- // =============================================================================
454
- // Example 12: Transparency Overlay Gradient
455
- // =============================================================================
456
- const { block: overlayGradientBlock, fill: overlayGradient } =
457
- createShapeWithFill('gradient/linear');
458
-
459
- engine.block.setGradientColorStops(
460
- overlayGradient,
461
- 'fill/gradient/colors',
462
- [
463
- { color: { r: 0.0, g: 0.0, b: 0.0, a: 0 }, stop: 0 },
464
- { color: { r: 0.0, g: 0.0, b: 0.0, a: 0.7 }, stop: 1 }
465
- ]
466
- );
467
-
468
- engine.block.setFloat(
469
- overlayGradient,
470
- 'fill/gradient/linear/startPointX',
471
- 0.5
472
- );
473
- engine.block.setFloat(
474
- overlayGradient,
475
- 'fill/gradient/linear/startPointY',
476
- 0
477
- );
478
- engine.block.setFloat(
479
- overlayGradient,
480
- 'fill/gradient/linear/endPointX',
481
- 0.5
482
- );
483
- engine.block.setFloat(overlayGradient, 'fill/gradient/linear/endPointY', 1);
484
-
485
- // =============================================================================
486
- // Example 13: Duotone Gradient
487
- // =============================================================================
488
- const { block: duotoneGradientBlock, fill: duotoneGradient } =
489
- createShapeWithFill('gradient/linear');
490
-
491
- engine.block.setGradientColorStops(
492
- duotoneGradient,
493
- 'fill/gradient/colors',
494
- [
495
- { color: { r: 0.8, g: 0.2, b: 0.9, a: 1 }, stop: 0 },
496
- { color: { r: 0.2, g: 0.9, b: 0.8, a: 1 }, stop: 1 }
497
- ]
498
- );
499
-
500
- engine.block.setFloat(
501
- duotoneGradient,
502
- 'fill/gradient/linear/startPointX',
503
- 0
504
- );
505
- engine.block.setFloat(
506
- duotoneGradient,
507
- 'fill/gradient/linear/startPointY',
508
- 0
509
- );
510
- engine.block.setFloat(duotoneGradient, 'fill/gradient/linear/endPointX', 1);
511
- engine.block.setFloat(duotoneGradient, 'fill/gradient/linear/endPointY', 1);
512
-
513
- // =============================================================================
514
- // Example 14: Shared Gradient Fill
515
- // =============================================================================
516
- const block1 = engine.block.create('graphic');
517
- const shape1 = engine.block.createShape('rect');
518
- engine.block.setShape(block1, shape1);
519
- engine.block.setWidth(block1, blockWidth);
520
- engine.block.setHeight(block1, blockHeight / 2 - 5);
521
- engine.block.appendChild(page, block1);
522
-
523
- const block2 = engine.block.create('graphic');
524
- const shape2 = engine.block.createShape('rect');
525
- engine.block.setShape(block2, shape2);
526
- engine.block.setWidth(block2, blockWidth);
527
- engine.block.setHeight(block2, blockHeight / 2 - 5);
528
- engine.block.appendChild(page, block2);
529
-
530
- // Create one gradient fill
531
- const sharedGradient = engine.block.createFill('gradient/linear');
532
- engine.block.setGradientColorStops(sharedGradient, 'fill/gradient/colors', [
533
- { color: { r: 1, g: 0, b: 0, a: 1 }, stop: 0 },
534
- { color: { r: 0, g: 0, b: 1, a: 1 }, stop: 1 }
535
- ]);
536
-
537
- engine.block.setFloat(
538
- sharedGradient,
539
- 'fill/gradient/linear/startPointX',
540
- 0
541
- );
542
- engine.block.setFloat(
543
- sharedGradient,
544
- 'fill/gradient/linear/startPointY',
545
- 0.5
546
- );
547
- engine.block.setFloat(sharedGradient, 'fill/gradient/linear/endPointX', 1);
548
- engine.block.setFloat(
549
- sharedGradient,
550
- 'fill/gradient/linear/endPointY',
551
- 0.5
552
- );
553
-
554
- // Apply to both blocks
555
- engine.block.setFill(block1, sharedGradient);
556
- engine.block.setFill(block2, sharedGradient);
557
-
558
- // Change gradient after a delay to show it affects both
559
- setTimeout(() => {
560
- engine.block.setGradientColorStops(
561
- sharedGradient,
562
- 'fill/gradient/colors',
563
- [
564
- { color: { r: 0, g: 1, b: 0, a: 1 }, stop: 0 },
565
- { color: { r: 1, g: 1, b: 0, a: 1 }, stop: 1 }
566
- ]
567
- );
568
- }, 2000);
569
-
570
- // =============================================================================
571
- // Example 15: Get Gradient Properties
572
- // =============================================================================
573
- const { block: inspectGradientBlock, fill: inspectGradient } =
574
- createShapeWithFill('gradient/linear');
575
-
576
- engine.block.setGradientColorStops(
577
- inspectGradient,
578
- 'fill/gradient/colors',
579
- [
580
- { color: { r: 0.6, g: 0.3, b: 0.7, a: 1.0 }, stop: 0 },
581
- { color: { r: 0.3, g: 0.7, b: 0.6, a: 1.0 }, stop: 1 }
582
- ]
583
- );
584
-
585
- // Get current fill from block
586
- const fillId = engine.block.getFill(block1);
587
- const fillType = engine.block.getType(fillId);
588
- // eslint-disable-next-line no-console
589
- console.log('Fill type:', fillType); // '//ly.img.ubq/fill/gradient/linear'
590
-
591
- // Get gradient color stops
592
- const colorStops = engine.block.getGradientColorStops(
593
- inspectGradient,
594
- 'fill/gradient/colors'
595
- );
596
- // eslint-disable-next-line no-console
597
- console.log('Color stops:', colorStops);
598
-
599
- // Get linear gradient position
600
- const startX = engine.block.getFloat(
601
- inspectGradient,
602
- 'fill/gradient/linear/startPointX'
603
- );
604
- const startY = engine.block.getFloat(
605
- inspectGradient,
606
- 'fill/gradient/linear/startPointY'
607
- );
608
- const endX = engine.block.getFloat(
609
- inspectGradient,
610
- 'fill/gradient/linear/endPointX'
611
- );
612
- const endY = engine.block.getFloat(
613
- inspectGradient,
614
- 'fill/gradient/linear/endPointY'
615
- );
616
- // eslint-disable-next-line no-console
617
- console.log('Linear gradient position:', { startX, startY, endX, endY });
618
-
619
- // ===== Position all blocks in grid layout =====
620
- const blocks = [
621
- linearVerticalBlock, // Position 0
622
- linearHorizontalBlock, // Position 1
623
- linearDiagonalBlock, // Position 2
624
- auroraGradientBlock, // Position 3
625
- radialCenteredBlock, // Position 4
626
- radialHighlightBlock, // Position 5
627
- radialVignetteBlock, // Position 6
628
- conicalColorWheelBlock, // Position 7
629
- conicalSpinnerBlock, // Position 8
630
- cmykGradientBlock, // Position 9
631
- spotGradientBlock, // Position 10
632
- overlayGradientBlock, // Position 11
633
- duotoneGradientBlock, // Position 12
634
- block1, // Position 13 (top half)
635
- inspectGradientBlock // Position 14
636
- ];
637
-
638
- blocks.forEach((block, index) => {
639
- const pos = getPosition(index);
640
- engine.block.setPositionX(block, pos.x);
641
- engine.block.setPositionY(block, pos.y);
642
- });
643
-
644
- // Position block2 below block1 in the same grid cell
645
- const block1Pos = getPosition(13);
646
- engine.block.setPositionX(block2, block1Pos.x);
647
- engine.block.setPositionY(block2, block1Pos.y + blockHeight / 2 + 5);
648
-
649
- // Zoom to fit all content
650
- await engine.scene.zoomToBlock(page, {
651
- padding: {
652
- left: 40,
653
- top: 40,
654
- right: 40,
655
- bottom: 40
656
- }
657
- });
658
- }
659
- }
346
+ engine.block.setFloat(spotGradient, 'fill/gradient/linear/startPointX', 0);
347
+ engine.block.setFloat(spotGradient, 'fill/gradient/linear/startPointY', 0);
348
+ engine.block.setFloat(spotGradient, 'fill/gradient/linear/endPointX', 1);
349
+ engine.block.setFloat(spotGradient, 'fill/gradient/linear/endPointY', 1);
350
+
351
+ // =============================================================================
352
+ // Example 12: Transparency Overlay Gradient
353
+ // =============================================================================
354
+ const { block: overlayGradientBlock, fill: overlayGradient } =
355
+ createShapeWithFill('gradient/linear');
356
+
357
+ engine.block.setGradientColorStops(overlayGradient, 'fill/gradient/colors', [
358
+ { color: { r: 0.0, g: 0.0, b: 0.0, a: 0 }, stop: 0 },
359
+ { color: { r: 0.0, g: 0.0, b: 0.0, a: 0.7 }, stop: 1 }
360
+ ]);
361
+
362
+ engine.block.setFloat(
363
+ overlayGradient,
364
+ 'fill/gradient/linear/startPointX',
365
+ 0.5
366
+ );
367
+ engine.block.setFloat(overlayGradient, 'fill/gradient/linear/startPointY', 0);
368
+ engine.block.setFloat(overlayGradient, 'fill/gradient/linear/endPointX', 0.5);
369
+ engine.block.setFloat(overlayGradient, 'fill/gradient/linear/endPointY', 1);
370
+
371
+ // =============================================================================
372
+ // Example 13: Duotone Gradient
373
+ // =============================================================================
374
+ const { block: duotoneGradientBlock, fill: duotoneGradient } =
375
+ createShapeWithFill('gradient/linear');
376
+
377
+ engine.block.setGradientColorStops(duotoneGradient, 'fill/gradient/colors', [
378
+ { color: { r: 0.8, g: 0.2, b: 0.9, a: 1 }, stop: 0 },
379
+ { color: { r: 0.2, g: 0.9, b: 0.8, a: 1 }, stop: 1 }
380
+ ]);
381
+
382
+ engine.block.setFloat(duotoneGradient, 'fill/gradient/linear/startPointX', 0);
383
+ engine.block.setFloat(duotoneGradient, 'fill/gradient/linear/startPointY', 0);
384
+ engine.block.setFloat(duotoneGradient, 'fill/gradient/linear/endPointX', 1);
385
+ engine.block.setFloat(duotoneGradient, 'fill/gradient/linear/endPointY', 1);
386
+
387
+ // =============================================================================
388
+ // Example 14: Shared Gradient Fill
389
+ // =============================================================================
390
+ const block1 = engine.block.create('graphic');
391
+ const shape1 = engine.block.createShape('rect');
392
+ engine.block.setShape(block1, shape1);
393
+ engine.block.setWidth(block1, 200);
394
+ engine.block.setHeight(block1, 90);
395
+ engine.block.appendChild(page, block1);
396
+
397
+ const block2 = engine.block.create('graphic');
398
+ const shape2 = engine.block.createShape('rect');
399
+ engine.block.setShape(block2, shape2);
400
+ engine.block.setWidth(block2, 200);
401
+ engine.block.setHeight(block2, 90);
402
+ engine.block.appendChild(page, block2);
403
+
404
+ // Create one gradient fill
405
+ const sharedGradient = engine.block.createFill('gradient/linear');
406
+ engine.block.setGradientColorStops(sharedGradient, 'fill/gradient/colors', [
407
+ { color: { r: 1, g: 0, b: 0, a: 1 }, stop: 0 },
408
+ { color: { r: 0, g: 0, b: 1, a: 1 }, stop: 1 }
409
+ ]);
410
+
411
+ engine.block.setFloat(sharedGradient, 'fill/gradient/linear/startPointX', 0);
412
+ engine.block.setFloat(
413
+ sharedGradient,
414
+ 'fill/gradient/linear/startPointY',
415
+ 0.5
416
+ );
417
+ engine.block.setFloat(sharedGradient, 'fill/gradient/linear/endPointX', 1);
418
+ engine.block.setFloat(sharedGradient, 'fill/gradient/linear/endPointY', 0.5);
419
+
420
+ // Apply to both blocks
421
+ engine.block.setFill(block1, sharedGradient);
422
+ engine.block.setFill(block2, sharedGradient);
423
+
424
+ // =============================================================================
425
+ // Example 15: Get Gradient Properties
426
+ // =============================================================================
427
+ const { block: inspectGradientBlock, fill: inspectGradient } =
428
+ createShapeWithFill('gradient/linear');
429
+
430
+ engine.block.setGradientColorStops(inspectGradient, 'fill/gradient/colors', [
431
+ { color: { r: 0.6, g: 0.3, b: 0.7, a: 1.0 }, stop: 0 },
432
+ { color: { r: 0.3, g: 0.7, b: 0.6, a: 1.0 }, stop: 1 }
433
+ ]);
660
434
 
661
- export default Example;
435
+ // Get current fill from block
436
+ const fillId = engine.block.getFill(block1);
437
+ const fillType = engine.block.getType(fillId);
438
+ console.log('Fill type:', fillType); // '//ly.img.ubq/fill/gradient/linear'
439
+
440
+ // Get gradient color stops
441
+ const colorStops = engine.block.getGradientColorStops(
442
+ inspectGradient,
443
+ 'fill/gradient/colors'
444
+ );
445
+ console.log('Color stops:', colorStops);
446
+
447
+ // Get linear gradient position
448
+ const startX = engine.block.getFloat(
449
+ inspectGradient,
450
+ 'fill/gradient/linear/startPointX'
451
+ );
452
+ const startY = engine.block.getFloat(
453
+ inspectGradient,
454
+ 'fill/gradient/linear/startPointY'
455
+ );
456
+ const endX = engine.block.getFloat(
457
+ inspectGradient,
458
+ 'fill/gradient/linear/endPointX'
459
+ );
460
+ const endY = engine.block.getFloat(
461
+ inspectGradient,
462
+ 'fill/gradient/linear/endPointY'
463
+ );
464
+ console.log('Linear gradient position:', { startX, startY, endX, endY });
465
+
466
+ // =============================================================================
467
+ // Position all blocks in grid layout
468
+ // =============================================================================
469
+ const blocks = [
470
+ linearVerticalBlock, // Position 0
471
+ linearHorizontalBlock, // Position 1
472
+ linearDiagonalBlock, // Position 2
473
+ auroraGradientBlock, // Position 3
474
+ radialCenteredBlock, // Position 4
475
+ radialHighlightBlock, // Position 5
476
+ radialVignetteBlock, // Position 6
477
+ conicalColorWheelBlock, // Position 7
478
+ conicalSpinnerBlock, // Position 8
479
+ cmykGradientBlock, // Position 9
480
+ spotGradientBlock, // Position 10
481
+ overlayGradientBlock, // Position 11
482
+ duotoneGradientBlock, // Position 12
483
+ block1, // Position 13 (top half)
484
+ inspectGradientBlock // Position 14
485
+ ];
486
+
487
+ // Calculate grid layout
488
+ const cols = 5;
489
+ const spacing = 20;
490
+ const margin = 40;
491
+
492
+ blocks.forEach((block, index) => {
493
+ const x = margin + (index % cols) * (200 + spacing);
494
+ const y = margin + Math.floor(index / cols) * (200 + spacing);
495
+ engine.block.setPositionX(block, x);
496
+ engine.block.setPositionY(block, y);
497
+ });
498
+
499
+ // Position block2 below block1 in the same grid cell
500
+ const block1X = margin + (13 % cols) * (200 + spacing);
501
+ const block1Y = margin + Math.floor(13 / cols) * (200 + spacing);
502
+ engine.block.setPositionX(block2, block1X);
503
+ engine.block.setPositionY(block2, block1Y + 100);
504
+
505
+ // Export the scene to PNG
506
+ const blob = await engine.block.export(page, { mimeType: 'image/png' });
507
+ const buffer = Buffer.from(await blob.arrayBuffer());
508
+
509
+ // Save to output directory
510
+ mkdirSync('output', { recursive: true });
511
+ const outputPath = 'output/gradient-fills.png';
512
+ writeFileSync(outputPath, buffer);
513
+
514
+ console.log(`Created gradient fills and exported to ${outputPath}`);
515
+ console.log('Example complete');
516
+ } finally {
517
+ // Always dispose of the engine to free resources
518
+ engine.dispose();
519
+ }
662
520
  ```
663
521
 
664
522
  This guide demonstrates how to create, apply, and configure gradient fills programmatically, work with color stops, position gradients, and create modern visual effects like aurora gradients and button highlights.
@@ -682,13 +540,13 @@ Each gradient type contains color stops that define colors at specific positions
682
540
  Linear gradients transition colors along a straight line defined by start and end points. They're the most common gradient type and create clean, modern looks. Common use cases include hero sections, call-to-action buttons, headers, and banners.
683
541
 
684
542
  ```typescript highlight-linear-gradient
685
- const { block: linearVerticalBlock, fill: linearVertical } =
686
- createShapeWithFill('gradient/linear');
543
+ const { block: linearVerticalBlock, fill: linearVertical } =
544
+ createShapeWithFill('gradient/linear');
687
545
 
688
- engine.block.setGradientColorStops(linearVertical, 'fill/gradient/colors', [
689
- { color: { r: 1.0, g: 0.8, b: 0.2, a: 1.0 }, stop: 0 },
690
- { color: { r: 0.3, g: 0.4, b: 0.7, a: 1.0 }, stop: 1 }
691
- ]);
546
+ engine.block.setGradientColorStops(linearVertical, 'fill/gradient/colors', [
547
+ { color: { r: 1.0, g: 0.8, b: 0.2, a: 1.0 }, stop: 0 },
548
+ { color: { r: 0.3, g: 0.4, b: 0.7, a: 1.0 }, stop: 1 }
549
+ ]);
692
550
  ```
693
551
 
694
552
  #### Radial Gradients
@@ -707,13 +565,17 @@ engine.block.setGradientColorStops(radialCentered, 'fill/gradient/colors', [
707
565
  Conical gradients transition colors around a center point like a color wheel, starting at the top (12 o'clock) and rotating clockwise. Colors are specified by position rather than angle. Common use cases include pie charts, loading spinners, circular progress indicators, and color picker wheels.
708
566
 
709
567
  ```typescript highlight-conical-gradient
710
- engine.block.setGradientColorStops(conicalColorWheel, 'fill/gradient/colors', [
711
- { color: { r: 1.0, g: 0.0, b: 0.0, a: 1 }, stop: 0 },
712
- { color: { r: 1.0, g: 1.0, b: 0.0, a: 1 }, stop: 0.25 },
713
- { color: { r: 0.0, g: 1.0, b: 0.0, a: 1 }, stop: 0.5 },
714
- { color: { r: 0.0, g: 0.0, b: 1.0, a: 1 }, stop: 0.75 },
715
- { color: { r: 1.0, g: 0.0, b: 0.0, a: 1 }, stop: 1 }
716
- ]);
568
+ engine.block.setGradientColorStops(
569
+ conicalColorWheel,
570
+ 'fill/gradient/colors',
571
+ [
572
+ { color: { r: 1.0, g: 0.0, b: 0.0, a: 1 }, stop: 0 },
573
+ { color: { r: 1.0, g: 1.0, b: 0.0, a: 1 }, stop: 0.25 },
574
+ { color: { r: 0.0, g: 1.0, b: 0.0, a: 1 }, stop: 0.5 },
575
+ { color: { r: 0.0, g: 0.0, b: 1.0, a: 1 }, stop: 0.75 },
576
+ { color: { r: 1.0, g: 0.0, b: 0.0, a: 1 }, stop: 1 }
577
+ ]
578
+ );
717
579
  ```
718
580
 
719
581
  ### Gradient vs Other Fill Types
@@ -743,24 +605,6 @@ engine.block.setGradientColorStops(auroraGradient, 'fill/gradient/colors', [
743
605
  ]);
744
606
  ```
745
607
 
746
- ## Using the Built-in Gradient UI
747
-
748
- CE.SDK provides built-in UI controls for working with gradients through the **inspector bar** and **advanced inspector**. Users can switch between solid color and gradient fills, select gradient type (linear, radial, conical), add and remove color stops visually, adjust individual stop colors, and drag gradient control points for positioning.
749
-
750
- **Note**: Currently, only **linear gradients** are fully supported in the built-in UI. Radial and conical gradients are available programmatically.
751
-
752
- ### Enabling Fill Features
753
-
754
- Gradient controls are part of the fill feature system. You can check if the fill feature is enabled and control it programmatically:
755
-
756
- ```typescript highlight-enable-fill-feature
757
- // Fill features are enabled by default in CE.SDK
758
- // You can check and control fill feature availability:
759
- const engine = cesdk.engine;
760
- const isFillEnabled = cesdk.feature.isEnabled('ly.img.fill', { engine });
761
- console.log('Fill feature enabled:', isFillEnabled);
762
- ```
763
-
764
608
  ## Checking Gradient Fill Support
765
609
 
766
610
  ### Verifying Block Compatibility
@@ -815,11 +659,11 @@ The `createFill()` method returns a numeric fill ID. The fill exists independent
815
659
  Once you've created a gradient fill, attach it to a block using `setFill()`:
816
660
 
817
661
  ```typescript highlight-apply-gradient
818
- // Create gradient fill
819
- const gradientFill = engine.block.createFill(fillType);
662
+ // Create gradient fill
663
+ const gradientFill = engine.block.createFill(fillType);
820
664
 
821
- // Apply the fill to the block
822
- engine.block.setFill(block, gradientFill);
665
+ // Apply the fill to the block
666
+ engine.block.setFill(block, gradientFill);
823
667
  ```
824
668
 
825
669
  ### Getting the Current Fill
@@ -827,19 +671,18 @@ engine.block.setFill(block, gradientFill);
827
671
  Retrieve the current fill attached to a block and inspect its type:
828
672
 
829
673
  ```typescript highlight-get-fill
830
- const { block: inspectGradientBlock, fill: inspectGradient } =
831
- createShapeWithFill('gradient/linear');
674
+ const { block: inspectGradientBlock, fill: inspectGradient } =
675
+ createShapeWithFill('gradient/linear');
832
676
 
833
- engine.block.setGradientColorStops(inspectGradient, 'fill/gradient/colors', [
834
- { color: { r: 0.6, g: 0.3, b: 0.7, a: 1.0 }, stop: 0 },
835
- { color: { r: 0.3, g: 0.7, b: 0.6, a: 1.0 }, stop: 1 }
836
- ]);
677
+ engine.block.setGradientColorStops(inspectGradient, 'fill/gradient/colors', [
678
+ { color: { r: 0.6, g: 0.3, b: 0.7, a: 1.0 }, stop: 0 },
679
+ { color: { r: 0.3, g: 0.7, b: 0.6, a: 1.0 }, stop: 1 }
680
+ ]);
837
681
 
838
- // Get current fill from block
839
- const fillId = engine.block.getFill(block1);
840
- const fillType = engine.block.getType(fillId);
841
- // eslint-disable-next-line no-console
842
- console.log('Fill type:', fillType); // '//ly.img.ubq/fill/gradient/linear'
682
+ // Get current fill from block
683
+ const fillId = engine.block.getFill(block1);
684
+ const fillType = engine.block.getType(fillId);
685
+ console.log('Fill type:', fillType); // '//ly.img.ubq/fill/gradient/linear'
843
686
  ```
844
687
 
845
688
  ## Configuring Gradient Color Stops
@@ -867,7 +710,6 @@ const colorStops = engine.block.getGradientColorStops(
867
710
  inspectGradient,
868
711
  'fill/gradient/colors'
869
712
  );
870
- // eslint-disable-next-line no-console
871
713
  console.log('Color stops:', colorStops);
872
714
  ```
873
715
 
@@ -876,19 +718,19 @@ console.log('Color stops:', colorStops);
876
718
  Gradient color stops support multiple color spaces:
877
719
 
878
720
  ```typescript highlight-color-spaces
879
- const { block: cmykGradientBlock, fill: cmykGradient } =
880
- createShapeWithFill('gradient/linear');
721
+ const { block: cmykGradientBlock, fill: cmykGradient } =
722
+ createShapeWithFill('gradient/linear');
881
723
 
882
- // CMYK color stops for print
883
- engine.block.setGradientColorStops(cmykGradient, 'fill/gradient/colors', [
884
- { color: { c: 0.0, m: 1.0, y: 1.0, k: 0.0, tint: 1.0 }, stop: 0 },
885
- { color: { c: 1.0, m: 0.0, y: 1.0, k: 0.0, tint: 1.0 }, stop: 1 }
886
- ]);
724
+ // CMYK color stops for print
725
+ engine.block.setGradientColorStops(cmykGradient, 'fill/gradient/colors', [
726
+ { color: { c: 0.0, m: 1.0, y: 1.0, k: 0.0, tint: 1.0 }, stop: 0 },
727
+ { color: { c: 1.0, m: 0.0, y: 1.0, k: 0.0, tint: 1.0 }, stop: 1 }
728
+ ]);
887
729
 
888
- engine.block.setFloat(cmykGradient, 'fill/gradient/linear/startPointX', 0);
889
- engine.block.setFloat(cmykGradient, 'fill/gradient/linear/startPointY', 0.5);
890
- engine.block.setFloat(cmykGradient, 'fill/gradient/linear/endPointX', 1);
891
- engine.block.setFloat(cmykGradient, 'fill/gradient/linear/endPointY', 0.5);
730
+ engine.block.setFloat(cmykGradient, 'fill/gradient/linear/startPointX', 0);
731
+ engine.block.setFloat(cmykGradient, 'fill/gradient/linear/startPointY', 0.5);
732
+ engine.block.setFloat(cmykGradient, 'fill/gradient/linear/endPointX', 1);
733
+ engine.block.setFloat(cmykGradient, 'fill/gradient/linear/endPointY', 0.5);
892
734
  ```
893
735
 
894
736
  ## Positioning Linear Gradients
@@ -899,7 +741,11 @@ Linear gradients are positioned using start and end points with normalized coord
899
741
 
900
742
  ```typescript highlight-linear-position
901
743
  // Set vertical gradient (top to bottom)
902
- engine.block.setFloat(linearVertical, 'fill/gradient/linear/startPointX', 0.5);
744
+ engine.block.setFloat(
745
+ linearVertical,
746
+ 'fill/gradient/linear/startPointX',
747
+ 0.5
748
+ );
903
749
  engine.block.setFloat(linearVertical, 'fill/gradient/linear/startPointY', 0);
904
750
  engine.block.setFloat(linearVertical, 'fill/gradient/linear/endPointX', 0.5);
905
751
  engine.block.setFloat(linearVertical, 'fill/gradient/linear/endPointY', 1);
@@ -949,7 +795,6 @@ const endY = engine.block.getFloat(
949
795
  inspectGradient,
950
796
  'fill/gradient/linear/endPointY'
951
797
  );
952
- // eslint-disable-next-line no-console
953
798
  console.log('Linear gradient position:', { startX, startY, endX, endY });
954
799
  ```
955
800
 
@@ -961,8 +806,16 @@ Radial gradients are positioned using a center point and radius:
961
806
 
962
807
  ```typescript highlight-radial-position
963
808
  // Set center point (middle of block)
964
- engine.block.setFloat(radialCentered, 'fill/gradient/radial/centerPointX', 0.5);
965
- engine.block.setFloat(radialCentered, 'fill/gradient/radial/centerPointY', 0.5);
809
+ engine.block.setFloat(
810
+ radialCentered,
811
+ 'fill/gradient/radial/centerPointX',
812
+ 0.5
813
+ );
814
+ engine.block.setFloat(
815
+ radialCentered,
816
+ 'fill/gradient/radial/centerPointY',
817
+ 0.5
818
+ );
966
819
  engine.block.setFloat(radialCentered, 'fill/gradient/radial/radius', 0.8);
967
820
  ```
968
821
 
@@ -1023,43 +876,39 @@ The `centerPointX/Y` properties use normalized coordinates (0.0 to 1.0) relative
1023
876
  You can share a single gradient fill between multiple blocks. Changes to the shared gradient affect all blocks using it:
1024
877
 
1025
878
  ```typescript highlight-share-gradient
1026
- const block1 = engine.block.create('graphic');
1027
- const shape1 = engine.block.createShape('rect');
1028
- engine.block.setShape(block1, shape1);
1029
- engine.block.setWidth(block1, blockWidth);
1030
- engine.block.setHeight(block1, blockHeight / 2 - 5);
1031
- engine.block.appendChild(page, block1);
1032
-
1033
- const block2 = engine.block.create('graphic');
1034
- const shape2 = engine.block.createShape('rect');
1035
- engine.block.setShape(block2, shape2);
1036
- engine.block.setWidth(block2, blockWidth);
1037
- engine.block.setHeight(block2, blockHeight / 2 - 5);
1038
- engine.block.appendChild(page, block2);
1039
-
1040
- // Create one gradient fill
1041
- const sharedGradient = engine.block.createFill('gradient/linear');
1042
- engine.block.setGradientColorStops(sharedGradient, 'fill/gradient/colors', [
1043
- { color: { r: 1, g: 0, b: 0, a: 1 }, stop: 0 },
1044
- { color: { r: 0, g: 0, b: 1, a: 1 }, stop: 1 }
1045
- ]);
1046
-
1047
- engine.block.setFloat(sharedGradient, 'fill/gradient/linear/startPointX', 0);
1048
- engine.block.setFloat(sharedGradient, 'fill/gradient/linear/startPointY', 0.5);
1049
- engine.block.setFloat(sharedGradient, 'fill/gradient/linear/endPointX', 1);
1050
- engine.block.setFloat(sharedGradient, 'fill/gradient/linear/endPointY', 0.5);
1051
-
1052
- // Apply to both blocks
1053
- engine.block.setFill(block1, sharedGradient);
1054
- engine.block.setFill(block2, sharedGradient);
1055
-
1056
- // Change gradient after a delay to show it affects both
1057
- setTimeout(() => {
879
+ const block1 = engine.block.create('graphic');
880
+ const shape1 = engine.block.createShape('rect');
881
+ engine.block.setShape(block1, shape1);
882
+ engine.block.setWidth(block1, 200);
883
+ engine.block.setHeight(block1, 90);
884
+ engine.block.appendChild(page, block1);
885
+
886
+ const block2 = engine.block.create('graphic');
887
+ const shape2 = engine.block.createShape('rect');
888
+ engine.block.setShape(block2, shape2);
889
+ engine.block.setWidth(block2, 200);
890
+ engine.block.setHeight(block2, 90);
891
+ engine.block.appendChild(page, block2);
892
+
893
+ // Create one gradient fill
894
+ const sharedGradient = engine.block.createFill('gradient/linear');
1058
895
  engine.block.setGradientColorStops(sharedGradient, 'fill/gradient/colors', [
1059
- { color: { r: 0, g: 1, b: 0, a: 1 }, stop: 0 },
1060
- { color: { r: 1, g: 1, b: 0, a: 1 }, stop: 1 }
896
+ { color: { r: 1, g: 0, b: 0, a: 1 }, stop: 0 },
897
+ { color: { r: 0, g: 0, b: 1, a: 1 }, stop: 1 }
1061
898
  ]);
1062
- }, 2000);
899
+
900
+ engine.block.setFloat(sharedGradient, 'fill/gradient/linear/startPointX', 0);
901
+ engine.block.setFloat(
902
+ sharedGradient,
903
+ 'fill/gradient/linear/startPointY',
904
+ 0.5
905
+ );
906
+ engine.block.setFloat(sharedGradient, 'fill/gradient/linear/endPointX', 1);
907
+ engine.block.setFloat(sharedGradient, 'fill/gradient/linear/endPointY', 0.5);
908
+
909
+ // Apply to both blocks
910
+ engine.block.setFill(block1, sharedGradient);
911
+ engine.block.setFill(block2, sharedGradient);
1063
912
  ```
1064
913
 
1065
914
  ### Duplicating Gradient Fills
@@ -1073,20 +922,24 @@ When you duplicate a block, its gradient fill is automatically duplicated, creat
1073
922
  Create dreamy multi-color gradient backgrounds for hero sections:
1074
923
 
1075
924
  ```typescript highlight-aurora-gradient
1076
- const { block: auroraGradientBlock, fill: auroraGradient } =
1077
- createShapeWithFill('gradient/linear');
1078
-
1079
- engine.block.setGradientColorStops(auroraGradient, 'fill/gradient/colors', [
1080
- { color: { r: 0.4, g: 0.1, b: 0.8, a: 1 }, stop: 0 },
1081
- { color: { r: 0.8, g: 0.2, b: 0.6, a: 1 }, stop: 0.3 },
1082
- { color: { r: 1.0, g: 0.5, b: 0.3, a: 1 }, stop: 0.6 },
1083
- { color: { r: 1.0, g: 0.8, b: 0.2, a: 1 }, stop: 1 }
1084
- ]);
925
+ const { block: auroraGradientBlock, fill: auroraGradient } =
926
+ createShapeWithFill('gradient/linear');
927
+
928
+ engine.block.setGradientColorStops(auroraGradient, 'fill/gradient/colors', [
929
+ { color: { r: 0.4, g: 0.1, b: 0.8, a: 1 }, stop: 0 },
930
+ { color: { r: 0.8, g: 0.2, b: 0.6, a: 1 }, stop: 0.3 },
931
+ { color: { r: 1.0, g: 0.5, b: 0.3, a: 1 }, stop: 0.6 },
932
+ { color: { r: 1.0, g: 0.8, b: 0.2, a: 1 }, stop: 1 }
933
+ ]);
1085
934
 
1086
- engine.block.setFloat(auroraGradient, 'fill/gradient/linear/startPointX', 0);
1087
- engine.block.setFloat(auroraGradient, 'fill/gradient/linear/startPointY', 0.5);
1088
- engine.block.setFloat(auroraGradient, 'fill/gradient/linear/endPointX', 1);
1089
- engine.block.setFloat(auroraGradient, 'fill/gradient/linear/endPointY', 0.5);
935
+ engine.block.setFloat(auroraGradient, 'fill/gradient/linear/startPointX', 0);
936
+ engine.block.setFloat(
937
+ auroraGradient,
938
+ 'fill/gradient/linear/startPointY',
939
+ 0.5
940
+ );
941
+ engine.block.setFloat(auroraGradient, 'fill/gradient/linear/endPointX', 1);
942
+ engine.block.setFloat(auroraGradient, 'fill/gradient/linear/endPointY', 0.5);
1090
943
  ```
1091
944
 
1092
945
  ### Button Highlight Effect
@@ -1094,18 +947,26 @@ engine.block.setFloat(auroraGradient, 'fill/gradient/linear/endPointY', 0.5);
1094
947
  Use radial gradients to add depth and highlight effects to buttons:
1095
948
 
1096
949
  ```typescript highlight-button-gradient
1097
- const { block: radialHighlightBlock, fill: radialHighlight } =
1098
- createShapeWithFill('gradient/radial');
950
+ const { block: radialHighlightBlock, fill: radialHighlight } =
951
+ createShapeWithFill('gradient/radial');
1099
952
 
1100
- engine.block.setGradientColorStops(radialHighlight, 'fill/gradient/colors', [
1101
- { color: { r: 1.0, g: 1.0, b: 1.0, a: 0.3 }, stop: 0 },
1102
- { color: { r: 0.2, g: 0.4, b: 0.8, a: 1.0 }, stop: 1 }
1103
- ]);
953
+ engine.block.setGradientColorStops(radialHighlight, 'fill/gradient/colors', [
954
+ { color: { r: 1.0, g: 1.0, b: 1.0, a: 0.3 }, stop: 0 },
955
+ { color: { r: 0.2, g: 0.4, b: 0.8, a: 1.0 }, stop: 1 }
956
+ ]);
1104
957
 
1105
- // Set top-left highlight
1106
- engine.block.setFloat(radialHighlight, 'fill/gradient/radial/centerPointX', 0);
1107
- engine.block.setFloat(radialHighlight, 'fill/gradient/radial/centerPointY', 0);
1108
- engine.block.setFloat(radialHighlight, 'fill/gradient/radial/radius', 1.0);
958
+ // Set top-left highlight
959
+ engine.block.setFloat(
960
+ radialHighlight,
961
+ 'fill/gradient/radial/centerPointX',
962
+ 0
963
+ );
964
+ engine.block.setFloat(
965
+ radialHighlight,
966
+ 'fill/gradient/radial/centerPointY',
967
+ 0
968
+ );
969
+ engine.block.setFloat(radialHighlight, 'fill/gradient/radial/radius', 1.0);
1109
970
  ```
1110
971
 
1111
972
  ### Loading Spinner (Conical)
@@ -1113,25 +974,25 @@ engine.block.setFloat(radialHighlight, 'fill/gradient/radial/radius', 1.0);
1113
974
  Create circular progress indicators and loading animations with conical gradients:
1114
975
 
1115
976
  ```typescript highlight-spinner-gradient
1116
- const { block: conicalSpinnerBlock, fill: conicalSpinner } =
1117
- createShapeWithFill('gradient/conical');
977
+ const { block: conicalSpinnerBlock, fill: conicalSpinner } =
978
+ createShapeWithFill('gradient/conical');
1118
979
 
1119
- engine.block.setGradientColorStops(conicalSpinner, 'fill/gradient/colors', [
1120
- { color: { r: 0.2, g: 0.4, b: 0.8, a: 1 }, stop: 0 },
1121
- { color: { r: 0.2, g: 0.4, b: 0.8, a: 0 }, stop: 0.75 },
1122
- { color: { r: 0.2, g: 0.4, b: 0.8, a: 1 }, stop: 1 }
1123
- ]);
980
+ engine.block.setGradientColorStops(conicalSpinner, 'fill/gradient/colors', [
981
+ { color: { r: 0.2, g: 0.4, b: 0.8, a: 1 }, stop: 0 },
982
+ { color: { r: 0.2, g: 0.4, b: 0.8, a: 0 }, stop: 0.75 },
983
+ { color: { r: 0.2, g: 0.4, b: 0.8, a: 1 }, stop: 1 }
984
+ ]);
1124
985
 
1125
- engine.block.setFloat(
1126
- conicalSpinner,
1127
- 'fill/gradient/conical/centerPointX',
1128
- 0.5
1129
- );
1130
- engine.block.setFloat(
1131
- conicalSpinner,
1132
- 'fill/gradient/conical/centerPointY',
1133
- 0.5
1134
- );
986
+ engine.block.setFloat(
987
+ conicalSpinner,
988
+ 'fill/gradient/conical/centerPointX',
989
+ 0.5
990
+ );
991
+ engine.block.setFloat(
992
+ conicalSpinner,
993
+ 'fill/gradient/conical/centerPointY',
994
+ 0.5
995
+ );
1135
996
  ```
1136
997
 
1137
998
  ### Transparency Overlay
@@ -1139,18 +1000,22 @@ engine.block.setFloat(
1139
1000
  Create smooth transparency effects with alpha channel transitions:
1140
1001
 
1141
1002
  ```typescript highlight-overlay-gradient
1142
- const { block: overlayGradientBlock, fill: overlayGradient } =
1143
- createShapeWithFill('gradient/linear');
1003
+ const { block: overlayGradientBlock, fill: overlayGradient } =
1004
+ createShapeWithFill('gradient/linear');
1144
1005
 
1145
- engine.block.setGradientColorStops(overlayGradient, 'fill/gradient/colors', [
1146
- { color: { r: 0.0, g: 0.0, b: 0.0, a: 0 }, stop: 0 },
1147
- { color: { r: 0.0, g: 0.0, b: 0.0, a: 0.7 }, stop: 1 }
1148
- ]);
1006
+ engine.block.setGradientColorStops(overlayGradient, 'fill/gradient/colors', [
1007
+ { color: { r: 0.0, g: 0.0, b: 0.0, a: 0 }, stop: 0 },
1008
+ { color: { r: 0.0, g: 0.0, b: 0.0, a: 0.7 }, stop: 1 }
1009
+ ]);
1149
1010
 
1150
- engine.block.setFloat(overlayGradient, 'fill/gradient/linear/startPointX', 0.5);
1151
- engine.block.setFloat(overlayGradient, 'fill/gradient/linear/startPointY', 0);
1152
- engine.block.setFloat(overlayGradient, 'fill/gradient/linear/endPointX', 0.5);
1153
- engine.block.setFloat(overlayGradient, 'fill/gradient/linear/endPointY', 1);
1011
+ engine.block.setFloat(
1012
+ overlayGradient,
1013
+ 'fill/gradient/linear/startPointX',
1014
+ 0.5
1015
+ );
1016
+ engine.block.setFloat(overlayGradient, 'fill/gradient/linear/startPointY', 0);
1017
+ engine.block.setFloat(overlayGradient, 'fill/gradient/linear/endPointX', 0.5);
1018
+ engine.block.setFloat(overlayGradient, 'fill/gradient/linear/endPointY', 1);
1154
1019
  ```
1155
1020
 
1156
1021
  ### Duotone Effect
@@ -1158,18 +1023,18 @@ engine.block.setFloat(overlayGradient, 'fill/gradient/linear/endPointY', 1);
1158
1023
  Create modern two-color gradient overlays:
1159
1024
 
1160
1025
  ```typescript highlight-duotone-gradient
1161
- const { block: duotoneGradientBlock, fill: duotoneGradient } =
1162
- createShapeWithFill('gradient/linear');
1026
+ const { block: duotoneGradientBlock, fill: duotoneGradient } =
1027
+ createShapeWithFill('gradient/linear');
1163
1028
 
1164
- engine.block.setGradientColorStops(duotoneGradient, 'fill/gradient/colors', [
1165
- { color: { r: 0.8, g: 0.2, b: 0.9, a: 1 }, stop: 0 },
1166
- { color: { r: 0.2, g: 0.9, b: 0.8, a: 1 }, stop: 1 }
1167
- ]);
1029
+ engine.block.setGradientColorStops(duotoneGradient, 'fill/gradient/colors', [
1030
+ { color: { r: 0.8, g: 0.2, b: 0.9, a: 1 }, stop: 0 },
1031
+ { color: { r: 0.2, g: 0.9, b: 0.8, a: 1 }, stop: 1 }
1032
+ ]);
1168
1033
 
1169
- engine.block.setFloat(duotoneGradient, 'fill/gradient/linear/startPointX', 0);
1170
- engine.block.setFloat(duotoneGradient, 'fill/gradient/linear/startPointY', 0);
1171
- engine.block.setFloat(duotoneGradient, 'fill/gradient/linear/endPointX', 1);
1172
- engine.block.setFloat(duotoneGradient, 'fill/gradient/linear/endPointY', 1);
1034
+ engine.block.setFloat(duotoneGradient, 'fill/gradient/linear/startPointX', 0);
1035
+ engine.block.setFloat(duotoneGradient, 'fill/gradient/linear/startPointY', 0);
1036
+ engine.block.setFloat(duotoneGradient, 'fill/gradient/linear/endPointX', 1);
1037
+ engine.block.setFloat(duotoneGradient, 'fill/gradient/linear/endPointY', 1);
1173
1038
  ```
1174
1039
 
1175
1040
  ## Troubleshooting
@@ -1249,30 +1114,30 @@ If color stops don't update:
1249
1114
 
1250
1115
  ### Linear Gradient Properties
1251
1116
 
1252
- | Property | Type | Default | Description |
1253
- | ---------------------------------- | -------------------- | ------- | ------------------------- |
1117
+ | Property | Type | Default | Description |
1118
+ | ---------------------------------- | ------------------- | ------- | ------------------------- |
1254
1119
  | `fill/gradient/colors` | GradientColorStop\[] | - | Array of color stops |
1255
- | `fill/gradient/linear/startPointX` | Float (0.0-1.0) | 0.5 | Horizontal start position |
1256
- | `fill/gradient/linear/startPointY` | Float (0.0-1.0) | 0.0 | Vertical start position |
1257
- | `fill/gradient/linear/endPointX` | Float (0.0-1.0) | 0.5 | Horizontal end position |
1258
- | `fill/gradient/linear/endPointY` | Float (0.0-1.0) | 1.0 | Vertical end position |
1120
+ | `fill/gradient/linear/startPointX` | Float (0.0-1.0) | 0.5 | Horizontal start position |
1121
+ | `fill/gradient/linear/startPointY` | Float (0.0-1.0) | 0.0 | Vertical start position |
1122
+ | `fill/gradient/linear/endPointX` | Float (0.0-1.0) | 0.5 | Horizontal end position |
1123
+ | `fill/gradient/linear/endPointY` | Float (0.0-1.0) | 1.0 | Vertical end position |
1259
1124
 
1260
1125
  ### Radial Gradient Properties
1261
1126
 
1262
- | Property | Type | Default | Description |
1263
- | ----------------------------------- | -------------------- | ------- | ------------------------------- |
1127
+ | Property | Type | Default | Description |
1128
+ | ----------------------------------- | ------------------- | ------- | ------------------------------- |
1264
1129
  | `fill/gradient/colors` | GradientColorStop\[] | - | Array of color stops |
1265
- | `fill/gradient/radial/centerPointX` | Float (0.0-1.0) | 0.0 | Horizontal center position |
1266
- | `fill/gradient/radial/centerPointY` | Float (0.0-1.0) | 0.0 | Vertical center position |
1267
- | `fill/gradient/radial/radius` | Float | 1.0 | Radius relative to smaller side |
1130
+ | `fill/gradient/radial/centerPointX` | Float (0.0-1.0) | 0.0 | Horizontal center position |
1131
+ | `fill/gradient/radial/centerPointY` | Float (0.0-1.0) | 0.0 | Vertical center position |
1132
+ | `fill/gradient/radial/radius` | Float | 1.0 | Radius relative to smaller side |
1268
1133
 
1269
1134
  ### Conical Gradient Properties
1270
1135
 
1271
- | Property | Type | Default | Description |
1272
- | ------------------------------------ | -------------------- | ------- | -------------------------- |
1136
+ | Property | Type | Default | Description |
1137
+ | ------------------------------------ | ------------------- | ------- | -------------------------- |
1273
1138
  | `fill/gradient/colors` | GradientColorStop\[] | - | Array of color stops |
1274
- | `fill/gradient/conical/centerPointX` | Float (0.0-1.0) | 0.0 | Horizontal center position |
1275
- | `fill/gradient/conical/centerPointY` | Float (0.0-1.0) | 0.0 | Vertical center position |
1139
+ | `fill/gradient/conical/centerPointX` | Float (0.0-1.0) | 0.0 | Horizontal center position |
1140
+ | `fill/gradient/conical/centerPointY` | Float (0.0-1.0) | 0.0 | Vertical center position |
1276
1141
 
1277
1142
  **Note**: Conical gradients rotate clockwise starting from the top (12 o'clock). There is no rotation or angle property.
1278
1143
 
@@ -1291,21 +1156,13 @@ type Color =
1291
1156
  | { name: string; tint: number; externalReference: string }; // Spot
1292
1157
  ```
1293
1158
 
1294
- ## Next Steps
1295
-
1296
- Now that you understand gradient fills, explore other fill types and color management features:
1297
1159
 
1298
- - Learn about Color Fills for solid colors
1299
- - Explore Image Fills for photo content
1300
- - Understand Fill Overview for the comprehensive fill system
1301
- - Review Apply Colors for color management across properties
1302
- - Study Blocks Concept for understanding the block system
1303
1160
 
1304
1161
  ---
1305
1162
 
1306
1163
  ## More Resources
1307
1164
 
1308
- - **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
1165
+ - **[Node.js Documentation Index](https://img.ly/docs/cesdk/node.md)** - Browse all Node.js documentation
1309
1166
  - **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
1310
- - **[Web Documentation](./js.md)** - Interactive documentation with examples
1311
- - **[Support](mailto:support@img.ly)** - Contact IMG.LY support
1167
+ - **[Web Documentation](./node.md)** - Interactive documentation with examples
1168
+ - **[Support](mailto:support@img.ly)** - Contact IMG.LY support