@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.
- package/README.md +51 -1
- package/assets/docs/guide/SKILL.md +45 -53
- package/assets/docs/guide/animation/create/base.md +234 -243
- package/assets/docs/guide/animation/create/text.md +250 -231
- package/assets/docs/guide/animation/create.md +197 -231
- package/assets/docs/guide/animation/edit.md +196 -271
- package/assets/docs/guide/animation/types.md +182 -185
- package/assets/docs/guide/animation.md +9 -6
- package/assets/docs/guide/api/AssetAPI.md +7 -53
- package/assets/docs/guide/api/BlockAPI.md +725 -648
- package/assets/docs/guide/api/CreativeEngine.md +7 -16
- package/assets/docs/guide/api/EditorAPI.md +32 -93
- package/assets/docs/guide/api/EventAPI.md +1 -2
- package/assets/docs/guide/api/SceneAPI.md +47 -98
- package/assets/docs/guide/api/VariableAPI.md +1 -4
- package/assets/docs/guide/api/node/classes/assetapi.md +1090 -0
- package/assets/docs/guide/api/node/classes/blockapi.md +12965 -0
- package/assets/docs/guide/api/node/classes/creativeengine.md +319 -0
- package/assets/docs/guide/api/node/classes/editorapi.md +3417 -0
- package/assets/docs/guide/api/node/classes/engineactions.md +319 -0
- package/assets/docs/guide/api/node/classes/eventapi.md +56 -0
- package/assets/docs/guide/api/node/classes/sceneapi.md +1370 -0
- package/assets/docs/guide/api/node/classes/variableapi.md +143 -0
- package/assets/docs/guide/api/node/enumerations/compressionformat.md +23 -0
- package/assets/docs/guide/api/node/enumerations/compressionlevel.md +24 -0
- package/assets/docs/guide/api/node/functions/iscmykcolor.md +30 -0
- package/assets/docs/guide/api/node/functions/isrgbacolor.md +30 -0
- package/assets/docs/guide/api/node/functions/isspotcolor.md +30 -0
- package/assets/docs/guide/api/node/interfaces/addvideooptions.md +31 -0
- package/assets/docs/guide/api/node/interfaces/applyassetoptions.md +31 -0
- package/assets/docs/guide/api/node/interfaces/asset.md +30 -0
- package/assets/docs/guide/api/node/interfaces/assetbooleanproperty.md +25 -0
- package/assets/docs/guide/api/node/interfaces/assetcmykcolor.md +26 -0
- package/assets/docs/guide/api/node/interfaces/assetcolorproperty.md +25 -0
- package/assets/docs/guide/api/node/interfaces/assetcontentaspectratio.md +23 -0
- package/assets/docs/guide/api/node/interfaces/assetdefinition.md +31 -0
- package/assets/docs/guide/api/node/interfaces/assetenumproperty.md +26 -0
- package/assets/docs/guide/api/node/interfaces/assetfixedaspectratio.md +24 -0
- package/assets/docs/guide/api/node/interfaces/assetfixedsize.md +25 -0
- package/assets/docs/guide/api/node/interfaces/assetfreeaspectratio.md +22 -0
- package/assets/docs/guide/api/node/interfaces/assetnumberproperty.md +28 -0
- package/assets/docs/guide/api/node/interfaces/assetpayload.md +27 -0
- package/assets/docs/guide/api/node/interfaces/assetquerydata.md +32 -0
- package/assets/docs/guide/api/node/interfaces/assetresult.md +46 -0
- package/assets/docs/guide/api/node/interfaces/assetrgbcolor.md +25 -0
- package/assets/docs/guide/api/node/interfaces/assetsource.md +111 -0
- package/assets/docs/guide/api/node/interfaces/assetspotcolor.md +25 -0
- package/assets/docs/guide/api/node/interfaces/assetsqueryresult.md +31 -0
- package/assets/docs/guide/api/node/interfaces/assetstringproperty.md +25 -0
- package/assets/docs/guide/api/node/interfaces/assetstylepreset.md +39 -0
- package/assets/docs/guide/api/node/interfaces/assetstylepresetanimation.md +23 -0
- package/assets/docs/guide/api/node/interfaces/audiotrackinfo.md +32 -0
- package/assets/docs/guide/api/node/interfaces/blockevent.md +26 -0
- package/assets/docs/guide/api/node/interfaces/blockstateerror.md +26 -0
- package/assets/docs/guide/api/node/interfaces/blockstatepending.md +26 -0
- package/assets/docs/guide/api/node/interfaces/blockstateready.md +25 -0
- package/assets/docs/guide/api/node/interfaces/buffer.md +26 -0
- package/assets/docs/guide/api/node/interfaces/characterinkbox.md +29 -0
- package/assets/docs/guide/api/node/interfaces/cmykcolor.md +34 -0
- package/assets/docs/guide/api/node/interfaces/completeassetresult.md +46 -0
- package/assets/docs/guide/api/node/interfaces/configuration.md +38 -0
- package/assets/docs/guide/api/node/interfaces/dominantcolor.md +25 -0
- package/assets/docs/guide/api/node/interfaces/dominantcolorsoptions.md +23 -0
- package/assets/docs/guide/api/node/interfaces/engineactioninfo.md +24 -0
- package/assets/docs/guide/api/node/interfaces/engineactionsregistry.md +18 -0
- package/assets/docs/guide/api/node/interfaces/engineplugin.md +30 -0
- package/assets/docs/guide/api/node/interfaces/font.md +27 -0
- package/assets/docs/guide/api/node/interfaces/fontmetrics.md +32 -0
- package/assets/docs/guide/api/node/interfaces/gradientcolorstop.md +28 -0
- package/assets/docs/guide/api/node/interfaces/logger.md +39 -0
- package/assets/docs/guide/api/node/interfaces/pageduration.md +23 -0
- package/assets/docs/guide/api/node/interfaces/range.md +23 -0
- package/assets/docs/guide/api/node/interfaces/rgbacolor.md +32 -0
- package/assets/docs/guide/api/node/interfaces/rgbcolor.md +30 -0
- package/assets/docs/guide/api/node/interfaces/settings.md +126 -0
- package/assets/docs/guide/api/node/interfaces/size2.md +21 -0
- package/assets/docs/guide/api/node/interfaces/source.md +24 -0
- package/assets/docs/guide/api/node/interfaces/spotcolor.md +30 -0
- package/assets/docs/guide/api/node/interfaces/textdecorationconfig.md +31 -0
- package/assets/docs/guide/api/node/interfaces/textfontsizeoptions.md +24 -0
- package/assets/docs/guide/api/node/interfaces/textruninfo.md +33 -0
- package/assets/docs/guide/api/node/interfaces/transientresource.md +26 -0
- package/assets/docs/guide/api/node/interfaces/typeface.md +23 -0
- package/assets/docs/guide/api/node/interfaces/vec2.md +21 -0
- package/assets/docs/guide/api/node/interfaces/vec3.md +22 -0
- package/assets/docs/guide/api/node/type-aliases/addimageoptions.md +36 -0
- package/assets/docs/guide/api/node/type-aliases/animationbaselinedirection.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/animationblockswipetextdirection.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/animationeasing.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/animationentry.md +28 -0
- package/assets/docs/guide/api/node/type-aliases/animationgrowdirection.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/animationjumploopdirection.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/animationkenburnsdirection.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/animationmergetextdirection.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/animationoptions.md +28 -0
- package/assets/docs/guide/api/node/type-aliases/animationspindirection.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/animationspinloopdirection.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/animationtype.md +24 -0
- package/assets/docs/guide/api/node/type-aliases/animationtypelonghand.md +21 -0
- package/assets/docs/guide/api/node/type-aliases/animationtypeshorthand.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/animationtypewritertextwritingstyle.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/animationwipedirection.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/applicationmimetype.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/assetcolor.md +23 -0
- package/assets/docs/guide/api/node/type-aliases/assetfilter.md +47 -0
- package/assets/docs/guide/api/node/type-aliases/assetgroups.md +25 -0
- package/assets/docs/guide/api/node/type-aliases/assetmetadata.md +42 -0
- package/assets/docs/guide/api/node/type-aliases/assetproperty.md +25 -0
- package/assets/docs/guide/api/node/type-aliases/assetpropertyfilter.md +41 -0
- package/assets/docs/guide/api/node/type-aliases/assetpropertypath.md +26 -0
- package/assets/docs/guide/api/node/type-aliases/assetstylepresetanimationproperties.md +34 -0
- package/assets/docs/guide/api/node/type-aliases/assetstylepresetproperties.md +29 -0
- package/assets/docs/guide/api/node/type-aliases/assetstylepresetpropertyvalue.md +29 -0
- package/assets/docs/guide/api/node/type-aliases/assetstylepresetscalableproperty.md +28 -0
- package/assets/docs/guide/api/node/type-aliases/assettransformpreset.md +24 -0
- package/assets/docs/guide/api/node/type-aliases/asyncuriresolver.md +36 -0
- package/assets/docs/guide/api/node/type-aliases/audioexportoptions.md +43 -0
- package/assets/docs/guide/api/node/type-aliases/audiofromvideooptions.md +27 -0
- package/assets/docs/guide/api/node/type-aliases/audiomimetype.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/blendmode.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/blockenumtype.md +63 -0
- package/assets/docs/guide/api/node/type-aliases/blockstate.md +26 -0
- package/assets/docs/guide/api/node/type-aliases/blurtype.md +24 -0
- package/assets/docs/guide/api/node/type-aliases/blurtypelonghand.md +21 -0
- package/assets/docs/guide/api/node/type-aliases/blurtypeshorthand.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/booleanoperation.md +27 -0
- package/assets/docs/guide/api/node/type-aliases/boolpropertyname.md +79 -0
- package/assets/docs/guide/api/node/type-aliases/cameraclampingovershootmode.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/captionhorizontalalignment.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/captionverticalalignment.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/cmyk.md +23 -0
- package/assets/docs/guide/api/node/type-aliases/color.md +23 -0
- package/assets/docs/guide/api/node/type-aliases/colorpickercolormode.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/colorpropertyname.md +31 -0
- package/assets/docs/guide/api/node/type-aliases/colorspace.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/contentfillmode.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/controlgizmomovehandlevisibility.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/controlgizmoresizehandlesvisibility.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/controlgizmorotatehandlesvisibility.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/controlgizmoscalehandlesvisibility.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/createsceneoptions.md +30 -0
- package/assets/docs/guide/api/node/type-aliases/cutoutoperation.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/cutouttype.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/defaultassetsourceid.md +37 -0
- package/assets/docs/guide/api/node/type-aliases/demoassetsourceid.md +33 -0
- package/assets/docs/guide/api/node/type-aliases/designblockid.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/designblocktype.md +24 -0
- package/assets/docs/guide/api/node/type-aliases/designblocktypelonghand.md +21 -0
- package/assets/docs/guide/api/node/type-aliases/designblocktypeshorthand.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/designunit.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/doubleclickselectionmode.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/doublepropertyname.md +26 -0
- package/assets/docs/guide/api/node/type-aliases/dropshadowoptions.md +32 -0
- package/assets/docs/guide/api/node/type-aliases/editmode.md +27 -0
- package/assets/docs/guide/api/node/type-aliases/effecttype.md +24 -0
- package/assets/docs/guide/api/node/type-aliases/effecttypelonghand.md +21 -0
- package/assets/docs/guide/api/node/type-aliases/effecttypeshorthand.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/engineactionid.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/enginecustomactionfunction.md +30 -0
- package/assets/docs/guide/api/node/type-aliases/engineplugincontext.md +30 -0
- package/assets/docs/guide/api/node/type-aliases/enumpropertyname.md +59 -0
- package/assets/docs/guide/api/node/type-aliases/enumvalues.md +59 -0
- package/assets/docs/guide/api/node/type-aliases/exportoptions.md +57 -0
- package/assets/docs/guide/api/node/type-aliases/fillpixelstreamorientation.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/filltype.md +24 -0
- package/assets/docs/guide/api/node/type-aliases/filltypelonghand.md +21 -0
- package/assets/docs/guide/api/node/type-aliases/filltypeshorthand.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/floatpropertyname.md +184 -0
- package/assets/docs/guide/api/node/type-aliases/fontsizeunit.md +23 -0
- package/assets/docs/guide/api/node/type-aliases/fontstyle.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/fontweight.md +30 -0
- package/assets/docs/guide/api/node/type-aliases/gradientstoprgba.md +23 -0
- package/assets/docs/guide/api/node/type-aliases/heightmode.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/hexcolorstring.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/historyid.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/historyupdate.md +25 -0
- package/assets/docs/guide/api/node/type-aliases/horizontalblockalignment.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/horizontalcontentfillalignment.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/horizontaltextalignment.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/imagemimetype.md +25 -0
- package/assets/docs/guide/api/node/type-aliases/intpropertyname.md +26 -0
- package/assets/docs/guide/api/node/type-aliases/liststyle.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/locale.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/loglevel.md +24 -0
- package/assets/docs/guide/api/node/type-aliases/mimetype.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/objecttype.md +24 -0
- package/assets/docs/guide/api/node/type-aliases/objecttypelonghand.md +27 -0
- package/assets/docs/guide/api/node/type-aliases/objecttypeshorthand.md +27 -0
- package/assets/docs/guide/api/node/type-aliases/optionalprefix.md +24 -0
- package/assets/docs/guide/api/node/type-aliases/pageguidessource.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/palettecolor.md +24 -0
- package/assets/docs/guide/api/node/type-aliases/positionmode.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/positionxmode.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/positionymode.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/propertytype.md +31 -0
- package/assets/docs/guide/api/node/type-aliases/rgba.md +23 -0
- package/assets/docs/guide/api/node/type-aliases/rolestring.md +23 -0
- package/assets/docs/guide/api/node/type-aliases/scenefontsizeunit.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/scenelayout.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/scenemode.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/scope.md +50 -0
- package/assets/docs/guide/api/node/type-aliases/settingboolpropertyname.md +62 -0
- package/assets/docs/guide/api/node/type-aliases/settingcolorpropertyname.md +38 -0
- package/assets/docs/guide/api/node/type-aliases/settingenumpropertyname.md +29 -0
- package/assets/docs/guide/api/node/type-aliases/settingenumtype.md +33 -0
- package/assets/docs/guide/api/node/type-aliases/settingenumvalues.md +29 -0
- package/assets/docs/guide/api/node/type-aliases/settingfloatpropertyname.md +25 -0
- package/assets/docs/guide/api/node/type-aliases/settingintpropertyname.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/settingkey.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/settingsbool.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/settingscolor.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/settingscolorrgba.md +24 -0
- package/assets/docs/guide/api/node/type-aliases/settingsenum.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/settingsfloat.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/settingsint.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/settingsstring.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/settingstringpropertyname.md +28 -0
- package/assets/docs/guide/api/node/type-aliases/settingtype.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/settingvaluetype.md +26 -0
- package/assets/docs/guide/api/node/type-aliases/shapetype.md +24 -0
- package/assets/docs/guide/api/node/type-aliases/shapetypelonghand.md +21 -0
- package/assets/docs/guide/api/node/type-aliases/shapetypeshorthand.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/shapevectorpathfillrule.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/sizemode.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/sortingorder.md +21 -0
- package/assets/docs/guide/api/node/type-aliases/sourcesetpropertyname.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/splitoptions.md +28 -0
- package/assets/docs/guide/api/node/type-aliases/stringpropertyname.md +43 -0
- package/assets/docs/guide/api/node/type-aliases/strokecap.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/strokecornergeometry.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/strokedashendcap.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/strokedashstartcap.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/strokeendcap.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/strokeposition.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/strokestartcap.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/strokestyle.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/syncuriresolver.md +31 -0
- package/assets/docs/guide/api/node/type-aliases/textanimationwritingstyle.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/textcase.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/textdecorationline.md +27 -0
- package/assets/docs/guide/api/node/type-aliases/textdecorationstyle.md +26 -0
- package/assets/docs/guide/api/node/type-aliases/textverticalalignment.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/timelinetrackvisibility.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/touchpinchaction.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/touchrotateaction.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/typefacedefinition.md +41 -0
- package/assets/docs/guide/api/node/type-aliases/verticalblockalignment.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/verticalcontentfillalignment.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/videoexportoptions.md +54 -0
- package/assets/docs/guide/api/node/type-aliases/videomimetype.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/widthmode.md +18 -0
- package/assets/docs/guide/api/node/type-aliases/xywh.md +23 -0
- package/assets/docs/guide/api/node/type-aliases/zoomautofitaxis.md +20 -0
- package/assets/docs/guide/api/node/type-aliases/zoomoptions.md +27 -0
- package/assets/docs/guide/api/node/variables/animation_types.md +21 -0
- package/assets/docs/guide/api/node/variables/animationbaselinedirectionvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/animationblockswipetextdirectionvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/animationeasingvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/animationgrowdirectionvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/animationjumploopdirectionvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/animationkenburnsdirectionvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/animationmergetextdirectionvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/animationspindirectionvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/animationspinloopdirectionvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/animationtypewritertextwritingstylevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/animationwipedirectionvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/blendmodevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/blur_types.md +21 -0
- package/assets/docs/guide/api/node/variables/cameraclampingovershootmodevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/captionhorizontalalignmentvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/captionverticalalignmentvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/colorpickercolormodevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/contentfillmodevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/controlgizmomovehandlevisibilityvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/controlgizmoresizehandlesvisibilityvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/controlgizmorotatehandlesvisibilityvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/controlgizmoscalehandlesvisibilityvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/cutouttypevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/design_block_types.md +21 -0
- package/assets/docs/guide/api/node/variables/doubleclickselectionmodevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/effect_types.md +21 -0
- package/assets/docs/guide/api/node/variables/fill_types.md +21 -0
- package/assets/docs/guide/api/node/variables/fillpixelstreamorientationvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/heightmodevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/horizontalcontentfillalignmentvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/loglevel.md +37 -0
- package/assets/docs/guide/api/node/variables/mimetype.md +41 -0
- package/assets/docs/guide/api/node/variables/pageguidessourcevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/positionxmodevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/positionymodevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/scenedesignunitvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/scenefontsizeunitvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/scenelayoutvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/scenemodevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/shape_types.md +21 -0
- package/assets/docs/guide/api/node/variables/shapevectorpathfillrulevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/strokecapvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/strokecornergeometryvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/strokedashendcapvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/strokedashstartcapvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/strokeendcapvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/strokepositionvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/strokestartcapvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/strokestylevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/textanimationwritingstylevalues.md +18 -0
- package/assets/docs/guide/api/node/variables/texthorizontalalignmentvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/textverticalalignmentvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/timelinetrackvisibilityvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/touchpinchactionvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/touchrotateactionvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/verticalcontentfillalignmentvalues.md +18 -0
- package/assets/docs/guide/api/node/variables/widthmodevalues.md +18 -0
- package/assets/docs/guide/api/types.md +5 -9
- package/assets/docs/guide/api-reference/overview.md +7 -7
- package/assets/docs/guide/automation/auto-resize.md +263 -300
- package/assets/docs/guide/automation/data-merge.md +246 -275
- package/assets/docs/guide/automation/design-generation.md +102 -31
- package/assets/docs/guide/automation/multi-image-generation.md +758 -0
- package/assets/docs/guide/automation/overview.md +21 -4
- package/assets/docs/guide/automation.md +10 -5
- package/assets/docs/guide/capabilities.md +6 -4
- package/assets/docs/guide/colors/adjust.md +247 -249
- package/assets/docs/guide/colors/apply.md +127 -138
- package/assets/docs/guide/colors/basics.md +126 -150
- package/assets/docs/guide/colors/conversion.md +171 -177
- package/assets/docs/guide/colors/create-color-palette.md +244 -245
- package/assets/docs/guide/colors/extract-colors.md +144 -0
- package/assets/docs/guide/colors/for-print/cmyk.md +292 -352
- package/assets/docs/guide/colors/for-print/spot.md +521 -578
- package/assets/docs/guide/colors/for-print.md +9 -4
- package/assets/docs/guide/colors/for-screen/p3.md +12 -10
- package/assets/docs/guide/colors/for-screen/srgb.md +107 -133
- package/assets/docs/guide/colors/for-screen.md +9 -4
- package/assets/docs/guide/colors/overview.md +6 -4
- package/assets/docs/guide/colors/replace.md +381 -419
- package/assets/docs/guide/colors.md +9 -4
- package/assets/docs/guide/compatibility.md +7 -5
- package/assets/docs/guide/concepts/architecture.md +17 -15
- package/assets/docs/guide/concepts/assets.md +152 -140
- package/assets/docs/guide/concepts/blocks.md +227 -323
- package/assets/docs/guide/concepts/buffers.md +147 -276
- package/assets/docs/guide/concepts/design-units.md +95 -145
- package/assets/docs/guide/concepts/editing-workflow.md +69 -183
- package/assets/docs/guide/concepts/events.md +80 -122
- package/assets/docs/guide/concepts/headless-mode.md +237 -0
- package/assets/docs/guide/concepts/pages.md +137 -127
- package/assets/docs/guide/concepts/resources.md +156 -217
- package/assets/docs/guide/concepts/scenes.md +191 -210
- package/assets/docs/guide/concepts/templating.md +118 -74
- package/assets/docs/guide/concepts/terminology.md +49 -47
- package/assets/docs/guide/concepts/undo-and-history.md +229 -303
- package/assets/docs/guide/concepts.md +9 -7
- package/assets/docs/guide/configuration.md +252 -380
- package/assets/docs/guide/conversion/overview.md +33 -4
- package/assets/docs/guide/conversion/to-base64.md +127 -167
- package/assets/docs/guide/conversion/to-pdf.md +24 -474
- package/assets/docs/guide/conversion/to-png.md +168 -211
- package/assets/docs/guide/conversion.md +9 -4
- package/assets/docs/guide/create-audio/audio/add-music.md +301 -327
- package/assets/docs/guide/create-audio/audio/add-sound-effects.md +475 -359
- package/assets/docs/guide/create-audio/audio/loop.md +232 -272
- package/assets/docs/guide/create-composition/add-background.md +237 -239
- package/assets/docs/guide/create-composition/blend-modes.md +118 -209
- package/assets/docs/guide/create-composition/collage.md +538 -320
- package/assets/docs/guide/create-composition/group-and-ungroup.md +216 -261
- package/assets/docs/guide/create-composition/layer-management.md +219 -257
- package/assets/docs/guide/create-composition/layout.md +513 -315
- package/assets/docs/guide/create-composition/lock-design.md +90 -109
- package/assets/docs/guide/create-composition/multi-page.md +133 -113
- package/assets/docs/guide/create-composition/overview.md +16 -4
- package/assets/docs/guide/create-composition/programmatic.md +288 -344
- package/assets/docs/guide/create-composition.md +10 -5
- package/assets/docs/guide/create-templates/add-dynamic-content/placeholders.md +443 -569
- package/assets/docs/guide/create-templates/add-dynamic-content/set-editing-constraints.md +567 -470
- package/assets/docs/guide/create-templates/add-dynamic-content/text-variables.md +179 -516
- package/assets/docs/guide/create-templates/add-dynamic-content.md +226 -224
- package/assets/docs/guide/create-templates/add-to-template-library.md +183 -193
- package/assets/docs/guide/create-templates/edit-or-remove.md +297 -303
- package/assets/docs/guide/create-templates/from-scratch.md +207 -268
- package/assets/docs/guide/create-templates/import/from-scene-file.md +158 -236
- package/assets/docs/guide/create-templates/import.md +145 -161
- package/assets/docs/guide/create-templates/lock.md +42 -295
- package/assets/docs/guide/create-templates/overview.md +33 -4
- package/assets/docs/guide/create-templates.md +9 -5
- package/assets/docs/guide/create-video/audio/adjust-speed.md +157 -207
- package/assets/docs/guide/create-video/audio/adjust-volume.md +116 -227
- package/assets/docs/guide/create-video/control.md +352 -193
- package/assets/docs/guide/create-video/limitations.md +175 -280
- package/assets/docs/guide/create-video.md +11 -10
- package/assets/docs/guide/edit-image/add-watermark.md +283 -330
- package/assets/docs/guide/edit-image/overview.md +29 -4
- package/assets/docs/guide/edit-image/remove-bg.md +283 -337
- package/assets/docs/guide/edit-image/replace-colors.md +424 -502
- package/assets/docs/guide/edit-image/transform/crop.md +463 -402
- package/assets/docs/guide/edit-image/transform/flip.md +353 -0
- package/assets/docs/guide/edit-image/transform/move.md +143 -100
- package/assets/docs/guide/edit-image/transform/resize.md +118 -88
- package/assets/docs/guide/edit-image/transform/rotate.md +132 -165
- package/assets/docs/guide/edit-image/transform/scale.md +230 -228
- package/assets/docs/guide/edit-image/transform.md +10 -5
- package/assets/docs/guide/edit-image.md +11 -7
- package/assets/docs/guide/edit-video/add-captions.md +344 -421
- package/assets/docs/guide/edit-video/add-watermark.md +312 -258
- package/assets/docs/guide/edit-video/join-and-arrange.md +237 -371
- package/assets/docs/guide/edit-video/redaction.md +419 -385
- package/assets/docs/guide/edit-video/split.md +243 -493
- package/assets/docs/guide/edit-video/transform/crop.md +21 -352
- package/assets/docs/guide/edit-video/transform/flip.md +102 -76
- package/assets/docs/guide/edit-video/transform/move.md +258 -310
- package/assets/docs/guide/edit-video/transform/resize.md +264 -428
- package/assets/docs/guide/edit-video/transform/rotate.md +265 -228
- package/assets/docs/guide/edit-video/transform/scale.md +320 -417
- package/assets/docs/guide/edit-video/transform.md +10 -6
- package/assets/docs/guide/edit-video/trim.md +448 -494
- package/assets/docs/guide/engine-interface.md +51 -62
- package/assets/docs/guide/export-save-publish/create-thumbnail.md +148 -184
- package/assets/docs/guide/export-save-publish/export/compress.md +161 -559
- package/assets/docs/guide/export-save-publish/export/overview.md +224 -373
- package/assets/docs/guide/export-save-publish/export/partial-export.md +386 -577
- package/assets/docs/guide/export-save-publish/export/size-limits.md +215 -310
- package/assets/docs/guide/export-save-publish/export/to-jpeg.md +132 -213
- package/assets/docs/guide/export-save-publish/export/to-pdf.md +139 -267
- package/assets/docs/guide/export-save-publish/export/to-png.md +121 -165
- package/assets/docs/guide/export-save-publish/export/to-raw-data.md +187 -234
- package/assets/docs/guide/export-save-publish/export/to-webp.md +160 -190
- package/assets/docs/guide/export-save-publish/export/with-color-mask.md +359 -203
- package/assets/docs/guide/export-save-publish/export.md +14 -11
- package/assets/docs/guide/export-save-publish/for-printing.md +141 -237
- package/assets/docs/guide/export-save-publish/for-social-media.md +124 -261
- package/assets/docs/guide/export-save-publish/pre-export-validation.md +436 -522
- package/assets/docs/guide/export-save-publish/save.md +167 -226
- package/assets/docs/guide/export-save-publish/store-custom-metadata.md +97 -162
- package/assets/docs/guide/file-format-support.md +9 -9
- package/assets/docs/guide/fills/color.md +370 -347
- package/assets/docs/guide/fills/image.md +167 -196
- package/assets/docs/guide/fills/overview.md +6 -4
- package/assets/docs/guide/fills/video.md +286 -438
- package/assets/docs/guide/fills.md +12 -8
- package/assets/docs/guide/filters-and-effects/apply.md +598 -664
- package/assets/docs/guide/filters-and-effects/blur.md +261 -159
- package/assets/docs/guide/filters-and-effects/chroma-key-green-screen.md +194 -293
- package/assets/docs/guide/filters-and-effects/create-custom-filters.md +548 -466
- package/assets/docs/guide/filters-and-effects/create-custom-lut-filter.md +176 -244
- package/assets/docs/guide/filters-and-effects/distortion.md +317 -384
- package/assets/docs/guide/filters-and-effects/duotone.md +221 -217
- package/assets/docs/guide/filters-and-effects/gradients.md +670 -813
- package/assets/docs/guide/filters-and-effects/overview.md +7 -7
- package/assets/docs/guide/filters-and-effects/support.md +97 -132
- package/assets/docs/guide/filters-and-effects.md +11 -6
- package/assets/docs/guide/get-started/agent-skills.md +20 -18
- package/assets/docs/guide/get-started/build-with-ai.md +7 -4
- package/assets/docs/guide/get-started/bun.md +219 -0
- package/assets/docs/guide/get-started/deno.md +161 -0
- package/assets/docs/guide/get-started/mcp-server.md +6 -4
- package/assets/docs/guide/get-started/overview.md +11 -6
- package/assets/docs/guide/get-started/vanilla-aws-lambda.md +506 -0
- package/assets/docs/guide/get-started/vanilla-clone-github-project.md +124 -0
- package/assets/docs/guide/get-started/vanilla.md +235 -0
- package/assets/docs/guide/guides/export-save-publish/export/audio.md +80 -66
- package/assets/docs/guide/guides.md +10 -9
- package/assets/docs/guide/import-media/asset-panel/refresh-assets.md +259 -288
- package/assets/docs/guide/import-media/concepts.md +20 -38
- package/assets/docs/guide/import-media/content-json-schema.md +145 -125
- package/assets/docs/guide/import-media/default-assets.md +113 -161
- package/assets/docs/guide/import-media/edit-or-remove-assets.md +391 -395
- package/assets/docs/guide/import-media/file-format-support.md +78 -61
- package/assets/docs/guide/import-media/from-remote-source/asset-versioning.md +273 -244
- package/assets/docs/guide/import-media/from-remote-source/remote-asset.md +152 -222
- package/assets/docs/guide/import-media/from-remote-source.md +9 -11
- package/assets/docs/guide/import-media/overview.md +5 -5
- package/assets/docs/guide/import-media/retrieve-mimetype.md +216 -108
- package/assets/docs/guide/import-media/size-limits.md +6 -4
- package/assets/docs/guide/import-media/source-sets.md +190 -251
- package/assets/docs/guide/import-media.md +10 -8
- package/assets/docs/guide/insert-media/audio.md +202 -195
- package/assets/docs/guide/insert-media/images.md +190 -188
- package/assets/docs/guide/insert-media/position-and-align.md +284 -551
- package/assets/docs/guide/insert-media/shapes-or-stickers.md +402 -418
- package/assets/docs/guide/insert-media/videos.md +236 -203
- package/assets/docs/guide/insert-media.md +10 -5
- package/assets/docs/guide/key-capabilities.md +36 -4
- package/assets/docs/guide/key-concepts.md +6 -4
- package/assets/docs/guide/licensing.md +6 -4
- package/assets/docs/guide/llms-txt.md +11 -7
- package/assets/docs/guide/open-the-editor/blank-canvas.md +102 -63
- package/assets/docs/guide/open-the-editor/from-image.md +157 -127
- package/assets/docs/guide/open-the-editor/from-template.md +131 -92
- package/assets/docs/guide/open-the-editor/from-video.md +204 -212
- package/assets/docs/guide/open-the-editor/import-design/from-archive.md +310 -360
- package/assets/docs/guide/open-the-editor/import-design/from-indesign.md +716 -513
- package/assets/docs/guide/open-the-editor/import-design/from-photoshop.md +667 -695
- package/assets/docs/guide/open-the-editor/import-design.md +228 -266
- package/assets/docs/guide/open-the-editor/load-scene.md +72 -68
- package/assets/docs/guide/open-the-editor/overview.md +6 -4
- package/assets/docs/guide/open-the-editor/uri-resolver.md +160 -251
- package/assets/docs/guide/open-the-editor.md +11 -9
- package/assets/docs/guide/outlines/overview.md +12 -4
- package/assets/docs/guide/outlines/shadows-and-glows.md +105 -410
- package/assets/docs/guide/outlines/strokes.md +218 -166
- package/assets/docs/guide/outlines.md +9 -4
- package/assets/docs/guide/overview.md +14 -6
- package/assets/docs/guide/performance.md +220 -113
- package/assets/docs/guide/plugins/print-ready-pdf.md +273 -368
- package/assets/docs/guide/plugins.md +10 -16
- package/assets/docs/guide/rules/asset-handling.md +7 -18
- package/assets/docs/guide/rules/common-pitfalls.md +25 -42
- package/assets/docs/guide/rules/content-fill-mode.md +4 -4
- package/assets/docs/guide/rules/enforce-brand-guidelines.md +398 -567
- package/assets/docs/guide/rules/lock-content.md +188 -231
- package/assets/docs/guide/rules/moderate-content.md +580 -571
- package/assets/docs/guide/rules/overview.md +345 -380
- package/assets/docs/guide/rules/silent-init-errors.md +4 -1
- package/assets/docs/guide/rules/verify-properties-before-use.md +2 -11
- package/assets/docs/guide/rules.md +10 -5
- package/assets/docs/guide/security.md +7 -5
- package/assets/docs/guide/serve-assets.md +57 -284
- package/assets/docs/guide/settings.md +96 -74
- package/assets/docs/guide/shapes.md +10 -5
- package/assets/docs/guide/stickers-and-shapes/combine.md +397 -583
- package/assets/docs/guide/stickers-and-shapes/create-cutout.md +181 -268
- package/assets/docs/guide/stickers-and-shapes/create-edit/create-shapes.md +418 -431
- package/assets/docs/guide/stickers-and-shapes/create-edit/create-stickers.md +147 -226
- package/assets/docs/guide/stickers-and-shapes/create-edit/edit-shapes.md +138 -123
- package/assets/docs/guide/stickers-and-shapes/insert-qr-code.md +151 -149
- package/assets/docs/guide/stickers.md +9 -4
- package/assets/docs/guide/text/add.md +470 -482
- package/assets/docs/guide/text/adjust-spacing.md +179 -214
- package/assets/docs/guide/text/auto-size.md +210 -271
- package/assets/docs/guide/text/edit.md +294 -309
- package/assets/docs/guide/text/effects.md +154 -190
- package/assets/docs/guide/text/emojis.md +199 -232
- package/assets/docs/guide/text/language-support.md +369 -382
- package/assets/docs/guide/text/overview.md +41 -4
- package/assets/docs/guide/text/styling.md +239 -273
- package/assets/docs/guide/text/text-designs.md +405 -544
- package/assets/docs/guide/text.md +10 -9
- package/assets/docs/guide/to-v1-19.md +12 -10
- package/assets/docs/guide/upgrade.md +8 -9
- package/assets/docs/guide/use-templates/apply-template.md +174 -163
- package/assets/docs/guide/use-templates/generate.md +171 -152
- package/assets/docs/guide/use-templates/overview.md +32 -4
- package/assets/docs/guide/use-templates/programmatic.md +266 -301
- package/assets/docs/guide/use-templates/replace-content.md +181 -171
- package/assets/docs/guide/what-is-cesdk.md +71 -282
- package/assets/docs/handbook/SKILL.md +24 -0
- package/dist/assets/inline.generated.d.ts.map +1 -1
- package/dist/assets/inline.generated.js +544 -406
- package/dist/assets/inline.generated.js.map +1 -1
- package/dist/assets/load-browser.d.ts +1 -1
- package/dist/assets/load-browser.js +1 -1
- package/dist/assets/load-browser.js.map +1 -1
- package/dist/assets/load-node.d.ts +1 -1
- package/dist/assets/load-node.js +1 -1
- package/dist/assets/load-node.js.map +1 -1
- package/dist/cli/http.d.ts.map +1 -1
- package/dist/cli/http.js +4 -28
- package/dist/cli/http.js.map +1 -1
- package/dist/cli/redirect-console.d.ts +1 -1
- package/dist/cli/redirect-console.d.ts.map +1 -1
- package/dist/cli/redirect-console.js +12 -3
- package/dist/cli/redirect-console.js.map +1 -1
- package/dist/cli/resolve-license.d.ts.map +1 -1
- package/dist/cli/resolve-license.js +8 -6
- package/dist/cli/resolve-license.js.map +1 -1
- package/dist/cli/stdio.d.ts +9 -0
- package/dist/cli/stdio.d.ts.map +1 -1
- package/dist/cli/stdio.js +48 -4
- package/dist/cli/stdio.js.map +1 -1
- package/dist/cli.js +10 -1
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +11 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +20 -1
- package/dist/config.js.map +1 -1
- package/dist/diagnostics/bundle.d.ts +10 -0
- package/dist/diagnostics/bundle.d.ts.map +1 -0
- package/dist/diagnostics/bundle.js +148 -0
- package/dist/diagnostics/bundle.js.map +1 -0
- package/dist/diagnostics/compose.d.ts +3 -0
- package/dist/diagnostics/compose.d.ts.map +1 -0
- package/dist/diagnostics/compose.js +15 -0
- package/dist/diagnostics/compose.js.map +1 -0
- package/dist/diagnostics/events.d.ts +34 -0
- package/dist/diagnostics/events.d.ts.map +1 -0
- package/dist/diagnostics/events.js +3 -0
- package/dist/diagnostics/events.js.map +1 -0
- package/dist/diagnostics/file-sink.d.ts +38 -0
- package/dist/diagnostics/file-sink.d.ts.map +1 -0
- package/dist/diagnostics/file-sink.js +157 -0
- package/dist/diagnostics/file-sink.js.map +1 -0
- package/dist/diagnostics/redact.d.ts +7 -0
- package/dist/diagnostics/redact.d.ts.map +1 -0
- package/dist/diagnostics/redact.js +43 -0
- package/dist/diagnostics/redact.js.map +1 -0
- package/dist/diagnostics/tool-call-adapter.d.ts +4 -0
- package/dist/diagnostics/tool-call-adapter.d.ts.map +1 -0
- package/dist/diagnostics/tool-call-adapter.js +21 -0
- package/dist/diagnostics/tool-call-adapter.js.map +1 -0
- package/dist/engine/cesdk-adapter.d.ts +5 -1
- package/dist/engine/cesdk-adapter.d.ts.map +1 -1
- package/dist/engine/cesdk-adapter.js +9 -2
- package/dist/engine/cesdk-adapter.js.map +1 -1
- package/dist/engine/index.d.ts +1 -0
- package/dist/engine/index.d.ts.map +1 -1
- package/dist/engine/index.js +4 -0
- package/dist/engine/index.js.map +1 -1
- package/dist/engine/scene-resource-schemes.d.ts +2 -0
- package/dist/engine/scene-resource-schemes.d.ts.map +1 -0
- package/dist/engine/scene-resource-schemes.js +20 -0
- package/dist/engine/scene-resource-schemes.js.map +1 -0
- package/dist/http/server.d.ts +0 -6
- package/dist/http/server.d.ts.map +1 -1
- package/dist/http/server.js +1 -2
- package/dist/http/server.js.map +1 -1
- package/dist/server.d.ts +0 -4
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +4 -60
- package/dist/server.js.map +1 -1
- package/dist/test/scripts/changelog-add.d.ts +8 -0
- package/dist/test/scripts/changelog-add.d.ts.map +1 -0
- package/dist/test/scripts/changelog-add.js +50 -0
- package/dist/test/scripts/changelog-add.js.map +1 -0
- package/dist/test/scripts/changelog-collate.d.ts +38 -0
- package/dist/test/scripts/changelog-collate.d.ts.map +1 -0
- package/dist/test/scripts/changelog-collate.js +171 -0
- package/dist/test/scripts/changelog-collate.js.map +1 -0
- package/dist/test/test/changelog.test.d.ts +2 -0
- package/dist/test/test/changelog.test.d.ts.map +1 -0
- package/dist/test/test/changelog.test.js +293 -0
- package/dist/test/test/changelog.test.js.map +1 -0
- package/dist/test/test/cli/dispatcher.test.js +10 -3
- package/dist/test/test/cli/dispatcher.test.js.map +1 -1
- package/dist/test/test/cli/redirect-console.test.js +31 -0
- package/dist/test/test/cli/redirect-console.test.js.map +1 -1
- package/dist/test/test/cli/resolve-license.test.js +10 -1
- package/dist/test/test/cli/resolve-license.test.js.map +1 -1
- package/dist/test/test/cli/stdio-diagnostics.test.d.ts +2 -0
- package/dist/test/test/cli/stdio-diagnostics.test.d.ts.map +1 -0
- package/dist/test/test/cli/stdio-diagnostics.test.js +31 -0
- package/dist/test/test/cli/stdio-diagnostics.test.js.map +1 -0
- package/dist/test/test/config.test.js +17 -13
- package/dist/test/test/config.test.js.map +1 -1
- package/dist/test/test/diagnostics/bundle.test.d.ts +2 -0
- package/dist/test/test/diagnostics/bundle.test.d.ts.map +1 -0
- package/dist/test/test/diagnostics/bundle.test.js +53 -0
- package/dist/test/test/diagnostics/bundle.test.js.map +1 -0
- package/dist/test/test/diagnostics/compose.test.d.ts +2 -0
- package/dist/test/test/diagnostics/compose.test.d.ts.map +1 -0
- package/dist/test/test/diagnostics/compose.test.js +31 -0
- package/dist/test/test/diagnostics/compose.test.js.map +1 -0
- package/dist/test/test/diagnostics/file-sink.test.d.ts +2 -0
- package/dist/test/test/diagnostics/file-sink.test.d.ts.map +1 -0
- package/dist/test/test/diagnostics/file-sink.test.js +113 -0
- package/dist/test/test/diagnostics/file-sink.test.js.map +1 -0
- package/dist/test/test/diagnostics/redact.test.d.ts +2 -0
- package/dist/test/test/diagnostics/redact.test.d.ts.map +1 -0
- package/dist/test/test/diagnostics/redact.test.js +59 -0
- package/dist/test/test/diagnostics/redact.test.js.map +1 -0
- package/dist/test/test/diagnostics/tool-call-adapter.test.d.ts +2 -0
- package/dist/test/test/diagnostics/tool-call-adapter.test.d.ts.map +1 -0
- package/dist/test/test/diagnostics/tool-call-adapter.test.js +34 -0
- package/dist/test/test/diagnostics/tool-call-adapter.test.js.map +1 -0
- package/dist/test/test/engine/cesdk-adapter.test.d.ts +2 -0
- package/dist/test/test/engine/cesdk-adapter.test.d.ts.map +1 -0
- package/dist/test/test/engine/cesdk-adapter.test.js +32 -0
- package/dist/test/test/engine/cesdk-adapter.test.js.map +1 -0
- package/dist/test/test/handbook-contract.test.js +6 -2
- package/dist/test/test/handbook-contract.test.js.map +1 -1
- package/dist/test/test/http/server.test.js +0 -36
- package/dist/test/test/http/server.test.js.map +1 -1
- package/dist/test/test/http/workspace-auth.test.js +0 -1
- package/dist/test/test/http/workspace-auth.test.js.map +1 -1
- package/dist/test/test/server.test.js +0 -40
- package/dist/test/test/server.test.js.map +1 -1
- package/dist/test/test/tools/edit-harness.d.ts +14 -0
- package/dist/test/test/tools/edit-harness.d.ts.map +1 -0
- package/dist/test/test/tools/edit-harness.js +30 -0
- package/dist/test/test/tools/edit-harness.js.map +1 -0
- package/dist/test/test/tools/edit.telemetry.test.d.ts +2 -0
- package/dist/test/test/tools/edit.telemetry.test.d.ts.map +1 -0
- package/dist/test/test/tools/edit.telemetry.test.js +46 -0
- package/dist/test/test/tools/edit.telemetry.test.js.map +1 -0
- package/dist/test/test/tools/export-harness.d.ts +13 -0
- package/dist/test/test/tools/export-harness.d.ts.map +1 -0
- package/dist/test/test/tools/export-harness.js +27 -0
- package/dist/test/test/tools/export-harness.js.map +1 -0
- package/dist/test/test/tools/export.telemetry.test.d.ts +2 -0
- package/dist/test/test/tools/export.telemetry.test.d.ts.map +1 -0
- package/dist/test/test/tools/export.telemetry.test.js +65 -0
- package/dist/test/test/tools/export.telemetry.test.js.map +1 -0
- package/dist/test/test/tools/import.test.d.ts +2 -0
- package/dist/test/test/tools/import.test.d.ts.map +1 -0
- package/dist/test/test/tools/import.test.js +122 -0
- package/dist/test/test/tools/import.test.js.map +1 -0
- package/dist/test/test/tools/index.test.js +78 -16
- package/dist/test/test/tools/index.test.js.map +1 -1
- package/dist/test/test/tools/load.integration.test.d.ts +2 -0
- package/dist/test/test/tools/load.integration.test.d.ts.map +1 -0
- package/dist/test/test/tools/load.integration.test.js +165 -0
- package/dist/test/test/tools/load.integration.test.js.map +1 -0
- package/dist/test/test/tools/load.test.d.ts +2 -0
- package/dist/test/test/tools/load.test.d.ts.map +1 -0
- package/dist/test/test/tools/load.test.js +387 -0
- package/dist/test/test/tools/load.test.js.map +1 -0
- package/dist/test/test/tools/preview-harness.d.ts +9 -0
- package/dist/test/test/tools/preview-harness.d.ts.map +1 -0
- package/dist/test/test/tools/preview-harness.js +23 -0
- package/dist/test/test/tools/preview-harness.js.map +1 -0
- package/dist/test/test/tools/preview.telemetry.test.d.ts +2 -0
- package/dist/test/test/tools/preview.telemetry.test.d.ts.map +1 -0
- package/dist/test/test/tools/preview.telemetry.test.js +36 -0
- package/dist/test/test/tools/preview.telemetry.test.js.map +1 -0
- package/dist/test/test/tools/schema-best-practices.d.ts +13 -0
- package/dist/test/test/tools/schema-best-practices.d.ts.map +1 -0
- package/dist/test/test/tools/schema-best-practices.js +169 -0
- package/dist/test/test/tools/schema-best-practices.js.map +1 -0
- package/dist/test/test/tools/schema-best-practices.test.d.ts +3 -0
- package/dist/test/test/tools/schema-best-practices.test.d.ts.map +1 -0
- package/dist/test/test/tools/schema-best-practices.test.js +194 -0
- package/dist/test/test/tools/schema-best-practices.test.js.map +1 -0
- package/dist/test/test/tools/spans.test.d.ts +2 -0
- package/dist/test/test/tools/spans.test.d.ts.map +1 -0
- package/dist/test/test/tools/spans.test.js +84 -0
- package/dist/test/test/tools/spans.test.js.map +1 -0
- package/dist/test/test/viewer/cesdk-cdn.test.d.ts +2 -0
- package/dist/test/test/viewer/cesdk-cdn.test.d.ts.map +1 -0
- package/dist/test/test/viewer/cesdk-cdn.test.js +19 -0
- package/dist/test/test/viewer/cesdk-cdn.test.js.map +1 -0
- package/dist/test/test/viewer/config-route.test.d.ts +2 -0
- package/dist/test/test/viewer/config-route.test.d.ts.map +1 -0
- package/dist/test/test/viewer/config-route.test.js +28 -0
- package/dist/test/test/viewer/config-route.test.js.map +1 -0
- package/dist/test/test/viewer/spa-version.test.d.ts +2 -0
- package/dist/test/test/viewer/spa-version.test.d.ts.map +1 -0
- package/dist/test/test/viewer/spa-version.test.js +14 -0
- package/dist/test/test/viewer/spa-version.test.js.map +1 -0
- package/dist/test/test/workspace/content-hash.test.d.ts +2 -0
- package/dist/test/test/workspace/content-hash.test.d.ts.map +1 -0
- package/dist/test/test/workspace/content-hash.test.js +17 -0
- package/dist/test/test/workspace/content-hash.test.js.map +1 -0
- package/dist/test/tsconfig.test.tsbuildinfo +1 -1
- package/dist/test/vitest.config.js +1 -1
- package/dist/test/vitest.config.js.map +1 -1
- package/dist/tools/asset-generate.d.ts.map +1 -1
- package/dist/tools/asset-generate.js +1 -8
- package/dist/tools/asset-generate.js.map +1 -1
- package/dist/tools/edit.d.ts +3 -0
- package/dist/tools/edit.d.ts.map +1 -1
- package/dist/tools/edit.js +145 -96
- package/dist/tools/edit.js.map +1 -1
- package/dist/tools/export.d.ts +3 -0
- package/dist/tools/export.d.ts.map +1 -1
- package/dist/tools/export.js +146 -108
- package/dist/tools/export.js.map +1 -1
- package/dist/tools/import.d.ts +12 -0
- package/dist/tools/import.d.ts.map +1 -0
- package/dist/tools/import.js +144 -0
- package/dist/tools/import.js.map +1 -0
- package/dist/tools/index.d.ts +3 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +44 -4
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/load.d.ts +26 -0
- package/dist/tools/load.d.ts.map +1 -0
- package/dist/tools/load.js +400 -0
- package/dist/tools/load.js.map +1 -0
- package/dist/tools/preview.d.ts +3 -0
- package/dist/tools/preview.d.ts.map +1 -1
- package/dist/tools/preview.js +79 -44
- package/dist/tools/preview.js.map +1 -1
- package/dist/tools/result.d.ts +1 -1
- package/dist/tools/result.js +2 -2
- package/dist/tools/result.js.map +1 -1
- package/dist/tools/spans.d.ts +45 -0
- package/dist/tools/spans.d.ts.map +1 -0
- package/dist/tools/spans.js +77 -0
- package/dist/tools/spans.js.map +1 -0
- package/dist/tools/telemetry-wrapper.d.ts +4 -0
- package/dist/tools/telemetry-wrapper.d.ts.map +1 -0
- package/dist/tools/telemetry-wrapper.js +43 -0
- package/dist/tools/telemetry-wrapper.js.map +1 -0
- package/dist/viewer/cesdk-cdn.d.ts +16 -0
- package/dist/viewer/cesdk-cdn.d.ts.map +1 -0
- package/dist/viewer/cesdk-cdn.js +30 -0
- package/dist/viewer/cesdk-cdn.js.map +1 -0
- package/dist/viewer/router.d.ts +6 -0
- package/dist/viewer/router.d.ts.map +1 -1
- package/dist/viewer/router.js +4 -1
- package/dist/viewer/router.js.map +1 -1
- package/dist/viewer/spa-assets.generated.d.ts.map +1 -1
- package/dist/viewer/spa-assets.generated.js +2 -3
- package/dist/viewer/spa-assets.generated.js.map +1 -1
- package/dist/workspace/content-hash.d.ts +2 -0
- package/dist/workspace/content-hash.d.ts.map +1 -0
- package/dist/workspace/content-hash.js +15 -0
- package/dist/workspace/content-hash.js.map +1 -0
- package/package.json +18 -9
- package/assets/docs/guide/actions.md +0 -1038
- package/assets/docs/guide/animation/overview.md +0 -22
- package/assets/docs/guide/automation/batch-processing.md +0 -474
- package/assets/docs/guide/browser-support.md +0 -38
- package/assets/docs/guide/concepts/edit-modes.md +0 -431
- package/assets/docs/guide/concepts/headless-mode/browser.md +0 -291
- package/assets/docs/guide/create-audio/audio.md +0 -336
- package/assets/docs/guide/create-video/overview.md +0 -224
- package/assets/docs/guide/create-video/timeline-editor.md +0 -622
- package/assets/docs/guide/create-video/update-caption-presets.md +0 -676
- package/assets/docs/guide/edit-image/vectorize.md +0 -204
- package/assets/docs/guide/export-save-publish/export/to-html5.md +0 -474
- package/assets/docs/guide/export-save-publish/export/to-mp4.md +0 -364
- package/assets/docs/guide/get-started/vanilla-js/quickstart.md +0 -175
- package/assets/docs/guide/grid-and-rulers.md +0 -222
- package/assets/docs/guide/guides/text/rendering-internals.md +0 -796
- package/assets/docs/guide/import-media/asset-library.md +0 -23
- package/assets/docs/guide/import-media/asset-panel/basics.md +0 -324
- package/assets/docs/guide/import-media/asset-panel/customize.md +0 -478
- package/assets/docs/guide/import-media/asset-panel/thumbnails.md +0 -633
- package/assets/docs/guide/import-media/capture-from-camera/record-video.md +0 -137
- package/assets/docs/guide/import-media/capture-from-camera.md +0 -20
- package/assets/docs/guide/import-media/from-local-source/user-upload.md +0 -438
- package/assets/docs/guide/import-media/from-local-source.md +0 -20
- package/assets/docs/guide/import-media/from-remote-source/getty-images.md +0 -627
- package/assets/docs/guide/import-media/from-remote-source/imgly-premium-assets.md +0 -625
- package/assets/docs/guide/import-media/from-remote-source/pexels.md +0 -692
- package/assets/docs/guide/import-media/from-remote-source/soundstripe.md +0 -497
- package/assets/docs/guide/import-media/from-remote-source/third-party.md +0 -51
- package/assets/docs/guide/import-media/from-remote-source/unsplash.md +0 -914
- package/assets/docs/guide/import-media/from-remote-source/your-server.md +0 -764
- package/assets/docs/guide/open-the-editor/from-htmlcanvas.md +0 -228
- package/assets/docs/guide/open-the-editor/set-zoom-level.md +0 -303
- package/assets/docs/guide/plugins/asset-sources.md +0 -553
- package/assets/docs/guide/starterkits/3d-mockup-editor.md +0 -748
- package/assets/docs/guide/starterkits/advanced-editor.md +0 -698
- package/assets/docs/guide/starterkits/advanced-video-editor.md +0 -696
- package/assets/docs/guide/starterkits/ai-editor.md +0 -749
- package/assets/docs/guide/starterkits/airtable-image-editor.md +0 -672
- package/assets/docs/guide/starterkits/apparel-ui.md +0 -188
- package/assets/docs/guide/starterkits/assets.md +0 -27
- package/assets/docs/guide/starterkits/auto-resize.md +0 -586
- package/assets/docs/guide/starterkits/automated-video-generation.md +0 -692
- package/assets/docs/guide/starterkits/background-removal-editor.md +0 -480
- package/assets/docs/guide/starterkits/content-moderation.md +0 -863
- package/assets/docs/guide/starterkits/creative-automation.md +0 -28
- package/assets/docs/guide/starterkits/custom-built-uis.md +0 -26
- package/assets/docs/guide/starterkits/customization.md +0 -29
- package/assets/docs/guide/starterkits/cutout-lines-editor.md +0 -470
- package/assets/docs/guide/starterkits/data-merge.md +0 -850
- package/assets/docs/guide/starterkits/design-editor.md +0 -698
- package/assets/docs/guide/starterkits/design-generation.md +0 -719
- package/assets/docs/guide/starterkits/design-validation.md +0 -808
- package/assets/docs/guide/starterkits/editor-ui-configurations.md +0 -14
- package/assets/docs/guide/starterkits/export-options.md +0 -724
- package/assets/docs/guide/starterkits/export-using-renderer.md +0 -708
- package/assets/docs/guide/starterkits/extensibility.md +0 -28
- package/assets/docs/guide/starterkits/force-crop-editor.md +0 -675
- package/assets/docs/guide/starterkits/form-based-template-adoption.md +0 -522
- package/assets/docs/guide/starterkits/getty-images-editor.md +0 -700
- package/assets/docs/guide/starterkits/html5-ads-exporter.md +0 -719
- package/assets/docs/guide/starterkits/indesign-template-import.md +0 -580
- package/assets/docs/guide/starterkits/layouts-editor.md +0 -724
- package/assets/docs/guide/starterkits/mobile-ui.md +0 -185
- package/assets/docs/guide/starterkits/mockup-editor.md +0 -745
- package/assets/docs/guide/starterkits/multi-image-generation.md +0 -542
- package/assets/docs/guide/starterkits/page-sizes-editor.md +0 -657
- package/assets/docs/guide/starterkits/pexels-image-editor.md +0 -665
- package/assets/docs/guide/starterkits/photo-editor.md +0 -755
- package/assets/docs/guide/starterkits/photo-ui.md +0 -186
- package/assets/docs/guide/starterkits/photobook-ui.md +0 -188
- package/assets/docs/guide/starterkits/placeholders.md +0 -678
- package/assets/docs/guide/starterkits/player.md +0 -405
- package/assets/docs/guide/starterkits/plugins.md +0 -25
- package/assets/docs/guide/starterkits/postcard-editor.md +0 -202
- package/assets/docs/guide/starterkits/pptx-template-import.md +0 -581
- package/assets/docs/guide/starterkits/print-ready-pdf-editor.md +0 -746
- package/assets/docs/guide/starterkits/product-editor.md +0 -773
- package/assets/docs/guide/starterkits/psd-template-import.md +0 -580
- package/assets/docs/guide/starterkits/qr-code-editor.md +0 -470
- package/assets/docs/guide/starterkits/single-page-editor.md +0 -661
- package/assets/docs/guide/starterkits/start-with-image.md +0 -684
- package/assets/docs/guide/starterkits/start-with-video.md +0 -651
- package/assets/docs/guide/starterkits/t-shirt-designer.md +0 -742
- package/assets/docs/guide/starterkits/templating.md +0 -23
- package/assets/docs/guide/starterkits/theming.md +0 -662
- package/assets/docs/guide/starterkits/translation-internationalization.md +0 -662
- package/assets/docs/guide/starterkits/unsplash-editor.md +0 -839
- package/assets/docs/guide/starterkits/vectorizer-editor.md +0 -466
- package/assets/docs/guide/starterkits/version-history.md +0 -745
- package/assets/docs/guide/starterkits/video-animations.md +0 -853
- package/assets/docs/guide/starterkits/video-captions.md +0 -884
- package/assets/docs/guide/starterkits/video-editing.md +0 -25
- package/assets/docs/guide/starterkits/video-editor.md +0 -696
- package/assets/docs/guide/starterkits/video-export-options.md +0 -676
- package/assets/docs/guide/starterkits/viewer.md +0 -400
- package/assets/docs/guide/starterkits.md +0 -41
- package/assets/docs/guide/stickers-and-shapes/create-edit/vector-edit.md +0 -362
- package/assets/docs/guide/text/custom-fonts.md +0 -401
- package/assets/docs/guide/text/decorations.md +0 -330
- package/assets/docs/guide/text/enumerations.md +0 -258
- package/assets/docs/guide/to-v1-10.md +0 -131
- package/assets/docs/guide/to-v1-13.md +0 -165
- package/assets/docs/guide/to-v1-32.md +0 -110
- package/assets/docs/guide/to-v1-69.md +0 -468
- package/assets/docs/guide/to-v1-72.md +0 -193
- package/assets/docs/guide/use-templates/library.md +0 -450
- package/assets/docs/guide/user-interface/ai-integration/audio-generation.md +0 -428
- package/assets/docs/guide/user-interface/ai-integration/auto-captions.md +0 -337
- package/assets/docs/guide/user-interface/ai-integration/custom-provider.md +0 -853
- package/assets/docs/guide/user-interface/ai-integration/gateway-provider.md +0 -1045
- package/assets/docs/guide/user-interface/ai-integration/image-generation.md +0 -641
- package/assets/docs/guide/user-interface/ai-integration/integrate.md +0 -966
- package/assets/docs/guide/user-interface/ai-integration/proxy-server.md +0 -99
- package/assets/docs/guide/user-interface/ai-integration/text-generation.md +0 -498
- package/assets/docs/guide/user-interface/ai-integration/video-generation.md +0 -493
- package/assets/docs/guide/user-interface/ai-integration.md +0 -30
- package/assets/docs/guide/user-interface/appearance/change-ui-font.md +0 -316
- package/assets/docs/guide/user-interface/appearance/custom-labels.md +0 -509
- package/assets/docs/guide/user-interface/appearance/icons.md +0 -373
- package/assets/docs/guide/user-interface/appearance/theming.md +0 -665
- package/assets/docs/guide/user-interface/appearance.md +0 -23
- package/assets/docs/guide/user-interface/build-your-own-ui.md +0 -620
- package/assets/docs/guide/user-interface/customization/canvas-menu.md +0 -412
- package/assets/docs/guide/user-interface/customization/canvas.md +0 -281
- package/assets/docs/guide/user-interface/customization/color-palette.md +0 -413
- package/assets/docs/guide/user-interface/customization/crop-presets.md +0 -384
- package/assets/docs/guide/user-interface/customization/disable-or-enable.md +0 -676
- package/assets/docs/guide/user-interface/customization/dock.md +0 -399
- package/assets/docs/guide/user-interface/customization/force-crop.md +0 -289
- package/assets/docs/guide/user-interface/customization/inspector-bar.md +0 -371
- package/assets/docs/guide/user-interface/customization/navigation-bar.md +0 -516
- package/assets/docs/guide/user-interface/customization/page-format.md +0 -436
- package/assets/docs/guide/user-interface/customization/panel.md +0 -605
- package/assets/docs/guide/user-interface/customization/quick-start/add-action-buttons.md +0 -531
- package/assets/docs/guide/user-interface/customization/quick-start/add-dock-buttons.md +0 -358
- package/assets/docs/guide/user-interface/customization/quick-start/create-custom-components.md +0 -374
- package/assets/docs/guide/user-interface/customization/quick-start/reorder-components.md +0 -323
- package/assets/docs/guide/user-interface/customization/quick-start/show-hide-components.md +0 -294
- package/assets/docs/guide/user-interface/customization/quick-start.md +0 -12
- package/assets/docs/guide/user-interface/customization/reference/component-order-api.md +0 -519
- package/assets/docs/guide/user-interface/customization/reference/component-reference.md +0 -333
- package/assets/docs/guide/user-interface/customization/reference.md +0 -12
- package/assets/docs/guide/user-interface/customization.md +0 -39
- package/assets/docs/guide/user-interface/localization.md +0 -633
- package/assets/docs/guide/user-interface/overview.md +0 -167
- package/assets/docs/guide/user-interface/ui-extensions/add-custom-feature.md +0 -411
- package/assets/docs/guide/user-interface/ui-extensions/asset-library.md +0 -721
- package/assets/docs/guide/user-interface/ui-extensions/create-custom-panel.md +0 -331
- package/assets/docs/guide/user-interface/ui-extensions/customize-behaviour.md +0 -553
- package/assets/docs/guide/user-interface/ui-extensions/notifications-and-dialogs.md +0 -672
- package/assets/docs/guide/user-interface/ui-extensions/quick-actions.md +0 -415
- package/assets/docs/guide/user-interface/ui-extensions/register-new-component.md +0 -521
- package/assets/docs/guide/user-interface/ui-extensions.md +0 -26
- package/assets/docs/guide/user-interface.md +0 -25
- package/assets/prompts/evals-assetGenerate.md +0 -12
- package/assets/prompts/evals-brutalistCore.md +0 -34
- package/assets/prompts/evals-danskCatalogue.md +0 -31
- package/assets/prompts/evals-exportRoundTrip.md +0 -12
- package/assets/prompts/evals-inspectPriorCode.md +0 -16
- package/assets/prompts/evals-listProjectFiles.md +0 -6
- package/assets/prompts/evals-readAndExplainScript.md +0 -6
- package/assets/prompts/evals-resumeAcrossRestart.md +0 -15
- package/assets/prompts/evals-rewindRecovery.md +0 -10
- package/assets/prompts/evals-searchAcrossFiles.md +0 -6
- package/assets/prompts/evals-weddingCard.md +0 -20
- package/assets/prompts/explain.md +0 -6
- package/assets/prompts/review.md +0 -6
- package/dist/frontmatter.d.ts +0 -15
- package/dist/frontmatter.d.ts.map +0 -1
- package/dist/frontmatter.js +0 -46
- package/dist/frontmatter.js.map +0 -1
- package/dist/test/test/frontmatter.test.d.ts +0 -2
- package/dist/test/test/frontmatter.test.d.ts.map +0 -1
- package/dist/test/test/frontmatter.test.js +0 -55
- package/dist/test/test/frontmatter.test.js.map +0 -1
|
@@ -1,204 +0,0 @@
|
|
|
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).
|
|
2
|
-
|
|
3
|
-
**Navigation:** [Guides](./guides.md) > [Create and Edit Images](./edit-image.md) > [Vectorize](./edit-image/vectorize.md) > [Plugins](./plugins.md) > [Vectorizer](./edit-image/vectorize.md)
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
Convert raster images into scalable vector graphics that resize without quality loss using CE.SDK's vectorizer plugin.
|
|
8
|
-
|
|
9
|
-

|
|
10
|
-
|
|
11
|
-
> **Reading time:** 5 minutes
|
|
12
|
-
>
|
|
13
|
-
> **Resources:**
|
|
14
|
-
>
|
|
15
|
-
> - [Download examples](https://github.com/imgly/cesdk-web-examples/archive/refs/tags/release-$UBQ_VERSION$.zip)
|
|
16
|
-
> - [View source on GitHub](https://github.com/imgly/cesdk-web-examples/tree/release-$UBQ_VERSION$/guides-edit-image-vectorize-browser)
|
|
17
|
-
> - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-edit-image-vectorize-browser)
|
|
18
|
-
> - [Live demo](https://img.ly/docs/cesdk/examples/guides-edit-image-vectorize-browser/)
|
|
19
|
-
|
|
20
|
-
Vectorization transforms pixel-based images into vector paths that can be scaled to any size without losing quality. The `@imgly/plugin-vectorizer-web` plugin provides one-click UI conversion directly in the canvas menu. Common use cases include converting logos for scalable branding, creating cutout outlines from photographs, and extracting editable paths from illustrations.
|
|
21
|
-
|
|
22
|
-
```typescript file=@cesdk_web_examples/guides-edit-image-vectorize-browser/browser.ts reference-only
|
|
23
|
-
import type { EditorPlugin, EditorPluginContext } from '@cesdk/cesdk-js';
|
|
24
|
-
|
|
25
|
-
import { DesignEditorConfig } from './design-editor/plugin';
|
|
26
|
-
import VectorizerPlugin from '@imgly/plugin-vectorizer-web';
|
|
27
|
-
import packageJson from './package.json';
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* CE.SDK Plugin: Vectorize Images Guide
|
|
31
|
-
*
|
|
32
|
-
* Demonstrates converting raster images to vector graphics:
|
|
33
|
-
* - Using the vectorizer plugin for UI-based conversion
|
|
34
|
-
* - Programmatically vectorizing with createCutoutFromBlocks()
|
|
35
|
-
* - Configuring threshold parameters for quality control
|
|
36
|
-
*/
|
|
37
|
-
class Example implements EditorPlugin {
|
|
38
|
-
name = packageJson.name;
|
|
39
|
-
|
|
40
|
-
version = packageJson.version;
|
|
41
|
-
|
|
42
|
-
async initialize({ cesdk }: EditorPluginContext): Promise<void> {
|
|
43
|
-
if (!cesdk) {
|
|
44
|
-
throw new Error('CE.SDK instance is required for this plugin');
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
await cesdk.addPlugin(new DesignEditorConfig());
|
|
48
|
-
const engine = cesdk.engine;
|
|
49
|
-
|
|
50
|
-
// Add the vectorizer plugin with configuration options
|
|
51
|
-
await cesdk.addPlugin(
|
|
52
|
-
VectorizerPlugin({
|
|
53
|
-
// Display the vectorize button in the canvas menu
|
|
54
|
-
ui: { locations: 'canvasMenu' },
|
|
55
|
-
// Set processing timeout to 30 seconds
|
|
56
|
-
timeout: 30000,
|
|
57
|
-
// Combine paths into a single shape when exceeding 500 paths
|
|
58
|
-
groupingThreshold: 500
|
|
59
|
-
})
|
|
60
|
-
);
|
|
61
|
-
|
|
62
|
-
// Show only the vectorizer button in the canvas menu
|
|
63
|
-
cesdk.ui.setComponentOrder({ in: 'ly.img.canvas.menu' }, [
|
|
64
|
-
'@imgly/plugin-vectorizer-web.canvasMenu'
|
|
65
|
-
]);
|
|
66
|
-
|
|
67
|
-
// Create a design scene with a page
|
|
68
|
-
const scene = engine.scene.create();
|
|
69
|
-
const page = engine.block.create('page');
|
|
70
|
-
engine.block.setWidth(page, 800);
|
|
71
|
-
engine.block.setHeight(page, 600);
|
|
72
|
-
engine.block.appendChild(scene, page);
|
|
73
|
-
|
|
74
|
-
// Create an image block to vectorize
|
|
75
|
-
const imageBlock = engine.block.create('graphic');
|
|
76
|
-
const rectShape = engine.block.createShape('rect');
|
|
77
|
-
engine.block.setShape(imageBlock, rectShape);
|
|
78
|
-
|
|
79
|
-
// Load a sample image with clear contours for vectorization
|
|
80
|
-
const imageFill = engine.block.createFill('image');
|
|
81
|
-
engine.block.setString(
|
|
82
|
-
imageFill,
|
|
83
|
-
'fill/image/imageFileURI',
|
|
84
|
-
'https://img.ly/static/ubq_samples/imgly_logo.jpg'
|
|
85
|
-
);
|
|
86
|
-
engine.block.setFill(imageBlock, imageFill);
|
|
87
|
-
engine.block.setContentFillMode(imageBlock, 'Contain');
|
|
88
|
-
|
|
89
|
-
// Center the image on the page
|
|
90
|
-
const imageWidth = 400;
|
|
91
|
-
const imageHeight = 300;
|
|
92
|
-
engine.block.setWidth(imageBlock, imageWidth);
|
|
93
|
-
engine.block.setHeight(imageBlock, imageHeight);
|
|
94
|
-
engine.block.setPositionX(imageBlock, (800 - imageWidth) / 2);
|
|
95
|
-
engine.block.setPositionY(imageBlock, (600 - imageHeight) / 2);
|
|
96
|
-
engine.block.appendChild(page, imageBlock);
|
|
97
|
-
|
|
98
|
-
// Select the image to reveal the vectorize button in the canvas menu
|
|
99
|
-
engine.block.select(imageBlock);
|
|
100
|
-
|
|
101
|
-
// Zoom to fit the page in view
|
|
102
|
-
await engine.scene.zoomToBlock(page, { padding: 40 });
|
|
103
|
-
engine.scene.enableZoomAutoFit(page, 'Both', 40, 40, 40, 40);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
export default Example;
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
This guide covers how to install and configure the vectorizer plugin, customize the canvas menu, and troubleshoot common vectorization issues.
|
|
111
|
-
|
|
112
|
-
## Using the Vectorizer Plugin
|
|
113
|
-
|
|
114
|
-
The `@imgly/plugin-vectorizer-web` plugin adds a vectorize button to the canvas menu when you select an image block. Processing runs entirely in the browser using the [@imgly/vectorizer](https://www.npmjs.com/package/@imgly/vectorizer) library.
|
|
115
|
-
|
|
116
|
-
### Installation
|
|
117
|
-
|
|
118
|
-
Install the plugin via npm or yarn:
|
|
119
|
-
|
|
120
|
-
```sh
|
|
121
|
-
yarn add @imgly/plugin-vectorizer-web@$UBQ_VERSION$
|
|
122
|
-
npm install @imgly/plugin-vectorizer-web@$UBQ_VERSION$
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
### Adding the Plugin
|
|
126
|
-
|
|
127
|
-
We register the plugin using `cesdk.addPlugin()` with the `ui.locations` option to display the vectorize button in the canvas menu. To show only the vectorizer button, we use `setComponentOrder({ in: 'ly.img.canvas.menu' }, order)` to filter out other menu items.
|
|
128
|
-
|
|
129
|
-
```typescript highlight-add-plugin
|
|
130
|
-
// Add the vectorizer plugin with configuration options
|
|
131
|
-
await cesdk.addPlugin(
|
|
132
|
-
VectorizerPlugin({
|
|
133
|
-
// Display the vectorize button in the canvas menu
|
|
134
|
-
ui: { locations: 'canvasMenu' },
|
|
135
|
-
// Set processing timeout to 30 seconds
|
|
136
|
-
timeout: 30000,
|
|
137
|
-
// Combine paths into a single shape when exceeding 500 paths
|
|
138
|
-
groupingThreshold: 500
|
|
139
|
-
})
|
|
140
|
-
);
|
|
141
|
-
|
|
142
|
-
// Show only the vectorizer button in the canvas menu
|
|
143
|
-
cesdk.ui.setComponentOrder({ in: 'ly.img.canvas.menu' }, [
|
|
144
|
-
'@imgly/plugin-vectorizer-web.canvasMenu'
|
|
145
|
-
]);
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
### Configuration Options
|
|
149
|
-
|
|
150
|
-
You can customize the plugin behavior with two configuration options:
|
|
151
|
-
|
|
152
|
-
- **timeout**: Processing time limit in milliseconds (default: 30000). Increase this for complex images that take longer to process.
|
|
153
|
-
- **groupingThreshold**: Maximum path count before combining into a single shape (default: 500). Lower values combine paths earlier, reducing selectable elements.
|
|
154
|
-
|
|
155
|
-
## Programmatic Vectorization
|
|
156
|
-
|
|
157
|
-
For automation workflows, you can create cutout blocks from source blocks using `engine.block.createCutoutFromBlocks()`. This method traces rasterized content or extracts existing vector paths.
|
|
158
|
-
|
|
159
|
-
### Threshold Parameters
|
|
160
|
-
|
|
161
|
-
The `createCutoutFromBlocks()` method accepts three parameters that control vectorization quality:
|
|
162
|
-
|
|
163
|
-
- **vectorizeDistanceThreshold** (default: 2): Maximum contour deviation during tracing. Lower values increase accuracy but produce more complex paths.
|
|
164
|
-
- **simplifyDistanceThreshold** (default: 4): Maximum deviation for path smoothing. Set to 0 to disable smoothing entirely.
|
|
165
|
-
- **useExistingShapeInformation** (default: true): When true, extracts existing vector paths from shapes and SVGs without re-tracing.
|
|
166
|
-
|
|
167
|
-
### Threshold Recommendations
|
|
168
|
-
|
|
169
|
-
Start with the default values (2, 4) and adjust based on your source content:
|
|
170
|
-
|
|
171
|
-
| Content Type | vectorizeDistanceThreshold | simplifyDistanceThreshold |
|
|
172
|
-
| --------------- | -------------------------- | ------------------------- |
|
|
173
|
-
| Photographs | 4-8 | 6-10 |
|
|
174
|
-
| Logos and icons | 1-2 | 2-4 |
|
|
175
|
-
| Illustrations | 2-4 | 4-6 |
|
|
176
|
-
|
|
177
|
-
Lower thresholds increase path complexity and processing time. For photographs with many details, higher thresholds reduce the number of paths while maintaining overall shape recognition.
|
|
178
|
-
|
|
179
|
-
## Troubleshooting
|
|
180
|
-
|
|
181
|
-
Common issues and solutions:
|
|
182
|
-
|
|
183
|
-
- **Processing timeout**: Increase the `timeout` option or use higher threshold values to reduce complexity.
|
|
184
|
-
- **Jagged edges**: Increase `simplifyDistanceThreshold` to smooth the paths.
|
|
185
|
-
- **Lost details**: Decrease both threshold values to capture finer contours.
|
|
186
|
-
- **Vectorize button not appearing**: Verify `ui: { locations: 'canvasMenu' }` is set and that you've selected an image block.
|
|
187
|
-
- **Memory issues with complex images**: Increase `groupingThreshold` to combine more paths into single shapes.
|
|
188
|
-
|
|
189
|
-
## API Reference
|
|
190
|
-
|
|
191
|
-
| Method | Category | Purpose |
|
|
192
|
-
| --------------------------------------------------------------------------------------------------------------------------------- | -------- | --------------------------------------------- |
|
|
193
|
-
| `cesdk.addPlugin(VectorizerPlugin(options))` | Plugin | Register the vectorizer plugin |
|
|
194
|
-
| `cesdk.ui.setComponentOrder({ in: 'ly.img.canvas.menu' }, ids)` | UI | Control which items appear in the canvas menu |
|
|
195
|
-
| `engine.block.createCutoutFromBlocks(ids, vectorizeDistanceThreshold?, simplifyDistanceThreshold?, useExistingShapeInformation?)` | Block | Create a cutout from block contours |
|
|
196
|
-
|
|
197
|
-
---
|
|
198
|
-
|
|
199
|
-
## More Resources
|
|
200
|
-
|
|
201
|
-
- **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
|
|
202
|
-
- **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
|
|
203
|
-
- **[Web Documentation](./js.md)** - Interactive documentation with examples
|
|
204
|
-
- **[Support](mailto:support@img.ly)** - Contact IMG.LY support
|
|
@@ -1,474 +0,0 @@
|
|
|
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).
|
|
2
|
-
|
|
3
|
-
**Navigation:** [Guides](./guides.md) > [Export Media Assets](./export-save-publish/export.md) > [To HTML5](./export-save-publish/export/to-html5.md) > [Plugins](./plugins.md) > [HTML5 Export](./export-save-publish/export/to-html5.md)
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
Export CE.SDK designs as HTML5 bundles containing HTML, images and fonts — ready for distribution as display ads or interactive web content.
|
|
8
|
-
|
|
9
|
-

|
|
10
|
-
|
|
11
|
-
> **Reading time:** 15 minutes
|
|
12
|
-
>
|
|
13
|
-
> **Resources:**
|
|
14
|
-
>
|
|
15
|
-
> - [Download examples](https://github.com/imgly/cesdk-web-examples/archive/refs/heads/main.zip)
|
|
16
|
-
> - [View source on GitHub](https://github.com/imgly/cesdk-web-examples/tree/main/guides-export-save-publish-export-to-html5-browser)
|
|
17
|
-
> - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-export-save-publish-export-to-html5-browser)
|
|
18
|
-
> - [Live demo](https://img.ly/docs/cesdk/examples/guides-export-save-publish-export-to-html5-browser/)
|
|
19
|
-
|
|
20
|
-
The `@imgly/html-exporter` package converts a CE.SDK scene page into an HTML5 bundle using `exportHtml(engine, options)`. The result is a `FileMap` — a standard `Map` extended with a `toZip()` method — that you can inspect, customize with additional files and scripts, then package as a ZIP for delivery.
|
|
21
|
-
|
|
22
|
-
```typescript file=@cesdk_web_examples/guides-export-save-publish-export-to-html5-browser/browser.ts reference-only
|
|
23
|
-
import type {
|
|
24
|
-
CreativeEngine,
|
|
25
|
-
EditorPlugin,
|
|
26
|
-
EditorPluginContext
|
|
27
|
-
} from '@cesdk/cesdk-js';
|
|
28
|
-
|
|
29
|
-
import {
|
|
30
|
-
BlurAssetSource,
|
|
31
|
-
CaptionPresetsAssetSource,
|
|
32
|
-
ColorPaletteAssetSource,
|
|
33
|
-
CropPresetsAssetSource,
|
|
34
|
-
DemoAssetSources,
|
|
35
|
-
EffectsAssetSource,
|
|
36
|
-
FiltersAssetSource,
|
|
37
|
-
PagePresetsAssetSource,
|
|
38
|
-
StickerAssetSource,
|
|
39
|
-
TextAssetSource,
|
|
40
|
-
TextComponentAssetSource,
|
|
41
|
-
TypefaceAssetSource,
|
|
42
|
-
UploadAssetSources,
|
|
43
|
-
VectorShapeAssetSource
|
|
44
|
-
} from '@cesdk/cesdk-js/plugins';
|
|
45
|
-
import { VideoEditorConfig } from './video-editor/plugin';
|
|
46
|
-
import packageJson from './package.json';
|
|
47
|
-
|
|
48
|
-
import { exportHtml, injectGsapPlayer } from '@imgly/html-exporter';
|
|
49
|
-
|
|
50
|
-
class Example implements EditorPlugin {
|
|
51
|
-
name = packageJson.name;
|
|
52
|
-
|
|
53
|
-
version = packageJson.version;
|
|
54
|
-
|
|
55
|
-
async initialize({ cesdk }: EditorPluginContext): Promise<void> {
|
|
56
|
-
if (!cesdk) {
|
|
57
|
-
throw new Error('CE.SDK instance is required for this plugin');
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
// Load the video editor config (provides full UI: navigation, dock, inspector, canvas, panels)
|
|
61
|
-
await cesdk.addPlugin(new VideoEditorConfig());
|
|
62
|
-
|
|
63
|
-
// Add asset source plugins (populates editor panels with content)
|
|
64
|
-
await cesdk.addPlugin(new BlurAssetSource());
|
|
65
|
-
await cesdk.addPlugin(new CaptionPresetsAssetSource());
|
|
66
|
-
await cesdk.addPlugin(new ColorPaletteAssetSource());
|
|
67
|
-
await cesdk.addPlugin(new CropPresetsAssetSource());
|
|
68
|
-
await cesdk.addPlugin(
|
|
69
|
-
new UploadAssetSources({ include: ['ly.img.image.upload'] })
|
|
70
|
-
);
|
|
71
|
-
await cesdk.addPlugin(
|
|
72
|
-
new DemoAssetSources({
|
|
73
|
-
include: ['ly.img.image.*']
|
|
74
|
-
})
|
|
75
|
-
);
|
|
76
|
-
await cesdk.addPlugin(new EffectsAssetSource());
|
|
77
|
-
await cesdk.addPlugin(new FiltersAssetSource());
|
|
78
|
-
await cesdk.addPlugin(new PagePresetsAssetSource());
|
|
79
|
-
await cesdk.addPlugin(new StickerAssetSource());
|
|
80
|
-
await cesdk.addPlugin(new TextAssetSource());
|
|
81
|
-
await cesdk.addPlugin(new TextComponentAssetSource());
|
|
82
|
-
await cesdk.addPlugin(new TypefaceAssetSource());
|
|
83
|
-
await cesdk.addPlugin(new VectorShapeAssetSource());
|
|
84
|
-
|
|
85
|
-
// Create a video scene (enables animation timeline)
|
|
86
|
-
await cesdk.actions.run('scene.create', { mode: 'Video' });
|
|
87
|
-
|
|
88
|
-
const engine = cesdk.engine;
|
|
89
|
-
|
|
90
|
-
// Register an "Export HTML5" button in the navigation bar
|
|
91
|
-
let isExporting = false;
|
|
92
|
-
|
|
93
|
-
cesdk.ui.registerComponent(
|
|
94
|
-
'ly.img.html5-export.navigationBar',
|
|
95
|
-
({ builder }) => {
|
|
96
|
-
builder.Button('html5-export-preview', {
|
|
97
|
-
color: 'accent',
|
|
98
|
-
variant: 'regular',
|
|
99
|
-
label: 'Export and Preview HTML5',
|
|
100
|
-
isLoading: isExporting,
|
|
101
|
-
isDisabled: isExporting,
|
|
102
|
-
onClick: async () => {
|
|
103
|
-
if (isExporting) return;
|
|
104
|
-
isExporting = true;
|
|
105
|
-
try {
|
|
106
|
-
await previewHtml5(engine);
|
|
107
|
-
} finally {
|
|
108
|
-
isExporting = false;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
builder.Button('html5-export-download', {
|
|
113
|
-
variant: 'regular',
|
|
114
|
-
label: 'Download ZIP',
|
|
115
|
-
isLoading: isExporting,
|
|
116
|
-
isDisabled: isExporting,
|
|
117
|
-
onClick: async () => {
|
|
118
|
-
if (isExporting) return;
|
|
119
|
-
isExporting = true;
|
|
120
|
-
try {
|
|
121
|
-
await downloadHtml5Zip(engine);
|
|
122
|
-
} finally {
|
|
123
|
-
isExporting = false;
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
);
|
|
129
|
-
|
|
130
|
-
// Add the export buttons to the navigation bar
|
|
131
|
-
cesdk.ui.setComponentOrder({ in: 'ly.img.navigation.bar' }, [
|
|
132
|
-
'ly.img.undoRedo.navigationBar',
|
|
133
|
-
'ly.img.spacer',
|
|
134
|
-
'ly.img.zoom.navigationBar',
|
|
135
|
-
'ly.img.html5-export.navigationBar'
|
|
136
|
-
]);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
async function previewHtml5(engine: CreativeEngine) {
|
|
141
|
-
// Export as a single self-contained HTML file (base64-embedded assets)
|
|
142
|
-
const embeddedResult = await exportHtml(engine, {
|
|
143
|
-
format: 'embedded',
|
|
144
|
-
pageIndex: 0
|
|
145
|
-
});
|
|
146
|
-
|
|
147
|
-
// Inject the GSAP library to make animations playable
|
|
148
|
-
const htmlFile = embeddedResult.files.get('index.html');
|
|
149
|
-
const htmlContent =
|
|
150
|
-
typeof htmlFile!.content === 'string'
|
|
151
|
-
? htmlFile!.content
|
|
152
|
-
: new TextDecoder().decode(htmlFile!.content);
|
|
153
|
-
|
|
154
|
-
const playableHtml = injectGsapPlayer(htmlContent);
|
|
155
|
-
|
|
156
|
-
// Open a preview in a new browser tab
|
|
157
|
-
const previewBlob = new Blob([playableHtml], { type: 'text/html' });
|
|
158
|
-
window.open(URL.createObjectURL(previewBlob), '_blank');
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
async function downloadHtml5Zip(engine: CreativeEngine) {
|
|
162
|
-
const page = engine.block.findByType('page')[0];
|
|
163
|
-
|
|
164
|
-
// Export the first page as an external HTML5 bundle (HTML + separate assets)
|
|
165
|
-
const externalResult = await exportHtml(engine, {
|
|
166
|
-
format: 'external',
|
|
167
|
-
pageIndex: 0
|
|
168
|
-
});
|
|
169
|
-
|
|
170
|
-
// The result contains a FileMap with all generated files
|
|
171
|
-
console.log('External export files:');
|
|
172
|
-
for (const [path] of externalResult.files) {
|
|
173
|
-
console.log(` ${path}`);
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
// Check for warnings or errors during export
|
|
177
|
-
if (externalResult.messages && externalResult.messages.length > 0) {
|
|
178
|
-
for (const msg of externalResult.messages) {
|
|
179
|
-
console.log(`[${msg.type}] ${msg.message}`);
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
// Read the index.html from the external export and inject metadata
|
|
184
|
-
let html = externalResult.files.get('index.html')!.content as string;
|
|
185
|
-
|
|
186
|
-
// Inject an ad.size meta tag into the <head>
|
|
187
|
-
const pageWidth = Math.round(engine.block.getWidth(page));
|
|
188
|
-
const pageHeight = Math.round(engine.block.getHeight(page));
|
|
189
|
-
html = html.replace(
|
|
190
|
-
'</head>',
|
|
191
|
-
` <meta name="ad.size" content="width=${pageWidth},height=${pageHeight}">\n</head>`
|
|
192
|
-
);
|
|
193
|
-
|
|
194
|
-
// Inject a click-tracking script before </body>
|
|
195
|
-
const clickScript = `
|
|
196
|
-
<script>
|
|
197
|
-
var clickTag = "https://example.com";
|
|
198
|
-
document.addEventListener("click", function() {
|
|
199
|
-
window.open(clickTag, "_blank");
|
|
200
|
-
});
|
|
201
|
-
</script>`;
|
|
202
|
-
html = html.replace('</body>', clickScript + '\n</body>');
|
|
203
|
-
|
|
204
|
-
// Write the modified HTML back to the FileMap
|
|
205
|
-
externalResult.files.set('index.html', {
|
|
206
|
-
content: html,
|
|
207
|
-
mimeType: 'text/html'
|
|
208
|
-
});
|
|
209
|
-
|
|
210
|
-
// Add a manifest.json describing the bundle
|
|
211
|
-
externalResult.files.set('manifest.json', {
|
|
212
|
-
content: JSON.stringify(
|
|
213
|
-
{
|
|
214
|
-
version: '1.0',
|
|
215
|
-
title: 'My Creative',
|
|
216
|
-
width: pageWidth,
|
|
217
|
-
height: pageHeight,
|
|
218
|
-
source: 'index.html'
|
|
219
|
-
},
|
|
220
|
-
null,
|
|
221
|
-
2
|
|
222
|
-
),
|
|
223
|
-
mimeType: 'application/json'
|
|
224
|
-
});
|
|
225
|
-
|
|
226
|
-
// Generate a static backup image and add it to the bundle
|
|
227
|
-
const backupBlob = await engine.block.export(page, {
|
|
228
|
-
mimeType: 'image/jpeg',
|
|
229
|
-
jpegQuality: 0.8,
|
|
230
|
-
targetWidth: pageWidth,
|
|
231
|
-
targetHeight: pageHeight
|
|
232
|
-
});
|
|
233
|
-
const backupBytes = new Uint8Array(await backupBlob.arrayBuffer());
|
|
234
|
-
externalResult.files.set('backup.jpg', {
|
|
235
|
-
content: backupBytes,
|
|
236
|
-
mimeType: 'image/jpeg'
|
|
237
|
-
});
|
|
238
|
-
|
|
239
|
-
// Package all files as a ZIP and trigger a browser download
|
|
240
|
-
const zip = await externalResult.files.toZip();
|
|
241
|
-
const downloadBlob = new Blob([zip.buffer as ArrayBuffer], {
|
|
242
|
-
type: 'application/zip'
|
|
243
|
-
});
|
|
244
|
-
|
|
245
|
-
const a = document.createElement('a');
|
|
246
|
-
a.href = URL.createObjectURL(downloadBlob);
|
|
247
|
-
a.download = 'html5-export.zip';
|
|
248
|
-
a.click();
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
export default Example;
|
|
252
|
-
```
|
|
253
|
-
|
|
254
|
-
This guide covers exporting scenes as HTML5, choosing between external and embedded formats, injecting GSAP for animated playback, and customizing the output with click tracking, metadata, and extra files.
|
|
255
|
-
|
|
256
|
-
## Getting Started
|
|
257
|
-
|
|
258
|
-
Install the `@imgly/html-exporter` package and import `exportHtml` and optionally `injectGsapPlayer`.
|
|
259
|
-
|
|
260
|
-
```typescript highlight=highlight-import
|
|
261
|
-
import { exportHtml, injectGsapPlayer } from '@imgly/html-exporter';
|
|
262
|
-
```
|
|
263
|
-
|
|
264
|
-
## Exporting a Scene Page
|
|
265
|
-
|
|
266
|
-
Call `exportHtml()` with the engine instance and an options object. The `pageIndex` option (0-based) selects which page to export. Each call exports one page.
|
|
267
|
-
|
|
268
|
-
```typescript highlight=highlight-export-external
|
|
269
|
-
// Export the first page as an external HTML5 bundle (HTML + separate assets)
|
|
270
|
-
const externalResult = await exportHtml(engine, {
|
|
271
|
-
format: 'external',
|
|
272
|
-
pageIndex: 0
|
|
273
|
-
});
|
|
274
|
-
|
|
275
|
-
// The result contains a FileMap with all generated files
|
|
276
|
-
console.log('External export files:');
|
|
277
|
-
for (const [path] of externalResult.files) {
|
|
278
|
-
console.log(` ${path}`);
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
// Check for warnings or errors during export
|
|
282
|
-
if (externalResult.messages && externalResult.messages.length > 0) {
|
|
283
|
-
for (const msg of externalResult.messages) {
|
|
284
|
-
console.log(`[${msg.type}] ${msg.message}`);
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
```
|
|
288
|
-
|
|
289
|
-
The returned `ExportHtmlResult` contains `files` (a `FileMap` of generated files) and `messages` (an array of `LogMessage` objects with any warnings or errors from the export process).
|
|
290
|
-
|
|
291
|
-
### Export Options
|
|
292
|
-
|
|
293
|
-
| Option | Type | Default | Description |
|
|
294
|
-
| -------------------------- | -------------------------- | ------------ | ----------------------------------- |
|
|
295
|
-
| `format` | `'external' \| 'embedded'` | `'external'` | Output format |
|
|
296
|
-
| `pageIndex` | `number` | (required) | 0-based page index |
|
|
297
|
-
| `quality` | `number` | `90` | WebP image quality 0–100 |
|
|
298
|
-
| `animated` | `boolean \| 'auto'` | `'auto'` | Generate GSAP animation timeline |
|
|
299
|
-
| `insertExplicitLineBreaks` | `boolean` | `true` | Insert `<br>` at CE.SDK line breaks |
|
|
300
|
-
| `useSyntheticIds` | `boolean` | `false` | Stable deterministic element IDs |
|
|
301
|
-
| `abortSignal` | `AbortSignal` | — | Cancel the export |
|
|
302
|
-
|
|
303
|
-
## Choosing a Format: External vs Embedded
|
|
304
|
-
|
|
305
|
-
The **external** format (default) writes `index.html` plus separate image and font files. Use this for production delivery — each file is individually cacheable and the total size is transparent for validation.
|
|
306
|
-
|
|
307
|
-
The **embedded** format inlines all assets as base64 data URLs into a single `index.html`. Use this for in-browser preview or sharing a single file.
|
|
308
|
-
|
|
309
|
-
```typescript highlight=highlight-export-embedded
|
|
310
|
-
// Export as a single self-contained HTML file (base64-embedded assets)
|
|
311
|
-
const embeddedResult = await exportHtml(engine, {
|
|
312
|
-
format: 'embedded',
|
|
313
|
-
pageIndex: 0
|
|
314
|
-
});
|
|
315
|
-
```
|
|
316
|
-
|
|
317
|
-
## Animated Exports and GSAP Injection
|
|
318
|
-
|
|
319
|
-
When `animated` is `'auto'` (the default), the exporter checks the scene mode and generates a GSAP animation timeline for video scenes. The timeline is embedded as an inline script in the HTML output. To make it playable, inject the GSAP library from a CDN using `injectGsapPlayer()`.
|
|
320
|
-
|
|
321
|
-
```typescript highlight=highlight-gsap-injection
|
|
322
|
-
// Inject the GSAP library to make animations playable
|
|
323
|
-
const htmlFile = embeddedResult.files.get('index.html');
|
|
324
|
-
const htmlContent =
|
|
325
|
-
typeof htmlFile!.content === 'string'
|
|
326
|
-
? htmlFile!.content
|
|
327
|
-
: new TextDecoder().decode(htmlFile!.content);
|
|
328
|
-
|
|
329
|
-
const playableHtml = injectGsapPlayer(htmlContent);
|
|
330
|
-
|
|
331
|
-
// Open a preview in a new browser tab
|
|
332
|
-
const previewBlob = new Blob([playableHtml], { type: 'text/html' });
|
|
333
|
-
window.open(URL.createObjectURL(previewBlob), '_blank');
|
|
334
|
-
```
|
|
335
|
-
|
|
336
|
-
`injectGsapPlayer()` accepts optional overrides:
|
|
337
|
-
|
|
338
|
-
- **`gsapUrl`** — Custom GSAP CDN URL (default: jsDelivr 3.x). Some platforms whitelist specific CDN URLs and exempt them from file-size limits.
|
|
339
|
-
- **`splitTextUrl`** — Custom SplitText CDN URL, or `false` to disable auto-injection.
|
|
340
|
-
- **`autoplay`** — Whether to inject the autoplay loop script (default: `true`).
|
|
341
|
-
|
|
342
|
-
## Customizing the Output
|
|
343
|
-
|
|
344
|
-
The `FileMap` returned by `exportHtml()` is a standard `Map<string, ExportFile>` extended with `toZip()`. Use `files.get()`, `files.set()`, and `files.delete()` to read, add, or remove files before packaging. Each `ExportFile` has a `content` property (`string` or `Uint8Array`) and an optional `mimeType`.
|
|
345
|
-
|
|
346
|
-
### Modifying the HTML
|
|
347
|
-
|
|
348
|
-
We read the `index.html` content as a string, use `String.replace()` to inject an `ad.size` meta tag before `</head>` and a click-tracking script before `</body>`, then write it back with `files.set()`.
|
|
349
|
-
|
|
350
|
-
```typescript highlight=highlight-customize-html
|
|
351
|
-
// Read the index.html from the external export and inject metadata
|
|
352
|
-
let html = externalResult.files.get('index.html')!.content as string;
|
|
353
|
-
|
|
354
|
-
// Inject an ad.size meta tag into the <head>
|
|
355
|
-
const pageWidth = Math.round(engine.block.getWidth(page));
|
|
356
|
-
const pageHeight = Math.round(engine.block.getHeight(page));
|
|
357
|
-
html = html.replace(
|
|
358
|
-
'</head>',
|
|
359
|
-
` <meta name="ad.size" content="width=${pageWidth},height=${pageHeight}">\n</head>`
|
|
360
|
-
);
|
|
361
|
-
|
|
362
|
-
// Inject a click-tracking script before </body>
|
|
363
|
-
const clickScript = `
|
|
364
|
-
<script>
|
|
365
|
-
var clickTag = "https://example.com";
|
|
366
|
-
document.addEventListener("click", function() {
|
|
367
|
-
window.open(clickTag, "_blank");
|
|
368
|
-
});
|
|
369
|
-
</script>`;
|
|
370
|
-
html = html.replace('</body>', clickScript + '\n</body>');
|
|
371
|
-
|
|
372
|
-
// Write the modified HTML back to the FileMap
|
|
373
|
-
externalResult.files.set('index.html', {
|
|
374
|
-
content: html,
|
|
375
|
-
mimeType: 'text/html'
|
|
376
|
-
});
|
|
377
|
-
```
|
|
378
|
-
|
|
379
|
-
The same pattern works for injecting any content — tracking pixels, analytics beacons, platform SDK scripts, or additional stylesheets.
|
|
380
|
-
|
|
381
|
-
### Adding Extra Files
|
|
382
|
-
|
|
383
|
-
We add a `manifest.json` describing the bundle dimensions and entry point, then generate a static JPEG backup image using `engine.block.export()` and include it in the bundle.
|
|
384
|
-
|
|
385
|
-
```typescript highlight=highlight-add-files
|
|
386
|
-
// Add a manifest.json describing the bundle
|
|
387
|
-
externalResult.files.set('manifest.json', {
|
|
388
|
-
content: JSON.stringify(
|
|
389
|
-
{
|
|
390
|
-
version: '1.0',
|
|
391
|
-
title: 'My Creative',
|
|
392
|
-
width: pageWidth,
|
|
393
|
-
height: pageHeight,
|
|
394
|
-
source: 'index.html'
|
|
395
|
-
},
|
|
396
|
-
null,
|
|
397
|
-
2
|
|
398
|
-
),
|
|
399
|
-
mimeType: 'application/json'
|
|
400
|
-
});
|
|
401
|
-
|
|
402
|
-
// Generate a static backup image and add it to the bundle
|
|
403
|
-
const backupBlob = await engine.block.export(page, {
|
|
404
|
-
mimeType: 'image/jpeg',
|
|
405
|
-
jpegQuality: 0.8,
|
|
406
|
-
targetWidth: pageWidth,
|
|
407
|
-
targetHeight: pageHeight
|
|
408
|
-
});
|
|
409
|
-
const backupBytes = new Uint8Array(await backupBlob.arrayBuffer());
|
|
410
|
-
externalResult.files.set('backup.jpg', {
|
|
411
|
-
content: backupBytes,
|
|
412
|
-
mimeType: 'image/jpeg'
|
|
413
|
-
});
|
|
414
|
-
```
|
|
415
|
-
|
|
416
|
-
You can add any file to the bundle this way — data feed templates, custom fonts, or platform-specific configuration files.
|
|
417
|
-
|
|
418
|
-
## Packaging and Downloading
|
|
419
|
-
|
|
420
|
-
After all customizations, call `files.toZip()` to produce a `Uint8Array` containing the ZIP archive. We wrap it in a `Blob` and trigger a browser download.
|
|
421
|
-
|
|
422
|
-
```typescript highlight=highlight-download-zip
|
|
423
|
-
// Package all files as a ZIP and trigger a browser download
|
|
424
|
-
const zip = await externalResult.files.toZip();
|
|
425
|
-
const downloadBlob = new Blob([zip.buffer as ArrayBuffer], {
|
|
426
|
-
type: 'application/zip'
|
|
427
|
-
});
|
|
428
|
-
|
|
429
|
-
const a = document.createElement('a');
|
|
430
|
-
a.href = URL.createObjectURL(downloadBlob);
|
|
431
|
-
a.download = 'html5-export.zip';
|
|
432
|
-
a.click();
|
|
433
|
-
```
|
|
434
|
-
|
|
435
|
-
## Troubleshooting
|
|
436
|
-
|
|
437
|
-
**Exported HTML is blank** — Verify `pageIndex` is within bounds by checking `engine.block.findByType('page').length`. Review `result.messages` for warnings about unsupported blocks.
|
|
438
|
-
|
|
439
|
-
**Animations do not play** — Ensure the scene mode is `'Video'` or set `animated: true` explicitly. Call `injectGsapPlayer()` on the HTML string before opening it in a browser. Verify the GSAP CDN URL is reachable.
|
|
440
|
-
|
|
441
|
-
**Bundle rejected for file size** — Use the external format instead of embedded, which inflates size through base64 encoding. Reduce the `quality` option for smaller image assets. Remove unused files from the `FileMap` before calling `toZip()`.
|
|
442
|
-
|
|
443
|
-
**Missing click tracking or metadata** — Inject the click-tracking script required by your target platform before `</body>`. Add required meta tags to `<head>` and include a `manifest.json` if the platform requires one.
|
|
444
|
-
|
|
445
|
-
## API Reference
|
|
446
|
-
|
|
447
|
-
| Method / Type | Description |
|
|
448
|
-
| ------------------------------------- | ------------------------------------------------------- |
|
|
449
|
-
| `exportHtml(engine, options)` | Export a scene page as HTML5 |
|
|
450
|
-
| `injectGsapPlayer(html, options?)` | Inject GSAP CDN and autoplay script |
|
|
451
|
-
| `FileMap` | Map of export files extending `Map<string, ExportFile>` |
|
|
452
|
-
| `FileMap.prototype.toZip()` | Package all files as a ZIP (`Uint8Array`) |
|
|
453
|
-
| `ExportHtmlOptions` | Options interface for `exportHtml()` |
|
|
454
|
-
| `ExportHtmlResult` | Result with `files` and `messages` |
|
|
455
|
-
| `ExportFile` | File entry with `content` and optional `mimeType` |
|
|
456
|
-
| `LogMessage` | Export message with `message` and `type` |
|
|
457
|
-
| `engine.block.export(block, options)` | Export a block as an image |
|
|
458
|
-
| `engine.block.findByType('page')` | Find all pages in the scene |
|
|
459
|
-
|
|
460
|
-
## Next Steps
|
|
461
|
-
|
|
462
|
-
- [Export Overview](./export-save-publish/export/overview.md) — Compare all available export formats
|
|
463
|
-
- [Export to MP4](./export-save-publish/export/to-mp4.md) — Export animations as video
|
|
464
|
-
- [Export to PNG](./export-save-publish/export/to-png.md) — Export as a static image
|
|
465
|
-
- [Compress Exports](./export-save-publish/export/compress.md) — Optimize file sizes
|
|
466
|
-
|
|
467
|
-
---
|
|
468
|
-
|
|
469
|
-
## More Resources
|
|
470
|
-
|
|
471
|
-
- **[Vanilla JS/TS Documentation Index](https://img.ly/docs/cesdk/js.md)** - Browse all Vanilla JS/TS documentation
|
|
472
|
-
- **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
|
|
473
|
-
- **[Web Documentation](./js.md)** - Interactive documentation with examples
|
|
474
|
-
- **[Support](mailto:support@img.ly)** - Contact IMG.LY support
|