@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,4 +1,4 @@
|
|
|
1
|
-
> This is one page of the CE.SDK
|
|
1
|
+
> This is one page of the CE.SDK Node.js documentation. For a complete overview, see the [Node.js Documentation Index](https://img.ly/docs/cesdk/node.md). For all docs in one file, see [llms-full.txt](./llms-full.txt.md).
|
|
2
2
|
|
|
3
3
|
**Navigation:** [Concepts](./concepts.md) > [Blocks](./concepts/blocks.md)
|
|
4
4
|
|
|
@@ -7,42 +7,27 @@
|
|
|
7
7
|
Work with blocks—the fundamental building units for all visual elements in
|
|
8
8
|
CE.SDK designs.
|
|
9
9
|
|
|
10
|
-

|
|
11
|
-
|
|
12
10
|
> **Reading time:** 15 minutes
|
|
13
11
|
>
|
|
14
12
|
> **Resources:**
|
|
15
13
|
>
|
|
16
14
|
> - [Download examples](https://github.com/imgly/cesdk-web-examples/archive/refs/tags/release-$UBQ_VERSION$.zip)
|
|
17
|
-
>
|
|
18
|
-
> - [
|
|
19
|
-
>
|
|
15
|
+
>
|
|
16
|
+
> - [View source on GitHub](https://github.com/imgly/cesdk-web-examples/tree/release-$UBQ_VERSION$/guides-concepts-blocks-server-js)
|
|
17
|
+
>
|
|
18
|
+
> - [Open in StackBlitz](https://stackblitz.com/github/imgly/cesdk-web-examples/tree/v$UBQ_VERSION$/guides-concepts-blocks-server-js)
|
|
20
19
|
|
|
21
20
|
Every visual element in CE.SDK—images, text, shapes, and audio—is represented as a block. Blocks are organized in a tree structure within scenes and pages, where parent-child relationships determine rendering order and visibility. Each block has properties you can read and modify, a `Type` that defines its core behavior, and an optional `Kind` for custom categorization.
|
|
22
21
|
|
|
23
|
-
```typescript file=@cesdk_web_examples/guides-concepts-blocks-
|
|
24
|
-
import
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
CropPresetsAssetSource,
|
|
30
|
-
DemoAssetSources,
|
|
31
|
-
EffectsAssetSource,
|
|
32
|
-
FiltersAssetSource,
|
|
33
|
-
PagePresetsAssetSource,
|
|
34
|
-
StickerAssetSource,
|
|
35
|
-
TextAssetSource,
|
|
36
|
-
TextComponentAssetSource,
|
|
37
|
-
TypefaceAssetSource,
|
|
38
|
-
UploadAssetSources,
|
|
39
|
-
VectorShapeAssetSource
|
|
40
|
-
} from '@cesdk/cesdk-js/plugins';
|
|
41
|
-
import { DesignEditorConfig } from './design-editor/plugin';
|
|
42
|
-
import packageJson from './package.json';
|
|
22
|
+
```typescript file=@cesdk_web_examples/guides-concepts-blocks-server-js/server-js.ts reference-only
|
|
23
|
+
import CreativeEngine from '@cesdk/node';
|
|
24
|
+
import { config } from 'dotenv';
|
|
25
|
+
|
|
26
|
+
// Load environment variables from .env file
|
|
27
|
+
config();
|
|
43
28
|
|
|
44
29
|
/**
|
|
45
|
-
* CE.SDK
|
|
30
|
+
* CE.SDK Server Example: Blocks Guide
|
|
46
31
|
*
|
|
47
32
|
* Demonstrates working with blocks in CE.SDK:
|
|
48
33
|
* - Block types (graphic, text, audio, page, cutout)
|
|
@@ -53,60 +38,24 @@ import packageJson from './package.json';
|
|
|
53
38
|
* - Block state management
|
|
54
39
|
* - Serialization (save/load)
|
|
55
40
|
*/
|
|
56
|
-
|
|
57
|
-
|
|
41
|
+
async function main(): Promise<void> {
|
|
42
|
+
// Initialize the headless Creative Engine
|
|
43
|
+
const engine = await CreativeEngine.init({
|
|
44
|
+
baseURL: process.env.IMGLY_LOCAL_ASSETS_URL
|
|
45
|
+
// license: process.env.CESDK_LICENSE,
|
|
46
|
+
});
|
|
58
47
|
|
|
59
|
-
|
|
48
|
+
try {
|
|
49
|
+
// Create a new scene and page
|
|
50
|
+
const scene = engine.scene.create();
|
|
60
51
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}
|
|
52
|
+
// Create and add a page block - pages contain all design elements
|
|
53
|
+
const page = engine.block.create('page');
|
|
54
|
+
engine.block.appendChild(scene, page);
|
|
65
55
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
await cesdk.addPlugin(new BlurAssetSource());
|
|
70
|
-
await cesdk.addPlugin(new ColorPaletteAssetSource());
|
|
71
|
-
await cesdk.addPlugin(new CropPresetsAssetSource());
|
|
72
|
-
await cesdk.addPlugin(
|
|
73
|
-
new UploadAssetSources({ include: ['ly.img.image.upload'] })
|
|
74
|
-
);
|
|
75
|
-
await cesdk.addPlugin(
|
|
76
|
-
new DemoAssetSources({
|
|
77
|
-
include: [
|
|
78
|
-
'ly.img.templates.blank.*',
|
|
79
|
-
'ly.img.templates.presentation.*',
|
|
80
|
-
'ly.img.templates.print.*',
|
|
81
|
-
'ly.img.templates.social.*',
|
|
82
|
-
'ly.img.image.*'
|
|
83
|
-
]
|
|
84
|
-
})
|
|
85
|
-
);
|
|
86
|
-
await cesdk.addPlugin(new EffectsAssetSource());
|
|
87
|
-
await cesdk.addPlugin(new FiltersAssetSource());
|
|
88
|
-
await cesdk.addPlugin(new PagePresetsAssetSource());
|
|
89
|
-
await cesdk.addPlugin(new StickerAssetSource());
|
|
90
|
-
await cesdk.addPlugin(new TextAssetSource());
|
|
91
|
-
await cesdk.addPlugin(new TextComponentAssetSource());
|
|
92
|
-
await cesdk.addPlugin(new TypefaceAssetSource());
|
|
93
|
-
await cesdk.addPlugin(new VectorShapeAssetSource());
|
|
94
|
-
|
|
95
|
-
await cesdk.actions.run('scene.create', {
|
|
96
|
-
page: { width: 800, height: 600, unit: 'Pixel' }
|
|
97
|
-
});
|
|
98
|
-
|
|
99
|
-
const engine = cesdk.engine;
|
|
100
|
-
|
|
101
|
-
// Get the current scene and page
|
|
102
|
-
const scene = engine.scene.get();
|
|
103
|
-
if (scene === null) {
|
|
104
|
-
throw new Error('No scene available');
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
// Find the page block - pages contain all design elements
|
|
108
|
-
const pages = engine.block.findByType('page');
|
|
109
|
-
const page = pages[0];
|
|
56
|
+
// Set page dimensions
|
|
57
|
+
engine.block.setWidth(page, 800);
|
|
58
|
+
engine.block.setHeight(page, 600);
|
|
110
59
|
|
|
111
60
|
// Query the block type - returns the full type path
|
|
112
61
|
const pageType = engine.block.getType(page);
|
|
@@ -141,7 +90,7 @@ class Example implements EditorPlugin {
|
|
|
141
90
|
const rectShape = engine.block.createShape('rect');
|
|
142
91
|
engine.block.setShape(graphic, rectShape);
|
|
143
92
|
|
|
144
|
-
// Position and size the graphic
|
|
93
|
+
// Position and size the graphic
|
|
145
94
|
engine.block.setPositionX(graphic, 200);
|
|
146
95
|
engine.block.setPositionY(graphic, 100);
|
|
147
96
|
engine.block.setWidth(graphic, 400);
|
|
@@ -174,7 +123,7 @@ class Example implements EditorPlugin {
|
|
|
174
123
|
const textBlock = engine.block.create('text');
|
|
175
124
|
engine.block.appendChild(page, textBlock);
|
|
176
125
|
|
|
177
|
-
// Position the text block
|
|
126
|
+
// Position the text block
|
|
178
127
|
engine.block.setPositionX(textBlock, 200);
|
|
179
128
|
engine.block.setPositionY(textBlock, 450);
|
|
180
129
|
engine.block.setWidth(textBlock, 400);
|
|
@@ -263,16 +212,6 @@ class Example implements EditorPlugin {
|
|
|
263
212
|
const selectedBlocks = engine.block.findAllSelected();
|
|
264
213
|
console.log('Selected blocks count:', selectedBlocks.length); // 2
|
|
265
214
|
|
|
266
|
-
// Subscribe to selection changes
|
|
267
|
-
const unsubscribeSelection = engine.block.onSelectionChanged(() => {
|
|
268
|
-
const selected = engine.block.findAllSelected();
|
|
269
|
-
console.log(
|
|
270
|
-
'Selection changed, now selected:',
|
|
271
|
-
selected.length,
|
|
272
|
-
'blocks'
|
|
273
|
-
);
|
|
274
|
-
});
|
|
275
|
-
|
|
276
215
|
// Control block visibility
|
|
277
216
|
engine.block.setVisible(graphic, true);
|
|
278
217
|
const isVisible = engine.block.isVisible(graphic);
|
|
@@ -292,23 +231,6 @@ class Example implements EditorPlugin {
|
|
|
292
231
|
const graphicState = engine.block.getState(graphic);
|
|
293
232
|
console.log('Graphic state:', graphicState.type); // 'Ready', 'Pending', or 'Error'
|
|
294
233
|
|
|
295
|
-
// Subscribe to state changes (useful for loading indicators)
|
|
296
|
-
const unsubscribeState = engine.block.onStateChanged(
|
|
297
|
-
[graphic],
|
|
298
|
-
(changedBlocks) => {
|
|
299
|
-
for (const blockId of changedBlocks) {
|
|
300
|
-
const state = engine.block.getState(blockId);
|
|
301
|
-
console.log(`Block ${blockId} state changed to:`, state.type);
|
|
302
|
-
if (state.type === 'Pending' && state.progress !== undefined) {
|
|
303
|
-
console.log(
|
|
304
|
-
'Loading progress:',
|
|
305
|
-
Math.round(state.progress * 100) + '%'
|
|
306
|
-
);
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
);
|
|
311
|
-
|
|
312
234
|
// Save blocks to a string for persistence
|
|
313
235
|
// Include 'bundle' scheme to allow serialization of blocks with bundled fonts
|
|
314
236
|
const savedString = await engine.block.saveToString(
|
|
@@ -345,20 +267,18 @@ class Example implements EditorPlugin {
|
|
|
345
267
|
engine.block.destroy(block);
|
|
346
268
|
}
|
|
347
269
|
|
|
348
|
-
|
|
349
|
-
// In a real application, you'd keep these active as needed
|
|
350
|
-
unsubscribeSelection();
|
|
351
|
-
unsubscribeState();
|
|
352
|
-
|
|
353
|
-
console.log('Blocks guide initialized successfully.');
|
|
270
|
+
console.log('Blocks guide completed successfully.');
|
|
354
271
|
console.log('Created graphic block with image fill and text block.');
|
|
355
272
|
console.log(
|
|
356
273
|
'Demonstrated: types, hierarchy, properties, selection, state, and serialization.'
|
|
357
274
|
);
|
|
275
|
+
} finally {
|
|
276
|
+
// Always dispose the engine to free resources
|
|
277
|
+
engine.dispose();
|
|
358
278
|
}
|
|
359
279
|
}
|
|
360
280
|
|
|
361
|
-
|
|
281
|
+
main().catch(console.error);
|
|
362
282
|
```
|
|
363
283
|
|
|
364
284
|
This guide covers block types and their uses, how to create and manage blocks programmatically, how to work with block properties using the reflection system, and how to handle selection, visibility, and state changes.
|
|
@@ -376,19 +296,20 @@ CE.SDK provides several block types, each designed for specific content:
|
|
|
376
296
|
We query a block's type using `getType()` and find blocks of a specific type with `findByType()`:
|
|
377
297
|
|
|
378
298
|
```typescript highlight-block-types
|
|
379
|
-
//
|
|
380
|
-
const scene = engine.scene.
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
299
|
+
// Create a new scene and page
|
|
300
|
+
const scene = engine.scene.create();
|
|
301
|
+
|
|
302
|
+
// Create and add a page block - pages contain all design elements
|
|
303
|
+
const page = engine.block.create('page');
|
|
304
|
+
engine.block.appendChild(scene, page);
|
|
384
305
|
|
|
385
|
-
//
|
|
386
|
-
|
|
387
|
-
|
|
306
|
+
// Set page dimensions
|
|
307
|
+
engine.block.setWidth(page, 800);
|
|
308
|
+
engine.block.setHeight(page, 600);
|
|
388
309
|
|
|
389
|
-
// Query the block type - returns the full type path
|
|
390
|
-
const pageType = engine.block.getType(page);
|
|
391
|
-
console.log('Page block type:', pageType); // '//ly.img.ubq/page'
|
|
310
|
+
// Query the block type - returns the full type path
|
|
311
|
+
const pageType = engine.block.getType(page);
|
|
312
|
+
console.log('Page block type:', pageType); // '//ly.img.ubq/page'
|
|
392
313
|
```
|
|
393
314
|
|
|
394
315
|
Block types are immutable—once created, a block's type cannot change. This distinguishes type from kind.
|
|
@@ -398,15 +319,15 @@ Block types are immutable—once created, a block's type cannot change. This dis
|
|
|
398
319
|
Type and kind serve different purposes. The **type** is determined at creation and defines core behavior. The **kind** is a custom string label you assign for application-specific categorization.
|
|
399
320
|
|
|
400
321
|
```typescript highlight-type-vs-kind
|
|
401
|
-
// Type is immutable, determined at creation
|
|
402
|
-
// Kind is a custom label you can set and change
|
|
403
|
-
engine.block.setKind(page, 'main-canvas');
|
|
404
|
-
const pageKind = engine.block.getKind(page);
|
|
405
|
-
console.log('Page kind:', pageKind); // 'main-canvas'
|
|
406
|
-
|
|
407
|
-
// Find blocks by kind
|
|
408
|
-
const mainCanvasBlocks = engine.block.findByKind('main-canvas');
|
|
409
|
-
console.log('Blocks with kind "main-canvas":', mainCanvasBlocks.length);
|
|
322
|
+
// Type is immutable, determined at creation
|
|
323
|
+
// Kind is a custom label you can set and change
|
|
324
|
+
engine.block.setKind(page, 'main-canvas');
|
|
325
|
+
const pageKind = engine.block.getKind(page);
|
|
326
|
+
console.log('Page kind:', pageKind); // 'main-canvas'
|
|
327
|
+
|
|
328
|
+
// Find blocks by kind
|
|
329
|
+
const mainCanvasBlocks = engine.block.findByKind('main-canvas');
|
|
330
|
+
console.log('Blocks with kind "main-canvas":', mainCanvasBlocks.length);
|
|
410
331
|
```
|
|
411
332
|
|
|
412
333
|
Use kind to tag blocks for your application's logic. You can set it with `setKind()`, query it with `getKind()`, and find blocks by kind with `findByKind()`.
|
|
@@ -416,16 +337,16 @@ Use kind to tag blocks for your application's logic. You can set it with `setKin
|
|
|
416
337
|
Blocks form a tree structure where scenes contain pages, and pages contain design elements.
|
|
417
338
|
|
|
418
339
|
```typescript highlight-block-hierarchy
|
|
419
|
-
// Blocks form a tree: scene > page > elements
|
|
420
|
-
// Append the graphic to the page to make it visible
|
|
421
|
-
engine.block.appendChild(page, graphic);
|
|
340
|
+
// Blocks form a tree: scene > page > elements
|
|
341
|
+
// Append the graphic to the page to make it visible
|
|
342
|
+
engine.block.appendChild(page, graphic);
|
|
422
343
|
|
|
423
|
-
// Query parent-child relationships
|
|
424
|
-
const graphicParent = engine.block.getParent(graphic);
|
|
425
|
-
console.log('Graphic parent is page:', graphicParent === page); // true
|
|
344
|
+
// Query parent-child relationships
|
|
345
|
+
const graphicParent = engine.block.getParent(graphic);
|
|
346
|
+
console.log('Graphic parent is page:', graphicParent === page); // true
|
|
426
347
|
|
|
427
|
-
const pageChildren = engine.block.getChildren(page);
|
|
428
|
-
console.log('Page has children:', pageChildren.length);
|
|
348
|
+
const pageChildren = engine.block.getChildren(page);
|
|
349
|
+
console.log('Page has children:', pageChildren.length);
|
|
429
350
|
```
|
|
430
351
|
|
|
431
352
|
Only blocks that are direct or indirect children of a page block are rendered. A scene without any page children won't display content in the editor. Use `appendChild()` to add blocks to parents, `getParent()` to query a block's parent, and `getChildren()` to get a block's children.
|
|
@@ -435,20 +356,20 @@ Only blocks that are direct or indirect children of a page block are rendered. A
|
|
|
435
356
|
Create new blocks with `create()`, duplicate existing blocks with `duplicate()`, and remove blocks with `destroy()`. After destroying a block, `isValid()` returns `false` for that block ID.
|
|
436
357
|
|
|
437
358
|
```typescript highlight-block-lifecycle
|
|
438
|
-
// Create a graphic block for an image
|
|
439
|
-
const graphic = engine.block.create('graphic');
|
|
359
|
+
// Create a graphic block for an image
|
|
360
|
+
const graphic = engine.block.create('graphic');
|
|
440
361
|
|
|
441
|
-
// Duplicate creates a copy with a new UUID
|
|
442
|
-
const graphicCopy = engine.block.duplicate(graphic);
|
|
362
|
+
// Duplicate creates a copy with a new UUID
|
|
363
|
+
const graphicCopy = engine.block.duplicate(graphic);
|
|
443
364
|
|
|
444
|
-
// Destroy removes a block - the duplicate is no longer needed
|
|
445
|
-
engine.block.destroy(graphicCopy);
|
|
365
|
+
// Destroy removes a block - the duplicate is no longer needed
|
|
366
|
+
engine.block.destroy(graphicCopy);
|
|
446
367
|
|
|
447
|
-
// Check if a block ID is still valid after operations
|
|
448
|
-
const isOriginalValid = engine.block.isValid(graphic);
|
|
449
|
-
const isCopyValid = engine.block.isValid(graphicCopy);
|
|
450
|
-
console.log('Original valid:', isOriginalValid); // true
|
|
451
|
-
console.log('Copy valid after destroy:', isCopyValid); // false
|
|
368
|
+
// Check if a block ID is still valid after operations
|
|
369
|
+
const isOriginalValid = engine.block.isValid(graphic);
|
|
370
|
+
const isCopyValid = engine.block.isValid(graphicCopy);
|
|
371
|
+
console.log('Original valid:', isOriginalValid); // true
|
|
372
|
+
console.log('Copy valid after destroy:', isCopyValid); // false
|
|
452
373
|
```
|
|
453
374
|
|
|
454
375
|
When duplicating a block, all children are included, and the duplicate receives a new UUID.
|
|
@@ -458,27 +379,27 @@ When duplicating a block, all children are included, and the duplicate receives
|
|
|
458
379
|
Graphic blocks display content through fills. We create a fill, attach it to a block, and configure its source.
|
|
459
380
|
|
|
460
381
|
```typescript highlight-fill
|
|
461
|
-
// Create a rect shape to define the graphic's bounds
|
|
462
|
-
const rectShape = engine.block.createShape('rect');
|
|
463
|
-
engine.block.setShape(graphic, rectShape);
|
|
464
|
-
|
|
465
|
-
// Position and size the graphic
|
|
466
|
-
engine.block.setPositionX(graphic, 200);
|
|
467
|
-
engine.block.setPositionY(graphic, 100);
|
|
468
|
-
engine.block.setWidth(graphic, 400);
|
|
469
|
-
engine.block.setHeight(graphic, 300);
|
|
470
|
-
|
|
471
|
-
// Create an image fill and attach it to the graphic
|
|
472
|
-
const imageFill = engine.block.createFill('image');
|
|
473
|
-
engine.block.setString(
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
);
|
|
478
|
-
engine.block.setFill(graphic, imageFill);
|
|
479
|
-
|
|
480
|
-
// Set content fill mode so the image fills the block bounds
|
|
481
|
-
engine.block.setEnum(graphic, 'contentFill/mode', 'Cover');
|
|
382
|
+
// Create a rect shape to define the graphic's bounds
|
|
383
|
+
const rectShape = engine.block.createShape('rect');
|
|
384
|
+
engine.block.setShape(graphic, rectShape);
|
|
385
|
+
|
|
386
|
+
// Position and size the graphic
|
|
387
|
+
engine.block.setPositionX(graphic, 200);
|
|
388
|
+
engine.block.setPositionY(graphic, 100);
|
|
389
|
+
engine.block.setWidth(graphic, 400);
|
|
390
|
+
engine.block.setHeight(graphic, 300);
|
|
391
|
+
|
|
392
|
+
// Create an image fill and attach it to the graphic
|
|
393
|
+
const imageFill = engine.block.createFill('image');
|
|
394
|
+
engine.block.setString(
|
|
395
|
+
imageFill,
|
|
396
|
+
'fill/image/imageFileURI',
|
|
397
|
+
'https://img.ly/static/ubq_samples/sample_1.jpg'
|
|
398
|
+
);
|
|
399
|
+
engine.block.setFill(graphic, imageFill);
|
|
400
|
+
|
|
401
|
+
// Set content fill mode so the image fills the block bounds
|
|
402
|
+
engine.block.setEnum(graphic, 'contentFill/mode', 'Cover');
|
|
482
403
|
```
|
|
483
404
|
|
|
484
405
|
CE.SDK supports several fill types including image, video, color, and gradient fills. See the [Fills guide](./filters-and-effects/gradients.md) for details on available fill types.
|
|
@@ -488,32 +409,32 @@ CE.SDK supports several fill types including image, video, color, and gradient f
|
|
|
488
409
|
Text blocks display formatted text content. We create a text block, position it, and set its content.
|
|
489
410
|
|
|
490
411
|
```typescript highlight-text-block
|
|
491
|
-
// Create a text block with content
|
|
492
|
-
const textBlock = engine.block.create('text');
|
|
493
|
-
engine.block.appendChild(page, textBlock);
|
|
494
|
-
|
|
495
|
-
// Position the text block
|
|
496
|
-
engine.block.setPositionX(textBlock, 200);
|
|
497
|
-
engine.block.setPositionY(textBlock, 450);
|
|
498
|
-
engine.block.setWidth(textBlock, 400);
|
|
499
|
-
engine.block.setHeight(textBlock, 80);
|
|
500
|
-
|
|
501
|
-
// Set text content
|
|
502
|
-
engine.block.setString(
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
);
|
|
507
|
-
|
|
508
|
-
// Set font size to 72pt
|
|
509
|
-
engine.block.setFloat(textBlock, 'text/fontSize', 72);
|
|
510
|
-
|
|
511
|
-
// Center-align the text
|
|
512
|
-
engine.block.setEnum(textBlock, 'text/horizontalAlignment', 'Center');
|
|
513
|
-
|
|
514
|
-
// Check the text block type
|
|
515
|
-
const textType = engine.block.getType(textBlock);
|
|
516
|
-
console.log('Text block type:', textType); // '//ly.img.ubq/text'
|
|
412
|
+
// Create a text block with content
|
|
413
|
+
const textBlock = engine.block.create('text');
|
|
414
|
+
engine.block.appendChild(page, textBlock);
|
|
415
|
+
|
|
416
|
+
// Position the text block
|
|
417
|
+
engine.block.setPositionX(textBlock, 200);
|
|
418
|
+
engine.block.setPositionY(textBlock, 450);
|
|
419
|
+
engine.block.setWidth(textBlock, 400);
|
|
420
|
+
engine.block.setHeight(textBlock, 80);
|
|
421
|
+
|
|
422
|
+
// Set text content
|
|
423
|
+
engine.block.setString(
|
|
424
|
+
textBlock,
|
|
425
|
+
'text/text',
|
|
426
|
+
'Blocks are the building units of CE.SDK designs'
|
|
427
|
+
);
|
|
428
|
+
|
|
429
|
+
// Set font size to 72pt
|
|
430
|
+
engine.block.setFloat(textBlock, 'text/fontSize', 72);
|
|
431
|
+
|
|
432
|
+
// Center-align the text
|
|
433
|
+
engine.block.setEnum(textBlock, 'text/horizontalAlignment', 'Center');
|
|
434
|
+
|
|
435
|
+
// Check the text block type
|
|
436
|
+
const textType = engine.block.getType(textBlock);
|
|
437
|
+
console.log('Text block type:', textType); // '//ly.img.ubq/text'
|
|
517
438
|
```
|
|
518
439
|
|
|
519
440
|
Text blocks support extensive typography controls covered in the [Text guides](./text.md).
|
|
@@ -523,23 +444,23 @@ Text blocks support extensive typography controls covered in the [Text guides](.
|
|
|
523
444
|
The reflection system lets you discover and manipulate any block property dynamically. Use `findAllProperties()` to get all available properties for a block—they're prefixed by category like `shape/star/points` or `text/fontSize`.
|
|
524
445
|
|
|
525
446
|
```typescript highlight-block-properties
|
|
526
|
-
// Use reflection to discover available properties
|
|
527
|
-
const graphicProperties = engine.block.findAllProperties(graphic);
|
|
528
|
-
console.log('Graphic block has', graphicProperties.length, 'properties');
|
|
529
|
-
|
|
530
|
-
// Get property type information
|
|
531
|
-
const opacityType = engine.block.getPropertyType('opacity');
|
|
532
|
-
console.log('Opacity property type:', opacityType); // 'Float'
|
|
533
|
-
|
|
534
|
-
// Check if properties are readable/writable
|
|
535
|
-
const isOpacityReadable = engine.block.isPropertyReadable('opacity');
|
|
536
|
-
const isOpacityWritable = engine.block.isPropertyWritable('opacity');
|
|
537
|
-
console.log(
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
);
|
|
447
|
+
// Use reflection to discover available properties
|
|
448
|
+
const graphicProperties = engine.block.findAllProperties(graphic);
|
|
449
|
+
console.log('Graphic block has', graphicProperties.length, 'properties');
|
|
450
|
+
|
|
451
|
+
// Get property type information
|
|
452
|
+
const opacityType = engine.block.getPropertyType('opacity');
|
|
453
|
+
console.log('Opacity property type:', opacityType); // 'Float'
|
|
454
|
+
|
|
455
|
+
// Check if properties are readable/writable
|
|
456
|
+
const isOpacityReadable = engine.block.isPropertyReadable('opacity');
|
|
457
|
+
const isOpacityWritable = engine.block.isPropertyWritable('opacity');
|
|
458
|
+
console.log(
|
|
459
|
+
'Opacity readable:',
|
|
460
|
+
isOpacityReadable,
|
|
461
|
+
'writable:',
|
|
462
|
+
isOpacityWritable
|
|
463
|
+
);
|
|
543
464
|
```
|
|
544
465
|
|
|
545
466
|
Query property types with `getPropertyType()`. Returns include `Bool`, `Int`, `Float`, `Double`, `String`, `Color`, `Enum`, or `Struct`. For enum properties, use `getEnumValues()` to get allowed values.
|
|
@@ -549,24 +470,28 @@ Query property types with `getPropertyType()`. Returns include `Bool`, `Int`, `F
|
|
|
549
470
|
Use type-specific getters and setters matching the property type:
|
|
550
471
|
|
|
551
472
|
```typescript highlight-property-accessors
|
|
552
|
-
// Use type-specific getters and setters
|
|
553
|
-
// Float properties
|
|
554
|
-
engine.block.setFloat(graphic, 'opacity', 0.9);
|
|
555
|
-
const opacity = engine.block.getFloat(graphic, 'opacity');
|
|
556
|
-
console.log('Graphic opacity:', opacity);
|
|
557
|
-
|
|
558
|
-
// Bool properties
|
|
559
|
-
engine.block.setBool(page, 'page/marginEnabled', false);
|
|
560
|
-
const marginEnabled = engine.block.getBool(page, 'page/marginEnabled');
|
|
561
|
-
console.log('Page margin enabled:', marginEnabled);
|
|
562
|
-
|
|
563
|
-
// Enum properties - get allowed values first
|
|
564
|
-
const blendModes = engine.block.getEnumValues('blend/mode');
|
|
565
|
-
console.log(
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
473
|
+
// Use type-specific getters and setters
|
|
474
|
+
// Float properties
|
|
475
|
+
engine.block.setFloat(graphic, 'opacity', 0.9);
|
|
476
|
+
const opacity = engine.block.getFloat(graphic, 'opacity');
|
|
477
|
+
console.log('Graphic opacity:', opacity);
|
|
478
|
+
|
|
479
|
+
// Bool properties
|
|
480
|
+
engine.block.setBool(page, 'page/marginEnabled', false);
|
|
481
|
+
const marginEnabled = engine.block.getBool(page, 'page/marginEnabled');
|
|
482
|
+
console.log('Page margin enabled:', marginEnabled);
|
|
483
|
+
|
|
484
|
+
// Enum properties - get allowed values first
|
|
485
|
+
const blendModes = engine.block.getEnumValues('blend/mode');
|
|
486
|
+
console.log(
|
|
487
|
+
'Available blend modes:',
|
|
488
|
+
blendModes.slice(0, 3).join(', '),
|
|
489
|
+
'...'
|
|
490
|
+
);
|
|
491
|
+
|
|
492
|
+
engine.block.setEnum(graphic, 'blend/mode', 'Multiply');
|
|
493
|
+
const blendMode = engine.block.getEnum(graphic, 'blend/mode');
|
|
494
|
+
console.log('Graphic blend mode:', blendMode);
|
|
570
495
|
```
|
|
571
496
|
|
|
572
497
|
Using the wrong accessor type for a property will cause an error. Always check `getPropertyType()` if you're unsure which accessor to use.
|
|
@@ -576,16 +501,16 @@ Using the wrong accessor type for a property will cause an error. Always check `
|
|
|
576
501
|
Each block has a UUID that remains stable across save and load operations. Block names are mutable labels for organization.
|
|
577
502
|
|
|
578
503
|
```typescript highlight-uuid-identity
|
|
579
|
-
// Each block has a stable UUID across save/load cycles
|
|
580
|
-
const graphicUUID = engine.block.getUUID(graphic);
|
|
581
|
-
console.log('Graphic UUID:', graphicUUID);
|
|
504
|
+
// Each block has a stable UUID across save/load cycles
|
|
505
|
+
const graphicUUID = engine.block.getUUID(graphic);
|
|
506
|
+
console.log('Graphic UUID:', graphicUUID);
|
|
582
507
|
|
|
583
|
-
// Block names are mutable labels for organization
|
|
584
|
-
engine.block.setName(graphic, 'Hero Image');
|
|
585
|
-
engine.block.setName(textBlock, 'Caption');
|
|
508
|
+
// Block names are mutable labels for organization
|
|
509
|
+
engine.block.setName(graphic, 'Hero Image');
|
|
510
|
+
engine.block.setName(textBlock, 'Caption');
|
|
586
511
|
|
|
587
|
-
const graphicName = engine.block.getName(graphic);
|
|
588
|
-
console.log('Graphic name:', graphicName); // 'Hero Image'
|
|
512
|
+
const graphicName = engine.block.getName(graphic);
|
|
513
|
+
console.log('Graphic name:', graphicName); // 'Hero Image'
|
|
589
514
|
```
|
|
590
515
|
|
|
591
516
|
Use `getUUID()` when you need a persistent identifier for a block. Names are useful for user-facing labels and can be changed freely with `setName()`.
|
|
@@ -595,25 +520,19 @@ Use `getUUID()` when you need a persistent identifier for a block. Names are use
|
|
|
595
520
|
Control which blocks are selected programmatically. Use `select()` to select a single block (deselecting others) or `setSelected()` to modify selection without affecting other blocks.
|
|
596
521
|
|
|
597
522
|
```typescript highlight-selection
|
|
598
|
-
// Select a block programmatically
|
|
599
|
-
engine.block.select(graphic); // Selects graphic, deselects others
|
|
600
|
-
|
|
601
|
-
// Check selection state
|
|
602
|
-
const isGraphicSelected = engine.block.isSelected(graphic);
|
|
603
|
-
console.log('Graphic is selected:', isGraphicSelected); // true
|
|
523
|
+
// Select a block programmatically
|
|
524
|
+
engine.block.select(graphic); // Selects graphic, deselects others
|
|
604
525
|
|
|
605
|
-
//
|
|
606
|
-
engine.block.
|
|
526
|
+
// Check selection state
|
|
527
|
+
const isGraphicSelected = engine.block.isSelected(graphic);
|
|
528
|
+
console.log('Graphic is selected:', isGraphicSelected); // true
|
|
607
529
|
|
|
608
|
-
//
|
|
609
|
-
|
|
610
|
-
console.log('Selected blocks count:', selectedBlocks.length); // 2
|
|
530
|
+
// Add to selection without deselecting others
|
|
531
|
+
engine.block.setSelected(textBlock, true);
|
|
611
532
|
|
|
612
|
-
//
|
|
613
|
-
const
|
|
614
|
-
|
|
615
|
-
console.log('Selection changed, now selected:', selected.length, 'blocks');
|
|
616
|
-
});
|
|
533
|
+
// Get all selected blocks
|
|
534
|
+
const selectedBlocks = engine.block.findAllSelected();
|
|
535
|
+
console.log('Selected blocks count:', selectedBlocks.length); // 2
|
|
617
536
|
```
|
|
618
537
|
|
|
619
538
|
Subscribe to selection changes with `onSelectionChanged()` to update your UI when the selection state changes.
|
|
@@ -623,15 +542,15 @@ Subscribe to selection changes with `onSelectionChanged()` to update your UI whe
|
|
|
623
542
|
Control whether blocks appear on the canvas and are included in exports.
|
|
624
543
|
|
|
625
544
|
```typescript highlight-visibility
|
|
626
|
-
// Control block visibility
|
|
627
|
-
engine.block.setVisible(graphic, true);
|
|
628
|
-
const isVisible = engine.block.isVisible(graphic);
|
|
629
|
-
console.log('Graphic is visible:', isVisible);
|
|
630
|
-
|
|
631
|
-
// Control export inclusion
|
|
632
|
-
engine.block.setIncludedInExport(graphic, true);
|
|
633
|
-
const inExport = engine.block.isIncludedInExport(graphic);
|
|
634
|
-
console.log('Graphic included in export:', inExport);
|
|
545
|
+
// Control block visibility
|
|
546
|
+
engine.block.setVisible(graphic, true);
|
|
547
|
+
const isVisible = engine.block.isVisible(graphic);
|
|
548
|
+
console.log('Graphic is visible:', isVisible);
|
|
549
|
+
|
|
550
|
+
// Control export inclusion
|
|
551
|
+
engine.block.setIncludedInExport(graphic, true);
|
|
552
|
+
const inExport = engine.block.isIncludedInExport(graphic);
|
|
553
|
+
console.log('Graphic included in export:', inExport);
|
|
635
554
|
```
|
|
636
555
|
|
|
637
556
|
A block with `isVisible()` returning true may still not appear if it hasn't been added to a parent, the parent is hidden, or another block obscures it.
|
|
@@ -659,23 +578,6 @@ Blocks track loading progress and error conditions through a state system with t
|
|
|
659
578
|
// Query block state - indicates loading status
|
|
660
579
|
const graphicState = engine.block.getState(graphic);
|
|
661
580
|
console.log('Graphic state:', graphicState.type); // 'Ready', 'Pending', or 'Error'
|
|
662
|
-
|
|
663
|
-
// Subscribe to state changes (useful for loading indicators)
|
|
664
|
-
const unsubscribeState = engine.block.onStateChanged(
|
|
665
|
-
[graphic],
|
|
666
|
-
(changedBlocks) => {
|
|
667
|
-
for (const blockId of changedBlocks) {
|
|
668
|
-
const state = engine.block.getState(blockId);
|
|
669
|
-
console.log(`Block ${blockId} state changed to:`, state.type);
|
|
670
|
-
if (state.type === 'Pending' && state.progress !== undefined) {
|
|
671
|
-
console.log(
|
|
672
|
-
'Loading progress:',
|
|
673
|
-
Math.round(state.progress * 100) + '%'
|
|
674
|
-
);
|
|
675
|
-
}
|
|
676
|
-
}
|
|
677
|
-
}
|
|
678
|
-
);
|
|
679
581
|
```
|
|
680
582
|
|
|
681
583
|
Subscribe to state changes with `onStateChanged()` to show loading indicators or handle errors in your UI.
|
|
@@ -685,41 +587,41 @@ Subscribe to state changes with `onStateChanged()` to show loading indicators or
|
|
|
685
587
|
Save blocks to strings for persistence and restore them later.
|
|
686
588
|
|
|
687
589
|
```typescript highlight-serialization
|
|
688
|
-
// Save blocks to a string for persistence
|
|
689
|
-
// Include 'bundle' scheme to allow serialization of blocks with bundled fonts
|
|
690
|
-
const savedString = await engine.block.saveToString(
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
);
|
|
694
|
-
console.log('Blocks saved to string, length:', savedString.length);
|
|
695
|
-
|
|
696
|
-
// Alternatively, blocks can also be saved with their assets to an archive
|
|
697
|
-
// const savedBlocksArchive = await engine.block.saveToArchive([
|
|
698
|
-
// graphic,
|
|
699
|
-
// textBlock
|
|
700
|
-
// ]);
|
|
701
|
-
|
|
702
|
-
// Load blocks from string (creates new blocks, not attached to scene)
|
|
703
|
-
const loadedBlocks = await engine.block.loadFromString(savedString);
|
|
704
|
-
console.log('Loaded blocks from string:', loadedBlocks.length);
|
|
705
|
-
|
|
706
|
-
// Alternatively, blocks can also be loaded from an archive
|
|
707
|
-
// const loadedBlocks = await engine.block.loadFromArchiveURL(
|
|
708
|
-
// 'https://cdn.img.ly/assets/demo/v3/ly.img.template/templates/cesdk_postcard_1_blocks.zip'
|
|
709
|
-
// );
|
|
710
|
-
// console.log('Loaded blocks from archive URL:', loadedBlocks.length);
|
|
711
|
-
|
|
712
|
-
// Alternatively, blocks can be loaded from an extracted zip file created with block.saveToArchive
|
|
713
|
-
// const loadedBlocks = await engine.block.loadFromURL(
|
|
714
|
-
// 'https://cdn.img.ly/assets/v6/ly.img.text.components/box/blocks.blocks'
|
|
715
|
-
// );
|
|
716
|
-
// console.log('Loaded blocks from URL:', loadedBlocks.length);
|
|
717
|
-
|
|
718
|
-
// Loaded blocks must be parented to appear in the scene
|
|
719
|
-
// For demo purposes, we won't add them to avoid duplicates
|
|
720
|
-
for (const block of loadedBlocks) {
|
|
721
|
-
|
|
722
|
-
}
|
|
590
|
+
// Save blocks to a string for persistence
|
|
591
|
+
// Include 'bundle' scheme to allow serialization of blocks with bundled fonts
|
|
592
|
+
const savedString = await engine.block.saveToString(
|
|
593
|
+
[graphic, textBlock],
|
|
594
|
+
['buffer', 'http', 'https', 'bundle']
|
|
595
|
+
);
|
|
596
|
+
console.log('Blocks saved to string, length:', savedString.length);
|
|
597
|
+
|
|
598
|
+
// Alternatively, blocks can also be saved with their assets to an archive
|
|
599
|
+
// const savedBlocksArchive = await engine.block.saveToArchive([
|
|
600
|
+
// graphic,
|
|
601
|
+
// textBlock
|
|
602
|
+
// ]);
|
|
603
|
+
|
|
604
|
+
// Load blocks from string (creates new blocks, not attached to scene)
|
|
605
|
+
const loadedBlocks = await engine.block.loadFromString(savedString);
|
|
606
|
+
console.log('Loaded blocks from string:', loadedBlocks.length);
|
|
607
|
+
|
|
608
|
+
// Alternatively, blocks can also be loaded from an archive
|
|
609
|
+
// const loadedBlocks = await engine.block.loadFromArchiveURL(
|
|
610
|
+
// 'https://cdn.img.ly/assets/demo/v3/ly.img.template/templates/cesdk_postcard_1_blocks.zip'
|
|
611
|
+
// );
|
|
612
|
+
// console.log('Loaded blocks from archive URL:', loadedBlocks.length);
|
|
613
|
+
|
|
614
|
+
// Alternatively, blocks can be loaded from an extracted zip file created with block.saveToArchive
|
|
615
|
+
// const loadedBlocks = await engine.block.loadFromURL(
|
|
616
|
+
// 'https://cdn.img.ly/assets/v6/ly.img.text.components/box/blocks.blocks'
|
|
617
|
+
// );
|
|
618
|
+
// console.log('Loaded blocks from URL:', loadedBlocks.length);
|
|
619
|
+
|
|
620
|
+
// Loaded blocks must be parented to appear in the scene
|
|
621
|
+
// For demo purposes, we won't add them to avoid duplicates
|
|
622
|
+
for (const block of loadedBlocks) {
|
|
623
|
+
engine.block.destroy(block);
|
|
624
|
+
}
|
|
723
625
|
```
|
|
724
626
|
|
|
725
627
|
Use `saveToString()` for lightweight serialization or `saveToArchive()` to include all referenced assets.
|
|
@@ -740,11 +642,13 @@ Loaded blocks are not automatically attached to the scene—you must parent them
|
|
|
740
642
|
|
|
741
643
|
**State stuck in Pending**: Check network connectivity for remote resources or use state change events to monitor progress.
|
|
742
644
|
|
|
645
|
+
|
|
646
|
+
|
|
743
647
|
---
|
|
744
648
|
|
|
745
649
|
## More Resources
|
|
746
650
|
|
|
747
|
-
- **[
|
|
651
|
+
- **[Node.js Documentation Index](https://img.ly/docs/cesdk/node.md)** - Browse all Node.js documentation
|
|
748
652
|
- **[Complete Documentation](./llms-full.txt.md)** - Full documentation in one file (for LLMs)
|
|
749
|
-
- **[Web Documentation](./
|
|
750
|
-
- **[Support](mailto:support@img.ly)** - Contact IMG.LY support
|
|
653
|
+
- **[Web Documentation](./node.md)** - Interactive documentation with examples
|
|
654
|
+
- **[Support](mailto:support@img.ly)** - Contact IMG.LY support
|