@imgly/codesign-mcp 0.1.5 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (973) hide show
  1. package/README.md +51 -1
  2. package/assets/docs/guide/SKILL.md +45 -53
  3. package/assets/docs/guide/animation/create/base.md +234 -243
  4. package/assets/docs/guide/animation/create/text.md +250 -231
  5. package/assets/docs/guide/animation/create.md +197 -231
  6. package/assets/docs/guide/animation/edit.md +196 -271
  7. package/assets/docs/guide/animation/types.md +182 -185
  8. package/assets/docs/guide/animation.md +9 -6
  9. package/assets/docs/guide/api/AssetAPI.md +7 -53
  10. package/assets/docs/guide/api/BlockAPI.md +725 -648
  11. package/assets/docs/guide/api/CreativeEngine.md +7 -16
  12. package/assets/docs/guide/api/EditorAPI.md +32 -93
  13. package/assets/docs/guide/api/EventAPI.md +1 -2
  14. package/assets/docs/guide/api/SceneAPI.md +47 -98
  15. package/assets/docs/guide/api/VariableAPI.md +1 -4
  16. package/assets/docs/guide/api/node/classes/assetapi.md +1090 -0
  17. package/assets/docs/guide/api/node/classes/blockapi.md +12965 -0
  18. package/assets/docs/guide/api/node/classes/creativeengine.md +319 -0
  19. package/assets/docs/guide/api/node/classes/editorapi.md +3417 -0
  20. package/assets/docs/guide/api/node/classes/engineactions.md +319 -0
  21. package/assets/docs/guide/api/node/classes/eventapi.md +56 -0
  22. package/assets/docs/guide/api/node/classes/sceneapi.md +1370 -0
  23. package/assets/docs/guide/api/node/classes/variableapi.md +143 -0
  24. package/assets/docs/guide/api/node/enumerations/compressionformat.md +23 -0
  25. package/assets/docs/guide/api/node/enumerations/compressionlevel.md +24 -0
  26. package/assets/docs/guide/api/node/functions/iscmykcolor.md +30 -0
  27. package/assets/docs/guide/api/node/functions/isrgbacolor.md +30 -0
  28. package/assets/docs/guide/api/node/functions/isspotcolor.md +30 -0
  29. package/assets/docs/guide/api/node/interfaces/addvideooptions.md +31 -0
  30. package/assets/docs/guide/api/node/interfaces/applyassetoptions.md +31 -0
  31. package/assets/docs/guide/api/node/interfaces/asset.md +30 -0
  32. package/assets/docs/guide/api/node/interfaces/assetbooleanproperty.md +25 -0
  33. package/assets/docs/guide/api/node/interfaces/assetcmykcolor.md +26 -0
  34. package/assets/docs/guide/api/node/interfaces/assetcolorproperty.md +25 -0
  35. package/assets/docs/guide/api/node/interfaces/assetcontentaspectratio.md +23 -0
  36. package/assets/docs/guide/api/node/interfaces/assetdefinition.md +31 -0
  37. package/assets/docs/guide/api/node/interfaces/assetenumproperty.md +26 -0
  38. package/assets/docs/guide/api/node/interfaces/assetfixedaspectratio.md +24 -0
  39. package/assets/docs/guide/api/node/interfaces/assetfixedsize.md +25 -0
  40. package/assets/docs/guide/api/node/interfaces/assetfreeaspectratio.md +22 -0
  41. package/assets/docs/guide/api/node/interfaces/assetnumberproperty.md +28 -0
  42. package/assets/docs/guide/api/node/interfaces/assetpayload.md +27 -0
  43. package/assets/docs/guide/api/node/interfaces/assetquerydata.md +32 -0
  44. package/assets/docs/guide/api/node/interfaces/assetresult.md +46 -0
  45. package/assets/docs/guide/api/node/interfaces/assetrgbcolor.md +25 -0
  46. package/assets/docs/guide/api/node/interfaces/assetsource.md +111 -0
  47. package/assets/docs/guide/api/node/interfaces/assetspotcolor.md +25 -0
  48. package/assets/docs/guide/api/node/interfaces/assetsqueryresult.md +31 -0
  49. package/assets/docs/guide/api/node/interfaces/assetstringproperty.md +25 -0
  50. package/assets/docs/guide/api/node/interfaces/assetstylepreset.md +39 -0
  51. package/assets/docs/guide/api/node/interfaces/assetstylepresetanimation.md +23 -0
  52. package/assets/docs/guide/api/node/interfaces/audiotrackinfo.md +32 -0
  53. package/assets/docs/guide/api/node/interfaces/blockevent.md +26 -0
  54. package/assets/docs/guide/api/node/interfaces/blockstateerror.md +26 -0
  55. package/assets/docs/guide/api/node/interfaces/blockstatepending.md +26 -0
  56. package/assets/docs/guide/api/node/interfaces/blockstateready.md +25 -0
  57. package/assets/docs/guide/api/node/interfaces/buffer.md +26 -0
  58. package/assets/docs/guide/api/node/interfaces/characterinkbox.md +29 -0
  59. package/assets/docs/guide/api/node/interfaces/cmykcolor.md +34 -0
  60. package/assets/docs/guide/api/node/interfaces/completeassetresult.md +46 -0
  61. package/assets/docs/guide/api/node/interfaces/configuration.md +38 -0
  62. package/assets/docs/guide/api/node/interfaces/dominantcolor.md +25 -0
  63. package/assets/docs/guide/api/node/interfaces/dominantcolorsoptions.md +23 -0
  64. package/assets/docs/guide/api/node/interfaces/engineactioninfo.md +24 -0
  65. package/assets/docs/guide/api/node/interfaces/engineactionsregistry.md +18 -0
  66. package/assets/docs/guide/api/node/interfaces/engineplugin.md +30 -0
  67. package/assets/docs/guide/api/node/interfaces/font.md +27 -0
  68. package/assets/docs/guide/api/node/interfaces/fontmetrics.md +32 -0
  69. package/assets/docs/guide/api/node/interfaces/gradientcolorstop.md +28 -0
  70. package/assets/docs/guide/api/node/interfaces/logger.md +39 -0
  71. package/assets/docs/guide/api/node/interfaces/pageduration.md +23 -0
  72. package/assets/docs/guide/api/node/interfaces/range.md +23 -0
  73. package/assets/docs/guide/api/node/interfaces/rgbacolor.md +32 -0
  74. package/assets/docs/guide/api/node/interfaces/rgbcolor.md +30 -0
  75. package/assets/docs/guide/api/node/interfaces/settings.md +126 -0
  76. package/assets/docs/guide/api/node/interfaces/size2.md +21 -0
  77. package/assets/docs/guide/api/node/interfaces/source.md +24 -0
  78. package/assets/docs/guide/api/node/interfaces/spotcolor.md +30 -0
  79. package/assets/docs/guide/api/node/interfaces/textdecorationconfig.md +31 -0
  80. package/assets/docs/guide/api/node/interfaces/textfontsizeoptions.md +24 -0
  81. package/assets/docs/guide/api/node/interfaces/textruninfo.md +33 -0
  82. package/assets/docs/guide/api/node/interfaces/transientresource.md +26 -0
  83. package/assets/docs/guide/api/node/interfaces/typeface.md +23 -0
  84. package/assets/docs/guide/api/node/interfaces/vec2.md +21 -0
  85. package/assets/docs/guide/api/node/interfaces/vec3.md +22 -0
  86. package/assets/docs/guide/api/node/type-aliases/addimageoptions.md +36 -0
  87. package/assets/docs/guide/api/node/type-aliases/animationbaselinedirection.md +18 -0
  88. package/assets/docs/guide/api/node/type-aliases/animationblockswipetextdirection.md +18 -0
  89. package/assets/docs/guide/api/node/type-aliases/animationeasing.md +18 -0
  90. package/assets/docs/guide/api/node/type-aliases/animationentry.md +28 -0
  91. package/assets/docs/guide/api/node/type-aliases/animationgrowdirection.md +18 -0
  92. package/assets/docs/guide/api/node/type-aliases/animationjumploopdirection.md +18 -0
  93. package/assets/docs/guide/api/node/type-aliases/animationkenburnsdirection.md +18 -0
  94. package/assets/docs/guide/api/node/type-aliases/animationmergetextdirection.md +18 -0
  95. package/assets/docs/guide/api/node/type-aliases/animationoptions.md +28 -0
  96. package/assets/docs/guide/api/node/type-aliases/animationspindirection.md +18 -0
  97. package/assets/docs/guide/api/node/type-aliases/animationspinloopdirection.md +18 -0
  98. package/assets/docs/guide/api/node/type-aliases/animationtype.md +24 -0
  99. package/assets/docs/guide/api/node/type-aliases/animationtypelonghand.md +21 -0
  100. package/assets/docs/guide/api/node/type-aliases/animationtypeshorthand.md +18 -0
  101. package/assets/docs/guide/api/node/type-aliases/animationtypewritertextwritingstyle.md +18 -0
  102. package/assets/docs/guide/api/node/type-aliases/animationwipedirection.md +18 -0
  103. package/assets/docs/guide/api/node/type-aliases/applicationmimetype.md +20 -0
  104. package/assets/docs/guide/api/node/type-aliases/assetcolor.md +23 -0
  105. package/assets/docs/guide/api/node/type-aliases/assetfilter.md +47 -0
  106. package/assets/docs/guide/api/node/type-aliases/assetgroups.md +25 -0
  107. package/assets/docs/guide/api/node/type-aliases/assetmetadata.md +42 -0
  108. package/assets/docs/guide/api/node/type-aliases/assetproperty.md +25 -0
  109. package/assets/docs/guide/api/node/type-aliases/assetpropertyfilter.md +41 -0
  110. package/assets/docs/guide/api/node/type-aliases/assetpropertypath.md +26 -0
  111. package/assets/docs/guide/api/node/type-aliases/assetstylepresetanimationproperties.md +34 -0
  112. package/assets/docs/guide/api/node/type-aliases/assetstylepresetproperties.md +29 -0
  113. package/assets/docs/guide/api/node/type-aliases/assetstylepresetpropertyvalue.md +29 -0
  114. package/assets/docs/guide/api/node/type-aliases/assetstylepresetscalableproperty.md +28 -0
  115. package/assets/docs/guide/api/node/type-aliases/assettransformpreset.md +24 -0
  116. package/assets/docs/guide/api/node/type-aliases/asyncuriresolver.md +36 -0
  117. package/assets/docs/guide/api/node/type-aliases/audioexportoptions.md +43 -0
  118. package/assets/docs/guide/api/node/type-aliases/audiofromvideooptions.md +27 -0
  119. package/assets/docs/guide/api/node/type-aliases/audiomimetype.md +20 -0
  120. package/assets/docs/guide/api/node/type-aliases/blendmode.md +18 -0
  121. package/assets/docs/guide/api/node/type-aliases/blockenumtype.md +63 -0
  122. package/assets/docs/guide/api/node/type-aliases/blockstate.md +26 -0
  123. package/assets/docs/guide/api/node/type-aliases/blurtype.md +24 -0
  124. package/assets/docs/guide/api/node/type-aliases/blurtypelonghand.md +21 -0
  125. package/assets/docs/guide/api/node/type-aliases/blurtypeshorthand.md +18 -0
  126. package/assets/docs/guide/api/node/type-aliases/booleanoperation.md +27 -0
  127. package/assets/docs/guide/api/node/type-aliases/boolpropertyname.md +79 -0
  128. package/assets/docs/guide/api/node/type-aliases/cameraclampingovershootmode.md +18 -0
  129. package/assets/docs/guide/api/node/type-aliases/captionhorizontalalignment.md +18 -0
  130. package/assets/docs/guide/api/node/type-aliases/captionverticalalignment.md +18 -0
  131. package/assets/docs/guide/api/node/type-aliases/cmyk.md +23 -0
  132. package/assets/docs/guide/api/node/type-aliases/color.md +23 -0
  133. package/assets/docs/guide/api/node/type-aliases/colorpickercolormode.md +18 -0
  134. package/assets/docs/guide/api/node/type-aliases/colorpropertyname.md +31 -0
  135. package/assets/docs/guide/api/node/type-aliases/colorspace.md +20 -0
  136. package/assets/docs/guide/api/node/type-aliases/contentfillmode.md +18 -0
  137. package/assets/docs/guide/api/node/type-aliases/controlgizmomovehandlevisibility.md +18 -0
  138. package/assets/docs/guide/api/node/type-aliases/controlgizmoresizehandlesvisibility.md +18 -0
  139. package/assets/docs/guide/api/node/type-aliases/controlgizmorotatehandlesvisibility.md +18 -0
  140. package/assets/docs/guide/api/node/type-aliases/controlgizmoscalehandlesvisibility.md +18 -0
  141. package/assets/docs/guide/api/node/type-aliases/createsceneoptions.md +30 -0
  142. package/assets/docs/guide/api/node/type-aliases/cutoutoperation.md +20 -0
  143. package/assets/docs/guide/api/node/type-aliases/cutouttype.md +18 -0
  144. package/assets/docs/guide/api/node/type-aliases/defaultassetsourceid.md +37 -0
  145. package/assets/docs/guide/api/node/type-aliases/demoassetsourceid.md +33 -0
  146. package/assets/docs/guide/api/node/type-aliases/designblockid.md +20 -0
  147. package/assets/docs/guide/api/node/type-aliases/designblocktype.md +24 -0
  148. package/assets/docs/guide/api/node/type-aliases/designblocktypelonghand.md +21 -0
  149. package/assets/docs/guide/api/node/type-aliases/designblocktypeshorthand.md +18 -0
  150. package/assets/docs/guide/api/node/type-aliases/designunit.md +18 -0
  151. package/assets/docs/guide/api/node/type-aliases/doubleclickselectionmode.md +18 -0
  152. package/assets/docs/guide/api/node/type-aliases/doublepropertyname.md +26 -0
  153. package/assets/docs/guide/api/node/type-aliases/dropshadowoptions.md +32 -0
  154. package/assets/docs/guide/api/node/type-aliases/editmode.md +27 -0
  155. package/assets/docs/guide/api/node/type-aliases/effecttype.md +24 -0
  156. package/assets/docs/guide/api/node/type-aliases/effecttypelonghand.md +21 -0
  157. package/assets/docs/guide/api/node/type-aliases/effecttypeshorthand.md +18 -0
  158. package/assets/docs/guide/api/node/type-aliases/engineactionid.md +20 -0
  159. package/assets/docs/guide/api/node/type-aliases/enginecustomactionfunction.md +30 -0
  160. package/assets/docs/guide/api/node/type-aliases/engineplugincontext.md +30 -0
  161. package/assets/docs/guide/api/node/type-aliases/enumpropertyname.md +59 -0
  162. package/assets/docs/guide/api/node/type-aliases/enumvalues.md +59 -0
  163. package/assets/docs/guide/api/node/type-aliases/exportoptions.md +57 -0
  164. package/assets/docs/guide/api/node/type-aliases/fillpixelstreamorientation.md +18 -0
  165. package/assets/docs/guide/api/node/type-aliases/filltype.md +24 -0
  166. package/assets/docs/guide/api/node/type-aliases/filltypelonghand.md +21 -0
  167. package/assets/docs/guide/api/node/type-aliases/filltypeshorthand.md +18 -0
  168. package/assets/docs/guide/api/node/type-aliases/floatpropertyname.md +184 -0
  169. package/assets/docs/guide/api/node/type-aliases/fontsizeunit.md +23 -0
  170. package/assets/docs/guide/api/node/type-aliases/fontstyle.md +20 -0
  171. package/assets/docs/guide/api/node/type-aliases/fontweight.md +30 -0
  172. package/assets/docs/guide/api/node/type-aliases/gradientstoprgba.md +23 -0
  173. package/assets/docs/guide/api/node/type-aliases/heightmode.md +18 -0
  174. package/assets/docs/guide/api/node/type-aliases/hexcolorstring.md +20 -0
  175. package/assets/docs/guide/api/node/type-aliases/historyid.md +20 -0
  176. package/assets/docs/guide/api/node/type-aliases/historyupdate.md +25 -0
  177. package/assets/docs/guide/api/node/type-aliases/horizontalblockalignment.md +18 -0
  178. package/assets/docs/guide/api/node/type-aliases/horizontalcontentfillalignment.md +18 -0
  179. package/assets/docs/guide/api/node/type-aliases/horizontaltextalignment.md +18 -0
  180. package/assets/docs/guide/api/node/type-aliases/imagemimetype.md +25 -0
  181. package/assets/docs/guide/api/node/type-aliases/intpropertyname.md +26 -0
  182. package/assets/docs/guide/api/node/type-aliases/liststyle.md +20 -0
  183. package/assets/docs/guide/api/node/type-aliases/locale.md +20 -0
  184. package/assets/docs/guide/api/node/type-aliases/loglevel.md +24 -0
  185. package/assets/docs/guide/api/node/type-aliases/mimetype.md +20 -0
  186. package/assets/docs/guide/api/node/type-aliases/objecttype.md +24 -0
  187. package/assets/docs/guide/api/node/type-aliases/objecttypelonghand.md +27 -0
  188. package/assets/docs/guide/api/node/type-aliases/objecttypeshorthand.md +27 -0
  189. package/assets/docs/guide/api/node/type-aliases/optionalprefix.md +24 -0
  190. package/assets/docs/guide/api/node/type-aliases/pageguidessource.md +18 -0
  191. package/assets/docs/guide/api/node/type-aliases/palettecolor.md +24 -0
  192. package/assets/docs/guide/api/node/type-aliases/positionmode.md +20 -0
  193. package/assets/docs/guide/api/node/type-aliases/positionxmode.md +18 -0
  194. package/assets/docs/guide/api/node/type-aliases/positionymode.md +18 -0
  195. package/assets/docs/guide/api/node/type-aliases/propertytype.md +31 -0
  196. package/assets/docs/guide/api/node/type-aliases/rgba.md +23 -0
  197. package/assets/docs/guide/api/node/type-aliases/rolestring.md +23 -0
  198. package/assets/docs/guide/api/node/type-aliases/scenefontsizeunit.md +18 -0
  199. package/assets/docs/guide/api/node/type-aliases/scenelayout.md +18 -0
  200. package/assets/docs/guide/api/node/type-aliases/scenemode.md +18 -0
  201. package/assets/docs/guide/api/node/type-aliases/scope.md +50 -0
  202. package/assets/docs/guide/api/node/type-aliases/settingboolpropertyname.md +62 -0
  203. package/assets/docs/guide/api/node/type-aliases/settingcolorpropertyname.md +38 -0
  204. package/assets/docs/guide/api/node/type-aliases/settingenumpropertyname.md +29 -0
  205. package/assets/docs/guide/api/node/type-aliases/settingenumtype.md +33 -0
  206. package/assets/docs/guide/api/node/type-aliases/settingenumvalues.md +29 -0
  207. package/assets/docs/guide/api/node/type-aliases/settingfloatpropertyname.md +25 -0
  208. package/assets/docs/guide/api/node/type-aliases/settingintpropertyname.md +18 -0
  209. package/assets/docs/guide/api/node/type-aliases/settingkey.md +20 -0
  210. package/assets/docs/guide/api/node/type-aliases/settingsbool.md +18 -0
  211. package/assets/docs/guide/api/node/type-aliases/settingscolor.md +20 -0
  212. package/assets/docs/guide/api/node/type-aliases/settingscolorrgba.md +24 -0
  213. package/assets/docs/guide/api/node/type-aliases/settingsenum.md +18 -0
  214. package/assets/docs/guide/api/node/type-aliases/settingsfloat.md +18 -0
  215. package/assets/docs/guide/api/node/type-aliases/settingsint.md +18 -0
  216. package/assets/docs/guide/api/node/type-aliases/settingsstring.md +18 -0
  217. package/assets/docs/guide/api/node/type-aliases/settingstringpropertyname.md +28 -0
  218. package/assets/docs/guide/api/node/type-aliases/settingtype.md +20 -0
  219. package/assets/docs/guide/api/node/type-aliases/settingvaluetype.md +26 -0
  220. package/assets/docs/guide/api/node/type-aliases/shapetype.md +24 -0
  221. package/assets/docs/guide/api/node/type-aliases/shapetypelonghand.md +21 -0
  222. package/assets/docs/guide/api/node/type-aliases/shapetypeshorthand.md +18 -0
  223. package/assets/docs/guide/api/node/type-aliases/shapevectorpathfillrule.md +18 -0
  224. package/assets/docs/guide/api/node/type-aliases/sizemode.md +20 -0
  225. package/assets/docs/guide/api/node/type-aliases/sortingorder.md +21 -0
  226. package/assets/docs/guide/api/node/type-aliases/sourcesetpropertyname.md +18 -0
  227. package/assets/docs/guide/api/node/type-aliases/splitoptions.md +28 -0
  228. package/assets/docs/guide/api/node/type-aliases/stringpropertyname.md +43 -0
  229. package/assets/docs/guide/api/node/type-aliases/strokecap.md +18 -0
  230. package/assets/docs/guide/api/node/type-aliases/strokecornergeometry.md +18 -0
  231. package/assets/docs/guide/api/node/type-aliases/strokedashendcap.md +18 -0
  232. package/assets/docs/guide/api/node/type-aliases/strokedashstartcap.md +18 -0
  233. package/assets/docs/guide/api/node/type-aliases/strokeendcap.md +18 -0
  234. package/assets/docs/guide/api/node/type-aliases/strokeposition.md +18 -0
  235. package/assets/docs/guide/api/node/type-aliases/strokestartcap.md +18 -0
  236. package/assets/docs/guide/api/node/type-aliases/strokestyle.md +18 -0
  237. package/assets/docs/guide/api/node/type-aliases/syncuriresolver.md +31 -0
  238. package/assets/docs/guide/api/node/type-aliases/textanimationwritingstyle.md +18 -0
  239. package/assets/docs/guide/api/node/type-aliases/textcase.md +20 -0
  240. package/assets/docs/guide/api/node/type-aliases/textdecorationline.md +27 -0
  241. package/assets/docs/guide/api/node/type-aliases/textdecorationstyle.md +26 -0
  242. package/assets/docs/guide/api/node/type-aliases/textverticalalignment.md +18 -0
  243. package/assets/docs/guide/api/node/type-aliases/timelinetrackvisibility.md +18 -0
  244. package/assets/docs/guide/api/node/type-aliases/touchpinchaction.md +18 -0
  245. package/assets/docs/guide/api/node/type-aliases/touchrotateaction.md +18 -0
  246. package/assets/docs/guide/api/node/type-aliases/typefacedefinition.md +41 -0
  247. package/assets/docs/guide/api/node/type-aliases/verticalblockalignment.md +18 -0
  248. package/assets/docs/guide/api/node/type-aliases/verticalcontentfillalignment.md +18 -0
  249. package/assets/docs/guide/api/node/type-aliases/videoexportoptions.md +54 -0
  250. package/assets/docs/guide/api/node/type-aliases/videomimetype.md +20 -0
  251. package/assets/docs/guide/api/node/type-aliases/widthmode.md +18 -0
  252. package/assets/docs/guide/api/node/type-aliases/xywh.md +23 -0
  253. package/assets/docs/guide/api/node/type-aliases/zoomautofitaxis.md +20 -0
  254. package/assets/docs/guide/api/node/type-aliases/zoomoptions.md +27 -0
  255. package/assets/docs/guide/api/node/variables/animation_types.md +21 -0
  256. package/assets/docs/guide/api/node/variables/animationbaselinedirectionvalues.md +18 -0
  257. package/assets/docs/guide/api/node/variables/animationblockswipetextdirectionvalues.md +18 -0
  258. package/assets/docs/guide/api/node/variables/animationeasingvalues.md +18 -0
  259. package/assets/docs/guide/api/node/variables/animationgrowdirectionvalues.md +18 -0
  260. package/assets/docs/guide/api/node/variables/animationjumploopdirectionvalues.md +18 -0
  261. package/assets/docs/guide/api/node/variables/animationkenburnsdirectionvalues.md +18 -0
  262. package/assets/docs/guide/api/node/variables/animationmergetextdirectionvalues.md +18 -0
  263. package/assets/docs/guide/api/node/variables/animationspindirectionvalues.md +18 -0
  264. package/assets/docs/guide/api/node/variables/animationspinloopdirectionvalues.md +18 -0
  265. package/assets/docs/guide/api/node/variables/animationtypewritertextwritingstylevalues.md +18 -0
  266. package/assets/docs/guide/api/node/variables/animationwipedirectionvalues.md +18 -0
  267. package/assets/docs/guide/api/node/variables/blendmodevalues.md +18 -0
  268. package/assets/docs/guide/api/node/variables/blur_types.md +21 -0
  269. package/assets/docs/guide/api/node/variables/cameraclampingovershootmodevalues.md +18 -0
  270. package/assets/docs/guide/api/node/variables/captionhorizontalalignmentvalues.md +18 -0
  271. package/assets/docs/guide/api/node/variables/captionverticalalignmentvalues.md +18 -0
  272. package/assets/docs/guide/api/node/variables/colorpickercolormodevalues.md +18 -0
  273. package/assets/docs/guide/api/node/variables/contentfillmodevalues.md +18 -0
  274. package/assets/docs/guide/api/node/variables/controlgizmomovehandlevisibilityvalues.md +18 -0
  275. package/assets/docs/guide/api/node/variables/controlgizmoresizehandlesvisibilityvalues.md +18 -0
  276. package/assets/docs/guide/api/node/variables/controlgizmorotatehandlesvisibilityvalues.md +18 -0
  277. package/assets/docs/guide/api/node/variables/controlgizmoscalehandlesvisibilityvalues.md +18 -0
  278. package/assets/docs/guide/api/node/variables/cutouttypevalues.md +18 -0
  279. package/assets/docs/guide/api/node/variables/design_block_types.md +21 -0
  280. package/assets/docs/guide/api/node/variables/doubleclickselectionmodevalues.md +18 -0
  281. package/assets/docs/guide/api/node/variables/effect_types.md +21 -0
  282. package/assets/docs/guide/api/node/variables/fill_types.md +21 -0
  283. package/assets/docs/guide/api/node/variables/fillpixelstreamorientationvalues.md +18 -0
  284. package/assets/docs/guide/api/node/variables/heightmodevalues.md +18 -0
  285. package/assets/docs/guide/api/node/variables/horizontalcontentfillalignmentvalues.md +18 -0
  286. package/assets/docs/guide/api/node/variables/loglevel.md +37 -0
  287. package/assets/docs/guide/api/node/variables/mimetype.md +41 -0
  288. package/assets/docs/guide/api/node/variables/pageguidessourcevalues.md +18 -0
  289. package/assets/docs/guide/api/node/variables/positionxmodevalues.md +18 -0
  290. package/assets/docs/guide/api/node/variables/positionymodevalues.md +18 -0
  291. package/assets/docs/guide/api/node/variables/scenedesignunitvalues.md +18 -0
  292. package/assets/docs/guide/api/node/variables/scenefontsizeunitvalues.md +18 -0
  293. package/assets/docs/guide/api/node/variables/scenelayoutvalues.md +18 -0
  294. package/assets/docs/guide/api/node/variables/scenemodevalues.md +18 -0
  295. package/assets/docs/guide/api/node/variables/shape_types.md +21 -0
  296. package/assets/docs/guide/api/node/variables/shapevectorpathfillrulevalues.md +18 -0
  297. package/assets/docs/guide/api/node/variables/strokecapvalues.md +18 -0
  298. package/assets/docs/guide/api/node/variables/strokecornergeometryvalues.md +18 -0
  299. package/assets/docs/guide/api/node/variables/strokedashendcapvalues.md +18 -0
  300. package/assets/docs/guide/api/node/variables/strokedashstartcapvalues.md +18 -0
  301. package/assets/docs/guide/api/node/variables/strokeendcapvalues.md +18 -0
  302. package/assets/docs/guide/api/node/variables/strokepositionvalues.md +18 -0
  303. package/assets/docs/guide/api/node/variables/strokestartcapvalues.md +18 -0
  304. package/assets/docs/guide/api/node/variables/strokestylevalues.md +18 -0
  305. package/assets/docs/guide/api/node/variables/textanimationwritingstylevalues.md +18 -0
  306. package/assets/docs/guide/api/node/variables/texthorizontalalignmentvalues.md +18 -0
  307. package/assets/docs/guide/api/node/variables/textverticalalignmentvalues.md +18 -0
  308. package/assets/docs/guide/api/node/variables/timelinetrackvisibilityvalues.md +18 -0
  309. package/assets/docs/guide/api/node/variables/touchpinchactionvalues.md +18 -0
  310. package/assets/docs/guide/api/node/variables/touchrotateactionvalues.md +18 -0
  311. package/assets/docs/guide/api/node/variables/verticalcontentfillalignmentvalues.md +18 -0
  312. package/assets/docs/guide/api/node/variables/widthmodevalues.md +18 -0
  313. package/assets/docs/guide/api/types.md +5 -9
  314. package/assets/docs/guide/api-reference/overview.md +7 -7
  315. package/assets/docs/guide/automation/auto-resize.md +263 -300
  316. package/assets/docs/guide/automation/data-merge.md +246 -275
  317. package/assets/docs/guide/automation/design-generation.md +102 -31
  318. package/assets/docs/guide/automation/multi-image-generation.md +758 -0
  319. package/assets/docs/guide/automation/overview.md +21 -4
  320. package/assets/docs/guide/automation.md +10 -5
  321. package/assets/docs/guide/capabilities.md +6 -4
  322. package/assets/docs/guide/colors/adjust.md +247 -249
  323. package/assets/docs/guide/colors/apply.md +127 -138
  324. package/assets/docs/guide/colors/basics.md +126 -150
  325. package/assets/docs/guide/colors/conversion.md +171 -177
  326. package/assets/docs/guide/colors/create-color-palette.md +244 -245
  327. package/assets/docs/guide/colors/extract-colors.md +144 -0
  328. package/assets/docs/guide/colors/for-print/cmyk.md +292 -352
  329. package/assets/docs/guide/colors/for-print/spot.md +521 -578
  330. package/assets/docs/guide/colors/for-print.md +9 -4
  331. package/assets/docs/guide/colors/for-screen/p3.md +12 -10
  332. package/assets/docs/guide/colors/for-screen/srgb.md +107 -133
  333. package/assets/docs/guide/colors/for-screen.md +9 -4
  334. package/assets/docs/guide/colors/overview.md +6 -4
  335. package/assets/docs/guide/colors/replace.md +381 -419
  336. package/assets/docs/guide/colors.md +9 -4
  337. package/assets/docs/guide/compatibility.md +7 -5
  338. package/assets/docs/guide/concepts/architecture.md +17 -15
  339. package/assets/docs/guide/concepts/assets.md +152 -140
  340. package/assets/docs/guide/concepts/blocks.md +227 -323
  341. package/assets/docs/guide/concepts/buffers.md +147 -276
  342. package/assets/docs/guide/concepts/design-units.md +95 -145
  343. package/assets/docs/guide/concepts/editing-workflow.md +69 -183
  344. package/assets/docs/guide/concepts/events.md +80 -122
  345. package/assets/docs/guide/concepts/headless-mode.md +237 -0
  346. package/assets/docs/guide/concepts/pages.md +137 -127
  347. package/assets/docs/guide/concepts/resources.md +156 -217
  348. package/assets/docs/guide/concepts/scenes.md +191 -210
  349. package/assets/docs/guide/concepts/templating.md +118 -74
  350. package/assets/docs/guide/concepts/terminology.md +49 -47
  351. package/assets/docs/guide/concepts/undo-and-history.md +229 -303
  352. package/assets/docs/guide/concepts.md +9 -7
  353. package/assets/docs/guide/configuration.md +252 -380
  354. package/assets/docs/guide/conversion/overview.md +33 -4
  355. package/assets/docs/guide/conversion/to-base64.md +127 -167
  356. package/assets/docs/guide/conversion/to-pdf.md +24 -474
  357. package/assets/docs/guide/conversion/to-png.md +168 -211
  358. package/assets/docs/guide/conversion.md +9 -4
  359. package/assets/docs/guide/create-audio/audio/add-music.md +301 -327
  360. package/assets/docs/guide/create-audio/audio/add-sound-effects.md +475 -359
  361. package/assets/docs/guide/create-audio/audio/loop.md +232 -272
  362. package/assets/docs/guide/create-composition/add-background.md +237 -239
  363. package/assets/docs/guide/create-composition/blend-modes.md +118 -209
  364. package/assets/docs/guide/create-composition/collage.md +538 -320
  365. package/assets/docs/guide/create-composition/group-and-ungroup.md +216 -261
  366. package/assets/docs/guide/create-composition/layer-management.md +219 -257
  367. package/assets/docs/guide/create-composition/layout.md +513 -315
  368. package/assets/docs/guide/create-composition/lock-design.md +90 -109
  369. package/assets/docs/guide/create-composition/multi-page.md +133 -113
  370. package/assets/docs/guide/create-composition/overview.md +16 -4
  371. package/assets/docs/guide/create-composition/programmatic.md +288 -344
  372. package/assets/docs/guide/create-composition.md +10 -5
  373. package/assets/docs/guide/create-templates/add-dynamic-content/placeholders.md +443 -569
  374. package/assets/docs/guide/create-templates/add-dynamic-content/set-editing-constraints.md +567 -470
  375. package/assets/docs/guide/create-templates/add-dynamic-content/text-variables.md +179 -516
  376. package/assets/docs/guide/create-templates/add-dynamic-content.md +226 -224
  377. package/assets/docs/guide/create-templates/add-to-template-library.md +183 -193
  378. package/assets/docs/guide/create-templates/edit-or-remove.md +297 -303
  379. package/assets/docs/guide/create-templates/from-scratch.md +207 -268
  380. package/assets/docs/guide/create-templates/import/from-scene-file.md +158 -236
  381. package/assets/docs/guide/create-templates/import.md +145 -161
  382. package/assets/docs/guide/create-templates/lock.md +42 -295
  383. package/assets/docs/guide/create-templates/overview.md +33 -4
  384. package/assets/docs/guide/create-templates.md +9 -5
  385. package/assets/docs/guide/create-video/audio/adjust-speed.md +157 -207
  386. package/assets/docs/guide/create-video/audio/adjust-volume.md +116 -227
  387. package/assets/docs/guide/create-video/control.md +352 -193
  388. package/assets/docs/guide/create-video/limitations.md +175 -280
  389. package/assets/docs/guide/create-video.md +11 -10
  390. package/assets/docs/guide/edit-image/add-watermark.md +283 -330
  391. package/assets/docs/guide/edit-image/overview.md +29 -4
  392. package/assets/docs/guide/edit-image/remove-bg.md +283 -337
  393. package/assets/docs/guide/edit-image/replace-colors.md +424 -502
  394. package/assets/docs/guide/edit-image/transform/crop.md +463 -402
  395. package/assets/docs/guide/edit-image/transform/flip.md +353 -0
  396. package/assets/docs/guide/edit-image/transform/move.md +143 -100
  397. package/assets/docs/guide/edit-image/transform/resize.md +118 -88
  398. package/assets/docs/guide/edit-image/transform/rotate.md +132 -165
  399. package/assets/docs/guide/edit-image/transform/scale.md +230 -228
  400. package/assets/docs/guide/edit-image/transform.md +10 -5
  401. package/assets/docs/guide/edit-image.md +11 -7
  402. package/assets/docs/guide/edit-video/add-captions.md +344 -421
  403. package/assets/docs/guide/edit-video/add-watermark.md +312 -258
  404. package/assets/docs/guide/edit-video/join-and-arrange.md +237 -371
  405. package/assets/docs/guide/edit-video/redaction.md +419 -385
  406. package/assets/docs/guide/edit-video/split.md +243 -493
  407. package/assets/docs/guide/edit-video/transform/crop.md +21 -352
  408. package/assets/docs/guide/edit-video/transform/flip.md +102 -76
  409. package/assets/docs/guide/edit-video/transform/move.md +258 -310
  410. package/assets/docs/guide/edit-video/transform/resize.md +264 -428
  411. package/assets/docs/guide/edit-video/transform/rotate.md +265 -228
  412. package/assets/docs/guide/edit-video/transform/scale.md +320 -417
  413. package/assets/docs/guide/edit-video/transform.md +10 -6
  414. package/assets/docs/guide/edit-video/trim.md +448 -494
  415. package/assets/docs/guide/engine-interface.md +51 -62
  416. package/assets/docs/guide/export-save-publish/create-thumbnail.md +148 -184
  417. package/assets/docs/guide/export-save-publish/export/compress.md +161 -559
  418. package/assets/docs/guide/export-save-publish/export/overview.md +224 -373
  419. package/assets/docs/guide/export-save-publish/export/partial-export.md +386 -577
  420. package/assets/docs/guide/export-save-publish/export/size-limits.md +215 -310
  421. package/assets/docs/guide/export-save-publish/export/to-jpeg.md +132 -213
  422. package/assets/docs/guide/export-save-publish/export/to-pdf.md +139 -267
  423. package/assets/docs/guide/export-save-publish/export/to-png.md +121 -165
  424. package/assets/docs/guide/export-save-publish/export/to-raw-data.md +187 -234
  425. package/assets/docs/guide/export-save-publish/export/to-webp.md +160 -190
  426. package/assets/docs/guide/export-save-publish/export/with-color-mask.md +359 -203
  427. package/assets/docs/guide/export-save-publish/export.md +14 -11
  428. package/assets/docs/guide/export-save-publish/for-printing.md +141 -237
  429. package/assets/docs/guide/export-save-publish/for-social-media.md +124 -261
  430. package/assets/docs/guide/export-save-publish/pre-export-validation.md +436 -522
  431. package/assets/docs/guide/export-save-publish/save.md +167 -226
  432. package/assets/docs/guide/export-save-publish/store-custom-metadata.md +97 -162
  433. package/assets/docs/guide/file-format-support.md +9 -9
  434. package/assets/docs/guide/fills/color.md +370 -347
  435. package/assets/docs/guide/fills/image.md +167 -196
  436. package/assets/docs/guide/fills/overview.md +6 -4
  437. package/assets/docs/guide/fills/video.md +286 -438
  438. package/assets/docs/guide/fills.md +12 -8
  439. package/assets/docs/guide/filters-and-effects/apply.md +598 -664
  440. package/assets/docs/guide/filters-and-effects/blur.md +261 -159
  441. package/assets/docs/guide/filters-and-effects/chroma-key-green-screen.md +194 -293
  442. package/assets/docs/guide/filters-and-effects/create-custom-filters.md +548 -466
  443. package/assets/docs/guide/filters-and-effects/create-custom-lut-filter.md +176 -244
  444. package/assets/docs/guide/filters-and-effects/distortion.md +317 -384
  445. package/assets/docs/guide/filters-and-effects/duotone.md +221 -217
  446. package/assets/docs/guide/filters-and-effects/gradients.md +670 -813
  447. package/assets/docs/guide/filters-and-effects/overview.md +7 -7
  448. package/assets/docs/guide/filters-and-effects/support.md +97 -132
  449. package/assets/docs/guide/filters-and-effects.md +11 -6
  450. package/assets/docs/guide/get-started/agent-skills.md +20 -18
  451. package/assets/docs/guide/get-started/build-with-ai.md +7 -4
  452. package/assets/docs/guide/get-started/bun.md +219 -0
  453. package/assets/docs/guide/get-started/deno.md +161 -0
  454. package/assets/docs/guide/get-started/mcp-server.md +6 -4
  455. package/assets/docs/guide/get-started/overview.md +11 -6
  456. package/assets/docs/guide/get-started/vanilla-aws-lambda.md +506 -0
  457. package/assets/docs/guide/get-started/vanilla-clone-github-project.md +124 -0
  458. package/assets/docs/guide/get-started/vanilla.md +235 -0
  459. package/assets/docs/guide/guides/export-save-publish/export/audio.md +80 -66
  460. package/assets/docs/guide/guides.md +10 -9
  461. package/assets/docs/guide/import-media/asset-panel/refresh-assets.md +259 -288
  462. package/assets/docs/guide/import-media/concepts.md +20 -38
  463. package/assets/docs/guide/import-media/content-json-schema.md +145 -125
  464. package/assets/docs/guide/import-media/default-assets.md +113 -161
  465. package/assets/docs/guide/import-media/edit-or-remove-assets.md +391 -395
  466. package/assets/docs/guide/import-media/file-format-support.md +78 -61
  467. package/assets/docs/guide/import-media/from-remote-source/asset-versioning.md +273 -244
  468. package/assets/docs/guide/import-media/from-remote-source/remote-asset.md +152 -222
  469. package/assets/docs/guide/import-media/from-remote-source.md +9 -11
  470. package/assets/docs/guide/import-media/overview.md +5 -5
  471. package/assets/docs/guide/import-media/retrieve-mimetype.md +216 -108
  472. package/assets/docs/guide/import-media/size-limits.md +6 -4
  473. package/assets/docs/guide/import-media/source-sets.md +190 -251
  474. package/assets/docs/guide/import-media.md +10 -8
  475. package/assets/docs/guide/insert-media/audio.md +202 -195
  476. package/assets/docs/guide/insert-media/images.md +190 -188
  477. package/assets/docs/guide/insert-media/position-and-align.md +284 -551
  478. package/assets/docs/guide/insert-media/shapes-or-stickers.md +402 -418
  479. package/assets/docs/guide/insert-media/videos.md +236 -203
  480. package/assets/docs/guide/insert-media.md +10 -5
  481. package/assets/docs/guide/key-capabilities.md +36 -4
  482. package/assets/docs/guide/key-concepts.md +6 -4
  483. package/assets/docs/guide/licensing.md +6 -4
  484. package/assets/docs/guide/llms-txt.md +11 -7
  485. package/assets/docs/guide/open-the-editor/blank-canvas.md +102 -63
  486. package/assets/docs/guide/open-the-editor/from-image.md +157 -127
  487. package/assets/docs/guide/open-the-editor/from-template.md +131 -92
  488. package/assets/docs/guide/open-the-editor/from-video.md +204 -212
  489. package/assets/docs/guide/open-the-editor/import-design/from-archive.md +310 -360
  490. package/assets/docs/guide/open-the-editor/import-design/from-indesign.md +716 -513
  491. package/assets/docs/guide/open-the-editor/import-design/from-photoshop.md +667 -695
  492. package/assets/docs/guide/open-the-editor/import-design.md +228 -266
  493. package/assets/docs/guide/open-the-editor/load-scene.md +72 -68
  494. package/assets/docs/guide/open-the-editor/overview.md +6 -4
  495. package/assets/docs/guide/open-the-editor/uri-resolver.md +160 -251
  496. package/assets/docs/guide/open-the-editor.md +11 -9
  497. package/assets/docs/guide/outlines/overview.md +12 -4
  498. package/assets/docs/guide/outlines/shadows-and-glows.md +105 -410
  499. package/assets/docs/guide/outlines/strokes.md +218 -166
  500. package/assets/docs/guide/outlines.md +9 -4
  501. package/assets/docs/guide/overview.md +14 -6
  502. package/assets/docs/guide/performance.md +220 -113
  503. package/assets/docs/guide/plugins/print-ready-pdf.md +273 -368
  504. package/assets/docs/guide/plugins.md +10 -16
  505. package/assets/docs/guide/rules/asset-handling.md +7 -18
  506. package/assets/docs/guide/rules/common-pitfalls.md +25 -42
  507. package/assets/docs/guide/rules/content-fill-mode.md +4 -4
  508. package/assets/docs/guide/rules/enforce-brand-guidelines.md +398 -567
  509. package/assets/docs/guide/rules/lock-content.md +188 -231
  510. package/assets/docs/guide/rules/moderate-content.md +580 -571
  511. package/assets/docs/guide/rules/overview.md +345 -380
  512. package/assets/docs/guide/rules/silent-init-errors.md +4 -1
  513. package/assets/docs/guide/rules/verify-properties-before-use.md +2 -11
  514. package/assets/docs/guide/rules.md +10 -5
  515. package/assets/docs/guide/security.md +7 -5
  516. package/assets/docs/guide/serve-assets.md +57 -284
  517. package/assets/docs/guide/settings.md +96 -74
  518. package/assets/docs/guide/shapes.md +10 -5
  519. package/assets/docs/guide/stickers-and-shapes/combine.md +397 -583
  520. package/assets/docs/guide/stickers-and-shapes/create-cutout.md +181 -268
  521. package/assets/docs/guide/stickers-and-shapes/create-edit/create-shapes.md +418 -431
  522. package/assets/docs/guide/stickers-and-shapes/create-edit/create-stickers.md +147 -226
  523. package/assets/docs/guide/stickers-and-shapes/create-edit/edit-shapes.md +138 -123
  524. package/assets/docs/guide/stickers-and-shapes/insert-qr-code.md +151 -149
  525. package/assets/docs/guide/stickers.md +9 -4
  526. package/assets/docs/guide/text/add.md +470 -482
  527. package/assets/docs/guide/text/adjust-spacing.md +179 -214
  528. package/assets/docs/guide/text/auto-size.md +210 -271
  529. package/assets/docs/guide/text/edit.md +294 -309
  530. package/assets/docs/guide/text/effects.md +154 -190
  531. package/assets/docs/guide/text/emojis.md +199 -232
  532. package/assets/docs/guide/text/language-support.md +369 -382
  533. package/assets/docs/guide/text/overview.md +41 -4
  534. package/assets/docs/guide/text/styling.md +239 -273
  535. package/assets/docs/guide/text/text-designs.md +405 -544
  536. package/assets/docs/guide/text.md +10 -9
  537. package/assets/docs/guide/to-v1-19.md +12 -10
  538. package/assets/docs/guide/upgrade.md +8 -9
  539. package/assets/docs/guide/use-templates/apply-template.md +174 -163
  540. package/assets/docs/guide/use-templates/generate.md +171 -152
  541. package/assets/docs/guide/use-templates/overview.md +32 -4
  542. package/assets/docs/guide/use-templates/programmatic.md +266 -301
  543. package/assets/docs/guide/use-templates/replace-content.md +181 -171
  544. package/assets/docs/guide/what-is-cesdk.md +71 -282
  545. package/assets/docs/handbook/SKILL.md +24 -0
  546. package/dist/assets/inline.generated.d.ts.map +1 -1
  547. package/dist/assets/inline.generated.js +544 -406
  548. package/dist/assets/inline.generated.js.map +1 -1
  549. package/dist/assets/load-browser.d.ts +1 -1
  550. package/dist/assets/load-browser.js +1 -1
  551. package/dist/assets/load-browser.js.map +1 -1
  552. package/dist/assets/load-node.d.ts +1 -1
  553. package/dist/assets/load-node.js +1 -1
  554. package/dist/assets/load-node.js.map +1 -1
  555. package/dist/cli/http.d.ts.map +1 -1
  556. package/dist/cli/http.js +4 -28
  557. package/dist/cli/http.js.map +1 -1
  558. package/dist/cli/redirect-console.d.ts +1 -1
  559. package/dist/cli/redirect-console.d.ts.map +1 -1
  560. package/dist/cli/redirect-console.js +12 -3
  561. package/dist/cli/redirect-console.js.map +1 -1
  562. package/dist/cli/resolve-license.d.ts.map +1 -1
  563. package/dist/cli/resolve-license.js +8 -6
  564. package/dist/cli/resolve-license.js.map +1 -1
  565. package/dist/cli/stdio.d.ts +9 -0
  566. package/dist/cli/stdio.d.ts.map +1 -1
  567. package/dist/cli/stdio.js +48 -4
  568. package/dist/cli/stdio.js.map +1 -1
  569. package/dist/cli.js +10 -1
  570. package/dist/cli.js.map +1 -1
  571. package/dist/config.d.ts +11 -2
  572. package/dist/config.d.ts.map +1 -1
  573. package/dist/config.js +20 -1
  574. package/dist/config.js.map +1 -1
  575. package/dist/diagnostics/bundle.d.ts +10 -0
  576. package/dist/diagnostics/bundle.d.ts.map +1 -0
  577. package/dist/diagnostics/bundle.js +148 -0
  578. package/dist/diagnostics/bundle.js.map +1 -0
  579. package/dist/diagnostics/compose.d.ts +3 -0
  580. package/dist/diagnostics/compose.d.ts.map +1 -0
  581. package/dist/diagnostics/compose.js +15 -0
  582. package/dist/diagnostics/compose.js.map +1 -0
  583. package/dist/diagnostics/events.d.ts +34 -0
  584. package/dist/diagnostics/events.d.ts.map +1 -0
  585. package/dist/diagnostics/events.js +3 -0
  586. package/dist/diagnostics/events.js.map +1 -0
  587. package/dist/diagnostics/file-sink.d.ts +38 -0
  588. package/dist/diagnostics/file-sink.d.ts.map +1 -0
  589. package/dist/diagnostics/file-sink.js +157 -0
  590. package/dist/diagnostics/file-sink.js.map +1 -0
  591. package/dist/diagnostics/redact.d.ts +7 -0
  592. package/dist/diagnostics/redact.d.ts.map +1 -0
  593. package/dist/diagnostics/redact.js +43 -0
  594. package/dist/diagnostics/redact.js.map +1 -0
  595. package/dist/diagnostics/tool-call-adapter.d.ts +4 -0
  596. package/dist/diagnostics/tool-call-adapter.d.ts.map +1 -0
  597. package/dist/diagnostics/tool-call-adapter.js +21 -0
  598. package/dist/diagnostics/tool-call-adapter.js.map +1 -0
  599. package/dist/engine/cesdk-adapter.d.ts +5 -1
  600. package/dist/engine/cesdk-adapter.d.ts.map +1 -1
  601. package/dist/engine/cesdk-adapter.js +9 -2
  602. package/dist/engine/cesdk-adapter.js.map +1 -1
  603. package/dist/engine/index.d.ts +1 -0
  604. package/dist/engine/index.d.ts.map +1 -1
  605. package/dist/engine/index.js +4 -0
  606. package/dist/engine/index.js.map +1 -1
  607. package/dist/engine/scene-resource-schemes.d.ts +2 -0
  608. package/dist/engine/scene-resource-schemes.d.ts.map +1 -0
  609. package/dist/engine/scene-resource-schemes.js +20 -0
  610. package/dist/engine/scene-resource-schemes.js.map +1 -0
  611. package/dist/http/server.d.ts +0 -6
  612. package/dist/http/server.d.ts.map +1 -1
  613. package/dist/http/server.js +1 -2
  614. package/dist/http/server.js.map +1 -1
  615. package/dist/server.d.ts +0 -4
  616. package/dist/server.d.ts.map +1 -1
  617. package/dist/server.js +4 -60
  618. package/dist/server.js.map +1 -1
  619. package/dist/test/scripts/changelog-add.d.ts +8 -0
  620. package/dist/test/scripts/changelog-add.d.ts.map +1 -0
  621. package/dist/test/scripts/changelog-add.js +50 -0
  622. package/dist/test/scripts/changelog-add.js.map +1 -0
  623. package/dist/test/scripts/changelog-collate.d.ts +38 -0
  624. package/dist/test/scripts/changelog-collate.d.ts.map +1 -0
  625. package/dist/test/scripts/changelog-collate.js +171 -0
  626. package/dist/test/scripts/changelog-collate.js.map +1 -0
  627. package/dist/test/test/changelog.test.d.ts +2 -0
  628. package/dist/test/test/changelog.test.d.ts.map +1 -0
  629. package/dist/test/test/changelog.test.js +293 -0
  630. package/dist/test/test/changelog.test.js.map +1 -0
  631. package/dist/test/test/cli/dispatcher.test.js +10 -3
  632. package/dist/test/test/cli/dispatcher.test.js.map +1 -1
  633. package/dist/test/test/cli/redirect-console.test.js +31 -0
  634. package/dist/test/test/cli/redirect-console.test.js.map +1 -1
  635. package/dist/test/test/cli/resolve-license.test.js +10 -1
  636. package/dist/test/test/cli/resolve-license.test.js.map +1 -1
  637. package/dist/test/test/cli/stdio-diagnostics.test.d.ts +2 -0
  638. package/dist/test/test/cli/stdio-diagnostics.test.d.ts.map +1 -0
  639. package/dist/test/test/cli/stdio-diagnostics.test.js +31 -0
  640. package/dist/test/test/cli/stdio-diagnostics.test.js.map +1 -0
  641. package/dist/test/test/config.test.js +17 -13
  642. package/dist/test/test/config.test.js.map +1 -1
  643. package/dist/test/test/diagnostics/bundle.test.d.ts +2 -0
  644. package/dist/test/test/diagnostics/bundle.test.d.ts.map +1 -0
  645. package/dist/test/test/diagnostics/bundle.test.js +53 -0
  646. package/dist/test/test/diagnostics/bundle.test.js.map +1 -0
  647. package/dist/test/test/diagnostics/compose.test.d.ts +2 -0
  648. package/dist/test/test/diagnostics/compose.test.d.ts.map +1 -0
  649. package/dist/test/test/diagnostics/compose.test.js +31 -0
  650. package/dist/test/test/diagnostics/compose.test.js.map +1 -0
  651. package/dist/test/test/diagnostics/file-sink.test.d.ts +2 -0
  652. package/dist/test/test/diagnostics/file-sink.test.d.ts.map +1 -0
  653. package/dist/test/test/diagnostics/file-sink.test.js +113 -0
  654. package/dist/test/test/diagnostics/file-sink.test.js.map +1 -0
  655. package/dist/test/test/diagnostics/redact.test.d.ts +2 -0
  656. package/dist/test/test/diagnostics/redact.test.d.ts.map +1 -0
  657. package/dist/test/test/diagnostics/redact.test.js +59 -0
  658. package/dist/test/test/diagnostics/redact.test.js.map +1 -0
  659. package/dist/test/test/diagnostics/tool-call-adapter.test.d.ts +2 -0
  660. package/dist/test/test/diagnostics/tool-call-adapter.test.d.ts.map +1 -0
  661. package/dist/test/test/diagnostics/tool-call-adapter.test.js +34 -0
  662. package/dist/test/test/diagnostics/tool-call-adapter.test.js.map +1 -0
  663. package/dist/test/test/engine/cesdk-adapter.test.d.ts +2 -0
  664. package/dist/test/test/engine/cesdk-adapter.test.d.ts.map +1 -0
  665. package/dist/test/test/engine/cesdk-adapter.test.js +32 -0
  666. package/dist/test/test/engine/cesdk-adapter.test.js.map +1 -0
  667. package/dist/test/test/handbook-contract.test.js +6 -2
  668. package/dist/test/test/handbook-contract.test.js.map +1 -1
  669. package/dist/test/test/http/server.test.js +0 -36
  670. package/dist/test/test/http/server.test.js.map +1 -1
  671. package/dist/test/test/http/workspace-auth.test.js +0 -1
  672. package/dist/test/test/http/workspace-auth.test.js.map +1 -1
  673. package/dist/test/test/server.test.js +0 -40
  674. package/dist/test/test/server.test.js.map +1 -1
  675. package/dist/test/test/tools/edit-harness.d.ts +14 -0
  676. package/dist/test/test/tools/edit-harness.d.ts.map +1 -0
  677. package/dist/test/test/tools/edit-harness.js +30 -0
  678. package/dist/test/test/tools/edit-harness.js.map +1 -0
  679. package/dist/test/test/tools/edit.telemetry.test.d.ts +2 -0
  680. package/dist/test/test/tools/edit.telemetry.test.d.ts.map +1 -0
  681. package/dist/test/test/tools/edit.telemetry.test.js +46 -0
  682. package/dist/test/test/tools/edit.telemetry.test.js.map +1 -0
  683. package/dist/test/test/tools/export-harness.d.ts +13 -0
  684. package/dist/test/test/tools/export-harness.d.ts.map +1 -0
  685. package/dist/test/test/tools/export-harness.js +27 -0
  686. package/dist/test/test/tools/export-harness.js.map +1 -0
  687. package/dist/test/test/tools/export.telemetry.test.d.ts +2 -0
  688. package/dist/test/test/tools/export.telemetry.test.d.ts.map +1 -0
  689. package/dist/test/test/tools/export.telemetry.test.js +65 -0
  690. package/dist/test/test/tools/export.telemetry.test.js.map +1 -0
  691. package/dist/test/test/tools/import.test.d.ts +2 -0
  692. package/dist/test/test/tools/import.test.d.ts.map +1 -0
  693. package/dist/test/test/tools/import.test.js +122 -0
  694. package/dist/test/test/tools/import.test.js.map +1 -0
  695. package/dist/test/test/tools/index.test.js +78 -16
  696. package/dist/test/test/tools/index.test.js.map +1 -1
  697. package/dist/test/test/tools/load.integration.test.d.ts +2 -0
  698. package/dist/test/test/tools/load.integration.test.d.ts.map +1 -0
  699. package/dist/test/test/tools/load.integration.test.js +165 -0
  700. package/dist/test/test/tools/load.integration.test.js.map +1 -0
  701. package/dist/test/test/tools/load.test.d.ts +2 -0
  702. package/dist/test/test/tools/load.test.d.ts.map +1 -0
  703. package/dist/test/test/tools/load.test.js +387 -0
  704. package/dist/test/test/tools/load.test.js.map +1 -0
  705. package/dist/test/test/tools/preview-harness.d.ts +9 -0
  706. package/dist/test/test/tools/preview-harness.d.ts.map +1 -0
  707. package/dist/test/test/tools/preview-harness.js +23 -0
  708. package/dist/test/test/tools/preview-harness.js.map +1 -0
  709. package/dist/test/test/tools/preview.telemetry.test.d.ts +2 -0
  710. package/dist/test/test/tools/preview.telemetry.test.d.ts.map +1 -0
  711. package/dist/test/test/tools/preview.telemetry.test.js +36 -0
  712. package/dist/test/test/tools/preview.telemetry.test.js.map +1 -0
  713. package/dist/test/test/tools/schema-best-practices.d.ts +13 -0
  714. package/dist/test/test/tools/schema-best-practices.d.ts.map +1 -0
  715. package/dist/test/test/tools/schema-best-practices.js +169 -0
  716. package/dist/test/test/tools/schema-best-practices.js.map +1 -0
  717. package/dist/test/test/tools/schema-best-practices.test.d.ts +3 -0
  718. package/dist/test/test/tools/schema-best-practices.test.d.ts.map +1 -0
  719. package/dist/test/test/tools/schema-best-practices.test.js +194 -0
  720. package/dist/test/test/tools/schema-best-practices.test.js.map +1 -0
  721. package/dist/test/test/tools/spans.test.d.ts +2 -0
  722. package/dist/test/test/tools/spans.test.d.ts.map +1 -0
  723. package/dist/test/test/tools/spans.test.js +84 -0
  724. package/dist/test/test/tools/spans.test.js.map +1 -0
  725. package/dist/test/test/viewer/cesdk-cdn.test.d.ts +2 -0
  726. package/dist/test/test/viewer/cesdk-cdn.test.d.ts.map +1 -0
  727. package/dist/test/test/viewer/cesdk-cdn.test.js +19 -0
  728. package/dist/test/test/viewer/cesdk-cdn.test.js.map +1 -0
  729. package/dist/test/test/viewer/config-route.test.d.ts +2 -0
  730. package/dist/test/test/viewer/config-route.test.d.ts.map +1 -0
  731. package/dist/test/test/viewer/config-route.test.js +28 -0
  732. package/dist/test/test/viewer/config-route.test.js.map +1 -0
  733. package/dist/test/test/viewer/spa-version.test.d.ts +2 -0
  734. package/dist/test/test/viewer/spa-version.test.d.ts.map +1 -0
  735. package/dist/test/test/viewer/spa-version.test.js +14 -0
  736. package/dist/test/test/viewer/spa-version.test.js.map +1 -0
  737. package/dist/test/test/workspace/content-hash.test.d.ts +2 -0
  738. package/dist/test/test/workspace/content-hash.test.d.ts.map +1 -0
  739. package/dist/test/test/workspace/content-hash.test.js +17 -0
  740. package/dist/test/test/workspace/content-hash.test.js.map +1 -0
  741. package/dist/test/tsconfig.test.tsbuildinfo +1 -1
  742. package/dist/test/vitest.config.js +1 -1
  743. package/dist/test/vitest.config.js.map +1 -1
  744. package/dist/tools/asset-generate.d.ts.map +1 -1
  745. package/dist/tools/asset-generate.js +1 -8
  746. package/dist/tools/asset-generate.js.map +1 -1
  747. package/dist/tools/edit.d.ts +3 -0
  748. package/dist/tools/edit.d.ts.map +1 -1
  749. package/dist/tools/edit.js +145 -96
  750. package/dist/tools/edit.js.map +1 -1
  751. package/dist/tools/export.d.ts +3 -0
  752. package/dist/tools/export.d.ts.map +1 -1
  753. package/dist/tools/export.js +146 -108
  754. package/dist/tools/export.js.map +1 -1
  755. package/dist/tools/import.d.ts +12 -0
  756. package/dist/tools/import.d.ts.map +1 -0
  757. package/dist/tools/import.js +144 -0
  758. package/dist/tools/import.js.map +1 -0
  759. package/dist/tools/index.d.ts +3 -0
  760. package/dist/tools/index.d.ts.map +1 -1
  761. package/dist/tools/index.js +44 -4
  762. package/dist/tools/index.js.map +1 -1
  763. package/dist/tools/load.d.ts +26 -0
  764. package/dist/tools/load.d.ts.map +1 -0
  765. package/dist/tools/load.js +400 -0
  766. package/dist/tools/load.js.map +1 -0
  767. package/dist/tools/preview.d.ts +3 -0
  768. package/dist/tools/preview.d.ts.map +1 -1
  769. package/dist/tools/preview.js +79 -44
  770. package/dist/tools/preview.js.map +1 -1
  771. package/dist/tools/result.d.ts +1 -1
  772. package/dist/tools/result.js +2 -2
  773. package/dist/tools/result.js.map +1 -1
  774. package/dist/tools/spans.d.ts +45 -0
  775. package/dist/tools/spans.d.ts.map +1 -0
  776. package/dist/tools/spans.js +77 -0
  777. package/dist/tools/spans.js.map +1 -0
  778. package/dist/tools/telemetry-wrapper.d.ts +4 -0
  779. package/dist/tools/telemetry-wrapper.d.ts.map +1 -0
  780. package/dist/tools/telemetry-wrapper.js +43 -0
  781. package/dist/tools/telemetry-wrapper.js.map +1 -0
  782. package/dist/viewer/cesdk-cdn.d.ts +16 -0
  783. package/dist/viewer/cesdk-cdn.d.ts.map +1 -0
  784. package/dist/viewer/cesdk-cdn.js +30 -0
  785. package/dist/viewer/cesdk-cdn.js.map +1 -0
  786. package/dist/viewer/router.d.ts +6 -0
  787. package/dist/viewer/router.d.ts.map +1 -1
  788. package/dist/viewer/router.js +4 -1
  789. package/dist/viewer/router.js.map +1 -1
  790. package/dist/viewer/spa-assets.generated.d.ts.map +1 -1
  791. package/dist/viewer/spa-assets.generated.js +2 -3
  792. package/dist/viewer/spa-assets.generated.js.map +1 -1
  793. package/dist/workspace/content-hash.d.ts +2 -0
  794. package/dist/workspace/content-hash.d.ts.map +1 -0
  795. package/dist/workspace/content-hash.js +15 -0
  796. package/dist/workspace/content-hash.js.map +1 -0
  797. package/package.json +18 -9
  798. package/assets/docs/guide/actions.md +0 -1038
  799. package/assets/docs/guide/animation/overview.md +0 -22
  800. package/assets/docs/guide/automation/batch-processing.md +0 -474
  801. package/assets/docs/guide/browser-support.md +0 -38
  802. package/assets/docs/guide/concepts/edit-modes.md +0 -431
  803. package/assets/docs/guide/concepts/headless-mode/browser.md +0 -291
  804. package/assets/docs/guide/create-audio/audio.md +0 -336
  805. package/assets/docs/guide/create-video/overview.md +0 -224
  806. package/assets/docs/guide/create-video/timeline-editor.md +0 -622
  807. package/assets/docs/guide/create-video/update-caption-presets.md +0 -676
  808. package/assets/docs/guide/edit-image/vectorize.md +0 -204
  809. package/assets/docs/guide/export-save-publish/export/to-html5.md +0 -474
  810. package/assets/docs/guide/export-save-publish/export/to-mp4.md +0 -364
  811. package/assets/docs/guide/get-started/vanilla-js/quickstart.md +0 -175
  812. package/assets/docs/guide/grid-and-rulers.md +0 -222
  813. package/assets/docs/guide/guides/text/rendering-internals.md +0 -796
  814. package/assets/docs/guide/import-media/asset-library.md +0 -23
  815. package/assets/docs/guide/import-media/asset-panel/basics.md +0 -324
  816. package/assets/docs/guide/import-media/asset-panel/customize.md +0 -478
  817. package/assets/docs/guide/import-media/asset-panel/thumbnails.md +0 -633
  818. package/assets/docs/guide/import-media/capture-from-camera/record-video.md +0 -137
  819. package/assets/docs/guide/import-media/capture-from-camera.md +0 -20
  820. package/assets/docs/guide/import-media/from-local-source/user-upload.md +0 -438
  821. package/assets/docs/guide/import-media/from-local-source.md +0 -20
  822. package/assets/docs/guide/import-media/from-remote-source/getty-images.md +0 -627
  823. package/assets/docs/guide/import-media/from-remote-source/imgly-premium-assets.md +0 -625
  824. package/assets/docs/guide/import-media/from-remote-source/pexels.md +0 -692
  825. package/assets/docs/guide/import-media/from-remote-source/soundstripe.md +0 -497
  826. package/assets/docs/guide/import-media/from-remote-source/third-party.md +0 -51
  827. package/assets/docs/guide/import-media/from-remote-source/unsplash.md +0 -914
  828. package/assets/docs/guide/import-media/from-remote-source/your-server.md +0 -764
  829. package/assets/docs/guide/open-the-editor/from-htmlcanvas.md +0 -228
  830. package/assets/docs/guide/open-the-editor/set-zoom-level.md +0 -303
  831. package/assets/docs/guide/plugins/asset-sources.md +0 -553
  832. package/assets/docs/guide/starterkits/3d-mockup-editor.md +0 -748
  833. package/assets/docs/guide/starterkits/advanced-editor.md +0 -698
  834. package/assets/docs/guide/starterkits/advanced-video-editor.md +0 -696
  835. package/assets/docs/guide/starterkits/ai-editor.md +0 -749
  836. package/assets/docs/guide/starterkits/airtable-image-editor.md +0 -672
  837. package/assets/docs/guide/starterkits/apparel-ui.md +0 -188
  838. package/assets/docs/guide/starterkits/assets.md +0 -27
  839. package/assets/docs/guide/starterkits/auto-resize.md +0 -586
  840. package/assets/docs/guide/starterkits/automated-video-generation.md +0 -692
  841. package/assets/docs/guide/starterkits/background-removal-editor.md +0 -480
  842. package/assets/docs/guide/starterkits/content-moderation.md +0 -863
  843. package/assets/docs/guide/starterkits/creative-automation.md +0 -28
  844. package/assets/docs/guide/starterkits/custom-built-uis.md +0 -26
  845. package/assets/docs/guide/starterkits/customization.md +0 -29
  846. package/assets/docs/guide/starterkits/cutout-lines-editor.md +0 -470
  847. package/assets/docs/guide/starterkits/data-merge.md +0 -850
  848. package/assets/docs/guide/starterkits/design-editor.md +0 -698
  849. package/assets/docs/guide/starterkits/design-generation.md +0 -719
  850. package/assets/docs/guide/starterkits/design-validation.md +0 -808
  851. package/assets/docs/guide/starterkits/editor-ui-configurations.md +0 -14
  852. package/assets/docs/guide/starterkits/export-options.md +0 -724
  853. package/assets/docs/guide/starterkits/export-using-renderer.md +0 -708
  854. package/assets/docs/guide/starterkits/extensibility.md +0 -28
  855. package/assets/docs/guide/starterkits/force-crop-editor.md +0 -675
  856. package/assets/docs/guide/starterkits/form-based-template-adoption.md +0 -522
  857. package/assets/docs/guide/starterkits/getty-images-editor.md +0 -700
  858. package/assets/docs/guide/starterkits/html5-ads-exporter.md +0 -719
  859. package/assets/docs/guide/starterkits/indesign-template-import.md +0 -580
  860. package/assets/docs/guide/starterkits/layouts-editor.md +0 -724
  861. package/assets/docs/guide/starterkits/mobile-ui.md +0 -185
  862. package/assets/docs/guide/starterkits/mockup-editor.md +0 -745
  863. package/assets/docs/guide/starterkits/multi-image-generation.md +0 -542
  864. package/assets/docs/guide/starterkits/page-sizes-editor.md +0 -657
  865. package/assets/docs/guide/starterkits/pexels-image-editor.md +0 -665
  866. package/assets/docs/guide/starterkits/photo-editor.md +0 -755
  867. package/assets/docs/guide/starterkits/photo-ui.md +0 -186
  868. package/assets/docs/guide/starterkits/photobook-ui.md +0 -188
  869. package/assets/docs/guide/starterkits/placeholders.md +0 -678
  870. package/assets/docs/guide/starterkits/player.md +0 -405
  871. package/assets/docs/guide/starterkits/plugins.md +0 -25
  872. package/assets/docs/guide/starterkits/postcard-editor.md +0 -202
  873. package/assets/docs/guide/starterkits/pptx-template-import.md +0 -581
  874. package/assets/docs/guide/starterkits/print-ready-pdf-editor.md +0 -746
  875. package/assets/docs/guide/starterkits/product-editor.md +0 -773
  876. package/assets/docs/guide/starterkits/psd-template-import.md +0 -580
  877. package/assets/docs/guide/starterkits/qr-code-editor.md +0 -470
  878. package/assets/docs/guide/starterkits/single-page-editor.md +0 -661
  879. package/assets/docs/guide/starterkits/start-with-image.md +0 -684
  880. package/assets/docs/guide/starterkits/start-with-video.md +0 -651
  881. package/assets/docs/guide/starterkits/t-shirt-designer.md +0 -742
  882. package/assets/docs/guide/starterkits/templating.md +0 -23
  883. package/assets/docs/guide/starterkits/theming.md +0 -662
  884. package/assets/docs/guide/starterkits/translation-internationalization.md +0 -662
  885. package/assets/docs/guide/starterkits/unsplash-editor.md +0 -839
  886. package/assets/docs/guide/starterkits/vectorizer-editor.md +0 -466
  887. package/assets/docs/guide/starterkits/version-history.md +0 -745
  888. package/assets/docs/guide/starterkits/video-animations.md +0 -853
  889. package/assets/docs/guide/starterkits/video-captions.md +0 -884
  890. package/assets/docs/guide/starterkits/video-editing.md +0 -25
  891. package/assets/docs/guide/starterkits/video-editor.md +0 -696
  892. package/assets/docs/guide/starterkits/video-export-options.md +0 -676
  893. package/assets/docs/guide/starterkits/viewer.md +0 -400
  894. package/assets/docs/guide/starterkits.md +0 -41
  895. package/assets/docs/guide/stickers-and-shapes/create-edit/vector-edit.md +0 -362
  896. package/assets/docs/guide/text/custom-fonts.md +0 -401
  897. package/assets/docs/guide/text/decorations.md +0 -330
  898. package/assets/docs/guide/text/enumerations.md +0 -258
  899. package/assets/docs/guide/to-v1-10.md +0 -131
  900. package/assets/docs/guide/to-v1-13.md +0 -165
  901. package/assets/docs/guide/to-v1-32.md +0 -110
  902. package/assets/docs/guide/to-v1-69.md +0 -468
  903. package/assets/docs/guide/to-v1-72.md +0 -193
  904. package/assets/docs/guide/use-templates/library.md +0 -450
  905. package/assets/docs/guide/user-interface/ai-integration/audio-generation.md +0 -428
  906. package/assets/docs/guide/user-interface/ai-integration/auto-captions.md +0 -337
  907. package/assets/docs/guide/user-interface/ai-integration/custom-provider.md +0 -853
  908. package/assets/docs/guide/user-interface/ai-integration/gateway-provider.md +0 -1045
  909. package/assets/docs/guide/user-interface/ai-integration/image-generation.md +0 -641
  910. package/assets/docs/guide/user-interface/ai-integration/integrate.md +0 -966
  911. package/assets/docs/guide/user-interface/ai-integration/proxy-server.md +0 -99
  912. package/assets/docs/guide/user-interface/ai-integration/text-generation.md +0 -498
  913. package/assets/docs/guide/user-interface/ai-integration/video-generation.md +0 -493
  914. package/assets/docs/guide/user-interface/ai-integration.md +0 -30
  915. package/assets/docs/guide/user-interface/appearance/change-ui-font.md +0 -316
  916. package/assets/docs/guide/user-interface/appearance/custom-labels.md +0 -509
  917. package/assets/docs/guide/user-interface/appearance/icons.md +0 -373
  918. package/assets/docs/guide/user-interface/appearance/theming.md +0 -665
  919. package/assets/docs/guide/user-interface/appearance.md +0 -23
  920. package/assets/docs/guide/user-interface/build-your-own-ui.md +0 -620
  921. package/assets/docs/guide/user-interface/customization/canvas-menu.md +0 -412
  922. package/assets/docs/guide/user-interface/customization/canvas.md +0 -281
  923. package/assets/docs/guide/user-interface/customization/color-palette.md +0 -413
  924. package/assets/docs/guide/user-interface/customization/crop-presets.md +0 -384
  925. package/assets/docs/guide/user-interface/customization/disable-or-enable.md +0 -676
  926. package/assets/docs/guide/user-interface/customization/dock.md +0 -399
  927. package/assets/docs/guide/user-interface/customization/force-crop.md +0 -289
  928. package/assets/docs/guide/user-interface/customization/inspector-bar.md +0 -371
  929. package/assets/docs/guide/user-interface/customization/navigation-bar.md +0 -516
  930. package/assets/docs/guide/user-interface/customization/page-format.md +0 -436
  931. package/assets/docs/guide/user-interface/customization/panel.md +0 -605
  932. package/assets/docs/guide/user-interface/customization/quick-start/add-action-buttons.md +0 -531
  933. package/assets/docs/guide/user-interface/customization/quick-start/add-dock-buttons.md +0 -358
  934. package/assets/docs/guide/user-interface/customization/quick-start/create-custom-components.md +0 -374
  935. package/assets/docs/guide/user-interface/customization/quick-start/reorder-components.md +0 -323
  936. package/assets/docs/guide/user-interface/customization/quick-start/show-hide-components.md +0 -294
  937. package/assets/docs/guide/user-interface/customization/quick-start.md +0 -12
  938. package/assets/docs/guide/user-interface/customization/reference/component-order-api.md +0 -519
  939. package/assets/docs/guide/user-interface/customization/reference/component-reference.md +0 -333
  940. package/assets/docs/guide/user-interface/customization/reference.md +0 -12
  941. package/assets/docs/guide/user-interface/customization.md +0 -39
  942. package/assets/docs/guide/user-interface/localization.md +0 -633
  943. package/assets/docs/guide/user-interface/overview.md +0 -167
  944. package/assets/docs/guide/user-interface/ui-extensions/add-custom-feature.md +0 -411
  945. package/assets/docs/guide/user-interface/ui-extensions/asset-library.md +0 -721
  946. package/assets/docs/guide/user-interface/ui-extensions/create-custom-panel.md +0 -331
  947. package/assets/docs/guide/user-interface/ui-extensions/customize-behaviour.md +0 -553
  948. package/assets/docs/guide/user-interface/ui-extensions/notifications-and-dialogs.md +0 -672
  949. package/assets/docs/guide/user-interface/ui-extensions/quick-actions.md +0 -415
  950. package/assets/docs/guide/user-interface/ui-extensions/register-new-component.md +0 -521
  951. package/assets/docs/guide/user-interface/ui-extensions.md +0 -26
  952. package/assets/docs/guide/user-interface.md +0 -25
  953. package/assets/prompts/evals-assetGenerate.md +0 -12
  954. package/assets/prompts/evals-brutalistCore.md +0 -34
  955. package/assets/prompts/evals-danskCatalogue.md +0 -31
  956. package/assets/prompts/evals-exportRoundTrip.md +0 -12
  957. package/assets/prompts/evals-inspectPriorCode.md +0 -16
  958. package/assets/prompts/evals-listProjectFiles.md +0 -6
  959. package/assets/prompts/evals-readAndExplainScript.md +0 -6
  960. package/assets/prompts/evals-resumeAcrossRestart.md +0 -15
  961. package/assets/prompts/evals-rewindRecovery.md +0 -10
  962. package/assets/prompts/evals-searchAcrossFiles.md +0 -6
  963. package/assets/prompts/evals-weddingCard.md +0 -20
  964. package/assets/prompts/explain.md +0 -6
  965. package/assets/prompts/review.md +0 -6
  966. package/dist/frontmatter.d.ts +0 -15
  967. package/dist/frontmatter.d.ts.map +0 -1
  968. package/dist/frontmatter.js +0 -46
  969. package/dist/frontmatter.js.map +0 -1
  970. package/dist/test/test/frontmatter.test.d.ts +0 -2
  971. package/dist/test/test/frontmatter.test.d.ts.map +0 -1
  972. package/dist/test/test/frontmatter.test.js +0 -55
  973. package/dist/test/test/frontmatter.test.js.map +0 -1
@@ -1,641 +1,489 @@
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) > [Video](./fills/video.md)
4
4
 
5
5
  ---
6
6
 
7
- Apply motion content to design elements by filling shapes, backgrounds, and
8
- text with videos using CE.SDK's video fill system.
7
+ Video fills let you fill shapes and graphics with video content. Unlike video blocks which represent standalone video elements, video fills apply video as a visual property to existing blocks — similar to how you might fill a shape with an image or color.
9
8
 
10
- ![CE.SDK video fills example showing a 3x3 grid with video content applied to different blocks including rectangles, ellipse, and opacity variations](https://img.ly/docs/cesdk/./assets/browser.hero.webp)
11
-
12
- > **Reading time:** 15 minutes
9
+ > **Reading time:** 10 minutes
13
10
  >
14
11
  > **Resources:**
15
12
  >
16
13
  > - [Download examples](https://github.com/imgly/cesdk-web-examples/archive/refs/tags/release-$UBQ_VERSION$.zip)
17
- > - [View source on GitHub](https://github.com/imgly/cesdk-web-examples/tree/release-$UBQ_VERSION$/guides-fills-video-browser)
18
- > - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-fills-video-browser)
19
- > - [Live demo](https://img.ly/docs/cesdk/examples/guides-fills-video-browser/)
20
-
21
- Understanding the distinction between **video fills** and **video blocks** is essential. Video fills are fill objects that can be applied to any block supporting fills—shapes, text, backgrounds—to paint them with video content. Video blocks, created with `addVideo()`, are dedicated time-based blocks with full editing capabilities like trimming and duration control. Video fills focus on applying video as a visual treatment, while video blocks provide complete video editing functionality.
22
-
23
- ```typescript file=@cesdk_web_examples/guides-fills-video-browser/browser.ts reference-only
24
- import type {
25
- CreativeEngine,
26
- EditorPlugin,
27
- EditorPluginContext
28
- } from '@cesdk/cesdk-js';
29
- import packageJson from './package.json';
30
-
31
- import {
32
- BlurAssetSource,
33
- CaptionPresetsAssetSource,
34
- ColorPaletteAssetSource,
35
- CropPresetsAssetSource,
36
- DemoAssetSources,
37
- EffectsAssetSource,
38
- FiltersAssetSource,
39
- PagePresetsAssetSource,
40
- StickerAssetSource,
41
- TextAssetSource,
42
- TextComponentAssetSource,
43
- TypefaceAssetSource,
44
- UploadAssetSources,
45
- VectorShapeAssetSource
46
- } from '@cesdk/cesdk-js/plugins';
47
- import { VideoEditorConfig } from './video-editor/plugin';
48
- import { calculateGridLayout } from './utils';
49
-
50
- /**
51
- * CE.SDK Plugin: Video Fills Guide
52
- *
53
- * Demonstrates video fills in CE.SDK:
54
- * - Creating video fills
55
- * - Setting video sources (single URI and source sets)
56
- * - Applying video fills to blocks
57
- * - Content fill modes (Cover, Contain)
58
- * - Loading video resources
59
- * - Getting video thumbnails
60
- * - Different use cases (backgrounds, shapes, text)
61
- */
62
- class Example implements EditorPlugin {
63
- name = packageJson.name;
64
- version = packageJson.version;
65
-
66
- async initialize({ cesdk }: EditorPluginContext): Promise<void> {
67
- if (!cesdk) {
68
- throw new Error('CE.SDK instance is required for this plugin');
69
- }
70
-
71
- await cesdk.addPlugin(new VideoEditorConfig());
72
-
73
- // Add asset source plugins
74
- await cesdk.addPlugin(new BlurAssetSource());
75
- await cesdk.addPlugin(new CaptionPresetsAssetSource());
76
- await cesdk.addPlugin(new ColorPaletteAssetSource());
77
- await cesdk.addPlugin(new CropPresetsAssetSource());
78
- await cesdk.addPlugin(
79
- new UploadAssetSources({
80
- include: [
81
- 'ly.img.image.upload',
82
- 'ly.img.video.upload',
83
- 'ly.img.audio.upload'
84
- ]
85
- })
86
- );
87
- await cesdk.addPlugin(
88
- new DemoAssetSources({
89
- include: [
90
- 'ly.img.templates.video.*',
91
- 'ly.img.image.*',
92
- 'ly.img.audio.*',
93
- 'ly.img.video.*'
94
- ]
95
- })
96
- );
97
- await cesdk.addPlugin(new EffectsAssetSource());
98
- await cesdk.addPlugin(new FiltersAssetSource());
99
- await cesdk.addPlugin(
100
- new PagePresetsAssetSource({
101
- include: [
102
- 'ly.img.page.presets.instagram.*',
103
- 'ly.img.page.presets.facebook.*',
104
- 'ly.img.page.presets.x.*',
105
- 'ly.img.page.presets.linkedin.*',
106
- 'ly.img.page.presets.pinterest.*',
107
- 'ly.img.page.presets.tiktok.*',
108
- 'ly.img.page.presets.youtube.*',
109
- 'ly.img.page.presets.video.*'
110
- ]
111
- })
112
- );
113
- await cesdk.addPlugin(new StickerAssetSource());
114
- await cesdk.addPlugin(new TextAssetSource());
115
- await cesdk.addPlugin(new TextComponentAssetSource());
116
- await cesdk.addPlugin(new TypefaceAssetSource());
117
- await cesdk.addPlugin(new VectorShapeAssetSource());
118
-
119
- await cesdk.actions.run('scene.create', {
120
- layout: 'DepthStack',
121
- page: {
122
- sourceId: 'ly.img.page.presets',
123
- assetId: 'ly.img.page.presets.instagram.story',
124
- color: { r: 0, g: 0, b: 0, a: 1 }
125
- }
126
- });
14
+ >
15
+ > - [View source on GitHub](https://github.com/imgly/cesdk-web-examples/tree/release-$UBQ_VERSION$/guides-fills-video-server-js)
16
+ >
17
+ > - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-fills-video-server-js)
127
18
 
128
- const engine = cesdk.engine as CreativeEngine;
129
- const pages = engine.block.findByType('page');
130
- const page = pages.length > 0 ? pages[0] : engine.scene.get();
19
+ ## Context: Video Fills vs Video Blocks
131
20
 
132
- // Calculate responsive grid layout based on page dimensions
133
- const pageWidth = engine.block.getWidth(page);
134
- const pageHeight = engine.block.getHeight(page);
135
- const layout = calculateGridLayout(pageWidth, pageHeight, 8);
136
- const { blockWidth, blockHeight, getPosition } = layout;
21
+ **Video fills** apply video as a fill property to graphic blocks. This is useful when you want to use video as a texture within shapes, mask video to specific areas, or create video-filled design elements. Video fills attach to graphic blocks via the fill API.
137
22
 
138
- // Use a sample video URL from demo assets
139
- const videoUri = 'https://img.ly/static/ubq_video_samples/bbb.mp4';
23
+ **Video blocks** are standalone elements that represent video content directly on the canvas. They're created with `engine.block.create('video')` and represent complete video clips.
24
+
25
+ ## Reference Example
140
26
 
141
- // Create a sample block to demonstrate fill support checking
142
- const sampleBlock = engine.block.create('graphic');
143
- engine.block.setShape(sampleBlock, engine.block.createShape('rect'));
27
+ The following code demonstrates the complete video fills API. Below, each section is explained in detail.
144
28
 
145
- // Check if the block supports fills
146
- const supportsFills = engine.block.supportsFill(sampleBlock);
147
- // eslint-disable-next-line no-console
148
- console.log('Block supports fills:', supportsFills); // true for graphic blocks
29
+ ```typescript file=@cesdk_web_examples/guides-fills-video-server-js/server-js.ts reference-only
30
+ import CreativeEngine from '@cesdk/node';
31
+ import { config } from 'dotenv';
149
32
 
150
- // Pattern #1: Demonstrate Individual Before Combined
151
- // Create a basic video fill demonstration
33
+ config();
34
+
35
+ async function main() {
36
+ const engine = await CreativeEngine.init({
37
+ baseURL: process.env.IMGLY_LOCAL_ASSETS_URL
38
+ // license: process.env.CESDK_LICENSE,
39
+ });
40
+
41
+ try {
42
+ // Create a scene with a page
43
+ const scene = engine.scene.create('DepthStack');
44
+ const page = engine.block.create('page');
45
+ engine.block.setWidth(page, 800);
46
+ engine.block.setHeight(page, 600);
47
+ engine.block.appendChild(scene, page);
48
+
49
+ // Check if block supports fills before accessing fill APIs
50
+ const testBlock = engine.block.create('graphic');
51
+ const canHaveFill = engine.block.supportsFill(testBlock);
52
+ console.log('Block supports fills:', canHaveFill);
53
+
54
+ engine.block.destroy(testBlock);
55
+
56
+ const videoUri = 'https://img.ly/static/ubq_video_samples/bbb.mp4';
57
+
58
+ // ===== Section 1: Create Video Fill =====
59
+ // Create a graphic block with a video fill
152
60
  const basicBlock = engine.block.create('graphic');
153
61
  engine.block.setShape(basicBlock, engine.block.createShape('rect'));
154
- engine.block.setWidth(basicBlock, blockWidth);
155
- engine.block.setHeight(basicBlock, blockHeight);
156
- engine.block.appendChild(page, basicBlock);
62
+ engine.block.setWidth(basicBlock, 200);
63
+ engine.block.setHeight(basicBlock, 150);
157
64
 
158
65
  // Create a video fill
159
- const basicVideoFill = engine.block.createFill('video');
66
+ const videoFill = engine.block.createFill('video');
160
67
  // or using full type name: engine.block.createFill('//ly.img.ubq/fill/video');
161
68
 
162
69
  // Set the video source URI
163
- engine.block.setString(basicVideoFill, 'fill/video/fileURI', videoUri);
70
+ engine.block.setString(videoFill, 'fill/video/fileURI', videoUri);
164
71
 
165
72
  // Apply the fill to the block
166
- engine.block.setFill(basicBlock, basicVideoFill);
73
+ engine.block.setFill(basicBlock, videoFill);
74
+ engine.block.appendChild(page, basicBlock);
167
75
 
168
76
  // Get and verify the current fill
169
77
  const fillId = engine.block.getFill(basicBlock);
170
78
  const fillType = engine.block.getType(fillId);
171
- // eslint-disable-next-line no-console
172
79
  console.log('Fill type:', fillType); // '//ly.img.ubq/fill/video'
173
80
 
174
- // Pattern #2: Content fill mode - Cover
175
- // Cover mode fills entire block, may crop video to fit
81
+ // ===== Section 2: Content Fill Modes =====
82
+ // Cover mode: Fill entire block, may crop video
176
83
  const coverBlock = engine.block.create('graphic');
177
84
  engine.block.setShape(coverBlock, engine.block.createShape('rect'));
178
- engine.block.setWidth(coverBlock, blockWidth);
179
- engine.block.setHeight(coverBlock, blockHeight);
180
- engine.block.appendChild(page, coverBlock);
85
+ engine.block.setWidth(coverBlock, 200);
86
+ engine.block.setHeight(coverBlock, 150);
181
87
 
182
88
  const coverVideoFill = engine.block.createFill('video');
183
89
  engine.block.setString(coverVideoFill, 'fill/video/fileURI', videoUri);
184
90
  engine.block.setFill(coverBlock, coverVideoFill);
91
+ engine.block.appendChild(page, coverBlock);
185
92
 
186
93
  // Set content fill mode to Cover
187
94
  engine.block.setEnum(coverBlock, 'contentFill/mode', 'Cover');
188
95
 
189
96
  // Get current fill mode
190
97
  const coverMode = engine.block.getEnum(coverBlock, 'contentFill/mode');
191
- // eslint-disable-next-line no-console
192
98
  console.log('Cover block fill mode:', coverMode); // 'Cover'
193
99
 
194
- // Content fill mode - Contain
195
- // Contain mode fits entire video, may leave empty space
100
+ // Contain mode: Fit entire video, may leave empty space
196
101
  const containBlock = engine.block.create('graphic');
197
102
  engine.block.setShape(containBlock, engine.block.createShape('rect'));
198
- engine.block.setWidth(containBlock, blockWidth);
199
- engine.block.setHeight(containBlock, blockHeight);
200
- engine.block.appendChild(page, containBlock);
103
+ engine.block.setWidth(containBlock, 200);
104
+ engine.block.setHeight(containBlock, 150);
201
105
 
202
106
  const containVideoFill = engine.block.createFill('video');
203
107
  engine.block.setString(containVideoFill, 'fill/video/fileURI', videoUri);
204
108
  engine.block.setFill(containBlock, containVideoFill);
109
+ engine.block.appendChild(page, containBlock);
205
110
 
206
111
  // Set content fill mode to Contain
207
112
  engine.block.setEnum(containBlock, 'contentFill/mode', 'Contain');
208
113
 
114
+ // Get current fill mode
115
+ const currentMode = engine.block.getEnum(containBlock, 'contentFill/mode');
116
+ console.log('Current fill mode:', currentMode);
117
+
118
+ // ===== Section 3: Force Load Video Resource =====
209
119
  // Force load video resource to access metadata
210
- const resourceBlock = engine.block.create('graphic');
211
- engine.block.setShape(resourceBlock, engine.block.createShape('rect'));
212
- engine.block.setWidth(resourceBlock, blockWidth);
213
- engine.block.setHeight(resourceBlock, blockHeight);
214
- engine.block.appendChild(page, resourceBlock);
120
+ const metadataBlock = engine.block.create('graphic');
121
+ engine.block.setShape(metadataBlock, engine.block.createShape('rect'));
122
+ engine.block.setWidth(metadataBlock, 200);
123
+ engine.block.setHeight(metadataBlock, 150);
215
124
 
216
- const resourceVideoFill = engine.block.createFill('video');
217
- engine.block.setString(resourceVideoFill, 'fill/video/fileURI', videoUri);
218
- engine.block.setFill(resourceBlock, resourceVideoFill);
125
+ const metadataVideoFill = engine.block.createFill('video');
126
+ engine.block.setString(metadataVideoFill, 'fill/video/fileURI', videoUri);
127
+ engine.block.setFill(metadataBlock, metadataVideoFill);
128
+ engine.block.appendChild(page, metadataBlock);
219
129
 
220
130
  // Force load the video resource before accessing metadata
221
- await engine.block.forceLoadAVResource(resourceVideoFill);
131
+ await engine.block.forceLoadAVResource(metadataVideoFill);
222
132
 
223
133
  // Now we can access video metadata
224
134
  const totalDuration = engine.block.getDouble(
225
- resourceVideoFill,
135
+ metadataVideoFill,
226
136
  'fill/video/totalDuration'
227
137
  );
228
- // eslint-disable-next-line no-console
229
138
  console.log('Video total duration:', totalDuration, 'seconds');
230
139
 
231
- // Use case: Video as shape fill - Ellipse
140
+ // ===== Section 4: Video as Shape Fill =====
141
+ // Fill a shape with video content
232
142
  const ellipseBlock = engine.block.create('graphic');
233
143
  const ellipseShape = engine.block.createShape('//ly.img.ubq/shape/ellipse');
234
144
  engine.block.setShape(ellipseBlock, ellipseShape);
235
- engine.block.setWidth(ellipseBlock, blockWidth);
236
- engine.block.setHeight(ellipseBlock, blockHeight);
237
- engine.block.appendChild(page, ellipseBlock);
145
+ engine.block.setWidth(ellipseBlock, 200);
146
+ engine.block.setHeight(ellipseBlock, 150);
238
147
 
239
148
  const ellipseVideoFill = engine.block.createFill('video');
240
149
  engine.block.setString(ellipseVideoFill, 'fill/video/fileURI', videoUri);
241
150
  engine.block.setFill(ellipseBlock, ellipseVideoFill);
151
+ engine.block.appendChild(page, ellipseBlock);
242
152
 
243
- // Advanced: Video fill with opacity
153
+ // ===== Section 5: Opacity =====
154
+ // Control opacity for transparency effects
244
155
  const opacityBlock = engine.block.create('graphic');
245
156
  engine.block.setShape(opacityBlock, engine.block.createShape('rect'));
246
- engine.block.setWidth(opacityBlock, blockWidth);
247
- engine.block.setHeight(opacityBlock, blockHeight);
248
- engine.block.appendChild(page, opacityBlock);
157
+ engine.block.setWidth(opacityBlock, 200);
158
+ engine.block.setHeight(opacityBlock, 150);
249
159
 
250
160
  const opacityVideoFill = engine.block.createFill('video');
251
161
  engine.block.setString(opacityVideoFill, 'fill/video/fileURI', videoUri);
252
162
  engine.block.setFill(opacityBlock, opacityVideoFill);
163
+ engine.block.appendChild(page, opacityBlock);
253
164
 
254
165
  // Set block opacity to 70%
255
166
  engine.block.setFloat(opacityBlock, 'opacity', 0.7);
256
167
 
257
- // Advanced: Share one video fill between multiple blocks
168
+ // ===== Section 6: Shared Video Fill =====
169
+ // Share one video fill between multiple blocks for memory efficiency
258
170
  const sharedFill = engine.block.createFill('video');
259
171
  engine.block.setString(sharedFill, 'fill/video/fileURI', videoUri);
260
172
 
261
173
  // First block using shared fill
262
174
  const sharedBlock1 = engine.block.create('graphic');
263
175
  engine.block.setShape(sharedBlock1, engine.block.createShape('rect'));
264
- engine.block.setWidth(sharedBlock1, blockWidth);
265
- engine.block.setHeight(sharedBlock1, blockHeight);
266
- engine.block.appendChild(page, sharedBlock1);
176
+ engine.block.setWidth(sharedBlock1, 200);
177
+ engine.block.setHeight(sharedBlock1, 150);
267
178
  engine.block.setFill(sharedBlock1, sharedFill);
179
+ engine.block.appendChild(page, sharedBlock1);
268
180
 
269
181
  // Second block using the same shared fill
270
182
  const sharedBlock2 = engine.block.create('graphic');
271
183
  engine.block.setShape(sharedBlock2, engine.block.createShape('rect'));
272
- engine.block.setWidth(sharedBlock2, blockWidth * 0.8); // Slightly smaller
273
- engine.block.setHeight(sharedBlock2, blockHeight * 0.8);
274
- engine.block.appendChild(page, sharedBlock2);
184
+ engine.block.setWidth(sharedBlock2, 160);
185
+ engine.block.setHeight(sharedBlock2, 120);
275
186
  engine.block.setFill(sharedBlock2, sharedFill);
187
+ engine.block.appendChild(page, sharedBlock2);
276
188
 
277
- // eslint-disable-next-line no-console
278
- console.log(
279
- 'Shared fill - Two blocks using the same video fill instance for memory efficiency'
280
- );
189
+ console.log('Shared fill - Two blocks using the same video fill instance');
281
190
 
282
191
  // ===== Position all blocks in grid layout =====
283
192
  const blocks = [
284
193
  basicBlock, // Position 0
285
194
  coverBlock, // Position 1
286
195
  containBlock, // Position 2
287
- resourceBlock, // Position 3
196
+ metadataBlock, // Position 3
288
197
  ellipseBlock, // Position 4
289
198
  opacityBlock, // Position 5
290
199
  sharedBlock1, // Position 6
291
200
  sharedBlock2 // Position 7
292
201
  ];
293
202
 
203
+ // Position blocks in a grid layout
204
+ const cols = 4;
205
+ const spacing = 10;
206
+ const margin = 50;
207
+ const blockWidth = 200;
208
+ const blockHeight = 150;
209
+
294
210
  blocks.forEach((block, index) => {
295
- const pos = getPosition(index);
296
- engine.block.setPositionX(block, pos.x);
297
- engine.block.setPositionY(block, pos.y);
211
+ const col = index % cols;
212
+ const row = Math.floor(index / cols);
213
+ engine.block.setPositionX(block, margin + col * (blockWidth + spacing));
214
+ engine.block.setPositionY(block, margin + row * (blockHeight + spacing));
298
215
  });
299
216
 
300
- // Select the first block so users can see the fill in action
301
- engine.block.setSelected(basicBlock, true);
302
-
303
- // Set playback time to 2 seconds to show video content
304
- engine.block.setPlaybackTime(page, 2);
305
-
306
- // Start playback automatically
307
- try {
308
- engine.block.setPlaying(page, true);
309
- // eslint-disable-next-line no-console
310
- console.log(
311
- 'Video fills guide initialized. Playback started. Demonstrating various video fill techniques across the grid.'
312
- );
313
- } catch (error) {
314
- // eslint-disable-next-line no-console
315
- console.log(
316
- 'Video fills guide initialized. Click play to start video playback (browser autoplay restriction).'
317
- );
318
- }
217
+ console.log('Video fills demonstration complete.');
218
+ console.log('Created', blocks.length, 'blocks with video fills.');
219
+
220
+ } finally {
221
+ engine.dispose();
319
222
  }
320
223
  }
321
224
 
322
- export default Example;
225
+ main().catch(console.error);
323
226
  ```
324
227
 
325
- This guide covers how to create video fills, apply them to blocks, configure fill modes, and work with video resources programmatically.
326
-
327
228
  ## Understanding Video Fills
328
229
 
329
- ### What is a Video Fill?
330
-
331
- A video fill is a fill object that paints a design block with video content. Like color and image fills, video fills are part of CE.SDK's broader fill system.
332
-
333
- Video fills are identified by the type `'//ly.img.ubq/fill/video'` or the short form `'video'`. They contain properties for the video source, positioning, scaling, and playback behavior.
334
-
335
- ### Video Fill vs Video Blocks
336
-
337
- **Video fills** are fill objects created with `createFill('video')` and applied to blocks with `setFill()`. You can use them to fill shapes with video content, create video backgrounds, or add video textures to text.
338
-
339
- **Video blocks** are created with the convenience method `addVideo()` and come pre-configured with time-based properties including trim support, duration, and playback time. Use video blocks when you need features like trimming, duration adjustment, and precise playback control.
230
+ Video fills work in any scene. Create a scene and add a page to get started.
340
231
 
341
- For this guide, we focus on video fills—applying video content as a fill to design elements. For video editing workflows, see the [Trim Video guide](./edit-video/trim.md).
342
-
343
- ## Checking Video Fill Support
232
+ ```typescript highlight=highlight-create-scene
233
+ // Create a scene with a page
234
+ const scene = engine.scene.create('DepthStack');
235
+ const page = engine.block.create('page');
236
+ engine.block.setWidth(page, 800);
237
+ engine.block.setHeight(page, 600);
238
+ engine.block.appendChild(scene, page);
239
+ ```
344
240
 
345
- Before applying video fills, verify that blocks support fills.
241
+ Before working with fills, verify that the block supports fills.
346
242
 
347
- ```typescript highlight-check-fill-support
348
- // Create a sample block to demonstrate fill support checking
349
- const sampleBlock = engine.block.create('graphic');
350
- engine.block.setShape(sampleBlock, engine.block.createShape('rect'));
243
+ ```typescript highlight=highlight-check-fill-support
244
+ // Check if block supports fills before accessing fill APIs
245
+ const testBlock = engine.block.create('graphic');
246
+ const canHaveFill = engine.block.supportsFill(testBlock);
247
+ console.log('Block supports fills:', canHaveFill);
351
248
 
352
- // Check if the block supports fills
353
- const supportsFills = engine.block.supportsFill(sampleBlock);
354
- // eslint-disable-next-line no-console
355
- console.log('Block supports fills:', supportsFills); // true for graphic blocks
249
+ engine.block.destroy(testBlock);
356
250
  ```
357
251
 
358
- Graphic blocks, shapes, and text blocks typically support fills. Pages and scenes don't. Always check `supportsFill()` before attempting to apply video fills to prevent errors.
359
-
360
- ## Creating Video Fills
361
-
362
- ### Creating Video Fills
252
+ ## Creating a Video Fill
363
253
 
364
- Creating a video fill involves three steps: create the fill object, set the video source, and apply it to a block.
254
+ Create a video fill and apply it to a graphic block:
365
255
 
366
- ```typescript highlight-create-video-fill
367
- // Pattern #1: Demonstrate Individual Before Combined
368
- // Create a basic video fill demonstration
369
- const basicBlock = engine.block.create('graphic');
370
- engine.block.setShape(basicBlock, engine.block.createShape('rect'));
371
- engine.block.setWidth(basicBlock, blockWidth);
372
- engine.block.setHeight(basicBlock, blockHeight);
373
- engine.block.appendChild(page, basicBlock);
256
+ ```typescript highlight=highlight-create-video-fill
257
+ // Create a graphic block with a video fill
258
+ const basicBlock = engine.block.create('graphic');
259
+ engine.block.setShape(basicBlock, engine.block.createShape('rect'));
260
+ engine.block.setWidth(basicBlock, 200);
261
+ engine.block.setHeight(basicBlock, 150);
374
262
 
375
- // Create a video fill
376
- const basicVideoFill = engine.block.createFill('video');
377
- // or using full type name: engine.block.createFill('//ly.img.ubq/fill/video');
263
+ // Create a video fill
264
+ const videoFill = engine.block.createFill('video');
265
+ // or using full type name: engine.block.createFill('//ly.img.ubq/fill/video');
378
266
 
379
- // Set the video source URI
380
- engine.block.setString(basicVideoFill, 'fill/video/fileURI', videoUri);
267
+ // Set the video source URI
268
+ engine.block.setString(videoFill, 'fill/video/fileURI', videoUri);
381
269
 
382
- // Apply the fill to the block
383
- engine.block.setFill(basicBlock, basicVideoFill);
270
+ // Apply the fill to the block
271
+ engine.block.setFill(basicBlock, videoFill);
272
+ engine.block.appendChild(page, basicBlock);
384
273
  ```
385
274
 
386
- The video fill exists independently until you attach it to a block. This allows you to configure the fill completely before applying it. Once applied, the fill paints the block with the video content.
387
-
388
- ### Getting Current Fill Information
275
+ Retrieve the fill from a block and verify its type:
389
276
 
390
- We can retrieve the current fill from a block and inspect its type to verify it's a video fill.
391
-
392
- ```typescript highlight-get-current-fill
277
+ ```typescript highlight=highlight-get-current-fill
393
278
  // Get and verify the current fill
394
279
  const fillId = engine.block.getFill(basicBlock);
395
280
  const fillType = engine.block.getType(fillId);
396
- // eslint-disable-next-line no-console
397
281
  console.log('Fill type:', fillType); // '//ly.img.ubq/fill/video'
398
282
  ```
399
283
 
400
- This is useful when building UIs that need to adapt based on the current fill type or when implementing undo/redo functionality that tracks fill changes.
401
-
402
284
  ## Content Fill Modes
403
285
 
404
- Content fill modes control how video scales and positions within blocks. The two primary modes are Cover and Contain, each suited to different use cases.
286
+ Content fill modes control how video content is positioned within the block bounds.
405
287
 
406
288
  ### Cover Mode
407
289
 
408
- Cover mode fills the entire block with video while maintaining the video's aspect ratio. If the aspect ratios don't match, CE.SDK crops portions of the video to ensure no empty space appears in the block.
290
+ Cover mode scales the video to completely fill the block area. Parts of the video may be cropped if the aspect ratios differ.
409
291
 
410
- ```typescript highlight-fill-mode-cover
411
- // Pattern #2: Content fill mode - Cover
412
- // Cover mode fills entire block, may crop video to fit
413
- const coverBlock = engine.block.create('graphic');
414
- engine.block.setShape(coverBlock, engine.block.createShape('rect'));
415
- engine.block.setWidth(coverBlock, blockWidth);
416
- engine.block.setHeight(coverBlock, blockHeight);
417
- engine.block.appendChild(page, coverBlock);
292
+ ```typescript highlight=highlight-fill-mode-cover
293
+ // Cover mode: Fill entire block, may crop video
294
+ const coverBlock = engine.block.create('graphic');
295
+ engine.block.setShape(coverBlock, engine.block.createShape('rect'));
296
+ engine.block.setWidth(coverBlock, 200);
297
+ engine.block.setHeight(coverBlock, 150);
418
298
 
419
- const coverVideoFill = engine.block.createFill('video');
420
- engine.block.setString(coverVideoFill, 'fill/video/fileURI', videoUri);
421
- engine.block.setFill(coverBlock, coverVideoFill);
299
+ const coverVideoFill = engine.block.createFill('video');
300
+ engine.block.setString(coverVideoFill, 'fill/video/fileURI', videoUri);
301
+ engine.block.setFill(coverBlock, coverVideoFill);
302
+ engine.block.appendChild(page, coverBlock);
422
303
 
423
- // Set content fill mode to Cover
424
- engine.block.setEnum(coverBlock, 'contentFill/mode', 'Cover');
304
+ // Set content fill mode to Cover
305
+ engine.block.setEnum(coverBlock, 'contentFill/mode', 'Cover');
425
306
 
426
- // Get current fill mode
427
- const coverMode = engine.block.getEnum(coverBlock, 'contentFill/mode');
428
- // eslint-disable-next-line no-console
429
- console.log('Cover block fill mode:', coverMode); // 'Cover'
307
+ // Get current fill mode
308
+ const coverMode = engine.block.getEnum(coverBlock, 'contentFill/mode');
309
+ console.log('Cover block fill mode:', coverMode); // 'Cover'
430
310
  ```
431
311
 
432
- Use Cover mode for background videos, full-frame video content, and situations where visual consistency matters more than showing the entire video. It guarantees no empty space but may crop content.
433
-
434
312
  ### Contain Mode
435
313
 
436
- Contain mode fits the entire video within the block while maintaining aspect ratio. If aspect ratios don't match, CE.SDK adds empty space to preserve the full video visibility.
314
+ Contain mode scales the video to fit entirely within the block bounds. The complete video is visible, but empty space may appear if aspect ratios differ.
437
315
 
438
- ```typescript highlight-fill-mode-contain
439
- // Content fill mode - Contain
440
- // Contain mode fits entire video, may leave empty space
441
- const containBlock = engine.block.create('graphic');
442
- engine.block.setShape(containBlock, engine.block.createShape('rect'));
443
- engine.block.setWidth(containBlock, blockWidth);
444
- engine.block.setHeight(containBlock, blockHeight);
445
- engine.block.appendChild(page, containBlock);
316
+ ```typescript highlight=highlight-fill-mode-contain
317
+ // Contain mode: Fit entire video, may leave empty space
318
+ const containBlock = engine.block.create('graphic');
319
+ engine.block.setShape(containBlock, engine.block.createShape('rect'));
320
+ engine.block.setWidth(containBlock, 200);
321
+ engine.block.setHeight(containBlock, 150);
446
322
 
447
- const containVideoFill = engine.block.createFill('video');
448
- engine.block.setString(containVideoFill, 'fill/video/fileURI', videoUri);
449
- engine.block.setFill(containBlock, containVideoFill);
323
+ const containVideoFill = engine.block.createFill('video');
324
+ engine.block.setString(containVideoFill, 'fill/video/fileURI', videoUri);
325
+ engine.block.setFill(containBlock, containVideoFill);
326
+ engine.block.appendChild(page, containBlock);
450
327
 
451
- // Set content fill mode to Contain
452
- engine.block.setEnum(containBlock, 'contentFill/mode', 'Contain');
328
+ // Set content fill mode to Contain
329
+ engine.block.setEnum(containBlock, 'contentFill/mode', 'Contain');
453
330
  ```
454
331
 
455
- Use Contain mode when the entire video must remain visible—presentations, product demos, or content where cropping would lose important information. Empty space is acceptable to preserve complete visibility.
456
-
457
- ## Loading Video Resources
332
+ ### Getting the Current Mode
458
333
 
459
- Before accessing video metadata like duration or dimensions, you must force load the video resource. This ensures CE.SDK has downloaded the necessary information.
460
-
461
- ```typescript highlight-force-load-resource
462
- // Force load video resource to access metadata
463
- const resourceBlock = engine.block.create('graphic');
464
- engine.block.setShape(resourceBlock, engine.block.createShape('rect'));
465
- engine.block.setWidth(resourceBlock, blockWidth);
466
- engine.block.setHeight(resourceBlock, blockHeight);
467
- engine.block.appendChild(page, resourceBlock);
468
-
469
- const resourceVideoFill = engine.block.createFill('video');
470
- engine.block.setString(resourceVideoFill, 'fill/video/fileURI', videoUri);
471
- engine.block.setFill(resourceBlock, resourceVideoFill);
472
-
473
- // Force load the video resource before accessing metadata
474
- await engine.block.forceLoadAVResource(resourceVideoFill);
475
-
476
- // Now we can access video metadata
477
- const totalDuration = engine.block.getDouble(
478
- resourceVideoFill,
479
- 'fill/video/totalDuration'
480
- );
481
- // eslint-disable-next-line no-console
482
- console.log('Video total duration:', totalDuration, 'seconds');
334
+ ```typescript highlight=highlight-get-fill-mode
335
+ // Get current fill mode
336
+ const currentMode = engine.block.getEnum(containBlock, 'contentFill/mode');
337
+ console.log('Current fill mode:', currentMode);
483
338
  ```
484
339
 
485
- Skipping this step causes errors when trying to access metadata. Videos load asynchronously, so `forceLoadAVResource` ensures the metadata is available before you query it.
340
+ The available modes are:
486
341
 
487
- Once loaded, you can access properties like `fill/video/totalDuration` to get the video length in seconds. This information helps you build UI previews or validate user input.
342
+ - `'Crop'` Default mode, uses crop scale to position content
343
+ - `'Cover'` — Fill entire area, may crop content
344
+ - `'Contain'` — Show all content, may leave empty space
488
345
 
489
- ## Common Use Cases
346
+ ## Loading Video Resources
490
347
 
491
- ### Video as Shape Fill
348
+ Video metadata like duration is only available after the resource loads. Use `forceLoadAVResource()` to ensure the video is loaded before accessing metadata.
492
349
 
493
- Video fills aren't limited to rectangles. You can fill any shape with video content.
350
+ ```typescript highlight=highlight-force-load-resource
351
+ // Force load video resource to access metadata
352
+ const metadataBlock = engine.block.create('graphic');
353
+ engine.block.setShape(metadataBlock, engine.block.createShape('rect'));
354
+ engine.block.setWidth(metadataBlock, 200);
355
+ engine.block.setHeight(metadataBlock, 150);
494
356
 
495
- ```typescript highlight-video-shape-fill
496
- // Use case: Video as shape fill - Ellipse
497
- const ellipseBlock = engine.block.create('graphic');
498
- const ellipseShape = engine.block.createShape('//ly.img.ubq/shape/ellipse');
499
- engine.block.setShape(ellipseBlock, ellipseShape);
500
- engine.block.setWidth(ellipseBlock, blockWidth);
501
- engine.block.setHeight(ellipseBlock, blockHeight);
502
- engine.block.appendChild(page, ellipseBlock);
357
+ const metadataVideoFill = engine.block.createFill('video');
358
+ engine.block.setString(metadataVideoFill, 'fill/video/fileURI', videoUri);
359
+ engine.block.setFill(metadataBlock, metadataVideoFill);
360
+ engine.block.appendChild(page, metadataBlock);
503
361
 
504
- const ellipseVideoFill = engine.block.createFill('video');
505
- engine.block.setString(ellipseVideoFill, 'fill/video/fileURI', videoUri);
506
- engine.block.setFill(ellipseBlock, ellipseVideoFill);
507
- ```
362
+ // Force load the video resource before accessing metadata
363
+ await engine.block.forceLoadAVResource(metadataVideoFill);
508
364
 
509
- Ellipse shapes, polygons, stars, and custom paths all support video fills. The video content fills the shape boundary, masking the video.
365
+ // Now we can access video metadata
366
+ const totalDuration = engine.block.getDouble(
367
+ metadataVideoFill,
368
+ 'fill/video/totalDuration'
369
+ );
370
+ console.log('Video total duration:', totalDuration, 'seconds');
371
+ ```
510
372
 
511
- ### Video with Opacity
373
+ ## Common Use Cases
512
374
 
513
- Control the transparency of video-filled blocks to create overlay effects or blend video content with backgrounds.
375
+ ### Video in Shapes
514
376
 
515
- ```typescript highlight-opacity
516
- // Advanced: Video fill with opacity
517
- const opacityBlock = engine.block.create('graphic');
518
- engine.block.setShape(opacityBlock, engine.block.createShape('rect'));
519
- engine.block.setWidth(opacityBlock, blockWidth);
520
- engine.block.setHeight(opacityBlock, blockHeight);
521
- engine.block.appendChild(page, opacityBlock);
377
+ Fill any shape with video content:
522
378
 
523
- const opacityVideoFill = engine.block.createFill('video');
524
- engine.block.setString(opacityVideoFill, 'fill/video/fileURI', videoUri);
525
- engine.block.setFill(opacityBlock, opacityVideoFill);
379
+ ```typescript highlight=highlight-video-shape-fill
380
+ // Fill a shape with video content
381
+ const ellipseBlock = engine.block.create('graphic');
382
+ const ellipseShape = engine.block.createShape('//ly.img.ubq/shape/ellipse');
383
+ engine.block.setShape(ellipseBlock, ellipseShape);
384
+ engine.block.setWidth(ellipseBlock, 200);
385
+ engine.block.setHeight(ellipseBlock, 150);
526
386
 
527
- // Set block opacity to 70%
528
- engine.block.setFloat(opacityBlock, 'opacity', 0.7);
387
+ const ellipseVideoFill = engine.block.createFill('video');
388
+ engine.block.setString(ellipseVideoFill, 'fill/video/fileURI', videoUri);
389
+ engine.block.setFill(ellipseBlock, ellipseVideoFill);
390
+ engine.block.appendChild(page, ellipseBlock);
529
391
  ```
530
392
 
531
- Opacity affects the entire block, including its video fill. This technique creates semi-transparent video overlays, watermarks, or layered compositions where video content blends with other elements.
393
+ ### Opacity Control
532
394
 
533
- ## Additional Techniques
395
+ Adjust block opacity for transparency effects:
396
+
397
+ ```typescript highlight=highlight-opacity
398
+ // Control opacity for transparency effects
399
+ const opacityBlock = engine.block.create('graphic');
400
+ engine.block.setShape(opacityBlock, engine.block.createShape('rect'));
401
+ engine.block.setWidth(opacityBlock, 200);
402
+ engine.block.setHeight(opacityBlock, 150);
403
+
404
+ const opacityVideoFill = engine.block.createFill('video');
405
+ engine.block.setString(opacityVideoFill, 'fill/video/fileURI', videoUri);
406
+ engine.block.setFill(opacityBlock, opacityVideoFill);
407
+ engine.block.appendChild(page, opacityBlock);
534
408
 
535
- ### Sharing Video Fills
536
-
537
- Memory efficiency improves when multiple blocks share a single video fill instance. Changes to the shared fill affect all blocks using it.
538
-
539
- ```typescript highlight-shared-fill
540
- // Advanced: Share one video fill between multiple blocks
541
- const sharedFill = engine.block.createFill('video');
542
- engine.block.setString(sharedFill, 'fill/video/fileURI', videoUri);
543
-
544
- // First block using shared fill
545
- const sharedBlock1 = engine.block.create('graphic');
546
- engine.block.setShape(sharedBlock1, engine.block.createShape('rect'));
547
- engine.block.setWidth(sharedBlock1, blockWidth);
548
- engine.block.setHeight(sharedBlock1, blockHeight);
549
- engine.block.appendChild(page, sharedBlock1);
550
- engine.block.setFill(sharedBlock1, sharedFill);
551
-
552
- // Second block using the same shared fill
553
- const sharedBlock2 = engine.block.create('graphic');
554
- engine.block.setShape(sharedBlock2, engine.block.createShape('rect'));
555
- engine.block.setWidth(sharedBlock2, blockWidth * 0.8); // Slightly smaller
556
- engine.block.setHeight(sharedBlock2, blockHeight * 0.8);
557
- engine.block.appendChild(page, sharedBlock2);
558
- engine.block.setFill(sharedBlock2, sharedFill);
559
-
560
- // eslint-disable-next-line no-console
561
- console.log(
562
- 'Shared fill - Two blocks using the same video fill instance for memory efficiency'
563
- );
409
+ // Set block opacity to 70%
410
+ engine.block.setFloat(opacityBlock, 'opacity', 0.7);
564
411
  ```
565
412
 
566
- This pattern reduces memory usage when the same video appears multiple times in a composition. It's particularly useful for repeated elements like watermarks or background patterns.
413
+ ## Additional Techniques
567
414
 
568
- Shared fills play back synchronized—all blocks display the same frame at the same time during playback. This ensures visual consistency across multiple elements.
415
+ ### Shared Video Fills
569
416
 
570
- ## Troubleshooting
417
+ Multiple blocks can share the same fill instance, which improves memory efficiency when displaying the same video in multiple locations.
571
418
 
572
- ### Video Not Visible
419
+ ```typescript highlight=highlight-shared-fill
420
+ // Share one video fill between multiple blocks for memory efficiency
421
+ const sharedFill = engine.block.createFill('video');
422
+ engine.block.setString(sharedFill, 'fill/video/fileURI', videoUri);
573
423
 
574
- If your video fill doesn't appear, check several common causes. Verify the fill is enabled with `isFillEnabled(block)`. Ensure the video URL is accessible—CORS restrictions on web platforms can block video loading. Confirm the block has valid dimensions (width and height greater than zero) and exists in the scene hierarchy.
424
+ // First block using shared fill
425
+ const sharedBlock1 = engine.block.create('graphic');
426
+ engine.block.setShape(sharedBlock1, engine.block.createShape('rect'));
427
+ engine.block.setWidth(sharedBlock1, 200);
428
+ engine.block.setHeight(sharedBlock1, 150);
429
+ engine.block.setFill(sharedBlock1, sharedFill);
430
+ engine.block.appendChild(page, sharedBlock1);
575
431
 
576
- Check that the video format is supported on your platform. MP4 with H.264 encoding works reliably across platforms, while other codecs may have limited support.
432
+ // Second block using the same shared fill
433
+ const sharedBlock2 = engine.block.create('graphic');
434
+ engine.block.setShape(sharedBlock2, engine.block.createShape('rect'));
435
+ engine.block.setWidth(sharedBlock2, 160);
436
+ engine.block.setHeight(sharedBlock2, 120);
437
+ engine.block.setFill(sharedBlock2, sharedFill);
438
+ engine.block.appendChild(page, sharedBlock2);
577
439
 
578
- ### Cannot Create Video Fill
440
+ console.log('Shared fill - Two blocks using the same video fill instance');
441
+ ```
579
442
 
580
- If creating a video fill throws an error, verify the block supports fills using `engine.block.supportsFill(block)` and that the block is part of a valid scene hierarchy.
443
+ ## Cleanup
581
444
 
582
- ### Video Not Loading
445
+ Always dispose of the engine when finished to release resources.
583
446
 
584
- When videos fail to load, verify network connectivity for remote URLs. Check CORS headers—web browsers enforce cross-origin restrictions that can block video access. Validate the URI format uses `https://` for remote videos or appropriate schemes for local files.
447
+ ```typescript highlight=highlight-cleanup
448
+ } finally {
449
+ engine.dispose();
450
+ }
451
+ ```
585
452
 
586
- Test with a known working video URL to isolate whether the issue is with your specific video or a broader configuration problem. Check the browser console for detailed error messages.
453
+ ## Troubleshooting
587
454
 
588
- ### Memory Leaks
455
+ ### Video Fill Not Displaying
589
456
 
590
- Always destroy replaced fills to prevent memory leaks. When changing a block's fill, retrieve the old fill with `getFill()`, assign the new fill with `setFill()`, then destroy the old fill with `destroy()`.
457
+ If video fills don't appear:
591
458
 
592
- Don't create fills without attaching them to blocks—unattached fills remain in memory indefinitely. Clean up shared fills when no blocks reference them anymore.
459
+ 1. Ensure the video URI is accessible and valid
460
+ 2. Check that the block has a shape assigned before setting the fill
461
+ 3. Confirm the block has been appended to the page
593
462
 
594
- ### Performance Issues
463
+ ### Metadata Not Available
595
464
 
596
- Video playback is resource-intensive. Use appropriately sized videos—avoid massive files that strain decoding hardware. Consider lower resolutions for editing with high-resolution sources reserved for export.
465
+ If `fill/video/totalDuration` returns unexpected values:
597
466
 
598
- Limit the number of simultaneously playing videos, especially on mobile devices. Too many concurrent video decodes overwhelm device capabilities. Compress videos before use to reduce file sizes and improve loading times.
467
+ 1. Call `engine.block.forceLoadAVResource()` before accessing metadata
468
+ 2. Await the promise to ensure loading completes
469
+ 3. Verify the video file exists and is accessible
599
470
 
600
471
  ## API Reference
601
472
 
602
- | Method | Description |
603
- | ----------------------------------------- | -------------------------------- |
604
- | `createFill('video')` | Create a new video fill object |
605
- | `setFill(block, fill)` | Assign fill to a block |
606
- | `getFill(block)` | Get the fill ID from a block |
607
- | `setString(fill, property, value)` | Set video URI property |
608
- | `getString(fill, property)` | Get current video URI |
609
- | `setSourceSet(fill, property, sources)` | Set responsive video sources |
610
- | `getSourceSet(fill, property)` | Get current source set |
611
- | `setEnum(block, property, value)` | Set content fill mode |
612
- | `getEnum(block, property)` | Get current fill mode |
613
- | `setFillEnabled(block, enabled)` | Enable or disable fill rendering |
614
- | `isFillEnabled(block)` | Check if fill is enabled |
615
- | `supportsFill(block)` | Check if block supports fills |
616
- | `forceLoadAVResource(fill)` | Force load video metadata |
617
- | `getVideoFillThumbnail(fill, height)` | Get single thumbnail frame |
618
- | `adjustCropToFillFrame(block, fillIndex)` | Adjust crop to fill frame |
619
-
620
- ### Video Fill Properties
621
-
622
- | Property | Type | Description |
623
- | -------------------------- | ------------ | ------------------------------------------- |
624
- | `fill/video/fileURI` | String | Single video URI (URL, data URI, file path) |
625
- | `fill/video/sourceSet` | SourceSet\[] | Array of responsive video sources |
626
- | `fill/video/totalDuration` | Double | Total duration of video in seconds |
627
-
628
- ### Content Fill Properties
629
-
630
- | Property | Type | Values | Description |
631
- | ------------------ | ---- | ------------------ | ----------------------------- |
632
- | `contentFill/mode` | Enum | 'Cover', 'Contain' | How video scales within block |
473
+ | Property | Type | Description |
474
+ | -------------------------- | -------- | -------------------------------------- |
475
+ | `fill/video/fileURI` | `string` | URI of the video file |
476
+ | `fill/video/totalDuration` | `double` | Total duration of the video in seconds |
477
+ | `contentFill/mode` | `enum` | Fill mode: 'Crop', 'Cover', 'Contain' |
478
+ | `opacity` | `float` | Block opacity from 0.0 to 1.0 |
479
+
480
+
633
481
 
634
482
  ---
635
483
 
636
484
  ## More Resources
637
485
 
638
- - **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
486
+ - **[Node.js Documentation Index](https://img.ly/docs/cesdk/node.md)** - Browse all Node.js documentation
639
487
  - **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
640
- - **[Web Documentation](./js.md)** - Interactive documentation with examples
641
- - **[Support](mailto:support@img.ly)** - Contact IMG.LY support
488
+ - **[Web Documentation](./node.md)** - Interactive documentation with examples
489
+ - **[Support](mailto:support@img.ly)** - Contact IMG.LY support